@pulumiverse/vercel 4.6.1 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/accessGroup.d.ts +3 -2
  2. package/accessGroup.js +3 -2
  3. package/accessGroup.js.map +1 -1
  4. package/accessGroupProject.d.ts +4 -3
  5. package/accessGroupProject.js +4 -3
  6. package/accessGroupProject.js.map +1 -1
  7. package/attackChallengeMode.d.ts +4 -4
  8. package/attackChallengeMode.js +4 -4
  9. package/blobObject.d.ts +177 -0
  10. package/blobObject.js +89 -0
  11. package/blobObject.js.map +1 -0
  12. package/blobProjectConnection.d.ts +144 -0
  13. package/blobProjectConnection.js +105 -0
  14. package/blobProjectConnection.js.map +1 -0
  15. package/blobStore.d.ts +159 -0
  16. package/blobStore.js +100 -0
  17. package/blobStore.js.map +1 -0
  18. package/bulkRedirects.d.ts +135 -0
  19. package/bulkRedirects.js +114 -0
  20. package/bulkRedirects.js.map +1 -0
  21. package/customEnvironment.d.ts +7 -9
  22. package/customEnvironment.js +7 -9
  23. package/customEnvironment.js.map +1 -1
  24. package/deployment.d.ts +36 -0
  25. package/deployment.js +27 -0
  26. package/deployment.js.map +1 -1
  27. package/dnsRecord.d.ts +8 -12
  28. package/dnsRecord.js +8 -12
  29. package/dnsRecord.js.map +1 -1
  30. package/edgeConfig.d.ts +7 -9
  31. package/edgeConfig.js +7 -9
  32. package/edgeConfig.js.map +1 -1
  33. package/edgeConfigItem.d.ts +6 -10
  34. package/edgeConfigItem.js +6 -10
  35. package/edgeConfigItem.js.map +1 -1
  36. package/edgeConfigSchema.d.ts +6 -8
  37. package/edgeConfigSchema.js +6 -8
  38. package/edgeConfigSchema.js.map +1 -1
  39. package/edgeConfigToken.d.ts +7 -11
  40. package/edgeConfigToken.js +7 -11
  41. package/edgeConfigToken.js.map +1 -1
  42. package/featureFlagConfig.d.ts +167 -0
  43. package/featureFlagConfig.js +131 -0
  44. package/featureFlagConfig.js.map +1 -0
  45. package/featureFlagDefinition.d.ts +160 -0
  46. package/featureFlagDefinition.js +111 -0
  47. package/featureFlagDefinition.js.map +1 -0
  48. package/featureFlagSdkKey.d.ts +160 -0
  49. package/featureFlagSdkKey.js +120 -0
  50. package/featureFlagSdkKey.js.map +1 -0
  51. package/featureFlagSegment.d.ts +191 -0
  52. package/featureFlagSegment.js +126 -0
  53. package/featureFlagSegment.js.map +1 -0
  54. package/firewallBypass.d.ts +3 -2
  55. package/firewallBypass.js +3 -2
  56. package/firewallBypass.js.map +1 -1
  57. package/firewallConfig.d.ts +2 -0
  58. package/firewallConfig.js +2 -0
  59. package/firewallConfig.js.map +1 -1
  60. package/getBlobObject.d.ts +100 -0
  61. package/getBlobObject.js +32 -0
  62. package/getBlobObject.js.map +1 -0
  63. package/getBlobProjectConnections.d.ts +91 -0
  64. package/getBlobProjectConnections.js +64 -0
  65. package/getBlobProjectConnections.js.map +1 -0
  66. package/getBlobStore.d.ts +104 -0
  67. package/getBlobStore.js +54 -0
  68. package/getBlobStore.js.map +1 -0
  69. package/getBlobStoreSecrets.d.ts +80 -0
  70. package/getBlobStoreSecrets.js +54 -0
  71. package/getBlobStoreSecrets.js.map +1 -0
  72. package/getBlobStores.d.ts +63 -0
  73. package/getBlobStores.js +48 -0
  74. package/getBlobStores.js.map +1 -0
  75. package/getBulkRedirects.d.ts +97 -0
  76. package/getBulkRedirects.js +60 -0
  77. package/getBulkRedirects.js.map +1 -0
  78. package/getFeatureFlag.d.ts +121 -0
  79. package/getFeatureFlag.js +60 -0
  80. package/getFeatureFlag.js.map +1 -0
  81. package/getFeatureFlagSdkKey.d.ts +100 -0
  82. package/getFeatureFlagSdkKey.js +60 -0
  83. package/getFeatureFlagSdkKey.js.map +1 -0
  84. package/getFeatureFlagSegment.d.ts +113 -0
  85. package/getFeatureFlagSegment.js +60 -0
  86. package/getFeatureFlagSegment.js.map +1 -0
  87. package/getFile.d.ts +9 -0
  88. package/getFile.js.map +1 -1
  89. package/getPrebuiltProject.d.ts +51 -0
  90. package/getPrebuiltProject.js +42 -0
  91. package/getPrebuiltProject.js.map +1 -1
  92. package/getProject.d.ts +14 -4
  93. package/getProject.js.map +1 -1
  94. package/getProjectDirectory.d.ts +47 -0
  95. package/getProjectDirectory.js +38 -0
  96. package/getProjectDirectory.js.map +1 -1
  97. package/getProjectRoutes.d.ts +89 -0
  98. package/getProjectRoutes.js +62 -0
  99. package/getProjectRoutes.js.map +1 -0
  100. package/index.d.ts +63 -0
  101. package/index.js +88 -2
  102. package/index.js.map +1 -1
  103. package/logDrain.d.ts +6 -8
  104. package/logDrain.js +6 -8
  105. package/logDrain.js.map +1 -1
  106. package/microfrontendGroup.d.ts +4 -5
  107. package/microfrontendGroup.js +4 -5
  108. package/microfrontendGroup.js.map +1 -1
  109. package/microfrontendGroupMembership.d.ts +4 -7
  110. package/microfrontendGroupMembership.js +4 -7
  111. package/microfrontendGroupMembership.js.map +1 -1
  112. package/package.json +2 -2
  113. package/project.d.ts +75 -38
  114. package/project.js +53 -14
  115. package/project.js.map +1 -1
  116. package/projectCrons.d.ts +6 -7
  117. package/projectCrons.js +6 -7
  118. package/projectCrons.js.map +1 -1
  119. package/projectDeploymentRetention.d.ts +12 -4
  120. package/projectDeploymentRetention.js +12 -4
  121. package/projectDeploymentRetention.js.map +1 -1
  122. package/projectDomain.d.ts +6 -8
  123. package/projectDomain.js +6 -8
  124. package/projectDomain.js.map +1 -1
  125. package/projectEnvironmentVariable.d.ts +24 -20
  126. package/projectEnvironmentVariable.js +23 -16
  127. package/projectEnvironmentVariable.js.map +1 -1
  128. package/projectEnvironmentVariables.d.ts +18 -5
  129. package/projectEnvironmentVariables.js +18 -5
  130. package/projectEnvironmentVariables.js.map +1 -1
  131. package/projectMembers.d.ts +6 -0
  132. package/projectMembers.js +6 -0
  133. package/projectMembers.js.map +1 -1
  134. package/projectProtectionBypass.d.ts +171 -0
  135. package/projectProtectionBypass.js +119 -0
  136. package/projectProtectionBypass.js.map +1 -0
  137. package/projectRoute.d.ts +219 -0
  138. package/projectRoute.js +148 -0
  139. package/projectRoute.js.map +1 -0
  140. package/sharedEnvironmentVariable.d.ts +28 -9
  141. package/sharedEnvironmentVariable.js +27 -5
  142. package/sharedEnvironmentVariable.js.map +1 -1
  143. package/teamConfig.d.ts +3 -2
  144. package/teamConfig.js +3 -2
  145. package/teamConfig.js.map +1 -1
  146. package/teamMember.d.ts +3 -1
  147. package/teamMember.js +3 -1
  148. package/teamMember.js.map +1 -1
  149. package/types/input.d.ts +324 -4
  150. package/types/output.d.ts +705 -2
  151. package/userToken.d.ts +186 -0
  152. package/userToken.js +115 -0
  153. package/userToken.js.map +1 -0
