@wp-playground/blueprints 0.7.4 → 0.7.5

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.
@@ -1,1441 +1,1555 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
3
- "$ref": "#/definitions/Blueprint",
4
- "definitions": {
5
- "Blueprint": {
6
- "type": "object",
7
- "properties": {
8
- "landingPage": {
9
- "type": "string",
10
- "description": "The URL to navigate to after the blueprint has been run."
11
- },
12
- "description": {
13
- "type": "string",
14
- "description": "Optional description. It doesn't do anything but is exposed as a courtesy to developers who may want to document which blueprint file does what.",
15
- "deprecated": "Use meta.description instead."
16
- },
17
- "meta": {
18
- "type": "object",
19
- "properties": {
20
- "title": {
21
- "type": "string",
22
- "description": "A clear and concise name for your Blueprint."
23
- },
24
- "description": {
25
- "type": "string",
26
- "description": "A brief explanation of what your Blueprint offers."
27
- },
28
- "author": {
29
- "type": "string",
30
- "description": "A GitHub username of the author of this Blueprint."
31
- },
32
- "categories": {
33
- "type": "array",
34
- "items": {
35
- "type": "string"
36
- },
37
- "description": "Relevant categories to help users find your Blueprint in the future Blueprints section on WordPress.org."
38
- }
39
- },
40
- "required": ["title", "author"],
41
- "additionalProperties": false,
42
- "description": "Optional metadata. Used by the Blueprints gallery at https://github.com/WordPress/blueprints"
43
- },
44
- "preferredVersions": {
45
- "type": "object",
46
- "properties": {
47
- "php": {
48
- "anyOf": [
49
- {
50
- "$ref": "#/definitions/SupportedPHPVersion"
51
- },
52
- {
53
- "type": "string",
54
- "const": "latest"
55
- }
56
- ],
57
- "description": "The preferred PHP version to use. If not specified, the latest supported version will be used"
58
- },
59
- "wp": {
60
- "type": "string",
61
- "description": "The preferred WordPress version to use. If not specified, the latest supported version will be used"
62
- }
63
- },
64
- "required": ["php", "wp"],
65
- "additionalProperties": false,
66
- "description": "The preferred PHP and WordPress versions to use."
67
- },
68
- "features": {
69
- "type": "object",
70
- "properties": {
71
- "networking": {
72
- "type": "boolean",
73
- "description": "Should boot with support for network request via wp_safe_remote_get?"
74
- }
75
- },
76
- "additionalProperties": false
77
- },
78
- "constants": {
79
- "type": "object",
80
- "additionalProperties": {
81
- "type": "string"
82
- },
83
- "description": "PHP Constants to define on every request",
84
- "deprecated": "This experimental option will change without warning.\nUse `steps` instead."
85
- },
86
- "plugins": {
87
- "type": "array",
88
- "items": {
89
- "anyOf": [
90
- {
91
- "type": "string"
92
- },
93
- {
94
- "$ref": "#/definitions/FileReference"
95
- }
96
- ]
97
- },
98
- "description": "WordPress plugins to install and activate",
99
- "deprecated": "This experimental option will change without warning.\nUse `steps` instead."
100
- },
101
- "siteOptions": {
102
- "type": "object",
103
- "additionalProperties": {
104
- "type": "string"
105
- },
106
- "properties": {
107
- "blogname": {
108
- "type": "string",
109
- "description": "The site title"
110
- }
111
- },
112
- "description": "WordPress site options to define",
113
- "deprecated": "This experimental option will change without warning.\nUse `steps` instead."
114
- },
115
- "login": {
116
- "anyOf": [
117
- {
118
- "type": "boolean"
119
- },
120
- {
121
- "type": "object",
122
- "properties": {
123
- "username": {
124
- "type": "string"
125
- },
126
- "password": {
127
- "type": "string"
128
- }
129
- },
130
- "required": ["username", "password"],
131
- "additionalProperties": false
132
- }
133
- ],
134
- "description": "User to log in as. If true, logs the user in as admin/password."
135
- },
136
- "phpExtensionBundles": {
137
- "type": "array",
138
- "items": {
139
- "$ref": "#/definitions/SupportedPHPExtensionBundle"
140
- },
141
- "description": "The PHP extensions to use."
142
- },
143
- "steps": {
144
- "type": "array",
145
- "items": {
146
- "anyOf": [
147
- {
148
- "$ref": "#/definitions/StepDefinition"
149
- },
150
- {
151
- "type": "string"
152
- },
153
- {
154
- "not": {}
155
- },
156
- {
157
- "type": "boolean",
158
- "const": false
159
- },
160
- {
161
- "type": "null"
162
- }
163
- ]
164
- },
165
- "description": "The steps to run after every other operation in this Blueprint was executed."
166
- },
167
- "$schema": {
168
- "type": "string"
169
- }
170
- },
171
- "additionalProperties": false
172
- },
173
- "SupportedPHPVersion": {
174
- "type": "string",
175
- "enum": [
176
- "8.3",
177
- "8.2",
178
- "8.1",
179
- "8.0",
180
- "7.4",
181
- "7.3",
182
- "7.2",
183
- "7.1",
184
- "7.0"
185
- ]
186
- },
187
- "FileReference": {
188
- "anyOf": [
189
- {
190
- "$ref": "#/definitions/VFSReference"
191
- },
192
- {
193
- "$ref": "#/definitions/LiteralReference"
194
- },
195
- {
196
- "$ref": "#/definitions/CoreThemeReference"
197
- },
198
- {
199
- "$ref": "#/definitions/CorePluginReference"
200
- },
201
- {
202
- "$ref": "#/definitions/UrlReference"
203
- }
204
- ]
205
- },
206
- "VFSReference": {
207
- "type": "object",
208
- "properties": {
209
- "resource": {
210
- "type": "string",
211
- "const": "vfs",
212
- "description": "Identifies the file resource as Virtual File System (VFS)"
213
- },
214
- "path": {
215
- "type": "string",
216
- "description": "The path to the file in the VFS"
217
- }
218
- },
219
- "required": ["resource", "path"],
220
- "additionalProperties": false
221
- },
222
- "LiteralReference": {
223
- "type": "object",
224
- "properties": {
225
- "resource": {
226
- "type": "string",
227
- "const": "literal",
228
- "description": "Identifies the file resource as a literal file"
229
- },
230
- "name": {
231
- "type": "string",
232
- "description": "The name of the file"
233
- },
234
- "contents": {
235
- "anyOf": [
236
- {
237
- "type": "string"
238
- },
239
- {
240
- "type": "object",
241
- "properties": {
242
- "BYTES_PER_ELEMENT": {
243
- "type": "number"
244
- },
245
- "buffer": {
246
- "type": "object",
247
- "properties": {
248
- "byteLength": {
249
- "type": "number"
250
- }
251
- },
252
- "required": ["byteLength"],
253
- "additionalProperties": false
254
- },
255
- "byteLength": {
256
- "type": "number"
257
- },
258
- "byteOffset": {
259
- "type": "number"
260
- },
261
- "length": {
262
- "type": "number"
263
- }
264
- },
265
- "required": [
266
- "BYTES_PER_ELEMENT",
267
- "buffer",
268
- "byteLength",
269
- "byteOffset",
270
- "length"
271
- ],
272
- "additionalProperties": {
273
- "type": "number"
274
- }
275
- }
276
- ],
277
- "description": "The contents of the file"
278
- }
279
- },
280
- "required": ["resource", "name", "contents"],
281
- "additionalProperties": false
282
- },
283
- "CoreThemeReference": {
284
- "type": "object",
285
- "properties": {
286
- "resource": {
287
- "type": "string",
288
- "const": "wordpress.org/themes",
289
- "description": "Identifies the file resource as a WordPress Core theme"
290
- },
291
- "slug": {
292
- "type": "string",
293
- "description": "The slug of the WordPress Core theme"
294
- }
295
- },
296
- "required": ["resource", "slug"],
297
- "additionalProperties": false
298
- },
299
- "CorePluginReference": {
300
- "type": "object",
301
- "properties": {
302
- "resource": {
303
- "type": "string",
304
- "const": "wordpress.org/plugins",
305
- "description": "Identifies the file resource as a WordPress Core plugin"
306
- },
307
- "slug": {
308
- "type": "string",
309
- "description": "The slug of the WordPress Core plugin"
310
- }
311
- },
312
- "required": ["resource", "slug"],
313
- "additionalProperties": false
314
- },
315
- "UrlReference": {
316
- "type": "object",
317
- "properties": {
318
- "resource": {
319
- "type": "string",
320
- "const": "url",
321
- "description": "Identifies the file resource as a URL"
322
- },
323
- "url": {
324
- "type": "string",
325
- "description": "The URL of the file"
326
- },
327
- "caption": {
328
- "type": "string",
329
- "description": "Optional caption for displaying a progress message"
330
- }
331
- },
332
- "required": ["resource", "url"],
333
- "additionalProperties": false
334
- },
335
- "SupportedPHPExtensionBundle": {
336
- "type": "string",
337
- "enum": ["kitchen-sink", "light"]
338
- },
339
- "StepDefinition": {
340
- "type": "object",
341
- "discriminator": {
342
- "propertyName": "step"
343
- },
344
- "required": ["step"],
345
- "oneOf": [
346
- {
347
- "type": "object",
348
- "additionalProperties": false,
349
- "properties": {
350
- "progress": {
351
- "type": "object",
352
- "properties": {
353
- "weight": {
354
- "type": "number"
355
- },
356
- "caption": {
357
- "type": "string"
358
- }
359
- },
360
- "additionalProperties": false
361
- },
362
- "step": {
363
- "type": "string",
364
- "const": "activatePlugin"
365
- },
366
- "pluginPath": {
367
- "type": "string",
368
- "description": "Path to the plugin directory as absolute path (/wordpress/wp-content/plugins/plugin-name); or the plugin entry file relative to the plugins directory (plugin-name/plugin-name.php)."
369
- },
370
- "pluginName": {
371
- "type": "string",
372
- "description": "Optional. Plugin name to display in the progress bar."
373
- }
374
- },
375
- "required": ["pluginPath", "step"]
376
- },
377
- {
378
- "type": "object",
379
- "additionalProperties": false,
380
- "properties": {
381
- "progress": {
382
- "type": "object",
383
- "properties": {
384
- "weight": {
385
- "type": "number"
386
- },
387
- "caption": {
388
- "type": "string"
389
- }
390
- },
391
- "additionalProperties": false
392
- },
393
- "step": {
394
- "type": "string",
395
- "const": "activateTheme"
396
- },
397
- "themeFolderName": {
398
- "type": "string",
399
- "description": "The name of the theme folder inside wp-content/themes/"
400
- }
401
- },
402
- "required": ["step", "themeFolderName"]
403
- },
404
- {
405
- "type": "object",
406
- "additionalProperties": false,
407
- "properties": {
408
- "progress": {
409
- "type": "object",
410
- "properties": {
411
- "weight": {
412
- "type": "number"
413
- },
414
- "caption": {
415
- "type": "string"
416
- }
417
- },
418
- "additionalProperties": false
419
- },
420
- "step": {
421
- "type": "string",
422
- "const": "cp"
423
- },
424
- "fromPath": {
425
- "type": "string",
426
- "description": "Source path"
427
- },
428
- "toPath": {
429
- "type": "string",
430
- "description": "Target path"
431
- }
432
- },
433
- "required": ["fromPath", "step", "toPath"]
434
- },
435
- {
436
- "type": "object",
437
- "additionalProperties": false,
438
- "properties": {
439
- "progress": {
440
- "type": "object",
441
- "properties": {
442
- "weight": {
443
- "type": "number"
444
- },
445
- "caption": {
446
- "type": "string"
447
- }
448
- },
449
- "additionalProperties": false
450
- },
451
- "step": {
452
- "type": "string",
453
- "const": "defineWpConfigConsts"
454
- },
455
- "consts": {
456
- "type": "object",
457
- "additionalProperties": {},
458
- "description": "The constants to define"
459
- },
460
- "method": {
461
- "type": "string",
462
- "enum": ["rewrite-wp-config", "define-before-run"],
463
- "description": "The method of defining the constants. Possible values are:\n\n- rewrite-wp-config: Default. Rewrites the wp-config.php file to explicitly call define() with the requested name and value. This method alters the file on the disk, but it doesn't conflict with existing define() calls in wp-config.php.\n- define-before-run: Defines the constant before running the requested script. It doesn't alter any files on the disk, but constants defined this way may conflict with existing define() calls in wp-config.php."
464
- },
465
- "virtualize": {
466
- "type": "boolean",
467
- "deprecated": "This option is noop and will be removed in a future version.\nThis option is only kept in here to avoid breaking Blueprint schema validation\nfor existing apps using this option."
468
- }
469
- },
470
- "required": ["consts", "step"]
471
- },
472
- {
473
- "type": "object",
474
- "additionalProperties": false,
475
- "properties": {
476
- "progress": {
477
- "type": "object",
478
- "properties": {
479
- "weight": {
480
- "type": "number"
481
- },
482
- "caption": {
483
- "type": "string"
484
- }
485
- },
486
- "additionalProperties": false
487
- },
488
- "step": {
489
- "type": "string",
490
- "const": "defineSiteUrl"
491
- },
492
- "siteUrl": {
493
- "type": "string",
494
- "description": "The URL"
495
- }
496
- },
497
- "required": ["siteUrl", "step"]
498
- },
499
- {
500
- "type": "object",
501
- "additionalProperties": false,
502
- "properties": {
503
- "progress": {
504
- "type": "object",
505
- "properties": {
506
- "weight": {
507
- "type": "number"
508
- },
509
- "caption": {
510
- "type": "string"
511
- }
512
- },
513
- "additionalProperties": false
514
- },
515
- "step": {
516
- "type": "string",
517
- "const": "enableMultisite"
518
- }
519
- },
520
- "required": ["step"]
521
- },
522
- {
523
- "type": "object",
524
- "additionalProperties": false,
525
- "properties": {
526
- "progress": {
527
- "type": "object",
528
- "properties": {
529
- "weight": {
530
- "type": "number"
531
- },
532
- "caption": {
533
- "type": "string"
534
- }
535
- },
536
- "additionalProperties": false
537
- },
538
- "step": {
539
- "type": "string",
540
- "const": "importWxr"
541
- },
542
- "file": {
543
- "$ref": "#/definitions/FileReference",
544
- "description": "The file to import"
545
- }
546
- },
547
- "required": ["file", "step"]
548
- },
549
- {
550
- "type": "object",
551
- "additionalProperties": false,
552
- "properties": {
553
- "progress": {
554
- "type": "object",
555
- "properties": {
556
- "weight": {
557
- "type": "number"
558
- },
559
- "caption": {
560
- "type": "string"
561
- }
562
- },
563
- "additionalProperties": false
564
- },
565
- "step": {
566
- "type": "string",
567
- "const": "importWordPressFiles"
568
- },
569
- "wordPressFilesZip": {
570
- "$ref": "#/definitions/FileReference",
571
- "description": "The zip file containing the top-level WordPress files and directories."
572
- },
573
- "pathInZip": {
574
- "type": "string",
575
- "description": "The path inside the zip file where the WordPress files are."
576
- }
577
- },
578
- "required": ["step", "wordPressFilesZip"]
579
- },
580
- {
581
- "type": "object",
582
- "additionalProperties": false,
583
- "properties": {
584
- "progress": {
585
- "type": "object",
586
- "properties": {
587
- "weight": {
588
- "type": "number"
589
- },
590
- "caption": {
591
- "type": "string"
592
- }
593
- },
594
- "additionalProperties": false
595
- },
596
- "ifAlreadyInstalled": {
597
- "type": "string",
598
- "enum": ["overwrite", "skip", "error"],
599
- "description": "What to do if the asset already exists."
600
- },
601
- "step": {
602
- "type": "string",
603
- "const": "installPlugin",
604
- "description": "The step identifier."
605
- },
606
- "pluginZipFile": {
607
- "$ref": "#/definitions/FileReference",
608
- "description": "The plugin zip file to install."
609
- },
610
- "options": {
611
- "$ref": "#/definitions/InstallPluginOptions",
612
- "description": "Optional installation options."
613
- }
614
- },
615
- "required": ["pluginZipFile", "step"]
616
- },
617
- {
618
- "type": "object",
619
- "additionalProperties": false,
620
- "properties": {
621
- "progress": {
622
- "type": "object",
623
- "properties": {
624
- "weight": {
625
- "type": "number"
626
- },
627
- "caption": {
628
- "type": "string"
629
- }
630
- },
631
- "additionalProperties": false
632
- },
633
- "ifAlreadyInstalled": {
634
- "type": "string",
635
- "enum": ["overwrite", "skip", "error"],
636
- "description": "What to do if the asset already exists."
637
- },
638
- "step": {
639
- "type": "string",
640
- "const": "installTheme",
641
- "description": "The step identifier."
642
- },
643
- "themeZipFile": {
644
- "$ref": "#/definitions/FileReference",
645
- "description": "The theme zip file to install."
646
- },
647
- "options": {
648
- "type": "object",
649
- "properties": {
650
- "activate": {
651
- "type": "boolean",
652
- "description": "Whether to activate the theme after installing it."
653
- }
654
- },
655
- "additionalProperties": false,
656
- "description": "Optional installation options."
657
- }
658
- },
659
- "required": ["step", "themeZipFile"]
660
- },
661
- {
662
- "type": "object",
663
- "additionalProperties": false,
664
- "properties": {
665
- "progress": {
666
- "type": "object",
667
- "properties": {
668
- "weight": {
669
- "type": "number"
670
- },
671
- "caption": {
672
- "type": "string"
673
- }
674
- },
675
- "additionalProperties": false
676
- },
677
- "step": {
678
- "type": "string",
679
- "const": "login"
680
- },
681
- "username": {
682
- "type": "string",
683
- "description": "The user to log in as. Defaults to 'admin'."
684
- },
685
- "password": {
686
- "type": "string",
687
- "description": "The password to log in with. Defaults to 'password'."
688
- }
689
- },
690
- "required": ["step"]
691
- },
692
- {
693
- "type": "object",
694
- "additionalProperties": false,
695
- "properties": {
696
- "progress": {
697
- "type": "object",
698
- "properties": {
699
- "weight": {
700
- "type": "number"
701
- },
702
- "caption": {
703
- "type": "string"
704
- }
705
- },
706
- "additionalProperties": false
707
- },
708
- "step": {
709
- "type": "string",
710
- "const": "mkdir"
711
- },
712
- "path": {
713
- "type": "string",
714
- "description": "The path of the directory you want to create"
715
- }
716
- },
717
- "required": ["path", "step"]
718
- },
719
- {
720
- "type": "object",
721
- "additionalProperties": false,
722
- "properties": {
723
- "progress": {
724
- "type": "object",
725
- "properties": {
726
- "weight": {
727
- "type": "number"
728
- },
729
- "caption": {
730
- "type": "string"
731
- }
732
- },
733
- "additionalProperties": false
734
- },
735
- "step": {
736
- "type": "string",
737
- "const": "mv"
738
- },
739
- "fromPath": {
740
- "type": "string",
741
- "description": "Source path"
742
- },
743
- "toPath": {
744
- "type": "string",
745
- "description": "Target path"
746
- }
747
- },
748
- "required": ["fromPath", "step", "toPath"]
749
- },
750
- {
751
- "type": "object",
752
- "additionalProperties": false,
753
- "properties": {
754
- "progress": {
755
- "type": "object",
756
- "properties": {
757
- "weight": {
758
- "type": "number"
759
- },
760
- "caption": {
761
- "type": "string"
762
- }
763
- },
764
- "additionalProperties": false
765
- },
766
- "step": {
767
- "type": "string",
768
- "const": "request"
769
- },
770
- "request": {
771
- "$ref": "#/definitions/PHPRequest",
772
- "description": "Request details (See /wordpress-playground/api/universal/interface/PHPRequest)"
773
- }
774
- },
775
- "required": ["request", "step"]
776
- },
777
- {
778
- "type": "object",
779
- "additionalProperties": false,
780
- "properties": {
781
- "progress": {
782
- "type": "object",
783
- "properties": {
784
- "weight": {
785
- "type": "number"
786
- },
787
- "caption": {
788
- "type": "string"
789
- }
790
- },
791
- "additionalProperties": false
792
- },
793
- "step": {
794
- "type": "string",
795
- "const": "rm"
796
- },
797
- "path": {
798
- "type": "string",
799
- "description": "The path to remove"
800
- }
801
- },
802
- "required": ["path", "step"]
803
- },
804
- {
805
- "type": "object",
806
- "additionalProperties": false,
807
- "properties": {
808
- "progress": {
809
- "type": "object",
810
- "properties": {
811
- "weight": {
812
- "type": "number"
813
- },
814
- "caption": {
815
- "type": "string"
816
- }
817
- },
818
- "additionalProperties": false
819
- },
820
- "step": {
821
- "type": "string",
822
- "const": "rmdir"
823
- },
824
- "path": {
825
- "type": "string",
826
- "description": "The path to remove"
827
- }
828
- },
829
- "required": ["path", "step"]
830
- },
831
- {
832
- "type": "object",
833
- "additionalProperties": false,
834
- "properties": {
835
- "progress": {
836
- "type": "object",
837
- "properties": {
838
- "weight": {
839
- "type": "number"
840
- },
841
- "caption": {
842
- "type": "string"
843
- }
844
- },
845
- "additionalProperties": false
846
- },
847
- "step": {
848
- "type": "string",
849
- "const": "runPHP",
850
- "description": "The step identifier."
851
- },
852
- "code": {
853
- "type": "string",
854
- "description": "The PHP code to run."
855
- }
856
- },
857
- "required": ["code", "step"]
858
- },
859
- {
860
- "type": "object",
861
- "additionalProperties": false,
862
- "properties": {
863
- "progress": {
864
- "type": "object",
865
- "properties": {
866
- "weight": {
867
- "type": "number"
868
- },
869
- "caption": {
870
- "type": "string"
871
- }
872
- },
873
- "additionalProperties": false
874
- },
875
- "step": {
876
- "type": "string",
877
- "const": "runPHPWithOptions"
878
- },
879
- "options": {
880
- "$ref": "#/definitions/PHPRunOptions",
881
- "description": "Run options (See /wordpress-playground/api/universal/interface/PHPRunOptions)"
882
- }
883
- },
884
- "required": ["options", "step"]
885
- },
886
- {
887
- "type": "object",
888
- "additionalProperties": false,
889
- "properties": {
890
- "progress": {
891
- "type": "object",
892
- "properties": {
893
- "weight": {
894
- "type": "number"
895
- },
896
- "caption": {
897
- "type": "string"
898
- }
899
- },
900
- "additionalProperties": false
901
- },
902
- "step": {
903
- "type": "string",
904
- "const": "runWpInstallationWizard"
905
- },
906
- "options": {
907
- "$ref": "#/definitions/WordPressInstallationOptions"
908
- }
909
- },
910
- "required": ["options", "step"]
911
- },
912
- {
913
- "type": "object",
914
- "additionalProperties": false,
915
- "properties": {
916
- "progress": {
917
- "type": "object",
918
- "properties": {
919
- "weight": {
920
- "type": "number"
921
- },
922
- "caption": {
923
- "type": "string"
924
- }
925
- },
926
- "additionalProperties": false
927
- },
928
- "step": {
929
- "type": "string",
930
- "const": "runSql",
931
- "description": "The step identifier."
932
- },
933
- "sql": {
934
- "$ref": "#/definitions/FileReference",
935
- "description": "The SQL to run. Each non-empty line must contain a valid SQL query."
936
- }
937
- },
938
- "required": ["sql", "step"]
939
- },
940
- {
941
- "type": "object",
942
- "additionalProperties": false,
943
- "properties": {
944
- "progress": {
945
- "type": "object",
946
- "properties": {
947
- "weight": {
948
- "type": "number"
949
- },
950
- "caption": {
951
- "type": "string"
952
- }
953
- },
954
- "additionalProperties": false
955
- },
956
- "step": {
957
- "type": "string",
958
- "const": "setPhpIniEntry"
959
- },
960
- "key": {
961
- "type": "string",
962
- "description": "Entry name e.g. \"display_errors\""
963
- },
964
- "value": {
965
- "type": "string",
966
- "description": "Entry value as a string e.g. \"1\""
967
- }
968
- },
969
- "required": ["key", "step", "value"]
970
- },
971
- {
972
- "type": "object",
973
- "additionalProperties": false,
974
- "properties": {
975
- "progress": {
976
- "type": "object",
977
- "properties": {
978
- "weight": {
979
- "type": "number"
980
- },
981
- "caption": {
982
- "type": "string"
983
- }
984
- },
985
- "additionalProperties": false
986
- },
987
- "step": {
988
- "type": "string",
989
- "const": "setSiteOptions",
990
- "description": "The name of the step. Must be \"setSiteOptions\"."
991
- },
992
- "options": {
993
- "type": "object",
994
- "additionalProperties": {},
995
- "description": "The options to set on the site."
996
- }
997
- },
998
- "required": ["options", "step"]
999
- },
1000
- {
1001
- "type": "object",
1002
- "additionalProperties": false,
1003
- "properties": {
1004
- "progress": {
1005
- "type": "object",
1006
- "properties": {
1007
- "weight": {
1008
- "type": "number"
1009
- },
1010
- "caption": {
1011
- "type": "string"
1012
- }
1013
- },
1014
- "additionalProperties": false
1015
- },
1016
- "step": {
1017
- "type": "string",
1018
- "const": "unzip"
1019
- },
1020
- "zipFile": {
1021
- "$ref": "#/definitions/FileReference",
1022
- "description": "The zip file to extract"
1023
- },
1024
- "zipPath": {
1025
- "type": "string",
1026
- "description": "The path of the zip file to extract",
1027
- "deprecated": "Use zipFile instead."
1028
- },
1029
- "extractToPath": {
1030
- "type": "string",
1031
- "description": "The path to extract the zip file to"
1032
- }
1033
- },
1034
- "required": ["extractToPath", "step"]
1035
- },
1036
- {
1037
- "type": "object",
1038
- "additionalProperties": false,
1039
- "properties": {
1040
- "progress": {
1041
- "type": "object",
1042
- "properties": {
1043
- "weight": {
1044
- "type": "number"
1045
- },
1046
- "caption": {
1047
- "type": "string"
1048
- }
1049
- },
1050
- "additionalProperties": false
1051
- },
1052
- "step": {
1053
- "type": "string",
1054
- "const": "updateUserMeta"
1055
- },
1056
- "meta": {
1057
- "type": "object",
1058
- "additionalProperties": {},
1059
- "description": "An object of user meta values to set, e.g. { \"first_name\": \"John\" }"
1060
- },
1061
- "userId": {
1062
- "type": "number",
1063
- "description": "User ID"
1064
- }
1065
- },
1066
- "required": ["meta", "step", "userId"]
1067
- },
1068
- {
1069
- "type": "object",
1070
- "additionalProperties": false,
1071
- "properties": {
1072
- "progress": {
1073
- "type": "object",
1074
- "properties": {
1075
- "weight": {
1076
- "type": "number"
1077
- },
1078
- "caption": {
1079
- "type": "string"
1080
- }
1081
- },
1082
- "additionalProperties": false
1083
- },
1084
- "step": {
1085
- "type": "string",
1086
- "const": "writeFile"
1087
- },
1088
- "path": {
1089
- "type": "string",
1090
- "description": "The path of the file to write to"
1091
- },
1092
- "data": {
1093
- "anyOf": [
1094
- {
1095
- "$ref": "#/definitions/FileReference"
1096
- },
1097
- {
1098
- "type": "string"
1099
- },
1100
- {
1101
- "type": "object",
1102
- "properties": {
1103
- "BYTES_PER_ELEMENT": {
1104
- "type": "number"
1105
- },
1106
- "buffer": {
1107
- "type": "object",
1108
- "properties": {
1109
- "byteLength": {
1110
- "type": "number"
1111
- }
1112
- },
1113
- "required": ["byteLength"],
1114
- "additionalProperties": false
1115
- },
1116
- "byteLength": {
1117
- "type": "number"
1118
- },
1119
- "byteOffset": {
1120
- "type": "number"
1121
- },
1122
- "length": {
1123
- "type": "number"
1124
- }
1125
- },
1126
- "required": [
1127
- "BYTES_PER_ELEMENT",
1128
- "buffer",
1129
- "byteLength",
1130
- "byteOffset",
1131
- "length"
1132
- ],
1133
- "additionalProperties": {
1134
- "type": "number"
1135
- }
1136
- }
1137
- ],
1138
- "description": "The data to write"
1139
- }
1140
- },
1141
- "required": ["data", "path", "step"]
1142
- },
1143
- {
1144
- "type": "object",
1145
- "additionalProperties": false,
1146
- "properties": {
1147
- "progress": {
1148
- "type": "object",
1149
- "properties": {
1150
- "weight": {
1151
- "type": "number"
1152
- },
1153
- "caption": {
1154
- "type": "string"
1155
- }
1156
- },
1157
- "additionalProperties": false
1158
- },
1159
- "step": {
1160
- "type": "string",
1161
- "const": "wp-cli",
1162
- "description": "The step identifier."
1163
- },
1164
- "command": {
1165
- "anyOf": [
1166
- {
1167
- "type": "string"
1168
- },
1169
- {
1170
- "type": "array",
1171
- "items": {
1172
- "type": "string"
1173
- }
1174
- }
1175
- ],
1176
- "description": "The WP CLI command to run."
1177
- },
1178
- "wpCliPath": {
1179
- "type": "string",
1180
- "description": "wp-cli.phar path"
1181
- }
1182
- },
1183
- "required": ["command", "step"]
1184
- }
1185
- ]
1186
- },
1187
- "InstallPluginOptions": {
1188
- "type": "object",
1189
- "properties": {
1190
- "activate": {
1191
- "type": "boolean",
1192
- "description": "Whether to activate the plugin after installing it."
1193
- }
1194
- },
1195
- "additionalProperties": false
1196
- },
1197
- "PHPRequest": {
1198
- "type": "object",
1199
- "properties": {
1200
- "method": {
1201
- "$ref": "#/definitions/HTTPMethod",
1202
- "description": "Request method. Default: `GET`."
1203
- },
1204
- "url": {
1205
- "type": "string",
1206
- "description": "Request path or absolute URL."
1207
- },
1208
- "headers": {
1209
- "$ref": "#/definitions/PHPRequestHeaders",
1210
- "description": "Request headers."
1211
- },
1212
- "body": {
1213
- "anyOf": [
1214
- {
1215
- "type": "string"
1216
- },
1217
- {
1218
- "type": "object",
1219
- "properties": {
1220
- "BYTES_PER_ELEMENT": {
1221
- "type": "number"
1222
- },
1223
- "buffer": {
1224
- "type": "object",
1225
- "properties": {
1226
- "byteLength": {
1227
- "type": "number"
1228
- }
1229
- },
1230
- "required": ["byteLength"],
1231
- "additionalProperties": false
1232
- },
1233
- "byteLength": {
1234
- "type": "number"
1235
- },
1236
- "byteOffset": {
1237
- "type": "number"
1238
- },
1239
- "length": {
1240
- "type": "number"
1241
- }
1242
- },
1243
- "required": [
1244
- "BYTES_PER_ELEMENT",
1245
- "buffer",
1246
- "byteLength",
1247
- "byteOffset",
1248
- "length"
1249
- ],
1250
- "additionalProperties": {
1251
- "type": "number"
1252
- }
1253
- },
1254
- {
1255
- "type": "object",
1256
- "additionalProperties": {
1257
- "anyOf": [
1258
- {
1259
- "type": "string"
1260
- },
1261
- {
1262
- "type": "object",
1263
- "properties": {
1264
- "BYTES_PER_ELEMENT": {
1265
- "type": "number"
1266
- },
1267
- "buffer": {
1268
- "type": "object",
1269
- "properties": {
1270
- "byteLength": {
1271
- "type": "number"
1272
- }
1273
- },
1274
- "required": ["byteLength"],
1275
- "additionalProperties": false
1276
- },
1277
- "byteLength": {
1278
- "type": "number"
1279
- },
1280
- "byteOffset": {
1281
- "type": "number"
1282
- },
1283
- "length": {
1284
- "type": "number"
1285
- }
1286
- },
1287
- "required": [
1288
- "BYTES_PER_ELEMENT",
1289
- "buffer",
1290
- "byteLength",
1291
- "byteOffset",
1292
- "length"
1293
- ],
1294
- "additionalProperties": {
1295
- "type": "number"
1296
- }
1297
- },
1298
- {
1299
- "type": "object",
1300
- "properties": {
1301
- "size": {
1302
- "type": "number"
1303
- },
1304
- "type": {
1305
- "type": "string"
1306
- },
1307
- "lastModified": {
1308
- "type": "number"
1309
- },
1310
- "name": {
1311
- "type": "string"
1312
- },
1313
- "webkitRelativePath": {
1314
- "type": "string"
1315
- }
1316
- },
1317
- "required": [
1318
- "lastModified",
1319
- "name",
1320
- "size",
1321
- "type",
1322
- "webkitRelativePath"
1323
- ],
1324
- "additionalProperties": false
1325
- }
1326
- ]
1327
- }
1328
- }
1329
- ],
1330
- "description": "Request body. If an object is given, the request will be encoded as multipart and sent with a `multipart/form-data` header."
1331
- }
1332
- },
1333
- "required": ["url"],
1334
- "additionalProperties": false
1335
- },
1336
- "HTTPMethod": {
1337
- "type": "string",
1338
- "enum": ["GET", "POST", "HEAD", "OPTIONS", "PATCH", "PUT", "DELETE"]
1339
- },
1340
- "PHPRequestHeaders": {
1341
- "type": "object",
1342
- "additionalProperties": {
1343
- "type": "string"
1344
- }
1345
- },
1346
- "PHPRunOptions": {
1347
- "type": "object",
1348
- "properties": {
1349
- "relativeUri": {
1350
- "type": "string",
1351
- "description": "Request path following the domain:port part."
1352
- },
1353
- "scriptPath": {
1354
- "type": "string",
1355
- "description": "Path of the .php file to execute."
1356
- },
1357
- "protocol": {
1358
- "type": "string",
1359
- "description": "Request protocol."
1360
- },
1361
- "method": {
1362
- "$ref": "#/definitions/HTTPMethod",
1363
- "description": "Request method. Default: `GET`."
1364
- },
1365
- "headers": {
1366
- "$ref": "#/definitions/PHPRequestHeaders",
1367
- "description": "Request headers."
1368
- },
1369
- "body": {
1370
- "anyOf": [
1371
- {
1372
- "type": "string"
1373
- },
1374
- {
1375
- "type": "object",
1376
- "properties": {
1377
- "BYTES_PER_ELEMENT": {
1378
- "type": "number"
1379
- },
1380
- "buffer": {
1381
- "type": "object",
1382
- "properties": {
1383
- "byteLength": {
1384
- "type": "number"
1385
- }
1386
- },
1387
- "required": ["byteLength"],
1388
- "additionalProperties": false
1389
- },
1390
- "byteLength": {
1391
- "type": "number"
1392
- },
1393
- "byteOffset": {
1394
- "type": "number"
1395
- },
1396
- "length": {
1397
- "type": "number"
1398
- }
1399
- },
1400
- "required": [
1401
- "BYTES_PER_ELEMENT",
1402
- "buffer",
1403
- "byteLength",
1404
- "byteOffset",
1405
- "length"
1406
- ],
1407
- "additionalProperties": {
1408
- "type": "number"
1409
- }
1410
- }
1411
- ],
1412
- "description": "Request body."
1413
- },
1414
- "env": {
1415
- "type": "object",
1416
- "additionalProperties": {
1417
- "type": "string"
1418
- },
1419
- "description": "Environment variables to set for this run."
1420
- },
1421
- "code": {
1422
- "type": "string",
1423
- "description": "The code snippet to eval instead of a php file."
1424
- }
1425
- },
1426
- "additionalProperties": false
1427
- },
1428
- "WordPressInstallationOptions": {
1429
- "type": "object",
1430
- "properties": {
1431
- "adminUsername": {
1432
- "type": "string"
1433
- },
1434
- "adminPassword": {
1435
- "type": "string"
1436
- }
1437
- },
1438
- "additionalProperties": false
1439
- }
1440
- }
1441
- }
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$ref": "#/definitions/Blueprint",
4
+ "definitions": {
5
+ "Blueprint": {
6
+ "type": "object",
7
+ "properties": {
8
+ "landingPage": {
9
+ "type": "string",
10
+ "description": "The URL to navigate to after the blueprint has been run."
11
+ },
12
+ "description": {
13
+ "type": "string",
14
+ "description": "Optional description. It doesn't do anything but is exposed as a courtesy to developers who may want to document which blueprint file does what.",
15
+ "deprecated": "Use meta.description instead."
16
+ },
17
+ "meta": {
18
+ "type": "object",
19
+ "properties": {
20
+ "title": {
21
+ "type": "string",
22
+ "description": "A clear and concise name for your Blueprint."
23
+ },
24
+ "description": {
25
+ "type": "string",
26
+ "description": "A brief explanation of what your Blueprint offers."
27
+ },
28
+ "author": {
29
+ "type": "string",
30
+ "description": "A GitHub username of the author of this Blueprint."
31
+ },
32
+ "categories": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string"
36
+ },
37
+ "description": "Relevant categories to help users find your Blueprint in the future Blueprints section on WordPress.org."
38
+ }
39
+ },
40
+ "required": [
41
+ "title",
42
+ "author"
43
+ ],
44
+ "additionalProperties": false,
45
+ "description": "Optional metadata. Used by the Blueprints gallery at https://github.com/WordPress/blueprints"
46
+ },
47
+ "preferredVersions": {
48
+ "type": "object",
49
+ "properties": {
50
+ "php": {
51
+ "anyOf": [
52
+ {
53
+ "$ref": "#/definitions/SupportedPHPVersion"
54
+ },
55
+ {
56
+ "type": "string",
57
+ "const": "latest"
58
+ }
59
+ ],
60
+ "description": "The preferred PHP version to use. If not specified, the latest supported version will be used"
61
+ },
62
+ "wp": {
63
+ "type": "string",
64
+ "description": "The preferred WordPress version to use. If not specified, the latest supported version will be used"
65
+ }
66
+ },
67
+ "required": [
68
+ "php",
69
+ "wp"
70
+ ],
71
+ "additionalProperties": false,
72
+ "description": "The preferred PHP and WordPress versions to use."
73
+ },
74
+ "features": {
75
+ "type": "object",
76
+ "properties": {
77
+ "networking": {
78
+ "type": "boolean",
79
+ "description": "Should boot with support for network request via wp_safe_remote_get?"
80
+ }
81
+ },
82
+ "additionalProperties": false
83
+ },
84
+ "constants": {
85
+ "type": "object",
86
+ "additionalProperties": {
87
+ "type": "string"
88
+ },
89
+ "description": "PHP Constants to define on every request",
90
+ "deprecated": "This experimental option will change without warning.\nUse `steps` instead."
91
+ },
92
+ "plugins": {
93
+ "type": "array",
94
+ "items": {
95
+ "anyOf": [
96
+ {
97
+ "type": "string"
98
+ },
99
+ {
100
+ "$ref": "#/definitions/FileReference"
101
+ }
102
+ ]
103
+ },
104
+ "description": "WordPress plugins to install and activate",
105
+ "deprecated": "This experimental option will change without warning.\nUse `steps` instead."
106
+ },
107
+ "siteOptions": {
108
+ "type": "object",
109
+ "additionalProperties": {
110
+ "type": "string"
111
+ },
112
+ "properties": {
113
+ "blogname": {
114
+ "type": "string",
115
+ "description": "The site title"
116
+ }
117
+ },
118
+ "description": "WordPress site options to define",
119
+ "deprecated": "This experimental option will change without warning.\nUse `steps` instead."
120
+ },
121
+ "login": {
122
+ "anyOf": [
123
+ {
124
+ "type": "boolean"
125
+ },
126
+ {
127
+ "type": "object",
128
+ "properties": {
129
+ "username": {
130
+ "type": "string"
131
+ },
132
+ "password": {
133
+ "type": "string"
134
+ }
135
+ },
136
+ "required": [
137
+ "username",
138
+ "password"
139
+ ],
140
+ "additionalProperties": false
141
+ }
142
+ ],
143
+ "description": "User to log in as. If true, logs the user in as admin/password."
144
+ },
145
+ "phpExtensionBundles": {
146
+ "type": "array",
147
+ "items": {
148
+ "$ref": "#/definitions/SupportedPHPExtensionBundle"
149
+ },
150
+ "description": "The PHP extensions to use."
151
+ },
152
+ "steps": {
153
+ "type": "array",
154
+ "items": {
155
+ "anyOf": [
156
+ {
157
+ "$ref": "#/definitions/StepDefinition"
158
+ },
159
+ {
160
+ "type": "string"
161
+ },
162
+ {
163
+ "not": {}
164
+ },
165
+ {
166
+ "type": "boolean",
167
+ "const": false
168
+ },
169
+ {
170
+ "type": "null"
171
+ }
172
+ ]
173
+ },
174
+ "description": "The steps to run after every other operation in this Blueprint was executed."
175
+ },
176
+ "$schema": {
177
+ "type": "string"
178
+ }
179
+ },
180
+ "additionalProperties": false
181
+ },
182
+ "SupportedPHPVersion": {
183
+ "type": "string",
184
+ "enum": [
185
+ "8.3",
186
+ "8.2",
187
+ "8.1",
188
+ "8.0",
189
+ "7.4",
190
+ "7.3",
191
+ "7.2",
192
+ "7.1",
193
+ "7.0"
194
+ ]
195
+ },
196
+ "FileReference": {
197
+ "anyOf": [
198
+ {
199
+ "$ref": "#/definitions/VFSReference"
200
+ },
201
+ {
202
+ "$ref": "#/definitions/LiteralReference"
203
+ },
204
+ {
205
+ "$ref": "#/definitions/CoreThemeReference"
206
+ },
207
+ {
208
+ "$ref": "#/definitions/CorePluginReference"
209
+ },
210
+ {
211
+ "$ref": "#/definitions/UrlReference"
212
+ }
213
+ ]
214
+ },
215
+ "VFSReference": {
216
+ "type": "object",
217
+ "properties": {
218
+ "resource": {
219
+ "type": "string",
220
+ "const": "vfs",
221
+ "description": "Identifies the file resource as Virtual File System (VFS)"
222
+ },
223
+ "path": {
224
+ "type": "string",
225
+ "description": "The path to the file in the VFS"
226
+ }
227
+ },
228
+ "required": [
229
+ "resource",
230
+ "path"
231
+ ],
232
+ "additionalProperties": false
233
+ },
234
+ "LiteralReference": {
235
+ "type": "object",
236
+ "properties": {
237
+ "resource": {
238
+ "type": "string",
239
+ "const": "literal",
240
+ "description": "Identifies the file resource as a literal file"
241
+ },
242
+ "name": {
243
+ "type": "string",
244
+ "description": "The name of the file"
245
+ },
246
+ "contents": {
247
+ "anyOf": [
248
+ {
249
+ "type": "string"
250
+ },
251
+ {
252
+ "type": "object",
253
+ "properties": {
254
+ "BYTES_PER_ELEMENT": {
255
+ "type": "number"
256
+ },
257
+ "buffer": {
258
+ "type": "object",
259
+ "properties": {
260
+ "byteLength": {
261
+ "type": "number"
262
+ }
263
+ },
264
+ "required": [
265
+ "byteLength"
266
+ ],
267
+ "additionalProperties": false
268
+ },
269
+ "byteLength": {
270
+ "type": "number"
271
+ },
272
+ "byteOffset": {
273
+ "type": "number"
274
+ },
275
+ "length": {
276
+ "type": "number"
277
+ }
278
+ },
279
+ "required": [
280
+ "BYTES_PER_ELEMENT",
281
+ "buffer",
282
+ "byteLength",
283
+ "byteOffset",
284
+ "length"
285
+ ],
286
+ "additionalProperties": {
287
+ "type": "number"
288
+ }
289
+ }
290
+ ],
291
+ "description": "The contents of the file"
292
+ }
293
+ },
294
+ "required": [
295
+ "resource",
296
+ "name",
297
+ "contents"
298
+ ],
299
+ "additionalProperties": false
300
+ },
301
+ "CoreThemeReference": {
302
+ "type": "object",
303
+ "properties": {
304
+ "resource": {
305
+ "type": "string",
306
+ "const": "wordpress.org/themes",
307
+ "description": "Identifies the file resource as a WordPress Core theme"
308
+ },
309
+ "slug": {
310
+ "type": "string",
311
+ "description": "The slug of the WordPress Core theme"
312
+ }
313
+ },
314
+ "required": [
315
+ "resource",
316
+ "slug"
317
+ ],
318
+ "additionalProperties": false
319
+ },
320
+ "CorePluginReference": {
321
+ "type": "object",
322
+ "properties": {
323
+ "resource": {
324
+ "type": "string",
325
+ "const": "wordpress.org/plugins",
326
+ "description": "Identifies the file resource as a WordPress Core plugin"
327
+ },
328
+ "slug": {
329
+ "type": "string",
330
+ "description": "The slug of the WordPress Core plugin"
331
+ }
332
+ },
333
+ "required": [
334
+ "resource",
335
+ "slug"
336
+ ],
337
+ "additionalProperties": false
338
+ },
339
+ "UrlReference": {
340
+ "type": "object",
341
+ "properties": {
342
+ "resource": {
343
+ "type": "string",
344
+ "const": "url",
345
+ "description": "Identifies the file resource as a URL"
346
+ },
347
+ "url": {
348
+ "type": "string",
349
+ "description": "The URL of the file"
350
+ },
351
+ "caption": {
352
+ "type": "string",
353
+ "description": "Optional caption for displaying a progress message"
354
+ }
355
+ },
356
+ "required": [
357
+ "resource",
358
+ "url"
359
+ ],
360
+ "additionalProperties": false
361
+ },
362
+ "SupportedPHPExtensionBundle": {
363
+ "type": "string",
364
+ "enum": [
365
+ "kitchen-sink",
366
+ "light"
367
+ ]
368
+ },
369
+ "StepDefinition": {
370
+ "type": "object",
371
+ "discriminator": {
372
+ "propertyName": "step"
373
+ },
374
+ "required": [
375
+ "step"
376
+ ],
377
+ "oneOf": [
378
+ {
379
+ "type": "object",
380
+ "additionalProperties": false,
381
+ "properties": {
382
+ "progress": {
383
+ "type": "object",
384
+ "properties": {
385
+ "weight": {
386
+ "type": "number"
387
+ },
388
+ "caption": {
389
+ "type": "string"
390
+ }
391
+ },
392
+ "additionalProperties": false
393
+ },
394
+ "step": {
395
+ "type": "string",
396
+ "const": "activatePlugin"
397
+ },
398
+ "pluginPath": {
399
+ "type": "string",
400
+ "description": "Path to the plugin directory as absolute path (/wordpress/wp-content/plugins/plugin-name); or the plugin entry file relative to the plugins directory (plugin-name/plugin-name.php)."
401
+ },
402
+ "pluginName": {
403
+ "type": "string",
404
+ "description": "Optional. Plugin name to display in the progress bar."
405
+ }
406
+ },
407
+ "required": [
408
+ "pluginPath",
409
+ "step"
410
+ ]
411
+ },
412
+ {
413
+ "type": "object",
414
+ "additionalProperties": false,
415
+ "properties": {
416
+ "progress": {
417
+ "type": "object",
418
+ "properties": {
419
+ "weight": {
420
+ "type": "number"
421
+ },
422
+ "caption": {
423
+ "type": "string"
424
+ }
425
+ },
426
+ "additionalProperties": false
427
+ },
428
+ "step": {
429
+ "type": "string",
430
+ "const": "activateTheme"
431
+ },
432
+ "themeFolderName": {
433
+ "type": "string",
434
+ "description": "The name of the theme folder inside wp-content/themes/"
435
+ }
436
+ },
437
+ "required": [
438
+ "step",
439
+ "themeFolderName"
440
+ ]
441
+ },
442
+ {
443
+ "type": "object",
444
+ "additionalProperties": false,
445
+ "properties": {
446
+ "progress": {
447
+ "type": "object",
448
+ "properties": {
449
+ "weight": {
450
+ "type": "number"
451
+ },
452
+ "caption": {
453
+ "type": "string"
454
+ }
455
+ },
456
+ "additionalProperties": false
457
+ },
458
+ "step": {
459
+ "type": "string",
460
+ "const": "cp"
461
+ },
462
+ "fromPath": {
463
+ "type": "string",
464
+ "description": "Source path"
465
+ },
466
+ "toPath": {
467
+ "type": "string",
468
+ "description": "Target path"
469
+ }
470
+ },
471
+ "required": [
472
+ "fromPath",
473
+ "step",
474
+ "toPath"
475
+ ]
476
+ },
477
+ {
478
+ "type": "object",
479
+ "additionalProperties": false,
480
+ "properties": {
481
+ "progress": {
482
+ "type": "object",
483
+ "properties": {
484
+ "weight": {
485
+ "type": "number"
486
+ },
487
+ "caption": {
488
+ "type": "string"
489
+ }
490
+ },
491
+ "additionalProperties": false
492
+ },
493
+ "step": {
494
+ "type": "string",
495
+ "const": "defineWpConfigConsts"
496
+ },
497
+ "consts": {
498
+ "type": "object",
499
+ "additionalProperties": {},
500
+ "description": "The constants to define"
501
+ },
502
+ "method": {
503
+ "type": "string",
504
+ "enum": [
505
+ "rewrite-wp-config",
506
+ "define-before-run"
507
+ ],
508
+ "description": "The method of defining the constants. Possible values are:\n\n- rewrite-wp-config: Default. Rewrites the wp-config.php file to explicitly call define() with the requested name and value. This method alters the file on the disk, but it doesn't conflict with existing define() calls in wp-config.php.\n- define-before-run: Defines the constant before running the requested script. It doesn't alter any files on the disk, but constants defined this way may conflict with existing define() calls in wp-config.php."
509
+ },
510
+ "virtualize": {
511
+ "type": "boolean",
512
+ "deprecated": "This option is noop and will be removed in a future version.\nThis option is only kept in here to avoid breaking Blueprint schema validation\nfor existing apps using this option."
513
+ }
514
+ },
515
+ "required": [
516
+ "consts",
517
+ "step"
518
+ ]
519
+ },
520
+ {
521
+ "type": "object",
522
+ "additionalProperties": false,
523
+ "properties": {
524
+ "progress": {
525
+ "type": "object",
526
+ "properties": {
527
+ "weight": {
528
+ "type": "number"
529
+ },
530
+ "caption": {
531
+ "type": "string"
532
+ }
533
+ },
534
+ "additionalProperties": false
535
+ },
536
+ "step": {
537
+ "type": "string",
538
+ "const": "defineSiteUrl"
539
+ },
540
+ "siteUrl": {
541
+ "type": "string",
542
+ "description": "The URL"
543
+ }
544
+ },
545
+ "required": [
546
+ "siteUrl",
547
+ "step"
548
+ ]
549
+ },
550
+ {
551
+ "type": "object",
552
+ "additionalProperties": false,
553
+ "properties": {
554
+ "progress": {
555
+ "type": "object",
556
+ "properties": {
557
+ "weight": {
558
+ "type": "number"
559
+ },
560
+ "caption": {
561
+ "type": "string"
562
+ }
563
+ },
564
+ "additionalProperties": false
565
+ },
566
+ "step": {
567
+ "type": "string",
568
+ "const": "enableMultisite"
569
+ }
570
+ },
571
+ "required": [
572
+ "step"
573
+ ]
574
+ },
575
+ {
576
+ "type": "object",
577
+ "additionalProperties": false,
578
+ "properties": {
579
+ "progress": {
580
+ "type": "object",
581
+ "properties": {
582
+ "weight": {
583
+ "type": "number"
584
+ },
585
+ "caption": {
586
+ "type": "string"
587
+ }
588
+ },
589
+ "additionalProperties": false
590
+ },
591
+ "step": {
592
+ "type": "string",
593
+ "const": "importWxr"
594
+ },
595
+ "file": {
596
+ "$ref": "#/definitions/FileReference",
597
+ "description": "The file to import"
598
+ }
599
+ },
600
+ "required": [
601
+ "file",
602
+ "step"
603
+ ]
604
+ },
605
+ {
606
+ "type": "object",
607
+ "additionalProperties": false,
608
+ "properties": {
609
+ "progress": {
610
+ "type": "object",
611
+ "properties": {
612
+ "weight": {
613
+ "type": "number"
614
+ },
615
+ "caption": {
616
+ "type": "string"
617
+ }
618
+ },
619
+ "additionalProperties": false
620
+ },
621
+ "step": {
622
+ "type": "string",
623
+ "const": "importWordPressFiles"
624
+ },
625
+ "wordPressFilesZip": {
626
+ "$ref": "#/definitions/FileReference",
627
+ "description": "The zip file containing the top-level WordPress files and directories."
628
+ },
629
+ "pathInZip": {
630
+ "type": "string",
631
+ "description": "The path inside the zip file where the WordPress files are."
632
+ }
633
+ },
634
+ "required": [
635
+ "step",
636
+ "wordPressFilesZip"
637
+ ]
638
+ },
639
+ {
640
+ "type": "object",
641
+ "additionalProperties": false,
642
+ "properties": {
643
+ "progress": {
644
+ "type": "object",
645
+ "properties": {
646
+ "weight": {
647
+ "type": "number"
648
+ },
649
+ "caption": {
650
+ "type": "string"
651
+ }
652
+ },
653
+ "additionalProperties": false
654
+ },
655
+ "ifAlreadyInstalled": {
656
+ "type": "string",
657
+ "enum": [
658
+ "overwrite",
659
+ "skip",
660
+ "error"
661
+ ],
662
+ "description": "What to do if the asset already exists."
663
+ },
664
+ "step": {
665
+ "type": "string",
666
+ "const": "installPlugin",
667
+ "description": "The step identifier."
668
+ },
669
+ "pluginZipFile": {
670
+ "$ref": "#/definitions/FileReference",
671
+ "description": "The plugin zip file to install."
672
+ },
673
+ "options": {
674
+ "$ref": "#/definitions/InstallPluginOptions",
675
+ "description": "Optional installation options."
676
+ }
677
+ },
678
+ "required": [
679
+ "pluginZipFile",
680
+ "step"
681
+ ]
682
+ },
683
+ {
684
+ "type": "object",
685
+ "additionalProperties": false,
686
+ "properties": {
687
+ "progress": {
688
+ "type": "object",
689
+ "properties": {
690
+ "weight": {
691
+ "type": "number"
692
+ },
693
+ "caption": {
694
+ "type": "string"
695
+ }
696
+ },
697
+ "additionalProperties": false
698
+ },
699
+ "ifAlreadyInstalled": {
700
+ "type": "string",
701
+ "enum": [
702
+ "overwrite",
703
+ "skip",
704
+ "error"
705
+ ],
706
+ "description": "What to do if the asset already exists."
707
+ },
708
+ "step": {
709
+ "type": "string",
710
+ "const": "installTheme",
711
+ "description": "The step identifier."
712
+ },
713
+ "themeZipFile": {
714
+ "$ref": "#/definitions/FileReference",
715
+ "description": "The theme zip file to install."
716
+ },
717
+ "options": {
718
+ "type": "object",
719
+ "properties": {
720
+ "activate": {
721
+ "type": "boolean",
722
+ "description": "Whether to activate the theme after installing it."
723
+ }
724
+ },
725
+ "additionalProperties": false,
726
+ "description": "Optional installation options."
727
+ }
728
+ },
729
+ "required": [
730
+ "step",
731
+ "themeZipFile"
732
+ ]
733
+ },
734
+ {
735
+ "type": "object",
736
+ "additionalProperties": false,
737
+ "properties": {
738
+ "progress": {
739
+ "type": "object",
740
+ "properties": {
741
+ "weight": {
742
+ "type": "number"
743
+ },
744
+ "caption": {
745
+ "type": "string"
746
+ }
747
+ },
748
+ "additionalProperties": false
749
+ },
750
+ "step": {
751
+ "type": "string",
752
+ "const": "login"
753
+ },
754
+ "username": {
755
+ "type": "string",
756
+ "description": "The user to log in as. Defaults to 'admin'."
757
+ },
758
+ "password": {
759
+ "type": "string",
760
+ "description": "The password to log in with. Defaults to 'password'."
761
+ }
762
+ },
763
+ "required": [
764
+ "step"
765
+ ]
766
+ },
767
+ {
768
+ "type": "object",
769
+ "additionalProperties": false,
770
+ "properties": {
771
+ "progress": {
772
+ "type": "object",
773
+ "properties": {
774
+ "weight": {
775
+ "type": "number"
776
+ },
777
+ "caption": {
778
+ "type": "string"
779
+ }
780
+ },
781
+ "additionalProperties": false
782
+ },
783
+ "step": {
784
+ "type": "string",
785
+ "const": "mkdir"
786
+ },
787
+ "path": {
788
+ "type": "string",
789
+ "description": "The path of the directory you want to create"
790
+ }
791
+ },
792
+ "required": [
793
+ "path",
794
+ "step"
795
+ ]
796
+ },
797
+ {
798
+ "type": "object",
799
+ "additionalProperties": false,
800
+ "properties": {
801
+ "progress": {
802
+ "type": "object",
803
+ "properties": {
804
+ "weight": {
805
+ "type": "number"
806
+ },
807
+ "caption": {
808
+ "type": "string"
809
+ }
810
+ },
811
+ "additionalProperties": false
812
+ },
813
+ "step": {
814
+ "type": "string",
815
+ "const": "mv"
816
+ },
817
+ "fromPath": {
818
+ "type": "string",
819
+ "description": "Source path"
820
+ },
821
+ "toPath": {
822
+ "type": "string",
823
+ "description": "Target path"
824
+ }
825
+ },
826
+ "required": [
827
+ "fromPath",
828
+ "step",
829
+ "toPath"
830
+ ]
831
+ },
832
+ {
833
+ "type": "object",
834
+ "additionalProperties": false,
835
+ "properties": {
836
+ "progress": {
837
+ "type": "object",
838
+ "properties": {
839
+ "weight": {
840
+ "type": "number"
841
+ },
842
+ "caption": {
843
+ "type": "string"
844
+ }
845
+ },
846
+ "additionalProperties": false
847
+ },
848
+ "step": {
849
+ "type": "string",
850
+ "const": "request"
851
+ },
852
+ "request": {
853
+ "$ref": "#/definitions/PHPRequest",
854
+ "description": "Request details (See /wordpress-playground/api/universal/interface/PHPRequest)"
855
+ }
856
+ },
857
+ "required": [
858
+ "request",
859
+ "step"
860
+ ]
861
+ },
862
+ {
863
+ "type": "object",
864
+ "additionalProperties": false,
865
+ "properties": {
866
+ "progress": {
867
+ "type": "object",
868
+ "properties": {
869
+ "weight": {
870
+ "type": "number"
871
+ },
872
+ "caption": {
873
+ "type": "string"
874
+ }
875
+ },
876
+ "additionalProperties": false
877
+ },
878
+ "step": {
879
+ "type": "string",
880
+ "const": "rm"
881
+ },
882
+ "path": {
883
+ "type": "string",
884
+ "description": "The path to remove"
885
+ }
886
+ },
887
+ "required": [
888
+ "path",
889
+ "step"
890
+ ]
891
+ },
892
+ {
893
+ "type": "object",
894
+ "additionalProperties": false,
895
+ "properties": {
896
+ "progress": {
897
+ "type": "object",
898
+ "properties": {
899
+ "weight": {
900
+ "type": "number"
901
+ },
902
+ "caption": {
903
+ "type": "string"
904
+ }
905
+ },
906
+ "additionalProperties": false
907
+ },
908
+ "step": {
909
+ "type": "string",
910
+ "const": "rmdir"
911
+ },
912
+ "path": {
913
+ "type": "string",
914
+ "description": "The path to remove"
915
+ }
916
+ },
917
+ "required": [
918
+ "path",
919
+ "step"
920
+ ]
921
+ },
922
+ {
923
+ "type": "object",
924
+ "additionalProperties": false,
925
+ "properties": {
926
+ "progress": {
927
+ "type": "object",
928
+ "properties": {
929
+ "weight": {
930
+ "type": "number"
931
+ },
932
+ "caption": {
933
+ "type": "string"
934
+ }
935
+ },
936
+ "additionalProperties": false
937
+ },
938
+ "step": {
939
+ "type": "string",
940
+ "const": "runPHP",
941
+ "description": "The step identifier."
942
+ },
943
+ "code": {
944
+ "type": "string",
945
+ "description": "The PHP code to run."
946
+ }
947
+ },
948
+ "required": [
949
+ "code",
950
+ "step"
951
+ ]
952
+ },
953
+ {
954
+ "type": "object",
955
+ "additionalProperties": false,
956
+ "properties": {
957
+ "progress": {
958
+ "type": "object",
959
+ "properties": {
960
+ "weight": {
961
+ "type": "number"
962
+ },
963
+ "caption": {
964
+ "type": "string"
965
+ }
966
+ },
967
+ "additionalProperties": false
968
+ },
969
+ "step": {
970
+ "type": "string",
971
+ "const": "runPHPWithOptions"
972
+ },
973
+ "options": {
974
+ "$ref": "#/definitions/PHPRunOptions",
975
+ "description": "Run options (See /wordpress-playground/api/universal/interface/PHPRunOptions)"
976
+ }
977
+ },
978
+ "required": [
979
+ "options",
980
+ "step"
981
+ ]
982
+ },
983
+ {
984
+ "type": "object",
985
+ "additionalProperties": false,
986
+ "properties": {
987
+ "progress": {
988
+ "type": "object",
989
+ "properties": {
990
+ "weight": {
991
+ "type": "number"
992
+ },
993
+ "caption": {
994
+ "type": "string"
995
+ }
996
+ },
997
+ "additionalProperties": false
998
+ },
999
+ "step": {
1000
+ "type": "string",
1001
+ "const": "runWpInstallationWizard"
1002
+ },
1003
+ "options": {
1004
+ "$ref": "#/definitions/WordPressInstallationOptions"
1005
+ }
1006
+ },
1007
+ "required": [
1008
+ "options",
1009
+ "step"
1010
+ ]
1011
+ },
1012
+ {
1013
+ "type": "object",
1014
+ "additionalProperties": false,
1015
+ "properties": {
1016
+ "progress": {
1017
+ "type": "object",
1018
+ "properties": {
1019
+ "weight": {
1020
+ "type": "number"
1021
+ },
1022
+ "caption": {
1023
+ "type": "string"
1024
+ }
1025
+ },
1026
+ "additionalProperties": false
1027
+ },
1028
+ "step": {
1029
+ "type": "string",
1030
+ "const": "runSql",
1031
+ "description": "The step identifier."
1032
+ },
1033
+ "sql": {
1034
+ "$ref": "#/definitions/FileReference",
1035
+ "description": "The SQL to run. Each non-empty line must contain a valid SQL query."
1036
+ }
1037
+ },
1038
+ "required": [
1039
+ "sql",
1040
+ "step"
1041
+ ]
1042
+ },
1043
+ {
1044
+ "type": "object",
1045
+ "additionalProperties": false,
1046
+ "properties": {
1047
+ "progress": {
1048
+ "type": "object",
1049
+ "properties": {
1050
+ "weight": {
1051
+ "type": "number"
1052
+ },
1053
+ "caption": {
1054
+ "type": "string"
1055
+ }
1056
+ },
1057
+ "additionalProperties": false
1058
+ },
1059
+ "step": {
1060
+ "type": "string",
1061
+ "const": "setSiteOptions",
1062
+ "description": "The name of the step. Must be \"setSiteOptions\"."
1063
+ },
1064
+ "options": {
1065
+ "type": "object",
1066
+ "additionalProperties": {},
1067
+ "description": "The options to set on the site."
1068
+ }
1069
+ },
1070
+ "required": [
1071
+ "options",
1072
+ "step"
1073
+ ]
1074
+ },
1075
+ {
1076
+ "type": "object",
1077
+ "additionalProperties": false,
1078
+ "properties": {
1079
+ "progress": {
1080
+ "type": "object",
1081
+ "properties": {
1082
+ "weight": {
1083
+ "type": "number"
1084
+ },
1085
+ "caption": {
1086
+ "type": "string"
1087
+ }
1088
+ },
1089
+ "additionalProperties": false
1090
+ },
1091
+ "step": {
1092
+ "type": "string",
1093
+ "const": "unzip"
1094
+ },
1095
+ "zipFile": {
1096
+ "$ref": "#/definitions/FileReference",
1097
+ "description": "The zip file to extract"
1098
+ },
1099
+ "zipPath": {
1100
+ "type": "string",
1101
+ "description": "The path of the zip file to extract",
1102
+ "deprecated": "Use zipFile instead."
1103
+ },
1104
+ "extractToPath": {
1105
+ "type": "string",
1106
+ "description": "The path to extract the zip file to"
1107
+ }
1108
+ },
1109
+ "required": [
1110
+ "extractToPath",
1111
+ "step"
1112
+ ]
1113
+ },
1114
+ {
1115
+ "type": "object",
1116
+ "additionalProperties": false,
1117
+ "properties": {
1118
+ "progress": {
1119
+ "type": "object",
1120
+ "properties": {
1121
+ "weight": {
1122
+ "type": "number"
1123
+ },
1124
+ "caption": {
1125
+ "type": "string"
1126
+ }
1127
+ },
1128
+ "additionalProperties": false
1129
+ },
1130
+ "step": {
1131
+ "type": "string",
1132
+ "const": "updateUserMeta"
1133
+ },
1134
+ "meta": {
1135
+ "type": "object",
1136
+ "additionalProperties": {},
1137
+ "description": "An object of user meta values to set, e.g. { \"first_name\": \"John\" }"
1138
+ },
1139
+ "userId": {
1140
+ "type": "number",
1141
+ "description": "User ID"
1142
+ }
1143
+ },
1144
+ "required": [
1145
+ "meta",
1146
+ "step",
1147
+ "userId"
1148
+ ]
1149
+ },
1150
+ {
1151
+ "type": "object",
1152
+ "additionalProperties": false,
1153
+ "properties": {
1154
+ "progress": {
1155
+ "type": "object",
1156
+ "properties": {
1157
+ "weight": {
1158
+ "type": "number"
1159
+ },
1160
+ "caption": {
1161
+ "type": "string"
1162
+ }
1163
+ },
1164
+ "additionalProperties": false
1165
+ },
1166
+ "step": {
1167
+ "type": "string",
1168
+ "const": "writeFile"
1169
+ },
1170
+ "path": {
1171
+ "type": "string",
1172
+ "description": "The path of the file to write to"
1173
+ },
1174
+ "data": {
1175
+ "anyOf": [
1176
+ {
1177
+ "$ref": "#/definitions/FileReference"
1178
+ },
1179
+ {
1180
+ "type": "string"
1181
+ },
1182
+ {
1183
+ "type": "object",
1184
+ "properties": {
1185
+ "BYTES_PER_ELEMENT": {
1186
+ "type": "number"
1187
+ },
1188
+ "buffer": {
1189
+ "type": "object",
1190
+ "properties": {
1191
+ "byteLength": {
1192
+ "type": "number"
1193
+ }
1194
+ },
1195
+ "required": [
1196
+ "byteLength"
1197
+ ],
1198
+ "additionalProperties": false
1199
+ },
1200
+ "byteLength": {
1201
+ "type": "number"
1202
+ },
1203
+ "byteOffset": {
1204
+ "type": "number"
1205
+ },
1206
+ "length": {
1207
+ "type": "number"
1208
+ }
1209
+ },
1210
+ "required": [
1211
+ "BYTES_PER_ELEMENT",
1212
+ "buffer",
1213
+ "byteLength",
1214
+ "byteOffset",
1215
+ "length"
1216
+ ],
1217
+ "additionalProperties": {
1218
+ "type": "number"
1219
+ }
1220
+ }
1221
+ ],
1222
+ "description": "The data to write"
1223
+ }
1224
+ },
1225
+ "required": [
1226
+ "data",
1227
+ "path",
1228
+ "step"
1229
+ ]
1230
+ },
1231
+ {
1232
+ "type": "object",
1233
+ "additionalProperties": false,
1234
+ "properties": {
1235
+ "progress": {
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "weight": {
1239
+ "type": "number"
1240
+ },
1241
+ "caption": {
1242
+ "type": "string"
1243
+ }
1244
+ },
1245
+ "additionalProperties": false
1246
+ },
1247
+ "step": {
1248
+ "type": "string",
1249
+ "const": "wp-cli",
1250
+ "description": "The step identifier."
1251
+ },
1252
+ "command": {
1253
+ "anyOf": [
1254
+ {
1255
+ "type": "string"
1256
+ },
1257
+ {
1258
+ "type": "array",
1259
+ "items": {
1260
+ "type": "string"
1261
+ }
1262
+ }
1263
+ ],
1264
+ "description": "The WP CLI command to run."
1265
+ },
1266
+ "wpCliPath": {
1267
+ "type": "string",
1268
+ "description": "wp-cli.phar path"
1269
+ }
1270
+ },
1271
+ "required": [
1272
+ "command",
1273
+ "step"
1274
+ ]
1275
+ }
1276
+ ]
1277
+ },
1278
+ "InstallPluginOptions": {
1279
+ "type": "object",
1280
+ "properties": {
1281
+ "activate": {
1282
+ "type": "boolean",
1283
+ "description": "Whether to activate the plugin after installing it."
1284
+ }
1285
+ },
1286
+ "additionalProperties": false
1287
+ },
1288
+ "PHPRequest": {
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "method": {
1292
+ "$ref": "#/definitions/HTTPMethod",
1293
+ "description": "Request method. Default: `GET`."
1294
+ },
1295
+ "url": {
1296
+ "type": "string",
1297
+ "description": "Request path or absolute URL."
1298
+ },
1299
+ "headers": {
1300
+ "$ref": "#/definitions/PHPRequestHeaders",
1301
+ "description": "Request headers."
1302
+ },
1303
+ "body": {
1304
+ "anyOf": [
1305
+ {
1306
+ "type": "string"
1307
+ },
1308
+ {
1309
+ "type": "object",
1310
+ "properties": {
1311
+ "BYTES_PER_ELEMENT": {
1312
+ "type": "number"
1313
+ },
1314
+ "buffer": {
1315
+ "type": "object",
1316
+ "properties": {
1317
+ "byteLength": {
1318
+ "type": "number"
1319
+ }
1320
+ },
1321
+ "required": [
1322
+ "byteLength"
1323
+ ],
1324
+ "additionalProperties": false
1325
+ },
1326
+ "byteLength": {
1327
+ "type": "number"
1328
+ },
1329
+ "byteOffset": {
1330
+ "type": "number"
1331
+ },
1332
+ "length": {
1333
+ "type": "number"
1334
+ }
1335
+ },
1336
+ "required": [
1337
+ "BYTES_PER_ELEMENT",
1338
+ "buffer",
1339
+ "byteLength",
1340
+ "byteOffset",
1341
+ "length"
1342
+ ],
1343
+ "additionalProperties": {
1344
+ "type": "number"
1345
+ }
1346
+ },
1347
+ {
1348
+ "type": "object",
1349
+ "additionalProperties": {
1350
+ "anyOf": [
1351
+ {
1352
+ "type": "string"
1353
+ },
1354
+ {
1355
+ "type": "object",
1356
+ "properties": {
1357
+ "BYTES_PER_ELEMENT": {
1358
+ "type": "number"
1359
+ },
1360
+ "buffer": {
1361
+ "type": "object",
1362
+ "properties": {
1363
+ "byteLength": {
1364
+ "type": "number"
1365
+ }
1366
+ },
1367
+ "required": [
1368
+ "byteLength"
1369
+ ],
1370
+ "additionalProperties": false
1371
+ },
1372
+ "byteLength": {
1373
+ "type": "number"
1374
+ },
1375
+ "byteOffset": {
1376
+ "type": "number"
1377
+ },
1378
+ "length": {
1379
+ "type": "number"
1380
+ }
1381
+ },
1382
+ "required": [
1383
+ "BYTES_PER_ELEMENT",
1384
+ "buffer",
1385
+ "byteLength",
1386
+ "byteOffset",
1387
+ "length"
1388
+ ],
1389
+ "additionalProperties": {
1390
+ "type": "number"
1391
+ }
1392
+ },
1393
+ {
1394
+ "type": "object",
1395
+ "properties": {
1396
+ "size": {
1397
+ "type": "number"
1398
+ },
1399
+ "type": {
1400
+ "type": "string"
1401
+ },
1402
+ "lastModified": {
1403
+ "type": "number"
1404
+ },
1405
+ "name": {
1406
+ "type": "string"
1407
+ },
1408
+ "webkitRelativePath": {
1409
+ "type": "string"
1410
+ }
1411
+ },
1412
+ "required": [
1413
+ "lastModified",
1414
+ "name",
1415
+ "size",
1416
+ "type",
1417
+ "webkitRelativePath"
1418
+ ],
1419
+ "additionalProperties": false
1420
+ }
1421
+ ]
1422
+ }
1423
+ }
1424
+ ],
1425
+ "description": "Request body. If an object is given, the request will be encoded as multipart and sent with a `multipart/form-data` header."
1426
+ }
1427
+ },
1428
+ "required": [
1429
+ "url"
1430
+ ],
1431
+ "additionalProperties": false
1432
+ },
1433
+ "HTTPMethod": {
1434
+ "type": "string",
1435
+ "enum": [
1436
+ "GET",
1437
+ "POST",
1438
+ "HEAD",
1439
+ "OPTIONS",
1440
+ "PATCH",
1441
+ "PUT",
1442
+ "DELETE"
1443
+ ]
1444
+ },
1445
+ "PHPRequestHeaders": {
1446
+ "type": "object",
1447
+ "additionalProperties": {
1448
+ "type": "string"
1449
+ }
1450
+ },
1451
+ "PHPRunOptions": {
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "relativeUri": {
1455
+ "type": "string",
1456
+ "description": "Request path following the domain:port part."
1457
+ },
1458
+ "scriptPath": {
1459
+ "type": "string",
1460
+ "description": "Path of the .php file to execute."
1461
+ },
1462
+ "protocol": {
1463
+ "type": "string",
1464
+ "description": "Request protocol."
1465
+ },
1466
+ "method": {
1467
+ "$ref": "#/definitions/HTTPMethod",
1468
+ "description": "Request method. Default: `GET`."
1469
+ },
1470
+ "headers": {
1471
+ "$ref": "#/definitions/PHPRequestHeaders",
1472
+ "description": "Request headers."
1473
+ },
1474
+ "body": {
1475
+ "anyOf": [
1476
+ {
1477
+ "type": "string"
1478
+ },
1479
+ {
1480
+ "type": "object",
1481
+ "properties": {
1482
+ "BYTES_PER_ELEMENT": {
1483
+ "type": "number"
1484
+ },
1485
+ "buffer": {
1486
+ "type": "object",
1487
+ "properties": {
1488
+ "byteLength": {
1489
+ "type": "number"
1490
+ }
1491
+ },
1492
+ "required": [
1493
+ "byteLength"
1494
+ ],
1495
+ "additionalProperties": false
1496
+ },
1497
+ "byteLength": {
1498
+ "type": "number"
1499
+ },
1500
+ "byteOffset": {
1501
+ "type": "number"
1502
+ },
1503
+ "length": {
1504
+ "type": "number"
1505
+ }
1506
+ },
1507
+ "required": [
1508
+ "BYTES_PER_ELEMENT",
1509
+ "buffer",
1510
+ "byteLength",
1511
+ "byteOffset",
1512
+ "length"
1513
+ ],
1514
+ "additionalProperties": {
1515
+ "type": "number"
1516
+ }
1517
+ }
1518
+ ],
1519
+ "description": "Request body."
1520
+ },
1521
+ "env": {
1522
+ "type": "object",
1523
+ "additionalProperties": {
1524
+ "type": "string"
1525
+ },
1526
+ "description": "Environment variables to set for this run."
1527
+ },
1528
+ "$_SERVER": {
1529
+ "type": "object",
1530
+ "additionalProperties": {
1531
+ "type": "string"
1532
+ },
1533
+ "description": "$_SERVER entries to set for this run."
1534
+ },
1535
+ "code": {
1536
+ "type": "string",
1537
+ "description": "The code snippet to eval instead of a php file."
1538
+ }
1539
+ },
1540
+ "additionalProperties": false
1541
+ },
1542
+ "WordPressInstallationOptions": {
1543
+ "type": "object",
1544
+ "properties": {
1545
+ "adminUsername": {
1546
+ "type": "string"
1547
+ },
1548
+ "adminPassword": {
1549
+ "type": "string"
1550
+ }
1551
+ },
1552
+ "additionalProperties": false
1553
+ }
1554
+ }
1555
+ }