firebase-tools 13.29.1 → 13.29.2

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