Skip to content

Commit b75dd05

Browse files
author
AWS
committedAug 30, 2019
AmazonApiGatewayManagementApi Update: You can use getConnection to return information about the connection (when it is connected, IP address, etc) and deleteConnection to disconnect the given connection
1 parent b2e2f6d commit b75dd05

File tree

2 files changed

+126
-13
lines changed

2 files changed

+126
-13
lines changed
 
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "feature",
3+
"category": "AmazonApiGatewayManagementApi",
4+
"description": "You can use getConnection to return information about the connection (when it is connected, IP address, etc) and deleteConnection to disconnect the given connection"
5+
}

‎services/apigatewaymanagementapi/src/main/resources/codegen-resources/service-2.json

Lines changed: 121 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,53 @@
1111
"signatureVersion" : "v4"
1212
},
1313
"operations" : {
14+
"DeleteConnection" : {
15+
"name" : "DeleteConnection",
16+
"http" : {
17+
"method" : "DELETE",
18+
"requestUri" : "/@connections/{connectionId}",
19+
"responseCode" : 204
20+
},
21+
"input" : {
22+
"shape" : "DeleteConnectionRequest"
23+
},
24+
"errors" : [ {
25+
"shape" : "GoneException",
26+
"documentation" : "<p>The connection with the provided id no longer exists.</p>"
27+
}, {
28+
"shape" : "LimitExceededException",
29+
"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>"
30+
}, {
31+
"shape" : "ForbiddenException",
32+
"documentation" : "<p>The caller is not authorized to invoke this operation.</p>"
33+
} ],
34+
"documentation" : "<p>Delete the connection with the provided id.</p>"
35+
},
36+
"GetConnection" : {
37+
"name" : "GetConnection",
38+
"http" : {
39+
"method" : "GET",
40+
"requestUri" : "/@connections/{connectionId}",
41+
"responseCode" : 200
42+
},
43+
"input" : {
44+
"shape" : "GetConnectionRequest"
45+
},
46+
"output" : {
47+
"shape" : "GetConnectionResponse"
48+
},
49+
"errors" : [ {
50+
"shape" : "GoneException",
51+
"documentation" : "<p>The connection with the provided id no longer exists.</p>"
52+
}, {
53+
"shape" : "LimitExceededException",
54+
"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>"
55+
}, {
56+
"shape" : "ForbiddenException",
57+
"documentation" : "<p>The caller is not authorized to invoke this operation.</p>"
58+
} ],
59+
"documentation" : "<p>Get information about the connection with the provided id.</p>"
60+
},
1461
"PostToConnection" : {
1562
"name" : "PostToConnection",
1663
"http" : {
@@ -26,7 +73,7 @@
2673
"documentation" : "<p>The connection with the provided id no longer exists.</p>"
2774
}, {
2875
"shape" : "LimitExceededException",
29-
"documentation" : "<p>The client is sending more than the allowed number of requests per unit of time.</p>"
76+
"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>"
3077
}, {
3178
"shape" : "PayloadTooLargeException",
3279
"documentation" : "<p>The data has exceeded the maximum size allowed.</p>"
@@ -43,32 +90,80 @@
4390
"max" : 131072,
4491
"documentation" : "<p>The data to be sent to the client specified by its connection id.</p>"
4592
},
93+
"DeleteConnectionRequest" : {
94+
"type" : "structure",
95+
"members" : {
96+
"ConnectionId" : {
97+
"shape" : "__string",
98+
"location" : "uri",
99+
"locationName" : "connectionId"
100+
}
101+
},
102+
"required" : [ "ConnectionId" ]
103+
},
46104
"ForbiddenException" : {
47105
"type" : "structure",
48106
"members" : { },
107+
"documentation" : "<p>The caller is not authorized to invoke this operation.</p>",
49108
"exception" : true,
50109
"error" : {
51110
"httpStatusCode" : 403
111+
}
112+
},
113+
"GetConnectionRequest" : {
114+
"type" : "structure",
115+
"members" : {
116+
"ConnectionId" : {
117+
"shape" : "__string",
118+
"location" : "uri",
119+
"locationName" : "connectionId"
120+
}
52121
},
53-
"documentation" : "<p>The caller is not authorized to invoke this operation.</p>"
122+
"required" : [ "ConnectionId" ]
123+
},
124+
"GetConnectionResponse" : {
125+
"type" : "structure",
126+
"members" : {
127+
"ConnectedAt" : {
128+
"shape" : "__timestampIso8601",
129+
"locationName" : "connectedAt",
130+
"documentation" : "<p>The time in ISO 8601 format for when the connection was established.</p>"
131+
},
132+
"Identity" : {
133+
"shape" : "Identity",
134+
"locationName" : "identity"
135+
},
136+
"LastActiveAt" : {
137+
"shape" : "__timestampIso8601",
138+
"locationName" : "lastActiveAt",
139+
"documentation" : "<p>The time in ISO 8601 format for when the connection was last active.</p>"
140+
}
141+
}
54142
},
55143
"GoneException" : {
56144
"type" : "structure",
57145
"members" : { },
146+
"documentation" : "<p>The connection with the provided id no longer exists.</p>",
58147
"exception" : true,
59148
"error" : {
60149
"httpStatusCode" : 410
61-
},
62-
"documentation" : "<p>The connection with the provided id no longer exists.</p>"
150+
}
63151
},
64-
"LimitExceededException" : {
152+
"Identity" : {
65153
"type" : "structure",
66-
"members" : { },
67-
"exception" : true,
68-
"error" : {
69-
"httpStatusCode" : 429
154+
"members" : {
155+
"SourceIp" : {
156+
"shape" : "__string",
157+
"locationName" : "sourceIp",
158+
"documentation" : "<p>The source IP address of the TCP connection making the request to API Gateway.</p>"
159+
},
160+
"UserAgent" : {
161+
"shape" : "__string",
162+
"locationName" : "userAgent",
163+
"documentation" : "<p>The User Agent of the API caller.</p>"
164+
}
70165
},
71-
"documentation" : "<p>The client is sending more than the allowed number of requests per unit of time.</p>"
166+
"required" : [ "SourceIp", "UserAgent" ]
72167
},
73168
"PayloadTooLargeException" : {
74169
"type" : "structure",
@@ -78,11 +173,11 @@
78173
"locationName" : "message"
79174
}
80175
},
176+
"documentation" : "<p>The data has exceeded the maximum size allowed.</p>",
81177
"exception" : true,
82178
"error" : {
83179
"httpStatusCode" : 413
84-
},
85-
"documentation" : "<p>The data has exceeded the maximum size allowed.</p>"
180+
}
86181
},
87182
"PostToConnectionRequest" : {
88183
"type" : "structure",
@@ -101,9 +196,22 @@
101196
"required" : [ "ConnectionId", "Data" ],
102197
"payload" : "Data"
103198
},
199+
"LimitExceededException" : {
200+
"type" : "structure",
201+
"members" : { },
202+
"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>",
203+
"exception" : true,
204+
"error" : {
205+
"httpStatusCode" : 429
206+
}
207+
},
104208
"__string" : {
105209
"type" : "string"
210+
},
211+
"__timestampIso8601" : {
212+
"type" : "timestamp",
213+
"timestampFormat" : "iso8601"
106214
}
107215
},
108216
"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>"
109-
}
217+
}

0 commit comments

Comments
 (0)
Please sign in to comment.