package/types/output.d.ts CHANGED
@@ -1,4 +1,26 @@
1
1
  import * as outputs from "../types/output";
2
+ export interface BulkRedirectsRedirect {
3
+ /**
4
+ * Whether the source match is case-sensitive.
5
+ */
6
+ caseSensitive: boolean;
7
+ /**
8
+ * The destination pathname or URL to redirect to.
9
+ */
10
+ destination: string;
11
+ /**
12
+ * Whether query parameters are considered when matching the redirect.
13
+ */
14
+ query: boolean;
15
+ /**
16
+ * The source pathname to match.
17
+ */
18
+ source: string;
19
+ /**
20
+ * The HTTP status code for the redirect.
21
+ */
22
+ statusCode: number;
23
+ }
2
24
  export interface CustomEnvironmentBranchTracking {
3
25
  /**
4
26
  * The pattern of the branch name to track.
@@ -49,6 +71,102 @@ export interface DnsRecordSrv {
49
71
  */
50
72
  weight: number;
51
73
  }
74
+ export interface FeatureFlagConfigDevelopment {
75
+ /**
76
+ * The variant to serve when this environment is enabled and no rules match.
77
+ */
78
+ defaultVariantId: string;
79
+ /**
80
+ * The variant to serve while this environment is disabled or paused.
81
+ */
82
+ disabledVariantId: string;
83
+ /**
84
+ * Whether the flag should actively evaluate in this environment.
85
+ */
86
+ enabled: boolean;
87
+ }
88
+ export interface FeatureFlagConfigPreview {
89
+ /**
90
+ * The variant to serve when this environment is enabled and no rules match.
91
+ */
92
+ defaultVariantId: string;
93
+ /**
94
+ * The variant to serve while this environment is disabled or paused.
95
+ */
96
+ disabledVariantId: string;
97
+ /**
98
+ * Whether the flag should actively evaluate in this environment.
99
+ */
100
+ enabled: boolean;
101
+ }
102
+ export interface FeatureFlagConfigProduction {
103
+ /**
104
+ * The variant to serve when this environment is enabled and no rules match.
105
+ */
106
+ defaultVariantId: string;
107
+ /**
108
+ * The variant to serve while this environment is disabled or paused.
109
+ */
110
+ disabledVariantId: string;
111
+ /**
112
+ * Whether the flag should actively evaluate in this environment.
113
+ */
114
+ enabled: boolean;
115
+ }
116
+ export interface FeatureFlagDefinitionVariant {
117
+ /**
118
+ * A human-readable description for the variant.
119
+ */
120
+ description?: string;
121
+ /**
122
+ * The stable variant identifier referenced by flag configuration.
123
+ */
124
+ id: string;
125
+ /**
126
+ * A human-readable label for the variant.
127
+ */
128
+ label?: string;
129
+ /**
130
+ * The boolean value for this variant. Use this when `kind = "boolean"`.
131
+ */
132
+ valueBool?: boolean;
133
+ /**
134
+ * The numeric value for this variant. Use this when `kind = "number"`.
135
+ */
136
+ valueNumber?: number;
137
+ /**
138
+ * The string value for this variant. Use this when `kind = "string"`.
139
+ */
140
+ valueString?: string;
141
+ }
142
+ export interface FeatureFlagSegmentExclude {
143
+ /**
144
+ * The entity attribute to match, for example `email`.
145
+ */
146
+ attribute: string;
147
+ /**
148
+ * The entity type to match, for example `user`.
149
+ */
150
+ entity: string;
151
+ /**
152
+ * The exact values to include or exclude for this entity attribute.
153
+ */
154
+ values: string[];
155
+ }
156
+ export interface FeatureFlagSegmentInclude {
157
+ /**
158
+ * The entity attribute to match, for example `email`.
159
+ */
160
+ attribute: string;
161
+ /**
162
+ * The entity type to match, for example `user`.
163
+ */
164
+ entity: string;
165
+ /**
166
+ * The exact values to include or exclude for this entity attribute.
167
+ */
168
+ values: string[];
169
+ }
52
170
  export interface FirewallConfigIpRules {
53
171
  rules?: outputs.FirewallConfigIpRulesRule[];
54
172
  }
