@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
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FeatureFlagSdkKey = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides a Feature Flag SDK Key resource.
10
+ *
11
+ * SDK keys are project-scoped and environment-specific. Vercel only returns the cleartext SDK key and connection string at creation time, so this resource preserves the existing sensitive values in state when later reads omit them.
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as vercel from "@pulumiverse/vercel";
18
+ *
19
+ * const example = new vercel.Project("example", {name: "feature-flag-sdk-key-example"});
20
+ * const exampleFeatureFlagSdkKey = new vercel.FeatureFlagSdkKey("example", {
21
+ * projectId: example.id,
22
+ * environment: "production",
23
+ * type: "server",
24
+ * label: "backend-sdk",
25
+ * });
26
+ * const exampleProjectEnvironmentVariable = new vercel.ProjectEnvironmentVariable("example", {
27
+ * projectId: example.id,
28
+ * targets: ["production"],
29
+ * sensitive: true,
30
+ * key: "FLAGS_CONNECTION_STRING",
31
+ * value: exampleFeatureFlagSdkKey.connectionString,
32
+ * });
33
+ * ```
34
+ *
35
+ * ## Import
36
+ *
37
+ * The `pulumi import` command can be used, for example:
38
+ *
39
+ * If importing into a personal account, or with a team configured on
40
+ * the provider, simply use the project ID and SDK key hash.
41
+ * - projectId can be found in the project `settings` tab in the Vercel UI.
42
+ * - hashKey can be found from the Flags SDK Keys UI or API.
43
+ *
44
+ * ```sh
45
+ * $ pulumi import vercel:index/featureFlagSdkKey:FeatureFlagSdkKey example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/sdk_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
46
+ * ```
47
+ *
48
+ * Alternatively, you can import via the team_id, project_id, and SDK key hash.
49
+ * - teamId can be found in the team `settings` tab in the Vercel UI.
50
+ * - projectId can be found in the project `settings` tab in the Vercel UI.
51
+ *
52
+ * ```sh
53
+ * $ pulumi import vercel:index/featureFlagSdkKey:FeatureFlagSdkKey example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/sdk_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
54
+ * ```
55
+ */
56
+ class FeatureFlagSdkKey extends pulumi.CustomResource {
57
+ /**
58
+ * Get an existing FeatureFlagSdkKey resource's state with the given name, ID, and optional extra
59
+ * properties used to qualify the lookup.
60
+ *
61
+ * @param name The _unique_ name of the resulting resource.
62
+ * @param id The _unique_ provider ID of the resource to lookup.
63
+ * @param state Any extra arguments used during the lookup.
64
+ * @param opts Optional settings to control the behavior of the CustomResource.
65
+ */
66
+ static get(name, id, state, opts) {
67
+ return new FeatureFlagSdkKey(name, state, { ...opts, id: id });
68
+ }
69
+ /**
70
+ * Returns true if the given object is an instance of FeatureFlagSdkKey. This is designed to work even
71
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
72
+ */
73
+ static isInstance(obj) {
74
+ if (obj === undefined || obj === null) {
75
+ return false;
76
+ }
77
+ return obj['__pulumiType'] === FeatureFlagSdkKey.__pulumiType;
78
+ }
79
+ constructor(name, argsOrState, opts) {
80
+ let resourceInputs = {};
81
+ opts = opts || {};
82
+ if (opts.id) {
83
+ const state = argsOrState;
84
+ resourceInputs["connectionString"] = state?.connectionString;
85
+ resourceInputs["environment"] = state?.environment;
86
+ resourceInputs["label"] = state?.label;
87
+ resourceInputs["projectId"] = state?.projectId;
88
+ resourceInputs["sdkKey"] = state?.sdkKey;
89
+ resourceInputs["teamId"] = state?.teamId;
90
+ resourceInputs["type"] = state?.type;
91
+ }
92
+ else {
93
+ const args = argsOrState;
94
+ if (args?.environment === undefined && !opts.urn) {
95
+ throw new Error("Missing required property 'environment'");
96
+ }
97
+ if (args?.projectId === undefined && !opts.urn) {
98
+ throw new Error("Missing required property 'projectId'");
99
+ }
100
+ if (args?.type === undefined && !opts.urn) {
101
+ throw new Error("Missing required property 'type'");
102
+ }
103
+ resourceInputs["environment"] = args?.environment;
104
+ resourceInputs["label"] = args?.label;
105
+ resourceInputs["projectId"] = args?.projectId;
106
+ resourceInputs["teamId"] = args?.teamId;
107
+ resourceInputs["type"] = args?.type;
108
+ resourceInputs["connectionString"] = undefined /*out*/;
109
+ resourceInputs["sdkKey"] = undefined /*out*/;
110
+ }
111
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
112
+ const secretOpts = { additionalSecretOutputs: ["connectionString", "sdkKey"] };
113
+ opts = pulumi.mergeOptions(opts, secretOpts);
114
+ super(FeatureFlagSdkKey.__pulumiType, name, resourceInputs, opts);
115
+ }
116
+ }
117
+ exports.FeatureFlagSdkKey = FeatureFlagSdkKey;
118
+ /** @internal */
119
+ FeatureFlagSdkKey.__pulumiType = 'vercel:index/featureFlagSdkKey:FeatureFlagSdkKey';
120
+ //# sourceMappingURL=featureFlagSdkKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureFlagSdkKey.js","sourceRoot":"","sources":["../featureFlagSdkKey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Provides a Feature Flag Segment resource.
6
+ *
7
+ * This first draft focuses on exact-match membership lists through `include` and `exclude` entries. Dashboard-defined rule logic is intentionally not flattened into Terraform here.
8
+ *
9
+ * Vercel's API requires a `hint` field even for simple segments, so this resource defaults it to an empty string unless you want to populate it for dashboard users.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as vercel from "@pulumiverse/vercel";
16
+ *
17
+ * const example = new vercel.Project("example", {name: "feature-flag-segment-example"});
18
+ * const exampleFeatureFlagSegment = new vercel.FeatureFlagSegment("example", {
19
+ * projectId: example.id,
20
+ * slug: "internal-users",
21
+ * name: "Internal Users",
22
+ * description: "Employees who should always see internal-only flag treatments",
23
+ * hint: "user-email",
24
+ * includes: [{
25
+ * entity: "user",
26
+ * attribute: "email",
27
+ * values: [
28
+ * "alice@example.com",
29
+ * "bob@example.com",
30
+ * ],
31
+ * }],
32
+ * excludes: [{
33
+ * entity: "user",
34
+ * attribute: "id",
35
+ * values: ["contractor-123"],
36
+ * }],
37
+ * });
38
+ * ```
39
+ *
40
+ * ## Import
41
+ *
42
+ * The `pulumi import` command can be used, for example:
43
+ *
44
+ * If importing into a personal account, or with a team configured on
45
+ * the provider, simply use the project ID and segment ID.
46
+ * - projectId can be found in the project `settings` tab in the Vercel UI.
47
+ * - segmentId can be found from the Flags API or by inspecting the segment in the Vercel UI.
48
+ *
49
+ * ```sh
50
+ * $ pulumi import vercel:index/featureFlagSegment:FeatureFlagSegment example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/segment_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
51
+ * ```
52
+ *
53
+ * Alternatively, you can import via the team_id, project_id, and segment ID.
54
+ * - teamId can be found in the team `settings` tab in the Vercel UI.
55
+ * - projectId can be found in the project `settings` tab in the Vercel UI.
56
+ *
57
+ * ```sh
58
+ * $ pulumi import vercel:index/featureFlagSegment:FeatureFlagSegment example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/segment_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
59
+ * ```
60
+ */
61
+ export declare class FeatureFlagSegment extends pulumi.CustomResource {
62
+ /**
63
+ * Get an existing FeatureFlagSegment resource's state with the given name, ID, and optional extra
64
+ * properties used to qualify the lookup.
65
+ *
66
+ * @param name The _unique_ name of the resulting resource.
67
+ * @param id The _unique_ provider ID of the resource to lookup.
68
+ * @param state Any extra arguments used during the lookup.
69
+ * @param opts Optional settings to control the behavior of the CustomResource.
70
+ */
71
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FeatureFlagSegmentState, opts?: pulumi.CustomResourceOptions): FeatureFlagSegment;
72
+ /**
73
+ * Returns true if the given object is an instance of FeatureFlagSegment. This is designed to work even
74
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
75
+ */
76
+ static isInstance(obj: any): obj is FeatureFlagSegment;
77
+ /**
78
+ * A human-readable description of the segment.
79
+ */
80
+ readonly description: pulumi.Output<string | undefined>;
81
+ /**
82
+ * Exact entity attribute values that should always be excluded from this segment.
83
+ */
84
+ readonly excludes: pulumi.Output<outputs.FeatureFlagSegmentExclude[] | undefined>;
85
+ /**
86
+ * An optional dashboard hint for the segment.
87
+ */
88
+ readonly hint: pulumi.Output<string>;
89
+ /**
90
+ * Exact entity attribute values that should always be part of this segment.
91
+ */
92
+ readonly includes: pulumi.Output<outputs.FeatureFlagSegmentInclude[] | undefined>;
93
+ /**
94
+ * The human-readable segment name shown in the Vercel dashboard.
95
+ */
96
+ readonly name: pulumi.Output<string>;
97
+ /**
98
+ * The ID of the Vercel project that owns the segment.
99
+ */
100
+ readonly projectId: pulumi.Output<string>;
101
+ /**
102
+ * The stable segment slug used by the Vercel Flags API.
103
+ */
104
+ readonly slug: pulumi.Output<string>;
105
+ /**
106
+ * The ID of the Vercel team. Required when configuring a team resource if a default team has not been set in the provider.
107
+ */
108
+ readonly teamId: pulumi.Output<string>;
109
+ /**
110
+ * Create a FeatureFlagSegment resource with the given unique name, arguments, and options.
111
+ *
112
+ * @param name The _unique_ name of the resource.
113
+ * @param args The arguments to use to populate this resource's properties.
114
+ * @param opts A bag of options that control this resource's behavior.
115
+ */
116
+ constructor(name: string, args: FeatureFlagSegmentArgs, opts?: pulumi.CustomResourceOptions);
117
+ }
118
+ /**
119
+ * Input properties used for looking up and filtering FeatureFlagSegment resources.
120
+ */
121
+ export interface FeatureFlagSegmentState {
122
+ /**
123
+ * A human-readable description of the segment.
124
+ */
125
+ description?: pulumi.Input<string>;
126
+ /**
127
+ * Exact entity attribute values that should always be excluded from this segment.
128
+ */
129
+ excludes?: pulumi.Input<pulumi.Input<inputs.FeatureFlagSegmentExclude>[]>;
130
+ /**
131
+ * An optional dashboard hint for the segment.
132
+ */
133
+ hint?: pulumi.Input<string>;
134
+ /**
135
+ * Exact entity attribute values that should always be part of this segment.
136
+ */
137
+ includes?: pulumi.Input<pulumi.Input<inputs.FeatureFlagSegmentInclude>[]>;
138
+ /**
139
+ * The human-readable segment name shown in the Vercel dashboard.
140
+ */
141
+ name?: pulumi.Input<string>;
142
+ /**
143
+ * The ID of the Vercel project that owns the segment.
144
+ */
145
+ projectId?: pulumi.Input<string>;
146
+ /**
147
+ * The stable segment slug used by the Vercel Flags API.
148
+ */
149
+ slug?: pulumi.Input<string>;
150
+ /**
151
+ * The ID of the Vercel team. Required when configuring a team resource if a default team has not been set in the provider.
152
+ */
153
+ teamId?: pulumi.Input<string>;
154
+ }
155
+ /**
156
+ * The set of arguments for constructing a FeatureFlagSegment resource.
157
+ */
158
+ export interface FeatureFlagSegmentArgs {
159
+ /**
160
+ * A human-readable description of the segment.
161
+ */
162
+ description?: pulumi.Input<string>;
163
+ /**
164
+ * Exact entity attribute values that should always be excluded from this segment.
165
+ */
166
+ excludes?: pulumi.Input<pulumi.Input<inputs.FeatureFlagSegmentExclude>[]>;
167
+ /**
168
+ * An optional dashboard hint for the segment.
169
+ */
170
+ hint?: pulumi.Input<string>;
171
+ /**
172
+ * Exact entity attribute values that should always be part of this segment.
173
+ */
174
+ includes?: pulumi.Input<pulumi.Input<inputs.FeatureFlagSegmentInclude>[]>;
175
+ /**
176
+ * The human-readable segment name shown in the Vercel dashboard.
177
+ */
178
+ name?: pulumi.Input<string>;
179
+ /**
180
+ * The ID of the Vercel project that owns the segment.
181
+ */
182
+ projectId: pulumi.Input<string>;
183
+ /**
184
+ * The stable segment slug used by the Vercel Flags API.
185
+ */
186
+ slug: pulumi.Input<string>;
187
+ /**
188
+ * The ID of the Vercel team. Required when configuring a team resource if a default team has not been set in the provider.
189
+ */
190
+ teamId?: pulumi.Input<string>;
191
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.FeatureFlagSegment = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides a Feature Flag Segment resource.
10
+ *
11
+ * This first draft focuses on exact-match membership lists through `include` and `exclude` entries. Dashboard-defined rule logic is intentionally not flattened into Terraform here.
12
+ *
13
+ * Vercel's API requires a `hint` field even for simple segments, so this resource defaults it to an empty string unless you want to populate it for dashboard users.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as vercel from "@pulumiverse/vercel";
20
+ *
21
+ * const example = new vercel.Project("example", {name: "feature-flag-segment-example"});
22
+ * const exampleFeatureFlagSegment = new vercel.FeatureFlagSegment("example", {
23
+ * projectId: example.id,
24
+ * slug: "internal-users",
25
+ * name: "Internal Users",
26
+ * description: "Employees who should always see internal-only flag treatments",
27
+ * hint: "user-email",
28
+ * includes: [{
29
+ * entity: "user",
30
+ * attribute: "email",
31
+ * values: [
32
+ * "alice@example.com",
33
+ * "bob@example.com",
34
+ * ],
35
+ * }],
36
+ * excludes: [{
37
+ * entity: "user",
38
+ * attribute: "id",
39
+ * values: ["contractor-123"],
40
+ * }],
41
+ * });
42
+ * ```
43
+ *
44
+ * ## Import
45
+ *
46
+ * The `pulumi import` command can be used, for example:
47
+ *
48
+ * If importing into a personal account, or with a team configured on
49
+ * the provider, simply use the project ID and segment ID.
50
+ * - projectId can be found in the project `settings` tab in the Vercel UI.
51
+ * - segmentId can be found from the Flags API or by inspecting the segment in the Vercel UI.
52
+ *
53
+ * ```sh
54
+ * $ pulumi import vercel:index/featureFlagSegment:FeatureFlagSegment example prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/segment_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
55
+ * ```
56
+ *
57
+ * Alternatively, you can import via the team_id, project_id, and segment ID.
58
+ * - teamId can be found in the team `settings` tab in the Vercel UI.
59
+ * - projectId can be found in the project `settings` tab in the Vercel UI.
60
+ *
61
+ * ```sh
62
+ * $ pulumi import vercel:index/featureFlagSegment:FeatureFlagSegment example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx/segment_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
63
+ * ```
64
+ */
65
+ class FeatureFlagSegment extends pulumi.CustomResource {
66
+ /**
67
+ * Get an existing FeatureFlagSegment resource's state with the given name, ID, and optional extra
68
+ * properties used to qualify the lookup.
69
+ *
70
+ * @param name The _unique_ name of the resulting resource.
71
+ * @param id The _unique_ provider ID of the resource to lookup.
72
+ * @param state Any extra arguments used during the lookup.
73
+ * @param opts Optional settings to control the behavior of the CustomResource.
74
+ */
75
+ static get(name, id, state, opts) {
76
+ return new FeatureFlagSegment(name, state, { ...opts, id: id });
77
+ }
78
+ /**
79
+ * Returns true if the given object is an instance of FeatureFlagSegment. This is designed to work even
80
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
81
+ */
82
+ static isInstance(obj) {
83
+ if (obj === undefined || obj === null) {
84
+ return false;
85
+ }
86
+ return obj['__pulumiType'] === FeatureFlagSegment.__pulumiType;
87
+ }
88
+ constructor(name, argsOrState, opts) {
89
+ let resourceInputs = {};
90
+ opts = opts || {};
91
+ if (opts.id) {
92
+ const state = argsOrState;
93
+ resourceInputs["description"] = state?.description;
94
+ resourceInputs["excludes"] = state?.excludes;
95
+ resourceInputs["hint"] = state?.hint;
96
+ resourceInputs["includes"] = state?.includes;
97
+ resourceInputs["name"] = state?.name;
98
+ resourceInputs["projectId"] = state?.projectId;
99
+ resourceInputs["slug"] = state?.slug;
100
+ resourceInputs["teamId"] = state?.teamId;
101
+ }
102
+ else {
103
+ const args = argsOrState;
104
+ if (args?.projectId === undefined && !opts.urn) {
105
+ throw new Error("Missing required property 'projectId'");
106
+ }
107
+ if (args?.slug === undefined && !opts.urn) {
108
+ throw new Error("Missing required property 'slug'");
109
+ }
110
+ resourceInputs["description"] = args?.description;
111
+ resourceInputs["excludes"] = args?.excludes;
112
+ resourceInputs["hint"] = args?.hint;
113
+ resourceInputs["includes"] = args?.includes;
114
+ resourceInputs["name"] = args?.name;
115
+ resourceInputs["projectId"] = args?.projectId;
116
+ resourceInputs["slug"] = args?.slug;
117
+ resourceInputs["teamId"] = args?.teamId;
118
+ }
119
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
120
+ super(FeatureFlagSegment.__pulumiType, name, resourceInputs, opts);
121
+ }
122
+ }
123
+ exports.FeatureFlagSegment = FeatureFlagSegment;
124
+ /** @internal */
125
+ FeatureFlagSegment.__pulumiType = 'vercel:index/featureFlagSegment:FeatureFlagSegment';
126
+ //# sourceMappingURL=featureFlagSegment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureFlagSegment.js","sourceRoot":"","sources":["../featureFlagSegment.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,12 @@ import * as pulumi from "@pulumi/pulumi";
32
32
  *
33
33
  * ## Import
34
34
  *
35
+ * The `pulumi import` command can be used, for example:
36
+ *
35
37
  * ```sh
36
38
  * $ pulumi import vercel:index/firewallBypass:FirewallBypass example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx#mybypasshost.com#3.4.5.0/24
37
- * ```
38
39
  *
39
- * ```sh
40
+ *
40
41
  * $ pulumi import vercel:index/firewallBypass:FirewallBypass example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx#3.4.5.0/24
41
42
  * ```
42
43
  */
package/firewallBypass.js CHANGED
@@ -38,11 +38,12 @@ const utilities = require("./utilities");
38
38
  *
39
39
  * ## Import
40
40
  *
41
+ * The `pulumi import` command can be used, for example:
42
+ *
41
43
  * ```sh
42
44
  * $ pulumi import vercel:index/firewallBypass:FirewallBypass example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx#mybypasshost.com#3.4.5.0/24
43
- * ```
44
45
  *
45
- * ```sh
46
+ *
46
47
  * $ pulumi import vercel:index/firewallBypass:FirewallBypass example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx#3.4.5.0/24
47
48
  * ```
48
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"firewallBypass.js","sourceRoot":"","sources":["../firewallBypass.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAa,cAAe,SAAQ,MAAM,CAAC,cAAc;IACrD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2B,EAAE,IAAmC;QACzH,OAAO,IAAI,cAAc,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,YAAY,CAAC;IAC/D,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAsD,EAAE,IAAmC;QACjH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8C,CAAC;YAC7D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAA6C,CAAC;YAC3D,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;;AAtFL,wCAuFC;AAzEG,gBAAgB;AACO,2BAAY,GAAG,4CAA4C,CAAC"}
1
+ {"version":3,"file":"firewallBypass.js","sourceRoot":"","sources":["../firewallBypass.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAa,cAAe,SAAQ,MAAM,CAAC,cAAc;IACrD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2B,EAAE,IAAmC;QACzH,OAAO,IAAI,cAAc,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,YAAY,CAAC;IAC/D,CAAC;IA+BD,YAAY,IAAY,EAAE,WAAsD,EAAE,IAAmC;QACjH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8C,CAAC;YAC7D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAA6C,CAAC;YAC3D,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;;AAtFL,wCAuFC;AAzEG,gBAAgB;AACO,2BAAY,GAAG,4CAA4C,CAAC"}
@@ -223,6 +223,8 @@ import * as outputs from "./types/output";
223
223
  *
224
224
  * ## Import
225
225
  *
226
+ * The `pulumi import` command can be used, for example:
227
+ *
226
228
  * ```sh
227
229
  * $ pulumi import vercel:index/firewallConfig:FirewallConfig example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
228
230
  * ```
package/firewallConfig.js CHANGED
@@ -227,6 +227,8 @@ const utilities = require("./utilities");
227
227
  *
228
228
  * ## Import
229
229
  *
230
+ * The `pulumi import` command can be used, for example:
231
+ *
230
232
  * ```sh
231
233
  * $ pulumi import vercel:index/firewallConfig:FirewallConfig example team_xxxxxxxxxxxxxxxxxxxxxxxx/prj_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
232
234
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"firewallConfig.js","sourceRoot":"","sources":["../firewallConfig.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiOG;AACH,MAAa,cAAe,SAAQ,MAAM,CAAC,cAAc;IACrD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2B,EAAE,IAAmC;QACzH,OAAO,IAAI,cAAc,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,YAAY,CAAC;IAC/D,CAAC;IAmCD,YAAY,IAAY,EAAE,WAAsD,EAAE,IAAmC;QACjH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8C,CAAC;YAC7D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC;YAC3D,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAA6C,CAAC;YAC3D,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAAE,eAAe,CAAC;YAC1D,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;;AAtFL,wCAuFC;AAzEG,gBAAgB;AACO,2BAAY,GAAG,4CAA4C,CAAC"}
1
+ {"version":3,"file":"firewallConfig.js","sourceRoot":"","sources":["../firewallConfig.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmOG;AACH,MAAa,cAAe,SAAQ,MAAM,CAAC,cAAc;IACrD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA2B,EAAE,IAAmC;QACzH,OAAO,IAAI,cAAc,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,cAAc,CAAC,YAAY,CAAC;IAC/D,CAAC;IAmCD,YAAY,IAAY,EAAE,WAAsD,EAAE,IAAmC;QACjH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA8C,CAAC;YAC7D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,EAAE,eAAe,CAAC;YAC3D,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAA6C,CAAC;YAC3D,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAAE,eAAe,CAAC;YAC1D,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;;AAtFL,wCAuFC;AAzEG,gBAAgB;AACO,2BAAY,GAAG,4CAA4C,CAAC"}
@@ -0,0 +1,100 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides metadata about an existing object in a Vercel Blob store.
4
+ */
5
+ export declare function getBlobObject(args: GetBlobObjectArgs, opts?: pulumi.InvokeOptions): Promise<GetBlobObjectResult>;
6
+ /**
7
+ * A collection of arguments for invoking getBlobObject.
8
+ */
9
+ export interface GetBlobObjectArgs {
10
+ /**
11
+ * The pathname of the Blob object within the store.
12
+ */
13
+ pathname: string;
14
+ /**
15
+ * The ID of the Blob store that contains the object.
16
+ */
17
+ storeId: string;
18
+ /**
19
+ * The ID of the team that owns the Blob store. Required when configuring a team resource if a default team has not been set in the provider.
20
+ */
21
+ teamId?: string;
22
+ }
23
+ /**
24
+ * A collection of values returned by getBlobObject.
25
+ */
26
+ export interface GetBlobObjectResult {
27
+ /**
28
+ * The full Cache-Control header stored on the Blob object.
29
+ */
30
+ readonly cacheControl: string;
31
+ /**
32
+ * The cache max-age, in seconds, stored on the Blob object.
33
+ */
34
+ readonly cacheControlMaxAge: number;
35
+ /**
36
+ * The content disposition returned for the Blob object.
37
+ */
38
+ readonly contentDisposition: string;
39
+ /**
40
+ * The content type stored on the Blob object.
41
+ */
42
+ readonly contentType: string;
43
+ /**
44
+ * The Blob object URL with download semantics enabled.
45
+ */
46
+ readonly downloadUrl: string;
47
+ /**
48
+ * The current ETag for the Blob object.
49
+ */
50
+ readonly etag: string;
51
+ /**
52
+ * The unique identifier for this Blob object. Format: `store_id/pathname`.
53
+ */
54
+ readonly id: string;
55
+ /**
56
+ * The pathname of the Blob object within the store.
57
+ */
58
+ readonly pathname: string;
59
+ /**
60
+ * The size of the Blob object in bytes.
61
+ */
62
+ readonly size: number;
63
+ /**
64
+ * The ID of the Blob store that contains the object.
65
+ */
66
+ readonly storeId: string;
67
+ /**
68
+ * The ID of the team that owns the Blob store. Required when configuring a team resource if a default team has not been set in the provider.
69
+ */
70
+ readonly teamId: string;
71
+ /**
72
+ * The timestamp at which the Blob object was uploaded.
73
+ */
74
+ readonly uploadedAt: string;
75
+ /**
76
+ * The canonical URL for the Blob object.
77
+ */
78
+ readonly url: string;
79
+ }
80
+ /**
81
+ * Provides metadata about an existing object in a Vercel Blob store.
82
+ */
83
+ export declare function getBlobObjectOutput(args: GetBlobObjectOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBlobObjectResult>;
84
+ /**
85
+ * A collection of arguments for invoking getBlobObject.
86
+ */
87
+ export interface GetBlobObjectOutputArgs {
88
+ /**
89
+ * The pathname of the Blob object within the store.
90
+ */
91
+ pathname: pulumi.Input<string>;
92
+ /**
93
+ * The ID of the Blob store that contains the object.
94
+ */
95
+ storeId: pulumi.Input<string>;
96
+ /**
97
+ * The ID of the team that owns the Blob store. Required when configuring a team resource if a default team has not been set in the provider.
98
+ */
99
+ teamId?: pulumi.Input<string>;
100
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getBlobObjectOutput = exports.getBlobObject = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides metadata about an existing object in a Vercel Blob store.
10
+ */
11
+ function getBlobObject(args, opts) {
12
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
13
+ return pulumi.runtime.invoke("vercel:index/getBlobObject:getBlobObject", {
14
+ "pathname": args.pathname,
15
+ "storeId": args.storeId,
16
+ "teamId": args.teamId,
17
+ }, opts);
18
+ }
19
+ exports.getBlobObject = getBlobObject;
20
+ /**
21
+ * Provides metadata about an existing object in a Vercel Blob store.
22
+ */
23
+ function getBlobObjectOutput(args, opts) {
24
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
25
+ return pulumi.runtime.invokeOutput("vercel:index/getBlobObject:getBlobObject", {
26
+ "pathname": args.pathname,
27
+ "storeId": args.storeId,
28
+ "teamId": args.teamId,
29
+ }, opts);
30
+ }
31
+ exports.getBlobObjectOutput = getBlobObjectOutput;
32
+ //# sourceMappingURL=getBlobObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlobObject.js","sourceRoot":"","sources":["../getBlobObject.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;GAEG;AACH,SAAgB,aAAa,CAAC,IAAuB,EAAE,IAA2B;IAC9E,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0CAA0C,EAAE;QACrE,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI,CAAC,MAAM;KACxB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,sCAOC;AA6ED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAA6B,EAAE,IAAiC;IAChG,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0CAA0C,EAAE;QAC3E,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI,CAAC,MAAM;KACxB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,kDAOC"}