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.apigatewaymanagementapi#ApiGatewayManagementApi": { 33 "type": "service", 34 "version": "2018-11-29", 35 "operations": [ 36 { 37 "target": "com.amazonaws.apigatewaymanagementapi#DeleteConnection" 38 }, 39 { 40 "target": "com.amazonaws.apigatewaymanagementapi#GetConnection" 41 }, 42 { 43 "target": "com.amazonaws.apigatewaymanagementapi#PostToConnection" 44 } 45 ], 46 "traits": { 47 "aws.api#service": { 48 "sdkId": "ApiGatewayManagementApi", 49 "arnNamespace": "apigateway", 50 "cloudFormationName": "ApiGatewayManagementApi", 51 "cloudTrailEventSource": "apigatewaymanagementapi.amazonaws.com", 52 "endpointPrefix": "execute-api" 53 }, 54 "aws.auth#sigv4": { 55 "name": "execute-api" 56 }, 57 "aws.protocols#restJson1": {}, 58 "smithy.api#documentation": "<p>The Amazon API Gateway Management API allows you to directly manage runtime aspects of your deployed APIs. To use it, you must explicitly set the SDK's endpoint to point to the endpoint of your deployed API. The endpoint will be of the form https://{api-id}.execute-api.{region}.amazonaws.com/{stage}, or will be the endpoint corresponding to your API's custom domain and base path, if applicable.</p>", 59 "smithy.api#title": "AmazonApiGatewayManagementApi" 60 } 61 }, 62 "com.amazonaws.apigatewaymanagementapi#Data": { 63 "type": "blob", 64 "traits": { 65 "smithy.api#documentation": "<p>The data to be sent to the client specified by its connection id.</p>", 66 "smithy.api#length": { 67 "min": 0, 68 "max": 131072 69 } 70 } 71 }, 72 "com.amazonaws.apigatewaymanagementapi#DeleteConnection": { 73 "type": "operation", 74 "input": { 75 "target": "com.amazonaws.apigatewaymanagementapi#DeleteConnectionRequest" 76 }, 77 "errors": [ 78 { 79 "target": "com.amazonaws.apigatewaymanagementapi#ForbiddenException" 80 }, 81 { 82 "target": "com.amazonaws.apigatewaymanagementapi#GoneException" 83 }, 84 { 85 "target": "com.amazonaws.apigatewaymanagementapi#LimitExceededException" 86 } 87 ], 88 "traits": { 89 "smithy.api#documentation": "<p>Delete the connection with the provided id.</p>", 90 "smithy.api#http": { 91 "method": "DELETE", 92 "uri": "/@connections/{ConnectionId}", 93 "code": 204 94 } 95 } 96 }, 97 "com.amazonaws.apigatewaymanagementapi#DeleteConnectionRequest": { 98 "type": "structure", 99 "members": { 100 "ConnectionId": { 101 "target": "com.amazonaws.apigatewaymanagementapi#__string", 102 "traits": { 103 "smithy.api#httpLabel": {}, 104 "smithy.api#required": {} 105 } 106 } 107 } 108 }, 109 "com.amazonaws.apigatewaymanagementapi#ForbiddenException": { 110 "type": "structure", 111 "members": {}, 112 "traits": { 113 "smithy.api#documentation": "<p>The caller is not authorized to invoke this operation.</p>", 114 "smithy.api#error": "client", 115 "smithy.api#httpError": 403 116 } 117 }, 118 "com.amazonaws.apigatewaymanagementapi#GetConnection": { 119 "type": "operation", 120 "input": { 121 "target": "com.amazonaws.apigatewaymanagementapi#GetConnectionRequest" 122 }, 123 "output": { 124 "target": "com.amazonaws.apigatewaymanagementapi#GetConnectionResponse" 125 }, 126 "errors": [ 127 { 128 "target": "com.amazonaws.apigatewaymanagementapi#ForbiddenException" 129 }, 130 { 131 "target": "com.amazonaws.apigatewaymanagementapi#GoneException" 132 }, 133 { 134 "target": "com.amazonaws.apigatewaymanagementapi#LimitExceededException" 135 } 136 ], 137 "traits": { 138 "smithy.api#documentation": "<p>Get information about the connection with the provided id.</p>", 139 "smithy.api#http": { 140 "method": "GET", 141 "uri": "/@connections/{ConnectionId}", 142 "code": 200 143 } 144 } 145 }, 146 "com.amazonaws.apigatewaymanagementapi#GetConnectionRequest": { 147 "type": "structure", 148 "members": { 149 "ConnectionId": { 150 "target": "com.amazonaws.apigatewaymanagementapi#__string", 151 "traits": { 152 "smithy.api#httpLabel": {}, 153 "smithy.api#required": {} 154 } 155 } 156 } 157 }, 158 "com.amazonaws.apigatewaymanagementapi#GetConnectionResponse": { 159 "type": "structure", 160 "members": { 161 "ConnectedAt": { 162 "target": "com.amazonaws.apigatewaymanagementapi#__timestampIso8601", 163 "traits": { 164 "smithy.api#documentation": "<p>The time in ISO 8601 format for when the connection was established.</p>", 165 "smithy.api#jsonName": "connectedAt" 166 } 167 }, 168 "Identity": { 169 "target": "com.amazonaws.apigatewaymanagementapi#Identity", 170 "traits": { 171 "smithy.api#jsonName": "identity" 172 } 173 }, 174 "LastActiveAt": { 175 "target": "com.amazonaws.apigatewaymanagementapi#__timestampIso8601", 176 "traits": { 177 "smithy.api#documentation": "<p>The time in ISO 8601 format for when the connection was last active.</p>", 178 "smithy.api#jsonName": "lastActiveAt" 179 } 180 } 181 } 182 }, 183 "com.amazonaws.apigatewaymanagementapi#GoneException": { 184 "type": "structure", 185 "members": {}, 186 "traits": { 187 "smithy.api#documentation": "<p>The connection with the provided id no longer exists.</p>", 188 "smithy.api#error": "client", 189 "smithy.api#httpError": 410 190 } 191 }, 192 "com.amazonaws.apigatewaymanagementapi#Identity": { 193 "type": "structure", 194 "members": { 195 "SourceIp": { 196 "target": "com.amazonaws.apigatewaymanagementapi#__string", 197 "traits": { 198 "smithy.api#documentation": "<p>The source IP address of the TCP connection making the request to API Gateway.</p>", 199 "smithy.api#jsonName": "sourceIp", 200 "smithy.api#required": {} 201 } 202 }, 203 "UserAgent": { 204 "target": "com.amazonaws.apigatewaymanagementapi#__string", 205 "traits": { 206 "smithy.api#documentation": "<p>The User Agent of the API caller.</p>", 207 "smithy.api#jsonName": "userAgent", 208 "smithy.api#required": {} 209 } 210 } 211 } 212 }, 213 "com.amazonaws.apigatewaymanagementapi#LimitExceededException": { 214 "type": "structure", 215 "members": {}, 216 "traits": { 217 "smithy.api#documentation": "<p>The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.</p>", 218 "smithy.api#error": "client", 219 "smithy.api#httpError": 429 220 } 221 }, 222 "com.amazonaws.apigatewaymanagementapi#PayloadTooLargeException": { 223 "type": "structure", 224 "members": { 225 "Message": { 226 "target": "com.amazonaws.apigatewaymanagementapi#__string", 227 "traits": { 228 "smithy.api#jsonName": "message" 229 } 230 } 231 }, 232 "traits": { 233 "smithy.api#documentation": "<p>The data has exceeded the maximum size allowed.</p>", 234 "smithy.api#error": "client", 235 "smithy.api#httpError": 413 236 } 237 }, 238 "com.amazonaws.apigatewaymanagementapi#PostToConnection": { 239 "type": "operation", 240 "input": { 241 "target": "com.amazonaws.apigatewaymanagementapi#PostToConnectionRequest" 242 }, 243 "errors": [ 244 { 245 "target": "com.amazonaws.apigatewaymanagementapi#ForbiddenException" 246 }, 247 { 248 "target": "com.amazonaws.apigatewaymanagementapi#GoneException" 249 }, 250 { 251 "target": "com.amazonaws.apigatewaymanagementapi#LimitExceededException" 252 }, 253 { 254 "target": "com.amazonaws.apigatewaymanagementapi#PayloadTooLargeException" 255 } 256 ], 257 "traits": { 258 "smithy.api#documentation": "<p>Sends the provided data to the specified connection.</p>", 259 "smithy.api#http": { 260 "method": "POST", 261 "uri": "/@connections/{ConnectionId}", 262 "code": 200 263 } 264 } 265 }, 266 "com.amazonaws.apigatewaymanagementapi#PostToConnectionRequest": { 267 "type": "structure", 268 "members": { 269 "Data": { 270 "target": "com.amazonaws.apigatewaymanagementapi#Data", 271 "traits": { 272 "smithy.api#documentation": "<p>The data to be sent to the client specified by its connection id.</p>", 273 "smithy.api#httpPayload": {}, 274 "smithy.api#required": {} 275 } 276 }, 277 "ConnectionId": { 278 "target": "com.amazonaws.apigatewaymanagementapi#__string", 279 "traits": { 280 "smithy.api#documentation": "<p>The identifier of the connection that a specific client is using.</p>", 281 "smithy.api#httpLabel": {}, 282 "smithy.api#required": {} 283 } 284 } 285 } 286 }, 287 "com.amazonaws.apigatewaymanagementapi#__string": { 288 "type": "string" 289 }, 290 "com.amazonaws.apigatewaymanagementapi#__timestampIso8601": { 291 "type": "timestamp", 292 "traits": { 293 "smithy.api#timestampFormat": "date-time" 294 } 295 } 296 } 297} 298