@@ -286,6 +404,104 @@ export interface FirewallConfigRulesRuleConditionGroupCondition {
286
404
  */
287
405
  values?: string[];
288
406
  }
407
+ export interface GetBlobProjectConnectionsConnection {
408
+ /**
409
+ * The prefix used for the generated Blob environment variable names.
410
+ */
411
+ envVarPrefix: string;
412
+ /**
413
+ * The environments in which the generated Blob environment variables exist.
414
+ */
415
+ environments: string[];
416
+ /**
417
+ * The ID of the Blob store project connection.
418
+ */
419
+ id: string;
420
+ /**
421
+ * The ID of the latest production deployment for the connected project, if any.
422
+ */
423
+ productionDeploymentId: string;
424
+ /**
425
+ * The URL of the latest production deployment for the connected project, if any.
426
+ */
427
+ productionDeploymentUrl: string;
428
+ /**
429
+ * The framework configured for the connected Vercel project, if any.
430
+ */
431
+ projectFramework: string;
432
+ /**
433
+ * The ID of the connected Vercel project.
434
+ */
435
+ projectId: string;
436
+ /**
437
+ * The name of the connected Vercel project.
438
+ */
439
+ projectName: string;
440
+ /**
441
+ * The generated environment variable name that contains the Blob read/write token.
442
+ */
443
+ readWriteTokenEnvVarName: string;
444
+ }
445
+ export interface GetBlobStoresStore {
446
+ /**
447
+ * Whether blobs created in this store are `public` or `private` by default.
448
+ */
449
+ access: string;
450
+ /**
451
+ * The Unix timestamp, in milliseconds, when the Blob store was created.
452
+ */
453
+ createdAt: number;
454
+ /**
455
+ * The number of files currently stored in the Blob store.
456
+ */
457
+ fileCount: number;
458
+ /**
459
+ * The ID of the Blob store.
460
+ */
461
+ id: string;
462
+ /**
463
+ * The name of the Blob store.
464
+ */
465
+ name: string;
466
+ /**
467
+ * The region in which the Blob store exists.
468
+ */
469
+ region: string;
470
+ /**
471
+ * The size of the Blob store in bytes.
472
+ */
473
+ size: number;
474
+ /**
475
+ * The current status of the Blob store.
476
+ */
477
+ status: string;
478
+ /**
479
+ * The Unix timestamp, in milliseconds, when the Blob store was last updated.
480
+ */
481
+ updatedAt: number;
482
+ }
483
+ export interface GetBulkRedirectsRedirect {
484
+ /**
485
+ * Whether the source match is case-sensitive.
486
+ */
487
+ caseSensitive: boolean;
488
+ /**
489
+ * The destination pathname or URL to redirect to.
490
+ */
491
+ destination: string;
492
+ /**
493
+ * Whether query parameters are considered when matching the redirect.
494
+ */
495
+ query: boolean;
496
+ /**
497
+ * The source pathname to match.
498
+ */
499
+ source: string;
500
+ /**
501
+ * The HTTP status code for the redirect.
502
+ */
503
+ statusCode: number;
504
+ }
289
505
  export interface GetCustomEnvironmentBranchTracking {
290
506
  /**
291
507
  * The pattern of the branch name to track.
@@ -306,6 +522,102 @@ export interface GetDsyncGroupsList {
306
522
  */
307
523
  name: string;
308
524
  }
