ebs

package
v5.43.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultKmsKey

type DefaultKmsKey struct {
	pulumi.CustomResourceState

	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use to encrypt the EBS volume.
	KeyArn pulumi.StringOutput `pulumi:"keyArn"`
}

Provides a resource to manage the default customer master key (CMK) that your AWS account uses to encrypt EBS volumes.

Your AWS account has an AWS-managed default CMK that is used for encrypting an EBS volume when no CMK is specified in the API call that creates the volume. By using the `ebs.DefaultKmsKey` resource, you can specify a customer-managed CMK to use in place of the AWS-managed default CMK.

> **NOTE:** Creating an `ebs.DefaultKmsKey` resource does not enable default EBS encryption. Use the `ebs.EncryptionByDefault` to enable default EBS encryption.

> **NOTE:** Destroying this resource will reset the default CMK to the account's AWS-managed default CMK for EBS.

## Example Usage

```go 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.NewDefaultKmsKey(ctx, "example", &ebs.DefaultKmsKeyArgs{
			KeyArn: pulumi.Any(aws_kms_key.Example.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The EBS default KMS CMK can be imported with the KMS key ARN, e.g., console

```sh

$ pulumi import aws:ebs/defaultKmsKey:DefaultKmsKey example arn:aws:kms:us-east-1:123456789012:key/abcd-1234

