1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2017-07-25",
5    "endpointPrefix":"api.elastic-inference",
6    "jsonVersion":"1.1",
7    "protocol":"rest-json",
8    "serviceAbbreviation":"Amazon Elastic Inference",
9    "serviceFullName":"Amazon Elastic  Inference",
10    "serviceId":"Elastic Inference",
11    "signatureVersion":"v4",
12    "signingName":"elastic-inference",
13    "uid":"elastic-inference-2017-07-25"
14  },
15  "operations":{
16    "DescribeAcceleratorOfferings":{
17      "name":"DescribeAcceleratorOfferings",
18      "http":{
19        "method":"POST",
20        "requestUri":"/describe-accelerator-offerings"
21      },
22      "input":{"shape":"DescribeAcceleratorOfferingsRequest"},
23      "output":{"shape":"DescribeAcceleratorOfferingsResponse"},
24      "errors":[
25        {"shape":"BadRequestException"},
26        {"shape":"ResourceNotFoundException"},
27        {"shape":"InternalServerException"}
28      ],
29      "documentation":"<p> Describes the locations in which a given accelerator type or set of types is present in a given region. </p>"
30    },
31    "DescribeAcceleratorTypes":{
32      "name":"DescribeAcceleratorTypes",
33      "http":{
34        "method":"GET",
35        "requestUri":"/describe-accelerator-types"
36      },
37      "input":{"shape":"DescribeAcceleratorTypesRequest"},
38      "output":{"shape":"DescribeAcceleratorTypesResponse"},
39      "errors":[
40        {"shape":"InternalServerException"}
41      ],
42      "documentation":"<p> Describes the accelerator types available in a given region, as well as their characteristics, such as memory and throughput. </p>"
43    },
44    "DescribeAccelerators":{
45      "name":"DescribeAccelerators",
46      "http":{
47        "method":"POST",
48        "requestUri":"/describe-accelerators"
49      },
50      "input":{"shape":"DescribeAcceleratorsRequest"},
51      "output":{"shape":"DescribeAcceleratorsResponse"},
52      "errors":[
53        {"shape":"BadRequestException"},
54        {"shape":"ResourceNotFoundException"},
55        {"shape":"InternalServerException"}
56      ],
57      "documentation":"<p> Describes information over a provided set of accelerators belonging to an account. </p>"
58    },
59    "ListTagsForResource":{
60      "name":"ListTagsForResource",
61      "http":{
62        "method":"GET",
63        "requestUri":"/tags/{resourceArn}"
64      },
65      "input":{"shape":"ListTagsForResourceRequest"},
66      "output":{"shape":"ListTagsForResourceResult"},
67      "errors":[
68        {"shape":"BadRequestException"},
69        {"shape":"ResourceNotFoundException"},
70        {"shape":"InternalServerException"}
71      ],
72      "documentation":"<p> Returns all tags of an Elastic Inference Accelerator. </p>"
73    },
74    "TagResource":{
75      "name":"TagResource",
76      "http":{
77        "method":"POST",
78        "requestUri":"/tags/{resourceArn}"
79      },
80      "input":{"shape":"TagResourceRequest"},
81      "output":{"shape":"TagResourceResult"},
82      "errors":[
83        {"shape":"BadRequestException"},
84        {"shape":"ResourceNotFoundException"},
85        {"shape":"InternalServerException"}
86      ],
87      "documentation":"<p> Adds the specified tags to an Elastic Inference Accelerator. </p>"
88    },
89    "UntagResource":{
90      "name":"UntagResource",
91      "http":{
92        "method":"DELETE",
93        "requestUri":"/tags/{resourceArn}"
94      },
95      "input":{"shape":"UntagResourceRequest"},
96      "output":{"shape":"UntagResourceResult"},
97      "errors":[
98        {"shape":"BadRequestException"},
99        {"shape":"ResourceNotFoundException"},
100        {"shape":"InternalServerException"}
101      ],
102      "documentation":"<p> Removes the specified tags from an Elastic Inference Accelerator. </p>"
103    }
104  },
105  "shapes":{
106    "AcceleratorHealthStatus":{
107      "type":"string",
108      "max":256,
109      "min":1
110    },
111    "AcceleratorId":{
112      "type":"string",
113      "max":256,
114      "min":1,
115      "pattern":"^eia-[0-9a-f]+$"
116    },
117    "AcceleratorIdList":{
118      "type":"list",
119      "member":{"shape":"AcceleratorId"},
120      "max":1000,
121      "min":0
122    },
123    "AcceleratorType":{
124      "type":"structure",
125      "members":{
126        "acceleratorTypeName":{
127          "shape":"AcceleratorTypeName",
128          "documentation":"<p> The name of the Elastic Inference Accelerator type. </p>"
129        },
130        "memoryInfo":{
131          "shape":"MemoryInfo",
132          "documentation":"<p> The memory information of the Elastic Inference Accelerator type. </p>"
133        },
134        "throughputInfo":{
135          "shape":"ThroughputInfoList",
136          "documentation":"<p> The throughput information of the Elastic Inference Accelerator type. </p>"
137        }
138      },
139      "documentation":"<p> The details of an Elastic Inference Accelerator type. </p>"
140    },
141    "AcceleratorTypeList":{
142      "type":"list",
143      "member":{"shape":"AcceleratorType"},
144      "max":100,
145      "min":0
146    },
147    "AcceleratorTypeName":{
148      "type":"string",
149      "max":256,
150      "min":1,
151      "pattern":"^\\S+$"
152    },
153    "AcceleratorTypeNameList":{
154      "type":"list",
155      "member":{"shape":"AcceleratorTypeName"},
156      "max":100,
157      "min":0
158    },
159    "AcceleratorTypeOffering":{
160      "type":"structure",
161      "members":{
162        "acceleratorType":{
163          "shape":"AcceleratorTypeName",
164          "documentation":"<p> The name of the Elastic Inference Accelerator type. </p>"
165        },
166        "locationType":{
167          "shape":"LocationType",
168          "documentation":"<p> The location type for the offering. It can assume the following values: region: defines that the offering is at the regional level. availability-zone: defines that the offering is at the availability zone level. availability-zone-id: defines that the offering is at the availability zone level, defined by the availability zone id. </p>"
169        },
170        "location":{
171          "shape":"Location",
172          "documentation":"<p> The location for the offering. It will return either the region, availability zone or availability zone id for the offering depending on the locationType value. </p>"
173        }
174      },
175      "documentation":"<p> The offering for an Elastic Inference Accelerator type. </p>"
176    },
177    "AcceleratorTypeOfferingList":{
178      "type":"list",
179      "member":{"shape":"AcceleratorTypeOffering"},
180      "max":100,
181      "min":0
182    },
183    "AvailabilityZone":{
184      "type":"string",
185      "max":256,
186      "min":1
187    },
188    "BadRequestException":{
189      "type":"structure",
190      "members":{
191        "message":{"shape":"String"}
192      },
193      "documentation":"<p> Raised when a malformed input has been provided to the API. </p>",
194      "error":{"httpStatusCode":400},
195      "exception":true
196    },
197    "DescribeAcceleratorOfferingsRequest":{
198      "type":"structure",
199      "required":["locationType"],
200      "members":{
201        "locationType":{
202          "shape":"LocationType",
203          "documentation":"<p> The location type that you want to describe accelerator type offerings for. It can assume the following values: region: will return the accelerator type offering at the regional level. availability-zone: will return the accelerator type offering at the availability zone level. availability-zone-id: will return the accelerator type offering at the availability zone level returning the availability zone id. </p>"
204        },
205        "acceleratorTypes":{
206          "shape":"AcceleratorTypeNameList",
207          "documentation":"<p> The list of accelerator types to describe. </p>"
208        }
209      }
210    },
211    "DescribeAcceleratorOfferingsResponse":{
212      "type":"structure",
213      "members":{
214        "acceleratorTypeOfferings":{
215          "shape":"AcceleratorTypeOfferingList",
216          "documentation":"<p> The list of accelerator type offerings for a specific location. </p>"
217        }
218      }
219    },
220    "DescribeAcceleratorTypesRequest":{
221      "type":"structure",
222      "members":{
223      }
224    },
225    "DescribeAcceleratorTypesResponse":{
226      "type":"structure",
227      "members":{
228        "acceleratorTypes":{
229          "shape":"AcceleratorTypeList",
230          "documentation":"<p> The available accelerator types. </p>"
231        }
232      }
233    },
234    "DescribeAcceleratorsRequest":{
235      "type":"structure",
236      "members":{
237        "acceleratorIds":{
238          "shape":"AcceleratorIdList",
239          "documentation":"<p> The IDs of the accelerators to describe. </p>"
240        },
241        "filters":{
242          "shape":"FilterList",
243          "documentation":"<p> One or more filters. Filter names and values are case-sensitive. Valid filter names are: accelerator-types: can provide a list of accelerator type names to filter for. instance-id: can provide a list of EC2 instance ids to filter for. </p>"
244        },
245        "maxResults":{
246          "shape":"MaxResults",
247          "documentation":"<p> The total number of items to return in the command's output. If the total number of items available is more than the value specified, a NextToken is provided in the command's output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the AWS CLI. </p>"
248        },
249        "nextToken":{
250          "shape":"NextToken",
251          "documentation":"<p> A token to specify where to start paginating. This is the NextToken from a previously truncated response. </p>"
252        }
253      }
254    },
255    "DescribeAcceleratorsResponse":{
256      "type":"structure",
257      "members":{
258        "acceleratorSet":{
259          "shape":"ElasticInferenceAcceleratorSet",
260          "documentation":"<p> The details of the Elastic Inference Accelerators. </p>"
261        },
262        "nextToken":{
263          "shape":"NextToken",
264          "documentation":"<p> A token to specify where to start paginating. This is the NextToken from a previously truncated response. </p>"
265        }
266      }
267    },
268    "ElasticInferenceAccelerator":{
269      "type":"structure",
270      "members":{
271        "acceleratorHealth":{
272          "shape":"ElasticInferenceAcceleratorHealth",
273          "documentation":"<p> The health of the Elastic Inference Accelerator. </p>"
274        },
275        "acceleratorType":{
276          "shape":"AcceleratorTypeName",
277          "documentation":"<p> The type of the Elastic Inference Accelerator. </p>"
278        },
279        "acceleratorId":{
280          "shape":"AcceleratorId",
281          "documentation":"<p> The ID of the Elastic Inference Accelerator. </p>"
282        },
283        "availabilityZone":{
284          "shape":"AvailabilityZone",
285          "documentation":"<p> The availability zone where the Elastic Inference Accelerator is present. </p>"
286        },
287        "attachedResource":{
288          "shape":"ResourceArn",
289          "documentation":"<p> The ARN of the resource that the Elastic Inference Accelerator is attached to. </p>"
290        }
291      },
292      "documentation":"<p> The details of an Elastic Inference Accelerator. </p>"
293    },
294    "ElasticInferenceAcceleratorHealth":{
295      "type":"structure",
296      "members":{
297        "status":{
298          "shape":"AcceleratorHealthStatus",
299          "documentation":"<p> The health status of the Elastic Inference Accelerator. </p>"
300        }
301      },
302      "documentation":"<p> The health details of an Elastic Inference Accelerator. </p>"
303    },
304    "ElasticInferenceAcceleratorSet":{
305      "type":"list",
306      "member":{"shape":"ElasticInferenceAccelerator"}
307    },
308    "Filter":{
309      "type":"structure",
310      "members":{
311        "name":{
312          "shape":"FilterName",
313          "documentation":"<p> The filter name for the Elastic Inference Accelerator list. It can assume the following values: accelerator-type: the type of Elastic Inference Accelerator to filter for. instance-id: an EC2 instance id to filter for. </p>"
314        },
315        "values":{
316          "shape":"ValueStringList",
317          "documentation":"<p> The values for the filter of the Elastic Inference Accelerator list. </p>"
318        }
319      },
320      "documentation":"<p> A filter expression for the Elastic Inference Accelerator list. </p>"
321    },
322    "FilterList":{
323      "type":"list",
324      "member":{"shape":"Filter"},
325      "max":100,
326      "min":0
327    },
328    "FilterName":{
329      "type":"string",
330      "max":128,
331      "min":1,
332      "pattern":"^\\S+$"
333    },
334    "Integer":{"type":"integer"},
335    "InternalServerException":{
336      "type":"structure",
337      "members":{
338        "message":{"shape":"String"}
339      },
340      "documentation":"<p> Raised when an unexpected error occurred during request processing. </p>",
341      "error":{"httpStatusCode":500},
342      "exception":true
343    },
344    "Key":{
345      "type":"string",
346      "max":256,
347      "min":1,
348      "pattern":"^\\S+$"
349    },
350    "KeyValuePair":{
351      "type":"structure",
352      "members":{
353        "key":{
354          "shape":"Key",
355          "documentation":"<p> The throughput value of the Elastic Inference Accelerator type. It can assume the following values: TFLOPS16bit: the throughput expressed in 16bit TeraFLOPS. TFLOPS32bit: the throughput expressed in 32bit TeraFLOPS. </p>"
356        },
357        "value":{
358          "shape":"Value",
359          "documentation":"<p> The throughput value of the Elastic Inference Accelerator type. </p>"
360        }
361      },
362      "documentation":"<p> A throughput entry for an Elastic Inference Accelerator type. </p>"
363    },
364    "ListTagsForResourceRequest":{
365      "type":"structure",
366      "required":["resourceArn"],
367      "members":{
368        "resourceArn":{
369          "shape":"ResourceARN",
370          "documentation":"<p> The ARN of the Elastic Inference Accelerator to list the tags for. </p>",
371          "location":"uri",
372          "locationName":"resourceArn"
373        }
374      }
375    },
376    "ListTagsForResourceResult":{
377      "type":"structure",
378      "members":{
379        "tags":{
380          "shape":"TagMap",
381          "documentation":"<p> The tags of the Elastic Inference Accelerator. </p>"
382        }
383      }
384    },
385    "Location":{
386      "type":"string",
387      "max":256,
388      "min":1
389    },
390    "LocationType":{
391      "type":"string",
392      "enum":[
393        "region",
394        "availability-zone",
395        "availability-zone-id"
396      ],
397      "max":256,
398      "min":1
399    },
400    "MaxResults":{
401      "type":"integer",
402      "max":100,
403      "min":0
404    },
405    "MemoryInfo":{
406      "type":"structure",
407      "members":{
408        "sizeInMiB":{
409          "shape":"Integer",
410          "documentation":"<p> The size in mebibytes of the Elastic Inference Accelerator type. </p>"
411        }
412      },
413      "documentation":"<p> The memory information of an Elastic Inference Accelerator type. </p>"
414    },
415    "NextToken":{
416      "type":"string",
417      "max":2048,
418      "min":1,
419      "pattern":"^[A-Za-z0-9+/]+={0,2}$"
420    },
421    "ResourceARN":{
422      "type":"string",
423      "max":1011,
424      "min":1,
425      "pattern":"^arn:aws\\S*:elastic-inference:\\S+:\\d{12}:elastic-inference-accelerator/eia-[0-9a-f]+$"
426    },
427    "ResourceArn":{
428      "type":"string",
429      "max":1283,
430      "min":1
431    },
432    "ResourceNotFoundException":{
433      "type":"structure",
434      "members":{
435        "message":{"shape":"String"}
436      },
437      "documentation":"<p> Raised when the requested resource cannot be found. </p>",
438      "error":{"httpStatusCode":404},
439      "exception":true
440    },
441    "String":{
442      "type":"string",
443      "max":500000,
444      "pattern":"^.*$"
445    },
446    "TagKey":{
447      "type":"string",
448      "max":128,
449      "min":1,
450      "pattern":"^\\S$"
451    },
452    "TagKeyList":{
453      "type":"list",
454      "member":{"shape":"TagKey"},
455      "max":50,
456      "min":1
457    },
458    "TagMap":{
459      "type":"map",
460      "key":{"shape":"TagKey"},
461      "value":{"shape":"TagValue"},
462      "max":50,
463      "min":1
464    },
465    "TagResourceRequest":{
466      "type":"structure",
467      "required":[
468        "resourceArn",
469        "tags"
470      ],
471      "members":{
472        "resourceArn":{
473          "shape":"ResourceARN",
474          "documentation":"<p> The ARN of the Elastic Inference Accelerator to tag. </p>",
475          "location":"uri",
476          "locationName":"resourceArn"
477        },
478        "tags":{
479          "shape":"TagMap",
480          "documentation":"<p> The tags to add to the Elastic Inference Accelerator. </p>"
481        }
482      }
483    },
484    "TagResourceResult":{
485      "type":"structure",
486      "members":{
487      }
488    },
489    "TagValue":{
490      "type":"string",
491      "max":256
492    },
493    "ThroughputInfoList":{
494      "type":"list",
495      "member":{"shape":"KeyValuePair"},
496      "max":100,
497      "min":0
498    },
499    "UntagResourceRequest":{
500      "type":"structure",
501      "required":[
502        "resourceArn",
503        "tagKeys"
504      ],
505      "members":{
506        "resourceArn":{
507          "shape":"ResourceARN",
508          "documentation":"<p> The ARN of the Elastic Inference Accelerator to untag. </p>",
509          "location":"uri",
510          "locationName":"resourceArn"
511        },
512        "tagKeys":{
513          "shape":"TagKeyList",
514          "documentation":"<p> The list of tags to remove from the Elastic Inference Accelerator. </p>",
515          "location":"querystring",
516          "locationName":"tagKeys"
517        }
518      }
519    },
520    "UntagResourceResult":{
521      "type":"structure",
522      "members":{
523      }
524    },
525    "Value":{"type":"integer"},
526    "ValueStringList":{
527      "type":"list",
528      "member":{"shape":"String"},
529      "max":100,
530      "min":0
531    }
532  },
533  "documentation":"<p> Elastic Inference public APIs. </p>"
534}
535