{
"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":{
"name":"CreateProtection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateProtectionRequest"},
"output":{"shape":"CreateProtectionResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"InvalidResourceException"},
{"shape":"InvalidOperationException"},
{"shape":"LimitsExceededException"},
{"shape":"ResourceAlreadyExistsException"},
{"shape":"OptimisticLockException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, or an Amazon Route 53 hosted zone.</p>"
},
"CreateSubscription":{
"name":"CreateSubscription",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateSubscriptionRequest"},
"output":{"shape":"CreateSubscriptionResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"ResourceAlreadyExistsException"}
],
"documentation":"<p>Activates AWS Shield Advanced for an account.</p>"
},
"DeleteProtection":{
"name":"DeleteProtection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteProtectionRequest"},
"output":{"shape":"DeleteProtectionResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"ResourceNotFoundException"},
{"shape":"OptimisticLockException"}
],
"documentation":"<p>Deletes an AWS Shield Advanced <a>Protection</a>.</p>"
},
"DeleteSubscription":{
"name":"DeleteSubscription",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteSubscriptionRequest"},
"output":{"shape":"DeleteSubscriptionResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"LockedSubscriptionException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Removes AWS Shield Advanced from an account.</p>"
},
"DescribeAttack":{
"name":"DescribeAttack",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeAttackRequest"},
"output":{"shape":"DescribeAttackResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Describes the details of a DDoS attack. </p>"
},
"DescribeProtection":{
"name":"DescribeProtection",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeProtectionRequest"},
"output":{"shape":"DescribeProtectionResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Lists the details of a <a>Protection</a> object.</p>"
},
"DescribeSubscription":{
"name":"DescribeSubscription",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeSubscriptionRequest"},
"output":{"shape":"DescribeSubscriptionResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Provides details about the AWS Shield Advanced subscription for an account.</p>"
},
"ListAttacks":{
"name":"ListAttacks",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListAttacksRequest"},
"output":{"shape":"ListAttacksResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"InvalidParameterException"},
{"shape":"InvalidOperationException"}
],
"documentation":"<p>Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.</p>"
},
"ListProtections":{
"name":"ListProtections",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListProtectionsRequest"},
"output":{"shape":"ListProtectionsResponse"},
"errors":[
{"shape":"InternalErrorException"},
{"shape":"ResourceNotFoundException"}
],
"documentation":"<p>Lists all <a>Protection</a> objects for the account.</p>"
}
},
"shapes":{
"AttackDetail":{
"type":"structure",
"members":{
"AttackId":{
"shape":"AttackId",
"documentation":"<p>The unique identifier (ID) of the attack.</p>"
},
"ResourceArn":{
"shape":"ResourceArn",
"documentation":"<p>The ARN (Amazon Resource Name) of the resource that was attacked.</p>"
},
"SubResources":{
"shape":"SubResourceSummaryList",
"documentation":"<p>If applicable, additional detail about the resource being attacked, for example, IP address or URL.</p>"
},
"StartTime":{
"shape":"AttackTimestamp",
"documentation":"<p>The time the attack started, in the format 2016-12-16T13:50Z.</p>"
},
"EndTime":{
"shape":"AttackTimestamp",
"documentation":"<p>The time the attack ended, in the format 2016-12-16T13:50Z.</p>"
},
"AttackCounters":{
"shape":"SummarizedCounterList",
"documentation":"<p>List of counters that describe the attack for the specified time period.</p>"
},
"Mitigations":{
"shape":"MitigationList",
"documentation":"<p>List of mitigation actions taken for the attack.</p>"
}
},
"documentation":"<p>The details of a DDoS attack.</p>"
},
"AttackId":{
"type":"string",
"max":128,
"min":1,
"pattern":"[a-zA-Z0-9\\\\-]*"
},
"AttackSummaries":{
"type":"list",
"member":{"shape":"AttackSummary"}
},
"AttackSummary":{
"type":"structure",
"members":{
"AttackId":{
"shape":"String",
"documentation":"<p>The unique identifier (ID) of the attack.</p>"
},
"ResourceArn":{
"shape":"String",
"documentation":"<p>The ARN (Amazon Resource Name) of the resource that was attacked.</p>"
},
"StartTime":{
"shape":"AttackTimestamp",
"documentation":"<p>The start time of the attack, in the format 2016-12-16T13:50Z.</p>"
},
"EndTime":{
"shape":"AttackTimestamp",
"documentation":"<p>The end time of the attack, in the format 2016-12-16T13:50Z.</p>"
},
"AttackVectors":{
"shape":"AttackVectorDescriptionList",
"documentation":"<p>The list of attacks for a specified time period.</p>"
}
},
"documentation":"<p>Summarizes all DDoS attacks for a specified time period.</p>"
},
"AttackTimestamp":{"type":"timestamp"},
"AttackVectorDescription":{
"type":"structure",
"required":["VectorType"],
"members":{
"VectorType":{
"shape":"String",
"documentation":"<p>The attack type, for example, SNMP reflection or SYN flood.</p>"
}
},
"documentation":"<p>Describes the attack.</p>"
},
"AttackVectorDescriptionList":{
"type":"list",
"member":{"shape":"AttackVectorDescription"}
},
"CreateProtectionRequest":{
"type":"structure",
"required":[
"Name",
"ResourceArn"
],
"members":{
"Name":{
"shape":"ProtectionName",
"documentation":"<p>Friendly name for the <code>Protection</code> you are creating.</p>"
},
"ResourceArn":{
"shape":"ResourceArn",
"documentation":"<p>The ARN (Amazon Resource Name) of the resource to be protected.</p>"
}
}
},
"CreateProtectionResponse":{
"type":"structure",
"members":{
"ProtectionId":{
"shape":"ProtectionId",
"documentation":"<p>The unique identifier (ID) for the <a>Protection</a> object that is created.</p>"
}
}
},
"CreateSubscriptionRequest":{
"type":"structure",
"members":{
}
},
"CreateSubscriptionResponse":{
"type":"structure",
"members":{
}
},
"DeleteProtectionRequest":{
"type":"structure",
"required":["ProtectionId"],
"members":{
"ProtectionId":{
"shape":"ProtectionId",
"documentation":"<p>The unique identifier (ID) for the <a>Protection</a> object to be deleted.</p>"
}
}
},
"DeleteProtectionResponse":{
"type":"structure",
"members":{
}
},
"DeleteSubscriptionRequest":{
"type":"structure",
"members":{
}
},
"DeleteSubscriptionResponse":{
"type":"structure",
"members":{
}
},
"DescribeAttackRequest":{
"type":"structure",
"required":["AttackId"],
"members":{
"AttackId":{
"shape":"AttackId",
"documentation":"<p>The unique identifier (ID) for the attack that to be described.</p>"
}
}
},
"DescribeAttackResponse":{
"type":"structure",
"members":{
"Attack":{
"shape":"AttackDetail",
"documentation":"<p>The attack that is described.</p>"
}
}
},
"DescribeProtectionRequest":{
"type":"structure",
"required":["ProtectionId"],
"members":{
"ProtectionId":{
"shape":"ProtectionId",
"documentation":"<p>The unique identifier (ID) for the <a>Protection</a> object that is described.</p>"
}
}
},
"DescribeProtectionResponse":{
"type":"structure",
"members":{
"Protection":{
"shape":"Protection",
"documentation":"<p>The <a>Protection</a> object that is described.</p>"
}
}
},
"DescribeSubscriptionRequest":{
"type":"structure",
"members":{
}
},
"DescribeSubscriptionResponse":{
"type":"structure",
"members":{
"Subscription":{
"shape":"Subscription",
Loading ...