Amazon Shield · Schema

Amazon Shield Protection

Schema representing an AWS Shield protection resource. A protection enables AWS Shield Advanced DDoS protection for a specific AWS resource such as an Elastic IP, CloudFront distribution, or Application Load Balancer.

DDoS ProtectionNetworkingSecurity

Properties

Name Type Description
Id string The unique identifier (ID) of the protection.
Name string The name of the protection.
ResourceArn string The ARN of the AWS resource that is protected.
ProtectionArn string The ARN of the protection.
HealthCheckIds array The unique identifiers for the health check associations.
ApplicationLayerAutomaticResponseConfiguration object
Tags array Tags associated with the protection.
View JSON Schema on GitHub

JSON Schema

amazon-shield-protection-schema.json Raw ↑
{
  "$id": "https://schema.api.io/amazon-shield/amazon-shield-protection-schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Amazon Shield Protection",
  "description": "Schema representing an AWS Shield protection resource. A protection enables AWS Shield Advanced DDoS protection for a specific AWS resource such as an Elastic IP, CloudFront distribution, or Application Load Balancer.",
  "type": "object",
  "required": [
    "Name",
    "ResourceArn"
  ],
  "properties": {
    "Id": {
      "type": "string",
      "description": "The unique identifier (ID) of the protection."
    },
    "Name": {
      "type": "string",
      "description": "The name of the protection.",
      "minLength": 1,
      "maxLength": 128
    },
    "ResourceArn": {
      "type": "string",
      "description": "The ARN of the AWS resource that is protected."
    },
    "ProtectionArn": {
      "type": "string",
      "description": "The ARN of the protection.",
      "pattern": "^arn:aws:shield::[0-9]{12}:protection/[a-zA-Z0-9-]+$"
    },
    "HealthCheckIds": {
      "type": "array",
      "description": "The unique identifiers for the health check associations.",
      "items": {
        "type": "string"
      }
    },
    "ApplicationLayerAutomaticResponseConfiguration": {
      "$ref": "#/$defs/ApplicationLayerAutomaticResponseConfiguration"
    },
    "Tags": {
      "type": "array",
      "description": "Tags associated with the protection.",
      "items": {
        "$ref": "#/$defs/Tag"
      }
    }
  },
  "$defs": {
    "ApplicationLayerAutomaticResponseConfiguration": {
      "type": "object",
      "properties": {
        "Status": {
          "type": "string",
          "description": "Indicates whether automatic application layer DDoS mitigation is enabled.",
          "enum": ["ENABLED", "DISABLED"]
        },
        "Action": {
          "type": "object",
          "description": "Specifies the action setting for the automatic response.",
          "properties": {
            "Block": {
              "type": "object",
              "description": "Specifies that Shield Advanced should block requests."
            },
            "Count": {
              "type": "object",
              "description": "Specifies that Shield Advanced should count requests."
            }
          }
        }
      }
    },
    "Tag": {
      "type": "object",
      "required": ["Key"],
      "properties": {
        "Key": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128
        },
        "Value": {
          "type": "string",
          "maxLength": 256
        }
      }
    }
  }
}