```

func GetDefaultKmsKey

func GetDefaultKmsKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefaultKmsKeyState, opts ...pulumi.ResourceOption) (*DefaultKmsKey, error)

GetDefaultKmsKey gets an existing DefaultKmsKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultKmsKey

func NewDefaultKmsKey(ctx *pulumi.Context,
	name string, args *DefaultKmsKeyArgs, opts ...pulumi.ResourceOption) (*DefaultKmsKey, error)

NewDefaultKmsKey registers a new resource with the given unique name, arguments, and options.

func (*DefaultKmsKey) ElementType

func (*DefaultKmsKey) ElementType() reflect.Type

func (*DefaultKmsKey) ToDefaultKmsKeyOutput

func (i *DefaultKmsKey) ToDefaultKmsKeyOutput() DefaultKmsKeyOutput

func (*DefaultKmsKey) ToDefaultKmsKeyOutputWithContext

func (i *DefaultKmsKey) ToDefaultKmsKeyOutputWithContext(ctx context.Context) DefaultKmsKeyOutput

type DefaultKmsKeyArgs

type DefaultKmsKeyArgs struct {
	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use to encrypt the EBS volume.
	KeyArn pulumi.StringInput
}

The set of arguments for constructing a DefaultKmsKey resource.

func (DefaultKmsKeyArgs) ElementType

func (DefaultKmsKeyArgs) ElementType() reflect.Type

type DefaultKmsKeyArray

type DefaultKmsKeyArray []DefaultKmsKeyInput

func (DefaultKmsKeyArray) ElementType

func (DefaultKmsKeyArray) ElementType() reflect.Type

func (DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutput

func (i DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutput() DefaultKmsKeyArrayOutput

func (DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutputWithContext

func (i DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutputWithContext(ctx context.Context) DefaultKmsKeyArrayOutput

type DefaultKmsKeyArrayInput

type DefaultKmsKeyArrayInput interface {
	pulumi.Input

	ToDefaultKmsKeyArrayOutput() DefaultKmsKeyArrayOutput
	ToDefaultKmsKeyArrayOutputWithContext(context.Context) DefaultKmsKeyArrayOutput
}

DefaultKmsKeyArrayInput is an input type that accepts DefaultKmsKeyArray and DefaultKmsKeyArrayOutput values. You can construct a concrete instance of `DefaultKmsKeyArrayInput` via:

DefaultKmsKeyArray{ DefaultKmsKeyArgs{...} }

type DefaultKmsKeyArrayOutput

type DefaultKmsKeyArrayOutput struct{ *pulumi.OutputState }

func (DefaultKmsKeyArrayOutput) ElementType

func (DefaultKmsKeyArrayOutput) ElementType() reflect.Type

func (DefaultKmsKeyArrayOutput) Index

func (DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutput

func (o DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutput() DefaultKmsKeyArrayOutput

func (DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutputWithContext

func (o DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutputWithContext(ctx context.Context) DefaultKmsKeyArrayOutput

type DefaultKmsKeyInput

type DefaultKmsKeyInput interface {
	pulumi.Input

	ToDefaultKmsKeyOutput() DefaultKmsKeyOutput
	ToDefaultKmsKeyOutputWithContext(ctx context.Context) DefaultKmsKeyOutput
}

type DefaultKmsKeyMap

type DefaultKmsKeyMap map[string]DefaultKmsKeyInput

func (DefaultKmsKeyMap) ElementType

func (DefaultKmsKeyMap) ElementType() reflect.Type

func (DefaultKmsKeyMap) ToDefaultKmsKeyMapOutput

func (i DefaultKmsKeyMap) ToDefaultKmsKeyMapOutput() DefaultKmsKeyMapOutput

func (DefaultKmsKeyMap) ToDefaultKmsKeyMapOutputWithContext

func (i DefaultKmsKeyMap) ToDefaultKmsKeyMapOutputWithContext(ctx context.Context) DefaultKmsKeyMapOutput

type DefaultKmsKeyMapInput

type DefaultKmsKeyMapInput interface {
	pulumi.Input

	ToDefaultKmsKeyMapOutput() DefaultKmsKeyMapOutput
	ToDefaultKmsKeyMapOutputWithContext(context.Context) DefaultKmsKeyMapOutput
}

DefaultKmsKeyMapInput is an input type that accepts DefaultKmsKeyMap and DefaultKmsKeyMapOutput values. You can construct a concrete instance of `DefaultKmsKeyMapInput` via:

DefaultKmsKeyMap{ "key": DefaultKmsKeyArgs{...} }

type DefaultKmsKeyMapOutput

type DefaultKmsKeyMapOutput struct{ *pulumi.OutputState }

func (DefaultKmsKeyMapOutput) ElementType

func (DefaultKmsKeyMapOutput) ElementType() reflect.Type

func (DefaultKmsKeyMapOutput) MapIndex

func (DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutput

func (o DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutput() DefaultKmsKeyMapOutput

func (DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutputWithContext

func (o DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutputWithContext(ctx context.Context) DefaultKmsKeyMapOutput

type DefaultKmsKeyOutput

type DefaultKmsKeyOutput struct{ *pulumi.OutputState }

func (DefaultKmsKeyOutput) ElementType

func (DefaultKmsKeyOutput) ElementType() reflect.Type

func (DefaultKmsKeyOutput) KeyArn added in v5.4.0

The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use to encrypt the EBS volume.

func (DefaultKmsKeyOutput) ToDefaultKmsKeyOutput

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyOutput() DefaultKmsKeyOutput

func (DefaultKmsKeyOutput) ToDefaultKmsKeyOutputWithContext

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyOutputWithContext(ctx context.Context) DefaultKmsKeyOutput

type DefaultKmsKeyState

type DefaultKmsKeyState struct {
	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use to encrypt the EBS volume.
	KeyArn pulumi.StringPtrInput
}

func (DefaultKmsKeyState) ElementType

func (DefaultKmsKeyState) ElementType() reflect.Type

type EncryptionByDefault

type EncryptionByDefault struct {
	pulumi.CustomResourceState

	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
}

Provides a resource to manage whether default EBS encryption is enabled for your AWS account in the current AWS region. To manage the default KMS key for the region, see the `ebs.DefaultKmsKey` resource.

> **NOTE:** Removing this resource disables default EBS encryption.

## Example Usage

```go 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.NewEncryptionByDefault(ctx, "example", &ebs.EncryptionByDefaultArgs{
			Enabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Default EBS encryption state can be imported, e.g.,

```sh

$ pulumi import aws:ebs/encryptionByDefault:EncryptionByDefault example default

```

func GetEncryptionByDefault

func GetEncryptionByDefault(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EncryptionByDefaultState, opts ...pulumi.ResourceOption) (*EncryptionByDefault, error)

GetEncryptionByDefault gets an existing EncryptionByDefault resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEncryptionByDefault

func NewEncryptionByDefault(ctx *pulumi.Context,
	name string, args *EncryptionByDefaultArgs, opts ...pulumi.ResourceOption) (*EncryptionByDefault, error)

NewEncryptionByDefault registers a new resource with the given unique name, arguments, and options.

func (*EncryptionByDefault) ElementType

func (*EncryptionByDefault) ElementType() reflect.Type

func (*EncryptionByDefault) ToEncryptionByDefaultOutput

func (i *EncryptionByDefault) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput

func (*EncryptionByDefault) ToEncryptionByDefaultOutputWithContext

func (i *EncryptionByDefault) ToEncryptionByDefaultOutputWithContext(ctx context.Context) EncryptionByDefaultOutput

type EncryptionByDefaultArgs

type EncryptionByDefaultArgs struct {
	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
}

The set of arguments for constructing a EncryptionByDefault resource.

func (EncryptionByDefaultArgs) ElementType

func (EncryptionByDefaultArgs) ElementType() reflect.Type

type EncryptionByDefaultArray

type EncryptionByDefaultArray []EncryptionByDefaultInput

func (EncryptionByDefaultArray) ElementType

func (EncryptionByDefaultArray) ElementType() reflect.Type

func (EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutput

func (i EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput

func (EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutputWithContext

func (i EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutputWithContext(ctx context.Context) EncryptionByDefaultArrayOutput

type EncryptionByDefaultArrayInput

type EncryptionByDefaultArrayInput interface {
	pulumi.Input

	ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput
	ToEncryptionByDefaultArrayOutputWithContext(context.Context) EncryptionByDefaultArrayOutput
}

EncryptionByDefaultArrayInput is an input type that accepts EncryptionByDefaultArray and EncryptionByDefaultArrayOutput values. You can construct a concrete instance of `EncryptionByDefaultArrayInput` via:

EncryptionByDefaultArray{ EncryptionByDefaultArgs{...} }

type EncryptionByDefaultArrayOutput

type EncryptionByDefaultArrayOutput struct{ *pulumi.OutputState }

func (EncryptionByDefaultArrayOutput) ElementType

func (EncryptionByDefaultArrayOutput) Index

func (EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutput

func (o EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput

func (EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutputWithContext

func (o EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutputWithContext(ctx context.Context) EncryptionByDefaultArrayOutput

type EncryptionByDefaultInput

type EncryptionByDefaultInput interface {
	pulumi.Input

	ToEncryptionByDefaultOutput() EncryptionByDefaultOutput
	ToEncryptionByDefaultOutputWithContext(ctx context.Context) EncryptionByDefaultOutput
}

type EncryptionByDefaultMap

type EncryptionByDefaultMap map[string]EncryptionByDefaultInput

func (EncryptionByDefaultMap) ElementType

func (EncryptionByDefaultMap) ElementType() reflect.Type

func (EncryptionByDefaultMap) ToEncryptionByDefaultMapOutput

func (i EncryptionByDefaultMap) ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput

func (EncryptionByDefaultMap) ToEncryptionByDefaultMapOutputWithContext

func (i EncryptionByDefaultMap) ToEncryptionByDefaultMapOutputWithContext(ctx context.Context) EncryptionByDefaultMapOutput

type EncryptionByDefaultMapInput

type EncryptionByDefaultMapInput interface {
	pulumi.Input

	ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput
	ToEncryptionByDefaultMapOutputWithContext(context.Context) EncryptionByDefaultMapOutput
}

EncryptionByDefaultMapInput is an input type that accepts EncryptionByDefaultMap and EncryptionByDefaultMapOutput values. You can construct a concrete instance of `EncryptionByDefaultMapInput` via:

EncryptionByDefaultMap{ "key": EncryptionByDefaultArgs{...} }

type EncryptionByDefaultMapOutput

type EncryptionByDefaultMapOutput struct{ *pulumi.OutputState }

func (EncryptionByDefaultMapOutput) ElementType

func (EncryptionByDefaultMapOutput) MapIndex

func (EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutput

func (o EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput

func (EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutputWithContext

func (o EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutputWithContext(ctx context.Context) EncryptionByDefaultMapOutput

type EncryptionByDefaultOutput

type EncryptionByDefaultOutput struct{ *pulumi.OutputState }

func (EncryptionByDefaultOutput) ElementType

func (EncryptionByDefaultOutput) ElementType() reflect.Type

func (EncryptionByDefaultOutput) Enabled added in v5.4.0

Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.

func (EncryptionByDefaultOutput) ToEncryptionByDefaultOutput

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput

func (EncryptionByDefaultOutput) ToEncryptionByDefaultOutputWithContext

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultOutputWithContext(ctx context.Context) EncryptionByDefaultOutput

type EncryptionByDefaultState

type EncryptionByDefaultState struct {
	// Whether or not default EBS encryption is enabled. Valid values are `true` or `false`. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
}

func (EncryptionByDefaultState) ElementType

func (EncryptionByDefaultState) ElementType() reflect.Type

type GetEbsVolumesArgs

type GetEbsVolumesArgs struct {
	// Custom filter block as described below.
	Filters []GetEbsVolumesFilter `pulumi:"filters"`
	// Map of tags, each pair of which must exactly match
	// a pair on the desired volumes.
	//
	// More complex filters can be expressed using one or more `filter` sub-blocks,
	// which take the following arguments:
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getEbsVolumes.

type GetEbsVolumesFilter

type GetEbsVolumesFilter struct {
	// Name of the field to filter by, as defined by
	// [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html).
	// For example, if matching against the `size` filter, use:
	//
	// “`go
	// 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.GetEbsVolumes(ctx, &ebs.GetEbsVolumesArgs{
	// 			Filters: []ebs.GetEbsVolumesFilter{
	// 				{
	// 					Name: "size",
	// 					Values: []string{
	// 						"10",
	// 						"20",
	// 					},
	// 				},
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Name string `pulumi:"name"`
	// Set of values that are accepted for the given field.
	// EBS Volume IDs will be selected if any one of the given values match.
	Values []string `pulumi:"values"`
}

type GetEbsVolumesFilterArgs

type GetEbsVolumesFilterArgs struct {
	// Name of the field to filter by, as defined by
	// [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html).
	// For example, if matching against the `size` filter, use:
	//
	// “`go
	// 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.GetEbsVolumes(ctx, &ebs.GetEbsVolumesArgs{
	// 			Filters: []ebs.GetEbsVolumesFilter{
	// 				{
	// 					Name: "size",
	// 					Values: []string{
	// 						"10",
	// 						"20",
	// 					},
	// 				},
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Name pulumi.StringInput `pulumi:"name"`
	// Set of values that are accepted for the given field.
	// EBS Volume IDs will be selected if any one of the given values match.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (GetEbsVolumesFilterArgs) ElementType

func (GetEbsVolumesFilterArgs) ElementType() reflect.Type

func (GetEbsVolumesFilterArgs) ToGetEbsVolumesFilterOutput

func (i GetEbsVolumesFilterArgs) ToGetEbsVolumesFilterOutput() GetEbsVolumesFilterOutput

func (GetEbsVolumesFilterArgs) ToGetEbsVolumesFilterOutputWithContext

func (i GetEbsVolumesFilterArgs) ToGetEbsVolumesFilterOutputWithContext(ctx context.Context) GetEbsVolumesFilterOutput

type GetEbsVolumesFilterArray

type GetEbsVolumesFilterArray []GetEbsVolumesFilterInput

func (GetEbsVolumesFilterArray) ElementType

func (GetEbsVolumesFilterArray) ElementType() reflect.Type

func (GetEbsVolumesFilterArray) ToGetEbsVolumesFilterArrayOutput

func (i GetEbsVolumesFilterArray) ToGetEbsVolumesFilterArrayOutput() GetEbsVolumesFilterArrayOutput

func (GetEbsVolumesFilterArray) ToGetEbsVolumesFilterArrayOutputWithContext

func (i GetEbsVolumesFilterArray) ToGetEbsVolumesFilterArrayOutputWithContext(ctx context.Context) GetEbsVolumesFilterArrayOutput

type GetEbsVolumesFilterArrayInput

type GetEbsVolumesFilterArrayInput interface {
	pulumi.Input

	ToGetEbsVolumesFilterArrayOutput() GetEbsVolumesFilterArrayOutput
	ToGetEbsVolumesFilterArrayOutputWithContext(context.Context) GetEbsVolumesFilterArrayOutput
}

GetEbsVolumesFilterArrayInput is an input type that accepts GetEbsVolumesFilterArray and GetEbsVolumesFilterArrayOutput values. You can construct a concrete instance of `GetEbsVolumesFilterArrayInput` via:

GetEbsVolumesFilterArray{ GetEbsVolumesFilterArgs{...} }

type GetEbsVolumesFilterArrayOutput

type GetEbsVolumesFilterArrayOutput struct{ *pulumi.OutputState }

func (GetEbsVolumesFilterArrayOutput) ElementType

func (GetEbsVolumesFilterArrayOutput) Index

func (GetEbsVolumesFilterArrayOutput) ToGetEbsVolumesFilterArrayOutput

func (o GetEbsVolumesFilterArrayOutput) ToGetEbsVolumesFilterArrayOutput() GetEbsVolumesFilterArrayOutput

func (GetEbsVolumesFilterArrayOutput) ToGetEbsVolumesFilterArrayOutputWithContext

func (o GetEbsVolumesFilterArrayOutput) ToGetEbsVolumesFilterArrayOutputWithContext(ctx context.Context) GetEbsVolumesFilterArrayOutput

type GetEbsVolumesFilterInput

type GetEbsVolumesFilterInput interface {
	pulumi.Input

	ToGetEbsVolumesFilterOutput() GetEbsVolumesFilterOutput
	ToGetEbsVolumesFilterOutputWithContext(context.Context) GetEbsVolumesFilterOutput
}

GetEbsVolumesFilterInput is an input type that accepts GetEbsVolumesFilterArgs and GetEbsVolumesFilterOutput values. You can construct a concrete instance of `GetEbsVolumesFilterInput` via:

GetEbsVolumesFilterArgs{...}

type GetEbsVolumesFilterOutput

type GetEbsVolumesFilterOutput struct{ *pulumi.OutputState }

func (GetEbsVolumesFilterOutput) ElementType

func (GetEbsVolumesFilterOutput) ElementType() reflect.Type

func (GetEbsVolumesFilterOutput) Name

Name of the field to filter by, as defined by [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html). For example, if matching against the `size` filter, use:

```go 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.GetEbsVolumes(ctx, &ebs.GetEbsVolumesArgs{
			Filters: []ebs.GetEbsVolumesFilter{
				{
					Name: "size",
					Values: []string{
						"10",
						"20",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (GetEbsVolumesFilterOutput) ToGetEbsVolumesFilterOutput

func (o GetEbsVolumesFilterOutput) ToGetEbsVolumesFilterOutput() GetEbsVolumesFilterOutput

func (GetEbsVolumesFilterOutput) ToGetEbsVolumesFilterOutputWithContext

func (o GetEbsVolumesFilterOutput) ToGetEbsVolumesFilterOutputWithContext(ctx context.Context) GetEbsVolumesFilterOutput

func (GetEbsVolumesFilterOutput) Values

Set of values that are accepted for the given field. EBS Volume IDs will be selected if any one of the given values match.

type GetEbsVolumesOutputArgs

type GetEbsVolumesOutputArgs struct {
	// Custom filter block as described below.
	Filters GetEbsVolumesFilterArrayInput `pulumi:"filters"`
	// Map of tags, each pair of which must exactly match
	// a pair on the desired volumes.
	//
	// More complex filters can be expressed using one or more `filter` sub-blocks,
	// which take the following arguments:
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getEbsVolumes.

func (GetEbsVolumesOutputArgs) ElementType

func (GetEbsVolumesOutputArgs) ElementType() reflect.Type

type GetEbsVolumesResult

type GetEbsVolumesResult struct {
	Filters []GetEbsVolumesFilter `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Set of all the EBS Volume IDs found. This data source will fail if
	// no volumes match the provided criteria.
	Ids  []string          `pulumi:"ids"`
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getEbsVolumes.

func GetEbsVolumes

func GetEbsVolumes(ctx *pulumi.Context, args *GetEbsVolumesArgs, opts ...pulumi.InvokeOption) (*GetEbsVolumesResult, error)

`ebs.getEbsVolumes` provides identifying information for EBS volumes matching given criteria.

This data source can be useful for getting a list of volume IDs with (for example) matching tags.

## Example Usage

The following demonstrates obtaining a map of availability zone to EBS volume ID for volumes with a given tag value.

```go 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 {
		exampleEbsVolumes, err := ebs.GetEbsVolumes(ctx, &ebs.GetEbsVolumesArgs{
			Tags: map[string]interface{}{
				"VolumeSet": "TestVolumeSet",
			},
		}, nil)
		if err != nil {
			return err
		}
		exampleVolume := "TODO: For expression"
		ctx.Export("availabilityZoneToVolumeId", "TODO: For expression")
		return nil
	})
}

```

type GetEbsVolumesResultOutput

type GetEbsVolumesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEbsVolumes.

func (GetEbsVolumesResultOutput) ElementType

func (GetEbsVolumesResultOutput) ElementType() reflect.Type

func (GetEbsVolumesResultOutput) Filters

func (GetEbsVolumesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetEbsVolumesResultOutput) Ids

Set of all the EBS Volume IDs found. This data source will fail if no volumes match the provided criteria.

func (GetEbsVolumesResultOutput) Tags

func (GetEbsVolumesResultOutput) ToGetEbsVolumesResultOutput

func (o GetEbsVolumesResultOutput) ToGetEbsVolumesResultOutput() GetEbsVolumesResultOutput

func (GetEbsVolumesResultOutput) ToGetEbsVolumesResultOutputWithContext

func (o GetEbsVolumesResultOutput) ToGetEbsVolumesResultOutputWithContext(ctx context.Context) GetEbsVolumesResultOutput

type GetSnapshotFilter

type GetSnapshotFilter struct {
	Name   string   `pulumi:"name"`
	Values []string `pulumi:"values"`
}

type GetSnapshotFilterArgs

type GetSnapshotFilterArgs struct {
	Name   pulumi.StringInput      `pulumi:"name"`
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (GetSnapshotFilterArgs) ElementType

func (GetSnapshotFilterArgs) ElementType() reflect.Type

func (GetSnapshotFilterArgs) ToGetSnapshotFilterOutput

func (i GetSnapshotFilterArgs) ToGetSnapshotFilterOutput() GetSnapshotFilterOutput

func (GetSnapshotFilterArgs) ToGetSnapshotFilterOutputWithContext

func (i GetSnapshotFilterArgs) ToGetSnapshotFilterOutputWithContext(ctx context.Context) GetSnapshotFilterOutput

type GetSnapshotFilterArray

type GetSnapshotFilterArray []GetSnapshotFilterInput

func (GetSnapshotFilterArray) ElementType

func (GetSnapshotFilterArray) ElementType() reflect.Type

func (GetSnapshotFilterArray) ToGetSnapshotFilterArrayOutput

func (i GetSnapshotFilterArray) ToGetSnapshotFilterArrayOutput() GetSnapshotFilterArrayOutput

func (GetSnapshotFilterArray) ToGetSnapshotFilterArrayOutputWithContext

func (i GetSnapshotFilterArray) ToGetSnapshotFilterArrayOutputWithContext(ctx context.Context) GetSnapshotFilterArrayOutput

type GetSnapshotFilterArrayInput

type GetSnapshotFilterArrayInput interface {
	pulumi.Input

	ToGetSnapshotFilterArrayOutput() GetSnapshotFilterArrayOutput
	ToGetSnapshotFilterArrayOutputWithContext(context.Context) GetSnapshotFilterArrayOutput
}

GetSnapshotFilterArrayInput is an input type that accepts GetSnapshotFilterArray and GetSnapshotFilterArrayOutput values. You can construct a concrete instance of `GetSnapshotFilterArrayInput` via:

GetSnapshotFilterArray{ GetSnapshotFilterArgs{...} }

type GetSnapshotFilterArrayOutput

type GetSnapshotFilterArrayOutput struct{ *pulumi.OutputState }

func (GetSnapshotFilterArrayOutput) ElementType

func (GetSnapshotFilterArrayOutput) Index

func (GetSnapshotFilterArrayOutput) ToGetSnapshotFilterArrayOutput

func (o GetSnapshotFilterArrayOutput) ToGetSnapshotFilterArrayOutput() GetSnapshotFilterArrayOutput

func (GetSnapshotFilterArrayOutput) ToGetSnapshotFilterArrayOutputWithContext

func (o GetSnapshotFilterArrayOutput) ToGetSnapshotFilterArrayOutputWithContext(ctx context.Context) GetSnapshotFilterArrayOutput

type GetSnapshotFilterInput

type GetSnapshotFilterInput interface {
	pulumi.Input

	ToGetSnapshotFilterOutput() GetSnapshotFilterOutput
	ToGetSnapshotFilterOutputWithContext(context.Context) GetSnapshotFilterOutput
}

GetSnapshotFilterInput is an input type that accepts GetSnapshotFilterArgs and GetSnapshotFilterOutput values. You can construct a concrete instance of `GetSnapshotFilterInput` via:

GetSnapshotFilterArgs{...}

type GetSnapshotFilterOutput

type GetSnapshotFilterOutput struct{ *pulumi.OutputState }

func (GetSnapshotFilterOutput) ElementType

func (GetSnapshotFilterOutput) ElementType() reflect.Type

func (GetSnapshotFilterOutput) Name

func (GetSnapshotFilterOutput) ToGetSnapshotFilterOutput

func (o GetSnapshotFilterOutput) ToGetSnapshotFilterOutput() GetSnapshotFilterOutput

func (GetSnapshotFilterOutput) ToGetSnapshotFilterOutputWithContext

func (o GetSnapshotFilterOutput) ToGetSnapshotFilterOutputWithContext(ctx context.Context) GetSnapshotFilterOutput

func (GetSnapshotFilterOutput) Values

type GetSnapshotIdsArgs

type GetSnapshotIdsArgs struct {
	// 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].
	Filters []GetSnapshotIdsFilter `pulumi:"filters"`
	// Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
	Owners []string `pulumi:"owners"`
	// One or more AWS accounts IDs that can create volumes from the snapshot.
	RestorableByUserIds []string `pulumi:"restorableByUserIds"`
}

A collection of arguments for invoking getSnapshotIds.

type GetSnapshotIdsFilter

type GetSnapshotIdsFilter struct {
	Name   string   `pulumi:"name"`
	Values []string `pulumi:"values"`
}

type GetSnapshotIdsFilterArgs

type GetSnapshotIdsFilterArgs struct {
	Name   pulumi.StringInput      `pulumi:"name"`
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (GetSnapshotIdsFilterArgs) ElementType

func (GetSnapshotIdsFilterArgs) ElementType() reflect.Type

func (GetSnapshotIdsFilterArgs) ToGetSnapshotIdsFilterOutput

func (i GetSnapshotIdsFilterArgs) ToGetSnapshotIdsFilterOutput() GetSnapshotIdsFilterOutput

func (GetSnapshotIdsFilterArgs) ToGetSnapshotIdsFilterOutputWithContext

func (i GetSnapshotIdsFilterArgs) ToGetSnapshotIdsFilterOutputWithContext(ctx context.Context) GetSnapshotIdsFilterOutput

type GetSnapshotIdsFilterArray

type GetSnapshotIdsFilterArray []GetSnapshotIdsFilterInput

func (GetSnapshotIdsFilterArray) ElementType

func (GetSnapshotIdsFilterArray) ElementType() reflect.Type

func (GetSnapshotIdsFilterArray) ToGetSnapshotIdsFilterArrayOutput

func (i GetSnapshotIdsFilterArray) ToGetSnapshotIdsFilterArrayOutput() GetSnapshotIdsFilterArrayOutput

func (GetSnapshotIdsFilterArray) ToGetSnapshotIdsFilterArrayOutputWithContext

func (i GetSnapshotIdsFilterArray) ToGetSnapshotIdsFilterArrayOutputWithContext(ctx context.Context) GetSnapshotIdsFilterArrayOutput

type GetSnapshotIdsFilterArrayInput

type GetSnapshotIdsFilterArrayInput interface {
	pulumi.Input

	ToGetSnapshotIdsFilterArrayOutput() GetSnapshotIdsFilterArrayOutput
	ToGetSnapshotIdsFilterArrayOutputWithContext(context.Context) GetSnapshotIdsFilterArrayOutput
}

GetSnapshotIdsFilterArrayInput is an input type that accepts GetSnapshotIdsFilterArray and GetSnapshotIdsFilterArrayOutput values. You can construct a concrete instance of `GetSnapshotIdsFilterArrayInput` via:

GetSnapshotIdsFilterArray{ GetSnapshotIdsFilterArgs{...} }

type GetSnapshotIdsFilterArrayOutput

type GetSnapshotIdsFilterArrayOutput struct{ *pulumi.OutputState }

func (GetSnapshotIdsFilterArrayOutput) ElementType

func (GetSnapshotIdsFilterArrayOutput) Index

func (GetSnapshotIdsFilterArrayOutput) ToGetSnapshotIdsFilterArrayOutput

func (o GetSnapshotIdsFilterArrayOutput) ToGetSnapshotIdsFilterArrayOutput() GetSnapshotIdsFilterArrayOutput

func (GetSnapshotIdsFilterArrayOutput) ToGetSnapshotIdsFilterArrayOutputWithContext

func (o GetSnapshotIdsFilterArrayOutput) ToGetSnapshotIdsFilterArrayOutputWithContext(ctx context.Context) GetSnapshotIdsFilterArrayOutput

type GetSnapshotIdsFilterInput

type GetSnapshotIdsFilterInput interface {
	pulumi.Input

	ToGetSnapshotIdsFilterOutput() GetSnapshotIdsFilterOutput
	ToGetSnapshotIdsFilterOutputWithContext(context.Context) GetSnapshotIdsFilterOutput
}

GetSnapshotIdsFilterInput is an input type that accepts GetSnapshotIdsFilterArgs and GetSnapshotIdsFilterOutput values. You can construct a concrete instance of `GetSnapshotIdsFilterInput` via:

GetSnapshotIdsFilterArgs{...}

type GetSnapshotIdsFilterOutput

type GetSnapshotIdsFilterOutput struct{ *pulumi.OutputState }

func (GetSnapshotIdsFilterOutput) ElementType

func (GetSnapshotIdsFilterOutput) ElementType() reflect.Type

func (GetSnapshotIdsFilterOutput) Name

func (GetSnapshotIdsFilterOutput) ToGetSnapshotIdsFilterOutput

func (o GetSnapshotIdsFilterOutput) ToGetSnapshotIdsFilterOutput() GetSnapshotIdsFilterOutput

func (GetSnapshotIdsFilterOutput) ToGetSnapshotIdsFilterOutputWithContext

func (o GetSnapshotIdsFilterOutput) ToGetSnapshotIdsFilterOutputWithContext(ctx context.Context) GetSnapshotIdsFilterOutput

func (GetSnapshotIdsFilterOutput) Values

type GetSnapshotIdsOutputArgs

type GetSnapshotIdsOutputArgs struct {
	// 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].
	Filters GetSnapshotIdsFilterArrayInput `pulumi:"filters"`
	// Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
	Owners pulumi.StringArrayInput `pulumi:"owners"`
	// One or more AWS accounts IDs that can create volumes from the snapshot.
	RestorableByUserIds pulumi.StringArrayInput `pulumi:"restorableByUserIds"`
}

A collection of arguments for invoking getSnapshotIds.

func (GetSnapshotIdsOutputArgs) ElementType

func (GetSnapshotIdsOutputArgs) ElementType() reflect.Type

type GetSnapshotIdsResult

type GetSnapshotIdsResult struct {
	Filters []GetSnapshotIdsFilter `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Set of EBS snapshot IDs, sorted by creation time in descending order.
	Ids                 []string `pulumi:"ids"`
	Owners              []string `pulumi:"owners"`
	RestorableByUserIds []string `pulumi:"restorableByUserIds"`
}

A collection of values returned by getSnapshotIds.

func GetSnapshotIds

func GetSnapshotIds(ctx *pulumi.Context, args *GetSnapshotIdsArgs, opts ...pulumi.InvokeOption) (*GetSnapshotIdsResult, error)

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

## Example Usage

```go 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.GetSnapshotIds(ctx, &ebs.GetSnapshotIdsArgs{
			Filters: []ebs.GetSnapshotIdsFilter{
				{
					Name: "volume-size",
					Values: []string{
						"40",
					},
				},
				{
					Name: "tag:Name",
					Values: []string{
						"Example",
					},
				},
			},
			Owners: []string{
				"self",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSnapshotIdsResultOutput

type GetSnapshotIdsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshotIds.

func (GetSnapshotIdsResultOutput) ElementType

func (GetSnapshotIdsResultOutput) ElementType() reflect.Type

func (GetSnapshotIdsResultOutput) Filters

func (GetSnapshotIdsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSnapshotIdsResultOutput) Ids

Set of EBS snapshot IDs, sorted by creation time in descending order.

func (GetSnapshotIdsResultOutput) Owners

func (GetSnapshotIdsResultOutput) RestorableByUserIds

func (o GetSnapshotIdsResultOutput) RestorableByUserIds() pulumi.StringArrayOutput

func (GetSnapshotIdsResultOutput) ToGetSnapshotIdsResultOutput

func (o GetSnapshotIdsResultOutput) ToGetSnapshotIdsResultOutput() GetSnapshotIdsResultOutput

func (GetSnapshotIdsResultOutput) ToGetSnapshotIdsResultOutputWithContext

func (o GetSnapshotIdsResultOutput) ToGetSnapshotIdsResultOutputWithContext(ctx context.Context) GetSnapshotIdsResultOutput

type GetVolumeFilter

type GetVolumeFilter struct {
	Name   string   `pulumi:"name"`
	Values []string `pulumi:"values"`
}

type GetVolumeFilterArgs

type GetVolumeFilterArgs struct {
	Name   pulumi.StringInput      `pulumi:"name"`
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (GetVolumeFilterArgs) ElementType

func (GetVolumeFilterArgs) ElementType() reflect.Type

func (GetVolumeFilterArgs) ToGetVolumeFilterOutput

func (i GetVolumeFilterArgs) ToGetVolumeFilterOutput() GetVolumeFilterOutput

func (GetVolumeFilterArgs) ToGetVolumeFilterOutputWithContext

func (i GetVolumeFilterArgs) ToGetVolumeFilterOutputWithContext(ctx context.Context) GetVolumeFilterOutput

type GetVolumeFilterArray

type GetVolumeFilterArray []GetVolumeFilterInput

func (GetVolumeFilterArray) ElementType

func (GetVolumeFilterArray) ElementType() reflect.Type

func (GetVolumeFilterArray) ToGetVolumeFilterArrayOutput

func (i GetVolumeFilterArray) ToGetVolumeFilterArrayOutput() GetVolumeFilterArrayOutput

func (GetVolumeFilterArray) ToGetVolumeFilterArrayOutputWithContext

func (i GetVolumeFilterArray) ToGetVolumeFilterArrayOutputWithContext(ctx context.Context) GetVolumeFilterArrayOutput

type GetVolumeFilterArrayInput

type GetVolumeFilterArrayInput interface {
	pulumi.Input

	ToGetVolumeFilterArrayOutput() GetVolumeFilterArrayOutput
	ToGetVolumeFilterArrayOutputWithContext(context.Context) GetVolumeFilterArrayOutput
}

GetVolumeFilterArrayInput is an input type that accepts GetVolumeFilterArray and GetVolumeFilterArrayOutput values. You can construct a concrete instance of `GetVolumeFilterArrayInput` via:

GetVolumeFilterArray{ GetVolumeFilterArgs{...} }

type GetVolumeFilterArrayOutput

type GetVolumeFilterArrayOutput struct{ *pulumi.OutputState }

func (GetVolumeFilterArrayOutput) ElementType

func (GetVolumeFilterArrayOutput) ElementType() reflect.Type

func (GetVolumeFilterArrayOutput) Index

func (GetVolumeFilterArrayOutput) ToGetVolumeFilterArrayOutput

func (o GetVolumeFilterArrayOutput) ToGetVolumeFilterArrayOutput() GetVolumeFilterArrayOutput

func (GetVolumeFilterArrayOutput) ToGetVolumeFilterArrayOutputWithContext

func (o GetVolumeFilterArrayOutput) ToGetVolumeFilterArrayOutputWithContext(ctx context.Context) GetVolumeFilterArrayOutput

type GetVolumeFilterInput

type GetVolumeFilterInput interface {
	pulumi.Input

	ToGetVolumeFilterOutput() GetVolumeFilterOutput
	ToGetVolumeFilterOutputWithContext(context.Context) GetVolumeFilterOutput
}

GetVolumeFilterInput is an input type that accepts GetVolumeFilterArgs and GetVolumeFilterOutput values. You can construct a concrete instance of `GetVolumeFilterInput` via:

GetVolumeFilterArgs{...}

type GetVolumeFilterOutput

type GetVolumeFilterOutput struct{ *pulumi.OutputState }

func (GetVolumeFilterOutput) ElementType

func (GetVolumeFilterOutput) ElementType() reflect.Type

func (GetVolumeFilterOutput) Name

func (GetVolumeFilterOutput) ToGetVolumeFilterOutput

func (o GetVolumeFilterOutput) ToGetVolumeFilterOutput() GetVolumeFilterOutput

func (GetVolumeFilterOutput) ToGetVolumeFilterOutputWithContext

func (o GetVolumeFilterOutput) ToGetVolumeFilterOutputWithContext(ctx context.Context) GetVolumeFilterOutput

func (GetVolumeFilterOutput) Values

type LookupDefaultKmsKeyResult

type LookupDefaultKmsKeyResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// ARN of the default KMS key uses to encrypt an EBS volume in this region when no key is specified in an API call that creates the volume and encryption by default is enabled.
	KeyArn string `pulumi:"keyArn"`
}

A collection of values returned by getDefaultKmsKey.

func LookupDefaultKmsKey

func LookupDefaultKmsKey(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupDefaultKmsKeyResult, error)

Use this data source to get the default EBS encryption KMS key in the current region.

## Example Usage

```go 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 {
		current, err := ebs.LookupDefaultKmsKey(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = ebs.NewVolume(ctx, "example", &ebs.VolumeArgs{
			AvailabilityZone: pulumi.String("us-west-2a"),
			Encrypted:        pulumi.Bool(true),
			KmsKeyId:         *pulumi.String(current.KeyArn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupEncryptionByDefaultResult

type LookupEncryptionByDefaultResult struct {
	// Whether or not default EBS encryption is enabled. Returns as `true` or `false`.
	Enabled bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getEncryptionByDefault.

func LookupEncryptionByDefault

func LookupEncryptionByDefault(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupEncryptionByDefaultResult, error)

Provides a way to check whether default EBS encryption is enabled for your AWS account in the current AWS region.

## Example Usage

```go 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.LookupEncryptionByDefault(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSnapshotArgs

type LookupSnapshotArgs struct {
	// One or more name/value pairs to filter off of. There are
	// several valid keys, for a full reference, check out
	// [describe-snapshots in the AWS CLI reference][1].
	Filters []GetSnapshotFilter `pulumi:"filters"`
	// If more than one result is returned, use the most recent snapshot.
	MostRecent *bool `pulumi:"mostRecent"`
	// Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
	Owners []string `pulumi:"owners"`
	// One or more AWS accounts IDs that can create volumes from the snapshot.
	RestorableByUserIds []string `pulumi:"restorableByUserIds"`
	// Returns information on a specific snapshot_id.
	SnapshotIds []string `pulumi:"snapshotIds"`
	// Map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSnapshot.

type LookupSnapshotOutputArgs

type LookupSnapshotOutputArgs struct {
	// One or more name/value pairs to filter off of. There are
	// several valid keys, for a full reference, check out
	// [describe-snapshots in the AWS CLI reference][1].
	Filters GetSnapshotFilterArrayInput `pulumi:"filters"`
	// If more than one result is returned, use the most recent snapshot.
	MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"`
	// Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
	Owners pulumi.StringArrayInput `pulumi:"owners"`
	// One or more AWS accounts IDs that can create volumes from the snapshot.
	RestorableByUserIds pulumi.StringArrayInput `pulumi:"restorableByUserIds"`
	// Returns information on a specific snapshot_id.
	SnapshotIds pulumi.StringArrayInput `pulumi:"snapshotIds"`
	// Map of tags for the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getSnapshot.

func (LookupSnapshotOutputArgs) ElementType

func (LookupSnapshotOutputArgs) ElementType() reflect.Type

type LookupSnapshotResult

type LookupSnapshotResult struct {
	// ARN of the EBS Snapshot.
	Arn string `pulumi:"arn"`
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId string `pulumi:"dataEncryptionKeyId"`
	// Description for the snapshot
	Description string `pulumi:"description"`
	// Whether the snapshot is encrypted.
	Encrypted bool                `pulumi:"encrypted"`
	Filters   []GetSnapshotFilter `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// ARN for the KMS encryption key.
	KmsKeyId   string `pulumi:"kmsKeyId"`
	MostRecent *bool  `pulumi:"mostRecent"`
	// ARN of the Outpost on which the snapshot is stored.
	OutpostArn string `pulumi:"outpostArn"`
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias string `pulumi:"ownerAlias"`
	// AWS account ID of the EBS snapshot owner.
	OwnerId             string   `pulumi:"ownerId"`
	Owners              []string `pulumi:"owners"`
	RestorableByUserIds []string `pulumi:"restorableByUserIds"`
	// Snapshot ID (e.g., snap-59fcb34e).
	SnapshotId  string   `pulumi:"snapshotId"`
	SnapshotIds []string `pulumi:"snapshotIds"`
	// Snapshot state.
	State string `pulumi:"state"`
	// Storage tier in which the snapshot is stored.
	StorageTier string `pulumi:"storageTier"`
	// Map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// Volume ID (e.g., vol-59fcb34e).
	VolumeId string `pulumi:"volumeId"`
	// Size of the drive in GiBs.
	VolumeSize int `pulumi:"volumeSize"`
}

A collection of values returned by getSnapshot.

func LookupSnapshot

func LookupSnapshot(ctx *pulumi.Context, args *LookupSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupSnapshotResult, error)

Use this data source to get information about an EBS Snapshot for use when provisioning EBS Volumes

## Example Usage

```go 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.LookupSnapshot(ctx, &ebs.LookupSnapshotArgs{
			Filters: []ebs.GetSnapshotFilter{
				{
					Name: "volume-size",
					Values: []string{
						"40",
					},
				},
				{
					Name: "tag:Name",
					Values: []string{
						"Example",
					},
				},
			},
			MostRecent: pulumi.BoolRef(true),
			Owners: []string{
				"self",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSnapshotResultOutput

type LookupSnapshotResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshot.

func (LookupSnapshotResultOutput) Arn

ARN of the EBS Snapshot.

func (LookupSnapshotResultOutput) DataEncryptionKeyId

func (o LookupSnapshotResultOutput) DataEncryptionKeyId() pulumi.StringOutput

The data encryption key identifier for the snapshot.

func (LookupSnapshotResultOutput) Description

Description for the snapshot

func (LookupSnapshotResultOutput) ElementType

func (LookupSnapshotResultOutput) ElementType() reflect.Type

func (LookupSnapshotResultOutput) Encrypted

Whether the snapshot is encrypted.

func (LookupSnapshotResultOutput) Filters

func (LookupSnapshotResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSnapshotResultOutput) KmsKeyId

ARN for the KMS encryption key.

func (LookupSnapshotResultOutput) MostRecent

func (LookupSnapshotResultOutput) OutpostArn

ARN of the Outpost on which the snapshot is stored.

func (LookupSnapshotResultOutput) OwnerAlias

Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.

func (LookupSnapshotResultOutput) OwnerId

AWS account ID of the EBS snapshot owner.

func (LookupSnapshotResultOutput) Owners

func (LookupSnapshotResultOutput) RestorableByUserIds

func (o LookupSnapshotResultOutput) RestorableByUserIds() pulumi.StringArrayOutput

func (LookupSnapshotResultOutput) SnapshotId

Snapshot ID (e.g., snap-59fcb34e).

func (LookupSnapshotResultOutput) SnapshotIds

func (LookupSnapshotResultOutput) State

Snapshot state.

func (LookupSnapshotResultOutput) StorageTier

Storage tier in which the snapshot is stored.

func (LookupSnapshotResultOutput) Tags

Map of tags for the resource.

func (LookupSnapshotResultOutput) ToLookupSnapshotResultOutput

func (o LookupSnapshotResultOutput) ToLookupSnapshotResultOutput() LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) ToLookupSnapshotResultOutputWithContext

func (o LookupSnapshotResultOutput) ToLookupSnapshotResultOutputWithContext(ctx context.Context) LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) VolumeId

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

func (LookupSnapshotResultOutput) VolumeSize

Size of the drive in GiBs.

type LookupVolumeArgs

type LookupVolumeArgs struct {
	// 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].
	Filters []GetVolumeFilter `pulumi:"filters"`
	// If more than one result is returned, use the most
	// recent Volume.
	MostRecent *bool `pulumi:"mostRecent"`
	// Map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeOutputArgs

type LookupVolumeOutputArgs struct {
	// 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].
	Filters GetVolumeFilterArrayInput `pulumi:"filters"`
	// If more than one result is returned, use the most
	// recent Volume.
	MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"`
	// Map of tags for the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getVolume.

func (LookupVolumeOutputArgs) ElementType

func (LookupVolumeOutputArgs) ElementType() reflect.Type

type LookupVolumeResult

type LookupVolumeResult struct {
	// Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).
	Arn string `pulumi:"arn"`
	// AZ where the EBS volume exists.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Whether the disk is encrypted.
	Encrypted bool              `pulumi:"encrypted"`
	Filters   []GetVolumeFilter `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Amount of IOPS for the disk.
	Iops int `pulumi:"iops"`
	// ARN for the KMS encryption key.
	KmsKeyId   string `pulumi:"kmsKeyId"`
	MostRecent *bool  `pulumi:"mostRecent"`
	// (Optional) Specifies whether Amazon EBS Multi-Attach is enabled.
	MultiAttachEnabled bool `pulumi:"multiAttachEnabled"`
	// ARN of the Outpost.
	OutpostArn string `pulumi:"outpostArn"`
	// Size of the drive in GiBs.
	Size int `pulumi:"size"`
	// Snapshot_id the EBS volume is based off.
	SnapshotId string `pulumi:"snapshotId"`
	// Map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// Throughput that the volume supports, in MiB/s.
	Throughput int `pulumi:"throughput"`
	// Volume ID (e.g., vol-59fcb34e).
	VolumeId string `pulumi:"volumeId"`
	// Type of EBS volume.
	VolumeType string `pulumi:"volumeType"`
}

A collection of values returned by getVolume.

func LookupVolume

func LookupVolume(ctx *pulumi.Context, args *LookupVolumeArgs, opts ...pulumi.InvokeOption) (*LookupVolumeResult, error)

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

## Example Usage

```go 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
	})
}

```

type LookupVolumeResultOutput

type LookupVolumeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVolume.

func (LookupVolumeResultOutput) Arn

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

func (LookupVolumeResultOutput) AvailabilityZone

func (o LookupVolumeResultOutput) AvailabilityZone() pulumi.StringOutput

AZ where the EBS volume exists.

func (LookupVolumeResultOutput) ElementType

func (LookupVolumeResultOutput) ElementType() reflect.Type

func (LookupVolumeResultOutput) Encrypted

Whether the disk is encrypted.

func (LookupVolumeResultOutput) Filters

func (LookupVolumeResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupVolumeResultOutput) Iops

Amount of IOPS for the disk.

func (LookupVolumeResultOutput) KmsKeyId

ARN for the KMS encryption key.

func (LookupVolumeResultOutput) MostRecent

func (LookupVolumeResultOutput) MultiAttachEnabled

func (o LookupVolumeResultOutput) MultiAttachEnabled() pulumi.BoolOutput

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

func (LookupVolumeResultOutput) OutpostArn

ARN of the Outpost.

func (LookupVolumeResultOutput) Size

Size of the drive in GiBs.

func (LookupVolumeResultOutput) SnapshotId

Snapshot_id the EBS volume is based off.

func (LookupVolumeResultOutput) Tags

Map of tags for the resource.

func (LookupVolumeResultOutput) Throughput

func (o LookupVolumeResultOutput) Throughput() pulumi.IntOutput

Throughput that the volume supports, in MiB/s.

func (LookupVolumeResultOutput) ToLookupVolumeResultOutput

func (o LookupVolumeResultOutput) ToLookupVolumeResultOutput() LookupVolumeResultOutput

func (LookupVolumeResultOutput) ToLookupVolumeResultOutputWithContext

func (o LookupVolumeResultOutput) ToLookupVolumeResultOutputWithContext(ctx context.Context) LookupVolumeResultOutput

func (LookupVolumeResultOutput) VolumeId

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

func (LookupVolumeResultOutput) VolumeType

Type of EBS volume.

type Snapshot

type Snapshot struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId pulumi.StringOutput `pulumi:"dataEncryptionKeyId"`
	// A description of what the snapshot is.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the snapshot is encrypted.
	Encrypted pulumi.BoolOutput `pulumi:"encrypted"`
	// The ARN for the KMS encryption key.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.
	OutpostArn pulumi.StringPtrOutput `pulumi:"outpostArn"`
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias pulumi.StringOutput `pulumi:"ownerAlias"`
	// The AWS account ID of the EBS snapshot owner.
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrOutput `pulumi:"permanentRestore"`
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringOutput `pulumi:"storageTier"`
	// A map of tags to assign to the snapshot. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrOutput `pulumi:"temporaryRestoreDays"`
	// The Volume ID of which to make a snapshot.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntOutput `pulumi:"volumeSize"`
}

Creates a Snapshot of an EBS Volume.

## Example Usage

```go 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 {
		example, err := ebs.NewVolume(ctx, "example", &ebs.VolumeArgs{
			AvailabilityZone: pulumi.String("us-west-2a"),
			Size:             pulumi.Int(40),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld"),
			},
		})
		if err != nil {
			return err
		}
		_, err = ebs.NewSnapshot(ctx, "exampleSnapshot", &ebs.SnapshotArgs{
			VolumeId: example.ID(),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld_snap"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

EBS Snapshot can be imported using the `id`, e.g.,

```sh

$ pulumi import aws:ebs/snapshot:Snapshot id snap-049df61146c4d7901

```

func GetSnapshot

func GetSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotState, opts ...pulumi.ResourceOption) (*Snapshot, error)

GetSnapshot gets an existing Snapshot resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshot

func NewSnapshot(ctx *pulumi.Context,
	name string, args *SnapshotArgs, opts ...pulumi.ResourceOption) (*Snapshot, error)

NewSnapshot registers a new resource with the given unique name, arguments, and options.

func (*Snapshot) ElementType

func (*Snapshot) ElementType() reflect.Type

func (*Snapshot) ToSnapshotOutput

func (i *Snapshot) ToSnapshotOutput() SnapshotOutput

func (*Snapshot) ToSnapshotOutputWithContext

func (i *Snapshot) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotArgs

type SnapshotArgs struct {
	// A description of what the snapshot is.
	Description pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.
	OutpostArn pulumi.StringPtrInput
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrInput
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringPtrInput
	// A map of tags to assign to the snapshot. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrInput
	// The Volume ID of which to make a snapshot.
	VolumeId pulumi.StringInput
}

The set of arguments for constructing a Snapshot resource.

func (SnapshotArgs) ElementType

func (SnapshotArgs) ElementType() reflect.Type

type SnapshotArray

type SnapshotArray []SnapshotInput

func (SnapshotArray) ElementType

func (SnapshotArray) ElementType() reflect.Type

func (SnapshotArray) ToSnapshotArrayOutput

func (i SnapshotArray) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArray) ToSnapshotArrayOutputWithContext

func (i SnapshotArray) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotArrayInput

type SnapshotArrayInput interface {
	pulumi.Input

	ToSnapshotArrayOutput() SnapshotArrayOutput
	ToSnapshotArrayOutputWithContext(context.Context) SnapshotArrayOutput
}

SnapshotArrayInput is an input type that accepts SnapshotArray and SnapshotArrayOutput values. You can construct a concrete instance of `SnapshotArrayInput` via:

SnapshotArray{ SnapshotArgs{...} }

type SnapshotArrayOutput

type SnapshotArrayOutput struct{ *pulumi.OutputState }

func (SnapshotArrayOutput) ElementType

func (SnapshotArrayOutput) ElementType() reflect.Type

func (SnapshotArrayOutput) Index

func (SnapshotArrayOutput) ToSnapshotArrayOutput

func (o SnapshotArrayOutput) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArrayOutput) ToSnapshotArrayOutputWithContext

func (o SnapshotArrayOutput) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotCopy

type SnapshotCopy struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId pulumi.StringOutput `pulumi:"dataEncryptionKeyId"`
	// A description of what the snapshot is.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the snapshot is encrypted.
	Encrypted pulumi.BoolPtrOutput `pulumi:"encrypted"`
	// The ARN for the KMS encryption key.
	KmsKeyId   pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	OutpostArn pulumi.StringOutput    `pulumi:"outpostArn"`
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias pulumi.StringOutput `pulumi:"ownerAlias"`
	// The AWS account ID of the snapshot owner.
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrOutput `pulumi:"permanentRestore"`
	// The region of the source snapshot.
	SourceRegion pulumi.StringOutput `pulumi:"sourceRegion"`
	// The ARN for the snapshot to be copied.
	SourceSnapshotId pulumi.StringOutput `pulumi:"sourceSnapshotId"`
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringOutput `pulumi:"storageTier"`
	// A map of tags for the snapshot.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrOutput `pulumi:"temporaryRestoreDays"`
	VolumeId             pulumi.StringOutput `pulumi:"volumeId"`
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntOutput `pulumi:"volumeSize"`
}

Creates a Snapshot of a snapshot.

## Example Usage

```go 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 {
		example, err := ebs.NewVolume(ctx, "example", &ebs.VolumeArgs{
			AvailabilityZone: pulumi.String("us-west-2a"),
			Size:             pulumi.Int(40),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld"),
			},
		})
		if err != nil {
			return err
		}
		exampleSnapshot, err := ebs.NewSnapshot(ctx, "exampleSnapshot", &ebs.SnapshotArgs{
			VolumeId: example.ID(),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld_snap"),
			},
		})
		if err != nil {
			return err
		}
		_, err = ebs.NewSnapshotCopy(ctx, "exampleCopy", &ebs.SnapshotCopyArgs{
			SourceSnapshotId: exampleSnapshot.ID(),
			SourceRegion:     pulumi.String("us-west-2"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld_copy_snap"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetSnapshotCopy

func GetSnapshotCopy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotCopyState, opts ...pulumi.ResourceOption) (*SnapshotCopy, error)

GetSnapshotCopy gets an existing SnapshotCopy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshotCopy

func NewSnapshotCopy(ctx *pulumi.Context,
	name string, args *SnapshotCopyArgs, opts ...pulumi.ResourceOption) (*SnapshotCopy, error)

NewSnapshotCopy registers a new resource with the given unique name, arguments, and options.

func (*SnapshotCopy) ElementType

func (*SnapshotCopy) ElementType() reflect.Type

func (*SnapshotCopy) ToSnapshotCopyOutput

func (i *SnapshotCopy) ToSnapshotCopyOutput() SnapshotCopyOutput

func (*SnapshotCopy) ToSnapshotCopyOutputWithContext

func (i *SnapshotCopy) ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput

type SnapshotCopyArgs

type SnapshotCopyArgs struct {
	// A description of what the snapshot is.
	Description pulumi.StringPtrInput
	// Whether the snapshot is encrypted.
	Encrypted pulumi.BoolPtrInput
	// The ARN for the KMS encryption key.
	KmsKeyId pulumi.StringPtrInput
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrInput
	// The region of the source snapshot.
	SourceRegion pulumi.StringInput
	// The ARN for the snapshot to be copied.
	SourceSnapshotId pulumi.StringInput
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringPtrInput
	// A map of tags for the snapshot.
	Tags pulumi.StringMapInput
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrInput
}

The set of arguments for constructing a SnapshotCopy resource.

func (SnapshotCopyArgs) ElementType

func (SnapshotCopyArgs) ElementType() reflect.Type

type SnapshotCopyArray

type SnapshotCopyArray []SnapshotCopyInput

func (SnapshotCopyArray) ElementType

func (SnapshotCopyArray) ElementType() reflect.Type

func (SnapshotCopyArray) ToSnapshotCopyArrayOutput

func (i SnapshotCopyArray) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput

func (SnapshotCopyArray) ToSnapshotCopyArrayOutputWithContext

func (i SnapshotCopyArray) ToSnapshotCopyArrayOutputWithContext(ctx context.Context) SnapshotCopyArrayOutput

type SnapshotCopyArrayInput

type SnapshotCopyArrayInput interface {
	pulumi.Input

	ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput
	ToSnapshotCopyArrayOutputWithContext(context.Context) SnapshotCopyArrayOutput
}

SnapshotCopyArrayInput is an input type that accepts SnapshotCopyArray and SnapshotCopyArrayOutput values. You can construct a concrete instance of `SnapshotCopyArrayInput` via:

SnapshotCopyArray{ SnapshotCopyArgs{...} }

type SnapshotCopyArrayOutput

type SnapshotCopyArrayOutput struct{ *pulumi.OutputState }

func (SnapshotCopyArrayOutput) ElementType

func (SnapshotCopyArrayOutput) ElementType() reflect.Type

func (SnapshotCopyArrayOutput) Index

func (SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput

func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput

func (SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutputWithContext

func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutputWithContext(ctx context.Context) SnapshotCopyArrayOutput

type SnapshotCopyInput

type SnapshotCopyInput interface {
	pulumi.Input

	ToSnapshotCopyOutput() SnapshotCopyOutput
	ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput
}

type SnapshotCopyMap

type SnapshotCopyMap map[string]SnapshotCopyInput

func (SnapshotCopyMap) ElementType

func (SnapshotCopyMap) ElementType() reflect.Type

func (SnapshotCopyMap) ToSnapshotCopyMapOutput

func (i SnapshotCopyMap) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput

func (SnapshotCopyMap) ToSnapshotCopyMapOutputWithContext

func (i SnapshotCopyMap) ToSnapshotCopyMapOutputWithContext(ctx context.Context) SnapshotCopyMapOutput

type SnapshotCopyMapInput

type SnapshotCopyMapInput interface {
	pulumi.Input

	ToSnapshotCopyMapOutput() SnapshotCopyMapOutput
	ToSnapshotCopyMapOutputWithContext(context.Context) SnapshotCopyMapOutput
}

SnapshotCopyMapInput is an input type that accepts SnapshotCopyMap and SnapshotCopyMapOutput values. You can construct a concrete instance of `SnapshotCopyMapInput` via:

SnapshotCopyMap{ "key": SnapshotCopyArgs{...} }

type SnapshotCopyMapOutput

type SnapshotCopyMapOutput struct{ *pulumi.OutputState }

func (SnapshotCopyMapOutput) ElementType

func (SnapshotCopyMapOutput) ElementType() reflect.Type

func (SnapshotCopyMapOutput) MapIndex

func (SnapshotCopyMapOutput) ToSnapshotCopyMapOutput

func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput

func (SnapshotCopyMapOutput) ToSnapshotCopyMapOutputWithContext

func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutputWithContext(ctx context.Context) SnapshotCopyMapOutput

type SnapshotCopyOutput

type SnapshotCopyOutput struct{ *pulumi.OutputState }

func (SnapshotCopyOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the EBS Snapshot.

func (SnapshotCopyOutput) DataEncryptionKeyId added in v5.4.0

func (o SnapshotCopyOutput) DataEncryptionKeyId() pulumi.StringOutput

The data encryption key identifier for the snapshot.

func (SnapshotCopyOutput) Description added in v5.4.0

func (o SnapshotCopyOutput) Description() pulumi.StringPtrOutput

A description of what the snapshot is.

func (SnapshotCopyOutput) ElementType

func (SnapshotCopyOutput) ElementType() reflect.Type

func (SnapshotCopyOutput) Encrypted added in v5.4.0

func (o SnapshotCopyOutput) Encrypted() pulumi.BoolPtrOutput

Whether the snapshot is encrypted.

func (SnapshotCopyOutput) KmsKeyId added in v5.4.0

The ARN for the KMS encryption key.

func (SnapshotCopyOutput) OutpostArn added in v5.4.0

func (o SnapshotCopyOutput) OutpostArn() pulumi.StringOutput

func (SnapshotCopyOutput) OwnerAlias added in v5.4.0

func (o SnapshotCopyOutput) OwnerAlias() pulumi.StringOutput

Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.

func (SnapshotCopyOutput) OwnerId added in v5.4.0

The AWS account ID of the snapshot owner.

func (SnapshotCopyOutput) PermanentRestore added in v5.4.0

func (o SnapshotCopyOutput) PermanentRestore() pulumi.BoolPtrOutput

Indicates whether to permanently restore an archived snapshot.

func (SnapshotCopyOutput) SourceRegion added in v5.4.0

func (o SnapshotCopyOutput) SourceRegion() pulumi.StringOutput

The region of the source snapshot.

func (SnapshotCopyOutput) SourceSnapshotId added in v5.4.0

func (o SnapshotCopyOutput) SourceSnapshotId() pulumi.StringOutput

The ARN for the snapshot to be copied.

func (SnapshotCopyOutput) StorageTier added in v5.4.0

func (o SnapshotCopyOutput) StorageTier() pulumi.StringOutput

The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.

func (SnapshotCopyOutput) Tags added in v5.4.0

A map of tags for the snapshot.

func (SnapshotCopyOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SnapshotCopyOutput) TemporaryRestoreDays added in v5.4.0

func (o SnapshotCopyOutput) TemporaryRestoreDays() pulumi.IntPtrOutput

Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.

func (SnapshotCopyOutput) ToSnapshotCopyOutput

func (o SnapshotCopyOutput) ToSnapshotCopyOutput() SnapshotCopyOutput

func (SnapshotCopyOutput) ToSnapshotCopyOutputWithContext

func (o SnapshotCopyOutput) ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput

func (SnapshotCopyOutput) VolumeId added in v5.4.0

func (o SnapshotCopyOutput) VolumeId() pulumi.StringOutput

func (SnapshotCopyOutput) VolumeSize added in v5.4.0

func (o SnapshotCopyOutput) VolumeSize() pulumi.IntOutput

The size of the drive in GiBs.

type SnapshotCopyState

type SnapshotCopyState struct {
	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringPtrInput
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId pulumi.StringPtrInput
	// A description of what the snapshot is.
	Description pulumi.StringPtrInput
	// Whether the snapshot is encrypted.
	Encrypted pulumi.BoolPtrInput
	// The ARN for the KMS encryption key.
	KmsKeyId   pulumi.StringPtrInput
	OutpostArn pulumi.StringPtrInput
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias pulumi.StringPtrInput
	// The AWS account ID of the snapshot owner.
	OwnerId pulumi.StringPtrInput
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrInput
	// The region of the source snapshot.
	SourceRegion pulumi.StringPtrInput
	// The ARN for the snapshot to be copied.
	SourceSnapshotId pulumi.StringPtrInput
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringPtrInput
	// A map of tags for the snapshot.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrInput
	VolumeId             pulumi.StringPtrInput
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntPtrInput
}

func (SnapshotCopyState) ElementType

func (SnapshotCopyState) ElementType() reflect.Type

type SnapshotImport

type SnapshotImport struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The client-specific data. Detailed below.
	ClientData SnapshotImportClientDataPtrOutput `pulumi:"clientData"`
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId pulumi.StringOutput `pulumi:"dataEncryptionKeyId"`
	// The description string for the import snapshot task.
	Description pulumi.StringOutput `pulumi:"description"`
	// Information about the disk container. Detailed below.
	DiskContainer SnapshotImportDiskContainerOutput `pulumi:"diskContainer"`
	// Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
	Encrypted pulumi.BoolPtrOutput `pulumi:"encrypted"`
	// An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
	KmsKeyId   pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	OutpostArn pulumi.StringOutput    `pulumi:"outpostArn"`
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias pulumi.StringOutput `pulumi:"ownerAlias"`
	// The AWS account ID of the EBS snapshot owner.
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrOutput `pulumi:"permanentRestore"`
	// The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: `vmimport`
	RoleName pulumi.StringPtrOutput `pulumi:"roleName"`
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringOutput `pulumi:"storageTier"`
	// A map of tags to assign to the snapshot.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrOutput `pulumi:"temporaryRestoreDays"`
	VolumeId             pulumi.StringOutput `pulumi:"volumeId"`
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntOutput `pulumi:"volumeSize"`
}

Imports a disk image from S3 as a Snapshot.

## Example Usage

```go 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.NewSnapshotImport(ctx, "example", &ebs.SnapshotImportArgs{
			DiskContainer: &ebs.SnapshotImportDiskContainerArgs{
				Format: pulumi.String("VHD"),
				UserBucket: &ebs.SnapshotImportDiskContainerUserBucketArgs{
					S3Bucket: pulumi.String("disk-images"),
					S3Key:    pulumi.String("source.vhd"),
				},
			},
			RoleName: pulumi.String("disk-image-import"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetSnapshotImport

func GetSnapshotImport(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotImportState, opts ...pulumi.ResourceOption) (*SnapshotImport, error)

GetSnapshotImport gets an existing SnapshotImport resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshotImport

func NewSnapshotImport(ctx *pulumi.Context,
	name string, args *SnapshotImportArgs, opts ...pulumi.ResourceOption) (*SnapshotImport, error)

NewSnapshotImport registers a new resource with the given unique name, arguments, and options.

func (*SnapshotImport) ElementType

func (*SnapshotImport) ElementType() reflect.Type

func (*SnapshotImport) ToSnapshotImportOutput

func (i *SnapshotImport) ToSnapshotImportOutput() SnapshotImportOutput

func (*SnapshotImport) ToSnapshotImportOutputWithContext

func (i *SnapshotImport) ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput

type SnapshotImportArgs

type SnapshotImportArgs struct {
	// The client-specific data. Detailed below.
	ClientData SnapshotImportClientDataPtrInput
	// The description string for the import snapshot task.
	Description pulumi.StringPtrInput
	// Information about the disk container. Detailed below.
	DiskContainer SnapshotImportDiskContainerInput
	// Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
	Encrypted pulumi.BoolPtrInput
	// An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
	KmsKeyId pulumi.StringPtrInput
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrInput
	// The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: `vmimport`
	RoleName pulumi.StringPtrInput
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringPtrInput
	// A map of tags to assign to the snapshot.
	Tags pulumi.StringMapInput
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrInput
}

The set of arguments for constructing a SnapshotImport resource.

func (SnapshotImportArgs) ElementType

func (SnapshotImportArgs) ElementType() reflect.Type

type SnapshotImportArray

type SnapshotImportArray []SnapshotImportInput

func (SnapshotImportArray) ElementType

func (SnapshotImportArray) ElementType() reflect.Type

func (SnapshotImportArray) ToSnapshotImportArrayOutput

func (i SnapshotImportArray) ToSnapshotImportArrayOutput() SnapshotImportArrayOutput

func (SnapshotImportArray) ToSnapshotImportArrayOutputWithContext

func (i SnapshotImportArray) ToSnapshotImportArrayOutputWithContext(ctx context.Context) SnapshotImportArrayOutput

type SnapshotImportArrayInput

type SnapshotImportArrayInput interface {
	pulumi.Input

	ToSnapshotImportArrayOutput() SnapshotImportArrayOutput
	ToSnapshotImportArrayOutputWithContext(context.Context) SnapshotImportArrayOutput
}

SnapshotImportArrayInput is an input type that accepts SnapshotImportArray and SnapshotImportArrayOutput values. You can construct a concrete instance of `SnapshotImportArrayInput` via:

SnapshotImportArray{ SnapshotImportArgs{...} }

type SnapshotImportArrayOutput

type SnapshotImportArrayOutput struct{ *pulumi.OutputState }

func (SnapshotImportArrayOutput) ElementType

func (SnapshotImportArrayOutput) ElementType() reflect.Type

func (SnapshotImportArrayOutput) Index

func (SnapshotImportArrayOutput) ToSnapshotImportArrayOutput

func (o SnapshotImportArrayOutput) ToSnapshotImportArrayOutput() SnapshotImportArrayOutput

func (SnapshotImportArrayOutput) ToSnapshotImportArrayOutputWithContext

func (o SnapshotImportArrayOutput) ToSnapshotImportArrayOutputWithContext(ctx context.Context) SnapshotImportArrayOutput

type SnapshotImportClientData

type SnapshotImportClientData struct {
	// A user-defined comment about the disk upload.
	Comment *string `pulumi:"comment"`
	// The time that the disk upload ends.
	UploadEnd *string `pulumi:"uploadEnd"`
	// The size of the uploaded disk image, in GiB.
	UploadSize *float64 `pulumi:"uploadSize"`
	// The time that the disk upload starts.
	UploadStart *string `pulumi:"uploadStart"`
}

type SnapshotImportClientDataArgs

type SnapshotImportClientDataArgs struct {
	// A user-defined comment about the disk upload.
	Comment pulumi.StringPtrInput `pulumi:"comment"`
	// The time that the disk upload ends.
	UploadEnd pulumi.StringPtrInput `pulumi:"uploadEnd"`
	// The size of the uploaded disk image, in GiB.
	UploadSize pulumi.Float64PtrInput `pulumi:"uploadSize"`
	// The time that the disk upload starts.
	UploadStart pulumi.StringPtrInput `pulumi:"uploadStart"`
}

func (SnapshotImportClientDataArgs) ElementType

func (SnapshotImportClientDataArgs) ToSnapshotImportClientDataOutput

func (i SnapshotImportClientDataArgs) ToSnapshotImportClientDataOutput() SnapshotImportClientDataOutput

func (SnapshotImportClientDataArgs) ToSnapshotImportClientDataOutputWithContext

func (i SnapshotImportClientDataArgs) ToSnapshotImportClientDataOutputWithContext(ctx context.Context) SnapshotImportClientDataOutput

func (SnapshotImportClientDataArgs) ToSnapshotImportClientDataPtrOutput

func (i SnapshotImportClientDataArgs) ToSnapshotImportClientDataPtrOutput() SnapshotImportClientDataPtrOutput

func (SnapshotImportClientDataArgs) ToSnapshotImportClientDataPtrOutputWithContext

func (i SnapshotImportClientDataArgs) ToSnapshotImportClientDataPtrOutputWithContext(ctx context.Context) SnapshotImportClientDataPtrOutput

type SnapshotImportClientDataInput

type SnapshotImportClientDataInput interface {
	pulumi.Input

	ToSnapshotImportClientDataOutput() SnapshotImportClientDataOutput
	ToSnapshotImportClientDataOutputWithContext(context.Context) SnapshotImportClientDataOutput
}

SnapshotImportClientDataInput is an input type that accepts SnapshotImportClientDataArgs and SnapshotImportClientDataOutput values. You can construct a concrete instance of `SnapshotImportClientDataInput` via:

SnapshotImportClientDataArgs{...}

type SnapshotImportClientDataOutput

type SnapshotImportClientDataOutput struct{ *pulumi.OutputState }

func (SnapshotImportClientDataOutput) Comment

A user-defined comment about the disk upload.

func (SnapshotImportClientDataOutput) ElementType

func (SnapshotImportClientDataOutput) ToSnapshotImportClientDataOutput

func (o SnapshotImportClientDataOutput) ToSnapshotImportClientDataOutput() SnapshotImportClientDataOutput

func (SnapshotImportClientDataOutput) ToSnapshotImportClientDataOutputWithContext

func (o SnapshotImportClientDataOutput) ToSnapshotImportClientDataOutputWithContext(ctx context.Context) SnapshotImportClientDataOutput

func (SnapshotImportClientDataOutput) ToSnapshotImportClientDataPtrOutput

func (o SnapshotImportClientDataOutput) ToSnapshotImportClientDataPtrOutput() SnapshotImportClientDataPtrOutput

func (SnapshotImportClientDataOutput) ToSnapshotImportClientDataPtrOutputWithContext

func (o SnapshotImportClientDataOutput) ToSnapshotImportClientDataPtrOutputWithContext(ctx context.Context) SnapshotImportClientDataPtrOutput

func (SnapshotImportClientDataOutput) UploadEnd

The time that the disk upload ends.

func (SnapshotImportClientDataOutput) UploadSize

The size of the uploaded disk image, in GiB.

func (SnapshotImportClientDataOutput) UploadStart

The time that the disk upload starts.

type SnapshotImportClientDataPtrInput

type SnapshotImportClientDataPtrInput interface {
	pulumi.Input

	ToSnapshotImportClientDataPtrOutput() SnapshotImportClientDataPtrOutput
	ToSnapshotImportClientDataPtrOutputWithContext(context.Context) SnapshotImportClientDataPtrOutput
}

SnapshotImportClientDataPtrInput is an input type that accepts SnapshotImportClientDataArgs, SnapshotImportClientDataPtr and SnapshotImportClientDataPtrOutput values. You can construct a concrete instance of `SnapshotImportClientDataPtrInput` via:

        SnapshotImportClientDataArgs{...}

or:

        nil

type SnapshotImportClientDataPtrOutput

type SnapshotImportClientDataPtrOutput struct{ *pulumi.OutputState }

func (SnapshotImportClientDataPtrOutput) Comment

A user-defined comment about the disk upload.

func (SnapshotImportClientDataPtrOutput) Elem

func (SnapshotImportClientDataPtrOutput) ElementType

func (SnapshotImportClientDataPtrOutput) ToSnapshotImportClientDataPtrOutput

func (o SnapshotImportClientDataPtrOutput) ToSnapshotImportClientDataPtrOutput() SnapshotImportClientDataPtrOutput

func (SnapshotImportClientDataPtrOutput) ToSnapshotImportClientDataPtrOutputWithContext

func (o SnapshotImportClientDataPtrOutput) ToSnapshotImportClientDataPtrOutputWithContext(ctx context.Context) SnapshotImportClientDataPtrOutput

func (SnapshotImportClientDataPtrOutput) UploadEnd

The time that the disk upload ends.

func (SnapshotImportClientDataPtrOutput) UploadSize

The size of the uploaded disk image, in GiB.

func (SnapshotImportClientDataPtrOutput) UploadStart

The time that the disk upload starts.

type SnapshotImportDiskContainer

type SnapshotImportDiskContainer struct {
	// The description of the disk image being imported.
	Description *string `pulumi:"description"`
	// The format of the disk image being imported. One of `VHD` or `VMDK`.
	Format string `pulumi:"format"`
	// The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of `url` or `userBucket` must be set.
	Url *string `pulumi:"url"`
	// The Amazon S3 bucket for the disk image. One of `url` or `userBucket` must be set. Detailed below.
	UserBucket *SnapshotImportDiskContainerUserBucket `pulumi:"userBucket"`
}

type SnapshotImportDiskContainerArgs

type SnapshotImportDiskContainerArgs struct {
	// The description of the disk image being imported.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The format of the disk image being imported. One of `VHD` or `VMDK`.
	Format pulumi.StringInput `pulumi:"format"`
	// The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of `url` or `userBucket` must be set.
	Url pulumi.StringPtrInput `pulumi:"url"`
	// The Amazon S3 bucket for the disk image. One of `url` or `userBucket` must be set. Detailed below.
	UserBucket SnapshotImportDiskContainerUserBucketPtrInput `pulumi:"userBucket"`
}

func (SnapshotImportDiskContainerArgs) ElementType

func (SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerOutput

func (i SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerOutput() SnapshotImportDiskContainerOutput

func (SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerOutputWithContext

func (i SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerOutputWithContext(ctx context.Context) SnapshotImportDiskContainerOutput

func (SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerPtrOutput

func (i SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerPtrOutput() SnapshotImportDiskContainerPtrOutput

func (SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerPtrOutputWithContext

func (i SnapshotImportDiskContainerArgs) ToSnapshotImportDiskContainerPtrOutputWithContext(ctx context.Context) SnapshotImportDiskContainerPtrOutput

type SnapshotImportDiskContainerInput

type SnapshotImportDiskContainerInput interface {
	pulumi.Input

	ToSnapshotImportDiskContainerOutput() SnapshotImportDiskContainerOutput
	ToSnapshotImportDiskContainerOutputWithContext(context.Context) SnapshotImportDiskContainerOutput
}

SnapshotImportDiskContainerInput is an input type that accepts SnapshotImportDiskContainerArgs and SnapshotImportDiskContainerOutput values. You can construct a concrete instance of `SnapshotImportDiskContainerInput` via:

SnapshotImportDiskContainerArgs{...}

type SnapshotImportDiskContainerOutput

type SnapshotImportDiskContainerOutput struct{ *pulumi.OutputState }

func (SnapshotImportDiskContainerOutput) Description

The description of the disk image being imported.

func (SnapshotImportDiskContainerOutput) ElementType

func (SnapshotImportDiskContainerOutput) Format

The format of the disk image being imported. One of `VHD` or `VMDK`.

func (SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerOutput

func (o SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerOutput() SnapshotImportDiskContainerOutput

func (SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerOutputWithContext

func (o SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerOutputWithContext(ctx context.Context) SnapshotImportDiskContainerOutput

func (SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerPtrOutput

func (o SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerPtrOutput() SnapshotImportDiskContainerPtrOutput

func (SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerPtrOutputWithContext

func (o SnapshotImportDiskContainerOutput) ToSnapshotImportDiskContainerPtrOutputWithContext(ctx context.Context) SnapshotImportDiskContainerPtrOutput

func (SnapshotImportDiskContainerOutput) Url

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of `url` or `userBucket` must be set.

func (SnapshotImportDiskContainerOutput) UserBucket

The Amazon S3 bucket for the disk image. One of `url` or `userBucket` must be set. Detailed below.

type SnapshotImportDiskContainerPtrInput

type SnapshotImportDiskContainerPtrInput interface {
	pulumi.Input

	ToSnapshotImportDiskContainerPtrOutput() SnapshotImportDiskContainerPtrOutput
	ToSnapshotImportDiskContainerPtrOutputWithContext(context.Context) SnapshotImportDiskContainerPtrOutput
}

SnapshotImportDiskContainerPtrInput is an input type that accepts SnapshotImportDiskContainerArgs, SnapshotImportDiskContainerPtr and SnapshotImportDiskContainerPtrOutput values. You can construct a concrete instance of `SnapshotImportDiskContainerPtrInput` via:

        SnapshotImportDiskContainerArgs{...}

or:

        nil

type SnapshotImportDiskContainerPtrOutput

type SnapshotImportDiskContainerPtrOutput struct{ *pulumi.OutputState }

func (SnapshotImportDiskContainerPtrOutput) Description

The description of the disk image being imported.

func (SnapshotImportDiskContainerPtrOutput) Elem

func (SnapshotImportDiskContainerPtrOutput) ElementType

func (SnapshotImportDiskContainerPtrOutput) Format

The format of the disk image being imported. One of `VHD` or `VMDK`.

func (SnapshotImportDiskContainerPtrOutput) ToSnapshotImportDiskContainerPtrOutput

func (o SnapshotImportDiskContainerPtrOutput) ToSnapshotImportDiskContainerPtrOutput() SnapshotImportDiskContainerPtrOutput

func (SnapshotImportDiskContainerPtrOutput) ToSnapshotImportDiskContainerPtrOutputWithContext

func (o SnapshotImportDiskContainerPtrOutput) ToSnapshotImportDiskContainerPtrOutputWithContext(ctx context.Context) SnapshotImportDiskContainerPtrOutput

func (SnapshotImportDiskContainerPtrOutput) Url

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..). One of `url` or `userBucket` must be set.

func (SnapshotImportDiskContainerPtrOutput) UserBucket

The Amazon S3 bucket for the disk image. One of `url` or `userBucket` must be set. Detailed below.

type SnapshotImportDiskContainerUserBucket

type SnapshotImportDiskContainerUserBucket struct {
	// The name of the Amazon S3 bucket where the disk image is located.
	S3Bucket string `pulumi:"s3Bucket"`
	// The file name of the disk image.
	S3Key string `pulumi:"s3Key"`
}

type SnapshotImportDiskContainerUserBucketArgs

type SnapshotImportDiskContainerUserBucketArgs struct {
	// The name of the Amazon S3 bucket where the disk image is located.
	S3Bucket pulumi.StringInput `pulumi:"s3Bucket"`
	// The file name of the disk image.
	S3Key pulumi.StringInput `pulumi:"s3Key"`
}

func (SnapshotImportDiskContainerUserBucketArgs) ElementType

func (SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketOutput

func (i SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketOutput() SnapshotImportDiskContainerUserBucketOutput

func (SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketOutputWithContext

func (i SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketOutputWithContext(ctx context.Context) SnapshotImportDiskContainerUserBucketOutput

func (SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketPtrOutput

func (i SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketPtrOutput() SnapshotImportDiskContainerUserBucketPtrOutput

func (SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext

func (i SnapshotImportDiskContainerUserBucketArgs) ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext(ctx context.Context) SnapshotImportDiskContainerUserBucketPtrOutput

type SnapshotImportDiskContainerUserBucketInput

type SnapshotImportDiskContainerUserBucketInput interface {
	pulumi.Input

	ToSnapshotImportDiskContainerUserBucketOutput() SnapshotImportDiskContainerUserBucketOutput
	ToSnapshotImportDiskContainerUserBucketOutputWithContext(context.Context) SnapshotImportDiskContainerUserBucketOutput
}

SnapshotImportDiskContainerUserBucketInput is an input type that accepts SnapshotImportDiskContainerUserBucketArgs and SnapshotImportDiskContainerUserBucketOutput values. You can construct a concrete instance of `SnapshotImportDiskContainerUserBucketInput` via:

SnapshotImportDiskContainerUserBucketArgs{...}

type SnapshotImportDiskContainerUserBucketOutput

type SnapshotImportDiskContainerUserBucketOutput struct{ *pulumi.OutputState }

func (SnapshotImportDiskContainerUserBucketOutput) ElementType

func (SnapshotImportDiskContainerUserBucketOutput) S3Bucket

The name of the Amazon S3 bucket where the disk image is located.

func (SnapshotImportDiskContainerUserBucketOutput) S3Key

The file name of the disk image.

func (SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketOutput

func (o SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketOutput() SnapshotImportDiskContainerUserBucketOutput

func (SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketOutputWithContext

func (o SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketOutputWithContext(ctx context.Context) SnapshotImportDiskContainerUserBucketOutput

func (SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketPtrOutput

func (o SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketPtrOutput() SnapshotImportDiskContainerUserBucketPtrOutput

func (SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext

func (o SnapshotImportDiskContainerUserBucketOutput) ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext(ctx context.Context) SnapshotImportDiskContainerUserBucketPtrOutput

type SnapshotImportDiskContainerUserBucketPtrInput

type SnapshotImportDiskContainerUserBucketPtrInput interface {
	pulumi.Input

	ToSnapshotImportDiskContainerUserBucketPtrOutput() SnapshotImportDiskContainerUserBucketPtrOutput
	ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext(context.Context) SnapshotImportDiskContainerUserBucketPtrOutput
}

SnapshotImportDiskContainerUserBucketPtrInput is an input type that accepts SnapshotImportDiskContainerUserBucketArgs, SnapshotImportDiskContainerUserBucketPtr and SnapshotImportDiskContainerUserBucketPtrOutput values. You can construct a concrete instance of `SnapshotImportDiskContainerUserBucketPtrInput` via:

        SnapshotImportDiskContainerUserBucketArgs{...}

or:

        nil

type SnapshotImportDiskContainerUserBucketPtrOutput

type SnapshotImportDiskContainerUserBucketPtrOutput struct{ *pulumi.OutputState }

func (SnapshotImportDiskContainerUserBucketPtrOutput) Elem

func (SnapshotImportDiskContainerUserBucketPtrOutput) ElementType

func (SnapshotImportDiskContainerUserBucketPtrOutput) S3Bucket

The name of the Amazon S3 bucket where the disk image is located.

func (SnapshotImportDiskContainerUserBucketPtrOutput) S3Key

The file name of the disk image.

func (SnapshotImportDiskContainerUserBucketPtrOutput) ToSnapshotImportDiskContainerUserBucketPtrOutput

func (o SnapshotImportDiskContainerUserBucketPtrOutput) ToSnapshotImportDiskContainerUserBucketPtrOutput() SnapshotImportDiskContainerUserBucketPtrOutput

func (SnapshotImportDiskContainerUserBucketPtrOutput) ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext

func (o SnapshotImportDiskContainerUserBucketPtrOutput) ToSnapshotImportDiskContainerUserBucketPtrOutputWithContext(ctx context.Context) SnapshotImportDiskContainerUserBucketPtrOutput

type SnapshotImportInput

type SnapshotImportInput interface {
	pulumi.Input

	ToSnapshotImportOutput() SnapshotImportOutput
	ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput
}

type SnapshotImportMap

type SnapshotImportMap map[string]SnapshotImportInput

func (SnapshotImportMap) ElementType

func (SnapshotImportMap) ElementType() reflect.Type

func (SnapshotImportMap) ToSnapshotImportMapOutput

func (i SnapshotImportMap) ToSnapshotImportMapOutput() SnapshotImportMapOutput

func (SnapshotImportMap) ToSnapshotImportMapOutputWithContext

func (i SnapshotImportMap) ToSnapshotImportMapOutputWithContext(ctx context.Context) SnapshotImportMapOutput

type SnapshotImportMapInput

type SnapshotImportMapInput interface {
	pulumi.Input

	ToSnapshotImportMapOutput() SnapshotImportMapOutput
	ToSnapshotImportMapOutputWithContext(context.Context) SnapshotImportMapOutput
}

SnapshotImportMapInput is an input type that accepts SnapshotImportMap and SnapshotImportMapOutput values. You can construct a concrete instance of `SnapshotImportMapInput` via:

SnapshotImportMap{ "key": SnapshotImportArgs{...} }

type SnapshotImportMapOutput

type SnapshotImportMapOutput struct{ *pulumi.OutputState }

func (SnapshotImportMapOutput) ElementType

func (SnapshotImportMapOutput) ElementType() reflect.Type

func (SnapshotImportMapOutput) MapIndex

func (SnapshotImportMapOutput) ToSnapshotImportMapOutput

func (o SnapshotImportMapOutput) ToSnapshotImportMapOutput() SnapshotImportMapOutput

func (SnapshotImportMapOutput) ToSnapshotImportMapOutputWithContext

func (o SnapshotImportMapOutput) ToSnapshotImportMapOutputWithContext(ctx context.Context) SnapshotImportMapOutput

type SnapshotImportOutput

type SnapshotImportOutput struct{ *pulumi.OutputState }

func (SnapshotImportOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the EBS Snapshot.

func (SnapshotImportOutput) ClientData added in v5.4.0

The client-specific data. Detailed below.

func (SnapshotImportOutput) DataEncryptionKeyId added in v5.4.0

func (o SnapshotImportOutput) DataEncryptionKeyId() pulumi.StringOutput

The data encryption key identifier for the snapshot.

func (SnapshotImportOutput) Description added in v5.4.0

func (o SnapshotImportOutput) Description() pulumi.StringOutput

The description string for the import snapshot task.

func (SnapshotImportOutput) DiskContainer added in v5.4.0

Information about the disk container. Detailed below.

func (SnapshotImportOutput) ElementType

func (SnapshotImportOutput) ElementType() reflect.Type

func (SnapshotImportOutput) Encrypted added in v5.4.0

Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.

func (SnapshotImportOutput) KmsKeyId added in v5.4.0

An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

func (SnapshotImportOutput) OutpostArn added in v5.4.0

func (o SnapshotImportOutput) OutpostArn() pulumi.StringOutput

func (SnapshotImportOutput) OwnerAlias added in v5.4.0

func (o SnapshotImportOutput) OwnerAlias() pulumi.StringOutput

Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.

func (SnapshotImportOutput) OwnerId added in v5.4.0

The AWS account ID of the EBS snapshot owner.

func (SnapshotImportOutput) PermanentRestore added in v5.4.0

func (o SnapshotImportOutput) PermanentRestore() pulumi.BoolPtrOutput

Indicates whether to permanently restore an archived snapshot.

func (SnapshotImportOutput) RoleName added in v5.4.0

The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: `vmimport`

func (SnapshotImportOutput) StorageTier added in v5.4.0

func (o SnapshotImportOutput) StorageTier() pulumi.StringOutput

The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.

func (SnapshotImportOutput) Tags added in v5.4.0

A map of tags to assign to the snapshot.

func (SnapshotImportOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SnapshotImportOutput) TemporaryRestoreDays added in v5.4.0

func (o SnapshotImportOutput) TemporaryRestoreDays() pulumi.IntPtrOutput

Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.

func (SnapshotImportOutput) ToSnapshotImportOutput

func (o SnapshotImportOutput) ToSnapshotImportOutput() SnapshotImportOutput

func (SnapshotImportOutput) ToSnapshotImportOutputWithContext

func (o SnapshotImportOutput) ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput

func (SnapshotImportOutput) VolumeId added in v5.4.0

func (SnapshotImportOutput) VolumeSize added in v5.4.0

func (o SnapshotImportOutput) VolumeSize() pulumi.IntOutput

The size of the drive in GiBs.

type SnapshotImportState

type SnapshotImportState struct {
	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringPtrInput
	// The client-specific data. Detailed below.
	ClientData SnapshotImportClientDataPtrInput
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId pulumi.StringPtrInput
	// The description string for the import snapshot task.
	Description pulumi.StringPtrInput
	// Information about the disk container. Detailed below.
	DiskContainer SnapshotImportDiskContainerPtrInput
	// Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
	Encrypted pulumi.BoolPtrInput
	// An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
	KmsKeyId   pulumi.StringPtrInput
	OutpostArn pulumi.StringPtrInput
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias pulumi.StringPtrInput
	// The AWS account ID of the EBS snapshot owner.
	OwnerId pulumi.StringPtrInput
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrInput
	// The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: `vmimport`
	RoleName pulumi.StringPtrInput
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringPtrInput
	// A map of tags to assign to the snapshot.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrInput
	VolumeId             pulumi.StringPtrInput
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntPtrInput
}

func (SnapshotImportState) ElementType

func (SnapshotImportState) ElementType() reflect.Type

type SnapshotInput

type SnapshotInput interface {
	pulumi.Input

	ToSnapshotOutput() SnapshotOutput
	ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput
}

type SnapshotMap

type SnapshotMap map[string]SnapshotInput

func (SnapshotMap) ElementType

func (SnapshotMap) ElementType() reflect.Type

func (SnapshotMap) ToSnapshotMapOutput

func (i SnapshotMap) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMap) ToSnapshotMapOutputWithContext

func (i SnapshotMap) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotMapInput

type SnapshotMapInput interface {
	pulumi.Input

	ToSnapshotMapOutput() SnapshotMapOutput
	ToSnapshotMapOutputWithContext(context.Context) SnapshotMapOutput
}

SnapshotMapInput is an input type that accepts SnapshotMap and SnapshotMapOutput values. You can construct a concrete instance of `SnapshotMapInput` via:

SnapshotMap{ "key": SnapshotArgs{...} }

type SnapshotMapOutput

type SnapshotMapOutput struct{ *pulumi.OutputState }

func (SnapshotMapOutput) ElementType

func (SnapshotMapOutput) ElementType() reflect.Type

func (SnapshotMapOutput) MapIndex

func (SnapshotMapOutput) ToSnapshotMapOutput

func (o SnapshotMapOutput) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMapOutput) ToSnapshotMapOutputWithContext

func (o SnapshotMapOutput) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotOutput

type SnapshotOutput struct{ *pulumi.OutputState }

func (SnapshotOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the EBS Snapshot.

func (SnapshotOutput) DataEncryptionKeyId added in v5.4.0

func (o SnapshotOutput) DataEncryptionKeyId() pulumi.StringOutput

The data encryption key identifier for the snapshot.

func (SnapshotOutput) Description added in v5.4.0

func (o SnapshotOutput) Description() pulumi.StringPtrOutput

A description of what the snapshot is.

func (SnapshotOutput) ElementType

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) Encrypted added in v5.4.0

func (o SnapshotOutput) Encrypted() pulumi.BoolOutput

Whether the snapshot is encrypted.

func (SnapshotOutput) KmsKeyId added in v5.4.0

func (o SnapshotOutput) KmsKeyId() pulumi.StringOutput

The ARN for the KMS encryption key.

func (SnapshotOutput) OutpostArn added in v5.4.0

func (o SnapshotOutput) OutpostArn() pulumi.StringPtrOutput

The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.

func (SnapshotOutput) OwnerAlias added in v5.4.0

func (o SnapshotOutput) OwnerAlias() pulumi.StringOutput

Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.

func (SnapshotOutput) OwnerId added in v5.4.0

func (o SnapshotOutput) OwnerId() pulumi.StringOutput

The AWS account ID of the EBS snapshot owner.

func (SnapshotOutput) PermanentRestore added in v5.4.0

func (o SnapshotOutput) PermanentRestore() pulumi.BoolPtrOutput

Indicates whether to permanently restore an archived snapshot.

func (SnapshotOutput) StorageTier added in v5.4.0

func (o SnapshotOutput) StorageTier() pulumi.StringOutput

The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.

func (SnapshotOutput) Tags added in v5.4.0

A map of tags to assign to the snapshot. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (SnapshotOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SnapshotOutput) TemporaryRestoreDays added in v5.4.0

func (o SnapshotOutput) TemporaryRestoreDays() pulumi.IntPtrOutput

Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.

func (SnapshotOutput) ToSnapshotOutput

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext

func (o SnapshotOutput) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

func (SnapshotOutput) VolumeId added in v5.4.0

func (o SnapshotOutput) VolumeId() pulumi.StringOutput

The Volume ID of which to make a snapshot.

func (SnapshotOutput) VolumeSize added in v5.4.0

func (o SnapshotOutput) VolumeSize() pulumi.IntOutput

The size of the drive in GiBs.

type SnapshotState

type SnapshotState struct {
	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringPtrInput
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId pulumi.StringPtrInput
	// A description of what the snapshot is.
	Description pulumi.StringPtrInput
	// Whether the snapshot is encrypted.
	Encrypted pulumi.BoolPtrInput
	// The ARN for the KMS encryption key.
	KmsKeyId pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.
	OutpostArn pulumi.StringPtrInput
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias pulumi.StringPtrInput
	// The AWS account ID of the EBS snapshot owner.
	OwnerId pulumi.StringPtrInput
	// Indicates whether to permanently restore an archived snapshot.
	PermanentRestore pulumi.BoolPtrInput
	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
	StorageTier pulumi.StringPtrInput
	// A map of tags to assign to the snapshot. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
	TemporaryRestoreDays pulumi.IntPtrInput
	// The Volume ID of which to make a snapshot.
	VolumeId pulumi.StringPtrInput
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntPtrInput
}

func (SnapshotState) ElementType

func (SnapshotState) ElementType() reflect.Type

type Volume

type Volume struct {
	pulumi.CustomResourceState

	// The volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The AZ where the EBS volume will exist.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// If true, the disk will be encrypted.
	Encrypted pulumi.BoolOutput `pulumi:"encrypted"`
	// If true, snapshot will be created before volume deletion. Any tags on the volume will be migrated to the snapshot. By default set to false
	FinalSnapshot pulumi.BoolPtrOutput `pulumi:"finalSnapshot"`
	// The amount of IOPS to provision for the disk. Only valid for `type` of `io1`, `io2` or `gp3`.
	Iops pulumi.IntOutput `pulumi:"iops"`
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. Note: The provider must be running with credentials which have the `GenerateDataKeyWithoutPlaintext` permission on the specified KMS key as required by the [EBS KMS CMK volume provisioning process](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html#ebs-cmk) to prevent a volume from being created and almost immediately deleted.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported on `io1` and `io2` volumes.
	MultiAttachEnabled pulumi.BoolPtrOutput `pulumi:"multiAttachEnabled"`
	// The Amazon Resource Name (ARN) of the Outpost.
	OutpostArn pulumi.StringPtrOutput `pulumi:"outpostArn"`
	// The size of the drive in GiBs.
	Size pulumi.IntOutput `pulumi:"size"`
	// A snapshot to base the EBS volume off of.
	SnapshotId pulumi.StringOutput `pulumi:"snapshotId"`
	// 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.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.
	//
	// > **NOTE:** When changing the `size`, `iops` or `type` of an instance, there are [considerations](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/considerations.html) to be aware of.
	Throughput pulumi.IntOutput `pulumi:"throughput"`
	// The type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (Default: `gp2`).
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages a single EBS volume.

## Example Usage

```go 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.NewVolume(ctx, "example", &ebs.VolumeArgs{
			AvailabilityZone: pulumi.String("us-west-2a"),
			Size:             pulumi.Int(40),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **NOTE:** At least one of `size` or `snapshotId` is required when specifying an EBS volume

## Import

EBS Volumes can be imported using the `id`, e.g.,

```sh

$ pulumi import aws:ebs/volume:Volume id vol-049df61146c4d7901

```

func GetVolume

func GetVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeState, opts ...pulumi.ResourceOption) (*Volume, error)

GetVolume gets an existing Volume resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolume

func NewVolume(ctx *pulumi.Context,
	name string, args *VolumeArgs, opts ...pulumi.ResourceOption) (*Volume, error)

NewVolume registers a new resource with the given unique name, arguments, and options.

func (*Volume) ElementType

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext

func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

type VolumeArgs

type VolumeArgs struct {
	// The AZ where the EBS volume will exist.
	AvailabilityZone pulumi.StringInput
	// If true, the disk will be encrypted.
	Encrypted pulumi.BoolPtrInput
	// If true, snapshot will be created before volume deletion. Any tags on the volume will be migrated to the snapshot. By default set to false
	FinalSnapshot pulumi.BoolPtrInput
	// The amount of IOPS to provision for the disk. Only valid for `type` of `io1`, `io2` or `gp3`.
	Iops pulumi.IntPtrInput
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. Note: The provider must be running with credentials which have the `GenerateDataKeyWithoutPlaintext` permission on the specified KMS key as required by the [EBS KMS CMK volume provisioning process](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html#ebs-cmk) to prevent a volume from being created and almost immediately deleted.
	KmsKeyId pulumi.StringPtrInput
	// Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported on `io1` and `io2` volumes.
	MultiAttachEnabled pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the Outpost.
	OutpostArn pulumi.StringPtrInput
	// The size of the drive in GiBs.
	Size pulumi.IntPtrInput
	// A snapshot to base the EBS volume off of.
	SnapshotId pulumi.StringPtrInput
	// 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.
	Tags pulumi.StringMapInput
	// The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.
	//
	// > **NOTE:** When changing the `size`, `iops` or `type` of an instance, there are [considerations](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/considerations.html) to be aware of.
	Throughput pulumi.IntPtrInput
	// The type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (Default: `gp2`).
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType

func (VolumeArgs) ElementType() reflect.Type

type VolumeArray

type VolumeArray []VolumeInput

func (VolumeArray) ElementType

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext

func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeArrayInput

type VolumeArrayInput interface {
	pulumi.Input

	ToVolumeArrayOutput() VolumeArrayOutput
	ToVolumeArrayOutputWithContext(context.Context) VolumeArrayOutput
}

VolumeArrayInput is an input type that accepts VolumeArray and VolumeArrayOutput values. You can construct a concrete instance of `VolumeArrayInput` via:

VolumeArray{ VolumeArgs{...} }

type VolumeArrayOutput

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index

func (VolumeArrayOutput) ToVolumeArrayOutput

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext

func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeInput

type VolumeInput interface {
	pulumi.Input

	ToVolumeOutput() VolumeOutput
	ToVolumeOutputWithContext(ctx context.Context) VolumeOutput
}

type VolumeMap

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext

func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeMapInput

type VolumeMapInput interface {
	pulumi.Input

	ToVolumeMapOutput() VolumeMapOutput
	ToVolumeMapOutputWithContext(context.Context) VolumeMapOutput
}

VolumeMapInput is an input type that accepts VolumeMap and VolumeMapOutput values. You can construct a concrete instance of `VolumeMapInput` via:

VolumeMap{ "key": VolumeArgs{...} }

type VolumeMapOutput

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex

func (VolumeMapOutput) ToVolumeMapOutput

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext

func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeOutput

type VolumeOutput struct{ *pulumi.OutputState }

func (VolumeOutput) Arn added in v5.4.0

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

func (VolumeOutput) AvailabilityZone added in v5.4.0

func (o VolumeOutput) AvailabilityZone() pulumi.StringOutput

The AZ where the EBS volume will exist.

func (VolumeOutput) ElementType

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) Encrypted added in v5.4.0

func (o VolumeOutput) Encrypted() pulumi.BoolOutput

If true, the disk will be encrypted.

func (VolumeOutput) FinalSnapshot added in v5.8.0

func (o VolumeOutput) FinalSnapshot() pulumi.BoolPtrOutput

If true, snapshot will be created before volume deletion. Any tags on the volume will be migrated to the snapshot. By default set to false

func (VolumeOutput) Iops added in v5.4.0

func (o VolumeOutput) Iops() pulumi.IntOutput

The amount of IOPS to provision for the disk. Only valid for `type` of `io1`, `io2` or `gp3`.

func (VolumeOutput) KmsKeyId added in v5.4.0

func (o VolumeOutput) KmsKeyId() pulumi.StringOutput

The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. Note: The provider must be running with credentials which have the `GenerateDataKeyWithoutPlaintext` permission on the specified KMS key as required by the [EBS KMS CMK volume provisioning process](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html#ebs-cmk) to prevent a volume from being created and almost immediately deleted.

func (VolumeOutput) MultiAttachEnabled added in v5.4.0

func (o VolumeOutput) MultiAttachEnabled() pulumi.BoolPtrOutput

Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported on `io1` and `io2` volumes.

func (VolumeOutput) OutpostArn added in v5.4.0

func (o VolumeOutput) OutpostArn() pulumi.StringPtrOutput

The Amazon Resource Name (ARN) of the Outpost.

func (VolumeOutput) Size added in v5.4.0

func (o VolumeOutput) Size() pulumi.IntOutput

The size of the drive in GiBs.

func (VolumeOutput) SnapshotId added in v5.4.0

func (o VolumeOutput) SnapshotId() pulumi.StringOutput

A snapshot to base the EBS volume off of.

func (VolumeOutput) Tags added in v5.4.0

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.

func (VolumeOutput) TagsAll added in v5.4.0

func (o VolumeOutput) TagsAll() pulumi.StringMapOutput

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (VolumeOutput) Throughput added in v5.4.0

func (o VolumeOutput) Throughput() pulumi.IntOutput

The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.

> **NOTE:** When changing the `size`, `iops` or `type` of an instance, there are [considerations](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/considerations.html) to be aware of.

func (VolumeOutput) ToVolumeOutput

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext

func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (VolumeOutput) Type added in v5.4.0

func (o VolumeOutput) Type() pulumi.StringOutput

The type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (Default: `gp2`).

type VolumeState

type VolumeState struct {
	// The volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).
	Arn pulumi.StringPtrInput
	// The AZ where the EBS volume will exist.
	AvailabilityZone pulumi.StringPtrInput
	// If true, the disk will be encrypted.
	Encrypted pulumi.BoolPtrInput
	// If true, snapshot will be created before volume deletion. Any tags on the volume will be migrated to the snapshot. By default set to false
	FinalSnapshot pulumi.BoolPtrInput
	// The amount of IOPS to provision for the disk. Only valid for `type` of `io1`, `io2` or `gp3`.
	Iops pulumi.IntPtrInput
	// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `encrypted` needs to be set to true. Note: The provider must be running with credentials which have the `GenerateDataKeyWithoutPlaintext` permission on the specified KMS key as required by the [EBS KMS CMK volume provisioning process](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html#ebs-cmk) to prevent a volume from being created and almost immediately deleted.
	KmsKeyId pulumi.StringPtrInput
	// Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported on `io1` and `io2` volumes.
	MultiAttachEnabled pulumi.BoolPtrInput
	// The Amazon Resource Name (ARN) of the Outpost.
	OutpostArn pulumi.StringPtrInput
	// The size of the drive in GiBs.
	Size pulumi.IntPtrInput
	// A snapshot to base the EBS volume off of.
	SnapshotId pulumi.StringPtrInput
	// 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.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.
	//
	// > **NOTE:** When changing the `size`, `iops` or `type` of an instance, there are [considerations](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/considerations.html) to be aware of.
	Throughput pulumi.IntPtrInput
	// The type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (Default: `gp2`).
	Type pulumi.StringPtrInput
}

func (VolumeState) ElementType

func (VolumeState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL