1 |
|
2 | export const schema = {
|
3 | "$schema": "http://json-schema.org/draft-07/schema#",
|
4 | "definitions": {
|
5 | "FunctionRunnerSize": {
|
6 | "enum": [
|
7 | "m128MiB",
|
8 | "m1GiB",
|
9 | "m256MiB",
|
10 | "m2GiB",
|
11 | "m512MiB"
|
12 | ],
|
13 | "type": "string"
|
14 | },
|
15 | "Session": {
|
16 | "type": "object",
|
17 | "properties": {
|
18 | "accountId": {
|
19 | "minLength": 1,
|
20 | "type": "string"
|
21 | },
|
22 | "principal": {
|
23 | "minLength": 1,
|
24 | "type": "string"
|
25 | }
|
26 | },
|
27 | "propertyOrder": [
|
28 | "accountId",
|
29 | "principal"
|
30 | ],
|
31 | "required": [
|
32 | "accountId",
|
33 | "principal"
|
34 | ]
|
35 | },
|
36 | "ServerOnlyContext": {
|
37 | "type": "object",
|
38 | "properties": {
|
39 | "tags": {
|
40 | "type": "object",
|
41 | "additionalProperties": {
|
42 | "type": "string"
|
43 | },
|
44 | "propertyOrder": []
|
45 | },
|
46 | "logLevel": {
|
47 | "type": "string"
|
48 | },
|
49 | "logExtra": {
|
50 | "type": "object",
|
51 | "additionalProperties": {},
|
52 | "propertyOrder": []
|
53 | },
|
54 | "sampleRate": {
|
55 | "type": "number"
|
56 | },
|
57 | "debugId": {
|
58 | "type": "string"
|
59 | },
|
60 | "session": {
|
61 | "$ref": "#/definitions/Session"
|
62 | }
|
63 | },
|
64 | "propertyOrder": [
|
65 | "tags",
|
66 | "logLevel",
|
67 | "logExtra",
|
68 | "sampleRate",
|
69 | "debugId",
|
70 | "session"
|
71 | ],
|
72 | "required": [
|
73 | "debugId"
|
74 | ]
|
75 | },
|
76 | "UnauthorizedError": {
|
77 | "type": "object",
|
78 | "properties": {
|
79 | "name": {
|
80 | "type": "string"
|
81 | },
|
82 | "message": {
|
83 | "type": "string"
|
84 | },
|
85 | "stack": {
|
86 | "type": "string"
|
87 | }
|
88 | },
|
89 | "propertyOrder": [
|
90 | "name",
|
91 | "message",
|
92 | "stack"
|
93 | ],
|
94 | "required": [
|
95 | "message",
|
96 | "name"
|
97 | ]
|
98 | },
|
99 | "NotFoundError": {
|
100 | "type": "object",
|
101 | "properties": {
|
102 | "name": {
|
103 | "type": "string"
|
104 | },
|
105 | "message": {
|
106 | "type": "string"
|
107 | },
|
108 | "stack": {
|
109 | "type": "string"
|
110 | }
|
111 | },
|
112 | "propertyOrder": [
|
113 | "name",
|
114 | "message",
|
115 | "stack"
|
116 | ],
|
117 | "required": [
|
118 | "message",
|
119 | "name"
|
120 | ]
|
121 | },
|
122 | "ExistsError": {
|
123 | "type": "object",
|
124 | "properties": {
|
125 | "name": {
|
126 | "type": "string"
|
127 | },
|
128 | "message": {
|
129 | "type": "string"
|
130 | },
|
131 | "stack": {
|
132 | "type": "string"
|
133 | }
|
134 | },
|
135 | "propertyOrder": [
|
136 | "name",
|
137 | "message",
|
138 | "stack"
|
139 | ],
|
140 | "required": [
|
141 | "message",
|
142 | "name"
|
143 | ]
|
144 | },
|
145 | "SubDomain": {
|
146 | "type": "object",
|
147 | "properties": {
|
148 | "type": {
|
149 | "type": "string",
|
150 | "enum": [
|
151 | "subdomain"
|
152 | ]
|
153 | },
|
154 | "name": {
|
155 | "type": "string"
|
156 | }
|
157 | },
|
158 | "propertyOrder": [
|
159 | "type",
|
160 | "name"
|
161 | ],
|
162 | "required": [
|
163 | "name",
|
164 | "type"
|
165 | ]
|
166 | },
|
167 | "CNameDomain": {
|
168 | "type": "object",
|
169 | "properties": {
|
170 | "type": {
|
171 | "type": "string",
|
172 | "enum": [
|
173 | "cname"
|
174 | ]
|
175 | },
|
176 | "name": {
|
177 | "format": "hostname",
|
178 | "type": "string"
|
179 | },
|
180 | "certificate": {
|
181 | "minLength": 1,
|
182 | "type": "string"
|
183 | }
|
184 | },
|
185 | "propertyOrder": [
|
186 | "type",
|
187 | "name",
|
188 | "certificate"
|
189 | ],
|
190 | "required": [
|
191 | "certificate",
|
192 | "name",
|
193 | "type"
|
194 | ]
|
195 | },
|
196 | "Domain": {
|
197 | "anyOf": [
|
198 | {
|
199 | "$ref": "#/definitions/SubDomain"
|
200 | },
|
201 | {
|
202 | "$ref": "#/definitions/CNameDomain"
|
203 | }
|
204 | ]
|
205 | },
|
206 | "Environment": {
|
207 | "type": "object",
|
208 | "properties": {
|
209 | "name": {
|
210 | "pattern": "^[A-Za-z][A-Za-z_\\d]{0,49}$",
|
211 | "type": "string"
|
212 | },
|
213 | "domains": {
|
214 | "type": "array",
|
215 | "items": {
|
216 | "anyOf": [
|
217 | {
|
218 | "$ref": "#/definitions/SubDomain"
|
219 | },
|
220 | {
|
221 | "$ref": "#/definitions/CNameDomain"
|
222 | }
|
223 | ]
|
224 | }
|
225 | }
|
226 | },
|
227 | "propertyOrder": [
|
228 | "name",
|
229 | "domains"
|
230 | ],
|
231 | "required": [
|
232 | "domains",
|
233 | "name"
|
234 | ]
|
235 | },
|
236 | "Application": {
|
237 | "type": "object",
|
238 | "properties": {
|
239 | "accountId": {
|
240 | "minLength": 1,
|
241 | "type": "string"
|
242 | },
|
243 | "id": {
|
244 | "minLength": 1,
|
245 | "type": "string"
|
246 | },
|
247 | "name": {
|
248 | "description": "Non-unique user friendly name to identify this app",
|
249 | "minLength": 1,
|
250 | "type": "string"
|
251 | },
|
252 | "createdAt": {
|
253 | "description": "Enables basic storage and retrieval of dates and times.",
|
254 | "type": "string",
|
255 | "format": "date-time",
|
256 | "coerce-date": true
|
257 | },
|
258 | "updatedAt": {
|
259 | "description": "Enables basic storage and retrieval of dates and times.",
|
260 | "type": "string",
|
261 | "format": "date-time",
|
262 | "coerce-date": true
|
263 | },
|
264 | "sourceUrl": {
|
265 | "description": "If cloned from template, will hold the template github URL (including the git tag | digest).\nCould be used in the future to track a github repo.",
|
266 | "format": "uri",
|
267 | "type": "string"
|
268 | },
|
269 | "environments": {
|
270 | "type": "array",
|
271 | "items": {
|
272 | "$ref": "#/definitions/Environment"
|
273 | }
|
274 | }
|
275 | },
|
276 | "propertyOrder": [
|
277 | "accountId",
|
278 | "id",
|
279 | "name",
|
280 | "createdAt",
|
281 | "updatedAt",
|
282 | "sourceUrl",
|
283 | "environments"
|
284 | ],
|
285 | "required": [
|
286 | "accountId",
|
287 | "createdAt",
|
288 | "environments",
|
289 | "id",
|
290 | "name",
|
291 | "updatedAt"
|
292 | ]
|
293 | },
|
294 | "Template": {
|
295 | "type": "object",
|
296 | "properties": {
|
297 | "id": {
|
298 | "minLength": 1,
|
299 | "type": "string"
|
300 | },
|
301 | "name": {
|
302 | "minLength": 1,
|
303 | "type": "string"
|
304 | },
|
305 | "previewImageUrl": {
|
306 | "format": "uri",
|
307 | "type": "string"
|
308 | },
|
309 | "githubUrl": {
|
310 | "format": "uri",
|
311 | "type": "string"
|
312 | }
|
313 | },
|
314 | "propertyOrder": [
|
315 | "id",
|
316 | "name",
|
317 | "previewImageUrl",
|
318 | "githubUrl"
|
319 | ],
|
320 | "required": [
|
321 | "githubUrl",
|
322 | "id",
|
323 | "name",
|
324 | "previewImageUrl"
|
325 | ]
|
326 | },
|
327 | "ExternalAccount": {
|
328 | "type": "object",
|
329 | "properties": {
|
330 | "source": {
|
331 | "description": "e.g. github",
|
332 | "minLength": 1,
|
333 | "type": "string"
|
334 | },
|
335 | "id": {
|
336 | "minLength": 1,
|
337 | "type": "string"
|
338 | }
|
339 | },
|
340 | "propertyOrder": [
|
341 | "source",
|
342 | "id"
|
343 | ],
|
344 | "required": [
|
345 | "id",
|
346 | "source"
|
347 | ]
|
348 | },
|
349 | "User": {
|
350 | "type": "object",
|
351 | "properties": {
|
352 | "id": {
|
353 | "minLength": 1,
|
354 | "type": "string"
|
355 | },
|
356 | "fullName": {
|
357 | "minLength": 1,
|
358 | "type": "string"
|
359 | },
|
360 | "email": {
|
361 | "format": "email",
|
362 | "type": "string"
|
363 | },
|
364 | "avatarUrl": {
|
365 | "format": "uri",
|
366 | "type": "string"
|
367 | },
|
368 | "externalAccounts": {
|
369 | "type": "array",
|
370 | "items": {
|
371 | "$ref": "#/definitions/ExternalAccount"
|
372 | }
|
373 | }
|
374 | },
|
375 | "propertyOrder": [
|
376 | "id",
|
377 | "fullName",
|
378 | "email",
|
379 | "avatarUrl",
|
380 | "externalAccounts"
|
381 | ],
|
382 | "required": [
|
383 | "email",
|
384 | "externalAccounts",
|
385 | "fullName",
|
386 | "id"
|
387 | ]
|
388 | },
|
389 | "TimePeriod": {
|
390 | "description": "Pattern as supported by the ms package",
|
391 | "minLength": 1,
|
392 | "type": "string"
|
393 | },
|
394 | "InvocationDetails": {
|
395 | "type": "object",
|
396 | "properties": {
|
397 | "durUs": {
|
398 | "type": "number"
|
399 | },
|
400 | "reqid": {
|
401 | "type": "string"
|
402 | }
|
403 | },
|
404 | "propertyOrder": [
|
405 | "durUs",
|
406 | "reqid"
|
407 | ],
|
408 | "required": [
|
409 | "durUs",
|
410 | "reqid"
|
411 | ]
|
412 | },
|
413 | "LogRecord": {
|
414 | "type": "object",
|
415 | "properties": {
|
416 | "source": {
|
417 | "type": "string"
|
418 | },
|
419 | "msg": {
|
420 | "type": "string"
|
421 | },
|
422 | "isErr": {
|
423 | "type": "boolean"
|
424 | },
|
425 | "time": {
|
426 | "description": "Enables basic storage and retrieval of dates and times.",
|
427 | "type": "string",
|
428 | "format": "date-time",
|
429 | "coerce-date": true
|
430 | },
|
431 | "invocation": {
|
432 | "$ref": "#/definitions/InvocationDetails"
|
433 | }
|
434 | },
|
435 | "propertyOrder": [
|
436 | "source",
|
437 | "msg",
|
438 | "isErr",
|
439 | "time",
|
440 | "invocation"
|
441 | ],
|
442 | "required": [
|
443 | "isErr",
|
444 | "msg",
|
445 | "source",
|
446 | "time"
|
447 | ]
|
448 | },
|
449 | "LogReadOpts": {
|
450 | "type": "object",
|
451 | "properties": {
|
452 | "since": {
|
453 | "description": "Enables basic storage and retrieval of dates and times.",
|
454 | "type": "string",
|
455 | "format": "date-time",
|
456 | "coerce-date": true
|
457 | },
|
458 | "limit": {
|
459 | "minimum": 1,
|
460 | "maximum": 10000,
|
461 | "type": "number"
|
462 | },
|
463 | "follow": {
|
464 | "type": "boolean"
|
465 | },
|
466 | "nextToken": {
|
467 | "description": "Continuation token (received in response)",
|
468 | "minLength": 1,
|
469 | "type": "string"
|
470 | }
|
471 | },
|
472 | "propertyOrder": [
|
473 | "since",
|
474 | "limit",
|
475 | "follow",
|
476 | "nextToken"
|
477 | ],
|
478 | "required": [
|
479 | "follow",
|
480 | "limit",
|
481 | "since"
|
482 | ]
|
483 | },
|
484 | "LogsResponse": {
|
485 | "type": "object",
|
486 | "properties": {
|
487 | "records": {
|
488 | "type": "array",
|
489 | "items": {
|
490 | "$ref": "#/definitions/LogRecord"
|
491 | }
|
492 | },
|
493 | "nextToken": {
|
494 | "minLength": 1,
|
495 | "type": "string"
|
496 | }
|
497 | },
|
498 | "propertyOrder": [
|
499 | "records",
|
500 | "nextToken"
|
501 | ],
|
502 | "required": [
|
503 | "records"
|
504 | ]
|
505 | },
|
506 | "CreateTicketResponse": {
|
507 | "type": "object",
|
508 | "properties": {
|
509 | "ticket": {
|
510 | "minLength": 1,
|
511 | "type": "string"
|
512 | },
|
513 | "expires": {
|
514 | "description": "Pattern as supported by the ms package",
|
515 | "minLength": 1,
|
516 | "type": "string"
|
517 | }
|
518 | },
|
519 | "propertyOrder": [
|
520 | "ticket",
|
521 | "expires"
|
522 | ],
|
523 | "required": [
|
524 | "expires",
|
525 | "ticket"
|
526 | ]
|
527 | },
|
528 | "TryTemplateResponse": {
|
529 | "type": "object",
|
530 | "properties": {
|
531 | "token": {
|
532 | "minLength": 1,
|
533 | "type": "string"
|
534 | },
|
535 | "expiresAt": {
|
536 | "description": "Enables basic storage and retrieval of dates and times.",
|
537 | "type": "string",
|
538 | "format": "date-time",
|
539 | "coerce-date": true
|
540 | },
|
541 | "domain": {
|
542 | "minLength": 1,
|
543 | "type": "string"
|
544 | }
|
545 | },
|
546 | "propertyOrder": [
|
547 | "token",
|
548 | "expiresAt",
|
549 | "domain"
|
550 | ],
|
551 | "required": [
|
552 | "domain",
|
553 | "expiresAt",
|
554 | "token"
|
555 | ]
|
556 | },
|
557 | "Lycan": {
|
558 | "type": "object",
|
559 | "properties": {
|
560 | "createTicket": {
|
561 | "description": "Create a ticket for claiming an API key",
|
562 | "type": "object",
|
563 | "properties": {
|
564 | "params": {
|
565 | "type": "object",
|
566 | "properties": {}
|
567 | },
|
568 | "returns": {
|
569 | "$ref": "#/definitions/CreateTicketResponse"
|
570 | }
|
571 | },
|
572 | "propertyOrder": [
|
573 | "params",
|
574 | "returns"
|
575 | ],
|
576 | "required": [
|
577 | "params",
|
578 | "returns"
|
579 | ]
|
580 | },
|
581 | "claimTicket": {
|
582 | "description": "Returns an API key in exchange for a valid ticket",
|
583 | "type": "object",
|
584 | "properties": {
|
585 | "params": {
|
586 | "type": "object",
|
587 | "properties": {
|
588 | "ticket": {
|
589 | "type": "string"
|
590 | }
|
591 | },
|
592 | "propertyOrder": [
|
593 | "ticket"
|
594 | ],
|
595 | "required": [
|
596 | "ticket"
|
597 | ]
|
598 | },
|
599 | "throws": {
|
600 | "$ref": "#/definitions/NotFoundError"
|
601 | },
|
602 | "returns": {
|
603 | "type": "string"
|
604 | }
|
605 | },
|
606 | "propertyOrder": [
|
607 | "params",
|
608 | "throws",
|
609 | "returns"
|
610 | ],
|
611 | "required": [
|
612 | "params",
|
613 | "returns",
|
614 | "throws"
|
615 | ]
|
616 | },
|
617 | "listTemplates": {
|
618 | "type": "object",
|
619 | "properties": {
|
620 | "params": {
|
621 | "type": "object",
|
622 | "properties": {}
|
623 | },
|
624 | "returns": {
|
625 | "type": "array",
|
626 | "items": {
|
627 | "$ref": "#/definitions/Template"
|
628 | }
|
629 | }
|
630 | },
|
631 | "propertyOrder": [
|
632 | "params",
|
633 | "returns"
|
634 | ],
|
635 | "required": [
|
636 | "params",
|
637 | "returns"
|
638 | ]
|
639 | },
|
640 | "tryTemplate": {
|
641 | "description": "Returns a JWT token for claiming the live template\nwith claimApp",
|
642 | "type": "object",
|
643 | "properties": {
|
644 | "params": {
|
645 | "type": "object",
|
646 | "properties": {
|
647 | "id": {
|
648 | "minLength": 1,
|
649 | "type": "string"
|
650 | }
|
651 | },
|
652 | "propertyOrder": [
|
653 | "id"
|
654 | ],
|
655 | "required": [
|
656 | "id"
|
657 | ]
|
658 | },
|
659 | "throws": {
|
660 | "$ref": "#/definitions/NotFoundError"
|
661 | },
|
662 | "returns": {
|
663 | "$ref": "#/definitions/TryTemplateResponse"
|
664 | }
|
665 | },
|
666 | "propertyOrder": [
|
667 | "params",
|
668 | "throws",
|
669 | "returns"
|
670 | ],
|
671 | "required": [
|
672 | "params",
|
673 | "returns",
|
674 | "throws"
|
675 | ]
|
676 | },
|
677 | "whoami": {
|
678 | "type": "object",
|
679 | "properties": {
|
680 | "params": {
|
681 | "type": "object",
|
682 | "properties": {}
|
683 | },
|
684 | "returns": {
|
685 | "$ref": "#/definitions/User"
|
686 | },
|
687 | "throws": {
|
688 | "$ref": "#/definitions/UnauthorizedError"
|
689 | }
|
690 | },
|
691 | "propertyOrder": [
|
692 | "params",
|
693 | "returns",
|
694 | "throws"
|
695 | ],
|
696 | "required": [
|
697 | "params",
|
698 | "returns",
|
699 | "throws"
|
700 | ]
|
701 | },
|
702 | "listApps": {
|
703 | "type": "object",
|
704 | "properties": {
|
705 | "params": {
|
706 | "type": "object",
|
707 | "properties": {}
|
708 | },
|
709 | "throws": {
|
710 | "$ref": "#/definitions/UnauthorizedError"
|
711 | },
|
712 | "returns": {
|
713 | "type": "array",
|
714 | "items": {
|
715 | "$ref": "#/definitions/Application"
|
716 | }
|
717 | }
|
718 | },
|
719 | "propertyOrder": [
|
720 | "params",
|
721 | "throws",
|
722 | "returns"
|
723 | ],
|
724 | "required": [
|
725 | "params",
|
726 | "returns",
|
727 | "throws"
|
728 | ]
|
729 | },
|
730 | "deployInitial": {
|
731 | "type": "object",
|
732 | "properties": {
|
733 | "params": {
|
734 | "type": "object",
|
735 | "properties": {
|
736 | "env": {
|
737 | "pattern": "^[A-Za-z][A-Za-z_\\d]{0,49}$",
|
738 | "type": "string"
|
739 | },
|
740 | "name": {
|
741 | "minLength": 1,
|
742 | "type": "string"
|
743 | },
|
744 | "digest": {
|
745 | "minLength": 1,
|
746 | "type": "string"
|
747 | },
|
748 | "envVars": {
|
749 | "type": "array",
|
750 | "items": {
|
751 | "type": "array",
|
752 | "items": [
|
753 | {
|
754 | "type": "string"
|
755 | },
|
756 | {
|
757 | "type": "string"
|
758 | }
|
759 | ],
|
760 | "minItems": 2,
|
761 | "additionalItems": {
|
762 | "anyOf": [
|
763 | {
|
764 | "type": "string"
|
765 | },
|
766 | {
|
767 | "type": "string"
|
768 | }
|
769 | ]
|
770 | }
|
771 | }
|
772 | }
|
773 | },
|
774 | "propertyOrder": [
|
775 | "env",
|
776 | "name",
|
777 | "digest",
|
778 | "envVars"
|
779 | ],
|
780 | "required": [
|
781 | "digest",
|
782 | "env",
|
783 | "envVars",
|
784 | "name"
|
785 | ]
|
786 | },
|
787 | "throws": {
|
788 | "anyOf": [
|
789 | {
|
790 | "$ref": "#/definitions/UnauthorizedError"
|
791 | },
|
792 | {
|
793 | "$ref": "#/definitions/ExistsError"
|
794 | }
|
795 | ]
|
796 | },
|
797 | "returns": {
|
798 | "$ref": "#/definitions/Application"
|
799 | }
|
800 | },
|
801 | "propertyOrder": [
|
802 | "params",
|
803 | "throws",
|
804 | "returns"
|
805 | ],
|
806 | "required": [
|
807 | "params",
|
808 | "returns",
|
809 | "throws"
|
810 | ]
|
811 | },
|
812 | "deploy": {
|
813 | "type": "object",
|
814 | "properties": {
|
815 | "params": {
|
816 | "type": "object",
|
817 | "properties": {
|
818 | "appId": {
|
819 | "minLength": 1,
|
820 | "type": "string"
|
821 | },
|
822 | "env": {
|
823 | "pattern": "^[A-Za-z][A-Za-z_\\d]{0,49}$",
|
824 | "type": "string"
|
825 | },
|
826 | "digest": {
|
827 | "minLength": 1,
|
828 | "type": "string"
|
829 | },
|
830 | "envVars": {
|
831 | "type": "array",
|
832 | "items": {
|
833 | "type": "array",
|
834 | "items": [
|
835 | {
|
836 | "type": "string"
|
837 | },
|
838 | {
|
839 | "type": "string"
|
840 | }
|
841 | ],
|
842 | "minItems": 2,
|
843 | "additionalItems": {
|
844 | "anyOf": [
|
845 | {
|
846 | "type": "string"
|
847 | },
|
848 | {
|
849 | "type": "string"
|
850 | }
|
851 | ]
|
852 | }
|
853 | }
|
854 | }
|
855 | },
|
856 | "propertyOrder": [
|
857 | "appId",
|
858 | "env",
|
859 | "digest",
|
860 | "envVars"
|
861 | ],
|
862 | "required": [
|
863 | "appId",
|
864 | "digest",
|
865 | "env",
|
866 | "envVars"
|
867 | ]
|
868 | },
|
869 | "throws": {
|
870 | "anyOf": [
|
871 | {
|
872 | "$ref": "#/definitions/UnauthorizedError"
|
873 | },
|
874 | {
|
875 | "$ref": "#/definitions/NotFoundError"
|
876 | }
|
877 | ]
|
878 | },
|
879 | "returns": {
|
880 | "$ref": "#/definitions/Application"
|
881 | }
|
882 | },
|
883 | "propertyOrder": [
|
884 | "params",
|
885 | "throws",
|
886 | "returns"
|
887 | ],
|
888 | "required": [
|
889 | "params",
|
890 | "returns",
|
891 | "throws"
|
892 | ]
|
893 | },
|
894 | "claimApp": {
|
895 | "description": "Claim an anonymously deployed app into the user account\nusing the token received from tryTemplate",
|
896 | "type": "object",
|
897 | "properties": {
|
898 | "params": {
|
899 | "type": "object",
|
900 | "properties": {
|
901 | "token": {
|
902 | "minLength": 1,
|
903 | "type": "string"
|
904 | }
|
905 | },
|
906 | "propertyOrder": [
|
907 | "token"
|
908 | ],
|
909 | "required": [
|
910 | "token"
|
911 | ]
|
912 | },
|
913 | "throws": {
|
914 | "anyOf": [
|
915 | {
|
916 | "$ref": "#/definitions/UnauthorizedError"
|
917 | },
|
918 | {
|
919 | "$ref": "#/definitions/NotFoundError"
|
920 | }
|
921 | ]
|
922 | },
|
923 | "returns": {
|
924 | "$ref": "#/definitions/Application"
|
925 | }
|
926 | },
|
927 | "propertyOrder": [
|
928 | "params",
|
929 | "throws",
|
930 | "returns"
|
931 | ],
|
932 | "required": [
|
933 | "params",
|
934 | "returns",
|
935 | "throws"
|
936 | ]
|
937 | },
|
938 | "getLogs": {
|
939 | "type": "object",
|
940 | "properties": {
|
941 | "params": {
|
942 | "type": "object",
|
943 | "properties": {
|
944 | "appId": {
|
945 | "minLength": 1,
|
946 | "type": "string"
|
947 | },
|
948 | "env": {
|
949 | "pattern": "^[A-Za-z][A-Za-z_\\d]{0,49}$",
|
950 | "type": "string"
|
951 | },
|
952 | "opts": {
|
953 | "$ref": "#/definitions/LogReadOpts"
|
954 | }
|
955 | },
|
956 | "propertyOrder": [
|
957 | "appId",
|
958 | "env",
|
959 | "opts"
|
960 | ],
|
961 | "required": [
|
962 | "appId",
|
963 | "env",
|
964 | "opts"
|
965 | ]
|
966 | },
|
967 | "throws": {
|
968 | "anyOf": [
|
969 | {
|
970 | "$ref": "#/definitions/UnauthorizedError"
|
971 | },
|
972 | {
|
973 | "$ref": "#/definitions/NotFoundError"
|
974 | }
|
975 | ]
|
976 | },
|
977 | "returns": {
|
978 | "$ref": "#/definitions/LogsResponse"
|
979 | }
|
980 | },
|
981 | "propertyOrder": [
|
982 | "params",
|
983 | "throws",
|
984 | "returns"
|
985 | ],
|
986 | "required": [
|
987 | "params",
|
988 | "returns",
|
989 | "throws"
|
990 | ]
|
991 | },
|
992 | "destroyApp": {
|
993 | "type": "object",
|
994 | "properties": {
|
995 | "params": {
|
996 | "type": "object",
|
997 | "properties": {
|
998 | "appId": {
|
999 | "minLength": 1,
|
1000 | "type": "string"
|
1001 | }
|
1002 | },
|
1003 | "propertyOrder": [
|
1004 | "appId"
|
1005 | ],
|
1006 | "required": [
|
1007 | "appId"
|
1008 | ]
|
1009 | },
|
1010 | "throws": {
|
1011 | "anyOf": [
|
1012 | {
|
1013 | "$ref": "#/definitions/UnauthorizedError"
|
1014 | },
|
1015 | {
|
1016 | "$ref": "#/definitions/NotFoundError"
|
1017 | }
|
1018 | ]
|
1019 | },
|
1020 | "returns": {
|
1021 | "type": "null"
|
1022 | }
|
1023 | },
|
1024 | "propertyOrder": [
|
1025 | "params",
|
1026 | "throws",
|
1027 | "returns"
|
1028 | ],
|
1029 | "required": [
|
1030 | "params",
|
1031 | "returns",
|
1032 | "throws"
|
1033 | ]
|
1034 | }
|
1035 | },
|
1036 | "propertyOrder": [
|
1037 | "createTicket",
|
1038 | "claimTicket",
|
1039 | "listTemplates",
|
1040 | "tryTemplate",
|
1041 | "whoami",
|
1042 | "listApps",
|
1043 | "deployInitial",
|
1044 | "deploy",
|
1045 | "claimApp",
|
1046 | "getLogs",
|
1047 | "destroyApp"
|
1048 | ],
|
1049 | "required": [
|
1050 | "claimApp",
|
1051 | "claimTicket",
|
1052 | "createTicket",
|
1053 | "deploy",
|
1054 | "deployInitial",
|
1055 | "destroyApp",
|
1056 | "getLogs",
|
1057 | "listApps",
|
1058 | "listTemplates",
|
1059 | "tryTemplate",
|
1060 | "whoami"
|
1061 | ]
|
1062 | }
|
1063 | }
|
1064 | };
|
1065 |
|
1066 | export class InternalServerError extends Error {
|
1067 | public readonly name = 'InternalServerError';
|
1068 | }
|
1069 |
|
1070 | export class UnauthorizedError extends Error {
|
1071 | public readonly name = 'UnauthorizedError';
|
1072 | }
|
1073 |
|
1074 | export class NotFoundError extends Error {
|
1075 | public readonly name = 'NotFoundError';
|
1076 | }
|
1077 |
|
1078 | export class ExistsError extends Error {
|
1079 | public readonly name = 'ExistsError';
|
1080 | }
|
1081 |
|
1082 | export enum FunctionRunnerSize {
|
1083 | M128MIB = 'm128MiB',
|
1084 | M1GIB = 'm1GiB',
|
1085 | M256MIB = 'm256MiB',
|
1086 | M2GIB = 'm2GiB',
|
1087 | M512MIB = 'm512MiB',
|
1088 | }
|
1089 |
|
1090 | export type Domain = (SubDomain) | (CNameDomain);
|
1091 |
|
1092 | export interface Session {
|
1093 | readonly accountId: string;
|
1094 | readonly principal: string;
|
1095 | }
|
1096 |
|
1097 | export interface ServerOnlyContext {
|
1098 | readonly tags?: {};
|
1099 | readonly logLevel?: string;
|
1100 | readonly logExtra?: {};
|
1101 | readonly sampleRate?: number;
|
1102 | readonly debugId: string;
|
1103 | readonly session?: Session;
|
1104 | }
|
1105 |
|
1106 | export interface SubDomain {
|
1107 | readonly type: "subdomain";
|
1108 | readonly name: string;
|
1109 | }
|
1110 |
|
1111 | export interface CNameDomain {
|
1112 | readonly type: "cname";
|
1113 | readonly name: string;
|
1114 | readonly certificate: string;
|
1115 | }
|
1116 |
|
1117 | export interface Environment {
|
1118 | readonly name: string;
|
1119 | readonly domains: Array<(SubDomain) | (CNameDomain)>;
|
1120 | }
|
1121 |
|
1122 | export interface Application {
|
1123 | readonly accountId: string;
|
1124 | readonly id: string;
|
1125 | readonly name: string;
|
1126 | readonly createdAt: Date;
|
1127 | readonly updatedAt: Date;
|
1128 | readonly sourceUrl?: string;
|
1129 | readonly environments: Array<Environment>;
|
1130 | }
|
1131 |
|
1132 | export interface Template {
|
1133 | readonly id: string;
|
1134 | readonly name: string;
|
1135 | readonly previewImageUrl: string;
|
1136 | readonly githubUrl: string;
|
1137 | }
|
1138 |
|
1139 | export interface ExternalAccount {
|
1140 | readonly source: string;
|
1141 | readonly id: string;
|
1142 | }
|
1143 |
|
1144 | export interface User {
|
1145 | readonly id: string;
|
1146 | readonly fullName: string;
|
1147 | readonly email: string;
|
1148 | readonly avatarUrl?: string;
|
1149 | readonly externalAccounts: Array<ExternalAccount>;
|
1150 | }
|
1151 |
|
1152 | export interface InvocationDetails {
|
1153 | readonly durUs: number;
|
1154 | readonly reqid: string;
|
1155 | }
|
1156 |
|
1157 | export interface LogRecord {
|
1158 | readonly source: string;
|
1159 | readonly msg: string;
|
1160 | readonly isErr: boolean;
|
1161 | readonly time: Date;
|
1162 | readonly invocation?: InvocationDetails;
|
1163 | }
|
1164 |
|
1165 | export interface LogReadOpts {
|
1166 | readonly since: Date;
|
1167 | readonly limit: number;
|
1168 | readonly follow: boolean;
|
1169 | readonly nextToken?: string;
|
1170 | }
|
1171 |
|
1172 | export interface LogsResponse {
|
1173 | readonly records: Array<LogRecord>;
|
1174 | readonly nextToken?: string;
|
1175 | }
|
1176 |
|
1177 | export interface CreateTicketResponse {
|
1178 | readonly ticket: string;
|
1179 | readonly expires: string;
|
1180 | }
|
1181 |
|
1182 | export interface TryTemplateResponse {
|
1183 | readonly token: string;
|
1184 | readonly expiresAt: Date;
|
1185 | readonly domain: string;
|
1186 | }
|
1187 |
|
1188 | export interface Lycan {
|
1189 | createTicket(): Promise<CreateTicketResponse>;
|
1190 | claimTicket(ticket: string): Promise<string>;
|
1191 | listTemplates(): Promise<Array<Template>>;
|
1192 | tryTemplate(id: string): Promise<TryTemplateResponse>;
|
1193 | whoami(): Promise<User>;
|
1194 | listApps(): Promise<Array<Application>>;
|
1195 | deployInitial(env: string, name: string, digest: string, envVars: Array<[string, string]>): Promise<Application>;
|
1196 | deploy(appId: string, env: string, digest: string, envVars: Array<[string, string]>): Promise<Application>;
|
1197 | claimApp(token: string): Promise<Application>;
|
1198 | getLogs(appId: string, env: string, opts: LogReadOpts): Promise<LogsResponse>;
|
1199 | destroyApp(appId: string): Promise<void>;
|
1200 | }
|
1201 |
|