@faable/deploy-sdk 2.6.0 → 2.7.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/spec/openapi.json CHANGED
@@ -461,15 +461,13 @@
461
461
  "enum": [
462
462
  "local",
463
463
  "remote"
464
- ],
465
- "default": "local"
464
+ ]
466
465
  },
467
466
  "AppDeployOutput": {
468
467
  "enum": [
469
468
  "image",
470
469
  "artifact"
471
- ],
472
- "default": "image"
470
+ ]
473
471
  },
474
472
  "AppCoexistenceRouting": {
475
473
  "enum": [
@@ -491,8 +489,6 @@
491
489
  "runtime",
492
490
  "runtime_strategy",
493
491
  "mode",
494
- "build_mode",
495
- "deploy_output",
496
492
  "instance_type",
497
493
  "region",
498
494
  "status",
@@ -550,10 +546,30 @@
550
546
  "$ref": "#/components/schemas/AppMode"
551
547
  },
552
548
  "build_mode": {
553
- "$ref": "#/components/schemas/AppBuildMode"
549
+ "anyOf": [
550
+ {
551
+ "enum": [
552
+ "local",
553
+ "remote"
554
+ ]
555
+ },
556
+ {
557
+ "type": "null"
558
+ }
559
+ ]
554
560
  },
555
561
  "deploy_output": {
556
- "$ref": "#/components/schemas/AppDeployOutput"
562
+ "anyOf": [
563
+ {
564
+ "enum": [
565
+ "image",
566
+ "artifact"
567
+ ]
568
+ },
569
+ {
570
+ "type": "null"
571
+ }
572
+ ]
557
573
  },
558
574
  "root_dir": {
559
575
  "anyOf": [
@@ -1131,126 +1147,766 @@
1131
1147
  "github_commit_message": {
1132
1148
  "type": "string"
1133
1149
  },
1134
- "type": {
1135
- "type": "string"
1150
+ "type": {
1151
+ "type": "string"
1152
+ },
1153
+ "source": {
1154
+ "$ref": "#/components/schemas/DeploymentSource"
1155
+ }
1156
+ }
1157
+ },
1158
+ "DeploymentUpdate": {
1159
+ "type": "object",
1160
+ "properties": {
1161
+ "image": {
1162
+ "type": "string"
1163
+ },
1164
+ "artifact": {
1165
+ "$ref": "#/components/schemas/DeploymentArtifact"
1166
+ },
1167
+ "type": {
1168
+ "type": "string"
1169
+ }
1170
+ }
1171
+ },
1172
+ "DomainStatus": {
1173
+ "type": "object",
1174
+ "required": [
1175
+ "dns_state",
1176
+ "dns_checked_at",
1177
+ "dns_expected",
1178
+ "dns_observed",
1179
+ "dns_message"
1180
+ ],
1181
+ "properties": {
1182
+ "dns_state": {
1183
+ "enum": [
1184
+ "pending",
1185
+ "ok",
1186
+ "misconfigured",
1187
+ "error"
1188
+ ],
1189
+ "description": "Outcome of the latest DNS verification check",
1190
+ "default": "pending"
1191
+ },
1192
+ "dns_checked_at": {
1193
+ "type": "string",
1194
+ "description": "ISO timestamp of the last DNS check",
1195
+ "nullable": true,
1196
+ "default": null
1197
+ },
1198
+ "dns_expected": {
1199
+ "type": "array",
1200
+ "items": {
1201
+ "type": "string"
1202
+ },
1203
+ "description": "Expected CNAME target(s) the fqdn should point to",
1204
+ "default": []
1205
+ },
1206
+ "dns_observed": {
1207
+ "type": "array",
1208
+ "items": {
1209
+ "type": "string"
1210
+ },
1211
+ "description": "CNAME target(s) actually resolved for the fqdn",
1212
+ "default": []
1213
+ },
1214
+ "dns_message": {
1215
+ "type": "string",
1216
+ "description": "Human-readable diagnostic of the DNS check",
1217
+ "nullable": true,
1218
+ "default": null
1219
+ }
1220
+ },
1221
+ "additionalProperties": false
1222
+ },
1223
+ "Domain": {
1224
+ "type": "object",
1225
+ "required": [
1226
+ "id",
1227
+ "team",
1228
+ "fqdn",
1229
+ "tls",
1230
+ "verified",
1231
+ "active",
1232
+ "status",
1233
+ "metadata",
1234
+ "createdAt"
1235
+ ],
1236
+ "properties": {
1237
+ "id": {
1238
+ "type": "string",
1239
+ "description": "Domain ID"
1240
+ },
1241
+ "team": {
1242
+ "type": "string"
1243
+ },
1244
+ "fqdn": {
1245
+ "type": "string",
1246
+ "description": "Unique identifier of the domain"
1247
+ },
1248
+ "tls": {
1249
+ "type": "boolean",
1250
+ "description": "TLS is enabled for this domain"
1251
+ },
1252
+ "app_id": {
1253
+ "type": "string",
1254
+ "description": "Linked App",
1255
+ "nullable": true,
1256
+ "default": null
1257
+ },
1258
+ "verified": {
1259
+ "type": "boolean",
1260
+ "description": "If the domain has the ownership verified"
1261
+ },
1262
+ "active": {
1263
+ "type": "boolean"
1264
+ },
1265
+ "dns_alias": {
1266
+ "type": "string",
1267
+ "description": "Internal DNS alias override host",
1268
+ "nullable": true,
1269
+ "default": null
1270
+ },
1271
+ "status": {
1272
+ "$ref": "#/components/schemas/DomainStatus"
1273
+ },
1274
+ "metadata": {
1275
+ "type": "object",
1276
+ "properties": {},
1277
+ "additionalProperties": true,
1278
+ "default": {}
1279
+ },
1280
+ "createdAt": {
1281
+ "type": "string",
1282
+ "description": "Domain creation date"
1283
+ },
1284
+ "updatedAt": {
1285
+ "type": "string",
1286
+ "description": "Domain updated date"
1287
+ }
1288
+ },
1289
+ "description": "Domain",
1290
+ "additionalProperties": false
1291
+ },
1292
+ "EventDomainCreate": {
1293
+ "type": "object",
1294
+ "required": [
1295
+ "type",
1296
+ "produced_at",
1297
+ "payload"
1298
+ ],
1299
+ "properties": {
1300
+ "type": {
1301
+ "type": "string",
1302
+ "enum": [
1303
+ "domain.create"
1304
+ ]
1305
+ },
1306
+ "produced_at": {
1307
+ "type": "number",
1308
+ "description": "Timestamp"
1309
+ },
1310
+ "payload": {
1311
+ "$ref": "#/components/schemas/Domain"
1312
+ }
1313
+ },
1314
+ "description": "Event Domain Create",
1315
+ "additionalProperties": false
1316
+ },
1317
+ "EventDomainUpdate": {
1318
+ "type": "object",
1319
+ "required": [
1320
+ "type",
1321
+ "produced_at",
1322
+ "payload"
1323
+ ],
1324
+ "properties": {
1325
+ "type": {
1326
+ "type": "string",
1327
+ "enum": [
1328
+ "domain.update"
1329
+ ]
1330
+ },
1331
+ "produced_at": {
1332
+ "type": "number",
1333
+ "description": "Timestamp"
1334
+ },
1335
+ "payload": {
1336
+ "$ref": "#/components/schemas/Domain"
1337
+ }
1338
+ },
1339
+ "description": "Event Domain Update",
1340
+ "additionalProperties": false
1341
+ },
1342
+ "EventDomainDelete": {
1343
+ "type": "object",
1344
+ "required": [
1345
+ "type",
1346
+ "produced_at",
1347
+ "payload"
1348
+ ],
1349
+ "properties": {
1350
+ "type": {
1351
+ "type": "string",
1352
+ "enum": [
1353
+ "domain.delete"
1354
+ ]
1355
+ },
1356
+ "produced_at": {
1357
+ "type": "number",
1358
+ "description": "Timestamp"
1359
+ },
1360
+ "payload": {
1361
+ "$ref": "#/components/schemas/Domain"
1362
+ }
1363
+ },
1364
+ "description": "Event Domain Delete",
1365
+ "additionalProperties": false
1366
+ },
1367
+ "DomainCreate": {
1368
+ "type": "object",
1369
+ "required": [
1370
+ "fqdn"
1371
+ ],
1372
+ "properties": {
1373
+ "fqdn": {
1374
+ "type": "string"
1375
+ },
1376
+ "app_id": {
1377
+ "type": "string",
1378
+ "description": "Linked App"
1379
+ },
1380
+ "tls": {
1381
+ "type": "boolean",
1382
+ "default": true
1383
+ }
1384
+ }
1385
+ },
1386
+ "DomainUpdate": {
1387
+ "type": "object",
1388
+ "properties": {
1389
+ "app_id": {
1390
+ "type": "string",
1391
+ "description": "Link domain to this App",
1392
+ "nullable": true,
1393
+ "default": null
1394
+ },
1395
+ "active": {
1396
+ "type": "boolean"
1397
+ }
1398
+ }
1399
+ },
1400
+ "WafProfile": {
1401
+ "type": "object",
1402
+ "required": [
1403
+ "id",
1404
+ "team",
1405
+ "name",
1406
+ "scope",
1407
+ "source",
1408
+ "action",
1409
+ "apply",
1410
+ "rules",
1411
+ "enabled",
1412
+ "lock",
1413
+ "metadata",
1414
+ "createdAt"
1415
+ ],
1416
+ "properties": {
1417
+ "id": {
1418
+ "type": "string",
1419
+ "description": "WafProfile ID"
1420
+ },
1421
+ "team": {
1422
+ "type": "string"
1423
+ },
1424
+ "name": {
1425
+ "type": "string",
1426
+ "description": "Lookup name, e.g. scanner-php"
1427
+ },
1428
+ "scope": {
1429
+ "anyOf": [
1430
+ {
1431
+ "type": "string",
1432
+ "enum": [
1433
+ "global"
1434
+ ]
1435
+ },
1436
+ {
1437
+ "type": "string",
1438
+ "enum": [
1439
+ "app"
1440
+ ]
1441
+ }
1442
+ ]
1443
+ },
1444
+ "app_id": {
1445
+ "type": "string",
1446
+ "description": "Owning App (null for global)",
1447
+ "nullable": true,
1448
+ "default": null
1449
+ },
1450
+ "source": {
1451
+ "anyOf": [
1452
+ {
1453
+ "type": "string",
1454
+ "enum": [
1455
+ "builtin"
1456
+ ]
1457
+ },
1458
+ {
1459
+ "type": "string",
1460
+ "enum": [
1461
+ "manual"
1462
+ ]
1463
+ },
1464
+ {
1465
+ "type": "string",
1466
+ "enum": [
1467
+ "auto"
1468
+ ]
1469
+ }
1470
+ ]
1471
+ },
1472
+ "action": {
1473
+ "anyOf": [
1474
+ {
1475
+ "type": "string",
1476
+ "enum": [
1477
+ "deny"
1478
+ ]
1479
+ },
1480
+ {
1481
+ "type": "string",
1482
+ "enum": [
1483
+ "ratelimit"
1484
+ ]
1485
+ }
1486
+ ]
1487
+ },
1488
+ "apply": {
1489
+ "anyOf": [
1490
+ {
1491
+ "type": "string",
1492
+ "enum": [
1493
+ "all"
1494
+ ]
1495
+ },
1496
+ {
1497
+ "type": "string",
1498
+ "enum": [
1499
+ "node"
1500
+ ]
1501
+ },
1502
+ {
1503
+ "type": "string",
1504
+ "enum": [
1505
+ "php"
1506
+ ]
1507
+ },
1508
+ {
1509
+ "type": "string",
1510
+ "enum": [
1511
+ "manual"
1512
+ ]
1513
+ }
1514
+ ]
1515
+ },
1516
+ "rules": {
1517
+ "type": "array",
1518
+ "items": {
1519
+ "type": "object",
1520
+ "required": [
1521
+ "pattern"
1522
+ ],
1523
+ "properties": {
1524
+ "pattern": {
1525
+ "type": "string",
1526
+ "description": "RE2 path-regex fragment"
1527
+ },
1528
+ "description": {
1529
+ "type": "string",
1530
+ "description": "What this rule blocks (human annotation)"
1531
+ }
1532
+ }
1533
+ }
1534
+ },
1535
+ "enabled": {
1536
+ "type": "boolean"
1537
+ },
1538
+ "lock": {
1539
+ "type": "boolean",
1540
+ "description": "Profiler must not overwrite rules"
1541
+ },
1542
+ "sample_count": {
1543
+ "type": "number",
1544
+ "nullable": true,
1545
+ "default": null
1546
+ },
1547
+ "updated_at": {
1548
+ "type": "string",
1549
+ "nullable": true,
1550
+ "default": null
1551
+ },
1552
+ "metadata": {
1553
+ "type": "object",
1554
+ "properties": {},
1555
+ "additionalProperties": true,
1556
+ "default": {}
1557
+ },
1558
+ "createdAt": {
1559
+ "type": "string",
1560
+ "description": "WafProfile creation date"
1561
+ },
1562
+ "updatedAt": {
1563
+ "type": "string",
1564
+ "description": "WafProfile updated date"
1565
+ }
1566
+ },
1567
+ "description": "WafProfile",
1568
+ "additionalProperties": false
1569
+ },
1570
+ "EventWafprofileCreate": {
1571
+ "type": "object",
1572
+ "required": [
1573
+ "type",
1574
+ "produced_at",
1575
+ "payload"
1576
+ ],
1577
+ "properties": {
1578
+ "type": {
1579
+ "type": "string",
1580
+ "enum": [
1581
+ "wafprofile.create"
1582
+ ]
1583
+ },
1584
+ "produced_at": {
1585
+ "type": "number",
1586
+ "description": "Timestamp"
1587
+ },
1588
+ "payload": {
1589
+ "$ref": "#/components/schemas/WafProfile"
1590
+ }
1591
+ },
1592
+ "description": "Event Wafprofile Create",
1593
+ "additionalProperties": false
1594
+ },
1595
+ "EventWafprofileUpdate": {
1596
+ "type": "object",
1597
+ "required": [
1598
+ "type",
1599
+ "produced_at",
1600
+ "payload"
1601
+ ],
1602
+ "properties": {
1603
+ "type": {
1604
+ "type": "string",
1605
+ "enum": [
1606
+ "wafprofile.update"
1607
+ ]
1608
+ },
1609
+ "produced_at": {
1610
+ "type": "number",
1611
+ "description": "Timestamp"
1612
+ },
1613
+ "payload": {
1614
+ "$ref": "#/components/schemas/WafProfile"
1615
+ }
1616
+ },
1617
+ "description": "Event Wafprofile Update",
1618
+ "additionalProperties": false
1619
+ },
1620
+ "EventWafprofileDelete": {
1621
+ "type": "object",
1622
+ "required": [
1623
+ "type",
1624
+ "produced_at",
1625
+ "payload"
1626
+ ],
1627
+ "properties": {
1628
+ "type": {
1629
+ "type": "string",
1630
+ "enum": [
1631
+ "wafprofile.delete"
1632
+ ]
1633
+ },
1634
+ "produced_at": {
1635
+ "type": "number",
1636
+ "description": "Timestamp"
1637
+ },
1638
+ "payload": {
1639
+ "$ref": "#/components/schemas/WafProfile"
1640
+ }
1641
+ },
1642
+ "description": "Event Wafprofile Delete",
1643
+ "additionalProperties": false
1644
+ },
1645
+ "WafProfileCreate": {
1646
+ "type": "object",
1647
+ "required": [
1648
+ "name"
1649
+ ],
1650
+ "properties": {
1651
+ "name": {
1652
+ "type": "string"
1653
+ },
1654
+ "scope": {
1655
+ "anyOf": [
1656
+ {
1657
+ "type": "string",
1658
+ "enum": [
1659
+ "global"
1660
+ ]
1661
+ },
1662
+ {
1663
+ "type": "string",
1664
+ "enum": [
1665
+ "app"
1666
+ ]
1667
+ }
1668
+ ]
1669
+ },
1670
+ "app_id": {
1671
+ "type": "string",
1672
+ "description": "Owning App"
1673
+ },
1674
+ "source": {
1675
+ "anyOf": [
1676
+ {
1677
+ "type": "string",
1678
+ "enum": [
1679
+ "builtin"
1680
+ ]
1681
+ },
1682
+ {
1683
+ "type": "string",
1684
+ "enum": [
1685
+ "manual"
1686
+ ]
1687
+ },
1688
+ {
1689
+ "type": "string",
1690
+ "enum": [
1691
+ "auto"
1692
+ ]
1693
+ }
1694
+ ]
1695
+ },
1696
+ "action": {
1697
+ "anyOf": [
1698
+ {
1699
+ "type": "string",
1700
+ "enum": [
1701
+ "deny"
1702
+ ]
1703
+ },
1704
+ {
1705
+ "type": "string",
1706
+ "enum": [
1707
+ "ratelimit"
1708
+ ]
1709
+ }
1710
+ ]
1711
+ },
1712
+ "apply": {
1713
+ "anyOf": [
1714
+ {
1715
+ "type": "string",
1716
+ "enum": [
1717
+ "all"
1718
+ ]
1719
+ },
1720
+ {
1721
+ "type": "string",
1722
+ "enum": [
1723
+ "node"
1724
+ ]
1725
+ },
1726
+ {
1727
+ "type": "string",
1728
+ "enum": [
1729
+ "php"
1730
+ ]
1731
+ },
1732
+ {
1733
+ "type": "string",
1734
+ "enum": [
1735
+ "manual"
1736
+ ]
1737
+ }
1738
+ ]
1739
+ },
1740
+ "rules": {
1741
+ "type": "array",
1742
+ "items": {
1743
+ "type": "object",
1744
+ "required": [
1745
+ "pattern"
1746
+ ],
1747
+ "properties": {
1748
+ "pattern": {
1749
+ "type": "string",
1750
+ "description": "RE2 path-regex fragment"
1751
+ },
1752
+ "description": {
1753
+ "type": "string",
1754
+ "description": "What this rule blocks (human annotation)"
1755
+ }
1756
+ }
1757
+ }
1758
+ },
1759
+ "enabled": {
1760
+ "type": "boolean"
1761
+ },
1762
+ "lock": {
1763
+ "type": "boolean"
1764
+ },
1765
+ "sample_count": {
1766
+ "type": "number"
1767
+ },
1768
+ "updated_at": {
1769
+ "type": "string"
1770
+ }
1771
+ }
1772
+ },
1773
+ "WafProfileUpdate": {
1774
+ "type": "object",
1775
+ "properties": {
1776
+ "name": {
1777
+ "type": "string"
1778
+ },
1779
+ "action": {
1780
+ "anyOf": [
1781
+ {
1782
+ "type": "string",
1783
+ "enum": [
1784
+ "deny"
1785
+ ]
1786
+ },
1787
+ {
1788
+ "type": "string",
1789
+ "enum": [
1790
+ "ratelimit"
1791
+ ]
1792
+ }
1793
+ ]
1794
+ },
1795
+ "apply": {
1796
+ "anyOf": [
1797
+ {
1798
+ "type": "string",
1799
+ "enum": [
1800
+ "all"
1801
+ ]
1802
+ },
1803
+ {
1804
+ "type": "string",
1805
+ "enum": [
1806
+ "node"
1807
+ ]
1808
+ },
1809
+ {
1810
+ "type": "string",
1811
+ "enum": [
1812
+ "php"
1813
+ ]
1814
+ },
1815
+ {
1816
+ "type": "string",
1817
+ "enum": [
1818
+ "manual"
1819
+ ]
1820
+ }
1821
+ ]
1822
+ },
1823
+ "rules": {
1824
+ "type": "array",
1825
+ "items": {
1826
+ "type": "object",
1827
+ "required": [
1828
+ "pattern"
1829
+ ],
1830
+ "properties": {
1831
+ "pattern": {
1832
+ "type": "string",
1833
+ "description": "RE2 path-regex fragment"
1834
+ },
1835
+ "description": {
1836
+ "type": "string",
1837
+ "description": "What this rule blocks (human annotation)"
1838
+ }
1839
+ }
1840
+ }
1136
1841
  },
1137
- "source": {
1138
- "$ref": "#/components/schemas/DeploymentSource"
1139
- }
1140
- }
1141
- },
1142
- "DeploymentUpdate": {
1143
- "type": "object",
1144
- "properties": {
1145
- "image": {
1146
- "type": "string"
1842
+ "enabled": {
1843
+ "type": "boolean"
1147
1844
  },
1148
- "artifact": {
1149
- "$ref": "#/components/schemas/DeploymentArtifact"
1150
- }
1151
- }
1152
- },
1153
- "DomainStatus": {
1154
- "type": "object",
1155
- "required": [
1156
- "dns_state",
1157
- "dns_checked_at",
1158
- "dns_expected",
1159
- "dns_observed",
1160
- "dns_message"
1161
- ],
1162
- "properties": {
1163
- "dns_state": {
1164
- "enum": [
1165
- "pending",
1166
- "ok",
1167
- "misconfigured",
1168
- "error"
1169
- ],
1170
- "description": "Outcome of the latest DNS verification check",
1171
- "default": "pending"
1845
+ "lock": {
1846
+ "type": "boolean"
1172
1847
  },
1173
- "dns_checked_at": {
1174
- "type": "string",
1175
- "description": "ISO timestamp of the last DNS check",
1848
+ "sample_count": {
1849
+ "type": "number",
1176
1850
  "nullable": true,
1177
1851
  "default": null
1178
1852
  },
1179
- "dns_expected": {
1180
- "type": "array",
1181
- "items": {
1182
- "type": "string"
1183
- },
1184
- "description": "Expected CNAME target(s) the fqdn should point to",
1185
- "default": []
1186
- },
1187
- "dns_observed": {
1188
- "type": "array",
1189
- "items": {
1190
- "type": "string"
1191
- },
1192
- "description": "CNAME target(s) actually resolved for the fqdn",
1193
- "default": []
1194
- },
1195
- "dns_message": {
1853
+ "updated_at": {
1196
1854
  "type": "string",
1197
- "description": "Human-readable diagnostic of the DNS check",
1198
1855
  "nullable": true,
1199
1856
  "default": null
1200
1857
  }
1201
- },
1202
- "additionalProperties": false
1858
+ }
1203
1859
  },
1204
- "Domain": {
1860
+ "AppWaf": {
1205
1861
  "type": "object",
1206
1862
  "required": [
1207
1863
  "id",
1208
1864
  "team",
1209
- "fqdn",
1210
- "tls",
1211
- "verified",
1212
- "active",
1213
- "status",
1865
+ "app_id",
1866
+ "enabled",
1867
+ "profiles",
1868
+ "lock",
1214
1869
  "metadata",
1215
1870
  "createdAt"
1216
1871
  ],
1217
1872
  "properties": {
1218
1873
  "id": {
1219
1874
  "type": "string",
1220
- "description": "Domain ID"
1875
+ "description": "AppWaf ID"
1221
1876
  },
1222
1877
  "team": {
1223
1878
  "type": "string"
1224
1879
  },
1225
- "fqdn": {
1226
- "type": "string",
1227
- "description": "Unique identifier of the domain"
1228
- },
1229
- "tls": {
1230
- "type": "boolean",
1231
- "description": "TLS is enabled for this domain"
1232
- },
1233
1880
  "app_id": {
1234
1881
  "type": "string",
1235
- "description": "Linked App",
1236
- "nullable": true,
1237
- "default": null
1882
+ "description": "Linked App"
1238
1883
  },
1239
- "verified": {
1884
+ "enabled": {
1240
1885
  "type": "boolean",
1241
- "description": "If the domain has the ownership verified"
1242
- },
1243
- "active": {
1244
- "type": "boolean"
1886
+ "description": "Master toggle for the app WAF"
1245
1887
  },
1246
- "dns_alias": {
1247
- "type": "string",
1248
- "description": "Internal DNS alias override host",
1249
- "nullable": true,
1250
- "default": null
1888
+ "profiles": {
1889
+ "type": "array",
1890
+ "items": {
1891
+ "type": "object",
1892
+ "required": [
1893
+ "profile",
1894
+ "enabled"
1895
+ ],
1896
+ "properties": {
1897
+ "profile": {
1898
+ "type": "string",
1899
+ "description": "WafProfile id"
1900
+ },
1901
+ "enabled": {
1902
+ "type": "boolean"
1903
+ }
1904
+ }
1905
+ }
1251
1906
  },
1252
- "status": {
1253
- "$ref": "#/components/schemas/DomainStatus"
1907
+ "lock": {
1908
+ "type": "boolean",
1909
+ "description": "Profiler must not touch the list"
1254
1910
  },
1255
1911
  "metadata": {
1256
1912
  "type": "object",
@@ -1260,17 +1916,17 @@
1260
1916
  },
1261
1917
  "createdAt": {
1262
1918
  "type": "string",
1263
- "description": "Domain creation date"
1919
+ "description": "AppWaf creation date"
1264
1920
  },
1265
1921
  "updatedAt": {
1266
1922
  "type": "string",
1267
- "description": "Domain updated date"
1923
+ "description": "AppWaf updated date"
1268
1924
  }
1269
1925
  },
1270
- "description": "Domain",
1926
+ "description": "AppWaf",
1271
1927
  "additionalProperties": false
1272
1928
  },
1273
- "EventDomainCreate": {
1929
+ "EventAppwafCreate": {
1274
1930
  "type": "object",
1275
1931
  "required": [
1276
1932
  "type",
@@ -1281,7 +1937,7 @@
1281
1937
  "type": {
1282
1938
  "type": "string",
1283
1939
  "enum": [
1284
- "domain.create"
1940
+ "appwaf.create"
1285
1941
  ]
1286
1942
  },
1287
1943
  "produced_at": {
@@ -1289,13 +1945,13 @@
1289
1945
  "description": "Timestamp"
1290
1946
  },
1291
1947
  "payload": {
1292
- "$ref": "#/components/schemas/Domain"
1948
+ "$ref": "#/components/schemas/AppWaf"
1293
1949
  }
1294
1950
  },
1295
- "description": "Event Domain Create",
1951
+ "description": "Event Appwaf Create",
1296
1952
  "additionalProperties": false
1297
1953
  },
1298
- "EventDomainUpdate": {
1954
+ "EventAppwafUpdate": {
1299
1955
  "type": "object",
1300
1956
  "required": [
1301
1957
  "type",
@@ -1306,7 +1962,7 @@
1306
1962
  "type": {
1307
1963
  "type": "string",
1308
1964
  "enum": [
1309
- "domain.update"
1965
+ "appwaf.update"
1310
1966
  ]
1311
1967
  },
1312
1968
  "produced_at": {
@@ -1314,13 +1970,13 @@
1314
1970
  "description": "Timestamp"
1315
1971
  },
1316
1972
  "payload": {
1317
- "$ref": "#/components/schemas/Domain"
1973
+ "$ref": "#/components/schemas/AppWaf"
1318
1974
  }
1319
1975
  },
1320
- "description": "Event Domain Update",
1976
+ "description": "Event Appwaf Update",
1321
1977
  "additionalProperties": false
1322
1978
  },
1323
- "EventDomainDelete": {
1979
+ "EventAppwafDelete": {
1324
1980
  "type": "object",
1325
1981
  "required": [
1326
1982
  "type",
@@ -1331,7 +1987,7 @@
1331
1987
  "type": {
1332
1988
  "type": "string",
1333
1989
  "enum": [
1334
- "domain.delete"
1990
+ "appwaf.delete"
1335
1991
  ]
1336
1992
  },
1337
1993
  "produced_at": {
@@ -1339,41 +1995,76 @@
1339
1995
  "description": "Timestamp"
1340
1996
  },
1341
1997
  "payload": {
1342
- "$ref": "#/components/schemas/Domain"
1998
+ "$ref": "#/components/schemas/AppWaf"
1343
1999
  }
1344
2000
  },
1345
- "description": "Event Domain Delete",
2001
+ "description": "Event Appwaf Delete",
1346
2002
  "additionalProperties": false
1347
2003
  },
1348
- "DomainCreate": {
2004
+ "AppWafCreate": {
1349
2005
  "type": "object",
1350
2006
  "required": [
1351
- "fqdn"
2007
+ "app_id"
1352
2008
  ],
1353
2009
  "properties": {
1354
- "fqdn": {
1355
- "type": "string"
1356
- },
1357
2010
  "app_id": {
1358
2011
  "type": "string",
1359
2012
  "description": "Linked App"
1360
2013
  },
1361
- "tls": {
2014
+ "enabled": {
1362
2015
  "type": "boolean",
1363
2016
  "default": true
2017
+ },
2018
+ "profiles": {
2019
+ "type": "array",
2020
+ "items": {
2021
+ "type": "object",
2022
+ "required": [
2023
+ "profile",
2024
+ "enabled"
2025
+ ],
2026
+ "properties": {
2027
+ "profile": {
2028
+ "type": "string",
2029
+ "description": "WafProfile id"
2030
+ },
2031
+ "enabled": {
2032
+ "type": "boolean"
2033
+ }
2034
+ }
2035
+ }
2036
+ },
2037
+ "lock": {
2038
+ "type": "boolean"
1364
2039
  }
1365
2040
  }
1366
2041
  },
1367
- "DomainUpdate": {
2042
+ "AppWafUpdate": {
1368
2043
  "type": "object",
1369
2044
  "properties": {
1370
- "app_id": {
1371
- "type": "string",
1372
- "description": "Link domain to this App",
1373
- "nullable": true,
1374
- "default": null
2045
+ "enabled": {
2046
+ "type": "boolean"
1375
2047
  },
1376
- "active": {
2048
+ "profiles": {
2049
+ "type": "array",
2050
+ "items": {
2051
+ "type": "object",
2052
+ "required": [
2053
+ "profile",
2054
+ "enabled"
2055
+ ],
2056
+ "properties": {
2057
+ "profile": {
2058
+ "type": "string",
2059
+ "description": "WafProfile id"
2060
+ },
2061
+ "enabled": {
2062
+ "type": "boolean"
2063
+ }
2064
+ }
2065
+ }
2066
+ },
2067
+ "lock": {
1377
2068
  "type": "boolean"
1378
2069
  }
1379
2070
  }
@@ -2743,8 +3434,6 @@
2743
3434
  "runtime",
2744
3435
  "runtime_strategy",
2745
3436
  "mode",
2746
- "build_mode",
2747
- "deploy_output",
2748
3437
  "instance_type",
2749
3438
  "region",
2750
3439
  "status",
@@ -2802,10 +3491,30 @@
2802
3491
  "$ref": "#/components/schemas/AppMode"
2803
3492
  },
2804
3493
  "build_mode": {
2805
- "$ref": "#/components/schemas/AppBuildMode"
3494
+ "anyOf": [
3495
+ {
3496
+ "enum": [
3497
+ "local",
3498
+ "remote"
3499
+ ]
3500
+ },
3501
+ {
3502
+ "type": "null"
3503
+ }
3504
+ ]
2806
3505
  },
2807
3506
  "deploy_output": {
2808
- "$ref": "#/components/schemas/AppDeployOutput"
3507
+ "anyOf": [
3508
+ {
3509
+ "enum": [
3510
+ "image",
3511
+ "artifact"
3512
+ ]
3513
+ },
3514
+ {
3515
+ "type": "null"
3516
+ }
3517
+ ]
2809
3518
  },
2810
3519
  "root_dir": {
2811
3520
  "anyOf": [
@@ -2964,8 +3673,6 @@
2964
3673
  "runtime",
2965
3674
  "runtime_strategy",
2966
3675
  "mode",
2967
- "build_mode",
2968
- "deploy_output",
2969
3676
  "instance_type",
2970
3677
  "region",
2971
3678
  "status",
@@ -3023,10 +3730,30 @@
3023
3730
  "$ref": "#/components/schemas/AppMode"
3024
3731
  },
3025
3732
  "build_mode": {
3026
- "$ref": "#/components/schemas/AppBuildMode"
3733
+ "anyOf": [
3734
+ {
3735
+ "enum": [
3736
+ "local",
3737
+ "remote"
3738
+ ]
3739
+ },
3740
+ {
3741
+ "type": "null"
3742
+ }
3743
+ ]
3027
3744
  },
3028
3745
  "deploy_output": {
3029
- "$ref": "#/components/schemas/AppDeployOutput"
3746
+ "anyOf": [
3747
+ {
3748
+ "enum": [
3749
+ "image",
3750
+ "artifact"
3751
+ ]
3752
+ },
3753
+ {
3754
+ "type": "null"
3755
+ }
3756
+ ]
3030
3757
  },
3031
3758
  "root_dir": {
3032
3759
  "anyOf": [
@@ -3194,8 +3921,6 @@
3194
3921
  "runtime",
3195
3922
  "runtime_strategy",
3196
3923
  "mode",
3197
- "build_mode",
3198
- "deploy_output",
3199
3924
  "instance_type",
3200
3925
  "region",
3201
3926
  "status",
@@ -3253,10 +3978,30 @@
3253
3978
  "$ref": "#/components/schemas/AppMode"
3254
3979
  },
3255
3980
  "build_mode": {
3256
- "$ref": "#/components/schemas/AppBuildMode"
3981
+ "anyOf": [
3982
+ {
3983
+ "enum": [
3984
+ "local",
3985
+ "remote"
3986
+ ]
3987
+ },
3988
+ {
3989
+ "type": "null"
3990
+ }
3991
+ ]
3257
3992
  },
3258
3993
  "deploy_output": {
3259
- "$ref": "#/components/schemas/AppDeployOutput"
3994
+ "anyOf": [
3995
+ {
3996
+ "enum": [
3997
+ "image",
3998
+ "artifact"
3999
+ ]
4000
+ },
4001
+ {
4002
+ "type": "null"
4003
+ }
4004
+ ]
3260
4005
  },
3261
4006
  "root_dir": {
3262
4007
  "anyOf": [
@@ -3395,8 +4140,6 @@
3395
4140
  "runtime",
3396
4141
  "runtime_strategy",
3397
4142
  "mode",
3398
- "build_mode",
3399
- "deploy_output",
3400
4143
  "instance_type",
3401
4144
  "region",
3402
4145
  "status",
@@ -3454,10 +4197,30 @@
3454
4197
  "$ref": "#/components/schemas/AppMode"
3455
4198
  },
3456
4199
  "build_mode": {
3457
- "$ref": "#/components/schemas/AppBuildMode"
4200
+ "anyOf": [
4201
+ {
4202
+ "enum": [
4203
+ "local",
4204
+ "remote"
4205
+ ]
4206
+ },
4207
+ {
4208
+ "type": "null"
4209
+ }
4210
+ ]
3458
4211
  },
3459
4212
  "deploy_output": {
3460
- "$ref": "#/components/schemas/AppDeployOutput"
4213
+ "anyOf": [
4214
+ {
4215
+ "enum": [
4216
+ "image",
4217
+ "artifact"
4218
+ ]
4219
+ },
4220
+ {
4221
+ "type": "null"
4222
+ }
4223
+ ]
3461
4224
  },
3462
4225
  "root_dir": {
3463
4226
  "anyOf": [
@@ -4734,6 +5497,9 @@
4734
5497
  },
4735
5498
  "artifact": {
4736
5499
  "$ref": "#/components/schemas/DeploymentArtifact"
5500
+ },
5501
+ "type": {
5502
+ "type": "string"
4737
5503
  }
4738
5504
  }
4739
5505
  }