shield

package
v7.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2025 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 ApplicationLayerAutomaticResponse

type ApplicationLayerAutomaticResponse struct {
	pulumi.CustomResourceState

	// One of `COUNT` or `BLOCK`
	Action pulumi.StringOutput `pulumi:"action"`
	// ARN of the resource to protect (Cloudfront Distributions and ALBs only at this time).
	ResourceArn pulumi.StringOutput                                `pulumi:"resourceArn"`
	Timeouts    ApplicationLayerAutomaticResponseTimeoutsPtrOutput `pulumi:"timeouts"`
}

Resource for managing an AWS Shield Application Layer Automatic Response for automatic DDoS mitigation.

## Example Usage

### Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetPartition, err := aws.GetPartition(ctx, &aws.GetPartitionArgs{}, nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		// The Cloudfront Distribution on which to enable the Application Layer Automatic Response.
		distributionId := cfg.Require("distributionId")
		_, err = shield.NewApplicationLayerAutomaticResponse(ctx, "example", &shield.ApplicationLayerAutomaticResponseArgs{
			ResourceArn: pulumi.Sprintf("arn:%v:cloudfront:%v:distribution/%v", currentGetPartition.Partition, currentGetCallerIdentity.AccountId, distributionId),
			Action:      pulumi.String("COUNT"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetApplicationLayerAutomaticResponse

func GetApplicationLayerAutomaticResponse(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationLayerAutomaticResponseState, opts ...pulumi.ResourceOption) (*ApplicationLayerAutomaticResponse, error)

GetApplicationLayerAutomaticResponse gets an existing ApplicationLayerAutomaticResponse 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 NewApplicationLayerAutomaticResponse

func NewApplicationLayerAutomaticResponse(ctx *pulumi.Context,
	name string, args *ApplicationLayerAutomaticResponseArgs, opts ...pulumi.ResourceOption) (*ApplicationLayerAutomaticResponse, error)

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

func (*ApplicationLayerAutomaticResponse) ElementType

func (*ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutput

func (i *ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutput() ApplicationLayerAutomaticResponseOutput

func (*ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutputWithContext

func (i *ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseOutput

type ApplicationLayerAutomaticResponseArgs

type ApplicationLayerAutomaticResponseArgs struct {
	// One of `COUNT` or `BLOCK`
	Action pulumi.StringInput
	// ARN of the resource to protect (Cloudfront Distributions and ALBs only at this time).
	ResourceArn pulumi.StringInput
	Timeouts    ApplicationLayerAutomaticResponseTimeoutsPtrInput
}

The set of arguments for constructing a ApplicationLayerAutomaticResponse resource.

func (ApplicationLayerAutomaticResponseArgs) ElementType

type ApplicationLayerAutomaticResponseArray

type ApplicationLayerAutomaticResponseArray []ApplicationLayerAutomaticResponseInput

func (ApplicationLayerAutomaticResponseArray) ElementType

func (ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutput

func (i ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutput() ApplicationLayerAutomaticResponseArrayOutput

func (ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutputWithContext

func (i ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseArrayOutput

type ApplicationLayerAutomaticResponseArrayInput

type ApplicationLayerAutomaticResponseArrayInput interface {
	pulumi.Input

	ToApplicationLayerAutomaticResponseArrayOutput() ApplicationLayerAutomaticResponseArrayOutput
	ToApplicationLayerAutomaticResponseArrayOutputWithContext(context.Context) ApplicationLayerAutomaticResponseArrayOutput
}

ApplicationLayerAutomaticResponseArrayInput is an input type that accepts ApplicationLayerAutomaticResponseArray and ApplicationLayerAutomaticResponseArrayOutput values. You can construct a concrete instance of `ApplicationLayerAutomaticResponseArrayInput` via:

ApplicationLayerAutomaticResponseArray{ ApplicationLayerAutomaticResponseArgs{...} }

type ApplicationLayerAutomaticResponseArrayOutput

type ApplicationLayerAutomaticResponseArrayOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseArrayOutput) ElementType

func (ApplicationLayerAutomaticResponseArrayOutput) Index

func (ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutput

func (o ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutput() ApplicationLayerAutomaticResponseArrayOutput

func (ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutputWithContext

func (o ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseArrayOutput

type ApplicationLayerAutomaticResponseInput

type ApplicationLayerAutomaticResponseInput interface {
	pulumi.Input

	ToApplicationLayerAutomaticResponseOutput() ApplicationLayerAutomaticResponseOutput
	ToApplicationLayerAutomaticResponseOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseOutput
}

type ApplicationLayerAutomaticResponseMap

type ApplicationLayerAutomaticResponseMap map[string]ApplicationLayerAutomaticResponseInput

func (ApplicationLayerAutomaticResponseMap) ElementType

func (ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutput

func (i ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutput() ApplicationLayerAutomaticResponseMapOutput

func (ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutputWithContext

func (i ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseMapOutput

type ApplicationLayerAutomaticResponseMapInput

type ApplicationLayerAutomaticResponseMapInput interface {
	pulumi.Input

	ToApplicationLayerAutomaticResponseMapOutput() ApplicationLayerAutomaticResponseMapOutput
	ToApplicationLayerAutomaticResponseMapOutputWithContext(context.Context) ApplicationLayerAutomaticResponseMapOutput
}

ApplicationLayerAutomaticResponseMapInput is an input type that accepts ApplicationLayerAutomaticResponseMap and ApplicationLayerAutomaticResponseMapOutput values. You can construct a concrete instance of `ApplicationLayerAutomaticResponseMapInput` via:

ApplicationLayerAutomaticResponseMap{ "key": ApplicationLayerAutomaticResponseArgs{...} }

type ApplicationLayerAutomaticResponseMapOutput

type ApplicationLayerAutomaticResponseMapOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseMapOutput) ElementType

func (ApplicationLayerAutomaticResponseMapOutput) MapIndex

func (ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutput

func (o ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutput() ApplicationLayerAutomaticResponseMapOutput

func (ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutputWithContext

func (o ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseMapOutput

type ApplicationLayerAutomaticResponseOutput

type ApplicationLayerAutomaticResponseOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseOutput) Action

One of `COUNT` or `BLOCK`

func (ApplicationLayerAutomaticResponseOutput) ElementType

func (ApplicationLayerAutomaticResponseOutput) ResourceArn

ARN of the resource to protect (Cloudfront Distributions and ALBs only at this time).

func (ApplicationLayerAutomaticResponseOutput) Timeouts

func (ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutput

func (o ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutput() ApplicationLayerAutomaticResponseOutput

func (ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutputWithContext

func (o ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseOutput

type ApplicationLayerAutomaticResponseState

type ApplicationLayerAutomaticResponseState struct {
	// One of `COUNT` or `BLOCK`
	Action pulumi.StringPtrInput
	// ARN of the resource to protect (Cloudfront Distributions and ALBs only at this time).
	ResourceArn pulumi.StringPtrInput
	Timeouts    ApplicationLayerAutomaticResponseTimeoutsPtrInput
}

func (ApplicationLayerAutomaticResponseState) ElementType

type ApplicationLayerAutomaticResponseTimeouts

type ApplicationLayerAutomaticResponseTimeouts struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create *string `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete *string `pulumi:"delete"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update *string `pulumi:"update"`
}

type ApplicationLayerAutomaticResponseTimeoutsArgs

type ApplicationLayerAutomaticResponseTimeoutsArgs struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create pulumi.StringPtrInput `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete pulumi.StringPtrInput `pulumi:"delete"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update pulumi.StringPtrInput `pulumi:"update"`
}

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ElementType

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutput

func (i ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutput() ApplicationLayerAutomaticResponseTimeoutsOutput

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext

func (i ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseTimeoutsOutput

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (i ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext

func (i ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseTimeoutsPtrOutput

type ApplicationLayerAutomaticResponseTimeoutsInput

type ApplicationLayerAutomaticResponseTimeoutsInput interface {
	pulumi.Input

	ToApplicationLayerAutomaticResponseTimeoutsOutput() ApplicationLayerAutomaticResponseTimeoutsOutput
	ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext(context.Context) ApplicationLayerAutomaticResponseTimeoutsOutput
}

ApplicationLayerAutomaticResponseTimeoutsInput is an input type that accepts ApplicationLayerAutomaticResponseTimeoutsArgs and ApplicationLayerAutomaticResponseTimeoutsOutput values. You can construct a concrete instance of `ApplicationLayerAutomaticResponseTimeoutsInput` via:

ApplicationLayerAutomaticResponseTimeoutsArgs{...}

type ApplicationLayerAutomaticResponseTimeoutsOutput

type ApplicationLayerAutomaticResponseTimeoutsOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseTimeoutsOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (ApplicationLayerAutomaticResponseTimeoutsOutput) Delete

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ElementType

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutput

func (o ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutput() ApplicationLayerAutomaticResponseTimeoutsOutput

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext

func (o ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseTimeoutsOutput

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (o ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext

func (o ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsOutput) Update

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type ApplicationLayerAutomaticResponseTimeoutsPtrInput

type ApplicationLayerAutomaticResponseTimeoutsPtrInput interface {
	pulumi.Input

	ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput
	ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext(context.Context) ApplicationLayerAutomaticResponseTimeoutsPtrOutput
}

ApplicationLayerAutomaticResponseTimeoutsPtrInput is an input type that accepts ApplicationLayerAutomaticResponseTimeoutsArgs, ApplicationLayerAutomaticResponseTimeoutsPtr and ApplicationLayerAutomaticResponseTimeoutsPtrOutput values. You can construct a concrete instance of `ApplicationLayerAutomaticResponseTimeoutsPtrInput` via:

        ApplicationLayerAutomaticResponseTimeoutsArgs{...}

or:

        nil

type ApplicationLayerAutomaticResponseTimeoutsPtrOutput

type ApplicationLayerAutomaticResponseTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Delete

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Elem

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ElementType

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (o ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext

func (o ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext(ctx context.Context) ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Update

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type DrtAccessLogBucketAssociation

type DrtAccessLogBucketAssociation struct {
	pulumi.CustomResourceState

	// The Amazon S3 bucket that contains the logs that you want to share.
	LogBucket pulumi.StringOutput `pulumi:"logBucket"`
	// The ID of the Role Arn association used for allowing Shield DRT Access.
	RoleArnAssociationId pulumi.StringOutput                            `pulumi:"roleArnAssociationId"`
	Timeouts             DrtAccessLogBucketAssociationTimeoutsPtrOutput `pulumi:"timeouts"`
}

Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT).

## Example Usage

### Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := shield.NewDrtAccessRoleArnAssociation(ctx, "test", &shield.DrtAccessRoleArnAssociationArgs{
			RoleArn: pulumi.Sprintf("arn:aws:iam:%v:%v:%v", current.Region, currentAwsCallerIdentity.AccountId, shieldDrtAccessRoleName),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewDrtAccessLogBucketAssociation(ctx, "test", &shield.DrtAccessLogBucketAssociationArgs{
			LogBucket:            pulumi.Any(shieldDrtAccessLogBucket),
			RoleArnAssociationId: test.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield DRT access log bucket associations using the `log_bucket`. For example:

```sh $ pulumi import aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation example example-bucket ```

func GetDrtAccessLogBucketAssociation

func GetDrtAccessLogBucketAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DrtAccessLogBucketAssociationState, opts ...pulumi.ResourceOption) (*DrtAccessLogBucketAssociation, error)

GetDrtAccessLogBucketAssociation gets an existing DrtAccessLogBucketAssociation 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 NewDrtAccessLogBucketAssociation

func NewDrtAccessLogBucketAssociation(ctx *pulumi.Context,
	name string, args *DrtAccessLogBucketAssociationArgs, opts ...pulumi.ResourceOption) (*DrtAccessLogBucketAssociation, error)

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

func (*DrtAccessLogBucketAssociation) ElementType

func (*DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutput

func (i *DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput

func (*DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutputWithContext

func (i *DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationOutput

type DrtAccessLogBucketAssociationArgs

type DrtAccessLogBucketAssociationArgs struct {
	// The Amazon S3 bucket that contains the logs that you want to share.
	LogBucket pulumi.StringInput
	// The ID of the Role Arn association used for allowing Shield DRT Access.
	RoleArnAssociationId pulumi.StringInput
	Timeouts             DrtAccessLogBucketAssociationTimeoutsPtrInput
}

The set of arguments for constructing a DrtAccessLogBucketAssociation resource.

func (DrtAccessLogBucketAssociationArgs) ElementType

type DrtAccessLogBucketAssociationArray

type DrtAccessLogBucketAssociationArray []DrtAccessLogBucketAssociationInput

func (DrtAccessLogBucketAssociationArray) ElementType

func (DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutput

func (i DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput

func (DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutputWithContext

func (i DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationArrayOutput

type DrtAccessLogBucketAssociationArrayInput

type DrtAccessLogBucketAssociationArrayInput interface {
	pulumi.Input

	ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput
	ToDrtAccessLogBucketAssociationArrayOutputWithContext(context.Context) DrtAccessLogBucketAssociationArrayOutput
}

DrtAccessLogBucketAssociationArrayInput is an input type that accepts DrtAccessLogBucketAssociationArray and DrtAccessLogBucketAssociationArrayOutput values. You can construct a concrete instance of `DrtAccessLogBucketAssociationArrayInput` via:

DrtAccessLogBucketAssociationArray{ DrtAccessLogBucketAssociationArgs{...} }

type DrtAccessLogBucketAssociationArrayOutput

type DrtAccessLogBucketAssociationArrayOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationArrayOutput) ElementType

func (DrtAccessLogBucketAssociationArrayOutput) Index

func (DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutput

func (o DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput

func (DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutputWithContext

func (o DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationArrayOutput

type DrtAccessLogBucketAssociationInput

type DrtAccessLogBucketAssociationInput interface {
	pulumi.Input

	ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput
	ToDrtAccessLogBucketAssociationOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationOutput
}

type DrtAccessLogBucketAssociationMap

type DrtAccessLogBucketAssociationMap map[string]DrtAccessLogBucketAssociationInput

func (DrtAccessLogBucketAssociationMap) ElementType

func (DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutput

func (i DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput

func (DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutputWithContext

func (i DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationMapOutput

type DrtAccessLogBucketAssociationMapInput

type DrtAccessLogBucketAssociationMapInput interface {
	pulumi.Input

	ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput
	ToDrtAccessLogBucketAssociationMapOutputWithContext(context.Context) DrtAccessLogBucketAssociationMapOutput
}

DrtAccessLogBucketAssociationMapInput is an input type that accepts DrtAccessLogBucketAssociationMap and DrtAccessLogBucketAssociationMapOutput values. You can construct a concrete instance of `DrtAccessLogBucketAssociationMapInput` via:

DrtAccessLogBucketAssociationMap{ "key": DrtAccessLogBucketAssociationArgs{...} }

type DrtAccessLogBucketAssociationMapOutput

type DrtAccessLogBucketAssociationMapOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationMapOutput) ElementType

func (DrtAccessLogBucketAssociationMapOutput) MapIndex

func (DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutput

func (o DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput

func (DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutputWithContext

func (o DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationMapOutput

type DrtAccessLogBucketAssociationOutput

type DrtAccessLogBucketAssociationOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationOutput) ElementType

func (DrtAccessLogBucketAssociationOutput) LogBucket

The Amazon S3 bucket that contains the logs that you want to share.

func (DrtAccessLogBucketAssociationOutput) RoleArnAssociationId

func (o DrtAccessLogBucketAssociationOutput) RoleArnAssociationId() pulumi.StringOutput

The ID of the Role Arn association used for allowing Shield DRT Access.

func (DrtAccessLogBucketAssociationOutput) Timeouts

func (DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutput

func (o DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput

func (DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutputWithContext

func (o DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationOutput

type DrtAccessLogBucketAssociationState

type DrtAccessLogBucketAssociationState struct {
	// The Amazon S3 bucket that contains the logs that you want to share.
	LogBucket pulumi.StringPtrInput
	// The ID of the Role Arn association used for allowing Shield DRT Access.
	RoleArnAssociationId pulumi.StringPtrInput
	Timeouts             DrtAccessLogBucketAssociationTimeoutsPtrInput
}

func (DrtAccessLogBucketAssociationState) ElementType

type DrtAccessLogBucketAssociationTimeouts

type DrtAccessLogBucketAssociationTimeouts struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create *string `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete *string `pulumi:"delete"`
}

type DrtAccessLogBucketAssociationTimeoutsArgs

type DrtAccessLogBucketAssociationTimeoutsArgs struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create pulumi.StringPtrInput `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete pulumi.StringPtrInput `pulumi:"delete"`
}

func (DrtAccessLogBucketAssociationTimeoutsArgs) ElementType

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutput

func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext

func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsOutput

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput

func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext

func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput

type DrtAccessLogBucketAssociationTimeoutsInput

type DrtAccessLogBucketAssociationTimeoutsInput interface {
	pulumi.Input

	ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput
	ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(context.Context) DrtAccessLogBucketAssociationTimeoutsOutput
}

DrtAccessLogBucketAssociationTimeoutsInput is an input type that accepts DrtAccessLogBucketAssociationTimeoutsArgs and DrtAccessLogBucketAssociationTimeoutsOutput values. You can construct a concrete instance of `DrtAccessLogBucketAssociationTimeoutsInput` via:

DrtAccessLogBucketAssociationTimeoutsArgs{...}

type DrtAccessLogBucketAssociationTimeoutsOutput

type DrtAccessLogBucketAssociationTimeoutsOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationTimeoutsOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (DrtAccessLogBucketAssociationTimeoutsOutput) Delete

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (DrtAccessLogBucketAssociationTimeoutsOutput) ElementType

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutput

func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext

func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsOutput

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput

func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext

func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput

type DrtAccessLogBucketAssociationTimeoutsPtrInput

type DrtAccessLogBucketAssociationTimeoutsPtrInput interface {
	pulumi.Input

	ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput
	ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput
}

DrtAccessLogBucketAssociationTimeoutsPtrInput is an input type that accepts DrtAccessLogBucketAssociationTimeoutsArgs, DrtAccessLogBucketAssociationTimeoutsPtr and DrtAccessLogBucketAssociationTimeoutsPtrOutput values. You can construct a concrete instance of `DrtAccessLogBucketAssociationTimeoutsPtrInput` via:

        DrtAccessLogBucketAssociationTimeoutsArgs{...}

or:

        nil

type DrtAccessLogBucketAssociationTimeoutsPtrOutput

type DrtAccessLogBucketAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Delete

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Elem

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ElementType

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput

func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext

func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput

type DrtAccessRoleArnAssociation

type DrtAccessRoleArnAssociation struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.
	RoleArn  pulumi.StringOutput                          `pulumi:"roleArn"`
	Timeouts DrtAccessRoleArnAssociationTimeoutsPtrOutput `pulumi:"timeouts"`
}

Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html)

## Example Usage

### Basic Usage

```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"Version": "2012-10-17",
			"Statement": []map[string]interface{}{
				map[string]interface{}{
					"Sid":    "",
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"Service": "drt.shield.amazonaws.com",
					},
					"Action": "sts:AssumeRole",
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
			Name:             pulumi.String("example-role"),
			AssumeRolePolicy: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewDrtAccessRoleArnAssociation(ctx, "example", &shield.DrtAccessRoleArnAssociationArgs{
			RoleArn: exampleRole.Arn,
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "example", &iam.RolePolicyAttachmentArgs{
			Role:      exampleRole.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield DRT access role ARN association using the AWS account ID. For example:

```sh $ pulumi import aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation example 123456789012 ```

func GetDrtAccessRoleArnAssociation

func GetDrtAccessRoleArnAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DrtAccessRoleArnAssociationState, opts ...pulumi.ResourceOption) (*DrtAccessRoleArnAssociation, error)

GetDrtAccessRoleArnAssociation gets an existing DrtAccessRoleArnAssociation 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 NewDrtAccessRoleArnAssociation

func NewDrtAccessRoleArnAssociation(ctx *pulumi.Context,
	name string, args *DrtAccessRoleArnAssociationArgs, opts ...pulumi.ResourceOption) (*DrtAccessRoleArnAssociation, error)

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

func (*DrtAccessRoleArnAssociation) ElementType

func (*DrtAccessRoleArnAssociation) ElementType() reflect.Type

func (*DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutput

func (i *DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput

func (*DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutputWithContext

func (i *DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationOutput

type DrtAccessRoleArnAssociationArgs

type DrtAccessRoleArnAssociationArgs struct {
	// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.
	RoleArn  pulumi.StringInput
	Timeouts DrtAccessRoleArnAssociationTimeoutsPtrInput
}

The set of arguments for constructing a DrtAccessRoleArnAssociation resource.

func (DrtAccessRoleArnAssociationArgs) ElementType

type DrtAccessRoleArnAssociationArray

type DrtAccessRoleArnAssociationArray []DrtAccessRoleArnAssociationInput

func (DrtAccessRoleArnAssociationArray) ElementType

func (DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutput

func (i DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput

func (DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutputWithContext

func (i DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationArrayOutput

type DrtAccessRoleArnAssociationArrayInput

type DrtAccessRoleArnAssociationArrayInput interface {
	pulumi.Input

	ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput
	ToDrtAccessRoleArnAssociationArrayOutputWithContext(context.Context) DrtAccessRoleArnAssociationArrayOutput
}

DrtAccessRoleArnAssociationArrayInput is an input type that accepts DrtAccessRoleArnAssociationArray and DrtAccessRoleArnAssociationArrayOutput values. You can construct a concrete instance of `DrtAccessRoleArnAssociationArrayInput` via:

DrtAccessRoleArnAssociationArray{ DrtAccessRoleArnAssociationArgs{...} }

type DrtAccessRoleArnAssociationArrayOutput

type DrtAccessRoleArnAssociationArrayOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationArrayOutput) ElementType

func (DrtAccessRoleArnAssociationArrayOutput) Index

func (DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutput

func (o DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput

func (DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutputWithContext

func (o DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationArrayOutput

type DrtAccessRoleArnAssociationInput

type DrtAccessRoleArnAssociationInput interface {
	pulumi.Input

	ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput
	ToDrtAccessRoleArnAssociationOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationOutput
}

type DrtAccessRoleArnAssociationMap

type DrtAccessRoleArnAssociationMap map[string]DrtAccessRoleArnAssociationInput

func (DrtAccessRoleArnAssociationMap) ElementType

func (DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutput

func (i DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput

func (DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutputWithContext

func (i DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationMapOutput

type DrtAccessRoleArnAssociationMapInput

type DrtAccessRoleArnAssociationMapInput interface {
	pulumi.Input

	ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput
	ToDrtAccessRoleArnAssociationMapOutputWithContext(context.Context) DrtAccessRoleArnAssociationMapOutput
}

DrtAccessRoleArnAssociationMapInput is an input type that accepts DrtAccessRoleArnAssociationMap and DrtAccessRoleArnAssociationMapOutput values. You can construct a concrete instance of `DrtAccessRoleArnAssociationMapInput` via:

DrtAccessRoleArnAssociationMap{ "key": DrtAccessRoleArnAssociationArgs{...} }

type DrtAccessRoleArnAssociationMapOutput

type DrtAccessRoleArnAssociationMapOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationMapOutput) ElementType

func (DrtAccessRoleArnAssociationMapOutput) MapIndex

func (DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutput

func (o DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput

func (DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutputWithContext

func (o DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationMapOutput

type DrtAccessRoleArnAssociationOutput

type DrtAccessRoleArnAssociationOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationOutput) ElementType

func (DrtAccessRoleArnAssociationOutput) RoleArn

The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.

func (DrtAccessRoleArnAssociationOutput) Timeouts

func (DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutput

func (o DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput

func (DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutputWithContext

func (o DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationOutput

type DrtAccessRoleArnAssociationState

type DrtAccessRoleArnAssociationState struct {
	// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.
	RoleArn  pulumi.StringPtrInput
	Timeouts DrtAccessRoleArnAssociationTimeoutsPtrInput
}

func (DrtAccessRoleArnAssociationState) ElementType

type DrtAccessRoleArnAssociationTimeouts

type DrtAccessRoleArnAssociationTimeouts struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create *string `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete *string `pulumi:"delete"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update *string `pulumi:"update"`
}

type DrtAccessRoleArnAssociationTimeoutsArgs

type DrtAccessRoleArnAssociationTimeoutsArgs struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create pulumi.StringPtrInput `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete pulumi.StringPtrInput `pulumi:"delete"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update pulumi.StringPtrInput `pulumi:"update"`
}

func (DrtAccessRoleArnAssociationTimeoutsArgs) ElementType

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutput

func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext

func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsOutput

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput

func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext

func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput

type DrtAccessRoleArnAssociationTimeoutsInput

type DrtAccessRoleArnAssociationTimeoutsInput interface {
	pulumi.Input

	ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput
	ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(context.Context) DrtAccessRoleArnAssociationTimeoutsOutput
}

DrtAccessRoleArnAssociationTimeoutsInput is an input type that accepts DrtAccessRoleArnAssociationTimeoutsArgs and DrtAccessRoleArnAssociationTimeoutsOutput values. You can construct a concrete instance of `DrtAccessRoleArnAssociationTimeoutsInput` via:

DrtAccessRoleArnAssociationTimeoutsArgs{...}

type DrtAccessRoleArnAssociationTimeoutsOutput

type DrtAccessRoleArnAssociationTimeoutsOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationTimeoutsOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (DrtAccessRoleArnAssociationTimeoutsOutput) Delete

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (DrtAccessRoleArnAssociationTimeoutsOutput) ElementType

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutput

func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext

func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsOutput

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput

func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext

func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsOutput) Update

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type DrtAccessRoleArnAssociationTimeoutsPtrInput

type DrtAccessRoleArnAssociationTimeoutsPtrInput interface {
	pulumi.Input

	ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput
	ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput
}

DrtAccessRoleArnAssociationTimeoutsPtrInput is an input type that accepts DrtAccessRoleArnAssociationTimeoutsArgs, DrtAccessRoleArnAssociationTimeoutsPtr and DrtAccessRoleArnAssociationTimeoutsPtrOutput values. You can construct a concrete instance of `DrtAccessRoleArnAssociationTimeoutsPtrInput` via:

        DrtAccessRoleArnAssociationTimeoutsArgs{...}

or:

        nil

type DrtAccessRoleArnAssociationTimeoutsPtrOutput

type DrtAccessRoleArnAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Create

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Delete

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Elem

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ElementType

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput

func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext

func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Update

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type LookupProtectionArgs

type LookupProtectionArgs struct {
	// Unique identifier for the protection.
	ProtectionId *string `pulumi:"protectionId"`
	// ARN (Amazon Resource Name) of the resource being protected.
	//
	// > Exactly one of `protectionId` or `resourceArn` is required.
	ResourceArn *string `pulumi:"resourceArn"`
}

A collection of arguments for invoking getProtection.

type LookupProtectionOutputArgs

type LookupProtectionOutputArgs struct {
	// Unique identifier for the protection.
	ProtectionId pulumi.StringPtrInput `pulumi:"protectionId"`
	// ARN (Amazon Resource Name) of the resource being protected.
	//
	// > Exactly one of `protectionId` or `resourceArn` is required.
	ResourceArn pulumi.StringPtrInput `pulumi:"resourceArn"`
}

A collection of arguments for invoking getProtection.

func (LookupProtectionOutputArgs) ElementType

func (LookupProtectionOutputArgs) ElementType() reflect.Type

type LookupProtectionResult

type LookupProtectionResult struct {
	Id string `pulumi:"id"`
	// Name of the protection.
	Name string `pulumi:"name"`
	// ARN of the protection.
	ProtectionArn string `pulumi:"protectionArn"`
	ProtectionId  string `pulumi:"protectionId"`
	ResourceArn   string `pulumi:"resourceArn"`
}

A collection of values returned by getProtection.

func LookupProtection

func LookupProtection(ctx *pulumi.Context, args *LookupProtectionArgs, opts ...pulumi.InvokeOption) (*LookupProtectionResult, error)

Data source for managing an AWS Shield Protection.

## Example Usage

### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := shield.LookupProtection(ctx, &shield.LookupProtectionArgs{
			ProtectionId: pulumi.StringRef("abc123"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

### By Resource ARN

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := shield.LookupProtection(ctx, &shield.LookupProtectionArgs{
			ResourceArn: pulumi.StringRef("arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupProtectionResultOutput

type LookupProtectionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProtection.

func (LookupProtectionResultOutput) ElementType

func (LookupProtectionResultOutput) Id

func (LookupProtectionResultOutput) Name

Name of the protection.

func (LookupProtectionResultOutput) ProtectionArn

ARN of the protection.

func (LookupProtectionResultOutput) ProtectionId

func (LookupProtectionResultOutput) ResourceArn

func (LookupProtectionResultOutput) ToLookupProtectionResultOutput

func (o LookupProtectionResultOutput) ToLookupProtectionResultOutput() LookupProtectionResultOutput

func (LookupProtectionResultOutput) ToLookupProtectionResultOutputWithContext

func (o LookupProtectionResultOutput) ToLookupProtectionResultOutputWithContext(ctx context.Context) LookupProtectionResultOutput

type ProactiveEngagement

type ProactiveEngagement struct {
	pulumi.CustomResourceState

	// One or more emergency contacts. You must provide at least one phone number in the emergency contact list. See `emergencyContacts`.
	EmergencyContacts ProactiveEngagementEmergencyContactArrayOutput `pulumi:"emergencyContacts"`
	// Boolean value indicating if Proactive Engagement should be enabled or not.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
}

Resource for managing a AWS Shield Proactive Engagement. Proactive engagement authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.

## Example Usage

### Basic Usage

```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"Version": "2012-10-17",
			"Statement": []map[string]interface{}{
				map[string]interface{}{
					"Sid":    "",
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"Service": "drt.shield.amazonaws.com",
					},
					"Action": "sts:AssumeRole",
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
			Name:             pulumi.String("example-role"),
			AssumeRolePolicy: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		exampleDrtAccessRoleArnAssociation, err := shield.NewDrtAccessRoleArnAssociation(ctx, "example", &shield.DrtAccessRoleArnAssociationArgs{
			RoleArn: exampleRole.Arn,
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProactiveEngagement(ctx, "example", &shield.ProactiveEngagementArgs{
			Enabled: pulumi.Bool(true),
			EmergencyContacts: shield.ProactiveEngagementEmergencyContactArray{
				&shield.ProactiveEngagementEmergencyContactArgs{
					ContactNotes: pulumi.String("Notes"),
					EmailAddress: pulumi.String("contact1@example.com"),
					PhoneNumber:  pulumi.String("+12358132134"),
				},
				&shield.ProactiveEngagementEmergencyContactArgs{
					ContactNotes: pulumi.String("Notes 2"),
					EmailAddress: pulumi.String("contact2@example.com"),
					PhoneNumber:  pulumi.String("+12358132134"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleDrtAccessRoleArnAssociation,
		}))
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "example", &iam.RolePolicyAttachmentArgs{
			Role:      exampleRole.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy"),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProtectionGroup(ctx, "example", &shield.ProtectionGroupArgs{
			ProtectionGroupId: pulumi.String("example"),
			Aggregation:       pulumi.String("MAX"),
			Pattern:           pulumi.String("ALL"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield proactive engagement using the AWS account ID. For example:

```sh $ pulumi import aws:shield/proactiveEngagement:ProactiveEngagement example 123456789012 ```

func GetProactiveEngagement

func GetProactiveEngagement(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProactiveEngagementState, opts ...pulumi.ResourceOption) (*ProactiveEngagement, error)

GetProactiveEngagement gets an existing ProactiveEngagement 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 NewProactiveEngagement

func NewProactiveEngagement(ctx *pulumi.Context,
	name string, args *ProactiveEngagementArgs, opts ...pulumi.ResourceOption) (*ProactiveEngagement, error)

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

func (*ProactiveEngagement) ElementType

func (*ProactiveEngagement) ElementType() reflect.Type

func (*ProactiveEngagement) ToProactiveEngagementOutput

func (i *ProactiveEngagement) ToProactiveEngagementOutput() ProactiveEngagementOutput

func (*ProactiveEngagement) ToProactiveEngagementOutputWithContext

func (i *ProactiveEngagement) ToProactiveEngagementOutputWithContext(ctx context.Context) ProactiveEngagementOutput

type ProactiveEngagementArgs

type ProactiveEngagementArgs struct {
	// One or more emergency contacts. You must provide at least one phone number in the emergency contact list. See `emergencyContacts`.
	EmergencyContacts ProactiveEngagementEmergencyContactArrayInput
	// Boolean value indicating if Proactive Engagement should be enabled or not.
	Enabled pulumi.BoolInput
}

The set of arguments for constructing a ProactiveEngagement resource.

func (ProactiveEngagementArgs) ElementType

func (ProactiveEngagementArgs) ElementType() reflect.Type

type ProactiveEngagementArray

type ProactiveEngagementArray []ProactiveEngagementInput

func (ProactiveEngagementArray) ElementType

func (ProactiveEngagementArray) ElementType() reflect.Type

func (ProactiveEngagementArray) ToProactiveEngagementArrayOutput

func (i ProactiveEngagementArray) ToProactiveEngagementArrayOutput() ProactiveEngagementArrayOutput

func (ProactiveEngagementArray) ToProactiveEngagementArrayOutputWithContext

func (i ProactiveEngagementArray) ToProactiveEngagementArrayOutputWithContext(ctx context.Context) ProactiveEngagementArrayOutput

type ProactiveEngagementArrayInput

type ProactiveEngagementArrayInput interface {
	pulumi.Input

	ToProactiveEngagementArrayOutput() ProactiveEngagementArrayOutput
	ToProactiveEngagementArrayOutputWithContext(context.Context) ProactiveEngagementArrayOutput
}

ProactiveEngagementArrayInput is an input type that accepts ProactiveEngagementArray and ProactiveEngagementArrayOutput values. You can construct a concrete instance of `ProactiveEngagementArrayInput` via:

ProactiveEngagementArray{ ProactiveEngagementArgs{...} }

type ProactiveEngagementArrayOutput

type ProactiveEngagementArrayOutput struct{ *pulumi.OutputState }

func (ProactiveEngagementArrayOutput) ElementType

func (ProactiveEngagementArrayOutput) Index

func (ProactiveEngagementArrayOutput) ToProactiveEngagementArrayOutput

func (o ProactiveEngagementArrayOutput) ToProactiveEngagementArrayOutput() ProactiveEngagementArrayOutput

func (ProactiveEngagementArrayOutput) ToProactiveEngagementArrayOutputWithContext

func (o ProactiveEngagementArrayOutput) ToProactiveEngagementArrayOutputWithContext(ctx context.Context) ProactiveEngagementArrayOutput

type ProactiveEngagementEmergencyContact

type ProactiveEngagementEmergencyContact struct {
	// Additional notes regarding the contact.
	ContactNotes *string `pulumi:"contactNotes"`
	// A valid email address that will be used for this contact.
	EmailAddress string `pulumi:"emailAddress"`
	// A phone number, starting with `+` and up to 15 digits that will be used for this contact.
	PhoneNumber *string `pulumi:"phoneNumber"`
}

type ProactiveEngagementEmergencyContactArgs

type ProactiveEngagementEmergencyContactArgs struct {
	// Additional notes regarding the contact.
	ContactNotes pulumi.StringPtrInput `pulumi:"contactNotes"`
	// A valid email address that will be used for this contact.
	EmailAddress pulumi.StringInput `pulumi:"emailAddress"`
	// A phone number, starting with `+` and up to 15 digits that will be used for this contact.
	PhoneNumber pulumi.StringPtrInput `pulumi:"phoneNumber"`
}

func (ProactiveEngagementEmergencyContactArgs) ElementType

func (ProactiveEngagementEmergencyContactArgs) ToProactiveEngagementEmergencyContactOutput

func (i ProactiveEngagementEmergencyContactArgs) ToProactiveEngagementEmergencyContactOutput() ProactiveEngagementEmergencyContactOutput

func (ProactiveEngagementEmergencyContactArgs) ToProactiveEngagementEmergencyContactOutputWithContext

func (i ProactiveEngagementEmergencyContactArgs) ToProactiveEngagementEmergencyContactOutputWithContext(ctx context.Context) ProactiveEngagementEmergencyContactOutput

type ProactiveEngagementEmergencyContactArray

type ProactiveEngagementEmergencyContactArray []ProactiveEngagementEmergencyContactInput

func (ProactiveEngagementEmergencyContactArray) ElementType

func (ProactiveEngagementEmergencyContactArray) ToProactiveEngagementEmergencyContactArrayOutput

func (i ProactiveEngagementEmergencyContactArray) ToProactiveEngagementEmergencyContactArrayOutput() ProactiveEngagementEmergencyContactArrayOutput

func (ProactiveEngagementEmergencyContactArray) ToProactiveEngagementEmergencyContactArrayOutputWithContext

func (i ProactiveEngagementEmergencyContactArray) ToProactiveEngagementEmergencyContactArrayOutputWithContext(ctx context.Context) ProactiveEngagementEmergencyContactArrayOutput

type ProactiveEngagementEmergencyContactArrayInput

type ProactiveEngagementEmergencyContactArrayInput interface {
	pulumi.Input

	ToProactiveEngagementEmergencyContactArrayOutput() ProactiveEngagementEmergencyContactArrayOutput
	ToProactiveEngagementEmergencyContactArrayOutputWithContext(context.Context) ProactiveEngagementEmergencyContactArrayOutput
}

ProactiveEngagementEmergencyContactArrayInput is an input type that accepts ProactiveEngagementEmergencyContactArray and ProactiveEngagementEmergencyContactArrayOutput values. You can construct a concrete instance of `ProactiveEngagementEmergencyContactArrayInput` via:

ProactiveEngagementEmergencyContactArray{ ProactiveEngagementEmergencyContactArgs{...} }

type ProactiveEngagementEmergencyContactArrayOutput

type ProactiveEngagementEmergencyContactArrayOutput struct{ *pulumi.OutputState }

func (ProactiveEngagementEmergencyContactArrayOutput) ElementType

func (ProactiveEngagementEmergencyContactArrayOutput) Index

func (ProactiveEngagementEmergencyContactArrayOutput) ToProactiveEngagementEmergencyContactArrayOutput

func (o ProactiveEngagementEmergencyContactArrayOutput) ToProactiveEngagementEmergencyContactArrayOutput() ProactiveEngagementEmergencyContactArrayOutput

func (ProactiveEngagementEmergencyContactArrayOutput) ToProactiveEngagementEmergencyContactArrayOutputWithContext

func (o ProactiveEngagementEmergencyContactArrayOutput) ToProactiveEngagementEmergencyContactArrayOutputWithContext(ctx context.Context) ProactiveEngagementEmergencyContactArrayOutput

type ProactiveEngagementEmergencyContactInput

type ProactiveEngagementEmergencyContactInput interface {
	pulumi.Input

	ToProactiveEngagementEmergencyContactOutput() ProactiveEngagementEmergencyContactOutput
	ToProactiveEngagementEmergencyContactOutputWithContext(context.Context) ProactiveEngagementEmergencyContactOutput
}

ProactiveEngagementEmergencyContactInput is an input type that accepts ProactiveEngagementEmergencyContactArgs and ProactiveEngagementEmergencyContactOutput values. You can construct a concrete instance of `ProactiveEngagementEmergencyContactInput` via:

ProactiveEngagementEmergencyContactArgs{...}

type ProactiveEngagementEmergencyContactOutput

type ProactiveEngagementEmergencyContactOutput struct{ *pulumi.OutputState }

func (ProactiveEngagementEmergencyContactOutput) ContactNotes

Additional notes regarding the contact.

func (ProactiveEngagementEmergencyContactOutput) ElementType

func (ProactiveEngagementEmergencyContactOutput) EmailAddress

A valid email address that will be used for this contact.

func (ProactiveEngagementEmergencyContactOutput) PhoneNumber

A phone number, starting with `+` and up to 15 digits that will be used for this contact.

func (ProactiveEngagementEmergencyContactOutput) ToProactiveEngagementEmergencyContactOutput

func (o ProactiveEngagementEmergencyContactOutput) ToProactiveEngagementEmergencyContactOutput() ProactiveEngagementEmergencyContactOutput

func (ProactiveEngagementEmergencyContactOutput) ToProactiveEngagementEmergencyContactOutputWithContext

func (o ProactiveEngagementEmergencyContactOutput) ToProactiveEngagementEmergencyContactOutputWithContext(ctx context.Context) ProactiveEngagementEmergencyContactOutput

type ProactiveEngagementInput

type ProactiveEngagementInput interface {
	pulumi.Input

	ToProactiveEngagementOutput() ProactiveEngagementOutput
	ToProactiveEngagementOutputWithContext(ctx context.Context) ProactiveEngagementOutput
}

type ProactiveEngagementMap

type ProactiveEngagementMap map[string]ProactiveEngagementInput

func (ProactiveEngagementMap) ElementType

func (ProactiveEngagementMap) ElementType() reflect.Type

func (ProactiveEngagementMap) ToProactiveEngagementMapOutput

func (i ProactiveEngagementMap) ToProactiveEngagementMapOutput() ProactiveEngagementMapOutput

func (ProactiveEngagementMap) ToProactiveEngagementMapOutputWithContext

func (i ProactiveEngagementMap) ToProactiveEngagementMapOutputWithContext(ctx context.Context) ProactiveEngagementMapOutput

type ProactiveEngagementMapInput

type ProactiveEngagementMapInput interface {
	pulumi.Input

	ToProactiveEngagementMapOutput() ProactiveEngagementMapOutput
	ToProactiveEngagementMapOutputWithContext(context.Context) ProactiveEngagementMapOutput
}

ProactiveEngagementMapInput is an input type that accepts ProactiveEngagementMap and ProactiveEngagementMapOutput values. You can construct a concrete instance of `ProactiveEngagementMapInput` via:

ProactiveEngagementMap{ "key": ProactiveEngagementArgs{...} }

type ProactiveEngagementMapOutput

type ProactiveEngagementMapOutput struct{ *pulumi.OutputState }

func (ProactiveEngagementMapOutput) ElementType

func (ProactiveEngagementMapOutput) MapIndex

func (ProactiveEngagementMapOutput) ToProactiveEngagementMapOutput

func (o ProactiveEngagementMapOutput) ToProactiveEngagementMapOutput() ProactiveEngagementMapOutput

func (ProactiveEngagementMapOutput) ToProactiveEngagementMapOutputWithContext

func (o ProactiveEngagementMapOutput) ToProactiveEngagementMapOutputWithContext(ctx context.Context) ProactiveEngagementMapOutput

type ProactiveEngagementOutput

type ProactiveEngagementOutput struct{ *pulumi.OutputState }

func (ProactiveEngagementOutput) ElementType

func (ProactiveEngagementOutput) ElementType() reflect.Type

func (ProactiveEngagementOutput) EmergencyContacts

One or more emergency contacts. You must provide at least one phone number in the emergency contact list. See `emergencyContacts`.

func (ProactiveEngagementOutput) Enabled

Boolean value indicating if Proactive Engagement should be enabled or not.

func (ProactiveEngagementOutput) ToProactiveEngagementOutput

func (o ProactiveEngagementOutput) ToProactiveEngagementOutput() ProactiveEngagementOutput

func (ProactiveEngagementOutput) ToProactiveEngagementOutputWithContext

func (o ProactiveEngagementOutput) ToProactiveEngagementOutputWithContext(ctx context.Context) ProactiveEngagementOutput

type ProactiveEngagementState

type ProactiveEngagementState struct {
	// One or more emergency contacts. You must provide at least one phone number in the emergency contact list. See `emergencyContacts`.
	EmergencyContacts ProactiveEngagementEmergencyContactArrayInput
	// Boolean value indicating if Proactive Engagement should be enabled or not.
	Enabled pulumi.BoolPtrInput
}

func (ProactiveEngagementState) ElementType

func (ProactiveEngagementState) ElementType() reflect.Type

type Protection

type Protection struct {
	pulumi.CustomResourceState

	// The ARN of the Protection.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A friendly name for the Protection you are creating.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ARN (Amazon Resource Name) of the resource to be protected.
	ResourceArn pulumi.StringOutput `pulumi:"resourceArn"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

## Example Usage

### Create protection

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{}, nil)
		if err != nil {
			return err
		}
		current, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		example, err := ec2.NewEip(ctx, "example", &ec2.EipArgs{
			Domain: pulumi.String("vpc"),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProtection(ctx, "example", &shield.ProtectionArgs{
			Name: pulumi.String("example"),
			ResourceArn: example.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("arn:aws:ec2:%v:%v:eip-allocation/%v", current.Region, currentGetCallerIdentity.AccountId, id), nil
			}).(pulumi.StringOutput),
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("Dev"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield protection resources using specifying their ID. For example:

```sh $ pulumi import aws:shield/protection:Protection example ff9592dc-22f3-4e88-afa1-7b29fde9669a ```

func GetProtection

func GetProtection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectionState, opts ...pulumi.ResourceOption) (*Protection, error)

GetProtection gets an existing Protection 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 NewProtection

func NewProtection(ctx *pulumi.Context,
	name string, args *ProtectionArgs, opts ...pulumi.ResourceOption) (*Protection, error)

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

func (*Protection) ElementType

func (*Protection) ElementType() reflect.Type

func (*Protection) ToProtectionOutput

func (i *Protection) ToProtectionOutput() ProtectionOutput

func (*Protection) ToProtectionOutputWithContext

func (i *Protection) ToProtectionOutputWithContext(ctx context.Context) ProtectionOutput

type ProtectionArgs

type ProtectionArgs struct {
	// A friendly name for the Protection you are creating.
	Name pulumi.StringPtrInput
	// The ARN (Amazon Resource Name) of the resource to be protected.
	ResourceArn pulumi.StringInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Protection resource.

func (ProtectionArgs) ElementType

func (ProtectionArgs) ElementType() reflect.Type

type ProtectionArray

type ProtectionArray []ProtectionInput

func (ProtectionArray) ElementType

func (ProtectionArray) ElementType() reflect.Type

func (ProtectionArray) ToProtectionArrayOutput

func (i ProtectionArray) ToProtectionArrayOutput() ProtectionArrayOutput

func (ProtectionArray) ToProtectionArrayOutputWithContext

func (i ProtectionArray) ToProtectionArrayOutputWithContext(ctx context.Context) ProtectionArrayOutput

type ProtectionArrayInput

type ProtectionArrayInput interface {
	pulumi.Input

	ToProtectionArrayOutput() ProtectionArrayOutput
	ToProtectionArrayOutputWithContext(context.Context) ProtectionArrayOutput
}

ProtectionArrayInput is an input type that accepts ProtectionArray and ProtectionArrayOutput values. You can construct a concrete instance of `ProtectionArrayInput` via:

ProtectionArray{ ProtectionArgs{...} }

type ProtectionArrayOutput

type ProtectionArrayOutput struct{ *pulumi.OutputState }

func (ProtectionArrayOutput) ElementType

func (ProtectionArrayOutput) ElementType() reflect.Type

func (ProtectionArrayOutput) Index

func (ProtectionArrayOutput) ToProtectionArrayOutput

func (o ProtectionArrayOutput) ToProtectionArrayOutput() ProtectionArrayOutput

func (ProtectionArrayOutput) ToProtectionArrayOutputWithContext

func (o ProtectionArrayOutput) ToProtectionArrayOutputWithContext(ctx context.Context) ProtectionArrayOutput

type ProtectionGroup

type ProtectionGroup struct {
	pulumi.CustomResourceState

	// Defines how AWS Shield combines resource data for the group in order to detect, mitigate, and report events.
	Aggregation pulumi.StringOutput `pulumi:"aggregation"`
	// The Amazon Resource Names (ARNs) of the resources to include in the protection group. You must set this when you set `pattern` to ARBITRARY and you must not set it for any other `pattern` setting.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The criteria to use to choose the protected resources for inclusion in the group.
	Pattern pulumi.StringOutput `pulumi:"pattern"`
	// The ARN (Amazon Resource Name) of the protection group.
	ProtectionGroupArn pulumi.StringOutput `pulumi:"protectionGroupArn"`
	// The name of the protection group.
	ProtectionGroupId pulumi.StringOutput `pulumi:"protectionGroupId"`
	// The resource type to include in the protection group. You must set this when you set `pattern` to BY_RESOURCE_TYPE and you must not set it for any other `pattern` setting.
	ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"`
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Creates a grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. For more information see [Managing AWS Shield Advanced protection groups](https://docs.aws.amazon.com/waf/latest/developerguide/manage-protection-group.html)

## Example Usage

### Create protection group for all resources

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := shield.NewProtectionGroup(ctx, "example", &shield.ProtectionGroupArgs{
			ProtectionGroupId: pulumi.String("example"),
			Aggregation:       pulumi.String("MAX"),
			Pattern:           pulumi.String("ALL"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Create protection group for arbitrary number of resources

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		example, err := ec2.NewEip(ctx, "example", &ec2.EipArgs{
			Domain: pulumi.String("vpc"),
		})
		if err != nil {
			return err
		}
		exampleProtection, err := shield.NewProtection(ctx, "example", &shield.ProtectionArgs{
			Name: pulumi.String("example"),
			ResourceArn: example.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("arn:aws:ec2:%v:%v:eip-allocation/%v", current.Region, currentGetCallerIdentity.AccountId, id), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProtectionGroup(ctx, "example", &shield.ProtectionGroupArgs{
			ProtectionGroupId: pulumi.String("example"),
			Aggregation:       pulumi.String("MEAN"),
			Pattern:           pulumi.String("ARBITRARY"),
			Members: pulumi.StringArray{
				example.ID().ApplyT(func(id string) (string, error) {
					return fmt.Sprintf("arn:aws:ec2:%v:%v:eip-allocation/%v", current.Region, currentGetCallerIdentity.AccountId, id), nil
				}).(pulumi.StringOutput),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleProtection,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Create protection group for a type of resource

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := shield.NewProtectionGroup(ctx, "example", &shield.ProtectionGroupArgs{
			ProtectionGroupId: pulumi.String("example"),
			Aggregation:       pulumi.String("SUM"),
			Pattern:           pulumi.String("BY_RESOURCE_TYPE"),
			ResourceType:      pulumi.String("ELASTIC_IP_ALLOCATION"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield protection group resources using their protection group id. For example:

```sh $ pulumi import aws:shield/protectionGroup:ProtectionGroup example example ```

func GetProtectionGroup

func GetProtectionGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectionGroupState, opts ...pulumi.ResourceOption) (*ProtectionGroup, error)

GetProtectionGroup gets an existing ProtectionGroup 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 NewProtectionGroup

func NewProtectionGroup(ctx *pulumi.Context,
	name string, args *ProtectionGroupArgs, opts ...pulumi.ResourceOption) (*ProtectionGroup, error)

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

func (*ProtectionGroup) ElementType

func (*ProtectionGroup) ElementType() reflect.Type

func (*ProtectionGroup) ToProtectionGroupOutput

func (i *ProtectionGroup) ToProtectionGroupOutput() ProtectionGroupOutput

func (*ProtectionGroup) ToProtectionGroupOutputWithContext

func (i *ProtectionGroup) ToProtectionGroupOutputWithContext(ctx context.Context) ProtectionGroupOutput

type ProtectionGroupArgs

type ProtectionGroupArgs struct {
	// Defines how AWS Shield combines resource data for the group in order to detect, mitigate, and report events.
	Aggregation pulumi.StringInput
	// The Amazon Resource Names (ARNs) of the resources to include in the protection group. You must set this when you set `pattern` to ARBITRARY and you must not set it for any other `pattern` setting.
	Members pulumi.StringArrayInput
	// The criteria to use to choose the protected resources for inclusion in the group.
	Pattern pulumi.StringInput
	// The name of the protection group.
	ProtectionGroupId pulumi.StringInput
	// The resource type to include in the protection group. You must set this when you set `pattern` to BY_RESOURCE_TYPE and you must not set it for any other `pattern` setting.
	ResourceType pulumi.StringPtrInput
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ProtectionGroup resource.

func (ProtectionGroupArgs) ElementType

func (ProtectionGroupArgs) ElementType() reflect.Type

type ProtectionGroupArray

type ProtectionGroupArray []ProtectionGroupInput

func (ProtectionGroupArray) ElementType

func (ProtectionGroupArray) ElementType() reflect.Type

func (ProtectionGroupArray) ToProtectionGroupArrayOutput

func (i ProtectionGroupArray) ToProtectionGroupArrayOutput() ProtectionGroupArrayOutput

func (ProtectionGroupArray) ToProtectionGroupArrayOutputWithContext

func (i ProtectionGroupArray) ToProtectionGroupArrayOutputWithContext(ctx context.Context) ProtectionGroupArrayOutput

type ProtectionGroupArrayInput

type ProtectionGroupArrayInput interface {
	pulumi.Input

	ToProtectionGroupArrayOutput() ProtectionGroupArrayOutput
	ToProtectionGroupArrayOutputWithContext(context.Context) ProtectionGroupArrayOutput
}

ProtectionGroupArrayInput is an input type that accepts ProtectionGroupArray and ProtectionGroupArrayOutput values. You can construct a concrete instance of `ProtectionGroupArrayInput` via:

ProtectionGroupArray{ ProtectionGroupArgs{...} }

type ProtectionGroupArrayOutput

type ProtectionGroupArrayOutput struct{ *pulumi.OutputState }

func (ProtectionGroupArrayOutput) ElementType

func (ProtectionGroupArrayOutput) ElementType() reflect.Type

func (ProtectionGroupArrayOutput) Index

func (ProtectionGroupArrayOutput) ToProtectionGroupArrayOutput

func (o ProtectionGroupArrayOutput) ToProtectionGroupArrayOutput() ProtectionGroupArrayOutput

func (ProtectionGroupArrayOutput) ToProtectionGroupArrayOutputWithContext

func (o ProtectionGroupArrayOutput) ToProtectionGroupArrayOutputWithContext(ctx context.Context) ProtectionGroupArrayOutput

type ProtectionGroupInput

type ProtectionGroupInput interface {
	pulumi.Input

	ToProtectionGroupOutput() ProtectionGroupOutput
	ToProtectionGroupOutputWithContext(ctx context.Context) ProtectionGroupOutput
}

type ProtectionGroupMap

type ProtectionGroupMap map[string]ProtectionGroupInput

func (ProtectionGroupMap) ElementType

func (ProtectionGroupMap) ElementType() reflect.Type

func (ProtectionGroupMap) ToProtectionGroupMapOutput

func (i ProtectionGroupMap) ToProtectionGroupMapOutput() ProtectionGroupMapOutput

func (ProtectionGroupMap) ToProtectionGroupMapOutputWithContext

func (i ProtectionGroupMap) ToProtectionGroupMapOutputWithContext(ctx context.Context) ProtectionGroupMapOutput

type ProtectionGroupMapInput

type ProtectionGroupMapInput interface {
	pulumi.Input

	ToProtectionGroupMapOutput() ProtectionGroupMapOutput
	ToProtectionGroupMapOutputWithContext(context.Context) ProtectionGroupMapOutput
}

ProtectionGroupMapInput is an input type that accepts ProtectionGroupMap and ProtectionGroupMapOutput values. You can construct a concrete instance of `ProtectionGroupMapInput` via:

ProtectionGroupMap{ "key": ProtectionGroupArgs{...} }

type ProtectionGroupMapOutput

type ProtectionGroupMapOutput struct{ *pulumi.OutputState }

func (ProtectionGroupMapOutput) ElementType

func (ProtectionGroupMapOutput) ElementType() reflect.Type

func (ProtectionGroupMapOutput) MapIndex

func (ProtectionGroupMapOutput) ToProtectionGroupMapOutput

func (o ProtectionGroupMapOutput) ToProtectionGroupMapOutput() ProtectionGroupMapOutput

func (ProtectionGroupMapOutput) ToProtectionGroupMapOutputWithContext

func (o ProtectionGroupMapOutput) ToProtectionGroupMapOutputWithContext(ctx context.Context) ProtectionGroupMapOutput

type ProtectionGroupOutput

type ProtectionGroupOutput struct{ *pulumi.OutputState }

func (ProtectionGroupOutput) Aggregation

func (o ProtectionGroupOutput) Aggregation() pulumi.StringOutput

Defines how AWS Shield combines resource data for the group in order to detect, mitigate, and report events.

func (ProtectionGroupOutput) ElementType

func (ProtectionGroupOutput) ElementType() reflect.Type

func (ProtectionGroupOutput) Members

The Amazon Resource Names (ARNs) of the resources to include in the protection group. You must set this when you set `pattern` to ARBITRARY and you must not set it for any other `pattern` setting.

func (ProtectionGroupOutput) Pattern

The criteria to use to choose the protected resources for inclusion in the group.

func (ProtectionGroupOutput) ProtectionGroupArn

func (o ProtectionGroupOutput) ProtectionGroupArn() pulumi.StringOutput

The ARN (Amazon Resource Name) of the protection group.

func (ProtectionGroupOutput) ProtectionGroupId

func (o ProtectionGroupOutput) ProtectionGroupId() pulumi.StringOutput

The name of the protection group.

func (ProtectionGroupOutput) ResourceType

func (o ProtectionGroupOutput) ResourceType() pulumi.StringPtrOutput

The resource type to include in the protection group. You must set this when you set `pattern` to BY_RESOURCE_TYPE and you must not set it for any other `pattern` setting.

func (ProtectionGroupOutput) Tags

Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ProtectionGroupOutput) TagsAll

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

func (ProtectionGroupOutput) ToProtectionGroupOutput

func (o ProtectionGroupOutput) ToProtectionGroupOutput() ProtectionGroupOutput

func (ProtectionGroupOutput) ToProtectionGroupOutputWithContext

func (o ProtectionGroupOutput) ToProtectionGroupOutputWithContext(ctx context.Context) ProtectionGroupOutput

type ProtectionGroupState

type ProtectionGroupState struct {
	// Defines how AWS Shield combines resource data for the group in order to detect, mitigate, and report events.
	Aggregation pulumi.StringPtrInput
	// The Amazon Resource Names (ARNs) of the resources to include in the protection group. You must set this when you set `pattern` to ARBITRARY and you must not set it for any other `pattern` setting.
	Members pulumi.StringArrayInput
	// The criteria to use to choose the protected resources for inclusion in the group.
	Pattern pulumi.StringPtrInput
	// The ARN (Amazon Resource Name) of the protection group.
	ProtectionGroupArn pulumi.StringPtrInput
	// The name of the protection group.
	ProtectionGroupId pulumi.StringPtrInput
	// The resource type to include in the protection group. You must set this when you set `pattern` to BY_RESOURCE_TYPE and you must not set it for any other `pattern` setting.
	ResourceType pulumi.StringPtrInput
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ProtectionGroupState) ElementType

func (ProtectionGroupState) ElementType() reflect.Type

type ProtectionHealthCheckAssociation

type ProtectionHealthCheckAssociation struct {
	pulumi.CustomResourceState

	// The ARN (Amazon Resource Name) of the Route53 Health Check resource which will be associated to the protected resource.
	HealthCheckArn pulumi.StringOutput `pulumi:"healthCheckArn"`
	// The ID of the protected resource.
	ShieldProtectionId pulumi.StringOutput `pulumi:"shieldProtectionId"`
}

Creates an association between a Route53 Health Check and a Shield Advanced protected resource. This association uses the health of your applications to improve responsiveness and accuracy in attack detection and mitigation.

Blog post: [AWS Shield Advanced now supports Health Based Detection](https://aws.amazon.com/about-aws/whats-new/2020/02/aws-shield-advanced-now-supports-health-based-detection/)

## Example Usage

### Create an association between a protected EIP and a Route53 Health Check

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/route53"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetCallerIdentity, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil)
		if err != nil {
			return err
		}
		currentGetPartition, err := aws.GetPartition(ctx, &aws.GetPartitionArgs{}, nil)
		if err != nil {
			return err
		}
		example, err := ec2.NewEip(ctx, "example", &ec2.EipArgs{
			Domain: pulumi.String("vpc"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleProtection, err := shield.NewProtection(ctx, "example", &shield.ProtectionArgs{
			Name: pulumi.String("example-protection"),
			ResourceArn: example.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("arn:%v:ec2:%v:%v:eip-allocation/%v", currentGetPartition.Partition, current.Region, currentGetCallerIdentity.AccountId, id), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		exampleHealthCheck, err := route53.NewHealthCheck(ctx, "example", &route53.HealthCheckArgs{
			IpAddress:        example.PublicIp,
			Port:             pulumi.Int(80),
			Type:             pulumi.String("HTTP"),
			ResourcePath:     pulumi.String("/ready"),
			FailureThreshold: pulumi.Int(3),
			RequestInterval:  pulumi.Int(30),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("tf-example-health-check"),
			},
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProtectionHealthCheckAssociation(ctx, "example", &shield.ProtectionHealthCheckAssociationArgs{
			HealthCheckArn:     exampleHealthCheck.Arn,
			ShieldProtectionId: exampleProtection.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield protection health check association resources using the `shield_protection_id` and `health_check_arn`. For example:

```sh $ pulumi import aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation example ff9592dc-22f3-4e88-afa1-7b29fde9669a+arn:aws:route53:::healthcheck/3742b175-edb9-46bc-9359-f53e3b794b1b ```

func GetProtectionHealthCheckAssociation

func GetProtectionHealthCheckAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectionHealthCheckAssociationState, opts ...pulumi.ResourceOption) (*ProtectionHealthCheckAssociation, error)

GetProtectionHealthCheckAssociation gets an existing ProtectionHealthCheckAssociation 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 NewProtectionHealthCheckAssociation

func NewProtectionHealthCheckAssociation(ctx *pulumi.Context,
	name string, args *ProtectionHealthCheckAssociationArgs, opts ...pulumi.ResourceOption) (*ProtectionHealthCheckAssociation, error)

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

func (*ProtectionHealthCheckAssociation) ElementType

func (*ProtectionHealthCheckAssociation) ToProtectionHealthCheckAssociationOutput

func (i *ProtectionHealthCheckAssociation) ToProtectionHealthCheckAssociationOutput() ProtectionHealthCheckAssociationOutput

func (*ProtectionHealthCheckAssociation) ToProtectionHealthCheckAssociationOutputWithContext

func (i *ProtectionHealthCheckAssociation) ToProtectionHealthCheckAssociationOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationOutput

type ProtectionHealthCheckAssociationArgs

type ProtectionHealthCheckAssociationArgs struct {
	// The ARN (Amazon Resource Name) of the Route53 Health Check resource which will be associated to the protected resource.
	HealthCheckArn pulumi.StringInput
	// The ID of the protected resource.
	ShieldProtectionId pulumi.StringInput
}

The set of arguments for constructing a ProtectionHealthCheckAssociation resource.

func (ProtectionHealthCheckAssociationArgs) ElementType

type ProtectionHealthCheckAssociationArray

type ProtectionHealthCheckAssociationArray []ProtectionHealthCheckAssociationInput

func (ProtectionHealthCheckAssociationArray) ElementType

func (ProtectionHealthCheckAssociationArray) ToProtectionHealthCheckAssociationArrayOutput

func (i ProtectionHealthCheckAssociationArray) ToProtectionHealthCheckAssociationArrayOutput() ProtectionHealthCheckAssociationArrayOutput

func (ProtectionHealthCheckAssociationArray) ToProtectionHealthCheckAssociationArrayOutputWithContext

func (i ProtectionHealthCheckAssociationArray) ToProtectionHealthCheckAssociationArrayOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationArrayOutput

type ProtectionHealthCheckAssociationArrayInput

type ProtectionHealthCheckAssociationArrayInput interface {
	pulumi.Input

	ToProtectionHealthCheckAssociationArrayOutput() ProtectionHealthCheckAssociationArrayOutput
	ToProtectionHealthCheckAssociationArrayOutputWithContext(context.Context) ProtectionHealthCheckAssociationArrayOutput
}

ProtectionHealthCheckAssociationArrayInput is an input type that accepts ProtectionHealthCheckAssociationArray and ProtectionHealthCheckAssociationArrayOutput values. You can construct a concrete instance of `ProtectionHealthCheckAssociationArrayInput` via:

ProtectionHealthCheckAssociationArray{ ProtectionHealthCheckAssociationArgs{...} }

type ProtectionHealthCheckAssociationArrayOutput

type ProtectionHealthCheckAssociationArrayOutput struct{ *pulumi.OutputState }

func (ProtectionHealthCheckAssociationArrayOutput) ElementType

func (ProtectionHealthCheckAssociationArrayOutput) Index

func (ProtectionHealthCheckAssociationArrayOutput) ToProtectionHealthCheckAssociationArrayOutput

func (o ProtectionHealthCheckAssociationArrayOutput) ToProtectionHealthCheckAssociationArrayOutput() ProtectionHealthCheckAssociationArrayOutput

func (ProtectionHealthCheckAssociationArrayOutput) ToProtectionHealthCheckAssociationArrayOutputWithContext

func (o ProtectionHealthCheckAssociationArrayOutput) ToProtectionHealthCheckAssociationArrayOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationArrayOutput

type ProtectionHealthCheckAssociationInput

type ProtectionHealthCheckAssociationInput interface {
	pulumi.Input

	ToProtectionHealthCheckAssociationOutput() ProtectionHealthCheckAssociationOutput
	ToProtectionHealthCheckAssociationOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationOutput
}

type ProtectionHealthCheckAssociationMap

type ProtectionHealthCheckAssociationMap map[string]ProtectionHealthCheckAssociationInput

func (ProtectionHealthCheckAssociationMap) ElementType

func (ProtectionHealthCheckAssociationMap) ToProtectionHealthCheckAssociationMapOutput

func (i ProtectionHealthCheckAssociationMap) ToProtectionHealthCheckAssociationMapOutput() ProtectionHealthCheckAssociationMapOutput

func (ProtectionHealthCheckAssociationMap) ToProtectionHealthCheckAssociationMapOutputWithContext

func (i ProtectionHealthCheckAssociationMap) ToProtectionHealthCheckAssociationMapOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationMapOutput

type ProtectionHealthCheckAssociationMapInput

type ProtectionHealthCheckAssociationMapInput interface {
	pulumi.Input

	ToProtectionHealthCheckAssociationMapOutput() ProtectionHealthCheckAssociationMapOutput
	ToProtectionHealthCheckAssociationMapOutputWithContext(context.Context) ProtectionHealthCheckAssociationMapOutput
}

ProtectionHealthCheckAssociationMapInput is an input type that accepts ProtectionHealthCheckAssociationMap and ProtectionHealthCheckAssociationMapOutput values. You can construct a concrete instance of `ProtectionHealthCheckAssociationMapInput` via:

ProtectionHealthCheckAssociationMap{ "key": ProtectionHealthCheckAssociationArgs{...} }

type ProtectionHealthCheckAssociationMapOutput

type ProtectionHealthCheckAssociationMapOutput struct{ *pulumi.OutputState }

func (ProtectionHealthCheckAssociationMapOutput) ElementType

func (ProtectionHealthCheckAssociationMapOutput) MapIndex

func (ProtectionHealthCheckAssociationMapOutput) ToProtectionHealthCheckAssociationMapOutput

func (o ProtectionHealthCheckAssociationMapOutput) ToProtectionHealthCheckAssociationMapOutput() ProtectionHealthCheckAssociationMapOutput

func (ProtectionHealthCheckAssociationMapOutput) ToProtectionHealthCheckAssociationMapOutputWithContext

func (o ProtectionHealthCheckAssociationMapOutput) ToProtectionHealthCheckAssociationMapOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationMapOutput

type ProtectionHealthCheckAssociationOutput

type ProtectionHealthCheckAssociationOutput struct{ *pulumi.OutputState }

func (ProtectionHealthCheckAssociationOutput) ElementType

func (ProtectionHealthCheckAssociationOutput) HealthCheckArn

The ARN (Amazon Resource Name) of the Route53 Health Check resource which will be associated to the protected resource.

func (ProtectionHealthCheckAssociationOutput) ShieldProtectionId

The ID of the protected resource.

func (ProtectionHealthCheckAssociationOutput) ToProtectionHealthCheckAssociationOutput

func (o ProtectionHealthCheckAssociationOutput) ToProtectionHealthCheckAssociationOutput() ProtectionHealthCheckAssociationOutput

func (ProtectionHealthCheckAssociationOutput) ToProtectionHealthCheckAssociationOutputWithContext

func (o ProtectionHealthCheckAssociationOutput) ToProtectionHealthCheckAssociationOutputWithContext(ctx context.Context) ProtectionHealthCheckAssociationOutput

type ProtectionHealthCheckAssociationState

type ProtectionHealthCheckAssociationState struct {
	// The ARN (Amazon Resource Name) of the Route53 Health Check resource which will be associated to the protected resource.
	HealthCheckArn pulumi.StringPtrInput
	// The ID of the protected resource.
	ShieldProtectionId pulumi.StringPtrInput
}

func (ProtectionHealthCheckAssociationState) ElementType

type ProtectionInput

type ProtectionInput interface {
	pulumi.Input

	ToProtectionOutput() ProtectionOutput
	ToProtectionOutputWithContext(ctx context.Context) ProtectionOutput
}

type ProtectionMap

type ProtectionMap map[string]ProtectionInput

func (ProtectionMap) ElementType

func (ProtectionMap) ElementType() reflect.Type

func (ProtectionMap) ToProtectionMapOutput

func (i ProtectionMap) ToProtectionMapOutput() ProtectionMapOutput

func (ProtectionMap) ToProtectionMapOutputWithContext

func (i ProtectionMap) ToProtectionMapOutputWithContext(ctx context.Context) ProtectionMapOutput

type ProtectionMapInput

type ProtectionMapInput interface {
	pulumi.Input

	ToProtectionMapOutput() ProtectionMapOutput
	ToProtectionMapOutputWithContext(context.Context) ProtectionMapOutput
}

ProtectionMapInput is an input type that accepts ProtectionMap and ProtectionMapOutput values. You can construct a concrete instance of `ProtectionMapInput` via:

ProtectionMap{ "key": ProtectionArgs{...} }

type ProtectionMapOutput

type ProtectionMapOutput struct{ *pulumi.OutputState }

func (ProtectionMapOutput) ElementType

func (ProtectionMapOutput) ElementType() reflect.Type

func (ProtectionMapOutput) MapIndex

func (ProtectionMapOutput) ToProtectionMapOutput

func (o ProtectionMapOutput) ToProtectionMapOutput() ProtectionMapOutput

func (ProtectionMapOutput) ToProtectionMapOutputWithContext

func (o ProtectionMapOutput) ToProtectionMapOutputWithContext(ctx context.Context) ProtectionMapOutput

type ProtectionOutput

type ProtectionOutput struct{ *pulumi.OutputState }

func (ProtectionOutput) Arn

The ARN of the Protection.

func (ProtectionOutput) ElementType

func (ProtectionOutput) ElementType() reflect.Type

func (ProtectionOutput) Name

A friendly name for the Protection you are creating.

func (ProtectionOutput) ResourceArn

func (o ProtectionOutput) ResourceArn() pulumi.StringOutput

The ARN (Amazon Resource Name) of the resource to be protected.

func (ProtectionOutput) Tags

Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ProtectionOutput) TagsAll

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

func (ProtectionOutput) ToProtectionOutput

func (o ProtectionOutput) ToProtectionOutput() ProtectionOutput

func (ProtectionOutput) ToProtectionOutputWithContext

func (o ProtectionOutput) ToProtectionOutputWithContext(ctx context.Context) ProtectionOutput

type ProtectionState

type ProtectionState struct {
	// The ARN of the Protection.
	Arn pulumi.StringPtrInput
	// A friendly name for the Protection you are creating.
	Name pulumi.StringPtrInput
	// The ARN (Amazon Resource Name) of the resource to be protected.
	ResourceArn pulumi.StringPtrInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ProtectionState) ElementType

func (ProtectionState) ElementType() reflect.Type

type Subscription

type Subscription struct {
	pulumi.CustomResourceState

	// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.
	AutoRenew pulumi.StringOutput `pulumi:"autoRenew"`
	// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state.
	SkipDestroy pulumi.BoolPtrOutput `pulumi:"skipDestroy"`
}

Resource for managing an AWS Shield Subscription.

> This resource creates a subscription to AWS Shield Advanced, which requires a 1 year subscription commitment with a monthly fee. Refer to the [AWS Shield Pricing](https://aws.amazon.com/shield/pricing/) page for more details.

> Destruction of this resource will set `autoRenew` to `DISABLED`. Automatic renewal can only be disabled during the last 30 days of a subscription. To unsubscribe outside of this window, you must contact AWS Support. Set `skipDestroy` to `true` to skip modifying the `autoRenew` argument during destruction.

## Example Usage

### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := shield.NewSubscription(ctx, "example", &shield.SubscriptionArgs{
			AutoRenew: pulumi.String("ENABLED"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import Shield Subscription using the `id`. For example:

```sh $ pulumi import aws:shield/subscription:Subscription example 123456789012 ```

func GetSubscription

func GetSubscription(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error)

GetSubscription gets an existing Subscription 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 NewSubscription

func NewSubscription(ctx *pulumi.Context,
	name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error)

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

func (*Subscription) ElementType

func (*Subscription) ElementType() reflect.Type

func (*Subscription) ToSubscriptionOutput

func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput

func (*Subscription) ToSubscriptionOutputWithContext

func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

type SubscriptionArgs

type SubscriptionArgs struct {
	// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.
	AutoRenew pulumi.StringPtrInput
	// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state.
	SkipDestroy pulumi.BoolPtrInput
}

The set of arguments for constructing a Subscription resource.

func (SubscriptionArgs) ElementType

func (SubscriptionArgs) ElementType() reflect.Type

type SubscriptionArray

type SubscriptionArray []SubscriptionInput

func (SubscriptionArray) ElementType

func (SubscriptionArray) ElementType() reflect.Type

func (SubscriptionArray) ToSubscriptionArrayOutput

func (i SubscriptionArray) ToSubscriptionArrayOutput() SubscriptionArrayOutput

func (SubscriptionArray) ToSubscriptionArrayOutputWithContext

func (i SubscriptionArray) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput

type SubscriptionArrayInput

type SubscriptionArrayInput interface {
	pulumi.Input

	ToSubscriptionArrayOutput() SubscriptionArrayOutput
	ToSubscriptionArrayOutputWithContext(context.Context) SubscriptionArrayOutput
}

SubscriptionArrayInput is an input type that accepts SubscriptionArray and SubscriptionArrayOutput values. You can construct a concrete instance of `SubscriptionArrayInput` via:

SubscriptionArray{ SubscriptionArgs{...} }

type SubscriptionArrayOutput

type SubscriptionArrayOutput struct{ *pulumi.OutputState }

func (SubscriptionArrayOutput) ElementType

func (SubscriptionArrayOutput) ElementType() reflect.Type

func (SubscriptionArrayOutput) Index

func (SubscriptionArrayOutput) ToSubscriptionArrayOutput

func (o SubscriptionArrayOutput) ToSubscriptionArrayOutput() SubscriptionArrayOutput

func (SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext

func (o SubscriptionArrayOutput) ToSubscriptionArrayOutputWithContext(ctx context.Context) SubscriptionArrayOutput

type SubscriptionInput

type SubscriptionInput interface {
	pulumi.Input

	ToSubscriptionOutput() SubscriptionOutput
	ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
}

type SubscriptionMap

type SubscriptionMap map[string]SubscriptionInput

func (SubscriptionMap) ElementType

func (SubscriptionMap) ElementType() reflect.Type

func (SubscriptionMap) ToSubscriptionMapOutput

func (i SubscriptionMap) ToSubscriptionMapOutput() SubscriptionMapOutput

func (SubscriptionMap) ToSubscriptionMapOutputWithContext

func (i SubscriptionMap) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput

type SubscriptionMapInput

type SubscriptionMapInput interface {
	pulumi.Input

	ToSubscriptionMapOutput() SubscriptionMapOutput
	ToSubscriptionMapOutputWithContext(context.Context) SubscriptionMapOutput
}

SubscriptionMapInput is an input type that accepts SubscriptionMap and SubscriptionMapOutput values. You can construct a concrete instance of `SubscriptionMapInput` via:

SubscriptionMap{ "key": SubscriptionArgs{...} }

type SubscriptionMapOutput

type SubscriptionMapOutput struct{ *pulumi.OutputState }

func (SubscriptionMapOutput) ElementType

func (SubscriptionMapOutput) ElementType() reflect.Type

func (SubscriptionMapOutput) MapIndex

func (SubscriptionMapOutput) ToSubscriptionMapOutput

func (o SubscriptionMapOutput) ToSubscriptionMapOutput() SubscriptionMapOutput

func (SubscriptionMapOutput) ToSubscriptionMapOutputWithContext

func (o SubscriptionMapOutput) ToSubscriptionMapOutputWithContext(ctx context.Context) SubscriptionMapOutput

type SubscriptionOutput

type SubscriptionOutput struct{ *pulumi.OutputState }

func (SubscriptionOutput) AutoRenew

func (o SubscriptionOutput) AutoRenew() pulumi.StringOutput

Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.

func (SubscriptionOutput) ElementType

func (SubscriptionOutput) ElementType() reflect.Type

func (SubscriptionOutput) SkipDestroy

func (o SubscriptionOutput) SkipDestroy() pulumi.BoolPtrOutput

Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state.

func (SubscriptionOutput) ToSubscriptionOutput

func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput

func (SubscriptionOutput) ToSubscriptionOutputWithContext

func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput

type SubscriptionState

type SubscriptionState struct {
	// Toggle for automated renewal of the subscription. Valid values are `ENABLED` or `DISABLED`. Default is `ENABLED`.
	AutoRenew pulumi.StringPtrInput
	// Skip attempting to disable automated renewal upon destruction. If set to `true`, the `autoRenew` value will be left as-is and the resource will simply be removed from state.
	SkipDestroy pulumi.BoolPtrInput
}

func (SubscriptionState) ElementType

func (SubscriptionState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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