Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "additionalProperties": false,
  4. "definitions": {
  5. "ExtensionsConfig": {
  6. "additionalProperties": false,
  7. "type": "object"
  8. }
  9. },
  10. "properties": {
  11. "database": {
  12. "anyOf": [
  13. {
  14. "additionalProperties": false,
  15. "properties": {
  16. "postdeploy": {
  17. "anyOf": [
  18. {
  19. "items": {
  20. "type": "string"
  21. },
  22. "type": "array"
  23. },
  24. {
  25. "type": "string"
  26. }
  27. ]
  28. },
  29. "predeploy": {
  30. "anyOf": [
  31. {
  32. "items": {
  33. "type": "string"
  34. },
  35. "type": "array"
  36. },
  37. {
  38. "type": "string"
  39. }
  40. ]
  41. },
  42. "rules": {
  43. "type": "string"
  44. }
  45. },
  46. "required": [
  47. "rules"
  48. ],
  49. "type": "object"
  50. },
  51. {
  52. "items": {
  53. "anyOf": [
  54. {
  55. "additionalProperties": false,
  56. "properties": {
  57. "instance": {
  58. "type": "string"
  59. },
  60. "postdeploy": {
  61. "anyOf": [
  62. {
  63. "items": {
  64. "type": "string"
  65. },
  66. "type": "array"
  67. },
  68. {
  69. "type": "string"
  70. }
  71. ]
  72. },
  73. "predeploy": {
  74. "anyOf": [
  75. {
  76. "items": {
  77. "type": "string"
  78. },
  79. "type": "array"
  80. },
  81. {
  82. "type": "string"
  83. }
  84. ]
  85. },
  86. "rules": {
  87. "type": "string"
  88. },
  89. "target": {
  90. "type": "string"
  91. }
  92. },
  93. "required": [
  94. "instance",
  95. "rules"
  96. ],
  97. "type": "object"
  98. },
  99. {
  100. "additionalProperties": false,
  101. "properties": {
  102. "instance": {
  103. "type": "string"
  104. },
  105. "postdeploy": {
  106. "anyOf": [
  107. {
  108. "items": {
  109. "type": "string"
  110. },
  111. "type": "array"
  112. },
  113. {
  114. "type": "string"
  115. }
  116. ]
  117. },
  118. "predeploy": {
  119. "anyOf": [
  120. {
  121. "items": {
  122. "type": "string"
  123. },
  124. "type": "array"
  125. },
  126. {
  127. "type": "string"
  128. }
  129. ]
  130. },
  131. "rules": {
  132. "type": "string"
  133. },
  134. "target": {
  135. "type": "string"
  136. }
  137. },
  138. "required": [
  139. "rules",
  140. "target"
  141. ],
  142. "type": "object"
  143. }
  144. ]
  145. },
  146. "type": "array"
  147. }
  148. ]
  149. },
  150. "emulators": {
  151. "additionalProperties": false,
  152. "properties": {
  153. "auth": {
  154. "additionalProperties": false,
  155. "properties": {
  156. "host": {
  157. "type": "string"
  158. },
  159. "port": {
  160. "type": "number"
  161. }
  162. },
  163. "type": "object"
  164. },
  165. "database": {
  166. "additionalProperties": false,
  167. "properties": {
  168. "host": {
  169. "type": "string"
  170. },
  171. "port": {
  172. "type": "number"
  173. }
  174. },
  175. "type": "object"
  176. },
  177. "eventarc": {
  178. "additionalProperties": false,
  179. "properties": {
  180. "host": {
  181. "type": "string"
  182. },
  183. "port": {
  184. "type": "number"
  185. }
  186. },
  187. "type": "object"
  188. },
  189. "extensions": {
  190. "properties": {
  191. },
  192. "type": "object"
  193. },
  194. "firestore": {
  195. "additionalProperties": false,
  196. "properties": {
  197. "host": {
  198. "type": "string"
  199. },
  200. "port": {
  201. "type": "number"
  202. },
  203. "websocketPort": {
  204. "type": "number"
  205. }
  206. },
  207. "type": "object"
  208. },
  209. "functions": {
  210. "additionalProperties": false,
  211. "properties": {
  212. "host": {
  213. "type": "string"
  214. },
  215. "port": {
  216. "type": "number"
  217. }
  218. },
  219. "type": "object"
  220. },
  221. "hosting": {
  222. "additionalProperties": false,
  223. "properties": {
  224. "host": {
  225. "type": "string"
  226. },
  227. "port": {
  228. "type": "number"
  229. }
  230. },
  231. "type": "object"
  232. },
  233. "hub": {
  234. "additionalProperties": false,
  235. "properties": {
  236. "host": {
  237. "type": "string"
  238. },
  239. "port": {
  240. "type": "number"
  241. }
  242. },
  243. "type": "object"
  244. },
  245. "logging": {
  246. "additionalProperties": false,
  247. "properties": {
  248. "host": {
  249. "type": "string"
  250. },
  251. "port": {
  252. "type": "number"
  253. }
  254. },
  255. "type": "object"
  256. },
  257. "pubsub": {
  258. "additionalProperties": false,
  259. "properties": {
  260. "host": {
  261. "type": "string"
  262. },
  263. "port": {
  264. "type": "number"
  265. }
  266. },
  267. "type": "object"
  268. },
  269. "singleProjectMode": {
  270. "type": "boolean"
  271. },
  272. "storage": {
  273. "additionalProperties": false,
  274. "properties": {
  275. "host": {
  276. "type": "string"
  277. },
  278. "port": {
  279. "type": "number"
  280. }
  281. },
  282. "type": "object"
  283. },
  284. "ui": {
  285. "additionalProperties": false,
  286. "properties": {
  287. "enabled": {
  288. "type": "boolean"
  289. },
  290. "host": {
  291. "type": "string"
  292. },
  293. "port": {
  294. "type": [
  295. "string",
  296. "number"
  297. ]
  298. }
  299. },
  300. "type": "object"
  301. }
  302. },
  303. "type": "object"
  304. },
  305. "extensions": {
  306. "$ref": "#/definitions/ExtensionsConfig"
  307. },
  308. "firestore": {
  309. "additionalProperties": false,
  310. "properties": {
  311. "indexes": {
  312. "type": "string"
  313. },
  314. "postdeploy": {
  315. "anyOf": [
  316. {
  317. "items": {
  318. "type": "string"
  319. },
  320. "type": "array"
  321. },
  322. {
  323. "type": "string"
  324. }
  325. ]
  326. },
  327. "predeploy": {
  328. "anyOf": [
  329. {
  330. "items": {
  331. "type": "string"
  332. },
  333. "type": "array"
  334. },
  335. {
  336. "type": "string"
  337. }
  338. ]
  339. },
  340. "rules": {
  341. "type": "string"
  342. }
  343. },
  344. "type": "object"
  345. },
  346. "functions": {
  347. "anyOf": [
  348. {
  349. "additionalProperties": false,
  350. "properties": {
  351. "codebase": {
  352. "type": "string"
  353. },
  354. "ignore": {
  355. "items": {
  356. "type": "string"
  357. },
  358. "type": "array"
  359. },
  360. "postdeploy": {
  361. "anyOf": [
  362. {
  363. "items": {
  364. "type": "string"
  365. },
  366. "type": "array"
  367. },
  368. {
  369. "type": "string"
  370. }
  371. ]
  372. },
  373. "predeploy": {
  374. "anyOf": [
  375. {
  376. "items": {
  377. "type": "string"
  378. },
  379. "type": "array"
  380. },
  381. {
  382. "type": "string"
  383. }
  384. ]
  385. },
  386. "runtime": {
  387. "enum": [
  388. "nodejs10",
  389. "nodejs12",
  390. "nodejs14",
  391. "nodejs16",
  392. "nodejs18"
  393. ],
  394. "type": "string"
  395. },
  396. "source": {
  397. "type": "string"
  398. }
  399. },
  400. "type": "object"
  401. },
  402. {
  403. "items": {
  404. "additionalProperties": false,
  405. "properties": {
  406. "codebase": {
  407. "type": "string"
  408. },
  409. "ignore": {
  410. "items": {
  411. "type": "string"
  412. },
  413. "type": "array"
  414. },
  415. "postdeploy": {
  416. "anyOf": [
  417. {
  418. "items": {
  419. "type": "string"
  420. },
  421. "type": "array"
  422. },
  423. {
  424. "type": "string"
  425. }
  426. ]
  427. },
  428. "predeploy": {
  429. "anyOf": [
  430. {
  431. "items": {
  432. "type": "string"
  433. },
  434. "type": "array"
  435. },
  436. {
  437. "type": "string"
  438. }
  439. ]
  440. },
  441. "runtime": {
  442. "enum": [
  443. "nodejs10",
  444. "nodejs12",
  445. "nodejs14",
  446. "nodejs16",
  447. "nodejs18"
  448. ],
  449. "type": "string"
  450. },
  451. "source": {
  452. "type": "string"
  453. }
  454. },
  455. "type": "object"
  456. },
  457. "type": "array"
  458. }
  459. ]
  460. },
  461. "hosting": {
  462. "anyOf": [
  463. {
  464. "additionalProperties": false,
  465. "properties": {
  466. "appAssociation": {
  467. "enum": [
  468. "AUTO",
  469. "NONE"
  470. ],
  471. "type": "string"
  472. },
  473. "cleanUrls": {
  474. "type": "boolean"
  475. },
  476. "headers": {
  477. "items": {
  478. "anyOf": [
  479. {
  480. "additionalProperties": false,
  481. "properties": {
  482. "glob": {
  483. "type": "string"
  484. },
  485. "headers": {
  486. "items": {
  487. "additionalProperties": false,
  488. "properties": {
  489. "key": {
  490. "type": "string"
  491. },
  492. "value": {
  493. "type": "string"
  494. }
  495. },
  496. "required": [
  497. "key",
  498. "value"
  499. ],
  500. "type": "object"
  501. },
  502. "type": "array"
  503. }
  504. },
  505. "required": [
  506. "glob",
  507. "headers"
  508. ],
  509. "type": "object"
  510. },
  511. {
  512. "additionalProperties": false,
  513. "properties": {
  514. "headers": {
  515. "items": {
  516. "additionalProperties": false,
  517. "properties": {
  518. "key": {
  519. "type": "string"
  520. },
  521. "value": {
  522. "type": "string"
  523. }
  524. },
  525. "required": [
  526. "key",
  527. "value"
  528. ],
  529. "type": "object"
  530. },
  531. "type": "array"
  532. },
  533. "source": {
  534. "type": "string"
  535. }
  536. },
  537. "required": [
  538. "headers",
  539. "source"
  540. ],
  541. "type": "object"
  542. },
  543. {
  544. "additionalProperties": false,
  545. "properties": {
  546. "headers": {
  547. "items": {
  548. "additionalProperties": false,
  549. "properties": {
  550. "key": {
  551. "type": "string"
  552. },
  553. "value": {
  554. "type": "string"
  555. }
  556. },
  557. "required": [
  558. "key",
  559. "value"
  560. ],
  561. "type": "object"
  562. },
  563. "type": "array"
  564. },
  565. "regex": {
  566. "type": "string"
  567. }
  568. },
  569. "required": [
  570. "headers",
  571. "regex"
  572. ],
  573. "type": "object"
  574. }
  575. ]
  576. },
  577. "type": "array"
  578. },
  579. "i18n": {
  580. "additionalProperties": false,
  581. "properties": {
  582. "root": {
  583. "type": "string"
  584. }
  585. },
  586. "required": [
  587. "root"
  588. ],
  589. "type": "object"
  590. },
  591. "ignore": {
  592. "items": {
  593. "type": "string"
  594. },
  595. "type": "array"
  596. },
  597. "postdeploy": {
  598. "anyOf": [
  599. {
  600. "items": {
  601. "type": "string"
  602. },
  603. "type": "array"
  604. },
  605. {
  606. "type": "string"
  607. }
  608. ]
  609. },
  610. "predeploy": {
  611. "anyOf": [
  612. {
  613. "items": {
  614. "type": "string"
  615. },
  616. "type": "array"
  617. },
  618. {
  619. "type": "string"
  620. }
  621. ]
  622. },
  623. "public": {
  624. "type": "string"
  625. },
  626. "redirects": {
  627. "items": {
  628. "anyOf": [
  629. {
  630. "additionalProperties": false,
  631. "properties": {
  632. "destination": {
  633. "type": "string"
  634. },
  635. "glob": {
  636. "type": "string"
  637. },
  638. "type": {
  639. "type": "number"
  640. }
  641. },
  642. "required": [
  643. "destination",
  644. "glob"
  645. ],
  646. "type": "object"
  647. },
  648. {
  649. "additionalProperties": false,
  650. "properties": {
  651. "destination": {
  652. "type": "string"
  653. },
  654. "source": {
  655. "type": "string"
  656. },
  657. "type": {
  658. "type": "number"
  659. }
  660. },
  661. "required": [
  662. "destination",
  663. "source"
  664. ],
  665. "type": "object"
  666. },
  667. {
  668. "additionalProperties": false,
  669. "properties": {
  670. "destination": {
  671. "type": "string"
  672. },
  673. "regex": {
  674. "type": "string"
  675. },
  676. "type": {
  677. "type": "number"
  678. }
  679. },
  680. "required": [
  681. "destination",
  682. "regex"
  683. ],
  684. "type": "object"
  685. }
  686. ]
  687. },
  688. "type": "array"
  689. },
  690. "rewrites": {
  691. "items": {
  692. "anyOf": [
  693. {
  694. "additionalProperties": false,
  695. "properties": {
  696. "destination": {
  697. "type": "string"
  698. },
  699. "glob": {
  700. "type": "string"
  701. }
  702. },
  703. "required": [
  704. "destination",
  705. "glob"
  706. ],
  707. "type": "object"
  708. },
  709. {
  710. "additionalProperties": false,
  711. "properties": {
  712. "function": {
  713. "type": "string"
  714. },
  715. "glob": {
  716. "type": "string"
  717. },
  718. "region": {
  719. "type": "string"
  720. }
  721. },
  722. "required": [
  723. "function",
  724. "glob"
  725. ],
  726. "type": "object"
  727. },
  728. {
  729. "additionalProperties": false,
  730. "properties": {
  731. "function": {
  732. "additionalProperties": false,
  733. "properties": {
  734. "functionId": {
  735. "type": "string"
  736. },
  737. "pinTag": {
  738. "type": "boolean"
  739. },
  740. "region": {
  741. "type": "string"
  742. }
  743. },
  744. "required": [
  745. "functionId"
  746. ],
  747. "type": "object"
  748. },
  749. "glob": {
  750. "type": "string"
  751. }
  752. },
  753. "required": [
  754. "function",
  755. "glob"
  756. ],
  757. "type": "object"
  758. },
  759. {
  760. "additionalProperties": false,
  761. "properties": {
  762. "glob": {
  763. "type": "string"
  764. },
  765. "run": {
  766. "additionalProperties": false,
  767. "properties": {
  768. "pinTag": {
  769. "type": "boolean"
  770. },
  771. "region": {
  772. "type": "string"
  773. },
  774. "serviceId": {
  775. "type": "string"
  776. }
  777. },
  778. "required": [
  779. "serviceId"
  780. ],
  781. "type": "object"
  782. }
  783. },
  784. "required": [
  785. "glob",
  786. "run"
  787. ],
  788. "type": "object"
  789. },
  790. {
  791. "additionalProperties": false,
  792. "properties": {
  793. "dynamicLinks": {
  794. "type": "boolean"
  795. },
  796. "glob": {
  797. "type": "string"
  798. }
  799. },
  800. "required": [
  801. "dynamicLinks",
  802. "glob"
  803. ],
  804. "type": "object"
  805. },
  806. {
  807. "additionalProperties": false,
  808. "properties": {
  809. "destination": {
  810. "type": "string"
  811. },
  812. "source": {
  813. "type": "string"
  814. }
  815. },
  816. "required": [
  817. "destination",
  818. "source"
  819. ],
  820. "type": "object"
  821. },
  822. {
  823. "additionalProperties": false,
  824. "properties": {
  825. "function": {
  826. "type": "string"
  827. },
  828. "region": {
  829. "type": "string"
  830. },
  831. "source": {
  832. "type": "string"
  833. }
  834. },
  835. "required": [
  836. "function",
  837. "source"
  838. ],
  839. "type": "object"
  840. },
  841. {
  842. "additionalProperties": false,
  843. "properties": {
  844. "function": {
  845. "additionalProperties": false,
  846. "properties": {
  847. "functionId": {
  848. "type": "string"
  849. },
  850. "pinTag": {
  851. "type": "boolean"
  852. },
  853. "region": {
  854. "type": "string"
  855. }
  856. },
  857. "required": [
  858. "functionId"
  859. ],
  860. "type": "object"
  861. },
  862. "source": {
  863. "type": "string"
  864. }
  865. },
  866. "required": [
  867. "function",
  868. "source"
  869. ],
  870. "type": "object"
  871. },
  872. {
  873. "additionalProperties": false,
  874. "properties": {
  875. "run": {
  876. "additionalProperties": false,
  877. "properties": {
  878. "pinTag": {
  879. "type": "boolean"
  880. },
  881. "region": {
  882. "type": "string"
  883. },
  884. "serviceId": {
  885. "type": "string"
  886. }
  887. },
  888. "required": [
  889. "serviceId"
  890. ],
  891. "type": "object"
  892. },
  893. "source": {
  894. "type": "string"
  895. }
  896. },
  897. "required": [
  898. "run",
  899. "source"
  900. ],
  901. "type": "object"
  902. },
  903. {
  904. "additionalProperties": false,
  905. "properties": {
  906. "dynamicLinks": {
  907. "type": "boolean"
  908. },
  909. "source": {
  910. "type": "string"
  911. }
  912. },
  913. "required": [
  914. "dynamicLinks",
  915. "source"
  916. ],
  917. "type": "object"
  918. },
  919. {
  920. "additionalProperties": false,
  921. "properties": {
  922. "destination": {
  923. "type": "string"
  924. },
  925. "regex": {
  926. "type": "string"
  927. }
  928. },
  929. "required": [
  930. "destination",
  931. "regex"
  932. ],
  933. "type": "object"
  934. },
  935. {
  936. "additionalProperties": false,
  937. "properties": {
  938. "function": {
  939. "type": "string"
  940. },
  941. "regex": {
  942. "type": "string"
  943. },
  944. "region": {
  945. "type": "string"
  946. }
  947. },
  948. "required": [
  949. "function",
  950. "regex"
  951. ],
  952. "type": "object"
  953. },
  954. {
  955. "additionalProperties": false,
  956. "properties": {
  957. "function": {
  958. "additionalProperties": false,
  959. "properties": {
  960. "functionId": {
  961. "type": "string"
  962. },
  963. "pinTag": {
  964. "type": "boolean"
  965. },
  966. "region": {
  967. "type": "string"
  968. }
  969. },
  970. "required": [
  971. "functionId"
  972. ],
  973. "type": "object"
  974. },
  975. "regex": {
  976. "type": "string"
  977. }
  978. },
  979. "required": [
  980. "function",
  981. "regex"
  982. ],
  983. "type": "object"
  984. },
  985. {
  986. "additionalProperties": false,
  987. "properties": {
  988. "regex": {
  989. "type": "string"
  990. },
  991. "run": {
  992. "additionalProperties": false,
  993. "properties": {
  994. "pinTag": {
  995. "type": "boolean"
  996. },
  997. "region": {
  998. "type": "string"
  999. },
  1000. "serviceId": {
  1001. "type": "string"
  1002. }
  1003. },
  1004. "required": [
  1005. "serviceId"
  1006. ],
  1007. "type": "object"
  1008. }
  1009. },
  1010. "required": [
  1011. "regex",
  1012. "run"
  1013. ],
  1014. "type": "object"
  1015. },
  1016. {
  1017. "additionalProperties": false,
  1018. "properties": {
  1019. "dynamicLinks": {
  1020. "type": "boolean"
  1021. },
  1022. "regex": {
  1023. "type": "string"
  1024. }
  1025. },
  1026. "required": [
  1027. "dynamicLinks",
  1028. "regex"
  1029. ],
  1030. "type": "object"
  1031. }
  1032. ]
  1033. },
  1034. "type": "array"
  1035. },
  1036. "site": {
  1037. "type": "string"
  1038. },
  1039. "source": {
  1040. "type": "string"
  1041. },
  1042. "target": {
  1043. "type": "string"
  1044. },
  1045. "trailingSlash": {
  1046. "type": "boolean"
  1047. }
  1048. },
  1049. "type": "object"
  1050. },
  1051. {
  1052. "items": {
  1053. "anyOf": [
  1054. {
  1055. "additionalProperties": false,
  1056. "properties": {
  1057. "appAssociation": {
  1058. "enum": [
  1059. "AUTO",
  1060. "NONE"
  1061. ],
  1062. "type": "string"
  1063. },
  1064. "cleanUrls": {
  1065. "type": "boolean"
  1066. },
  1067. "headers": {
  1068. "items": {
  1069. "anyOf": [
  1070. {
  1071. "additionalProperties": false,
  1072. "properties": {
  1073. "glob": {
  1074. "type": "string"
  1075. },
  1076. "headers": {
  1077. "items": {
  1078. "additionalProperties": false,
  1079. "properties": {
  1080. "key": {
  1081. "type": "string"
  1082. },
  1083. "value": {
  1084. "type": "string"
  1085. }
  1086. },
  1087. "required": [
  1088. "key",
  1089. "value"
  1090. ],
  1091. "type": "object"
  1092. },
  1093. "type": "array"
  1094. }
  1095. },
  1096. "required": [
  1097. "glob",
  1098. "headers"
  1099. ],
  1100. "type": "object"
  1101. },
  1102. {
  1103. "additionalProperties": false,
  1104. "properties": {
  1105. "headers": {
  1106. "items": {
  1107. "additionalProperties": false,
  1108. "properties": {
  1109. "key": {
  1110. "type": "string"
  1111. },
  1112. "value": {
  1113. "type": "string"
  1114. }
  1115. },
  1116. "required": [
  1117. "key",
  1118. "value"
  1119. ],
  1120. "type": "object"
  1121. },
  1122. "type": "array"
  1123. },
  1124. "source": {
  1125. "type": "string"
  1126. }
  1127. },
  1128. "required": [
  1129. "headers",
  1130. "source"
  1131. ],
  1132. "type": "object"
  1133. },
  1134. {
  1135. "additionalProperties": false,
  1136. "properties": {
  1137. "headers": {
  1138. "items": {
  1139. "additionalProperties": false,
  1140. "properties": {
  1141. "key": {
  1142. "type": "string"
  1143. },
  1144. "value": {
  1145. "type": "string"
  1146. }
  1147. },
  1148. "required": [
  1149. "key",
  1150. "value"
  1151. ],
  1152. "type": "object"
  1153. },
  1154. "type": "array"
  1155. },
  1156. "regex": {
  1157. "type": "string"
  1158. }
  1159. },
  1160. "required": [
  1161. "headers",
  1162. "regex"
  1163. ],
  1164. "type": "object"
  1165. }
  1166. ]
  1167. },
  1168. "type": "array"
  1169. },
  1170. "i18n": {
  1171. "additionalProperties": false,
  1172. "properties": {
  1173. "root": {
  1174. "type": "string"
  1175. }
  1176. },
  1177. "required": [
  1178. "root"
  1179. ],
  1180. "type": "object"
  1181. },
  1182. "ignore": {
  1183. "items": {
  1184. "type": "string"
  1185. },
  1186. "type": "array"
  1187. },
  1188. "postdeploy": {
  1189. "anyOf": [
  1190. {
  1191. "items": {
  1192. "type": "string"
  1193. },
  1194. "type": "array"
  1195. },
  1196. {
  1197. "type": "string"
  1198. }
  1199. ]
  1200. },
  1201. "predeploy": {
  1202. "anyOf": [
  1203. {
  1204. "items": {
  1205. "type": "string"
  1206. },
  1207. "type": "array"
  1208. },
  1209. {
  1210. "type": "string"
  1211. }
  1212. ]
  1213. },
  1214. "public": {
  1215. "type": "string"
  1216. },
  1217. "redirects": {
  1218. "items": {
  1219. "anyOf": [
  1220. {
  1221. "additionalProperties": false,
  1222. "properties": {
  1223. "destination": {
  1224. "type": "string"
  1225. },
  1226. "glob": {
  1227. "type": "string"
  1228. },
  1229. "type": {
  1230. "type": "number"
  1231. }
  1232. },
  1233. "required": [
  1234. "destination",
  1235. "glob"
  1236. ],
  1237. "type": "object"
  1238. },
  1239. {
  1240. "additionalProperties": false,
  1241. "properties": {
  1242. "destination": {
  1243. "type": "string"
  1244. },
  1245. "source": {
  1246. "type": "string"
  1247. },
  1248. "type": {
  1249. "type": "number"
  1250. }
  1251. },
  1252. "required": [
  1253. "destination",
  1254. "source"
  1255. ],
  1256. "type": "object"
  1257. },
  1258. {
  1259. "additionalProperties": false,
  1260. "properties": {
  1261. "destination": {
  1262. "type": "string"
  1263. },
  1264. "regex": {
  1265. "type": "string"
  1266. },
  1267. "type": {
  1268. "type": "number"
  1269. }
  1270. },
  1271. "required": [
  1272. "destination",
  1273. "regex"
  1274. ],
  1275. "type": "object"
  1276. }
  1277. ]
  1278. },
  1279. "type": "array"
  1280. },
  1281. "rewrites": {
  1282. "items": {
  1283. "anyOf": [
  1284. {
  1285. "additionalProperties": false,
  1286. "properties": {
  1287. "destination": {
  1288. "type": "string"
  1289. },
  1290. "glob": {
  1291. "type": "string"
  1292. }
  1293. },
  1294. "required": [
  1295. "destination",
  1296. "glob"
  1297. ],
  1298. "type": "object"
  1299. },
  1300. {
  1301. "additionalProperties": false,
  1302. "properties": {
  1303. "function": {
  1304. "type": "string"
  1305. },
  1306. "glob": {
  1307. "type": "string"
  1308. },
  1309. "region": {
  1310. "type": "string"
  1311. }
  1312. },
  1313. "required": [
  1314. "function",
  1315. "glob"
  1316. ],
  1317. "type": "object"
  1318. },
  1319. {
  1320. "additionalProperties": false,
  1321. "properties": {
  1322. "function": {
  1323. "additionalProperties": false,
  1324. "properties": {
  1325. "functionId": {
  1326. "type": "string"
  1327. },
  1328. "pinTag": {
  1329. "type": "boolean"
  1330. },
  1331. "region": {
  1332. "type": "string"
  1333. }
  1334. },
  1335. "required": [
  1336. "functionId"
  1337. ],
  1338. "type": "object"
  1339. },
  1340. "glob": {
  1341. "type": "string"
  1342. }
  1343. },
  1344. "required": [
  1345. "function",
  1346. "glob"
  1347. ],
  1348. "type": "object"
  1349. },
  1350. {
  1351. "additionalProperties": false,
  1352. "properties": {
  1353. "glob": {
  1354. "type": "string"
  1355. },
  1356. "run": {
  1357. "additionalProperties": false,
  1358. "properties": {
  1359. "pinTag": {
  1360. "type": "boolean"
  1361. },
  1362. "region": {
  1363. "type": "string"
  1364. },
  1365. "serviceId": {
  1366. "type": "string"
  1367. }
  1368. },
  1369. "required": [
  1370. "serviceId"
  1371. ],
  1372. "type": "object"
  1373. }
  1374. },
  1375. "required": [
  1376. "glob",
  1377. "run"
  1378. ],
  1379. "type": "object"
  1380. },
  1381. {
  1382. "additionalProperties": false,
  1383. "properties": {
  1384. "dynamicLinks": {
  1385. "type": "boolean"
  1386. },
  1387. "glob": {
  1388. "type": "string"
  1389. }
  1390. },
  1391. "required": [
  1392. "dynamicLinks",
  1393. "glob"
  1394. ],
  1395. "type": "object"
  1396. },
  1397. {
  1398. "additionalProperties": false,
  1399. "properties": {
  1400. "destination": {
  1401. "type": "string"
  1402. },
  1403. "source": {
  1404. "type": "string"
  1405. }
  1406. },
  1407. "required": [
  1408. "destination",
  1409. "source"
  1410. ],
  1411. "type": "object"
  1412. },
  1413. {
  1414. "additionalProperties": false,
  1415. "properties": {
  1416. "function": {
  1417. "type": "string"
  1418. },
  1419. "region": {
  1420. "type": "string"
  1421. },
  1422. "source": {
  1423. "type": "string"
  1424. }
  1425. },
  1426. "required": [
  1427. "function",
  1428. "source"
  1429. ],
  1430. "type": "object"
  1431. },
  1432. {
  1433. "additionalProperties": false,
  1434. "properties": {
  1435. "function": {
  1436. "additionalProperties": false,
  1437. "properties": {
  1438. "functionId": {
  1439. "type": "string"
  1440. },
  1441. "pinTag": {
  1442. "type": "boolean"
  1443. },
  1444. "region": {
  1445. "type": "string"
  1446. }
  1447. },
  1448. "required": [
  1449. "functionId"
  1450. ],
  1451. "type": "object"
  1452. },
  1453. "source": {
  1454. "type": "string"
  1455. }
  1456. },
  1457. "required": [
  1458. "function",
  1459. "source"
  1460. ],
  1461. "type": "object"
  1462. },
  1463. {
  1464. "additionalProperties": false,
  1465. "properties": {
  1466. "run": {
  1467. "additionalProperties": false,
  1468. "properties": {
  1469. "pinTag": {
  1470. "type": "boolean"
  1471. },
  1472. "region": {
  1473. "type": "string"
  1474. },
  1475. "serviceId": {
  1476. "type": "string"
  1477. }
  1478. },
  1479. "required": [
  1480. "serviceId"
  1481. ],
  1482. "type": "object"
  1483. },
  1484. "source": {
  1485. "type": "string"
  1486. }
  1487. },
  1488. "required": [
  1489. "run",
  1490. "source"
  1491. ],
  1492. "type": "object"
  1493. },
  1494. {
  1495. "additionalProperties": false,
  1496. "properties": {
  1497. "dynamicLinks": {
  1498. "type": "boolean"
  1499. },
  1500. "source": {
  1501. "type": "string"
  1502. }
  1503. },
  1504. "required": [
  1505. "dynamicLinks",
  1506. "source"
  1507. ],
  1508. "type": "object"
  1509. },
  1510. {
  1511. "additionalProperties": false,
  1512. "properties": {
  1513. "destination": {
  1514. "type": "string"
  1515. },
  1516. "regex": {
  1517. "type": "string"
  1518. }
  1519. },
  1520. "required": [
  1521. "destination",
  1522. "regex"
  1523. ],
  1524. "type": "object"
  1525. },
  1526. {
  1527. "additionalProperties": false,
  1528. "properties": {
  1529. "function": {
  1530. "type": "string"
  1531. },
  1532. "regex": {
  1533. "type": "string"
  1534. },
  1535. "region": {
  1536. "type": "string"
  1537. }
  1538. },
  1539. "required": [
  1540. "function",
  1541. "regex"
  1542. ],
  1543. "type": "object"
  1544. },
  1545. {
  1546. "additionalProperties": false,
  1547. "properties": {
  1548. "function": {
  1549. "additionalProperties": false,
  1550. "properties": {
  1551. "functionId": {
  1552. "type": "string"
  1553. },
  1554. "pinTag": {
  1555. "type": "boolean"
  1556. },
  1557. "region": {
  1558. "type": "string"
  1559. }
  1560. },
  1561. "required": [
  1562. "functionId"
  1563. ],
  1564. "type": "object"
  1565. },
  1566. "regex": {
  1567. "type": "string"
  1568. }
  1569. },
  1570. "required": [
  1571. "function",
  1572. "regex"
  1573. ],
  1574. "type": "object"
  1575. },
  1576. {
  1577. "additionalProperties": false,
  1578. "properties": {
  1579. "regex": {
  1580. "type": "string"
  1581. },
  1582. "run": {
  1583. "additionalProperties": false,
  1584. "properties": {
  1585. "pinTag": {
  1586. "type": "boolean"
  1587. },
  1588. "region": {
  1589. "type": "string"
  1590. },
  1591. "serviceId": {
  1592. "type": "string"
  1593. }
  1594. },
  1595. "required": [
  1596. "serviceId"
  1597. ],
  1598. "type": "object"
  1599. }
  1600. },
  1601. "required": [
  1602. "regex",
  1603. "run"
  1604. ],
  1605. "type": "object"
  1606. },
  1607. {
  1608. "additionalProperties": false,
  1609. "properties": {
  1610. "dynamicLinks": {
  1611. "type": "boolean"
  1612. },
  1613. "regex": {
  1614. "type": "string"
  1615. }
  1616. },
  1617. "required": [
  1618. "dynamicLinks",
  1619. "regex"
  1620. ],
  1621. "type": "object"
  1622. }
  1623. ]
  1624. },
  1625. "type": "array"
  1626. },
  1627. "site": {
  1628. "type": "string"
  1629. },
  1630. "source": {
  1631. "type": "string"
  1632. },
  1633. "target": {
  1634. "type": "string"
  1635. },
  1636. "trailingSlash": {
  1637. "type": "boolean"
  1638. }
  1639. },
  1640. "required": [
  1641. "target"
  1642. ],
  1643. "type": "object"
  1644. },
  1645. {
  1646. "additionalProperties": false,
  1647. "properties": {
  1648. "appAssociation": {
  1649. "enum": [
  1650. "AUTO",
  1651. "NONE"
  1652. ],
  1653. "type": "string"
  1654. },
  1655. "cleanUrls": {
  1656. "type": "boolean"
  1657. },
  1658. "headers": {
  1659. "items": {
  1660. "anyOf": [
  1661. {
  1662. "additionalProperties": false,
  1663. "properties": {
  1664. "glob": {
  1665. "type": "string"
  1666. },
  1667. "headers": {
  1668. "items": {
  1669. "additionalProperties": false,
  1670. "properties": {
  1671. "key": {
  1672. "type": "string"
  1673. },
  1674. "value": {
  1675. "type": "string"
  1676. }
  1677. },
  1678. "required": [
  1679. "key",
  1680. "value"
  1681. ],
  1682. "type": "object"
  1683. },
  1684. "type": "array"
  1685. }
  1686. },
  1687. "required": [
  1688. "glob",
  1689. "headers"
  1690. ],
  1691. "type": "object"
  1692. },
  1693. {
  1694. "additionalProperties": false,
  1695. "properties": {
  1696. "headers": {
  1697. "items": {
  1698. "additionalProperties": false,
  1699. "properties": {
  1700. "key": {
  1701. "type": "string"
  1702. },
  1703. "value": {
  1704. "type": "string"
  1705. }
  1706. },
  1707. "required": [
  1708. "key",
  1709. "value"
  1710. ],
  1711. "type": "object"
  1712. },
  1713. "type": "array"
  1714. },
  1715. "source": {
  1716. "type": "string"
  1717. }
  1718. },
  1719. "required": [
  1720. "headers",
  1721. "source"
  1722. ],
  1723. "type": "object"
  1724. },
  1725. {
  1726. "additionalProperties": false,
  1727. "properties": {
  1728. "headers": {
  1729. "items": {
  1730. "additionalProperties": false,
  1731. "properties": {
  1732. "key": {
  1733. "type": "string"
  1734. },
  1735. "value": {
  1736. "type": "string"
  1737. }
  1738. },
  1739. "required": [
  1740. "key",
  1741. "value"
  1742. ],
  1743. "type": "object"
  1744. },
  1745. "type": "array"
  1746. },
  1747. "regex": {
  1748. "type": "string"
  1749. }
  1750. },
  1751. "required": [
  1752. "headers",
  1753. "regex"
  1754. ],
  1755. "type": "object"
  1756. }
  1757. ]
  1758. },
  1759. "type": "array"
  1760. },
  1761. "i18n": {
  1762. "additionalProperties": false,
  1763. "properties": {
  1764. "root": {
  1765. "type": "string"
  1766. }
  1767. },
  1768. "required": [
  1769. "root"
  1770. ],
  1771. "type": "object"
  1772. },
  1773. "ignore": {
  1774. "items": {
  1775. "type": "string"
  1776. },
  1777. "type": "array"
  1778. },
  1779. "postdeploy": {
  1780. "anyOf": [
  1781. {
  1782. "items": {
  1783. "type": "string"
  1784. },
  1785. "type": "array"
  1786. },
  1787. {
  1788. "type": "string"
  1789. }
  1790. ]
  1791. },
  1792. "predeploy": {
  1793. "anyOf": [
  1794. {
  1795. "items": {
  1796. "type": "string"
  1797. },
  1798. "type": "array"
  1799. },
  1800. {
  1801. "type": "string"
  1802. }
  1803. ]
  1804. },
  1805. "public": {
  1806. "type": "string"
  1807. },
  1808. "redirects": {
  1809. "items": {
  1810. "anyOf": [
  1811. {
  1812. "additionalProperties": false,
  1813. "properties": {
  1814. "destination": {
  1815. "type": "string"
  1816. },
  1817. "glob": {
  1818. "type": "string"
  1819. },
  1820. "type": {
  1821. "type": "number"
  1822. }
  1823. },
  1824. "required": [
  1825. "destination",
  1826. "glob"
  1827. ],
  1828. "type": "object"
  1829. },
  1830. {
  1831. "additionalProperties": false,
  1832. "properties": {
  1833. "destination": {
  1834. "type": "string"
  1835. },
  1836. "source": {
  1837. "type": "string"
  1838. },
  1839. "type": {
  1840. "type": "number"
  1841. }
  1842. },
  1843. "required": [
  1844. "destination",
  1845. "source"
  1846. ],
  1847. "type": "object"
  1848. },
  1849. {
  1850. "additionalProperties": false,
  1851. "properties": {
  1852. "destination": {
  1853. "type": "string"
  1854. },
  1855. "regex": {
  1856. "type": "string"
  1857. },
  1858. "type": {
  1859. "type": "number"
  1860. }
  1861. },
  1862. "required": [
  1863. "destination",
  1864. "regex"
  1865. ],
  1866. "type": "object"
  1867. }
  1868. ]
  1869. },
  1870. "type": "array"
  1871. },
  1872. "rewrites": {
  1873. "items": {
  1874. "anyOf": [
  1875. {
  1876. "additionalProperties": false,
  1877. "properties": {
  1878. "destination": {
  1879. "type": "string"
  1880. },
  1881. "glob": {
  1882. "type": "string"
  1883. }
  1884. },
  1885. "required": [
  1886. "destination",
  1887. "glob"
  1888. ],
  1889. "type": "object"
  1890. },
  1891. {
  1892. "additionalProperties": false,
  1893. "properties": {
  1894. "function": {
  1895. "type": "string"
  1896. },
  1897. "glob": {
  1898. "type": "string"
  1899. },
  1900. "region": {
  1901. "type": "string"
  1902. }
  1903. },
  1904. "required": [
  1905. "function",
  1906. "glob"
  1907. ],
  1908. "type": "object"
  1909. },
  1910. {
  1911. "additionalProperties": false,
  1912. "properties": {
  1913. "function": {
  1914. "additionalProperties": false,
  1915. "properties": {
  1916. "functionId": {
  1917. "type": "string"
  1918. },
  1919. "pinTag": {
  1920. "type": "boolean"
  1921. },
  1922. "region": {
  1923. "type": "string"
  1924. }
  1925. },
  1926. "required": [
  1927. "functionId"
  1928. ],
  1929. "type": "object"
  1930. },
  1931. "glob": {
  1932. "type": "string"
  1933. }
  1934. },
  1935. "required": [
  1936. "function",
  1937. "glob"
  1938. ],
  1939. "type": "object"
  1940. },
  1941. {
  1942. "additionalProperties": false,
  1943. "properties": {
  1944. "glob": {
  1945. "type": "string"
  1946. },
  1947. "run": {
  1948. "additionalProperties": false,
  1949. "properties": {
  1950. "pinTag": {
  1951. "type": "boolean"
  1952. },
  1953. "region": {
  1954. "type": "string"
  1955. },
  1956. "serviceId": {
  1957. "type": "string"
  1958. }
  1959. },
  1960. "required": [
  1961. "serviceId"
  1962. ],
  1963. "type": "object"
  1964. }
  1965. },
  1966. "required": [
  1967. "glob",
  1968. "run"
  1969. ],
  1970. "type": "object"
  1971. },
  1972. {
  1973. "additionalProperties": false,
  1974. "properties": {
  1975. "dynamicLinks": {
  1976. "type": "boolean"
  1977. },
  1978. "glob": {
  1979. "type": "string"
  1980. }
  1981. },
  1982. "required": [
  1983. "dynamicLinks",
  1984. "glob"
  1985. ],
  1986. "type": "object"
  1987. },
  1988. {
  1989. "additionalProperties": false,
  1990. "properties": {
  1991. "destination": {
  1992. "type": "string"
  1993. },
  1994. "source": {
  1995. "type": "string"
  1996. }
  1997. },
  1998. "required": [
  1999. "destination",
  2000. "source"
  2001. ],
  2002. "type": "object"
  2003. },
  2004. {
  2005. "additionalProperties": false,
  2006. "properties": {
  2007. "function": {
  2008. "type": "string"
  2009. },
  2010. "region": {
  2011. "type": "string"
  2012. },
  2013. "source": {
  2014. "type": "string"
  2015. }
  2016. },
  2017. "required": [
  2018. "function",
  2019. "source"
  2020. ],
  2021. "type": "object"
  2022. },
  2023. {
  2024. "additionalProperties": false,
  2025. "properties": {
  2026. "function": {
  2027. "additionalProperties": false,
  2028. "properties": {
  2029. "functionId": {
  2030. "type": "string"
  2031. },
  2032. "pinTag": {
  2033. "type": "boolean"
  2034. },
  2035. "region": {
  2036. "type": "string"
  2037. }
  2038. },
  2039. "required": [
  2040. "functionId"
  2041. ],
  2042. "type": "object"
  2043. },
  2044. "source": {
  2045. "type": "string"
  2046. }
  2047. },
  2048. "required": [
  2049. "function",
  2050. "source"
  2051. ],
  2052. "type": "object"
  2053. },
  2054. {
  2055. "additionalProperties": false,
  2056. "properties": {
  2057. "run": {
  2058. "additionalProperties": false,
  2059. "properties": {
  2060. "pinTag": {
  2061. "type": "boolean"
  2062. },
  2063. "region": {
  2064. "type": "string"
  2065. },
  2066. "serviceId": {
  2067. "type": "string"
  2068. }
  2069. },
  2070. "required": [
  2071. "serviceId"
  2072. ],
  2073. "type": "object"
  2074. },
  2075. "source": {
  2076. "type": "string"
  2077. }
  2078. },
  2079. "required": [
  2080. "run",
  2081. "source"
  2082. ],
  2083. "type": "object"
  2084. },
  2085. {
  2086. "additionalProperties": false,
  2087. "properties": {
  2088. "dynamicLinks": {
  2089. "type": "boolean"
  2090. },
  2091. "source": {
  2092. "type": "string"
  2093. }
  2094. },
  2095. "required": [
  2096. "dynamicLinks",
  2097. "source"
  2098. ],
  2099. "type": "object"
  2100. },
  2101. {
  2102. "additionalProperties": false,
  2103. "properties": {
  2104. "destination": {
  2105. "type": "string"
  2106. },
  2107. "regex": {
  2108. "type": "string"
  2109. }
  2110. },
  2111. "required": [
  2112. "destination",
  2113. "regex"
  2114. ],
  2115. "type": "object"
  2116. },
  2117. {
  2118. "additionalProperties": false,
  2119. "properties": {
  2120. "function": {
  2121. "type": "string"
  2122. },
  2123. "regex": {
  2124. "type": "string"
  2125. },
  2126. "region": {
  2127. "type": "string"
  2128. }
  2129. },
  2130. "required": [
  2131. "function",
  2132. "regex"
  2133. ],
  2134. "type": "object"
  2135. },
  2136. {
  2137. "additionalProperties": false,
  2138. "properties": {
  2139. "function": {
  2140. "additionalProperties": false,
  2141. "properties": {
  2142. "functionId": {
  2143. "type": "string"
  2144. },
  2145. "pinTag": {
  2146. "type": "boolean"
  2147. },
  2148. "region": {
  2149. "type": "string"
  2150. }
  2151. },
  2152. "required": [
  2153. "functionId"
  2154. ],
  2155. "type": "object"
  2156. },
  2157. "regex": {
  2158. "type": "string"
  2159. }
  2160. },
  2161. "required": [
  2162. "function",
  2163. "regex"
  2164. ],
  2165. "type": "object"
  2166. },
  2167. {
  2168. "additionalProperties": false,
  2169. "properties": {
  2170. "regex": {
  2171. "type": "string"
  2172. },
  2173. "run": {
  2174. "additionalProperties": false,
  2175. "properties": {
  2176. "pinTag": {
  2177. "type": "boolean"
  2178. },
  2179. "region": {
  2180. "type": "string"
  2181. },
  2182. "serviceId": {
  2183. "type": "string"
  2184. }
  2185. },
  2186. "required": [
  2187. "serviceId"
  2188. ],
  2189. "type": "object"
  2190. }
  2191. },
  2192. "required": [
  2193. "regex",
  2194. "run"
  2195. ],
  2196. "type": "object"
  2197. },
  2198. {
  2199. "additionalProperties": false,
  2200. "properties": {
  2201. "dynamicLinks": {
  2202. "type": "boolean"
  2203. },
  2204. "regex": {
  2205. "type": "string"
  2206. }
  2207. },
  2208. "required": [
  2209. "dynamicLinks",
  2210. "regex"
  2211. ],
  2212. "type": "object"
  2213. }
  2214. ]
  2215. },
  2216. "type": "array"
  2217. },
  2218. "site": {
  2219. "type": "string"
  2220. },
  2221. "source": {
  2222. "type": "string"
  2223. },
  2224. "target": {
  2225. "type": "string"
  2226. },
  2227. "trailingSlash": {
  2228. "type": "boolean"
  2229. }
  2230. },
  2231. "required": [
  2232. "site"
  2233. ],
  2234. "type": "object"
  2235. }
  2236. ]
  2237. },
  2238. "type": "array"
  2239. }
  2240. ]
  2241. },
  2242. "remoteconfig": {
  2243. "additionalProperties": false,
  2244. "properties": {
  2245. "postdeploy": {
  2246. "anyOf": [
  2247. {
  2248. "items": {
  2249. "type": "string"
  2250. },
  2251. "type": "array"
  2252. },
  2253. {
  2254. "type": "string"
  2255. }
  2256. ]
  2257. },
  2258. "predeploy": {
  2259. "anyOf": [
  2260. {
  2261. "items": {
  2262. "type": "string"
  2263. },
  2264. "type": "array"
  2265. },
  2266. {
  2267. "type": "string"
  2268. }
  2269. ]
  2270. },
  2271. "template": {
  2272. "type": "string"
  2273. }
  2274. },
  2275. "required": [
  2276. "template"
  2277. ],
  2278. "type": "object"
  2279. },
  2280. "storage": {
  2281. "anyOf": [
  2282. {
  2283. "additionalProperties": false,
  2284. "properties": {
  2285. "postdeploy": {
  2286. "anyOf": [
  2287. {
  2288. "items": {
  2289. "type": "string"
  2290. },
  2291. "type": "array"
  2292. },
  2293. {
  2294. "type": "string"
  2295. }
  2296. ]
  2297. },
  2298. "predeploy": {
  2299. "anyOf": [
  2300. {
  2301. "items": {
  2302. "type": "string"
  2303. },
  2304. "type": "array"
  2305. },
  2306. {
  2307. "type": "string"
  2308. }
  2309. ]
  2310. },
  2311. "rules": {
  2312. "type": "string"
  2313. },
  2314. "target": {
  2315. "type": "string"
  2316. }
  2317. },
  2318. "required": [
  2319. "rules"
  2320. ],
  2321. "type": "object"
  2322. },
  2323. {
  2324. "items": {
  2325. "additionalProperties": false,
  2326. "properties": {
  2327. "bucket": {
  2328. "type": "string"
  2329. },
  2330. "postdeploy": {
  2331. "anyOf": [
  2332. {
  2333. "items": {
  2334. "type": "string"
  2335. },
  2336. "type": "array"
  2337. },
  2338. {
  2339. "type": "string"
  2340. }
  2341. ]
  2342. },
  2343. "predeploy": {
  2344. "anyOf": [
  2345. {
  2346. "items": {
  2347. "type": "string"
  2348. },
  2349. "type": "array"
  2350. },
  2351. {
  2352. "type": "string"
  2353. }
  2354. ]
  2355. },
  2356. "rules": {
  2357. "type": "string"
  2358. },
  2359. "target": {
  2360. "type": "string"
  2361. }
  2362. },
  2363. "required": [
  2364. "bucket",
  2365. "rules"
  2366. ],
  2367. "type": "object"
  2368. },
  2369. "type": "array"
  2370. }
  2371. ]
  2372. }
  2373. },
  2374. "type": "object"
  2375. }