pulumi-gcp 8.19.0a1739290509__py3-none-any.whl → 8.19.1a1739444689__py3-none-any.whl

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 (76) hide show
  1. pulumi_gcp/__init__.py +80 -0
  2. pulumi_gcp/_utilities.py +8 -4
  3. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  4. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  5. pulumi_gcp/appengine/_inputs.py +3 -0
  6. pulumi_gcp/appengine/outputs.py +2 -0
  7. pulumi_gcp/beyondcorp/__init__.py +5 -0
  8. pulumi_gcp/beyondcorp/_inputs.py +189 -0
  9. pulumi_gcp/beyondcorp/application.py +604 -0
  10. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  11. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  12. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  13. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  14. pulumi_gcp/beyondcorp/outputs.py +111 -0
  15. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  16. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  17. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  18. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  19. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  20. pulumi_gcp/certificateauthority/authority.py +149 -3
  21. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  22. pulumi_gcp/certificateauthority/outputs.py +81 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  24. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  25. pulumi_gcp/cloudrunv2/service.py +2 -0
  26. pulumi_gcp/colab/__init__.py +2 -0
  27. pulumi_gcp/colab/_inputs.py +655 -0
  28. pulumi_gcp/colab/notebook_execution.py +1259 -0
  29. pulumi_gcp/colab/outputs.py +512 -0
  30. pulumi_gcp/colab/runtime.py +266 -2
  31. pulumi_gcp/colab/runtime_template.py +79 -3
  32. pulumi_gcp/colab/schedule.py +1318 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +204 -0
  35. pulumi_gcp/compute/firewall_policy.py +54 -43
  36. pulumi_gcp/compute/forwarding_rule.py +103 -0
  37. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  38. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  39. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  40. pulumi_gcp/compute/outputs.py +187 -0
  41. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  42. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  43. pulumi_gcp/compute/region_resize_request.py +21 -22
  44. pulumi_gcp/compute/resize_request.py +22 -23
  45. pulumi_gcp/compute/subnetwork.py +14 -7
  46. pulumi_gcp/container/_inputs.py +54 -1
  47. pulumi_gcp/container/outputs.py +79 -1
  48. pulumi_gcp/datastream/connection_profile.py +120 -46
  49. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  50. pulumi_gcp/filestore/_inputs.py +222 -0
  51. pulumi_gcp/filestore/get_instance.py +23 -1
  52. pulumi_gcp/filestore/instance.py +86 -0
  53. pulumi_gcp/filestore/outputs.py +282 -0
  54. pulumi_gcp/gemini/__init__.py +2 -0
  55. pulumi_gcp/gemini/logging_setting.py +671 -0
  56. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  57. pulumi_gcp/memorystore/_inputs.py +296 -0
  58. pulumi_gcp/memorystore/instance.py +32 -28
  59. pulumi_gcp/memorystore/outputs.py +224 -0
  60. pulumi_gcp/monitoring/_inputs.py +12 -9
  61. pulumi_gcp/monitoring/outputs.py +8 -6
  62. pulumi_gcp/networkservices/_inputs.py +89 -0
  63. pulumi_gcp/networkservices/outputs.py +75 -0
  64. pulumi_gcp/parametermanager/__init__.py +2 -0
  65. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  66. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  67. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  68. pulumi_gcp/pulumi-plugin.json +1 -1
  69. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  70. pulumi_gcp/securesourcemanager/repository.py +4 -0
  71. pulumi_gcp/storage/bucket_object.py +8 -0
  72. pulumi_gcp/workbench/instance.py +70 -2
  73. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/RECORD +76 -63
  75. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1259 @@
