1. Packages
  2. AWS Native
  3. API Docs
  4. shield
  5. Protection

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.103.0 published on Monday, Apr 22, 2024 by Pulumi

aws-native.shield.Protection

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.103.0 published on Monday, Apr 22, 2024 by Pulumi

    Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses.

    Create Protection Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Protection(name: string, args: ProtectionArgs, opts?: CustomResourceOptions);
    @overload
    def Protection(resource_name: str,
                   args: ProtectionArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Protection(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   resource_arn: Optional[str] = None,
                   application_layer_automatic_response_configuration: Optional[ProtectionApplicationLayerAutomaticResponseConfigurationArgs] = None,
                   health_check_arns: Optional[Sequence[str]] = None,
                   name: Optional[str] = None,
                   tags: Optional[Sequence[_root_inputs.TagArgs]] = None)
    func NewProtection(ctx *Context, name string, args ProtectionArgs, opts ...ResourceOption) (*Protection, error)
    public Protection(string name, ProtectionArgs args, CustomResourceOptions? opts = null)
    public Protection(String name, ProtectionArgs args)
    public Protection(String name, ProtectionArgs args, CustomResourceOptions options)
    
    type: aws-native:shield:Protection
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ProtectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ProtectionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ProtectionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProtectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ProtectionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    const protectionResource = new aws_native.shield.Protection("protectionResource", {
        resourceArn: "string",
        applicationLayerAutomaticResponseConfiguration: {
            action: {
                count: "any",
            },
            status: aws_native.shield.ProtectionApplicationLayerAutomaticResponseConfigurationStatus.Enabled,
        },
        healthCheckArns: ["string"],
        name: "string",
        tags: [{
            key: "string",
            value: "string",
        }],
    });
    
    Coming soon!
    

    Protection Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Protection resource accepts the following input properties:

    ResourceArn string
    The ARN (Amazon Resource Name) of the resource to be protected.
    ApplicationLayerAutomaticResponseConfiguration Pulumi.AwsNative.Shield.Inputs.ProtectionApplicationLayerAutomaticResponseConfiguration
    HealthCheckArns List<string>
    The Amazon Resource Names (ARNs) of the health check to associate with the protection.
    Name string
    Friendly name for the Protection.
    Tags List<Pulumi.AwsNative.Inputs.Tag>
    One or more tag key-value pairs for the Protection object.
    ResourceArn string
    The ARN (Amazon Resource Name) of the resource to be protected.
    ApplicationLayerAutomaticResponseConfiguration ProtectionApplicationLayerAutomaticResponseConfigurationArgs
    HealthCheckArns []string
    The Amazon Resource Names (ARNs) of the health check to associate with the protection.
    Name string
    Friendly name for the Protection.
    Tags TagArgs
    One or more tag key-value pairs for the Protection object.
    resourceArn String
    The ARN (Amazon Resource Name) of the resource to be protected.
    applicationLayerAutomaticResponseConfiguration ProtectionApplicationLayerAutomaticResponseConfiguration
    healthCheckArns List<String>
    The Amazon Resource Names (ARNs) of the health check to associate with the protection.
    name String
    Friendly name for the Protection.
    tags List<Tag>
    One or more tag key-value pairs for the Protection object.
    resourceArn string
    The ARN (Amazon Resource Name) of the resource to be protected.
    applicationLayerAutomaticResponseConfiguration ProtectionApplicationLayerAutomaticResponseConfiguration
    healthCheckArns string[]
    The Amazon Resource Names (ARNs) of the health check to associate with the protection.
    name string
    Friendly name for the Protection.
    tags Tag[]
    One or more tag key-value pairs for the Protection object.
    resource_arn str
    The ARN (Amazon Resource Name) of the resource to be protected.
    application_layer_automatic_response_configuration ProtectionApplicationLayerAutomaticResponseConfigurationArgs
    health_check_arns Sequence[str]
    The Amazon Resource Names (ARNs) of the health check to associate with the protection.
    name str
    Friendly name for the Protection.
    tags Sequence[TagArgs]
    One or more tag key-value pairs for the Protection object.
    resourceArn String
    The ARN (Amazon Resource Name) of the resource to be protected.
    applicationLayerAutomaticResponseConfiguration Property Map
    healthCheckArns List<String>
    The Amazon Resource Names (ARNs) of the health check to associate with the protection.
    name String
    Friendly name for the Protection.
    tags List<Property Map>
    One or more tag key-value pairs for the Protection object.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Protection resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    ProtectionArn string
    The ARN (Amazon Resource Name) of the protection.
    ProtectionId string
    The unique identifier (ID) of the protection.
    Id string
    The provider-assigned unique ID for this managed resource.
    ProtectionArn string
    The ARN (Amazon Resource Name) of the protection.
    ProtectionId string
    The unique identifier (ID) of the protection.
    id String
    The provider-assigned unique ID for this managed resource.
    protectionArn String
    The ARN (Amazon Resource Name) of the protection.
    protectionId String
    The unique identifier (ID) of the protection.
    id string
    The provider-assigned unique ID for this managed resource.
    protectionArn string
    The ARN (Amazon Resource Name) of the protection.
    protectionId string
    The unique identifier (ID) of the protection.
    id str
    The provider-assigned unique ID for this managed resource.
    protection_arn str
    The ARN (Amazon Resource Name) of the protection.
    protection_id str
    The unique identifier (ID) of the protection.
    id String
    The provider-assigned unique ID for this managed resource.
    protectionArn String
    The ARN (Amazon Resource Name) of the protection.
    protectionId String
    The unique identifier (ID) of the protection.

    Supporting Types

    ProtectionApplicationLayerAutomaticResponseConfiguration, ProtectionApplicationLayerAutomaticResponseConfigurationArgs

    Action Pulumi.AwsNative.Shield.Inputs.ProtectionApplicationLayerAutomaticResponseConfigurationAction0Properties | Pulumi.AwsNative.Shield.Inputs.ProtectionApplicationLayerAutomaticResponseConfigurationAction1Properties
    Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
    Status Pulumi.AwsNative.Shield.ProtectionApplicationLayerAutomaticResponseConfigurationStatus
    Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
    Action ProtectionApplicationLayerAutomaticResponseConfigurationAction0Properties | ProtectionApplicationLayerAutomaticResponseConfigurationAction1Properties
    Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
    Status ProtectionApplicationLayerAutomaticResponseConfigurationStatus
    Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
    action ProtectionApplicationLayerAutomaticResponseConfigurationAction0Properties | ProtectionApplicationLayerAutomaticResponseConfigurationAction1Properties
    Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
    status ProtectionApplicationLayerAutomaticResponseConfigurationStatus
    Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
    action ProtectionApplicationLayerAutomaticResponseConfigurationAction0Properties | ProtectionApplicationLayerAutomaticResponseConfigurationAction1Properties
    Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
    status ProtectionApplicationLayerAutomaticResponseConfigurationStatus
    Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
    action ProtectionApplicationLayerAutomaticResponseConfigurationAction0Properties | ProtectionApplicationLayerAutomaticResponseConfigurationAction1Properties
    Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
    status ProtectionApplicationLayerAutomaticResponseConfigurationStatus
    Indicates whether automatic application layer DDoS mitigation is enabled for the protection.
    action Property Map | Property Map
    Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.
    status "ENABLED" | "DISABLED"
    Indicates whether automatic application layer DDoS mitigation is enabled for the protection.

    ProtectionApplicationLayerAutomaticResponseConfigurationAction0Properties, ProtectionApplicationLayerAutomaticResponseConfigurationAction0PropertiesArgs

    Count object
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Count action. You must specify exactly one action, either Block or Count.
    Count interface{}
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Count action. You must specify exactly one action, either Block or Count.
    count Object
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Count action. You must specify exactly one action, either Block or Count.
    count any
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Count action. You must specify exactly one action, either Block or Count.
    count Any
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Count action. You must specify exactly one action, either Block or Count.
    count Any
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Count action. You must specify exactly one action, either Block or Count.

    ProtectionApplicationLayerAutomaticResponseConfigurationAction1Properties, ProtectionApplicationLayerAutomaticResponseConfigurationAction1PropertiesArgs

    Block object
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Block action. You must specify exactly one action, either Block or Count.
    Block interface{}
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Block action. You must specify exactly one action, either Block or Count.
    block Object
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Block action. You must specify exactly one action, either Block or Count.
    block any
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Block action. You must specify exactly one action, either Block or Count.
    block Any
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Block action. You must specify exactly one action, either Block or Count.
    block Any
    Specifies that Shield Advanced should configure its AWS WAF rules with the AWS WAF Block action. You must specify exactly one action, either Block or Count.

    ProtectionApplicationLayerAutomaticResponseConfigurationStatus, ProtectionApplicationLayerAutomaticResponseConfigurationStatusArgs

    Enabled
    ENABLED
    Disabled
    DISABLED
    ProtectionApplicationLayerAutomaticResponseConfigurationStatusEnabled
    ENABLED
    ProtectionApplicationLayerAutomaticResponseConfigurationStatusDisabled
    DISABLED
    Enabled
    ENABLED
    Disabled
    DISABLED
    Enabled
    ENABLED
    Disabled
    DISABLED
    ENABLED
    ENABLED
    DISABLED
    DISABLED
    "ENABLED"
    ENABLED
    "DISABLED"
    DISABLED

    Tag, TagArgs

    Key string
    The key name of the tag
    Value string
    The value of the tag
    Key string
    The key name of the tag
    Value string
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag
    key string
    The key name of the tag
    value string
    The value of the tag
    key str
    The key name of the tag
    value str
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.103.0 published on Monday, Apr 22, 2024 by Pulumi