shield

package
v6.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationLayerAutomaticResponse added in v6.3.0

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/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentPartition, err := aws.GetPartition(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = shield.NewApplicationLayerAutomaticResponse(ctx, "example", &shield.ApplicationLayerAutomaticResponseArgs{
			Action:      pulumi.String("COUNT"),
			ResourceArn: pulumi.String(fmt.Sprintf("arn:%v:cloudfront:%v:distribution/%v", currentPartition.Partition, currentCallerIdentity.AccountId, _var.Distribution_id)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetApplicationLayerAutomaticResponse added in v6.3.0

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 added in v6.3.0

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 added in v6.3.0

func (*ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutput added in v6.3.0

func (i *ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutput() ApplicationLayerAutomaticResponseOutput

func (*ApplicationLayerAutomaticResponse) ToApplicationLayerAutomaticResponseOutputWithContext added in v6.3.0

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

func (*ApplicationLayerAutomaticResponse) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseArgs added in v6.3.0

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 added in v6.3.0

type ApplicationLayerAutomaticResponseArray added in v6.3.0

type ApplicationLayerAutomaticResponseArray []ApplicationLayerAutomaticResponseInput

func (ApplicationLayerAutomaticResponseArray) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutput added in v6.3.0

func (i ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutput() ApplicationLayerAutomaticResponseArrayOutput

func (ApplicationLayerAutomaticResponseArray) ToApplicationLayerAutomaticResponseArrayOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseArray) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseArrayInput added in v6.3.0

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 added in v6.3.0

type ApplicationLayerAutomaticResponseArrayOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseArrayOutput) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseArrayOutput) Index added in v6.3.0

func (ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutput added in v6.3.0

func (o ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutput() ApplicationLayerAutomaticResponseArrayOutput

func (ApplicationLayerAutomaticResponseArrayOutput) ToApplicationLayerAutomaticResponseArrayOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseArrayOutput) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseInput added in v6.3.0

type ApplicationLayerAutomaticResponseInput interface {
	pulumi.Input

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

type ApplicationLayerAutomaticResponseMap added in v6.3.0

type ApplicationLayerAutomaticResponseMap map[string]ApplicationLayerAutomaticResponseInput

func (ApplicationLayerAutomaticResponseMap) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutput added in v6.3.0

func (i ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutput() ApplicationLayerAutomaticResponseMapOutput

func (ApplicationLayerAutomaticResponseMap) ToApplicationLayerAutomaticResponseMapOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseMap) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseMapInput added in v6.3.0

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 added in v6.3.0

type ApplicationLayerAutomaticResponseMapOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseMapOutput) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseMapOutput) MapIndex added in v6.3.0

func (ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutput added in v6.3.0

func (o ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutput() ApplicationLayerAutomaticResponseMapOutput

func (ApplicationLayerAutomaticResponseMapOutput) ToApplicationLayerAutomaticResponseMapOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseMapOutput) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseOutput added in v6.3.0

type ApplicationLayerAutomaticResponseOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseOutput) Action added in v6.3.0

One of `COUNT` or `BLOCK`

func (ApplicationLayerAutomaticResponseOutput) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseOutput) ResourceArn added in v6.3.0

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

func (ApplicationLayerAutomaticResponseOutput) Timeouts added in v6.3.0

func (ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutput added in v6.3.0

func (o ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutput() ApplicationLayerAutomaticResponseOutput

func (ApplicationLayerAutomaticResponseOutput) ToApplicationLayerAutomaticResponseOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseOutput) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseState added in v6.3.0

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 added in v6.3.0

type ApplicationLayerAutomaticResponseTimeouts added in v6.3.0

type ApplicationLayerAutomaticResponseTimeouts struct {
	Create *string `pulumi:"create"`
	Delete *string `pulumi:"delete"`
	Update *string `pulumi:"update"`
}

type ApplicationLayerAutomaticResponseTimeoutsArgs added in v6.3.0

type ApplicationLayerAutomaticResponseTimeoutsArgs struct {
	Create pulumi.StringPtrInput `pulumi:"create"`
	Delete pulumi.StringPtrInput `pulumi:"delete"`
	Update pulumi.StringPtrInput `pulumi:"update"`
}

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutput added in v6.3.0

func (i ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutput() ApplicationLayerAutomaticResponseTimeoutsOutput

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput added in v6.3.0

func (i ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseTimeoutsArgs) ToOutput added in v6.3.0

type ApplicationLayerAutomaticResponseTimeoutsInput added in v6.3.0

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 added in v6.3.0

type ApplicationLayerAutomaticResponseTimeoutsOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseTimeoutsOutput) Create added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsOutput) Delete added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutput added in v6.3.0

func (o ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutput() ApplicationLayerAutomaticResponseTimeoutsOutput

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput added in v6.3.0

func (o ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseTimeoutsOutput) ToOutput added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsOutput) Update added in v6.3.0

type ApplicationLayerAutomaticResponseTimeoutsPtrInput added in v6.3.0

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 added in v6.3.0

type ApplicationLayerAutomaticResponseTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Create added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Delete added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Elem added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ElementType added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput added in v6.3.0

func (o ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutput() ApplicationLayerAutomaticResponseTimeoutsPtrOutput

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToApplicationLayerAutomaticResponseTimeoutsPtrOutputWithContext added in v6.3.0

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

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) ToOutput added in v6.3.0

func (ApplicationLayerAutomaticResponseTimeoutsPtrOutput) Update added in v6.3.0

type DrtAccessLogBucketAssociation added in v6.1.0

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/v6/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testDrtAccessRoleArnAssociation, err := shield.NewDrtAccessRoleArnAssociation(ctx, "testDrtAccessRoleArnAssociation", &shield.DrtAccessRoleArnAssociationArgs{
			RoleArn: pulumi.String(fmt.Sprintf("arn:aws:iam:%v:%v:%v", data.Aws_region.Current.Name, data.Aws_caller_identity.Current.Account_id, _var.Shield_drt_access_role_name)),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewDrtAccessLogBucketAssociation(ctx, "testDrtAccessLogBucketAssociation", &shield.DrtAccessLogBucketAssociationArgs{
			LogBucket:            pulumi.Any(_var.Shield_drt_access_log_bucket),
			RoleArnAssociationId: testDrtAccessRoleArnAssociation.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDrtAccessLogBucketAssociation added in v6.1.0

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 added in v6.1.0

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 added in v6.1.0

func (*DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutput added in v6.1.0

func (i *DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput

func (*DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutputWithContext added in v6.1.0

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

func (*DrtAccessLogBucketAssociation) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationArgs added in v6.1.0

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 added in v6.1.0

type DrtAccessLogBucketAssociationArray added in v6.1.0

type DrtAccessLogBucketAssociationArray []DrtAccessLogBucketAssociationInput

func (DrtAccessLogBucketAssociationArray) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutput added in v6.1.0

func (i DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput

func (DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationArray) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationArrayInput added in v6.1.0

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 added in v6.1.0

type DrtAccessLogBucketAssociationArrayOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationArrayOutput) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationArrayOutput) Index added in v6.1.0

func (DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutput added in v6.1.0

func (o DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput

func (DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationArrayOutput) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationInput added in v6.1.0

type DrtAccessLogBucketAssociationInput interface {
	pulumi.Input

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

type DrtAccessLogBucketAssociationMap added in v6.1.0

type DrtAccessLogBucketAssociationMap map[string]DrtAccessLogBucketAssociationInput

func (DrtAccessLogBucketAssociationMap) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutput added in v6.1.0

func (i DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput

func (DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationMap) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationMapInput added in v6.1.0

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 added in v6.1.0

type DrtAccessLogBucketAssociationMapOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationMapOutput) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationMapOutput) MapIndex added in v6.1.0

func (DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutput added in v6.1.0

func (o DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput

func (DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationMapOutput) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationOutput added in v6.1.0

type DrtAccessLogBucketAssociationOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationOutput) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationOutput) LogBucket added in v6.1.0

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

func (DrtAccessLogBucketAssociationOutput) RoleArnAssociationId added in v6.1.0

func (o DrtAccessLogBucketAssociationOutput) RoleArnAssociationId() pulumi.StringOutput

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

func (DrtAccessLogBucketAssociationOutput) Timeouts added in v6.1.0

func (DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutput added in v6.1.0

func (o DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput

func (DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationOutput) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationState added in v6.1.0

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 added in v6.1.0

type DrtAccessLogBucketAssociationTimeouts added in v6.1.0

type DrtAccessLogBucketAssociationTimeouts struct {
	Create *string `pulumi:"create"`
	Delete *string `pulumi:"delete"`
	Read   *string `pulumi:"read"`
}

type DrtAccessLogBucketAssociationTimeoutsArgs added in v6.1.0

type DrtAccessLogBucketAssociationTimeoutsArgs struct {
	Create pulumi.StringPtrInput `pulumi:"create"`
	Delete pulumi.StringPtrInput `pulumi:"delete"`
	Read   pulumi.StringPtrInput `pulumi:"read"`
}

func (DrtAccessLogBucketAssociationTimeoutsArgs) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutput added in v6.1.0

func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput added in v6.1.0

func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationTimeoutsArgs) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationTimeoutsInput added in v6.1.0

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 added in v6.1.0

type DrtAccessLogBucketAssociationTimeoutsOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationTimeoutsOutput) Create added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsOutput) Delete added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsOutput) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsOutput) Read added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutput added in v6.1.0

func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput added in v6.1.0

func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationTimeoutsOutput) ToOutput added in v6.1.0

type DrtAccessLogBucketAssociationTimeoutsPtrInput added in v6.1.0

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 added in v6.1.0

type DrtAccessLogBucketAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Create added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Delete added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Elem added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ElementType added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) Read added in v6.1.0

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput added in v6.1.0

func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext added in v6.1.0

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

func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociation added in v6.1.0

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/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/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)
		testRole, err := iam.NewRole(ctx, "testRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "testRolePolicyAttachment", &iam.RolePolicyAttachmentArgs{
			Role:      testRole.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy"),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewDrtAccessRoleArnAssociation(ctx, "testDrtAccessRoleArnAssociation", &shield.DrtAccessRoleArnAssociationArgs{
			RoleArn: testRole.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDrtAccessRoleArnAssociation added in v6.1.0

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 added in v6.1.0

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 added in v6.1.0

func (*DrtAccessRoleArnAssociation) ElementType() reflect.Type

func (*DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutput added in v6.1.0

func (i *DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput

func (*DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutputWithContext added in v6.1.0

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

func (*DrtAccessRoleArnAssociation) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationArgs added in v6.1.0

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 added in v6.1.0

type DrtAccessRoleArnAssociationArray added in v6.1.0

type DrtAccessRoleArnAssociationArray []DrtAccessRoleArnAssociationInput

func (DrtAccessRoleArnAssociationArray) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutput added in v6.1.0

func (i DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput

func (DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationArray) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationArrayInput added in v6.1.0

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 added in v6.1.0

type DrtAccessRoleArnAssociationArrayOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationArrayOutput) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationArrayOutput) Index added in v6.1.0

func (DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutput added in v6.1.0

func (o DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput

func (DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationArrayOutput) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationInput added in v6.1.0

type DrtAccessRoleArnAssociationInput interface {
	pulumi.Input

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

type DrtAccessRoleArnAssociationMap added in v6.1.0

type DrtAccessRoleArnAssociationMap map[string]DrtAccessRoleArnAssociationInput

func (DrtAccessRoleArnAssociationMap) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutput added in v6.1.0

func (i DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput

func (DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationMap) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationMapInput added in v6.1.0

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 added in v6.1.0

type DrtAccessRoleArnAssociationMapOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationMapOutput) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationMapOutput) MapIndex added in v6.1.0

func (DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutput added in v6.1.0

func (o DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput

func (DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationMapOutput) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationOutput added in v6.1.0

type DrtAccessRoleArnAssociationOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationOutput) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationOutput) RoleArn added in v6.1.0

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 added in v6.1.0

func (DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutput added in v6.1.0

func (o DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput

func (DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationOutput) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationState added in v6.1.0

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 added in v6.1.0

type DrtAccessRoleArnAssociationTimeouts added in v6.1.0

type DrtAccessRoleArnAssociationTimeouts struct {
	Create *string `pulumi:"create"`
	Delete *string `pulumi:"delete"`
	Read   *string `pulumi:"read"`
}

type DrtAccessRoleArnAssociationTimeoutsArgs added in v6.1.0

type DrtAccessRoleArnAssociationTimeoutsArgs struct {
	Create pulumi.StringPtrInput `pulumi:"create"`
	Delete pulumi.StringPtrInput `pulumi:"delete"`
	Read   pulumi.StringPtrInput `pulumi:"read"`
}

func (DrtAccessRoleArnAssociationTimeoutsArgs) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutput added in v6.1.0

func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput added in v6.1.0

func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationTimeoutsArgs) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationTimeoutsInput added in v6.1.0

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 added in v6.1.0

type DrtAccessRoleArnAssociationTimeoutsOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationTimeoutsOutput) Create added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsOutput) Delete added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsOutput) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsOutput) Read added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutput added in v6.1.0

func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput added in v6.1.0

func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationTimeoutsOutput) ToOutput added in v6.1.0

type DrtAccessRoleArnAssociationTimeoutsPtrInput added in v6.1.0

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 added in v6.1.0

type DrtAccessRoleArnAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Create added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Delete added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Elem added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ElementType added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) Read added in v6.1.0

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput added in v6.1.0

func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext added in v6.1.0

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

func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToOutput added in v6.1.0

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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.GetAvailabilityZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentRegion, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleEip, err := ec2.NewEip(ctx, "exampleEip", &ec2.EipArgs{
			Domain: pulumi.String("vpc"),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProtection(ctx, "exampleProtection", &shield.ProtectionArgs{
			ResourceArn: exampleEip.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("arn:aws:ec2:%v:%v:eip-allocation/%v", currentRegion.Name, currentCallerIdentity.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) ToOutput added in v6.1.0

func (i *Protection) ToOutput(ctx context.Context) pulumix.Output[*Protection]

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/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{
			Aggregation:       pulumi.String("MAX"),
			Pattern:           pulumi.String("ALL"),
			ProtectionGroupId: pulumi.String("example"),
		})
		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/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		currentRegion, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleEip, err := ec2.NewEip(ctx, "exampleEip", &ec2.EipArgs{
			Domain: pulumi.String("vpc"),
		})
		if err != nil {
			return err
		}
		exampleProtection, err := shield.NewProtection(ctx, "exampleProtection", &shield.ProtectionArgs{
			ResourceArn: exampleEip.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("arn:aws:ec2:%v:%v:eip-allocation/%v", currentRegion.Name, currentCallerIdentity.AccountId, id), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = shield.NewProtectionGroup(ctx, "exampleProtectionGroup", &shield.ProtectionGroupArgs{
			ProtectionGroupId: pulumi.String("example"),
			Aggregation:       pulumi.String("MEAN"),
			Pattern:           pulumi.String("ARBITRARY"),
			Members: pulumi.StringArray{
				exampleEip.ID().ApplyT(func(id string) (string, error) {
					return fmt.Sprintf("arn:aws:ec2:%v:%v:eip-allocation/%v", currentRegion.Name, currentCallerIdentity.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/v6/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{
			Aggregation:       pulumi.String("SUM"),
			Pattern:           pulumi.String("BY_RESOURCE_TYPE"),
			ProtectionGroupId: pulumi.String("example"),
			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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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 deprecated

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

Deprecated: Please use `tags` instead.

func (ProtectionGroupOutput) ToOutput added in v6.1.0

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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		currentRegion, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentPartition, err := aws.GetPartition(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleEip, err := ec2.NewEip(ctx, "exampleEip", &ec2.EipArgs{
			Domain: pulumi.String("vpc"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		exampleProtection, err := shield.NewProtection(ctx, "exampleProtection", &shield.ProtectionArgs{
			ResourceArn: exampleEip.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("arn:%v:ec2:%v:%v:eip-allocation/%v", currentPartition.Partition, currentRegion.Name, currentCallerIdentity.AccountId, id), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		exampleHealthCheck, err := route53.NewHealthCheck(ctx, "exampleHealthCheck", &route53.HealthCheckArgs{
			IpAddress:        exampleEip.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, "exampleProtectionHealthCheckAssociation", &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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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 deprecated

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

Deprecated: Please use `tags` instead.

func (ProtectionOutput) ToOutput added in v6.1.0

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (ProtectionState) ElementType

func (ProtectionState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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