@pulumi/gcp 6.44.0 → 6.45.0

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 (164) hide show
  1. package/alloydb/instance.d.ts +3 -0
  2. package/alloydb/instance.js +3 -0
  3. package/alloydb/instance.js.map +1 -1
  4. package/bigtable/gcpolicy.d.ts +58 -32
  5. package/bigtable/gcpolicy.js +45 -32
  6. package/bigtable/gcpolicy.js.map +1 -1
  7. package/bigtable/instance.d.ts +6 -3
  8. package/bigtable/instance.js.map +1 -1
  9. package/certificateauthority/authority.d.ts +3 -2
  10. package/certificateauthority/authority.js +3 -2
  11. package/certificateauthority/authority.js.map +1 -1
  12. package/certificateauthority/certificate.d.ts +12 -5
  13. package/certificateauthority/certificate.js +12 -5
  14. package/certificateauthority/certificate.js.map +1 -1
  15. package/cloudrunv2/index.d.ts +6 -0
  16. package/cloudrunv2/index.js +27 -0
  17. package/cloudrunv2/index.js.map +1 -0
  18. package/cloudrunv2/job.d.ts +501 -0
  19. package/cloudrunv2/job.js +321 -0
  20. package/cloudrunv2/job.js.map +1 -0
  21. package/cloudrunv2/service.d.ts +574 -0
  22. package/cloudrunv2/service.js +334 -0
  23. package/cloudrunv2/service.js.map +1 -0
  24. package/compute/backendService.d.ts +19 -0
  25. package/compute/backendService.js +19 -0
  26. package/compute/backendService.js.map +1 -1
  27. package/compute/forwardingRule.d.ts +21 -30
  28. package/compute/forwardingRule.js.map +1 -1
  29. package/compute/instanceGroupManager.d.ts +27 -0
  30. package/compute/instanceGroupManager.js +2 -0
  31. package/compute/instanceGroupManager.js.map +1 -1
  32. package/compute/regionInstanceGroupManager.d.ts +27 -0
  33. package/compute/regionInstanceGroupManager.js +2 -0
  34. package/compute/regionInstanceGroupManager.js.map +1 -1
  35. package/compute/routerInterface.d.ts +52 -31
  36. package/compute/routerInterface.js +4 -0
  37. package/compute/routerInterface.js.map +1 -1
  38. package/compute/securityPolicy.d.ts +83 -0
  39. package/compute/securityPolicy.js +73 -0
  40. package/compute/securityPolicy.js.map +1 -1
  41. package/config/vars.d.ts +3 -0
  42. package/config/vars.js +18 -0
  43. package/config/vars.js.map +1 -1
  44. package/container/cluster.d.ts +7 -4
  45. package/container/cluster.js.map +1 -1
  46. package/container/nodePool.d.ts +9 -6
  47. package/container/nodePool.js.map +1 -1
  48. package/datafusion/instance.d.ts +97 -5
  49. package/datafusion/instance.js +52 -5
  50. package/datafusion/instance.js.map +1 -1
  51. package/dataproc/metastoreService.d.ts +49 -0
  52. package/dataproc/metastoreService.js +34 -0
  53. package/dataproc/metastoreService.js.map +1 -1
  54. package/datastream/privateConnection.d.ts +16 -0
  55. package/datastream/privateConnection.js +4 -0
  56. package/datastream/privateConnection.js.map +1 -1
  57. package/eventarc/googleChannelConfig.d.ts +142 -0
  58. package/eventarc/googleChannelConfig.js +110 -0
  59. package/eventarc/googleChannelConfig.js.map +1 -0
  60. package/eventarc/index.d.ts +3 -0
  61. package/eventarc/index.js +6 -1
  62. package/eventarc/index.js.map +1 -1
  63. package/firebase/getAndroidApp.d.ts +36 -0
  64. package/firebase/getAndroidApp.js +22 -0
  65. package/firebase/getAndroidApp.js.map +1 -0
  66. package/firebase/index.d.ts +6 -0
  67. package/firebase/index.js +9 -1
  68. package/firebase/index.js.map +1 -1
  69. package/firebase/storageBucket.d.ts +109 -0
  70. package/firebase/storageBucket.js +91 -0
  71. package/firebase/storageBucket.js.map +1 -0
  72. package/gkebackup/backupPlan.d.ts +403 -0
  73. package/gkebackup/backupPlan.js +259 -0
  74. package/gkebackup/backupPlan.js.map +1 -0
  75. package/gkebackup/index.d.ts +3 -0
  76. package/gkebackup/index.js +22 -0
  77. package/gkebackup/index.js.map +1 -0
  78. package/gkehub/featureMembership.d.ts +1 -0
  79. package/gkehub/featureMembership.js +1 -0
  80. package/gkehub/featureMembership.js.map +1 -1
  81. package/iam/index.d.ts +3 -0
  82. package/iam/index.js +6 -1
  83. package/iam/index.js.map +1 -1
  84. package/iam/workforcePoolProvider.d.ts +510 -0
  85. package/iam/workforcePoolProvider.js +213 -0
  86. package/iam/workforcePoolProvider.js.map +1 -0
  87. package/index.d.ts +3 -1
  88. package/index.js +6 -2
  89. package/index.js.map +1 -1
  90. package/logging/billingAccountBucketConfig.d.ts +20 -0
  91. package/logging/billingAccountBucketConfig.js +2 -0
  92. package/logging/billingAccountBucketConfig.js.map +1 -1
  93. package/logging/folderBucketConfig.d.ts +20 -0
  94. package/logging/folderBucketConfig.js +2 -0
  95. package/logging/folderBucketConfig.js.map +1 -1
  96. package/logging/getProjectCmekSettings.d.ts +97 -0
  97. package/logging/getProjectCmekSettings.js +43 -0
  98. package/logging/getProjectCmekSettings.js.map +1 -0
  99. package/logging/index.d.ts +3 -0
  100. package/logging/index.js +4 -1
  101. package/logging/index.js.map +1 -1
  102. package/logging/organizationBucketConfig.d.ts +20 -0
  103. package/logging/organizationBucketConfig.js +2 -0
  104. package/logging/organizationBucketConfig.js.map +1 -1
  105. package/logging/projectBucketConfig.d.ts +48 -2
  106. package/logging/projectBucketConfig.js +34 -0
  107. package/logging/projectBucketConfig.js.map +1 -1
  108. package/networkservices/edgeCacheOrigin.d.ts +55 -1
  109. package/networkservices/edgeCacheOrigin.js +26 -1
  110. package/networkservices/edgeCacheOrigin.js.map +1 -1
  111. package/package.json +2 -2
  112. package/package.json.dev +2 -2
  113. package/provider.d.ts +6 -0
  114. package/provider.js +3 -0
  115. package/provider.js.map +1 -1
  116. package/securitycenter/index.d.ts +9 -0
  117. package/securitycenter/index.js +16 -1
  118. package/securitycenter/index.js.map +1 -1
  119. package/securitycenter/instanceIamBinding.d.ts +239 -0
  120. package/securitycenter/instanceIamBinding.js +218 -0
  121. package/securitycenter/instanceIamBinding.js.map +1 -0
  122. package/securitycenter/instanceIamMember.d.ts +239 -0
  123. package/securitycenter/instanceIamMember.js +218 -0
  124. package/securitycenter/instanceIamMember.js.map +1 -0
  125. package/securitycenter/instanceIamPolicy.d.ts +231 -0
  126. package/securitycenter/instanceIamPolicy.js +211 -0
  127. package/securitycenter/instanceIamPolicy.js.map +1 -0
  128. package/sql/database.d.ts +41 -0
  129. package/sql/database.js +22 -0
  130. package/sql/database.js.map +1 -1
  131. package/storage/bucket.d.ts +29 -7
  132. package/storage/bucket.js +18 -6
  133. package/storage/bucket.js.map +1 -1
  134. package/storage/getBucket.d.ts +1 -0
  135. package/storage/getBucket.js.map +1 -1
  136. package/types/input.d.ts +1544 -98
  137. package/types/output.d.ts +1559 -94
  138. package/vertex/aiFeatureStoreEntityTypeIamBinding.d.ts +119 -0
  139. package/vertex/aiFeatureStoreEntityTypeIamBinding.js +96 -0
  140. package/vertex/aiFeatureStoreEntityTypeIamBinding.js.map +1 -0
  141. package/vertex/aiFeatureStoreEntityTypeIamMember.d.ts +119 -0
  142. package/vertex/aiFeatureStoreEntityTypeIamMember.js +96 -0
  143. package/vertex/aiFeatureStoreEntityTypeIamMember.js.map +1 -0
  144. package/vertex/aiFeatureStoreEntityTypeIamPolicy.d.ts +108 -0
  145. package/vertex/aiFeatureStoreEntityTypeIamPolicy.js +89 -0
  146. package/vertex/aiFeatureStoreEntityTypeIamPolicy.js.map +1 -0
  147. package/vertex/aiFeatureStoreIamBinding.d.ts +53 -43
  148. package/vertex/aiFeatureStoreIamBinding.js +11 -37
  149. package/vertex/aiFeatureStoreIamBinding.js.map +1 -1
  150. package/vertex/aiFeatureStoreIamMember.d.ts +53 -43
  151. package/vertex/aiFeatureStoreIamMember.js +11 -37
  152. package/vertex/aiFeatureStoreIamMember.js.map +1 -1
  153. package/vertex/aiFeatureStoreIamPolicy.d.ts +50 -43
  154. package/vertex/aiFeatureStoreIamPolicy.js +11 -37
  155. package/vertex/aiFeatureStoreIamPolicy.js.map +1 -1
  156. package/vertex/aiIndex.d.ts +314 -0
  157. package/vertex/aiIndex.js +188 -0
  158. package/vertex/aiIndex.js.map +1 -0
  159. package/vertex/aiTensorboard.d.ts +242 -0
  160. package/vertex/aiTensorboard.js +146 -0
  161. package/vertex/aiTensorboard.js.map +1 -0
  162. package/vertex/index.d.ts +15 -0
  163. package/vertex/index.js +26 -1
  164. package/vertex/index.js.map +1 -1
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
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.Job = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * A Cloud Run Job resource that references a container image which is run to completion.
10
+ *
11
+ * To get more information about Job, see:
12
+ *
13
+ * * [API documentation](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs)
14
+ * * How-to Guides
15
+ * * [Official Documentation](https://cloud.google.com/run/docs/)
16
+ *
17
+ * ## Example Usage
18
+ * ### Cloudrunv2 Job Basic
19
+ *
20
+ * ```typescript
21
+ * import * as pulumi from "@pulumi/pulumi";
22
+ * import * as gcp from "@pulumi/gcp";
23
+ *
24
+ * const defaultJob = new gcp.cloudrunv2.Job("default", {
25
+ * launchStage: "BETA",
26
+ * location: "us-central1",
27
+ * template: {
28
+ * template: {
29
+ * containers: [{
30
+ * image: "us-docker.pkg.dev/cloudrun/container/hello",
31
+ * }],
32
+ * },
33
+ * },
34
+ * });
35
+ * ```
36
+ * ### Cloudrunv2 Job Sql
37
+ *
38
+ * ```typescript
39
+ * import * as pulumi from "@pulumi/pulumi";
40
+ * import * as gcp from "@pulumi/gcp";
41
+ *
42
+ * const secret = new gcp.secretmanager.Secret("secret", {
43
+ * secretId: "secret",
44
+ * replication: {
45
+ * automatic: true,
46
+ * },
47
+ * });
48
+ * const instance = new gcp.sql.DatabaseInstance("instance", {
49
+ * region: "us-central1",
50
+ * databaseVersion: "MYSQL_5_7",
51
+ * settings: {
52
+ * tier: "db-f1-micro",
53
+ * },
54
+ * deletionProtection: true,
55
+ * });
56
+ * const _default = new gcp.cloudrunv2.Job("default", {
57
+ * location: "us-central1",
58
+ * launchStage: "BETA",
59
+ * template: {
60
+ * template: {
61
+ * volumes: [{
62
+ * name: "cloudsql",
63
+ * cloudSqlInstance: {
64
+ * instances: [instance.connectionName],
65
+ * },
66
+ * }],
67
+ * containers: [{
68
+ * image: "us-docker.pkg.dev/cloudrun/container/hello",
69
+ * envs: [
70
+ * {
71
+ * name: "FOO",
72
+ * value: "bar",
73
+ * },
74
+ * {
75
+ * name: "latestdclsecret",
76
+ * valueSource: {
77
+ * secretKeyRef: {
78
+ * secret: secret.secretId,
79
+ * version: "1",
80
+ * },
81
+ * },
82
+ * },
83
+ * ],
84
+ * volumeMounts: [{
85
+ * name: "cloudsql",
86
+ * mountPath: "/cloudsql",
87
+ * }],
88
+ * }],
89
+ * },
90
+ * },
91
+ * });
92
+ * const project = gcp.organizations.getProject({});
93
+ * const secret_version_data = new gcp.secretmanager.SecretVersion("secret-version-data", {
94
+ * secret: secret.name,
95
+ * secretData: "secret-data",
96
+ * });
97
+ * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
98
+ * secretId: secret.id,
99
+ * role: "roles/secretmanager.secretAccessor",
100
+ * member: project.then(project => `serviceAccount:${project.number}-compute@developer.gserviceaccount.com`),
101
+ * }, {
102
+ * dependsOn: [secret],
103
+ * });
104
+ * ```
105
+ * ### Cloudrunv2 Job Vpcaccess
106
+ *
107
+ * ```typescript
108
+ * import * as pulumi from "@pulumi/pulumi";
109
+ * import * as gcp from "@pulumi/gcp";
110
+ *
111
+ * const customTestNetwork = new gcp.compute.Network("customTestNetwork", {autoCreateSubnetworks: false});
112
+ * const customTestSubnetwork = new gcp.compute.Subnetwork("customTestSubnetwork", {
113
+ * ipCidrRange: "10.2.0.0/28",
114
+ * region: "us-central1",
115
+ * network: customTestNetwork.id,
116
+ * });
117
+ * const connector = new gcp.vpcaccess.Connector("connector", {
118
+ * subnet: {
119
+ * name: customTestSubnetwork.name,
120
+ * },
121
+ * machineType: "e2-standard-4",
122
+ * minInstances: 2,
123
+ * maxInstances: 3,
124
+ * region: "us-central1",
125
+ * });
126
+ * const _default = new gcp.cloudrunv2.Job("default", {
127
+ * location: "us-central1",
128
+ * launchStage: "BETA",
129
+ * template: {
130
+ * template: {
131
+ * containers: [{
132
+ * image: "us-docker.pkg.dev/cloudrun/container/hello",
133
+ * }],
134
+ * vpcAccess: {
135
+ * connector: connector.id,
136
+ * egress: "ALL_TRAFFIC",
137
+ * },
138
+ * },
139
+ * },
140
+ * });
141
+ * ```
142
+ * ### Cloudrunv2 Job Probes
143
+ *
144
+ * ```typescript
145
+ * import * as pulumi from "@pulumi/pulumi";
146
+ * import * as gcp from "@pulumi/gcp";
147
+ *
148
+ * const defaultJob = new gcp.cloudrunv2.Job("default", {
149
+ * launchStage: "BETA",
150
+ * location: "us-central1",
151
+ * template: {
152
+ * template: {
153
+ * containers: [{
154
+ * image: "us-docker.pkg.dev/cloudrun/container/hello",
155
+ * livenessProbe: {
156
+ * httpGet: {
157
+ * path: "/",
158
+ * },
159
+ * },
160
+ * startupProbe: {
161
+ * failureThreshold: 1,
162
+ * initialDelaySeconds: 0,
163
+ * periodSeconds: 3,
164
+ * tcpSocket: {
165
+ * port: 8080,
166
+ * },
167
+ * timeoutSeconds: 1,
168
+ * },
169
+ * }],
170
+ * },
171
+ * },
172
+ * });
173
+ * ```
174
+ * ### Cloudrunv2 Job Secret
175
+ *
176
+ * ```typescript
177
+ * import * as pulumi from "@pulumi/pulumi";
178
+ * import * as gcp from "@pulumi/gcp";
179
+ *
180
+ * const secret = new gcp.secretmanager.Secret("secret", {
181
+ * secretId: "secret",
182
+ * replication: {
183
+ * automatic: true,
184
+ * },
185
+ * });
186
+ * const _default = new gcp.cloudrunv2.Job("default", {
187
+ * location: "us-central1",
188
+ * launchStage: "BETA",
189
+ * template: {
190
+ * template: {
191
+ * volumes: [{
192
+ * name: "a-volume",
193
+ * secret: {
194
+ * secret: secret.secretId,
195
+ * defaultMode: 292,
196
+ * items: [{
197
+ * version: "1",
198
+ * path: "my-secret",
199
+ * mode: 256,
200
+ * }],
201
+ * },
202
+ * }],
203
+ * containers: [{
204
+ * image: "us-docker.pkg.dev/cloudrun/container/hello",
205
+ * volumeMounts: [{
206
+ * name: "a-volume",
207
+ * mountPath: "/secrets",
208
+ * }],
209
+ * }],
210
+ * },
211
+ * },
212
+ * });
213
+ * const project = gcp.organizations.getProject({});
214
+ * const secret_version_data = new gcp.secretmanager.SecretVersion("secret-version-data", {
215
+ * secret: secret.name,
216
+ * secretData: "secret-data",
217
+ * });
218
+ * const secret_access = new gcp.secretmanager.SecretIamMember("secret-access", {
219
+ * secretId: secret.id,
220
+ * role: "roles/secretmanager.secretAccessor",
221
+ * member: project.then(project => `serviceAccount:${project.number}-compute@developer.gserviceaccount.com`),
222
+ * }, {
223
+ * dependsOn: [secret],
224
+ * });
225
+ * ```
226
+ *
227
+ * ## Import
228
+ *
229
+ * Job can be imported using any of these accepted formats
230
+ *
231
+ * ```sh
232
+ * $ pulumi import gcp:cloudrunv2/job:Job default projects/{{project}}/locations/{{location}}/jobs/{{name}}
233
+ * ```
234
+ *
235
+ * ```sh
236
+ * $ pulumi import gcp:cloudrunv2/job:Job default {{project}}/{{location}}/{{name}}
237
+ * ```
238
+ *
239
+ * ```sh
240
+ * $ pulumi import gcp:cloudrunv2/job:Job default {{location}}/{{name}}
241
+ * ```
242
+ */
243
+ class Job extends pulumi.CustomResource {
244
+ /**
245
+ * Get an existing Job resource's state with the given name, ID, and optional extra
246
+ * properties used to qualify the lookup.
247
+ *
248
+ * @param name The _unique_ name of the resulting resource.
249
+ * @param id The _unique_ provider ID of the resource to lookup.
250
+ * @param state Any extra arguments used during the lookup.
251
+ * @param opts Optional settings to control the behavior of the CustomResource.
252
+ */
253
+ static get(name, id, state, opts) {
254
+ return new Job(name, state, Object.assign(Object.assign({}, opts), { id: id }));
255
+ }
256
+ /**
257
+ * Returns true if the given object is an instance of Job. This is designed to work even
258
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
259
+ */
260
+ static isInstance(obj) {
261
+ if (obj === undefined || obj === null) {
262
+ return false;
263
+ }
264
+ return obj['__pulumiType'] === Job.__pulumiType;
265
+ }
266
+ constructor(name, argsOrState, opts) {
267
+ let resourceInputs = {};
268
+ opts = opts || {};
269
+ if (opts.id) {
270
+ const state = argsOrState;
271
+ resourceInputs["binaryAuthorization"] = state ? state.binaryAuthorization : undefined;
272
+ resourceInputs["client"] = state ? state.client : undefined;
273
+ resourceInputs["clientVersion"] = state ? state.clientVersion : undefined;
274
+ resourceInputs["conditions"] = state ? state.conditions : undefined;
275
+ resourceInputs["etag"] = state ? state.etag : undefined;
276
+ resourceInputs["executionCount"] = state ? state.executionCount : undefined;
277
+ resourceInputs["generation"] = state ? state.generation : undefined;
278
+ resourceInputs["labels"] = state ? state.labels : undefined;
279
+ resourceInputs["latestCreatedExecutions"] = state ? state.latestCreatedExecutions : undefined;
280
+ resourceInputs["launchStage"] = state ? state.launchStage : undefined;
281
+ resourceInputs["location"] = state ? state.location : undefined;
282
+ resourceInputs["name"] = state ? state.name : undefined;
283
+ resourceInputs["observedGeneration"] = state ? state.observedGeneration : undefined;
284
+ resourceInputs["project"] = state ? state.project : undefined;
285
+ resourceInputs["reconciling"] = state ? state.reconciling : undefined;
286
+ resourceInputs["template"] = state ? state.template : undefined;
287
+ resourceInputs["terminalConditions"] = state ? state.terminalConditions : undefined;
288
+ resourceInputs["uid"] = state ? state.uid : undefined;
289
+ }
290
+ else {
291
+ const args = argsOrState;
292
+ if ((!args || args.template === undefined) && !opts.urn) {
293
+ throw new Error("Missing required property 'template'");
294
+ }
295
+ resourceInputs["binaryAuthorization"] = args ? args.binaryAuthorization : undefined;
296
+ resourceInputs["client"] = args ? args.client : undefined;
297
+ resourceInputs["clientVersion"] = args ? args.clientVersion : undefined;
298
+ resourceInputs["labels"] = args ? args.labels : undefined;
299
+ resourceInputs["launchStage"] = args ? args.launchStage : undefined;
300
+ resourceInputs["location"] = args ? args.location : undefined;
301
+ resourceInputs["name"] = args ? args.name : undefined;
302
+ resourceInputs["project"] = args ? args.project : undefined;
303
+ resourceInputs["template"] = args ? args.template : undefined;
304
+ resourceInputs["conditions"] = undefined /*out*/;
305
+ resourceInputs["etag"] = undefined /*out*/;
306
+ resourceInputs["executionCount"] = undefined /*out*/;
307
+ resourceInputs["generation"] = undefined /*out*/;
308
+ resourceInputs["latestCreatedExecutions"] = undefined /*out*/;
309
+ resourceInputs["observedGeneration"] = undefined /*out*/;
310
+ resourceInputs["reconciling"] = undefined /*out*/;
311
+ resourceInputs["terminalConditions"] = undefined /*out*/;
312
+ resourceInputs["uid"] = undefined /*out*/;
313
+ }
314
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
315
+ super(Job.__pulumiType, name, resourceInputs, opts);
316
+ }
317
+ }
318
+ exports.Job = Job;
319
+ /** @internal */
320
+ Job.__pulumiType = 'gcp:cloudrunv2/job:Job';
321
+ //# sourceMappingURL=job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../cloudrunv2/job.ts"],"names":[],"mappings":"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"}