{
  "version": "1.0",
  "resources": {
    "Attack": {
      "operation": "ListAttacks",
      "resourceIdentifier": {
        "AttackId": "AttackSummaries[].AttackId"
      }
    },
    "Protection": {
      "operation": "ListProtections",
      "resourceIdentifier": {
        "ResourceArn": "Protections[].ResourceArn",
        "Id": "Protections[].Id",
        "ProtectionArn": "Protections[].ProtectionArn"
      }
    },
    "ProtectionGroup": {
      "operation": "ListProtectionGroups",
      "resourceIdentifier": {
        "ProtectionGroupId": "ProtectionGroups[].ProtectionGroupId",
        "ProtectionGroupArn": "ProtectionGroups[].ProtectionGroupArn"
      }
    }
  },
  "operations": {
    "DescribeAttack": {
      "AttackId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Attack",
            "resourceIdentifier": "AttackId"
          }
        ]
      }
    },
    "ListAttacks": {
      "ResourceArns": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ResourceArn"
          }
        ]
      }
    },
    "AssociateHealthCheck": {
      "ProtectionId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "Id"
          }
        ]
      }
    },
    "CreateProtectionGroup": {
      "Members": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ProtectionArn"
          }
        ]
      }
    },
    "DeleteProtection": {
      "ProtectionId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "Id"
          }
        ]
      }
    },
    "DeleteProtectionGroup": {
      "ProtectionGroupId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupId"
          }
        ]
      }
    },
    "DescribeProtection": {
      "ProtectionId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "Id"
          }
        ]
      },
      "ResourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ProtectionArn"
          }
        ]
      }
    },
    "DescribeProtectionGroup": {
      "ProtectionGroupId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupId"
          }
        ]
      }
    },
    "DisableApplicationLayerAutomaticResponse": {
      "ResourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ProtectionArn"
          }
        ]
      }
    },
    "DisassociateHealthCheck": {
      "ProtectionId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "Id"
          }
        ]
      }
    },
    "EnableApplicationLayerAutomaticResponse": {
      "ResourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ProtectionArn"
          }
        ]
      }
    },
    "ListResourcesInProtectionGroup": {
      "ProtectionGroupId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupId"
          }
        ]
      }
    },
    "ListTagsForResource": {
      "ResourceARN": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupArn"
          }
        ]
      }
    },
    "TagResource": {
      "ResourceARN": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupArn"
          }
        ]
      }
    },
    "UntagResource": {
      "ResourceARN": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupArn"
          }
        ]
      }
    },
    "UpdateApplicationLayerAutomaticResponse": {
      "ResourceArn": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ProtectionArn"
          }
        ]
      }
    },
    "UpdateProtectionGroup": {
      "ProtectionGroupId": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "ProtectionGroup",
            "resourceIdentifier": "ProtectionGroupId"
          }
        ]
      },
      "Members": {
        "completions": [
          {
            "parameters": {},
            "resourceName": "Protection",
            "resourceIdentifier": "ProtectionArn"
          }
        ]
      }
    }
  }
}
