@epilot/blueprint-manifest-client 2.11.0 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/openapi.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "openapi": "3.0.3",
2
+ "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Blueprint Manifest API",
5
5
  "version": "0.1.0",
@@ -21,6 +21,14 @@
21
21
  {
22
22
  "name": "Manifests",
23
23
  "description": "Manage installed Manifests"
24
+ },
25
+ {
26
+ "name": "Blueprints",
27
+ "description": "Manage Custom and Installed Blueprints"
28
+ },
29
+ {
30
+ "name": "Installations",
31
+ "description": "Manage installation jobs"
24
32
  }
25
33
  ],
26
34
  "security": [
@@ -679,10 +687,1249 @@
679
687
  }
680
688
  }
681
689
  }
682
- }
683
- },
684
- "components": {
685
- "schemas": {
690
+ },
691
+ "/v2/blueprint-manifest/blueprints": {
692
+ "get": {
693
+ "operationId": "listBlueprints",
694
+ "summary": "listBlueprints",
695
+ "description": "List Custom and Installed Blueprints",
696
+ "tags": [
697
+ "Blueprints"
698
+ ],
699
+ "responses": {
700
+ "200": {
701
+ "description": "Blueprints",
702
+ "content": {
703
+ "application/json": {
704
+ "schema": {
705
+ "type": "object",
706
+ "properties": {
707
+ "total": {
708
+ "type": "integer",
709
+ "example": 1
710
+ },
711
+ "results": {
712
+ "type": "array",
713
+ "items": {
714
+ "$ref": "#/components/schemas/Blueprint"
715
+ }
716
+ }
717
+ }
718
+ }
719
+ }
720
+ }
721
+ }
722
+ }
723
+ },
724
+ "post": {
725
+ "operationId": "createBlueprint",
726
+ "summary": "createBlueprint",
727
+ "description": "Create a Blueprint",
728
+ "tags": [
729
+ "Blueprints"
730
+ ],
731
+ "requestBody": {
732
+ "content": {
733
+ "application/json": {
734
+ "schema": {
735
+ "$ref": "#/components/schemas/Blueprint"
736
+ }
737
+ }
738
+ }
739
+ },
740
+ "responses": {
741
+ "200": {
742
+ "description": "Created Blueprint",
743
+ "content": {
744
+ "application/json": {
745
+ "schema": {
746
+ "$ref": "#/components/schemas/Blueprint"
747
+ }
748
+ }
749
+ }
750
+ }
751
+ }
752
+ }
753
+ },
754
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}": {
755
+ "get": {
756
+ "operationId": "getBlueprint",
757
+ "summary": "getBlueprint",
758
+ "description": "Get Blueprint by ID",
759
+ "tags": [
760
+ "Blueprints"
761
+ ],
762
+ "parameters": [
763
+ {
764
+ "in": "path",
765
+ "required": true,
766
+ "name": "blueprint_id",
767
+ "schema": {
768
+ "$ref": "#/components/schemas/BlueprintID"
769
+ }
770
+ }
771
+ ],
772
+ "responses": {
773
+ "200": {
774
+ "description": "Blueprint",
775
+ "content": {
776
+ "application/json": {
777
+ "schema": {
778
+ "$ref": "#/components/schemas/Blueprint"
779
+ }
780
+ }
781
+ }
782
+ }
783
+ }
784
+ },
785
+ "put": {
786
+ "operationId": "updateBlueprint",
787
+ "summary": "updateBlueprint",
788
+ "description": "Update a Blueprint",
789
+ "tags": [
790
+ "Blueprints"
791
+ ],
792
+ "parameters": [
793
+ {
794
+ "in": "path",
795
+ "required": true,
796
+ "name": "blueprint_id",
797
+ "schema": {
798
+ "$ref": "#/components/schemas/BlueprintID"
799
+ }
800
+ }
801
+ ],
802
+ "requestBody": {
803
+ "content": {
804
+ "application/json": {
805
+ "schema": {
806
+ "$ref": "#/components/schemas/Blueprint"
807
+ }
808
+ }
809
+ }
810
+ },
811
+ "responses": {
812
+ "200": {
813
+ "description": "Updated Blueprint",
814
+ "content": {
815
+ "application/json": {
816
+ "schema": {
817
+ "$ref": "#/components/schemas/Blueprint"
818
+ }
819
+ }
820
+ }
821
+ }
822
+ }
823
+ },
824
+ "delete": {
825
+ "operationId": "deleteBlueprint",
826
+ "summary": "deleteBlueprint",
827
+ "description": "Delete a Blueprint",
828
+ "tags": [
829
+ "Blueprints"
830
+ ],
831
+ "parameters": [
832
+ {
833
+ "in": "path",
834
+ "required": true,
835
+ "name": "blueprint_id",
836
+ "schema": {
837
+ "$ref": "#/components/schemas/BlueprintID"
838
+ }
839
+ }
840
+ ],
841
+ "responses": {
842
+ "200": {
843
+ "description": "Deleted Blueprint",
844
+ "content": {
845
+ "application/json": {
846
+ "schema": {
847
+ "$ref": "#/components/schemas/Blueprint"
848
+ }
849
+ }
850
+ }
851
+ }
852
+ }
853
+ }
854
+ },
855
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}:export": {
856
+ "post": {
857
+ "operationId": "exportBlueprint",
858
+ "summary": "exportBlueprint",
859
+ "description": "Zip the blueprint content and return the url to download it",
860
+ "tags": [
861
+ "Blueprints"
862
+ ],
863
+ "parameters": [
864
+ {
865
+ "in": "path",
866
+ "required": true,
867
+ "name": "blueprint_id",
868
+ "schema": {
869
+ "$ref": "#/components/schemas/BlueprintID"
870
+ }
871
+ }
872
+ ],
873
+ "responses": {
874
+ "200": {
875
+ "description": "Exported Blueprint",
876
+ "content": {
877
+ "application/json": {
878
+ "schema": {
879
+ "type": "object",
880
+ "properties": {
881
+ "url": {
882
+ "type": "string"
883
+ }
884
+ }
885
+ }
886
+ }
887
+ }
888
+ }
889
+ }
890
+ }
891
+ },
892
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}/resources": {
893
+ "post": {
894
+ "operationId": "addBlueprintResource",
895
+ "summary": "addBlueprintResource",
896
+ "description": "Add a resource to a Blueprint",
897
+ "tags": [
898
+ "Blueprints"
899
+ ],
900
+ "parameters": [
901
+ {
902
+ "in": "path",
903
+ "required": true,
904
+ "name": "blueprint_id",
905
+ "schema": {
906
+ "$ref": "#/components/schemas/BlueprintID"
907
+ }
908
+ },
909
+ {
910
+ "in": "query",
911
+ "name": "add_dependencies",
912
+ "schema": {
913
+ "type": "boolean",
914
+ "default": false,
915
+ "description": "Whether to add this resource dependencies to the blueprint automatically"
916
+ }
917
+ }
918
+ ],
919
+ "requestBody": {
920
+ "content": {
921
+ "application/json": {
922
+ "schema": {
923
+ "anyOf": [
924
+ {
925
+ "$ref": "#/components/schemas/EditableBlueprintResource"
926
+ },
927
+ {
928
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
929
+ }
930
+ ]
931
+ }
932
+ }
933
+ }
934
+ },
935
+ "responses": {
936
+ "200": {
937
+ "description": "Added Blueprint Resource",
938
+ "content": {
939
+ "application/json": {
940
+ "schema": {
941
+ "type": "object",
942
+ "properties": {
943
+ "resources": {
944
+ "type": "array",
945
+ "items": {
946
+ "anyOf": [
947
+ {
948
+ "$ref": "#/components/schemas/EditableBlueprintResource"
949
+ },
950
+ {
951
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
952
+ }
953
+ ]
954
+ }
955
+ }
956
+ }
957
+ }
958
+ }
959
+ }
960
+ }
961
+ }
962
+ }
963
+ },
964
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}/resources:syncDependencies": {
965
+ "post": {
966
+ "operationId": "syncDependencies",
967
+ "summary": "syncDependencies",
968
+ "description": "Sync dependencies of all root resources in a Blueprint",
969
+ "tags": [
970
+ "Blueprints"
971
+ ],
972
+ "parameters": [
973
+ {
974
+ "in": "path",
975
+ "required": true,
976
+ "name": "blueprint_id",
977
+ "schema": {
978
+ "$ref": "#/components/schemas/BlueprintID"
979
+ }
980
+ }
981
+ ],
982
+ "responses": {
983
+ "200": {
984
+ "description": "Synced dependencies of all root resources in a Blueprint",
985
+ "content": {
986
+ "application/json": {
987
+ "schema": {
988
+ "type": "object",
989
+ "properties": {
990
+ "resources": {
991
+ "type": "array",
992
+ "items": {
993
+ "anyOf": [
994
+ {
995
+ "$ref": "#/components/schemas/EditableBlueprintResource"
996
+ },
997
+ {
998
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
999
+ }
1000
+ ]
1001
+ }
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+ }
1007
+ }
1008
+ }
1009
+ }
1010
+ },
1011
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}/resources/bulk": {
1012
+ "post": {
1013
+ "operationId": "bulkAddBlueprintResources",
1014
+ "summary": "bulkAddBlueprintResources",
1015
+ "description": "Bulk Add resources in a Blueprint",
1016
+ "tags": [
1017
+ "Blueprints"
1018
+ ],
1019
+ "parameters": [
1020
+ {
1021
+ "in": "path",
1022
+ "required": true,
1023
+ "name": "blueprint_id",
1024
+ "schema": {
1025
+ "$ref": "#/components/schemas/BlueprintID"
1026
+ }
1027
+ },
1028
+ {
1029
+ "in": "query",
1030
+ "name": "add_dependencies",
1031
+ "schema": {
1032
+ "type": "boolean",
1033
+ "default": false,
1034
+ "description": "Whether to add this resource dependencies to the blueprint automatically"
1035
+ }
1036
+ }
1037
+ ],
1038
+ "requestBody": {
1039
+ "content": {
1040
+ "application/json": {
1041
+ "schema": {
1042
+ "type": "array",
1043
+ "items": {
1044
+ "anyOf": [
1045
+ {
1046
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1047
+ },
1048
+ {
1049
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1050
+ }
1051
+ ]
1052
+ }
1053
+ }
1054
+ }
1055
+ }
1056
+ },
1057
+ "responses": {
1058
+ "200": {
1059
+ "description": "Bulk updated Blueprint Resources",
1060
+ "content": {
1061
+ "application/json": {
1062
+ "schema": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "resources": {
1066
+ "type": "array",
1067
+ "items": {
1068
+ "anyOf": [
1069
+ {
1070
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1071
+ },
1072
+ {
1073
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1074
+ }
1075
+ ]
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ }
1081
+ }
1082
+ }
1083
+ }
1084
+ },
1085
+ "put": {
1086
+ "operationId": "bulkUpdateBlueprintResources",
1087
+ "summary": "bulkUpdateBlueprintResources",
1088
+ "description": "Bulk update resources in a Blueprint",
1089
+ "tags": [
1090
+ "Blueprints"
1091
+ ],
1092
+ "parameters": [
1093
+ {
1094
+ "in": "path",
1095
+ "required": true,
1096
+ "name": "blueprint_id",
1097
+ "schema": {
1098
+ "$ref": "#/components/schemas/BlueprintID"
1099
+ }
1100
+ }
1101
+ ],
1102
+ "requestBody": {
1103
+ "content": {
1104
+ "application/json": {
1105
+ "schema": {
1106
+ "type": "array",
1107
+ "items": {
1108
+ "anyOf": [
1109
+ {
1110
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1111
+ },
1112
+ {
1113
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1114
+ }
1115
+ ]
1116
+ }
1117
+ }
1118
+ }
1119
+ }
1120
+ },
1121
+ "responses": {
1122
+ "200": {
1123
+ "description": "Bulk updated Blueprint Resources",
1124
+ "content": {
1125
+ "application/json": {
1126
+ "schema": {
1127
+ "type": "object",
1128
+ "properties": {
1129
+ "resources": {
1130
+ "type": "array",
1131
+ "items": {
1132
+ "anyOf": [
1133
+ {
1134
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1135
+ },
1136
+ {
1137
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1138
+ }
1139
+ ]
1140
+ }
1141
+ }
1142
+ }
1143
+ }
1144
+ }
1145
+ }
1146
+ }
1147
+ }
1148
+ },
1149
+ "delete": {
1150
+ "operationId": "bulkDeleteBlueprintResources",
1151
+ "summary": "bulkDeleteBlueprintResources",
1152
+ "description": "Bulk delete resources in a Blueprint",
1153
+ "tags": [
1154
+ "Blueprints"
1155
+ ],
1156
+ "parameters": [
1157
+ {
1158
+ "in": "path",
1159
+ "required": true,
1160
+ "name": "blueprint_id",
1161
+ "schema": {
1162
+ "$ref": "#/components/schemas/BlueprintID"
1163
+ }
1164
+ }
1165
+ ],
1166
+ "requestBody": {
1167
+ "content": {
1168
+ "application/json": {
1169
+ "schema": {
1170
+ "type": "array",
1171
+ "items": {
1172
+ "$ref": "#/components/schemas/BlueprintResourceID"
1173
+ }
1174
+ }
1175
+ }
1176
+ }
1177
+ },
1178
+ "responses": {
1179
+ "200": {
1180
+ "description": "Bulk deleted Blueprint Resources",
1181
+ "content": {
1182
+ "application/json": {
1183
+ "schema": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "resources": {
1187
+ "type": "array",
1188
+ "items": {
1189
+ "anyOf": [
1190
+ {
1191
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1192
+ },
1193
+ {
1194
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1195
+ }
1196
+ ]
1197
+ }
1198
+ }
1199
+ }
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+ }
1205
+ }
1206
+ },
1207
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}/resources/{resource_id}": {
1208
+ "put": {
1209
+ "operationId": "updateBlueprintResource",
1210
+ "summary": "updateBlueprintResource",
1211
+ "description": "Update a resource in a Blueprint",
1212
+ "tags": [
1213
+ "Blueprints"
1214
+ ],
1215
+ "parameters": [
1216
+ {
1217
+ "in": "path",
1218
+ "required": true,
1219
+ "name": "blueprint_id",
1220
+ "schema": {
1221
+ "$ref": "#/components/schemas/BlueprintID"
1222
+ }
1223
+ },
1224
+ {
1225
+ "in": "path",
1226
+ "required": true,
1227
+ "name": "resource_id",
1228
+ "schema": {
1229
+ "$ref": "#/components/schemas/BlueprintResourceID"
1230
+ }
1231
+ }
1232
+ ],
1233
+ "requestBody": {
1234
+ "content": {
1235
+ "application/json": {
1236
+ "schema": {
1237
+ "anyOf": [
1238
+ {
1239
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1240
+ },
1241
+ {
1242
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1243
+ }
1244
+ ]
1245
+ }
1246
+ }
1247
+ }
1248
+ },
1249
+ "responses": {
1250
+ "200": {
1251
+ "description": "Updated Blueprint Resource",
1252
+ "content": {
1253
+ "application/json": {
1254
+ "schema": {
1255
+ "type": "object",
1256
+ "properties": {
1257
+ "resources": {
1258
+ "type": "array",
1259
+ "items": {
1260
+ "anyOf": [
1261
+ {
1262
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1263
+ },
1264
+ {
1265
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1266
+ }
1267
+ ]
1268
+ }
1269
+ }
1270
+ }
1271
+ }
1272
+ }
1273
+ }
1274
+ }
1275
+ }
1276
+ },
1277
+ "delete": {
1278
+ "operationId": "deleteBlueprintResource",
1279
+ "summary": "deleteBlueprintResource",
1280
+ "description": "Delete a resource from a Blueprint",
1281
+ "tags": [
1282
+ "Blueprints"
1283
+ ],
1284
+ "parameters": [
1285
+ {
1286
+ "in": "path",
1287
+ "required": true,
1288
+ "name": "blueprint_id",
1289
+ "schema": {
1290
+ "$ref": "#/components/schemas/BlueprintID"
1291
+ }
1292
+ },
1293
+ {
1294
+ "in": "path",
1295
+ "required": true,
1296
+ "name": "resource_id",
1297
+ "schema": {
1298
+ "$ref": "#/components/schemas/BlueprintResourceID"
1299
+ }
1300
+ }
1301
+ ],
1302
+ "responses": {
1303
+ "200": {
1304
+ "description": "Deleted Blueprint Resource",
1305
+ "content": {
1306
+ "application/json": {
1307
+ "schema": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "resources": {
1311
+ "type": "array",
1312
+ "items": {
1313
+ "anyOf": [
1314
+ {
1315
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1316
+ },
1317
+ {
1318
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1319
+ }
1320
+ ]
1321
+ }
1322
+ }
1323
+ }
1324
+ }
1325
+ }
1326
+ }
1327
+ }
1328
+ }
1329
+ }
1330
+ },
1331
+ "/v2/blueprint-manifest/installations": {
1332
+ "post": {
1333
+ "operationId": "createInstallationJob",
1334
+ "summary": "Create Installation Job",
1335
+ "description": "Kick off a new installation job. Returns 202 Accepted with Location header pointing to the job resource and a strict idempotency-key header.\n",
1336
+ "tags": [
1337
+ "Installations"
1338
+ ],
1339
+ "requestBody": {
1340
+ "required": true,
1341
+ "content": {
1342
+ "application/json": {
1343
+ "schema": {
1344
+ "type": "object",
1345
+ "properties": {
1346
+ "source_blueprint_id": {
1347
+ "$ref": "#/components/schemas/BlueprintID"
1348
+ },
1349
+ "destination_org_id": {
1350
+ "type": "string",
1351
+ "description": "Destination organization ID"
1352
+ },
1353
+ "mode": {
1354
+ "type": "string",
1355
+ "enum": [
1356
+ "simple",
1357
+ "advanced"
1358
+ ],
1359
+ "description": "Installation mode"
1360
+ }
1361
+ },
1362
+ "required": [
1363
+ "source_blueprint_id",
1364
+ "destination_org_id",
1365
+ "mode"
1366
+ ]
1367
+ }
1368
+ }
1369
+ }
1370
+ },
1371
+ "responses": {
1372
+ "202": {
1373
+ "description": "Installation job started",
1374
+ "headers": {
1375
+ "Location": {
1376
+ "description": "URL to poll the job",
1377
+ "schema": {
1378
+ "type": "string"
1379
+ }
1380
+ },
1381
+ "Idempotency-Key": {
1382
+ "description": "Strict idempotency key",
1383
+ "schema": {
1384
+ "type": "string"
1385
+ }
1386
+ }
1387
+ },
1388
+ "content": {
1389
+ "application/json": {
1390
+ "schema": {
1391
+ "type": "object",
1392
+ "properties": {
1393
+ "job_id": {
1394
+ "$ref": "#/components/schemas/InstallationJobID"
1395
+ }
1396
+ }
1397
+ }
1398
+ }
1399
+ }
1400
+ }
1401
+ }
1402
+ }
1403
+ },
1404
+ "/v2/blueprint-manifest/installations/{job_id}": {
1405
+ "get": {
1406
+ "operationId": "getInstallationJob",
1407
+ "summary": "Get Installation Job",
1408
+ "description": "Poll current state of an installation job.",
1409
+ "tags": [
1410
+ "Installations"
1411
+ ],
1412
+ "parameters": [
1413
+ {
1414
+ "in": "path",
1415
+ "required": true,
1416
+ "name": "job_id",
1417
+ "schema": {
1418
+ "$ref": "#/components/schemas/InstallationJobID"
1419
+ }
1420
+ }
1421
+ ],
1422
+ "responses": {
1423
+ "200": {
1424
+ "description": "Installation job status",
1425
+ "content": {
1426
+ "application/json": {
1427
+ "schema": {
1428
+ "$ref": "#/components/schemas/InstallationJob"
1429
+ }
1430
+ }
1431
+ }
1432
+ }
1433
+ }
1434
+ }
1435
+ },
1436
+ "/v2/blueprint-manifest/installations/{job_id}:continue": {
1437
+ "post": {
1438
+ "operationId": "continueInstallationJob",
1439
+ "summary": "Continue Installation Job",
1440
+ "description": "Continue an installation job if it is waiting for user action.",
1441
+ "tags": [
1442
+ "Installations"
1443
+ ],
1444
+ "parameters": [
1445
+ {
1446
+ "in": "path",
1447
+ "required": true,
1448
+ "name": "job_id",
1449
+ "schema": {
1450
+ "$ref": "#/components/schemas/InstallationJobID"
1451
+ }
1452
+ }
1453
+ ],
1454
+ "responses": {
1455
+ "200": {
1456
+ "description": "Installation job continued",
1457
+ "content": {
1458
+ "application/json": {
1459
+ "schema": {
1460
+ "$ref": "#/components/schemas/InstallationJob"
1461
+ }
1462
+ }
1463
+ }
1464
+ }
1465
+ }
1466
+ }
1467
+ },
1468
+ "/v2/blueprint-manifest/installations/{job_id}:cancel": {
1469
+ "operationId": "cancelInstallationJob",
1470
+ "summary": "Cancel Installation Job",
1471
+ "description": "Cancel an installation job if it is still running.",
1472
+ "tags": [
1473
+ "Installations"
1474
+ ],
1475
+ "parameters": [
1476
+ {
1477
+ "in": "path",
1478
+ "required": true,
1479
+ "name": "job_id",
1480
+ "schema": {
1481
+ "$ref": "#/components/schemas/InstallationJobID"
1482
+ }
1483
+ }
1484
+ ],
1485
+ "responses": {
1486
+ "200": {
1487
+ "description": "Installation job cancelled",
1488
+ "content": {
1489
+ "application/json": {
1490
+ "schema": {
1491
+ "$ref": "#/components/schemas/InstallationJob"
1492
+ }
1493
+ }
1494
+ }
1495
+ }
1496
+ }
1497
+ },
1498
+ "/v2/blueprint-manifest/installations/{job_id}/events": {
1499
+ "get": {
1500
+ "operationId": "getInstallationJobEvents",
1501
+ "summary": "Get Installation Job Events",
1502
+ "description": "Event log for an installation job.",
1503
+ "tags": [
1504
+ "Installations"
1505
+ ],
1506
+ "parameters": [
1507
+ {
1508
+ "in": "path",
1509
+ "required": true,
1510
+ "name": "job_id",
1511
+ "schema": {
1512
+ "$ref": "#/components/schemas/InstallationJobID"
1513
+ }
1514
+ }
1515
+ ],
1516
+ "responses": {
1517
+ "200": {
1518
+ "description": "Event logs",
1519
+ "content": {
1520
+ "application/json": {
1521
+ "schema": {
1522
+ "type": "object",
1523
+ "properties": {
1524
+ "created_at": {
1525
+ "type": "string",
1526
+ "format": "date-time"
1527
+ },
1528
+ "status": {
1529
+ "type": "string",
1530
+ "enum": [
1531
+ "STARTED",
1532
+ "WAITING_USER_ACTION",
1533
+ "CANCELED",
1534
+ "IN_PROGRESS",
1535
+ "SUCCESS",
1536
+ "FAILED"
1537
+ ]
1538
+ },
1539
+ "errors": {
1540
+ "type": "array",
1541
+ "items": {
1542
+ "$ref": "#/components/schemas/FormattedError"
1543
+ }
1544
+ },
1545
+ "progress": {
1546
+ "type": "number",
1547
+ "format": "float",
1548
+ "minimum": 0,
1549
+ "maximum": 100,
1550
+ "description": "Progress completion (0-100)"
1551
+ },
1552
+ "events": {
1553
+ "type": "array",
1554
+ "items": {
1555
+ "$ref": "#/components/schemas/InstallationJobEvent"
1556
+ }
1557
+ }
1558
+ }
1559
+ }
1560
+ }
1561
+ }
1562
+ }
1563
+ }
1564
+ }
1565
+ }
1566
+ },
1567
+ "components": {
1568
+ "schemas": {
1569
+ "BlueprintID": {
1570
+ "type": "string",
1571
+ "description": "ID of a blueprint",
1572
+ "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
1573
+ },
1574
+ "BlueprintResourceID": {
1575
+ "type": "string",
1576
+ "description": "ID of a blueprint resource",
1577
+ "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
1578
+ },
1579
+ "CommonBlueprintFields": {
1580
+ "type": "object",
1581
+ "properties": {
1582
+ "id": {
1583
+ "$ref": "#/components/schemas/BlueprintID"
1584
+ },
1585
+ "title": {
1586
+ "type": "string"
1587
+ },
1588
+ "slug": {
1589
+ "type": "string"
1590
+ },
1591
+ "description": {
1592
+ "type": "object",
1593
+ "properties": {
1594
+ "preinstall": {
1595
+ "type": "string",
1596
+ "description": "Markdown content shown before starting to install the blueprint",
1597
+ "example": "This is the content of the preinstall.md file which contains the blueprint description.\n"
1598
+ },
1599
+ "postinstall": {
1600
+ "type": "string",
1601
+ "description": "Markdown content to be displayed when showing the plan to install blueprint",
1602
+ "example": "This is the content of the postinstall.md file\n"
1603
+ }
1604
+ }
1605
+ },
1606
+ "version": {
1607
+ "type": "string"
1608
+ },
1609
+ "created_at": {
1610
+ "type": "string",
1611
+ "format": "date-time"
1612
+ },
1613
+ "updated_at": {
1614
+ "type": "string",
1615
+ "format": "date-time"
1616
+ },
1617
+ "created_by": {
1618
+ "$ref": "#/components/schemas/CallerIdentity"
1619
+ },
1620
+ "updated_by": {
1621
+ "$ref": "#/components/schemas/CallerIdentity"
1622
+ }
1623
+ },
1624
+ "required": [
1625
+ "title"
1626
+ ]
1627
+ },
1628
+ "BlueprintResource": {
1629
+ "type": "object",
1630
+ "properties": {
1631
+ "id": {
1632
+ "$ref": "#/components/schemas/BlueprintResourceID"
1633
+ },
1634
+ "name": {
1635
+ "type": "string"
1636
+ },
1637
+ "type": {
1638
+ "$ref": "#/components/schemas/ResourceNodeType"
1639
+ },
1640
+ "address": {
1641
+ "type": "string"
1642
+ },
1643
+ "is_root": {
1644
+ "type": "boolean",
1645
+ "description": "When a resource is marked as root, we'll be able to keep track of it's dependencies"
1646
+ },
1647
+ "is_ready": {
1648
+ "type": "boolean",
1649
+ "description": "on EditableBlueprintResources, this indicates if the resource is ready to be exported and on InstalledBlueprintResources, this indicates if the resource is ready to be used"
1650
+ }
1651
+ },
1652
+ "required": [
1653
+ "id",
1654
+ "type"
1655
+ ]
1656
+ },
1657
+ "EditableBlueprintResource": {
1658
+ "allOf": [
1659
+ {
1660
+ "$ref": "#/components/schemas/BlueprintResource"
1661
+ },
1662
+ {
1663
+ "type": "object",
1664
+ "properties": {
1665
+ "note": {
1666
+ "type": "string",
1667
+ "description": "An internal note to help remember what's missing to export the resource"
1668
+ }
1669
+ }
1670
+ }
1671
+ ]
1672
+ },
1673
+ "InstalledBlueprintResource": {
1674
+ "allOf": [
1675
+ {
1676
+ "$ref": "#/components/schemas/BlueprintResource"
1677
+ },
1678
+ {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "impact_on_install": {
1682
+ "type": "string",
1683
+ "enum": [
1684
+ "create",
1685
+ "update",
1686
+ "no-op",
1687
+ "delete"
1688
+ ]
1689
+ }
1690
+ }
1691
+ }
1692
+ ]
1693
+ },
1694
+ "CustomBlueprint": {
1695
+ "allOf": [
1696
+ {
1697
+ "$ref": "#/components/schemas/CommonBlueprintFields"
1698
+ },
1699
+ {
1700
+ "type": "object",
1701
+ "properties": {
1702
+ "resources": {
1703
+ "type": "array",
1704
+ "items": {
1705
+ "$ref": "#/components/schemas/EditableBlueprintResource"
1706
+ }
1707
+ },
1708
+ "source_type": {
1709
+ "type": "string",
1710
+ "const": "custom"
1711
+ }
1712
+ }
1713
+ }
1714
+ ],
1715
+ "required": [
1716
+ "source_type"
1717
+ ]
1718
+ },
1719
+ "FileBlueprint": {
1720
+ "allOf": [
1721
+ {
1722
+ "$ref": "#/components/schemas/CommonBlueprintFields"
1723
+ },
1724
+ {
1725
+ "type": "object",
1726
+ "properties": {
1727
+ "is_verified": {
1728
+ "type": "boolean",
1729
+ "description": "Whether the blueprint is verified by epilot"
1730
+ },
1731
+ "source_type": {
1732
+ "type": "string",
1733
+ "const": "file"
1734
+ },
1735
+ "resources": {
1736
+ "type": "array",
1737
+ "items": {
1738
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1739
+ }
1740
+ }
1741
+ }
1742
+ }
1743
+ ],
1744
+ "required": [
1745
+ "source_type"
1746
+ ]
1747
+ },
1748
+ "MarketplaceBlueprint": {
1749
+ "allOf": [
1750
+ {
1751
+ "$ref": "#/components/schemas/CommonBlueprintFields"
1752
+ },
1753
+ {
1754
+ "type": "object",
1755
+ "properties": {
1756
+ "docs_url": {
1757
+ "type": "string",
1758
+ "description": "URL to the blueprint documentation"
1759
+ },
1760
+ "is_verified": {
1761
+ "type": "boolean",
1762
+ "description": "Whether the blueprint is verified by epilot"
1763
+ },
1764
+ "source_type": {
1765
+ "type": "string",
1766
+ "const": "marketplace"
1767
+ },
1768
+ "resources": {
1769
+ "type": "array",
1770
+ "items": {
1771
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1772
+ }
1773
+ }
1774
+ }
1775
+ }
1776
+ ],
1777
+ "required": [
1778
+ "source_type"
1779
+ ]
1780
+ },
1781
+ "DeployedBlueprint": {
1782
+ "allOf": [
1783
+ {
1784
+ "$ref": "#/components/schemas/CommonBlueprintFields"
1785
+ },
1786
+ {
1787
+ "type": "object",
1788
+ "properties": {
1789
+ "source_type": {
1790
+ "type": "string",
1791
+ "const": "deploy"
1792
+ },
1793
+ "resources": {
1794
+ "type": "array",
1795
+ "items": {
1796
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1797
+ }
1798
+ }
1799
+ }
1800
+ }
1801
+ ],
1802
+ "required": [
1803
+ "source_type"
1804
+ ]
1805
+ },
1806
+ "AppBlueprint": {
1807
+ "allOf": [
1808
+ {
1809
+ "$ref": "#/components/schemas/CommonBlueprintFields"
1810
+ },
1811
+ {
1812
+ "type": "object",
1813
+ "properties": {
1814
+ "is_verified": {
1815
+ "type": "boolean",
1816
+ "description": "Whether the blueprint is verified by epilot"
1817
+ },
1818
+ "source_type": {
1819
+ "type": "string",
1820
+ "const": "app"
1821
+ },
1822
+ "resources": {
1823
+ "type": "array",
1824
+ "items": {
1825
+ "$ref": "#/components/schemas/InstalledBlueprintResource"
1826
+ }
1827
+ }
1828
+ }
1829
+ }
1830
+ ],
1831
+ "required": [
1832
+ "source_type"
1833
+ ]
1834
+ },
1835
+ "Blueprint": {
1836
+ "oneOf": [
1837
+ {
1838
+ "$ref": "#/components/schemas/CustomBlueprint"
1839
+ },
1840
+ {
1841
+ "$ref": "#/components/schemas/FileBlueprint"
1842
+ },
1843
+ {
1844
+ "$ref": "#/components/schemas/MarketplaceBlueprint"
1845
+ },
1846
+ {
1847
+ "$ref": "#/components/schemas/DeployedBlueprint"
1848
+ },
1849
+ {
1850
+ "$ref": "#/components/schemas/AppBlueprint"
1851
+ }
1852
+ ]
1853
+ },
1854
+ "InstallationJobID": {
1855
+ "type": "string",
1856
+ "description": "ID of an installation job",
1857
+ "example": "c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341"
1858
+ },
1859
+ "InstallationJob": {
1860
+ "type": "object",
1861
+ "properties": {
1862
+ "id": {
1863
+ "$ref": "#/components/schemas/InstallationJobID"
1864
+ },
1865
+ "source_blueprint_id": {
1866
+ "$ref": "#/components/schemas/BlueprintID"
1867
+ },
1868
+ "source_blueprint_type": {
1869
+ "type": "string",
1870
+ "enum": [
1871
+ "file",
1872
+ "marketplace",
1873
+ "deploy",
1874
+ "app"
1875
+ ]
1876
+ },
1877
+ "source_org_id": {
1878
+ "type": "string"
1879
+ },
1880
+ "destination_blueprint_id": {
1881
+ "$ref": "#/components/schemas/BlueprintID"
1882
+ },
1883
+ "destination_org_id": {
1884
+ "type": "string"
1885
+ },
1886
+ "status": {
1887
+ "type": "string",
1888
+ "enum": [
1889
+ "STARTED",
1890
+ "WAITING_USER_ACTION",
1891
+ "CANCELED",
1892
+ "IN_PROGRESS",
1893
+ "SUCCESS",
1894
+ "FAILED"
1895
+ ]
1896
+ },
1897
+ "triggered_at": {
1898
+ "type": "string",
1899
+ "format": "date-time"
1900
+ },
1901
+ "created_by": {
1902
+ "$ref": "#/components/schemas/CallerIdentity"
1903
+ },
1904
+ "updated_by": {
1905
+ "$ref": "#/components/schemas/CallerIdentity"
1906
+ }
1907
+ }
1908
+ },
1909
+ "InstallationJobEvent": {
1910
+ "type": "object",
1911
+ "properties": {
1912
+ "timestamp": {
1913
+ "type": "string",
1914
+ "format": "date-time"
1915
+ },
1916
+ "message": {
1917
+ "type": "string"
1918
+ },
1919
+ "level": {
1920
+ "type": "string",
1921
+ "enum": [
1922
+ "info",
1923
+ "warning",
1924
+ "error"
1925
+ ]
1926
+ },
1927
+ "data": {
1928
+ "type": "object",
1929
+ "additionalProperties": {}
1930
+ }
1931
+ }
1932
+ },
686
1933
  "ManifestID": {
687
1934
  "type": "string",
688
1935
  "description": "ID of an imported / installed manifest",