1
+ # coding=utf-8
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
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['NotebookExecutionArgs', 'NotebookExecution']
20
+
21
+ @pulumi.input_type
22
+ class NotebookExecutionArgs:
23
+ def __init__(__self__, *,
24
+ display_name: pulumi.Input[str],
25
+ gcs_output_uri: pulumi.Input[str],
26
+ location: pulumi.Input[str],
27
+ dataform_repository_source: Optional[pulumi.Input['NotebookExecutionDataformRepositorySourceArgs']] = None,
28
+ direct_notebook_source: Optional[pulumi.Input['NotebookExecutionDirectNotebookSourceArgs']] = None,
29
+ execution_timeout: Optional[pulumi.Input[str]] = None,
30
+ execution_user: Optional[pulumi.Input[str]] = None,
31
+ gcs_notebook_source: Optional[pulumi.Input['NotebookExecutionGcsNotebookSourceArgs']] = None,
32
+ notebook_execution_job_id: Optional[pulumi.Input[str]] = None,
33
+ notebook_runtime_template_resource_name: Optional[pulumi.Input[str]] = None,
34
+ project: Optional[pulumi.Input[str]] = None,
35
+ service_account: Optional[pulumi.Input[str]] = None):
36
+ """
37
+ The set of arguments for constructing a NotebookExecution resource.
38
+ :param pulumi.Input[str] display_name: Required. The display name of the Notebook Execution.
39
+ :param pulumi.Input[str] gcs_output_uri: The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
40
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
41
+
42
+
43
+ - - -
44
+ :param pulumi.Input['NotebookExecutionDataformRepositorySourceArgs'] dataform_repository_source: The Dataform Repository containing the input notebook.
45
+ Structure is documented below.
46
+ :param pulumi.Input['NotebookExecutionDirectNotebookSourceArgs'] direct_notebook_source: The content of the input notebook in ipynb format.
47
+ Structure is documented below.
48
+ :param pulumi.Input[str] execution_timeout: Max running time of the execution job in seconds (default 86400s / 24 hrs).
49
+ :param pulumi.Input[str] execution_user: The user email to run the execution as.
50
+ :param pulumi.Input['NotebookExecutionGcsNotebookSourceArgs'] gcs_notebook_source: The Cloud Storage uri for the input notebook.
51
+ Structure is documented below.
52
+ :param pulumi.Input[str] notebook_execution_job_id: User specified ID for the Notebook Execution Job
53
+ :param pulumi.Input[str] notebook_runtime_template_resource_name: The NotebookRuntimeTemplate to source compute configuration from.
54
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
55
+ If it is not provided, the provider project is used.
56
+ :param pulumi.Input[str] service_account: The service account to run the execution as.
57
+ """
58
+ pulumi.set(__self__, "display_name", display_name)
59
+ pulumi.set(__self__, "gcs_output_uri", gcs_output_uri)
60
+ pulumi.set(__self__, "location", location)
61
+ if dataform_repository_source is not None:
62
+ pulumi.set(__self__, "dataform_repository_source", dataform_repository_source)
63
+ if direct_notebook_source is not None:
64
+ pulumi.set(__self__, "direct_notebook_source", direct_notebook_source)
65
+ if execution_timeout is not None:
66
+ pulumi.set(__self__, "execution_timeout", execution_timeout)
67
+ if execution_user is not None:
68
+ pulumi.set(__self__, "execution_user", execution_user)
69
+ if gcs_notebook_source is not None:
70
+ pulumi.set(__self__, "gcs_notebook_source", gcs_notebook_source)
71
+ if notebook_execution_job_id is not None:
72
+ pulumi.set(__self__, "notebook_execution_job_id", notebook_execution_job_id)
73
+ if notebook_runtime_template_resource_name is not None:
74
+ pulumi.set(__self__, "notebook_runtime_template_resource_name", notebook_runtime_template_resource_name)
75
+ if project is not None:
76
+ pulumi.set(__self__, "project", project)
77
+ if service_account is not None:
78
+ pulumi.set(__self__, "service_account", service_account)
79
+
80
+ @property
81
+ @pulumi.getter(name="displayName")
82
+ def display_name(self) -> pulumi.Input[str]:
83
+ """
84
+ Required. The display name of the Notebook Execution.
85
+ """
86
+ return pulumi.get(self, "display_name")
87
+
88
+ @display_name.setter
89
+ def display_name(self, value: pulumi.Input[str]):
90
+ pulumi.set(self, "display_name", value)
91
+
92
+ @property
93
+ @pulumi.getter(name="gcsOutputUri")
94
+ def gcs_output_uri(self) -> pulumi.Input[str]:
95
+ """
96
+ The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
97
+ """
98
+ return pulumi.get(self, "gcs_output_uri")
99
+
100
+ @gcs_output_uri.setter
101
+ def gcs_output_uri(self, value: pulumi.Input[str]):
102
+ pulumi.set(self, "gcs_output_uri", value)
103
+
104
+ @property
105
+ @pulumi.getter
106
+ def location(self) -> pulumi.Input[str]:
107
+ """
108
+ The location for the resource: https://cloud.google.com/colab/docs/locations
109
+
110
+
111
+ - - -
112
+ """
113
+ return pulumi.get(self, "location")
114
+
115
+ @location.setter
116
+ def location(self, value: pulumi.Input[str]):
117
+ pulumi.set(self, "location", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="dataformRepositorySource")
121
+ def dataform_repository_source(self) -> Optional[pulumi.Input['NotebookExecutionDataformRepositorySourceArgs']]:
122
+ """
123
+ The Dataform Repository containing the input notebook.
124
+ Structure is documented below.
125
+ """
126
+ return pulumi.get(self, "dataform_repository_source")
127
+
128
+ @dataform_repository_source.setter
129
+ def dataform_repository_source(self, value: Optional[pulumi.Input['NotebookExecutionDataformRepositorySourceArgs']]):
130
+ pulumi.set(self, "dataform_repository_source", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="directNotebookSource")
134
+ def direct_notebook_source(self) -> Optional[pulumi.Input['NotebookExecutionDirectNotebookSourceArgs']]:
135
+ """
136
+ The content of the input notebook in ipynb format.
137
+ Structure is documented below.
138
+ """
139
+ return pulumi.get(self, "direct_notebook_source")
140
+
141
+ @direct_notebook_source.setter
142
+ def direct_notebook_source(self, value: Optional[pulumi.Input['NotebookExecutionDirectNotebookSourceArgs']]):
143
+ pulumi.set(self, "direct_notebook_source", value)
144
+
145
+ @property
146
+ @pulumi.getter(name="executionTimeout")
147
+ def execution_timeout(self) -> Optional[pulumi.Input[str]]:
148
+ """
149
+ Max running time of the execution job in seconds (default 86400s / 24 hrs).
150
+ """
151
+ return pulumi.get(self, "execution_timeout")
152
+
153
+ @execution_timeout.setter
154
+ def execution_timeout(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "execution_timeout", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="executionUser")
159
+ def execution_user(self) -> Optional[pulumi.Input[str]]:
160
+ """
161
+ The user email to run the execution as.
162
+ """
163
+ return pulumi.get(self, "execution_user")
164
+
165
+ @execution_user.setter
166
+ def execution_user(self, value: Optional[pulumi.Input[str]]):
167
+ pulumi.set(self, "execution_user", value)
168
+
169
+ @property
170
+ @pulumi.getter(name="gcsNotebookSource")
171
+ def gcs_notebook_source(self) -> Optional[pulumi.Input['NotebookExecutionGcsNotebookSourceArgs']]:
172
+ """
173
+ The Cloud Storage uri for the input notebook.
174
+ Structure is documented below.
175
+ """
176
+ return pulumi.get(self, "gcs_notebook_source")
177
+
178
+ @gcs_notebook_source.setter
179
+ def gcs_notebook_source(self, value: Optional[pulumi.Input['NotebookExecutionGcsNotebookSourceArgs']]):
180
+ pulumi.set(self, "gcs_notebook_source", value)
181
+
182
+ @property
183
+ @pulumi.getter(name="notebookExecutionJobId")
184
+ def notebook_execution_job_id(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ User specified ID for the Notebook Execution Job
187
+ """
188
+ return pulumi.get(self, "notebook_execution_job_id")
189
+
190
+ @notebook_execution_job_id.setter
191
+ def notebook_execution_job_id(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "notebook_execution_job_id", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="notebookRuntimeTemplateResourceName")
196
+ def notebook_runtime_template_resource_name(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The NotebookRuntimeTemplate to source compute configuration from.
199
+ """
200
+ return pulumi.get(self, "notebook_runtime_template_resource_name")
201
+
202
+ @notebook_runtime_template_resource_name.setter
203
+ def notebook_runtime_template_resource_name(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "notebook_runtime_template_resource_name", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def project(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ The ID of the project in which the resource belongs.
211
+ If it is not provided, the provider project is used.
212
+ """
213
+ return pulumi.get(self, "project")
214
+
215
+ @project.setter
216
+ def project(self, value: Optional[pulumi.Input[str]]):
217
+ pulumi.set(self, "project", value)
218
+
219
+ @property
220
+ @pulumi.getter(name="serviceAccount")
221
+ def service_account(self) -> Optional[pulumi.Input[str]]:
222
+ """
223
+ The service account to run the execution as.
224
+ """
225
+ return pulumi.get(self, "service_account")
226
+
227
+ @service_account.setter
228
+ def service_account(self, value: Optional[pulumi.Input[str]]):
229
+ pulumi.set(self, "service_account", value)
230
+
231
+
232
+ @pulumi.input_type
233
+ class _NotebookExecutionState:
234
+ def __init__(__self__, *,
235
+ dataform_repository_source: Optional[pulumi.Input['NotebookExecutionDataformRepositorySourceArgs']] = None,
236
+ direct_notebook_source: Optional[pulumi.Input['NotebookExecutionDirectNotebookSourceArgs']] = None,
237
+ display_name: Optional[pulumi.Input[str]] = None,
238
+ execution_timeout: Optional[pulumi.Input[str]] = None,
239
+ execution_user: Optional[pulumi.Input[str]] = None,
240
+ gcs_notebook_source: Optional[pulumi.Input['NotebookExecutionGcsNotebookSourceArgs']] = None,
241
+ gcs_output_uri: Optional[pulumi.Input[str]] = None,
242
+ location: Optional[pulumi.Input[str]] = None,
243
+ notebook_execution_job_id: Optional[pulumi.Input[str]] = None,
244
+ notebook_runtime_template_resource_name: Optional[pulumi.Input[str]] = None,
245
+ project: Optional[pulumi.Input[str]] = None,
246
+ service_account: Optional[pulumi.Input[str]] = None):
247
+ """
248
+ Input properties used for looking up and filtering NotebookExecution resources.
249
+ :param pulumi.Input['NotebookExecutionDataformRepositorySourceArgs'] dataform_repository_source: The Dataform Repository containing the input notebook.
250
+ Structure is documented below.
251
+ :param pulumi.Input['NotebookExecutionDirectNotebookSourceArgs'] direct_notebook_source: The content of the input notebook in ipynb format.
252
+ Structure is documented below.
253
+ :param pulumi.Input[str] display_name: Required. The display name of the Notebook Execution.
254
+ :param pulumi.Input[str] execution_timeout: Max running time of the execution job in seconds (default 86400s / 24 hrs).
255
+ :param pulumi.Input[str] execution_user: The user email to run the execution as.
256
+ :param pulumi.Input['NotebookExecutionGcsNotebookSourceArgs'] gcs_notebook_source: The Cloud Storage uri for the input notebook.
257
+ Structure is documented below.
258
+ :param pulumi.Input[str] gcs_output_uri: The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
259
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
260
+
261
+
262
+ - - -
263
+ :param pulumi.Input[str] notebook_execution_job_id: User specified ID for the Notebook Execution Job
264
+ :param pulumi.Input[str] notebook_runtime_template_resource_name: The NotebookRuntimeTemplate to source compute configuration from.
265
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
266
+ If it is not provided, the provider project is used.
267
+ :param pulumi.Input[str] service_account: The service account to run the execution as.
268
+ """
269
+ if dataform_repository_source is not None:
270
+ pulumi.set(__self__, "dataform_repository_source", dataform_repository_source)
271
+ if direct_notebook_source is not None:
272
+ pulumi.set(__self__, "direct_notebook_source", direct_notebook_source)
273
+ if display_name is not None:
274
+ pulumi.set(__self__, "display_name", display_name)
275
+ if execution_timeout is not None:
276
+ pulumi.set(__self__, "execution_timeout", execution_timeout)
277
+ if execution_user is not None:
278
+ pulumi.set(__self__, "execution_user", execution_user)
279
+ if gcs_notebook_source is not None:
280
+ pulumi.set(__self__, "gcs_notebook_source", gcs_notebook_source)
281
+ if gcs_output_uri is not None:
282
+ pulumi.set(__self__, "gcs_output_uri", gcs_output_uri)
283
+ if location is not None:
284
+ pulumi.set(__self__, "location", location)
285
+ if notebook_execution_job_id is not None:
286
+ pulumi.set(__self__, "notebook_execution_job_id", notebook_execution_job_id)
287
+ if notebook_runtime_template_resource_name is not None:
288
+ pulumi.set(__self__, "notebook_runtime_template_resource_name", notebook_runtime_template_resource_name)
289
+ if project is not None:
290
+ pulumi.set(__self__, "project", project)
291
+ if service_account is not None:
292
+ pulumi.set(__self__, "service_account", service_account)
293
+
294
+ @property
295
+ @pulumi.getter(name="dataformRepositorySource")
296
+ def dataform_repository_source(self) -> Optional[pulumi.Input['NotebookExecutionDataformRepositorySourceArgs']]:
297
+ """
298
+ The Dataform Repository containing the input notebook.
299
+ Structure is documented below.
300
+ """
301
+ return pulumi.get(self, "dataform_repository_source")
302
+
303
+ @dataform_repository_source.setter
304
+ def dataform_repository_source(self, value: Optional[pulumi.Input['NotebookExecutionDataformRepositorySourceArgs']]):
305
+ pulumi.set(self, "dataform_repository_source", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="directNotebookSource")
309
+ def direct_notebook_source(self) -> Optional[pulumi.Input['NotebookExecutionDirectNotebookSourceArgs']]:
310
+ """
311
+ The content of the input notebook in ipynb format.
312
+ Structure is documented below.
313
+ """
314
+ return pulumi.get(self, "direct_notebook_source")
315
+
316
+ @direct_notebook_source.setter
317
+ def direct_notebook_source(self, value: Optional[pulumi.Input['NotebookExecutionDirectNotebookSourceArgs']]):
318
+ pulumi.set(self, "direct_notebook_source", value)
319
+
320
+ @property
321
+ @pulumi.getter(name="displayName")
322
+ def display_name(self) -> Optional[pulumi.Input[str]]:
323
+ """
324
+ Required. The display name of the Notebook Execution.
325
+ """
326
+ return pulumi.get(self, "display_name")
327
+
328
+ @display_name.setter
329
+ def display_name(self, value: Optional[pulumi.Input[str]]):
330
+ pulumi.set(self, "display_name", value)
331
+
332
+ @property
333
+ @pulumi.getter(name="executionTimeout")
334
+ def execution_timeout(self) -> Optional[pulumi.Input[str]]:
335
+ """
336
+ Max running time of the execution job in seconds (default 86400s / 24 hrs).
337
+ """
338
+ return pulumi.get(self, "execution_timeout")
339
+
340
+ @execution_timeout.setter
341
+ def execution_timeout(self, value: Optional[pulumi.Input[str]]):
342
+ pulumi.set(self, "execution_timeout", value)
343
+
344
+ @property
345
+ @pulumi.getter(name="executionUser")
346
+ def execution_user(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ The user email to run the execution as.
349
+ """
350
+ return pulumi.get(self, "execution_user")
351
+
352
+ @execution_user.setter
353
+ def execution_user(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "execution_user", value)
355
+
356
+ @property
357
+ @pulumi.getter(name="gcsNotebookSource")
358
+ def gcs_notebook_source(self) -> Optional[pulumi.Input['NotebookExecutionGcsNotebookSourceArgs']]:
359
+ """
360
+ The Cloud Storage uri for the input notebook.
361
+ Structure is documented below.
362
+ """
363
+ return pulumi.get(self, "gcs_notebook_source")
364
+
365
+ @gcs_notebook_source.setter
366
+ def gcs_notebook_source(self, value: Optional[pulumi.Input['NotebookExecutionGcsNotebookSourceArgs']]):
367
+ pulumi.set(self, "gcs_notebook_source", value)
368
+
369
+ @property
370
+ @pulumi.getter(name="gcsOutputUri")
371
+ def gcs_output_uri(self) -> Optional[pulumi.Input[str]]:
372
+ """
373
+ The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
374
+ """
375
+ return pulumi.get(self, "gcs_output_uri")
376
+
377
+ @gcs_output_uri.setter
378
+ def gcs_output_uri(self, value: Optional[pulumi.Input[str]]):
379
+ pulumi.set(self, "gcs_output_uri", value)
380
+
381
+ @property
382
+ @pulumi.getter
383
+ def location(self) -> Optional[pulumi.Input[str]]:
384
+ """
385
+ The location for the resource: https://cloud.google.com/colab/docs/locations
386
+
387
+
388
+ - - -
389
+ """
390
+ return pulumi.get(self, "location")
391
+
392
+ @location.setter
393
+ def location(self, value: Optional[pulumi.Input[str]]):
394
+ pulumi.set(self, "location", value)
395
+
396
+ @property
397
+ @pulumi.getter(name="notebookExecutionJobId")
398
+ def notebook_execution_job_id(self) -> Optional[pulumi.Input[str]]:
399
+ """
400
+ User specified ID for the Notebook Execution Job
401
+ """
402
+ return pulumi.get(self, "notebook_execution_job_id")
403
+
404
+ @notebook_execution_job_id.setter
405
+ def notebook_execution_job_id(self, value: Optional[pulumi.Input[str]]):
406
+ pulumi.set(self, "notebook_execution_job_id", value)
407
+
408
+ @property
409
+ @pulumi.getter(name="notebookRuntimeTemplateResourceName")
410
+ def notebook_runtime_template_resource_name(self) -> Optional[pulumi.Input[str]]:
411
+ """
412
+ The NotebookRuntimeTemplate to source compute configuration from.
413
+ """
414
+ return pulumi.get(self, "notebook_runtime_template_resource_name")
415
+
416
+ @notebook_runtime_template_resource_name.setter
417
+ def notebook_runtime_template_resource_name(self, value: Optional[pulumi.Input[str]]):
418
+ pulumi.set(self, "notebook_runtime_template_resource_name", value)
419
+
420
+ @property
421
+ @pulumi.getter
422
+ def project(self) -> Optional[pulumi.Input[str]]:
423
+ """
424
+ The ID of the project in which the resource belongs.
425
+ If it is not provided, the provider project is used.
426
+ """
427
+ return pulumi.get(self, "project")
428
+
429
+ @project.setter
430
+ def project(self, value: Optional[pulumi.Input[str]]):
431
+ pulumi.set(self, "project", value)
432
+
433
+ @property
434
+ @pulumi.getter(name="serviceAccount")
435
+ def service_account(self) -> Optional[pulumi.Input[str]]:
436
+ """
437
+ The service account to run the execution as.
438
+ """
439
+ return pulumi.get(self, "service_account")
440
+
441
+ @service_account.setter
442
+ def service_account(self, value: Optional[pulumi.Input[str]]):
443
+ pulumi.set(self, "service_account", value)
444
+
445
+
446
+ class NotebookExecution(pulumi.CustomResource):
447
+ @overload
448
+ def __init__(__self__,
449
+ resource_name: str,
450
+ opts: Optional[pulumi.ResourceOptions] = None,
451
+ dataform_repository_source: Optional[pulumi.Input[Union['NotebookExecutionDataformRepositorySourceArgs', 'NotebookExecutionDataformRepositorySourceArgsDict']]] = None,
452
+ direct_notebook_source: Optional[pulumi.Input[Union['NotebookExecutionDirectNotebookSourceArgs', 'NotebookExecutionDirectNotebookSourceArgsDict']]] = None,
453
+ display_name: Optional[pulumi.Input[str]] = None,
454
+ execution_timeout: Optional[pulumi.Input[str]] = None,
455
+ execution_user: Optional[pulumi.Input[str]] = None,
456
+ gcs_notebook_source: Optional[pulumi.Input[Union['NotebookExecutionGcsNotebookSourceArgs', 'NotebookExecutionGcsNotebookSourceArgsDict']]] = None,
457
+ gcs_output_uri: Optional[pulumi.Input[str]] = None,
458
+ location: Optional[pulumi.Input[str]] = None,
459
+ notebook_execution_job_id: Optional[pulumi.Input[str]] = None,
460
+ notebook_runtime_template_resource_name: Optional[pulumi.Input[str]] = None,
461
+ project: Optional[pulumi.Input[str]] = None,
462
+ service_account: Optional[pulumi.Input[str]] = None,
463
+ __props__=None):
464
+ """
465
+ 'An instance of a notebook Execution'
466
+
467
+ To get more information about NotebookExecution, see:
468
+
469
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.notebookExecutionJobs)
470
+ * How-to Guides
471
+ * [Schedule a notebook run](https://cloud.google.com/colab/docs/schedule-notebook-run)
472
+
473
+ ## Example Usage
474
+
475
+ ### Colab Notebook Execution Basic
476
+
477
+ ```python
478
+ import pulumi
479
+ import pulumi_gcp as gcp
480
+ import pulumi_std as std
481
+
482
+ my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
483
+ name="runtime-template-name",
484
+ display_name="Runtime template",
485
+ location="us-central1",
486
+ machine_spec={
487
+ "machine_type": "e2-standard-4",
488
+ },
489
+ network_spec={
490
+ "enable_internet_access": True,
491
+ })
492
+ output_bucket = gcp.storage.Bucket("output_bucket",
493
+ name="my_bucket",
494
+ location="US",
495
+ force_destroy=True,
496
+ uniform_bucket_level_access=True)
497
+ notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
498
+ display_name="Notebook execution basic",
499
+ location="us-central1",
500
+ direct_notebook_source={
501
+ "content": std.base64encode(input=\"\"\" {
502
+ "cells": [
503
+ {
504
+ "cell_type": "code",
505
+ "execution_count": null,
506
+ "metadata": {},
507
+ "outputs": [],
508
+ "source": [
509
+ "print(\\"Hello, World!\\")"
510
+ ]
511
+ }
512
+ ],
513
+ "metadata": {
514
+ "kernelspec": {
515
+ "display_name": "Python 3",
516
+ "language": "python",
517
+ "name": "python3"
518
+ },
519
+ "language_info": {
520
+ "codemirror_mode": {
521
+ "name": "ipython",
522
+ "version": 3
523
+ },
524
+ "file_extension": ".py",
525
+ "mimetype": "text/x-python",
526
+ "name": "python",
527
+ "nbconvert_exporter": "python",
528
+ "pygments_lexer": "ipython3",
529
+ "version": "3.8.5"
530
+ }
531
+ },
532
+ "nbformat": 4,
533
+ "nbformat_minor": 4
534
+ }
535
+ \"\"\").result,
536
+ },
537
+ notebook_runtime_template_resource_name=pulumi.Output.all(
538
+ project=my_runtime_template.project,
539
+ location=my_runtime_template.location,
540
+ name=my_runtime_template.name
541
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
542
+ ,
543
+ gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
544
+ service_account="my@service-account.com",
545
+ opts = pulumi.ResourceOptions(depends_on=[
546
+ my_runtime_template,
547
+ output_bucket,
548
+ ]))
549
+ ```
550
+ ### Colab Notebook Execution Full
551
+
552
+ ```python
553
+ import pulumi
554
+ import pulumi_gcp as gcp
555
+
556
+ my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
557
+ name="runtime-template-name",
558
+ display_name="Runtime template",
559
+ location="us-central1",
560
+ machine_spec={
561
+ "machine_type": "e2-standard-4",
562
+ },
563
+ network_spec={
564
+ "enable_internet_access": True,
565
+ })
566
+ output_bucket = gcp.storage.Bucket("output_bucket",
567
+ name="my_bucket",
568
+ location="US",
569
+ force_destroy=True,
570
+ uniform_bucket_level_access=True)
571
+ notebook = gcp.storage.BucketObject("notebook",
572
+ name="hello_world.ipynb",
573
+ bucket=output_bucket.name,
574
+ content=\"\"\" {
575
+ "cells": [
576
+ {
577
+ "cell_type": "code",
578
+ "execution_count": null,
579
+ "metadata": {},
580
+ "outputs": [],
581
+ "source": [
582
+ "print(\\"Hello, World!\\")"
583
+ ]
584
+ }
585
+ ],
586
+ "metadata": {
587
+ "kernelspec": {
588
+ "display_name": "Python 3",
589
+ "language": "python",
590
+ "name": "python3"
591
+ },
592
+ "language_info": {
593
+ "codemirror_mode": {
594
+ "name": "ipython",
595
+ "version": 3
596
+ },
597
+ "file_extension": ".py",
598
+ "mimetype": "text/x-python",
599
+ "name": "python",
600
+ "nbconvert_exporter": "python",
601
+ "pygments_lexer": "ipython3",
602
+ "version": "3.8.5"
603
+ }
604
+ },
605
+ "nbformat": 4,
606
+ "nbformat_minor": 4
607
+ }
608
+ \"\"\")
609
+ notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
610
+ notebook_execution_job_id="colab-notebook-execution",
611
+ display_name="Notebook execution full",
612
+ location="us-central1",
613
+ execution_timeout="86400s",
614
+ gcs_notebook_source={
615
+ "uri": pulumi.Output.all(
616
+ bucket=notebook.bucket,
617
+ name=notebook.name
618
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
619
+ ,
620
+ "generation": notebook.generation,
621
+ },
622
+ service_account="my@service-account.com",
623
+ gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
624
+ notebook_runtime_template_resource_name=pulumi.Output.all(
625
+ project=my_runtime_template.project,
626
+ location=my_runtime_template.location,
627
+ name=my_runtime_template.name
628
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
629
+ ,
630
+ opts = pulumi.ResourceOptions(depends_on=[
631
+ notebook,
632
+ output_bucket,
633
+ my_runtime_template,
634
+ ]))
635
+ ```
636
+ ### Colab Notebook Execution Dataform
637
+
638
+ ```python
639
+ import pulumi
640
+ import pulumi_gcp as gcp
641
+
642
+ my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
643
+ name="runtime-template-name",
644
+ display_name="Runtime template",
645
+ location="us-central1",
646
+ machine_spec={
647
+ "machine_type": "e2-standard-4",
648
+ },
649
+ network_spec={
650
+ "enable_internet_access": True,
651
+ })
652
+ output_bucket = gcp.storage.Bucket("output_bucket",
653
+ name="my_bucket",
654
+ location="US",
655
+ force_destroy=True,
656
+ uniform_bucket_level_access=True)
657
+ secret = gcp.secretmanager.Secret("secret",
658
+ secret_id="secret",
659
+ replication={
660
+ "auto": {},
661
+ })
662
+ secret_version = gcp.secretmanager.SecretVersion("secret_version",
663
+ secret=secret.id,
664
+ secret_data="secret-data")
665
+ dataform_repository = gcp.dataform.Repository("dataform_repository",
666
+ name="dataform-repository",
667
+ display_name="dataform_repository",
668
+ npmrc_environment_variables_secret_version=secret_version.id,
669
+ kms_key_name="my-crypto-key",
670
+ labels={
671
+ "label_foo1": "label-bar1",
672
+ },
673
+ git_remote_settings={
674
+ "url": "https://github.com/OWNER/REPOSITORY.git",
675
+ "default_branch": "main",
676
+ "authentication_token_secret_version": secret_version.id,
677
+ },
678
+ workspace_compilation_overrides={
679
+ "default_database": "database",
680
+ "schema_suffix": "_suffix",
681
+ "table_prefix": "prefix_",
682
+ })
683
+ notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
684
+ display_name="Notebook execution Dataform",
685
+ location="us-central1",
686
+ dataform_repository_source={
687
+ "commit_sha": "randomsha123",
688
+ "dataform_repository_resource_name": pulumi.Output.all(
689
+ project=my_runtime_template.project,
690
+ location=my_runtime_template.location,
691
+ name=dataform_repository.name
692
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/repositories/{resolved_outputs['name']}")
693
+ ,
694
+ },
695
+ notebook_runtime_template_resource_name=pulumi.Output.all(
696
+ project=my_runtime_template.project,
697
+ location=my_runtime_template.location,
698
+ name=my_runtime_template.name
699
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
700
+ ,
701
+ gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
702
+ service_account="my@service-account.com",
703
+ opts = pulumi.ResourceOptions(depends_on=[
704
+ my_runtime_template,
705
+ output_bucket,
706
+ secret_version,
707
+ dataform_repository,
708
+ secret,
709
+ ]))
710
+ ```
711
+
712
+ ## Import
713
+
714
+ NotebookExecution can be imported using any of these accepted formats:
715
+
716
+ * `projects/{{project}}/locations/{{location}}/notebookExecutionJobs/{{notebook_execution_job_id}}`
717
+
718
+ * `{{project}}/{{location}}/{{notebook_execution_job_id}}`
719
+
720
+ * `{{location}}/{{notebook_execution_job_id}}`
721
+
722
+ When using the `pulumi import` command, NotebookExecution can be imported using one of the formats above. For example:
723
+
724
+ ```sh
725
+ $ pulumi import gcp:colab/notebookExecution:NotebookExecution default projects/{{project}}/locations/{{location}}/notebookExecutionJobs/{{notebook_execution_job_id}}
726
+ ```
727
+
728
+ ```sh
729
+ $ pulumi import gcp:colab/notebookExecution:NotebookExecution default {{project}}/{{location}}/{{notebook_execution_job_id}}
730
+ ```
731
+
732
+ ```sh
733
+ $ pulumi import gcp:colab/notebookExecution:NotebookExecution default {{location}}/{{notebook_execution_job_id}}
734
+ ```
735
+
736
+ :param str resource_name: The name of the resource.
737
+ :param pulumi.ResourceOptions opts: Options for the resource.
738
+ :param pulumi.Input[Union['NotebookExecutionDataformRepositorySourceArgs', 'NotebookExecutionDataformRepositorySourceArgsDict']] dataform_repository_source: The Dataform Repository containing the input notebook.
739
+ Structure is documented below.
740
+ :param pulumi.Input[Union['NotebookExecutionDirectNotebookSourceArgs', 'NotebookExecutionDirectNotebookSourceArgsDict']] direct_notebook_source: The content of the input notebook in ipynb format.
741
+ Structure is documented below.
742
+ :param pulumi.Input[str] display_name: Required. The display name of the Notebook Execution.
743
+ :param pulumi.Input[str] execution_timeout: Max running time of the execution job in seconds (default 86400s / 24 hrs).
744
+ :param pulumi.Input[str] execution_user: The user email to run the execution as.
745
+ :param pulumi.Input[Union['NotebookExecutionGcsNotebookSourceArgs', 'NotebookExecutionGcsNotebookSourceArgsDict']] gcs_notebook_source: The Cloud Storage uri for the input notebook.
746
+ Structure is documented below.
747
+ :param pulumi.Input[str] gcs_output_uri: The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
748
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
749
+
750
+
751
+ - - -
752
+ :param pulumi.Input[str] notebook_execution_job_id: User specified ID for the Notebook Execution Job
753
+ :param pulumi.Input[str] notebook_runtime_template_resource_name: The NotebookRuntimeTemplate to source compute configuration from.
754
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
755
+ If it is not provided, the provider project is used.
756
+ :param pulumi.Input[str] service_account: The service account to run the execution as.
757
+ """
758
+ ...
759
+ @overload
760
+ def __init__(__self__,
761
+ resource_name: str,
762
+ args: NotebookExecutionArgs,
763
+ opts: Optional[pulumi.ResourceOptions] = None):
764
+ """
765
+ 'An instance of a notebook Execution'
766
+
767
+ To get more information about NotebookExecution, see:
768
+
769
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.notebookExecutionJobs)
770
+ * How-to Guides
771
+ * [Schedule a notebook run](https://cloud.google.com/colab/docs/schedule-notebook-run)
772
+
773
+ ## Example Usage
774
+
775
+ ### Colab Notebook Execution Basic
776
+
777
+ ```python
778
+ import pulumi
779
+ import pulumi_gcp as gcp
780
+ import pulumi_std as std
781
+
782
+ my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
783
+ name="runtime-template-name",
784
+ display_name="Runtime template",
785
+ location="us-central1",
786
+ machine_spec={
787
+ "machine_type": "e2-standard-4",
788
+ },
789
+ network_spec={
790
+ "enable_internet_access": True,
791
+ })
792
+ output_bucket = gcp.storage.Bucket("output_bucket",
793
+ name="my_bucket",
794
+ location="US",
795
+ force_destroy=True,
796
+ uniform_bucket_level_access=True)
797
+ notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
798
+ display_name="Notebook execution basic",
799
+ location="us-central1",
800
+ direct_notebook_source={
801
+ "content": std.base64encode(input=\"\"\" {
802
+ "cells": [
803
+ {
804
+ "cell_type": "code",
805
+ "execution_count": null,
806
+ "metadata": {},
807
+ "outputs": [],
808
+ "source": [
809
+ "print(\\"Hello, World!\\")"
810
+ ]
811
+ }
812
+ ],
813
+ "metadata": {
814
+ "kernelspec": {
815
+ "display_name": "Python 3",
816
+ "language": "python",
817
+ "name": "python3"
818
+ },
819
+ "language_info": {
820
+ "codemirror_mode": {
821
+ "name": "ipython",
822
+ "version": 3
823
+ },
824
+ "file_extension": ".py",
825
+ "mimetype": "text/x-python",
826
+ "name": "python",
827
+ "nbconvert_exporter": "python",
828
+ "pygments_lexer": "ipython3",
829
+ "version": "3.8.5"
830
+ }
831
+ },
832
+ "nbformat": 4,
833
+ "nbformat_minor": 4
834
+ }
835
+ \"\"\").result,
836
+ },
837
+ notebook_runtime_template_resource_name=pulumi.Output.all(
838
+ project=my_runtime_template.project,
839
+ location=my_runtime_template.location,
840
+ name=my_runtime_template.name
841
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
842
+ ,
843
+ gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
844
+ service_account="my@service-account.com",
845
+ opts = pulumi.ResourceOptions(depends_on=[
846
+ my_runtime_template,
847
+ output_bucket,
848
+ ]))
849
+ ```
850
+ ### Colab Notebook Execution Full
851
+
852
+ ```python
853
+ import pulumi
854
+ import pulumi_gcp as gcp
855
+
856
+ my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
857
+ name="runtime-template-name",
858
+ display_name="Runtime template",
859
+ location="us-central1",
860
+ machine_spec={
861
+ "machine_type": "e2-standard-4",
862
+ },
863
+ network_spec={
864
+ "enable_internet_access": True,
865
+ })
866
+ output_bucket = gcp.storage.Bucket("output_bucket",
867
+ name="my_bucket",
868
+ location="US",
869
+ force_destroy=True,
870
+ uniform_bucket_level_access=True)
871
+ notebook = gcp.storage.BucketObject("notebook",
872
+ name="hello_world.ipynb",
873
+ bucket=output_bucket.name,
874
+ content=\"\"\" {
875
+ "cells": [
876
+ {
877
+ "cell_type": "code",
878
+ "execution_count": null,
879
+ "metadata": {},
880
+ "outputs": [],
881
+ "source": [
882
+ "print(\\"Hello, World!\\")"
883
+ ]
884
+ }
885
+ ],
886
+ "metadata": {
887
+ "kernelspec": {
888
+ "display_name": "Python 3",
889
+ "language": "python",
890
+ "name": "python3"
891
+ },
892
+ "language_info": {
893
+ "codemirror_mode": {
894
+ "name": "ipython",
895
+ "version": 3
896
+ },
897
+ "file_extension": ".py",
898
+ "mimetype": "text/x-python",
899
+ "name": "python",
900
+ "nbconvert_exporter": "python",
901
+ "pygments_lexer": "ipython3",
902
+ "version": "3.8.5"
903
+ }
904
+ },
905
+ "nbformat": 4,
906
+ "nbformat_minor": 4
907
+ }
908
+ \"\"\")
909
+ notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
910
+ notebook_execution_job_id="colab-notebook-execution",
911
+ display_name="Notebook execution full",
912
+ location="us-central1",
913
+ execution_timeout="86400s",
914
+ gcs_notebook_source={
915
+ "uri": pulumi.Output.all(
916
+ bucket=notebook.bucket,
917
+ name=notebook.name
918
+ ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
919
+ ,
920
+ "generation": notebook.generation,
921
+ },
922
+ service_account="my@service-account.com",
923
+ gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
924
+ notebook_runtime_template_resource_name=pulumi.Output.all(
925
+ project=my_runtime_template.project,
926
+ location=my_runtime_template.location,
927
+ name=my_runtime_template.name
928
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
929
+ ,
930
+ opts = pulumi.ResourceOptions(depends_on=[
931
+ notebook,
932
+ output_bucket,
933
+ my_runtime_template,
934
+ ]))
935
+ ```
936
+ ### Colab Notebook Execution Dataform
937
+
938
+ ```python
939
+ import pulumi
940
+ import pulumi_gcp as gcp
941
+
942
+ my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
943
+ name="runtime-template-name",
944
+ display_name="Runtime template",
945
+ location="us-central1",
946
+ machine_spec={
947
+ "machine_type": "e2-standard-4",
948
+ },
949
+ network_spec={
950
+ "enable_internet_access": True,
951
+ })
952
+ output_bucket = gcp.storage.Bucket("output_bucket",
953
+ name="my_bucket",
954
+ location="US",
955
+ force_destroy=True,
956
+ uniform_bucket_level_access=True)
957
+ secret = gcp.secretmanager.Secret("secret",
958
+ secret_id="secret",
959
+ replication={
960
+ "auto": {},
961
+ })
962
+ secret_version = gcp.secretmanager.SecretVersion("secret_version",
963
+ secret=secret.id,
964
+ secret_data="secret-data")
965
+ dataform_repository = gcp.dataform.Repository("dataform_repository",
966
+ name="dataform-repository",
967
+ display_name="dataform_repository",
968
+ npmrc_environment_variables_secret_version=secret_version.id,
969
+ kms_key_name="my-crypto-key",
970
+ labels={
971
+ "label_foo1": "label-bar1",
972
+ },
973
+ git_remote_settings={
974
+ "url": "https://github.com/OWNER/REPOSITORY.git",
975
+ "default_branch": "main",
976
+ "authentication_token_secret_version": secret_version.id,
977
+ },
978
+ workspace_compilation_overrides={
979
+ "default_database": "database",
980
+ "schema_suffix": "_suffix",
981
+ "table_prefix": "prefix_",
982
+ })
983
+ notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
984
+ display_name="Notebook execution Dataform",
985
+ location="us-central1",
986
+ dataform_repository_source={
987
+ "commit_sha": "randomsha123",
988
+ "dataform_repository_resource_name": pulumi.Output.all(
989
+ project=my_runtime_template.project,
990
+ location=my_runtime_template.location,
991
+ name=dataform_repository.name
992
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/repositories/{resolved_outputs['name']}")
993
+ ,
994
+ },
995
+ notebook_runtime_template_resource_name=pulumi.Output.all(
996
+ project=my_runtime_template.project,
997
+ location=my_runtime_template.location,
998
+ name=my_runtime_template.name
999
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
1000
+ ,
1001
+ gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
1002
+ service_account="my@service-account.com",
1003
+ opts = pulumi.ResourceOptions(depends_on=[
1004
+ my_runtime_template,
1005
+ output_bucket,
1006
+ secret_version,
1007
+ dataform_repository,
1008
+ secret,
1009
+ ]))
1010
+ ```
1011
+
1012
+ ## Import
1013
+
1014
+ NotebookExecution can be imported using any of these accepted formats:
1015
+
1016
+ * `projects/{{project}}/locations/{{location}}/notebookExecutionJobs/{{notebook_execution_job_id}}`
1017
+
1018
+ * `{{project}}/{{location}}/{{notebook_execution_job_id}}`
1019
+
1020
+ * `{{location}}/{{notebook_execution_job_id}}`
1021
+
1022
+ When using the `pulumi import` command, NotebookExecution can be imported using one of the formats above. For example:
1023
+
1024
+ ```sh
1025
+ $ pulumi import gcp:colab/notebookExecution:NotebookExecution default projects/{{project}}/locations/{{location}}/notebookExecutionJobs/{{notebook_execution_job_id}}
1026
+ ```
1027
+
1028
+ ```sh
1029
+ $ pulumi import gcp:colab/notebookExecution:NotebookExecution default {{project}}/{{location}}/{{notebook_execution_job_id}}
1030
+ ```
1031
+
1032
+ ```sh
1033
+ $ pulumi import gcp:colab/notebookExecution:NotebookExecution default {{location}}/{{notebook_execution_job_id}}
1034
+ ```
1035
+
1036
+ :param str resource_name: The name of the resource.
1037
+ :param NotebookExecutionArgs args: The arguments to use to populate this resource's properties.
1038
+ :param pulumi.ResourceOptions opts: Options for the resource.
1039
+ """
1040
+ ...
1041
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1042
+ resource_args, opts = _utilities.get_resource_args_opts(NotebookExecutionArgs, pulumi.ResourceOptions, *args, **kwargs)
1043
+ if resource_args is not None:
1044
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1045
+ else:
1046
+ __self__._internal_init(resource_name, *args, **kwargs)
1047
+
1048
+ def _internal_init(__self__,
1049
+ resource_name: str,
1050
+ opts: Optional[pulumi.ResourceOptions] = None,
1051
+ dataform_repository_source: Optional[pulumi.Input[Union['NotebookExecutionDataformRepositorySourceArgs', 'NotebookExecutionDataformRepositorySourceArgsDict']]] = None,
1052
+ direct_notebook_source: Optional[pulumi.Input[Union['NotebookExecutionDirectNotebookSourceArgs', 'NotebookExecutionDirectNotebookSourceArgsDict']]] = None,
1053
+ display_name: Optional[pulumi.Input[str]] = None,
1054
+ execution_timeout: Optional[pulumi.Input[str]] = None,
1055
+ execution_user: Optional[pulumi.Input[str]] = None,
1056
+ gcs_notebook_source: Optional[pulumi.Input[Union['NotebookExecutionGcsNotebookSourceArgs', 'NotebookExecutionGcsNotebookSourceArgsDict']]] = None,
1057
+ gcs_output_uri: Optional[pulumi.Input[str]] = None,
1058
+ location: Optional[pulumi.Input[str]] = None,
1059
+ notebook_execution_job_id: Optional[pulumi.Input[str]] = None,
1060
+ notebook_runtime_template_resource_name: Optional[pulumi.Input[str]] = None,
1061
+ project: Optional[pulumi.Input[str]] = None,
1062
+ service_account: Optional[pulumi.Input[str]] = None,
1063
+ __props__=None):
1064
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1065
+ if not isinstance(opts, pulumi.ResourceOptions):
1066
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1067
+ if opts.id is None:
1068
+ if __props__ is not None:
1069
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1070
+ __props__ = NotebookExecutionArgs.__new__(NotebookExecutionArgs)
1071
+
1072
+ __props__.__dict__["dataform_repository_source"] = dataform_repository_source
1073
+ __props__.__dict__["direct_notebook_source"] = direct_notebook_source
1074
+ if display_name is None and not opts.urn:
1075
+ raise TypeError("Missing required property 'display_name'")
1076
+ __props__.__dict__["display_name"] = display_name
1077
+ __props__.__dict__["execution_timeout"] = execution_timeout
1078
+ __props__.__dict__["execution_user"] = execution_user
1079
+ __props__.__dict__["gcs_notebook_source"] = gcs_notebook_source
1080
+ if gcs_output_uri is None and not opts.urn:
1081
+ raise TypeError("Missing required property 'gcs_output_uri'")
1082
+ __props__.__dict__["gcs_output_uri"] = gcs_output_uri
1083
+ if location is None and not opts.urn:
1084
+ raise TypeError("Missing required property 'location'")
1085
+ __props__.__dict__["location"] = location
1086
+ __props__.__dict__["notebook_execution_job_id"] = notebook_execution_job_id
1087
+ __props__.__dict__["notebook_runtime_template_resource_name"] = notebook_runtime_template_resource_name
1088
+ __props__.__dict__["project"] = project
1089
+ __props__.__dict__["service_account"] = service_account
1090
+ super(NotebookExecution, __self__).__init__(
1091
+ 'gcp:colab/notebookExecution:NotebookExecution',
1092
+ resource_name,
1093
+ __props__,
1094
+ opts)
1095
+
1096
+ @staticmethod
1097
+ def get(resource_name: str,
1098
+ id: pulumi.Input[str],
1099
+ opts: Optional[pulumi.ResourceOptions] = None,
1100
+ dataform_repository_source: Optional[pulumi.Input[Union['NotebookExecutionDataformRepositorySourceArgs', 'NotebookExecutionDataformRepositorySourceArgsDict']]] = None,
1101
+ direct_notebook_source: Optional[pulumi.Input[Union['NotebookExecutionDirectNotebookSourceArgs', 'NotebookExecutionDirectNotebookSourceArgsDict']]] = None,
1102
+ display_name: Optional[pulumi.Input[str]] = None,
1103
+ execution_timeout: Optional[pulumi.Input[str]] = None,
1104
+ execution_user: Optional[pulumi.Input[str]] = None,
1105
+ gcs_notebook_source: Optional[pulumi.Input[Union['NotebookExecutionGcsNotebookSourceArgs', 'NotebookExecutionGcsNotebookSourceArgsDict']]] = None,
1106
+ gcs_output_uri: Optional[pulumi.Input[str]] = None,
1107
+ location: Optional[pulumi.Input[str]] = None,
1108
+ notebook_execution_job_id: Optional[pulumi.Input[str]] = None,
1109
+ notebook_runtime_template_resource_name: Optional[pulumi.Input[str]] = None,
1110
+ project: Optional[pulumi.Input[str]] = None,
1111
+ service_account: Optional[pulumi.Input[str]] = None) -> 'NotebookExecution':
1112
+ """
1113
+ Get an existing NotebookExecution resource's state with the given name, id, and optional extra
1114
+ properties used to qualify the lookup.
1115
+
1116
+ :param str resource_name: The unique name of the resulting resource.
1117
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1118
+ :param pulumi.ResourceOptions opts: Options for the resource.
1119
+ :param pulumi.Input[Union['NotebookExecutionDataformRepositorySourceArgs', 'NotebookExecutionDataformRepositorySourceArgsDict']] dataform_repository_source: The Dataform Repository containing the input notebook.
1120
+ Structure is documented below.
1121
+ :param pulumi.Input[Union['NotebookExecutionDirectNotebookSourceArgs', 'NotebookExecutionDirectNotebookSourceArgsDict']] direct_notebook_source: The content of the input notebook in ipynb format.
1122
+ Structure is documented below.
1123
+ :param pulumi.Input[str] display_name: Required. The display name of the Notebook Execution.
1124
+ :param pulumi.Input[str] execution_timeout: Max running time of the execution job in seconds (default 86400s / 24 hrs).
1125
+ :param pulumi.Input[str] execution_user: The user email to run the execution as.
1126
+ :param pulumi.Input[Union['NotebookExecutionGcsNotebookSourceArgs', 'NotebookExecutionGcsNotebookSourceArgsDict']] gcs_notebook_source: The Cloud Storage uri for the input notebook.
1127
+ Structure is documented below.
1128
+ :param pulumi.Input[str] gcs_output_uri: The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
1129
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
1130
+
1131
+
1132
+ - - -
1133
+ :param pulumi.Input[str] notebook_execution_job_id: User specified ID for the Notebook Execution Job
1134
+ :param pulumi.Input[str] notebook_runtime_template_resource_name: The NotebookRuntimeTemplate to source compute configuration from.
1135
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1136
+ If it is not provided, the provider project is used.
1137
+ :param pulumi.Input[str] service_account: The service account to run the execution as.
1138
+ """
1139
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1140
+
1141
+ __props__ = _NotebookExecutionState.__new__(_NotebookExecutionState)
1142
+
1143
+ __props__.__dict__["dataform_repository_source"] = dataform_repository_source
1144
+ __props__.__dict__["direct_notebook_source"] = direct_notebook_source
1145
+ __props__.__dict__["display_name"] = display_name
1146
+ __props__.__dict__["execution_timeout"] = execution_timeout
1147
+ __props__.__dict__["execution_user"] = execution_user
1148
+ __props__.__dict__["gcs_notebook_source"] = gcs_notebook_source
1149
+ __props__.__dict__["gcs_output_uri"] = gcs_output_uri
1150
+ __props__.__dict__["location"] = location
1151
+ __props__.__dict__["notebook_execution_job_id"] = notebook_execution_job_id
1152
+ __props__.__dict__["notebook_runtime_template_resource_name"] = notebook_runtime_template_resource_name
1153
+ __props__.__dict__["project"] = project
1154
+ __props__.__dict__["service_account"] = service_account
1155
+ return NotebookExecution(resource_name, opts=opts, __props__=__props__)
1156
+
1157
+ @property
1158
+ @pulumi.getter(name="dataformRepositorySource")
1159
+ def dataform_repository_source(self) -> pulumi.Output[Optional['outputs.NotebookExecutionDataformRepositorySource']]:
1160
+ """
1161
+ The Dataform Repository containing the input notebook.
1162
+ Structure is documented below.
1163
+ """
1164
+ return pulumi.get(self, "dataform_repository_source")
1165
+
1166
+ @property
1167
+ @pulumi.getter(name="directNotebookSource")
1168
+ def direct_notebook_source(self) -> pulumi.Output[Optional['outputs.NotebookExecutionDirectNotebookSource']]:
1169
+ """
1170
+ The content of the input notebook in ipynb format.
1171
+ Structure is documented below.
1172
+ """
1173
+ return pulumi.get(self, "direct_notebook_source")
1174
+
1175
+ @property
1176
+ @pulumi.getter(name="displayName")
1177
+ def display_name(self) -> pulumi.Output[str]:
1178
+ """
1179
+ Required. The display name of the Notebook Execution.
1180
+ """
1181
+ return pulumi.get(self, "display_name")
1182
+
1183
+ @property
1184
+ @pulumi.getter(name="executionTimeout")
1185
+ def execution_timeout(self) -> pulumi.Output[Optional[str]]:
1186
+ """
1187
+ Max running time of the execution job in seconds (default 86400s / 24 hrs).
1188
+ """
1189
+ return pulumi.get(self, "execution_timeout")
1190
+
1191
+ @property
1192
+ @pulumi.getter(name="executionUser")
1193
+ def execution_user(self) -> pulumi.Output[Optional[str]]:
1194
+ """
1195
+ The user email to run the execution as.
1196
+ """
1197
+ return pulumi.get(self, "execution_user")
1198
+
1199
+ @property
1200
+ @pulumi.getter(name="gcsNotebookSource")
1201
+ def gcs_notebook_source(self) -> pulumi.Output[Optional['outputs.NotebookExecutionGcsNotebookSource']]:
1202
+ """
1203
+ The Cloud Storage uri for the input notebook.
1204
+ Structure is documented below.
1205
+ """
1206
+ return pulumi.get(self, "gcs_notebook_source")
1207
+
1208
+ @property
1209
+ @pulumi.getter(name="gcsOutputUri")
1210
+ def gcs_output_uri(self) -> pulumi.Output[str]:
1211
+ """
1212
+ The Cloud Storage location to upload the result to. Format:`gs://bucket-name`
1213
+ """
1214
+ return pulumi.get(self, "gcs_output_uri")
1215
+
1216
+ @property
1217
+ @pulumi.getter
1218
+ def location(self) -> pulumi.Output[str]:
1219
+ """
1220
+ The location for the resource: https://cloud.google.com/colab/docs/locations
1221
+
1222
+
1223
+ - - -
1224
+ """
1225
+ return pulumi.get(self, "location")
1226
+
1227
+ @property
1228
+ @pulumi.getter(name="notebookExecutionJobId")
1229
+ def notebook_execution_job_id(self) -> pulumi.Output[str]:
1230
+ """
1231
+ User specified ID for the Notebook Execution Job
1232
+ """
1233
+ return pulumi.get(self, "notebook_execution_job_id")
1234
+
1235
+ @property
1236
+ @pulumi.getter(name="notebookRuntimeTemplateResourceName")
1237
+ def notebook_runtime_template_resource_name(self) -> pulumi.Output[Optional[str]]:
1238
+ """
1239
+ The NotebookRuntimeTemplate to source compute configuration from.
1240
+ """
1241
+ return pulumi.get(self, "notebook_runtime_template_resource_name")
1242
+
1243
+ @property
1244
+ @pulumi.getter
1245
+ def project(self) -> pulumi.Output[str]:
1246
+ """
1247
+ The ID of the project in which the resource belongs.
1248
+ If it is not provided, the provider project is used.
1249
+ """
1250
+ return pulumi.get(self, "project")
1251
+
1252
+ @property
1253
+ @pulumi.getter(name="serviceAccount")
1254
+ def service_account(self) -> pulumi.Output[Optional[str]]:
1255
+ """
1256
+ The service account to run the execution as.
1257
+ """
1258
+ return pulumi.get(self, "service_account")
1259
+