525
+ export interface GetFeatureFlagDevelopment {
526
+ /**
527
+ * The variant served when this environment is enabled and no rules match.
528
+ */
529
+ defaultVariantId: string;
530
+ /**
531
+ * The variant served while this environment is disabled or paused.
532
+ */
533
+ disabledVariantId: string;
534
+ /**
535
+ * Whether the flag actively evaluates in this environment.
536
+ */
537
+ enabled: boolean;
538
+ }
539
+ export interface GetFeatureFlagPreview {
540
+ /**
541
+ * The variant served when this environment is enabled and no rules match.
542
+ */
543
+ defaultVariantId: string;
544
+ /**
545
+ * The variant served while this environment is disabled or paused.
546
+ */
547
+ disabledVariantId: string;
548
+ /**
549
+ * Whether the flag actively evaluates in this environment.
550
+ */
551
+ enabled: boolean;
552
+ }
553
+ export interface GetFeatureFlagProduction {
554
+ /**
555
+ * The variant served when this environment is enabled and no rules match.
556
+ */
557
+ defaultVariantId: string;
558
+ /**
559
+ * The variant served while this environment is disabled or paused.
560
+ */
561
+ disabledVariantId: string;
562
+ /**
563
+ * Whether the flag actively evaluates in this environment.
564
+ */
565
+ enabled: boolean;
566
+ }
567
+ export interface GetFeatureFlagSegmentExclude {
568
+ /**
569
+ * The entity attribute to match.
570
+ */
571
+ attribute: string;
572
+ /**
573
+ * The entity type to match.
574
+ */
575
+ entity: string;
576
+ /**
577
+ * The exact values to include or exclude for this entity attribute.
578
+ */
579
+ values: string[];
580
+ }
581
+ export interface GetFeatureFlagSegmentInclude {
582
+ /**
583
+ * The entity attribute to match.
584
+ */
585
+ attribute: string;
586
+ /**
587
+ * The entity type to match.
588
+ */
589
+ entity: string;
590
+ /**
591
+ * The exact values to include or exclude for this entity attribute.
592
+ */
593
+ values: string[];
594
+ }
595
+ export interface GetFeatureFlagVariant {
596
+ /**
597
+ * A human-readable description for the variant.
598
+ */
599
+ description: string;
600
+ /**
601
+ * The stable variant identifier.
602
+ */
603
+ id: string;
604
+ /**
605
+ * A human-readable label for the variant.
606
+ */
607
+ label: string;
608
+ /**
609
+ * The boolean value for this variant when `kind = "boolean"`.
610
+ */
611
+ valueBool: boolean;
612
+ /**
613
+ * The numeric value for this variant when `kind = "number"`.
614
+ */
615
+ valueNumber: number;
616
+ /**
617
+ * The string value for this variant when `kind = "string"`.
618
+ */
619
+ valueString: string;
620
+ }
309
621
  export interface GetMicrofrontendGroupDefaultApp {
310
622
  /**
311
623
  * The default route for the project. Used for the screenshot of deployments.
@@ -365,10 +677,18 @@ export interface GetProjectGitComments {
365
677
  onPullRequest: boolean;
366
678
  }
367
679
  export interface GetProjectGitProviderOptions {
680
+ /**
681
+ * **Beta:** Configuration for consolidated git commit status reporting. This feature is in beta and may change in backwards-incompatible ways.
682
+ */
683
+ consolidatedGitCommitStatus: outputs.GetProjectGitProviderOptionsConsolidatedGitCommitStatus;
368
684
  /**
369
685
  * Whether to create deployments.
370
686
  */
371
687
  createDeployments: boolean;
688
+ /**
689
+ * Whether Vercel posts git commit statuses for this project.
690
+ */
691
+ gitCommitStatus: boolean;
372
692
  /**
373
693
  * Whether repository dispatch events are enabled.
374
694
  */
@@ -378,6 +698,16 @@ export interface GetProjectGitProviderOptions {
378
698
  */
379
699
  requireVerifiedCommits: boolean;
380
700
  }
701
+ export interface GetProjectGitProviderOptionsConsolidatedGitCommitStatus {
702
+ /**
703
+ * **Beta:** Whether consolidated commit status is enabled.
704
+ */
705
+ enabled: boolean;
706
+ /**
707
+ * **Beta:** Whether to propagate individual deployment failures to the consolidated status.
708
+ */
709
+ propagateFailures: boolean;
710
+ }
381
711
  export interface GetProjectGitRepository {
382
712
  /**
383
713
  * Deploy hooks are unique URLs that allow you to trigger a deployment of a given branch. See https://vercel.com/docs/deployments/deploy-hooks for full information.
@@ -481,6 +811,93 @@ export interface GetProjectRollingReleaseStage {
481
811
  */
482
812
  targetPercentage: number;
483
813
  }
814
+ export interface GetProjectRoutesRule {
815
+ /**
816
+ * An optional description of the rule.
817
+ */
818
+ description: string;
819
+ /**
820
+ * Whether the rule is enabled.
821
+ */
822
+ enabled: boolean;
823
+ /**
824
+ * The rule ID managed by Vercel.
825
+ */
826
+ id: string;
827
+ /**
828
+ * A human-readable name for the rule.
829
+ */
830
+ name: string;
831
+ /**
832
+ * The routing rule definition.
833
+ */
834
+ route: outputs.GetProjectRoutesRuleRoute;
835
+ /**
836
+ * The computed route type returned by Vercel. One of `rewrite`, `redirect`, `setStatus`, or `transform`.
837
+ */
838
+ routeType: string;
839
+ /**
840
+ * The source pattern syntax inferred or stored by Vercel.
841
+ */
842
+ srcSyntax: string;
843
+ }
844
+ export interface GetProjectRoutesRuleRoute {
845
+ /**
846
+ * Whether the `src` matcher is case-sensitive.
847
+ */
848
+ caseSensitive: boolean;
849
+ /**
850
+ * The destination for rewrites or redirects.
851
+ */
852
+ dest: string;
853
+ /**
854
+ * Conditions that must be present for the rule to match.
855
+ */
856
+ has: outputs.GetProjectRoutesRuleRouteHa[];
857
+ /**
858
+ * Headers to set for the matched request.
859
+ */
860
+ headers: {
861
+ [key: string]: string;
862
+ };
863
+ /**
864
+ * Conditions that must be absent for the rule to match.
865
+ */
866
+ missings: outputs.GetProjectRoutesRuleRouteMissing[];
867
+ /**
868
+ * Whether the rule should respect cache control headers from the origin.
869
+ */
870
+ respectOriginCacheControl: boolean;
871
+ /**
872
+ * The source pattern to match.
873
+ */
874
+ src: string;
875
+ /**
876
+ * The HTTP status code to set for redirects or status-only rules.
877
+ */
878
+ status: number;
879
+ /**
880
+ * Transforms applied to the request or response when the rule matches.
881
+ */
882
+ transforms: outputs.GetProjectRoutesRuleRouteTransform[];
883
+ }
884
+ export interface GetProjectRoutesRuleRouteHa {
885
+ key: string;
886
+ type: string;
887
+ value: string;
888
+ }
889
+ export interface GetProjectRoutesRuleRouteMissing {
890
+ key: string;
891
+ type: string;
892
+ value: string;
893
+ }
894
+ export interface GetProjectRoutesRuleRouteTransform {
895
+ args: string;
896
+ envs: string[];
897
+ op: string;
898
+ target: string;
899
+ type: string;
900
+ }
484
901
  export interface GetProjectTrustedIps {
485
902
  /**
486
903
  * The allowed IP addressses and CIDR ranges with optional descriptions.
@@ -499,6 +916,90 @@ export interface GetProjectTrustedIpsAddress {
499
916
  note: string;
500
917
  value: string;
501
918
  }
919
+ export interface GetProjectTrustedSources {
920
+ /**
921
+ * External sources that can reach this project's protected deployments using short-lived OIDC tokens.
922
+ */
923
+ externalSources: outputs.GetProjectTrustedSourcesExternalSource[];
924
+ /**
925
+ * Vercel projects in the same team that can reach this project's protected deployments.
926
+ */
927
+ projects: outputs.GetProjectTrustedSourcesProject[];
928
+ }
929
+ export interface GetProjectTrustedSourcesExternalSource {
930
+ /**
931
+ * Claims that must match on the OIDC token.
932
+ */
933
+ claims: {
934
+ [key: string]: string[];
935
+ };
936
+ /**
937
+ * The OIDC issuer URL.
938
+ */
939
+ issuer: string;
940
+ /**
941
+ * A label or description for the trusted external source entry.
942
+ */
943
+ label: string;
944
+ /**
945
+ * The target environments on this project that may be accessed.
946
+ */
947
+ to: outputs.GetProjectTrustedSourcesExternalSourceTo;
948
+ }
949
+ export interface GetProjectTrustedSourcesExternalSourceTo {
950
+ /**
951
+ * Named environment preset. Currently only `all-custom` is supported.
952
+ */
953
+ preset: string;
954
+ /**
955
+ * System environment slugs (`production`, `preview`, `development`) or custom environment slugs.
956
+ */
957
+ slugs: string[];
958
+ }
959
+ export interface GetProjectTrustedSourcesProject {
960
+ /**
961
+ * Optional overrides for default same-environment matching.
962
+ */
963
+ customAllows: outputs.GetProjectTrustedSourcesProjectCustomAllow[];
964
+ /**
965
+ * A label or description for the trusted project.
966
+ */
967
+ label: string;
968
+ /**
969
+ * The trusted Vercel project ID.
970
+ */
971
+ projectId: string;
972
+ }
973
+ export interface GetProjectTrustedSourcesProjectCustomAllow {
974
+ /**
975
+ * The source environments on the trusted project that are allowed to access the target environments.
976
+ */
977
+ from: outputs.GetProjectTrustedSourcesProjectCustomAllowFrom;
978
+ /**
979
+ * The target environments on this project that may be accessed.
980
+ */
981
+ to: outputs.GetProjectTrustedSourcesProjectCustomAllowTo;
982
+ }
983
+ export interface GetProjectTrustedSourcesProjectCustomAllowFrom {
984
+ /**
985
+ * Named environment preset. Currently only `all-custom` is supported.
986
+ */
987
+ preset: string;
988
+ /**
989
+ * System environment slugs (`production`, `preview`, `development`) or custom environment slugs.
990
+ */
991
+ slugs: string[];
992
+ }
993
+ export interface GetProjectTrustedSourcesProjectCustomAllowTo {
994
+ /**
995
+ * Named environment preset. Currently only `all-custom` is supported.
996
+ */
997
+ preset: string;
998
+ /**
999
+ * System environment slugs (`production`, `preview`, `development`) or custom environment slugs.
1000
+ */
1001
+ slugs: string[];
1002
+ }
502
1003
  export interface GetProjectVercelAuthentication {
503
1004
  /**
504
1005
  * The deployment environment that will be protected.
@@ -585,7 +1086,7 @@ export interface ProjectEnvironment {
585
1086
  */
586
1087
  key: string;
587
1088
  /**
588
- * Whether the Environment Variable is sensitive or not. (May be affected by a [team-wide environment variable policy](https://vercel.com/docs/projects/environment-variables/sensitive-environment-variables#environment-variables-policy))
1089
+ * Whether the Environment Variable is sensitive (meaning it cannot be read via the API or Vercel Dashboard once set). This must be explicitly set. If a [team-wide environment variable policy](https://vercel.com/docs/projects/environment-variables/sensitive-environment-variables#environment-variables-policy) is active, environment variables may have to be sensitive. Variables targeting only `development` must set this to `false`. Variables targeting `preview`, `production`, or custom environments may have to set this to `true`. A variable cannot target `development` together with `preview`, `production`, or custom environments while that team policy is enabled.
589
1090
  */
590
1091
  sensitive: boolean;
591
1092
  /**
@@ -619,7 +1120,7 @@ export interface ProjectEnvironmentVariablesVariable {
619
1120
  */
620
1121
  key: string;
621
1122
  /**
622
- * Whether the Environment Variable is sensitive or not.
1123
+ * Whether the Environment Variable is sensitive (meaning it cannot be read via the API or Vercel Dashboard once set). This must be explicitly set. If a team-wide environment variable policy is active, environment variables may have to be sensitive. Variables targeting only `development` must set this to `false`. Variables targeting `preview`, `production`, or custom environments may have to set this to `true`. A variable cannot target `development` together with `preview`, `production`, or custom environments while that team policy is enabled.
623
1124
  */
624
1125
  sensitive: boolean;
625
1126
  /**
@@ -642,10 +1143,18 @@ export interface ProjectGitComments {
642
1143
  onPullRequest: boolean;
643
1144
  }
644
1145
  export interface ProjectGitProviderOptions {
1146
+ /**
1147
+ * **Beta:** Configuration for consolidated git commit status reporting. When enabled, Vercel posts a single consolidated commit status instead of one per deployment. This feature is in beta and may change in backwards-incompatible ways.
1148
+ */
1149
+ consolidatedGitCommitStatus: outputs.ProjectGitProviderOptionsConsolidatedGitCommitStatus;
645
1150
  /**
646
1151
  * Whether to create deployments
647
1152
  */
648
1153
  createDeployments: boolean;
1154
+ /**
1155
+ * Whether Vercel should post git commit statuses for this project. Defaults to `true` when unset.
1156
+ */
1157
+ gitCommitStatus: boolean;
649
1158
  /**
650
1159
  * Whether to enable repository dispatch events
651
1160
  */
@@ -655,6 +1164,16 @@ export interface ProjectGitProviderOptions {
655
1164
  */
656
1165
  requireVerifiedCommits: boolean;
657
1166
  }
1167
+ export interface ProjectGitProviderOptionsConsolidatedGitCommitStatus {
1168
+ /**
1169
+ * **Beta:** Whether consolidated commit status is enabled.
1170
+ */
1171
+ enabled: boolean;
1172
+ /**
1173
+ * **Beta:** Whether to propagate individual deployment failures to the consolidated status.
1174
+ */
1175
+ propagateFailures: boolean;
1176
+ }
658
1177
  export interface ProjectGitRepository {
659
1178
  /**
660
1179
  * Deploy hooks are unique URLs that allow you to trigger a deployment of a given branch. See https://vercel.com/docs/deployments/deploy-hooks for full information.
@@ -765,6 +1284,106 @@ export interface ProjectRollingReleaseStage {
765
1284
  */
766
1285
  targetPercentage: number;
767
1286
  }
1287
+ export interface ProjectRoutePosition {
1288
+ /**
1289
+ * Where to place the rule. One of `start`, `end`, `before`, or `after`.
1290
+ */
1291
+ placement: string;
1292
+ /**
1293
+ * The existing route ID to place this rule before or after.
1294
+ */
1295
+ referenceRouteId?: string;
1296
+ }
1297
+ export interface ProjectRouteRoute {
1298
+ /**
1299
+ * Whether the `src` matcher is case-sensitive.
1300
+ */
1301
+ caseSensitive: boolean;
1302
+ /**
1303
+ * The destination for rewrites or redirects.
1304
+ */
1305
+ dest: string;
1306
+ /**
1307
+ * Conditions that must be present for the rule to match.
1308
+ */
1309
+ has: outputs.ProjectRouteRouteHa[];
1310
+ /**
1311
+ * Headers to set for the matched request.
1312
+ */
1313
+ headers: {
1314
+ [key: string]: string;
1315
+ };
1316
+ /**
1317
+ * Conditions that must be absent for the rule to match.
1318
+ */
1319
+ missings: outputs.ProjectRouteRouteMissing[];
1320
+ /**
1321
+ * Whether the rule should respect cache control headers from the origin.
1322
+ */
1323
+ respectOriginCacheControl: boolean;
1324
+ /**
1325
+ * The source pattern to match.
1326
+ */
1327
+ src: string;
1328
+ /**
1329
+ * The HTTP status code to set for redirects or status-only rules.
1330
+ */
1331
+ status: number;
1332
+ /**
1333
+ * Transforms applied to the request or response when the rule matches.
1334
+ */
1335
+ transforms: outputs.ProjectRouteRouteTransform[];
1336
+ }
1337
+ export interface ProjectRouteRouteHa {
1338
+ /**
1339
+ * The key to match for `header`, `cookie`, or `query` conditions.
1340
+ */
1341
+ key: string;
1342
+ /**
1343
+ * The condition type. One of `host`, `header`, `cookie`, or `query`.
1344
+ */
1345
+ type: string;
1346
+ /**
1347
+ * The value to match.
1348
+ */
1349
+ value: string;
1350
+ }
1351
+ export interface ProjectRouteRouteMissing {
1352
+ /**
1353
+ * The key to match for `header`, `cookie`, or `query` conditions.
1354
+ */
1355
+ key: string;
1356
+ /**
1357
+ * The condition type. One of `host`, `header`, `cookie`, or `query`.
1358
+ */
1359
+ type: string;
1360
+ /**
1361
+ * The value to match.
1362
+ */
1363
+ value: string;
1364
+ }
1365
+ export interface ProjectRouteRouteTransform {
1366
+ /**
1367
+ * A JSON document containing transform arguments. Prefer `jsonencode(...)` when setting this.
1368
+ */
1369
+ args: string;
1370
+ /**
1371
+ * Environment names that gate this transform.
1372
+ */
1373
+ envs: string[];
1374
+ /**
1375
+ * The transform operation. One of `append`, `set`, or `delete`.
1376
+ */
1377
+ op: string;
1378
+ /**
1379
+ * A JSON document describing the transform target. Prefer `jsonencode(...)` when setting this.
1380
+ */
1381
+ target: string;
1382
+ /**
1383
+ * The transform target. One of `request.headers`, `request.query`, or `response.headers`.
1384
+ */
1385
+ type: string;
1386
+ }
768
1387
  export interface ProjectTrustedIps {
769
1388
  /**
770
1389
  * The allowed IP addressses and CIDR ranges with optional descriptions.
@@ -789,6 +1408,90 @@ export interface ProjectTrustedIpsAddress {
789
1408
  */
790
1409
  value: string;
791
1410
  }
1411
+ export interface ProjectTrustedSources {
1412
+ /**
1413
+ * External sources that can reach this project's protected deployments using short-lived OIDC tokens.
1414
+ */
1415
+ externalSources?: outputs.ProjectTrustedSourcesExternalSource[];
1416
+ /**
1417
+ * Vercel projects in the same team that can reach this project's protected deployments.
1418
+ */
1419
+ projects?: outputs.ProjectTrustedSourcesProject[];
1420
+ }
1421
+ export interface ProjectTrustedSourcesExternalSource {
1422
+ /**
1423
+ * Claims that must match on the OIDC token. Each key is a claim name, and each value is a set of accepted values. The API requires `aud` and issuer-specific identity claims.
1424
+ */
1425
+ claims: {
1426
+ [key: string]: string[];
1427
+ };
1428
+ /**
1429
+ * The OIDC issuer URL.
1430
+ */
1431
+ issuer: string;
1432
+ /**
1433
+ * A label or description for the trusted external source entry.
1434
+ */
1435
+ label?: string;
1436
+ /**
1437
+ * The target environments on this project that may be accessed.
1438
+ */
1439
+ to: outputs.ProjectTrustedSourcesExternalSourceTo;
1440
+ }
1441
+ export interface ProjectTrustedSourcesExternalSourceTo {
1442
+ /**
1443
+ * Named environment preset. Currently only `all-custom` is supported.
1444
+ */
1445
+ preset?: string;
1446
+ /**
1447
+ * System environment slugs (`production`, `preview`, `development`) or custom environment slugs.
1448
+ */
1449
+ slugs?: string[];
1450
+ }
1451
+ export interface ProjectTrustedSourcesProject {
1452
+ /**
1453
+ * Optional overrides for default same-environment matching. Saved rules replace the API defaults for this trusted project.
1454
+ */
1455
+ customAllows?: outputs.ProjectTrustedSourcesProjectCustomAllow[];
1456
+ /**
1457
+ * A label or description for the trusted project.
1458
+ */
1459
+ label?: string;
1460
+ /**
1461
+ * The trusted Vercel project ID.
1462
+ */
1463
+ projectId: string;
1464
+ }
1465
+ export interface ProjectTrustedSourcesProjectCustomAllow {
1466
+ /**
1467
+ * The source environments on the trusted project that are allowed to access the target environments.
1468
+ */
1469
+ from: outputs.ProjectTrustedSourcesProjectCustomAllowFrom;
1470
+ /**
1471
+ * The target environments on this project that may be accessed.
1472
+ */
1473
+ to: outputs.ProjectTrustedSourcesProjectCustomAllowTo;
1474
+ }
1475
+ export interface ProjectTrustedSourcesProjectCustomAllowFrom {
1476
+ /**
1477
+ * Named environment preset. Currently only `all-custom` is supported.
1478
+ */
1479
+ preset?: string;
1480
+ /**
1481
+ * System environment slugs (`production`, `preview`, `development`) or custom environment slugs.
1482
+ */
1483
+ slugs?: string[];
1484
+ }
1485
+ export interface ProjectTrustedSourcesProjectCustomAllowTo {
1486
+ /**
1487
+ * Named environment preset. Currently only `all-custom` is supported.
1488
+ */
1489
+ preset?: string;
1490
+ /**
1491
+ * System environment slugs (`production`, `preview`, `development`) or custom environment slugs.
1492
+ */
1493
+ slugs?: string[];
1494
+ }
792
1495
  export interface ProjectVercelAuthentication {
793
1496
  /**
794
1497
  * The deployment environment to protect. The default value is `standardProtectionNew` (Standard Protection). Must be one of `standardProtectionNew` (Standard Protection), `standardProtection` (Legacy Standard Protection), `allDeployments`, `onlyPreviewDeployments`, or `none`.