ebs

package
v4.0.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 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/v4/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

func (*DefaultKmsKey) ToDefaultKmsKeyPtrOutput

func (i *DefaultKmsKey) ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput

func (*DefaultKmsKey) ToDefaultKmsKeyPtrOutputWithContext

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

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) ToDefaultKmsKeyOutput

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyOutput() DefaultKmsKeyOutput

func (DefaultKmsKeyOutput) ToDefaultKmsKeyOutputWithContext

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

func (DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutput

func (o DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput

func (DefaultKmsKeyOutput) ToDefaultKmsKeyPtrOutputWithContext

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

type DefaultKmsKeyPtrInput

type DefaultKmsKeyPtrInput interface {
	pulumi.Input

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

type DefaultKmsKeyPtrOutput

type DefaultKmsKeyPtrOutput struct {
	*pulumi.OutputState
}

func (DefaultKmsKeyPtrOutput) ElementType

func (DefaultKmsKeyPtrOutput) ElementType() reflect.Type

func (DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutput

func (o DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutput() DefaultKmsKeyPtrOutput

func (DefaultKmsKeyPtrOutput) ToDefaultKmsKeyPtrOutputWithContext

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/v4/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
	})
}

```

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

func (*EncryptionByDefault) ToEncryptionByDefaultPtrOutput

func (i *EncryptionByDefault) ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput

func (*EncryptionByDefault) ToEncryptionByDefaultPtrOutputWithContext

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

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) ToEncryptionByDefaultOutput

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultOutput() EncryptionByDefaultOutput

func (EncryptionByDefaultOutput) ToEncryptionByDefaultOutputWithContext

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

func (EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutput

func (o EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput

func (EncryptionByDefaultOutput) ToEncryptionByDefaultPtrOutputWithContext

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

type EncryptionByDefaultPtrInput

type EncryptionByDefaultPtrInput interface {
	pulumi.Input

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

type EncryptionByDefaultPtrOutput

type EncryptionByDefaultPtrOutput struct {
	*pulumi.OutputState
}

func (EncryptionByDefaultPtrOutput) ElementType

func (EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutput

func (o EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutput() EncryptionByDefaultPtrOutput

func (EncryptionByDefaultPtrOutput) ToEncryptionByDefaultPtrOutputWithContext

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/v4/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/v4/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"`
	// 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/v4/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

func (*Snapshot) ToSnapshotPtrOutput

func (i *Snapshot) ToSnapshotPtrOutput() SnapshotPtrOutput

func (*Snapshot) ToSnapshotPtrOutputWithContext

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

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.
	// * `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/v4/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

func (*SnapshotCopy) ToSnapshotCopyPtrOutput

func (i *SnapshotCopy) ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput

func (*SnapshotCopy) ToSnapshotCopyPtrOutputWithContext

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

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) ElementType

func (SnapshotCopyOutput) ElementType() reflect.Type

func (SnapshotCopyOutput) ToSnapshotCopyOutput

func (o SnapshotCopyOutput) ToSnapshotCopyOutput() SnapshotCopyOutput

func (SnapshotCopyOutput) ToSnapshotCopyOutputWithContext

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

func (SnapshotCopyOutput) ToSnapshotCopyPtrOutput

func (o SnapshotCopyOutput) ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput

func (SnapshotCopyOutput) ToSnapshotCopyPtrOutputWithContext

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

type SnapshotCopyPtrInput

type SnapshotCopyPtrInput interface {
	pulumi.Input

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

type SnapshotCopyPtrOutput

type SnapshotCopyPtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotCopyPtrOutput) ElementType

func (SnapshotCopyPtrOutput) ElementType() reflect.Type

func (SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutput

func (o SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutput() SnapshotCopyPtrOutput

func (SnapshotCopyPtrOutput) ToSnapshotCopyPtrOutputWithContext

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

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) ElementType

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) ToSnapshotOutput

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext

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

func (SnapshotOutput) ToSnapshotPtrOutput

func (o SnapshotOutput) ToSnapshotPtrOutput() SnapshotPtrOutput

func (SnapshotOutput) ToSnapshotPtrOutputWithContext

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

type SnapshotPtrInput

type SnapshotPtrInput interface {
	pulumi.Input

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

type SnapshotPtrOutput

type SnapshotPtrOutput struct {
	*pulumi.OutputState
}

func (SnapshotPtrOutput) ElementType

func (SnapshotPtrOutput) ElementType() reflect.Type

func (SnapshotPtrOutput) ToSnapshotPtrOutput

func (o SnapshotPtrOutput) ToSnapshotPtrOutput() SnapshotPtrOutput

func (SnapshotPtrOutput) ToSnapshotPtrOutputWithContext

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/v4/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

func (*Volume) ToVolumePtrOutput

func (i *Volume) ToVolumePtrOutput() VolumePtrOutput

func (*Volume) ToVolumePtrOutputWithContext

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

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) ElementType

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) ToVolumeOutput

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext

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

func (VolumeOutput) ToVolumePtrOutput

func (o VolumeOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumeOutput) ToVolumePtrOutputWithContext

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

type VolumePtrInput

type VolumePtrInput interface {
	pulumi.Input

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

type VolumePtrOutput

type VolumePtrOutput struct {
	*pulumi.OutputState
}

func (VolumePtrOutput) ElementType

func (VolumePtrOutput) ElementType() reflect.Type

func (VolumePtrOutput) ToVolumePtrOutput

func (o VolumePtrOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumePtrOutput) ToVolumePtrOutputWithContext

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