package awsshield import ( "github.com/aws/aws-cdk-go/awscdk/v2" ) // Properties for defining a `CfnProtectionGroup`. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // cfnProtectionGroupProps := &CfnProtectionGroupProps{ // Aggregation: jsii.String("aggregation"), // Pattern: jsii.String("pattern"), // ProtectionGroupId: jsii.String("protectionGroupId"), // // // the properties below are optional // Members: []*string{ // jsii.String("members"), // }, // ResourceType: jsii.String("resourceType"), // Tags: []cfnTag{ // &cfnTag{ // Key: jsii.String("key"), // Value: jsii.String("value"), // }, // }, // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html // type CfnProtectionGroupProps struct { // Defines how AWS Shield combines resource data for the group in order to detect, mitigate, and report events. // // - Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically. // - Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers. // - Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html#cfn-shield-protectiongroup-aggregation // Aggregation *string `field:"required" json:"aggregation" yaml:"aggregation"` // The criteria to use to choose the protected resources for inclusion in the group. // // You can include all resources that have protections, provide a list of resource ARNs (Amazon Resource Names), or include all resources of a specified resource type. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html#cfn-shield-protectiongroup-pattern // Pattern *string `field:"required" json:"pattern" yaml:"pattern"` // The name of the protection group. // // You use this to identify the protection group in lists and to manage the protection group, for example to update, delete, or describe it. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html#cfn-shield-protectiongroup-protectiongroupid // ProtectionGroupId *string `field:"required" json:"protectionGroupId" yaml:"protectionGroupId"` // The ARNs (Amazon Resource Names) 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html#cfn-shield-protectiongroup-members // Members *[]*string `field:"optional" json:"members" yaml:"members"` // The resource type to include in the protection group. // // All protected resources of this type are included 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html#cfn-shield-protectiongroup-resourcetype // ResourceType *string `field:"optional" json:"resourceType" yaml:"resourceType"` // Key:value pairs associated with an AWS resource. // // The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html#cfn-shield-protectiongroup-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }