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