1{
2    "smithy": "1.0",
3    "metadata": {
4        "suppressions": [
5            {
6                "id": "HttpMethodSemantics",
7                "namespace": "*"
8            },
9            {
10                "id": "HttpResponseCodeSemantics",
11                "namespace": "*"
12            },
13            {
14                "id": "PaginatedTrait",
15                "namespace": "*"
16            },
17            {
18                "id": "HttpHeaderTrait",
19                "namespace": "*"
20            },
21            {
22                "id": "HttpUriConflict",
23                "namespace": "*"
24            },
25            {
26                "id": "Service",
27                "namespace": "*"
28            }
29        ]
30    },
31    "shapes": {
32        "com.amazonaws.forecastquery#AmazonForecastRuntime": {
33            "type": "service",
34            "version": "2018-06-26",
35            "operations": [
36                {
37                    "target": "com.amazonaws.forecastquery#QueryForecast"
38                }
39            ],
40            "traits": {
41                "aws.api#service": {
42                    "sdkId": "forecastquery",
43                    "arnNamespace": "forecast",
44                    "cloudFormationName": "Forecastquery",
45                    "cloudTrailEventSource": "forecastquery.amazonaws.com",
46                    "endpointPrefix": "forecastquery"
47                },
48                "aws.auth#sigv4": {
49                    "name": "forecast"
50                },
51                "aws.protocols#awsJson1_1": {},
52                "smithy.api#documentation": "<p>Provides APIs for creating and managing Amazon Forecast resources.</p>",
53                "smithy.api#title": "Amazon Forecast Query Service"
54            }
55        },
56        "com.amazonaws.forecastquery#Arn": {
57            "type": "string",
58            "traits": {
59                "smithy.api#length": {
60                    "min": 0,
61                    "max": 256
62                },
63                "smithy.api#pattern": "arn:([a-z\\d-]+):forecast:.*:.*:.+"
64            }
65        },
66        "com.amazonaws.forecastquery#AttributeName": {
67            "type": "string",
68            "traits": {
69                "smithy.api#length": {
70                    "min": 0,
71                    "max": 256
72                },
73                "smithy.api#pattern": "^[a-zA-Z0-9\\_\\-]+$"
74            }
75        },
76        "com.amazonaws.forecastquery#AttributeValue": {
77            "type": "string",
78            "traits": {
79                "smithy.api#length": {
80                    "min": 0,
81                    "max": 256
82                }
83            }
84        },
85        "com.amazonaws.forecastquery#DataPoint": {
86            "type": "structure",
87            "members": {
88                "Timestamp": {
89                    "target": "com.amazonaws.forecastquery#Timestamp",
90                    "traits": {
91                        "smithy.api#documentation": "<p>The timestamp of the specific forecast.</p>"
92                    }
93                },
94                "Value": {
95                    "target": "com.amazonaws.forecastquery#Double",
96                    "traits": {
97                        "smithy.api#documentation": "<p>The forecast value.</p>"
98                    }
99                }
100            },
101            "traits": {
102                "smithy.api#documentation": "<p>The forecast value for a specific date. Part of the <a>Forecast</a>\n      object.</p>"
103            }
104        },
105        "com.amazonaws.forecastquery#DateTime": {
106            "type": "string"
107        },
108        "com.amazonaws.forecastquery#Double": {
109            "type": "double",
110            "traits": {
111                "smithy.api#box": {}
112            }
113        },
114        "com.amazonaws.forecastquery#ErrorMessage": {
115            "type": "string"
116        },
117        "com.amazonaws.forecastquery#Filters": {
118            "type": "map",
119            "key": {
120                "target": "com.amazonaws.forecastquery#AttributeName"
121            },
122            "value": {
123                "target": "com.amazonaws.forecastquery#AttributeValue"
124            },
125            "traits": {
126                "smithy.api#length": {
127                    "min": 1,
128                    "max": 50
129                }
130            }
131        },
132        "com.amazonaws.forecastquery#Forecast": {
133            "type": "structure",
134            "members": {
135                "Predictions": {
136                    "target": "com.amazonaws.forecastquery#Predictions",
137                    "traits": {
138                        "smithy.api#documentation": "<p>The forecast.</p>\n         <p>The <i>string</i> of the string-to-array map is one of the following\n      values:</p>\n         <ul>\n            <li>\n               <p>p10</p>\n            </li>\n            <li>\n               <p>p50</p>\n            </li>\n            <li>\n               <p>p90</p>\n            </li>\n         </ul>"
139                    }
140                }
141            },
142            "traits": {
143                "smithy.api#documentation": "<p>Provides information about a forecast. Returned as part of the <a>QueryForecast</a> response.</p>"
144            }
145        },
146        "com.amazonaws.forecastquery#InvalidInputException": {
147            "type": "structure",
148            "members": {
149                "Message": {
150                    "target": "com.amazonaws.forecastquery#ErrorMessage"
151                }
152            },
153            "traits": {
154                "smithy.api#documentation": "<p>The value is invalid or is too long.</p>",
155                "smithy.api#error": "client",
156                "smithy.api#httpError": 400
157            }
158        },
159        "com.amazonaws.forecastquery#InvalidNextTokenException": {
160            "type": "structure",
161            "members": {
162                "Message": {
163                    "target": "com.amazonaws.forecastquery#ErrorMessage"
164                }
165            },
166            "traits": {
167                "smithy.api#documentation": "<p>The token is not valid. Tokens expire after 24 hours.</p>",
168                "smithy.api#error": "client",
169                "smithy.api#httpError": 400
170            }
171        },
172        "com.amazonaws.forecastquery#LimitExceededException": {
173            "type": "structure",
174            "members": {
175                "Message": {
176                    "target": "com.amazonaws.forecastquery#ErrorMessage"
177                }
178            },
179            "traits": {
180                "smithy.api#documentation": "<p>The limit on the number of requests per second has been exceeded.</p>",
181                "smithy.api#error": "client",
182                "smithy.api#httpError": 409
183            }
184        },
185        "com.amazonaws.forecastquery#NextToken": {
186            "type": "string",
187            "traits": {
188                "smithy.api#length": {
189                    "min": 1,
190                    "max": 3000
191                }
192            }
193        },
194        "com.amazonaws.forecastquery#Predictions": {
195            "type": "map",
196            "key": {
197                "target": "com.amazonaws.forecastquery#Statistic"
198            },
199            "value": {
200                "target": "com.amazonaws.forecastquery#TimeSeries"
201            }
202        },
203        "com.amazonaws.forecastquery#QueryForecast": {
204            "type": "operation",
205            "input": {
206                "target": "com.amazonaws.forecastquery#QueryForecastRequest"
207            },
208            "output": {
209                "target": "com.amazonaws.forecastquery#QueryForecastResponse"
210            },
211            "errors": [
212                {
213                    "target": "com.amazonaws.forecastquery#InvalidInputException"
214                },
215                {
216                    "target": "com.amazonaws.forecastquery#InvalidNextTokenException"
217                },
218                {
219                    "target": "com.amazonaws.forecastquery#LimitExceededException"
220                },
221                {
222                    "target": "com.amazonaws.forecastquery#ResourceInUseException"
223                },
224                {
225                    "target": "com.amazonaws.forecastquery#ResourceNotFoundException"
226                }
227            ],
228            "traits": {
229                "smithy.api#documentation": "<p>Retrieves a forecast for a single item, filtered by the supplied criteria.</p>\n         <p>The criteria is a key-value pair. The key is either <code>item_id</code> (or the\n      equivalent non-timestamp, non-target field) from the <code>TARGET_TIME_SERIES</code> dataset,\n      or one of the forecast dimensions specified as part of the <code>FeaturizationConfig</code>\n      object.</p>\n         <p>By default, <code>QueryForecast</code> returns the complete date range for the filtered\n      forecast. You can request a specific date range.</p>\n         <p>To get the full forecast, use the <a href=\"https://docs.aws.amazon.com/en_us/forecast/latest/dg/API_CreateForecastExportJob.html\">CreateForecastExportJob</a> operation.</p>\n         <note>\n            <p>The forecasts generated by Amazon Forecast are in the same timezone as the dataset that was\n        used to create the predictor.</p>\n         </note>"
230            }
231        },
232        "com.amazonaws.forecastquery#QueryForecastRequest": {
233            "type": "structure",
234            "members": {
235                "ForecastArn": {
236                    "target": "com.amazonaws.forecastquery#Arn",
237                    "traits": {
238                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the forecast to query.</p>",
239                        "smithy.api#required": {}
240                    }
241                },
242                "StartDate": {
243                    "target": "com.amazonaws.forecastquery#DateTime",
244                    "traits": {
245                        "smithy.api#documentation": "<p>The start date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss\n      (ISO 8601 format). For example, 2015-01-01T08:00:00.</p>"
246                    }
247                },
248                "EndDate": {
249                    "target": "com.amazonaws.forecastquery#DateTime",
250                    "traits": {
251                        "smithy.api#documentation": "<p>The end date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss\n      (ISO 8601 format). For example, 2015-01-01T20:00:00. </p>"
252                    }
253                },
254                "Filters": {
255                    "target": "com.amazonaws.forecastquery#Filters",
256                    "traits": {
257                        "smithy.api#documentation": "<p>The filtering criteria to apply when retrieving the forecast. For example, to get the\n      forecast for <code>client_21</code> in the electricity usage dataset, specify the\n      following:</p>\n         <p>\n            <code>{\"item_id\" : \"client_21\"}</code>\n         </p>\n      \n      \n         <p>To get the full forecast, use the <a href=\"https://docs.aws.amazon.com/en_us/forecast/latest/dg/API_CreateForecastExportJob.html\">CreateForecastExportJob</a> operation.</p>",
258                        "smithy.api#required": {}
259                    }
260                },
261                "NextToken": {
262                    "target": "com.amazonaws.forecastquery#NextToken",
263                    "traits": {
264                        "smithy.api#documentation": "<p>If the result of the previous request was truncated, the response includes a\n        <code>NextToken</code>. To retrieve the next set of results, use the token in the next\n      request. Tokens expire after 24 hours.</p>"
265                    }
266                }
267            }
268        },
269        "com.amazonaws.forecastquery#QueryForecastResponse": {
270            "type": "structure",
271            "members": {
272                "Forecast": {
273                    "target": "com.amazonaws.forecastquery#Forecast",
274                    "traits": {
275                        "smithy.api#documentation": "<p>The forecast.</p>"
276                    }
277                }
278            }
279        },
280        "com.amazonaws.forecastquery#ResourceInUseException": {
281            "type": "structure",
282            "members": {
283                "Message": {
284                    "target": "com.amazonaws.forecastquery#ErrorMessage"
285                }
286            },
287            "traits": {
288                "smithy.api#documentation": "<p>The specified resource is in use.</p>",
289                "smithy.api#error": "client",
290                "smithy.api#httpError": 409
291            }
292        },
293        "com.amazonaws.forecastquery#ResourceNotFoundException": {
294            "type": "structure",
295            "members": {
296                "Message": {
297                    "target": "com.amazonaws.forecastquery#ErrorMessage"
298                }
299            },
300            "traits": {
301                "smithy.api#documentation": "<p>We can't find that resource. Check the information that you've provided and try\n      again.</p>",
302                "smithy.api#error": "client",
303                "smithy.api#httpError": 404
304            }
305        },
306        "com.amazonaws.forecastquery#Statistic": {
307            "type": "string",
308            "traits": {
309                "smithy.api#length": {
310                    "min": 0,
311                    "max": 4
312                }
313            }
314        },
315        "com.amazonaws.forecastquery#TimeSeries": {
316            "type": "list",
317            "member": {
318                "target": "com.amazonaws.forecastquery#DataPoint"
319            }
320        },
321        "com.amazonaws.forecastquery#Timestamp": {
322            "type": "string"
323        }
324    }
325}
326