{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2016-06-02",
    "endpointPrefix": "shield",
    "jsonVersion": "1.1",
    "protocol": "json",
    "serviceAbbreviation": "AWS Shield",
    "serviceFullName": "AWS Shield",
    "signatureVersion": "v4",
    "targetPrefix": "AWSShield_20160616",
    "uid": "shield-2016-06-02"
  },
  "operations": {
    "CreateProtection": {
      "input": {
        "type": "structure",
        "required": [
          "Name",
          "ResourceArn"
        ],
        "members": {
          "Name": {},
          "ResourceArn": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ProtectionId": {}
        }
      }
    },
    "CreateSubscription": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteProtection": {
      "input": {
        "type": "structure",
        "required": [
          "ProtectionId"
        ],
        "members": {
          "ProtectionId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteSubscription": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DescribeAttack": {
      "input": {
        "type": "structure",
        "required": [
          "AttackId"
        ],
        "members": {
          "AttackId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Attack": {
            "type": "structure",
            "members": {
              "AttackId": {},
              "ResourceArn": {},
              "SubResources": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "Type": {},
                    "Id": {},
                    "AttackVectors": {
                      "type": "list",
                      "member": {
                        "type": "structure",
                        "required": [
                          "VectorType"
                        ],
                        "members": {
                          "VectorType": {},
                          "VectorCounters": {
                            "shape": "Sm"
                          }
                        }
                      }
                    },
                    "Counters": {
                      "shape": "Sm"
                    }
                  }
                }
              },
              "StartTime": {
                "type": "timestamp"
              },
              "EndTime": {
                "type": "timestamp"
              },
              "AttackCounters": {
                "shape": "Sm"
              },
              "Mitigations": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "MitigationName": {}
                  }
                }
              }
            }
          }
        }
      }
    },
    "DescribeProtection": {
      "input": {
        "type": "structure",
        "required": [
          "ProtectionId"
        ],
        "members": {
          "ProtectionId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Protection": {
            "shape": "Sv"
          }
        }
      }
    },
    "DescribeSubscription": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "Subscription": {
            "type": "structure",
            "members": {
              "StartTime": {
                "type": "timestamp"
              },
              "TimeCommitmentInSeconds": {
                "type": "long"
              }
            }
          }
        }
      }
    },
    "ListAttacks": {
      "input": {
        "type": "structure",
        "members": {
          "ResourceArns": {
            "type": "list",
            "member": {}
          },
          "StartTime": {
            "shape": "S13"
          },
          "EndTime": {
            "shape": "S13"
          },
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AttackSummaries": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AttackId": {},
                "ResourceArn": {},
                "StartTime": {
                  "type": "timestamp"
                },
                "EndTime": {
                  "type": "timestamp"
                },
                "AttackVectors": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "required": [
                      "VectorType"
                    ],
                    "members": {
                      "VectorType": {}
                    }
                  }
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListProtections": {
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "MaxResults": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Protections": {
            "type": "list",
            "member": {
              "shape": "Sv"
            }
          },
          "NextToken": {}
        }
      }
    }
  },
  "shapes": {
    "Sm": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Name": {},
          "Max": {
            "type": "double"
          },
          "Average": {
            "type": "double"
          },
          "Sum": {
            "type": "double"
          },
          "N": {
            "type": "integer"
          },
          "Unit": {}
        }
      }
    },
    "Sv": {
      "type": "structure",
      "members": {
        "Id": {},
        "Name": {},
        "ResourceArn": {}
      }
    },
    "S13": {
      "type": "structure",
      "members": {
        "FromInclusive": {
          "type": "timestamp"
        },
        "ToExclusive": {
          "type": "timestamp"
        }
      }
    }
  }
}