ebs

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*DefaultKmsKey) ElementType() reflect.Type

func (*DefaultKmsKey) ToDefaultKmsKeyOutput added in v3.13.0

func (i *DefaultKmsKey) ToDefaultKmsKeyOutput() DefaultKmsKeyOutput

func (*DefaultKmsKey) ToDefaultKmsKeyOutputWithContext added in v3.13.0

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

func (*DefaultKmsKey) ToDefaultKmsKeyPtrOutput added in v3.25.0

func (i *DefaultKmsKey) ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput

func (*DefaultKmsKey) ToDefaultKmsKeyPtrOutputWithContext added in v3.25.0

func (i *DefaultKmsKey) ToDefaultKmsKeyPtrOutputWithContext(ctx context.Context) DefaultKmsKeyPtrOutput

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 added in v3.25.0

type DefaultKmsKeyArray []DefaultKmsKeyInput

func (DefaultKmsKeyArray) ElementType added in v3.25.0

func (DefaultKmsKeyArray) ElementType() reflect.Type

func (DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutput added in v3.25.0

func (i DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutput() DefaultKmsKeyArrayOutput

func (DefaultKmsKeyArray) ToDefaultKmsKeyArrayOutputWithContext added in v3.25.0

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

type DefaultKmsKeyArrayInput added in v3.25.0

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 added in v3.25.0

type DefaultKmsKeyArrayOutput struct{ *pulumi.OutputState }

func (DefaultKmsKeyArrayOutput) ElementType added in v3.25.0

func (DefaultKmsKeyArrayOutput) ElementType() reflect.Type

func (DefaultKmsKeyArrayOutput) Index added in v3.25.0

func (DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutput added in v3.25.0

func (o DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutput() DefaultKmsKeyArrayOutput

func (DefaultKmsKeyArrayOutput) ToDefaultKmsKeyArrayOutputWithContext added in v3.25.0

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

type DefaultKmsKeyInput added in v3.13.0

type DefaultKmsKeyInput interface {
	pulumi.Input

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

type DefaultKmsKeyMap added in v3.25.0

type DefaultKmsKeyMap map[string]DefaultKmsKeyInput

func (DefaultKmsKeyMap) ElementType added in v3.25.0

func (DefaultKmsKeyMap) ElementType() reflect.Type

func (DefaultKmsKeyMap) ToDefaultKmsKeyMapOutput added in v3.25.0

func (i DefaultKmsKeyMap) ToDefaultKmsKeyMapOutput() DefaultKmsKeyMapOutput

func (DefaultKmsKeyMap) ToDefaultKmsKeyMapOutputWithContext added in v3.25.0

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

type DefaultKmsKeyMapInput added in v3.25.0

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 added in v3.25.0

type DefaultKmsKeyMapOutput struct{ *pulumi.OutputState }

func (DefaultKmsKeyMapOutput) ElementType added in v3.25.0

func (DefaultKmsKeyMapOutput) ElementType() reflect.Type

func (DefaultKmsKeyMapOutput) MapIndex added in v3.25.0

func (DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutput added in v3.25.0

func (o DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutput() DefaultKmsKeyMapOutput

func (DefaultKmsKeyMapOutput) ToDefaultKmsKeyMapOutputWithContext added in v3.25.0

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

type DefaultKmsKeyOutput added in v3.13.0

type DefaultKmsKeyOutput struct {
	*pulumi.OutputState
}

func (DefaultKmsKeyOutput) ElementType added in v3.13.0

func (DefaultKmsKeyOutput) ElementType() reflect.Type

func (DefaultKmsKeyOutput) ToDefaultKmsKeyOutput added in v3.13.0

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyOutput() DefaultKmsKeyOutput

func (DefaultKmsKeyOutput) ToDefaultKmsKeyOutputWithContext added in v3.13.0

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

func (DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutput added in v3.25.0

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput

func (DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutputWithContext added in v3.25.0

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutputWithContext(ctx context.Context) DefaultKmsKeyPtrOutput

type DefaultKmsKeyPtrInput added in v3.25.0

type DefaultKmsKeyPtrInput interface {
	pulumi.Input

	ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput
	ToDefaultKmsKeyPtrOutputWithContext(ctx context.Context) DefaultKmsKeyPtrOutput
}

type DefaultKmsKeyPtrOutput added in v3.25.0

type DefaultKmsKeyPtrOutput struct {
	*pulumi.OutputState
}

func (DefaultKmsKeyPtrOutput) ElementType added in v3.25.0

func (DefaultKmsKeyPtrOutput) ElementType() reflect.Type

func (DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutput added in v3.25.0

func (o DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput

func (DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutputWithContext added in v3.25.0

func (o DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutputWithContext(ctx context.Context) DefaultKmsKeyPtrOutput

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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

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 added in v3.13.0

func (*EncryptionByDefault) ElementType() reflect.Type

func (*EncryptionByDefault) ToEncryptionByDefaultOutput added in v3.13.0

func (i *EncryptionByDefault) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput

func (*EncryptionByDefault) ToEncryptionByDefaultOutputWithContext added in v3.13.0

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

func (*EncryptionByDefault) ToEncryptionByDefaultPtrOutput added in v3.25.0

func (i *EncryptionByDefault) ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput

func (*EncryptionByDefault) ToEncryptionByDefaultPtrOutputWithContext added in v3.25.0

func (i *EncryptionByDefault) ToEncryptionByDefaultPtrOutputWithContext(ctx context.Context) EncryptionByDefaultPtrOutput

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 added in v3.25.0

type EncryptionByDefaultArray []EncryptionByDefaultInput

func (EncryptionByDefaultArray) ElementType added in v3.25.0

func (EncryptionByDefaultArray) ElementType() reflect.Type

func (EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutput added in v3.25.0

func (i EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput

func (EncryptionByDefaultArray) ToEncryptionByDefaultArrayOutputWithContext added in v3.25.0

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

type EncryptionByDefaultArrayInput added in v3.25.0

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 added in v3.25.0

type EncryptionByDefaultArrayOutput struct{ *pulumi.OutputState }

func (EncryptionByDefaultArrayOutput) ElementType added in v3.25.0

func (EncryptionByDefaultArrayOutput) Index added in v3.25.0

func (EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutput added in v3.25.0

func (o EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutput() EncryptionByDefaultArrayOutput

func (EncryptionByDefaultArrayOutput) ToEncryptionByDefaultArrayOutputWithContext added in v3.25.0

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

type EncryptionByDefaultInput added in v3.13.0

type EncryptionByDefaultInput interface {
	pulumi.Input

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

type EncryptionByDefaultMap added in v3.25.0

type EncryptionByDefaultMap map[string]EncryptionByDefaultInput

func (EncryptionByDefaultMap) ElementType added in v3.25.0

func (EncryptionByDefaultMap) ElementType() reflect.Type

func (EncryptionByDefaultMap) ToEncryptionByDefaultMapOutput added in v3.25.0

func (i EncryptionByDefaultMap) ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput

func (EncryptionByDefaultMap) ToEncryptionByDefaultMapOutputWithContext added in v3.25.0

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

type EncryptionByDefaultMapInput added in v3.25.0

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 added in v3.25.0

type EncryptionByDefaultMapOutput struct{ *pulumi.OutputState }

func (EncryptionByDefaultMapOutput) ElementType added in v3.25.0

func (EncryptionByDefaultMapOutput) MapIndex added in v3.25.0

func (EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutput added in v3.25.0

func (o EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutput() EncryptionByDefaultMapOutput

func (EncryptionByDefaultMapOutput) ToEncryptionByDefaultMapOutputWithContext added in v3.25.0

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

type EncryptionByDefaultOutput added in v3.13.0

type EncryptionByDefaultOutput struct {
	*pulumi.OutputState
}

func (EncryptionByDefaultOutput) ElementType added in v3.13.0

func (EncryptionByDefaultOutput) ElementType() reflect.Type

func (EncryptionByDefaultOutput) ToEncryptionByDefaultOutput added in v3.13.0

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput

func (EncryptionByDefaultOutput) ToEncryptionByDefaultOutputWithContext added in v3.13.0

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

func (EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutput added in v3.25.0

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput

func (EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutputWithContext added in v3.25.0

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutputWithContext(ctx context.Context) EncryptionByDefaultPtrOutput

type EncryptionByDefaultPtrInput added in v3.25.0

type EncryptionByDefaultPtrInput interface {
	pulumi.Input

	ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput
	ToEncryptionByDefaultPtrOutputWithContext(ctx context.Context) EncryptionByDefaultPtrOutput
}

type EncryptionByDefaultPtrOutput added in v3.25.0

type EncryptionByDefaultPtrOutput struct {
	*pulumi.OutputState
}

func (EncryptionByDefaultPtrOutput) ElementType added in v3.25.0

func (EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutput added in v3.25.0

func (o EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput

func (EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutputWithContext added in v3.25.0

func (o EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutputWithContext(ctx context.Context) EncryptionByDefaultPtrOutput

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"`
	// A map of tags, each pair of which must exactly match
	// a pair on the desired volumes.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getEbsVolumes.

type GetEbsVolumesFilter

type GetEbsVolumesFilter struct {
	// The 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:
	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 {
	// The 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:
	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

The 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:

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 GetEbsVolumesResult

type GetEbsVolumesResult struct {
	Filters []GetEbsVolumesFilter `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A 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.

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 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.

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"`
	// Amazon Resource Name (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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSnapshot.

type LookupSnapshotResult

type LookupSnapshotResult struct {
	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn string `pulumi:"arn"`
	// The data encryption key identifier for the snapshot.
	DataEncryptionKeyId string `pulumi:"dataEncryptionKeyId"`
	// A 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"`
	// The ARN for the KMS encryption key.
	KmsKeyId   string `pulumi:"kmsKeyId"`
	MostRecent *bool  `pulumi:"mostRecent"`
	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
	OwnerAlias string `pulumi:"ownerAlias"`
	// The AWS account ID of the EBS snapshot owner.
	OwnerId             string   `pulumi:"ownerId"`
	Owners              []string `pulumi:"owners"`
	RestorableByUserIds []string `pulumi:"restorableByUserIds"`
	// The snapshot ID (e.g. snap-59fcb34e).
	SnapshotId  string   `pulumi:"snapshotId"`
	SnapshotIds []string `pulumi:"snapshotIds"`
	// The snapshot state.
	State string `pulumi:"state"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// The volume ID (e.g. vol-59fcb34e).
	VolumeId string `pulumi:"volumeId"`
	// The 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

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"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeResult

type LookupVolumeResult struct {
	// The volume ARN (e.g. arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).
	Arn string `pulumi:"arn"`
	// The 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"`
	// The amount of IOPS for the disk.
	Iops int `pulumi:"iops"`
	// The 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"`
	// The Amazon Resource Name (ARN) of the Outpost.
	OutpostArn string `pulumi:"outpostArn"`
	// The size of the drive in GiBs.
	Size int `pulumi:"size"`
	// The snapshotId the EBS volume is based off.
	SnapshotId string `pulumi:"snapshotId"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// The throughput that the volume supports, in MiB/s.
	Throughput int `pulumi:"throughput"`
	// The volume ID (e.g. vol-59fcb34e).
	VolumeId string `pulumi:"volumeId"`
	// The 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.

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"`
	// 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"`
	// A map of tags to assign to the snapshot
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// 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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Snapshot) ElementType() reflect.Type

func (*Snapshot) ToSnapshotOutput added in v3.13.0

func (i *Snapshot) ToSnapshotOutput() SnapshotOutput

func (*Snapshot) ToSnapshotOutputWithContext added in v3.13.0

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

func (*Snapshot) ToSnapshotPtrOutput added in v3.25.0

func (i *Snapshot) ToSnapshotPtrOutput() SnapshotPtrOutput

func (*Snapshot) ToSnapshotPtrOutputWithContext added in v3.25.0

func (i *Snapshot) ToSnapshotPtrOutputWithContext(ctx context.Context) SnapshotPtrOutput

type SnapshotArgs

type SnapshotArgs struct {
	// A description of what the snapshot is.
	Description pulumi.StringPtrInput
	// A map of tags to assign to the snapshot
	Tags pulumi.StringMapInput
	// 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 added in v3.25.0

type SnapshotArray []SnapshotInput

func (SnapshotArray) ElementType added in v3.25.0

func (SnapshotArray) ElementType() reflect.Type

func (SnapshotArray) ToSnapshotArrayOutput added in v3.25.0

func (i SnapshotArray) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArray) ToSnapshotArrayOutputWithContext added in v3.25.0

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

type SnapshotArrayInput added in v3.25.0

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 added in v3.25.0

type SnapshotArrayOutput struct{ *pulumi.OutputState }

func (SnapshotArrayOutput) ElementType added in v3.25.0

func (SnapshotArrayOutput) ElementType() reflect.Type

func (SnapshotArrayOutput) Index added in v3.25.0

func (SnapshotArrayOutput) ToSnapshotArrayOutput added in v3.25.0

func (o SnapshotArrayOutput) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArrayOutput) ToSnapshotArrayOutputWithContext added in v3.25.0

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.
	// * `sourceSnapshotId` The ARN of the copied snapshot.
	// * `sourceRegion` The region of the source 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"`
	// 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"`
	// The region of the source snapshot.
	SourceRegion pulumi.StringOutput `pulumi:"sourceRegion"`
	// The ARN for the snapshot to be copied.
	SourceSnapshotId pulumi.StringOutput `pulumi:"sourceSnapshotId"`
	// A map of tags for the snapshot.
	Tags     pulumi.StringMapOutput `pulumi:"tags"`
	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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*SnapshotCopy) ElementType() reflect.Type

func (*SnapshotCopy) ToSnapshotCopyOutput added in v3.13.0

func (i *SnapshotCopy) ToSnapshotCopyOutput() SnapshotCopyOutput

func (*SnapshotCopy) ToSnapshotCopyOutputWithContext added in v3.13.0

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

func (*SnapshotCopy) ToSnapshotCopyPtrOutput added in v3.25.0

func (i *SnapshotCopy) ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput

func (*SnapshotCopy) ToSnapshotCopyPtrOutputWithContext added in v3.25.0

func (i *SnapshotCopy) ToSnapshotCopyPtrOutputWithContext(ctx context.Context) SnapshotCopyPtrOutput

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
	// The region of the source snapshot.
	SourceRegion pulumi.StringInput
	// The ARN for the snapshot to be copied.
	SourceSnapshotId pulumi.StringInput
	// A map of tags for the snapshot.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SnapshotCopy resource.

func (SnapshotCopyArgs) ElementType

func (SnapshotCopyArgs) ElementType() reflect.Type

type SnapshotCopyArray added in v3.25.0

type SnapshotCopyArray []SnapshotCopyInput

func (SnapshotCopyArray) ElementType added in v3.25.0

func (SnapshotCopyArray) ElementType() reflect.Type

func (SnapshotCopyArray) ToSnapshotCopyArrayOutput added in v3.25.0

func (i SnapshotCopyArray) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput

func (SnapshotCopyArray) ToSnapshotCopyArrayOutputWithContext added in v3.25.0

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

type SnapshotCopyArrayInput added in v3.25.0

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 added in v3.25.0

type SnapshotCopyArrayOutput struct{ *pulumi.OutputState }

func (SnapshotCopyArrayOutput) ElementType added in v3.25.0

func (SnapshotCopyArrayOutput) ElementType() reflect.Type

func (SnapshotCopyArrayOutput) Index added in v3.25.0

func (SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput added in v3.25.0

func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput

func (SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutputWithContext added in v3.25.0

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

type SnapshotCopyInput added in v3.13.0

type SnapshotCopyInput interface {
	pulumi.Input

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

type SnapshotCopyMap added in v3.25.0

type SnapshotCopyMap map[string]SnapshotCopyInput

func (SnapshotCopyMap) ElementType added in v3.25.0

func (SnapshotCopyMap) ElementType() reflect.Type

func (SnapshotCopyMap) ToSnapshotCopyMapOutput added in v3.25.0

func (i SnapshotCopyMap) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput

func (SnapshotCopyMap) ToSnapshotCopyMapOutputWithContext added in v3.25.0

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

type SnapshotCopyMapInput added in v3.25.0

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 added in v3.25.0

type SnapshotCopyMapOutput struct{ *pulumi.OutputState }

func (SnapshotCopyMapOutput) ElementType added in v3.25.0

func (SnapshotCopyMapOutput) ElementType() reflect.Type

func (SnapshotCopyMapOutput) MapIndex added in v3.25.0

func (SnapshotCopyMapOutput) ToSnapshotCopyMapOutput added in v3.25.0

func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput

func (SnapshotCopyMapOutput) ToSnapshotCopyMapOutputWithContext added in v3.25.0

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

type SnapshotCopyOutput added in v3.13.0

type SnapshotCopyOutput struct {
	*pulumi.OutputState
}

func (SnapshotCopyOutput) ElementType added in v3.13.0

func (SnapshotCopyOutput) ElementType() reflect.Type

func (SnapshotCopyOutput) ToSnapshotCopyOutput added in v3.13.0

func (o SnapshotCopyOutput) ToSnapshotCopyOutput() SnapshotCopyOutput

func (SnapshotCopyOutput) ToSnapshotCopyOutputWithContext added in v3.13.0

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

func (SnapshotCopyOutput) ToSnapshotCopyPtrOutput added in v3.25.0

func (o SnapshotCopyOutput) ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput

func (SnapshotCopyOutput) ToSnapshotCopyPtrOutputWithContext added in v3.25.0

func (o SnapshotCopyOutput) ToSnapshotCopyPtrOutputWithContext(ctx context.Context) SnapshotCopyPtrOutput

type SnapshotCopyPtrInput added in v3.25.0

type SnapshotCopyPtrInput interface {
	pulumi.Input

	ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput
	ToSnapshotCopyPtrOutputWithContext(ctx context.Context) SnapshotCopyPtrOutput
}

type SnapshotCopyPtrOutput added in v3.25.0

type SnapshotCopyPtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotCopyPtrOutput) ElementType added in v3.25.0

func (SnapshotCopyPtrOutput) ElementType() reflect.Type

func (SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutput added in v3.25.0

func (o SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput

func (SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutputWithContext added in v3.25.0

func (o SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutputWithContext(ctx context.Context) SnapshotCopyPtrOutput

type SnapshotCopyState

type SnapshotCopyState struct {
	// Amazon Resource Name (ARN) of the EBS Snapshot.
	Arn pulumi.StringPtrInput
	// The data encryption key identifier for the snapshot.
	// * `sourceSnapshotId` The ARN of the copied snapshot.
	// * `sourceRegion` The region of the source 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
	// 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
	// The region of the source snapshot.
	SourceRegion pulumi.StringPtrInput
	// The ARN for the snapshot to be copied.
	SourceSnapshotId pulumi.StringPtrInput
	// A map of tags for the snapshot.
	Tags     pulumi.StringMapInput
	VolumeId pulumi.StringPtrInput
	// The size of the drive in GiBs.
	VolumeSize pulumi.IntPtrInput
}

func (SnapshotCopyState) ElementType

func (SnapshotCopyState) ElementType() reflect.Type

type SnapshotInput added in v3.13.0

type SnapshotInput interface {
	pulumi.Input

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

type SnapshotMap added in v3.25.0

type SnapshotMap map[string]SnapshotInput

func (SnapshotMap) ElementType added in v3.25.0

func (SnapshotMap) ElementType() reflect.Type

func (SnapshotMap) ToSnapshotMapOutput added in v3.25.0

func (i SnapshotMap) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMap) ToSnapshotMapOutputWithContext added in v3.25.0

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

type SnapshotMapInput added in v3.25.0

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 added in v3.25.0

type SnapshotMapOutput struct{ *pulumi.OutputState }

func (SnapshotMapOutput) ElementType added in v3.25.0

func (SnapshotMapOutput) ElementType() reflect.Type

func (SnapshotMapOutput) MapIndex added in v3.25.0

func (SnapshotMapOutput) ToSnapshotMapOutput added in v3.25.0

func (o SnapshotMapOutput) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMapOutput) ToSnapshotMapOutputWithContext added in v3.25.0

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

type SnapshotOutput added in v3.13.0

type SnapshotOutput struct {
	*pulumi.OutputState
}

func (SnapshotOutput) ElementType added in v3.13.0

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) ToSnapshotOutput added in v3.13.0

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext added in v3.13.0

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

func (SnapshotOutput) ToSnapshotPtrOutput added in v3.25.0

func (o SnapshotOutput) ToSnapshotPtrOutput() SnapshotPtrOutput

func (SnapshotOutput) ToSnapshotPtrOutputWithContext added in v3.25.0

func (o SnapshotOutput) ToSnapshotPtrOutputWithContext(ctx context.Context) SnapshotPtrOutput

type SnapshotPtrInput added in v3.25.0

type SnapshotPtrInput interface {
	pulumi.Input

	ToSnapshotPtrOutput() SnapshotPtrOutput
	ToSnapshotPtrOutputWithContext(ctx context.Context) SnapshotPtrOutput
}

type SnapshotPtrOutput added in v3.25.0

type SnapshotPtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotPtrOutput) ElementType added in v3.25.0

func (SnapshotPtrOutput) ElementType() reflect.Type

func (SnapshotPtrOutput) ToSnapshotPtrOutput added in v3.25.0

func (o SnapshotPtrOutput) ToSnapshotPtrOutput() SnapshotPtrOutput

func (SnapshotPtrOutput) ToSnapshotPtrOutputWithContext added in v3.25.0

func (o SnapshotPtrOutput) ToSnapshotPtrOutputWithContext(ctx context.Context) SnapshotPtrOutput

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
	// 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
	// A map of tags to assign to the snapshot
	Tags pulumi.StringMapInput
	// 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"`
	// 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.
	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
	// Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported exclusively on `io1` 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.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.
	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/v3/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput added in v3.13.0

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext added in v3.13.0

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

func (*Volume) ToVolumePtrOutput added in v3.25.0

func (i *Volume) ToVolumePtrOutput() VolumePtrOutput

func (*Volume) ToVolumePtrOutputWithContext added in v3.25.0

func (i *Volume) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

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
	// 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.
	KmsKeyId pulumi.StringPtrInput
	// Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported exclusively on `io1` 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.
	Tags pulumi.StringMapInput
	// The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.
	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 added in v3.25.0

type VolumeArray []VolumeInput

func (VolumeArray) ElementType added in v3.25.0

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput added in v3.25.0

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext added in v3.25.0

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

type VolumeArrayInput added in v3.25.0

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 added in v3.25.0

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType added in v3.25.0

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index added in v3.25.0

func (VolumeArrayOutput) ToVolumeArrayOutput added in v3.25.0

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext added in v3.25.0

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

type VolumeInput added in v3.13.0

type VolumeInput interface {
	pulumi.Input

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

type VolumeMap added in v3.25.0

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType added in v3.25.0

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput added in v3.25.0

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext added in v3.25.0

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

type VolumeMapInput added in v3.25.0

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 added in v3.25.0

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType added in v3.25.0

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex added in v3.25.0

func (VolumeMapOutput) ToVolumeMapOutput added in v3.25.0

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext added in v3.25.0

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

type VolumeOutput added in v3.13.0

type VolumeOutput struct {
	*pulumi.OutputState
}

func (VolumeOutput) ElementType added in v3.13.0

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) ToVolumeOutput added in v3.13.0

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext added in v3.13.0

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

func (VolumeOutput) ToVolumePtrOutput added in v3.25.0

func (o VolumeOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumeOutput) ToVolumePtrOutputWithContext added in v3.25.0

func (o VolumeOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumePtrInput added in v3.25.0

type VolumePtrInput interface {
	pulumi.Input

	ToVolumePtrOutput() VolumePtrOutput
	ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput
}

type VolumePtrOutput added in v3.25.0

type VolumePtrOutput struct {
	*pulumi.OutputState
}

func (VolumePtrOutput) ElementType added in v3.25.0

func (VolumePtrOutput) ElementType() reflect.Type

func (VolumePtrOutput) ToVolumePtrOutput added in v3.25.0

func (o VolumePtrOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumePtrOutput) ToVolumePtrOutputWithContext added in v3.25.0

func (o VolumePtrOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

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
	// 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.
	KmsKeyId pulumi.StringPtrInput
	// Specifies whether to enable Amazon EBS Multi-Attach. Multi-Attach is supported exclusively on `io1` 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.
	Tags pulumi.StringMapInput
	// The throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`.
	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