pulumi-gcp 8.15.0a1737095291__py3-none-any.whl → 8.15.0a1737577694__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 (77) hide show
  1. pulumi_gcp/__init__.py +78 -0
  2. pulumi_gcp/accesscontextmanager/access_level_condition.py +28 -0
  3. pulumi_gcp/accesscontextmanager/egress_policy.py +28 -0
  4. pulumi_gcp/accesscontextmanager/ingress_policy.py +28 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +28 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +28 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +28 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +28 -0
  10. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +56 -0
  11. pulumi_gcp/apigee/__init__.py +1 -0
  12. pulumi_gcp/apigee/environment_addons_config.py +266 -0
  13. pulumi_gcp/artifactregistry/repository.py +32 -2
  14. pulumi_gcp/bigquery/connection.py +2 -2
  15. pulumi_gcp/bigquery/routine.py +2 -2
  16. pulumi_gcp/billing/project_info.py +4 -4
  17. pulumi_gcp/chronicle/__init__.py +3 -0
  18. pulumi_gcp/chronicle/_inputs.py +379 -0
  19. pulumi_gcp/chronicle/data_access_label.py +21 -21
  20. pulumi_gcp/chronicle/outputs.py +302 -0
  21. pulumi_gcp/chronicle/reference_list.py +788 -0
  22. pulumi_gcp/chronicle/rule.py +1308 -0
  23. pulumi_gcp/chronicle/rule_deployment.py +849 -0
  24. pulumi_gcp/colab/__init__.py +10 -0
  25. pulumi_gcp/colab/_inputs.py +359 -0
  26. pulumi_gcp/colab/outputs.py +344 -0
  27. pulumi_gcp/colab/runtime_template.py +1160 -0
  28. pulumi_gcp/compute/_inputs.py +9 -9
  29. pulumi_gcp/compute/interconnect_attachment.py +7 -7
  30. pulumi_gcp/compute/outputs.py +6 -6
  31. pulumi_gcp/compute/route.py +8 -16
  32. pulumi_gcp/compute/subnetwork.py +7 -7
  33. pulumi_gcp/compute/target_instance.py +4 -4
  34. pulumi_gcp/compute/url_map.py +4 -0
  35. pulumi_gcp/config/__init__.pyi +6 -0
  36. pulumi_gcp/config/vars.py +12 -0
  37. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  38. pulumi_gcp/dataplex/entry_type.py +2 -2
  39. pulumi_gcp/dataplex/task.py +16 -16
  40. pulumi_gcp/dataproc/batch.py +10 -10
  41. pulumi_gcp/discoveryengine/_inputs.py +54 -0
  42. pulumi_gcp/discoveryengine/data_store.py +94 -0
  43. pulumi_gcp/discoveryengine/outputs.py +51 -0
  44. pulumi_gcp/edgenetwork/__init__.py +1 -0
  45. pulumi_gcp/edgenetwork/interconnect_attachment.py +941 -0
  46. pulumi_gcp/firestore/field.py +4 -4
  47. pulumi_gcp/gemini/code_repository_index.py +47 -0
  48. pulumi_gcp/gkehub/membership_binding.py +6 -6
  49. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  50. pulumi_gcp/gkehub/namespace.py +4 -4
  51. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  52. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  53. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  54. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  55. pulumi_gcp/networksecurity/authz_policy.py +0 -202
  56. pulumi_gcp/orgpolicy/policy.py +2 -2
  57. pulumi_gcp/parametermanager/__init__.py +13 -0
  58. pulumi_gcp/parametermanager/_inputs.py +174 -0
  59. pulumi_gcp/parametermanager/get_regional_parameter.py +230 -0
  60. pulumi_gcp/parametermanager/outputs.py +191 -0
  61. pulumi_gcp/parametermanager/parameter.py +706 -0
  62. pulumi_gcp/parametermanager/regional_parameter.py +762 -0
  63. pulumi_gcp/parametermanager/regional_parameter_version.py +558 -0
  64. pulumi_gcp/provider.py +60 -0
  65. pulumi_gcp/pubsub/subscription.py +6 -6
  66. pulumi_gcp/pulumi-plugin.json +1 -1
  67. pulumi_gcp/sql/_inputs.py +54 -0
  68. pulumi_gcp/sql/database_instance.py +78 -16
  69. pulumi_gcp/sql/get_database_instance.py +12 -1
  70. pulumi_gcp/sql/outputs.py +122 -0
  71. pulumi_gcp/sql/source_representation_instance.py +7 -14
  72. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  73. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  74. {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/METADATA +1 -1
  75. {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/RECORD +77 -61
  76. {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/WHEEL +0 -0
  77. {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1160 @@
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__ = ['RuntimeTemplateArgs', 'RuntimeTemplate']
20
+
21
+ @pulumi.input_type
22
+ class RuntimeTemplateArgs:
23
+ def __init__(__self__, *,
24
+ display_name: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ data_persistent_disk_spec: Optional[pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs']] = None,
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ encryption_spec: Optional[pulumi.Input['RuntimeTemplateEncryptionSpecArgs']] = None,
29
+ euc_config: Optional[pulumi.Input['RuntimeTemplateEucConfigArgs']] = None,
30
+ idle_shutdown_config: Optional[pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs']] = None,
31
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
32
+ machine_spec: Optional[pulumi.Input['RuntimeTemplateMachineSpecArgs']] = None,
33
+ name: Optional[pulumi.Input[str]] = None,
34
+ network_spec: Optional[pulumi.Input['RuntimeTemplateNetworkSpecArgs']] = None,
35
+ network_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
36
+ project: Optional[pulumi.Input[str]] = None,
37
+ shielded_vm_config: Optional[pulumi.Input['RuntimeTemplateShieldedVmConfigArgs']] = None):
38
+ """
39
+ The set of arguments for constructing a RuntimeTemplate resource.
40
+ :param pulumi.Input[str] display_name: Required. The display name of the Runtime Template.
41
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
42
+
43
+
44
+ - - -
45
+ :param pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs'] data_persistent_disk_spec: The configuration for the data disk of the runtime.
46
+ Structure is documented below.
47
+ :param pulumi.Input[str] description: The description of the Runtime Template.
48
+ :param pulumi.Input['RuntimeTemplateEncryptionSpecArgs'] encryption_spec: Customer-managed encryption key spec for the notebook runtime.
49
+ Structure is documented below.
50
+ :param pulumi.Input['RuntimeTemplateEucConfigArgs'] euc_config: EUC configuration of the NotebookRuntimeTemplate.
51
+ Structure is documented below.
52
+ :param pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs'] idle_shutdown_config: Notebook Idle Shutdown configuration for the runtime.
53
+ Structure is documented below.
54
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to identify and group the runtime template.
55
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
56
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
57
+ :param pulumi.Input['RuntimeTemplateMachineSpecArgs'] machine_spec: 'The machine configuration of the runtime.'
58
+ Structure is documented below.
59
+ :param pulumi.Input[str] name: The resource name of the Runtime Template
60
+ :param pulumi.Input['RuntimeTemplateNetworkSpecArgs'] network_spec: The network configuration for the runtime.
61
+ Structure is documented below.
62
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] network_tags: Applies the given Compute Engine tags to the runtime.
63
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
64
+ If it is not provided, the provider project is used.
65
+ :param pulumi.Input['RuntimeTemplateShieldedVmConfigArgs'] shielded_vm_config: Runtime Shielded VM spec.
66
+ Structure is documented below.
67
+ """
68
+ pulumi.set(__self__, "display_name", display_name)
69
+ pulumi.set(__self__, "location", location)
70
+ if data_persistent_disk_spec is not None:
71
+ pulumi.set(__self__, "data_persistent_disk_spec", data_persistent_disk_spec)
72
+ if description is not None:
73
+ pulumi.set(__self__, "description", description)
74
+ if encryption_spec is not None:
75
+ pulumi.set(__self__, "encryption_spec", encryption_spec)
76
+ if euc_config is not None:
77
+ pulumi.set(__self__, "euc_config", euc_config)
78
+ if idle_shutdown_config is not None:
79
+ pulumi.set(__self__, "idle_shutdown_config", idle_shutdown_config)
80
+ if labels is not None:
81
+ pulumi.set(__self__, "labels", labels)
82
+ if machine_spec is not None:
83
+ pulumi.set(__self__, "machine_spec", machine_spec)
84
+ if name is not None:
85
+ pulumi.set(__self__, "name", name)
86
+ if network_spec is not None:
87
+ pulumi.set(__self__, "network_spec", network_spec)
88
+ if network_tags is not None:
89
+ pulumi.set(__self__, "network_tags", network_tags)
90
+ if project is not None:
91
+ pulumi.set(__self__, "project", project)
92
+ if shielded_vm_config is not None:
93
+ pulumi.set(__self__, "shielded_vm_config", shielded_vm_config)
94
+
95
+ @property
96
+ @pulumi.getter(name="displayName")
97
+ def display_name(self) -> pulumi.Input[str]:
98
+ """
99
+ Required. The display name of the Runtime Template.
100
+ """
101
+ return pulumi.get(self, "display_name")
102
+
103
+ @display_name.setter
104
+ def display_name(self, value: pulumi.Input[str]):
105
+ pulumi.set(self, "display_name", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def location(self) -> pulumi.Input[str]:
110
+ """
111
+ The location for the resource: https://cloud.google.com/colab/docs/locations
112
+
113
+
114
+ - - -
115
+ """
116
+ return pulumi.get(self, "location")
117
+
118
+ @location.setter
119
+ def location(self, value: pulumi.Input[str]):
120
+ pulumi.set(self, "location", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="dataPersistentDiskSpec")
124
+ def data_persistent_disk_spec(self) -> Optional[pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs']]:
125
+ """
126
+ The configuration for the data disk of the runtime.
127
+ Structure is documented below.
128
+ """
129
+ return pulumi.get(self, "data_persistent_disk_spec")
130
+
131
+ @data_persistent_disk_spec.setter
132
+ def data_persistent_disk_spec(self, value: Optional[pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs']]):
133
+ pulumi.set(self, "data_persistent_disk_spec", value)
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def description(self) -> Optional[pulumi.Input[str]]:
138
+ """
139
+ The description of the Runtime Template.
140
+ """
141
+ return pulumi.get(self, "description")
142
+
143
+ @description.setter
144
+ def description(self, value: Optional[pulumi.Input[str]]):
145
+ pulumi.set(self, "description", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="encryptionSpec")
149
+ def encryption_spec(self) -> Optional[pulumi.Input['RuntimeTemplateEncryptionSpecArgs']]:
150
+ """
151
+ Customer-managed encryption key spec for the notebook runtime.
152
+ Structure is documented below.
153
+ """
154
+ return pulumi.get(self, "encryption_spec")
155
+
156
+ @encryption_spec.setter
157
+ def encryption_spec(self, value: Optional[pulumi.Input['RuntimeTemplateEncryptionSpecArgs']]):
158
+ pulumi.set(self, "encryption_spec", value)
159
+
160
+ @property
161
+ @pulumi.getter(name="eucConfig")
162
+ def euc_config(self) -> Optional[pulumi.Input['RuntimeTemplateEucConfigArgs']]:
163
+ """
164
+ EUC configuration of the NotebookRuntimeTemplate.
165
+ Structure is documented below.
166
+ """
167
+ return pulumi.get(self, "euc_config")
168
+
169
+ @euc_config.setter
170
+ def euc_config(self, value: Optional[pulumi.Input['RuntimeTemplateEucConfigArgs']]):
171
+ pulumi.set(self, "euc_config", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="idleShutdownConfig")
175
+ def idle_shutdown_config(self) -> Optional[pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs']]:
176
+ """
177
+ Notebook Idle Shutdown configuration for the runtime.
178
+ Structure is documented below.
179
+ """
180
+ return pulumi.get(self, "idle_shutdown_config")
181
+
182
+ @idle_shutdown_config.setter
183
+ def idle_shutdown_config(self, value: Optional[pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs']]):
184
+ pulumi.set(self, "idle_shutdown_config", value)
185
+
186
+ @property
187
+ @pulumi.getter
188
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
189
+ """
190
+ Labels to identify and group the runtime template.
191
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
192
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
193
+ """
194
+ return pulumi.get(self, "labels")
195
+
196
+ @labels.setter
197
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
198
+ pulumi.set(self, "labels", value)
199
+
200
+ @property
201
+ @pulumi.getter(name="machineSpec")
202
+ def machine_spec(self) -> Optional[pulumi.Input['RuntimeTemplateMachineSpecArgs']]:
203
+ """
204
+ 'The machine configuration of the runtime.'
205
+ Structure is documented below.
206
+ """
207
+ return pulumi.get(self, "machine_spec")
208
+
209
+ @machine_spec.setter
210
+ def machine_spec(self, value: Optional[pulumi.Input['RuntimeTemplateMachineSpecArgs']]):
211
+ pulumi.set(self, "machine_spec", value)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def name(self) -> Optional[pulumi.Input[str]]:
216
+ """
217
+ The resource name of the Runtime Template
218
+ """
219
+ return pulumi.get(self, "name")
220
+
221
+ @name.setter
222
+ def name(self, value: Optional[pulumi.Input[str]]):
223
+ pulumi.set(self, "name", value)
224
+
225
+ @property
226
+ @pulumi.getter(name="networkSpec")
227
+ def network_spec(self) -> Optional[pulumi.Input['RuntimeTemplateNetworkSpecArgs']]:
228
+ """
229
+ The network configuration for the runtime.
230
+ Structure is documented below.
231
+ """
232
+ return pulumi.get(self, "network_spec")
233
+
234
+ @network_spec.setter
235
+ def network_spec(self, value: Optional[pulumi.Input['RuntimeTemplateNetworkSpecArgs']]):
236
+ pulumi.set(self, "network_spec", value)
237
+
238
+ @property
239
+ @pulumi.getter(name="networkTags")
240
+ def network_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
241
+ """
242
+ Applies the given Compute Engine tags to the runtime.
243
+ """
244
+ return pulumi.get(self, "network_tags")
245
+
246
+ @network_tags.setter
247
+ def network_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
248
+ pulumi.set(self, "network_tags", value)
249
+
250
+ @property
251
+ @pulumi.getter
252
+ def project(self) -> Optional[pulumi.Input[str]]:
253
+ """
254
+ The ID of the project in which the resource belongs.
255
+ If it is not provided, the provider project is used.
256
+ """
257
+ return pulumi.get(self, "project")
258
+
259
+ @project.setter
260
+ def project(self, value: Optional[pulumi.Input[str]]):
261
+ pulumi.set(self, "project", value)
262
+
263
+ @property
264
+ @pulumi.getter(name="shieldedVmConfig")
265
+ def shielded_vm_config(self) -> Optional[pulumi.Input['RuntimeTemplateShieldedVmConfigArgs']]:
266
+ """
267
+ Runtime Shielded VM spec.
268
+ Structure is documented below.
269
+ """
270
+ return pulumi.get(self, "shielded_vm_config")
271
+
272
+ @shielded_vm_config.setter
273
+ def shielded_vm_config(self, value: Optional[pulumi.Input['RuntimeTemplateShieldedVmConfigArgs']]):
274
+ pulumi.set(self, "shielded_vm_config", value)
275
+
276
+
277
+ @pulumi.input_type
278
+ class _RuntimeTemplateState:
279
+ def __init__(__self__, *,
280
+ data_persistent_disk_spec: Optional[pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs']] = None,
281
+ description: Optional[pulumi.Input[str]] = None,
282
+ display_name: Optional[pulumi.Input[str]] = None,
283
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
284
+ encryption_spec: Optional[pulumi.Input['RuntimeTemplateEncryptionSpecArgs']] = None,
285
+ euc_config: Optional[pulumi.Input['RuntimeTemplateEucConfigArgs']] = None,
286
+ idle_shutdown_config: Optional[pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs']] = None,
287
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
288
+ location: Optional[pulumi.Input[str]] = None,
289
+ machine_spec: Optional[pulumi.Input['RuntimeTemplateMachineSpecArgs']] = None,
290
+ name: Optional[pulumi.Input[str]] = None,
291
+ network_spec: Optional[pulumi.Input['RuntimeTemplateNetworkSpecArgs']] = None,
292
+ network_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
293
+ project: Optional[pulumi.Input[str]] = None,
294
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
295
+ shielded_vm_config: Optional[pulumi.Input['RuntimeTemplateShieldedVmConfigArgs']] = None):
296
+ """
297
+ Input properties used for looking up and filtering RuntimeTemplate resources.
298
+ :param pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs'] data_persistent_disk_spec: The configuration for the data disk of the runtime.
299
+ Structure is documented below.
300
+ :param pulumi.Input[str] description: The description of the Runtime Template.
301
+ :param pulumi.Input[str] display_name: Required. The display name of the Runtime Template.
302
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
303
+ :param pulumi.Input['RuntimeTemplateEncryptionSpecArgs'] encryption_spec: Customer-managed encryption key spec for the notebook runtime.
304
+ Structure is documented below.
305
+ :param pulumi.Input['RuntimeTemplateEucConfigArgs'] euc_config: EUC configuration of the NotebookRuntimeTemplate.
306
+ Structure is documented below.
307
+ :param pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs'] idle_shutdown_config: Notebook Idle Shutdown configuration for the runtime.
308
+ Structure is documented below.
309
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to identify and group the runtime template.
310
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
311
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
312
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
313
+
314
+
315
+ - - -
316
+ :param pulumi.Input['RuntimeTemplateMachineSpecArgs'] machine_spec: 'The machine configuration of the runtime.'
317
+ Structure is documented below.
318
+ :param pulumi.Input[str] name: The resource name of the Runtime Template
319
+ :param pulumi.Input['RuntimeTemplateNetworkSpecArgs'] network_spec: The network configuration for the runtime.
320
+ Structure is documented below.
321
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] network_tags: Applies the given Compute Engine tags to the runtime.
322
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
323
+ If it is not provided, the provider project is used.
324
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
325
+ and default labels configured on the provider.
326
+ :param pulumi.Input['RuntimeTemplateShieldedVmConfigArgs'] shielded_vm_config: Runtime Shielded VM spec.
327
+ Structure is documented below.
328
+ """
329
+ if data_persistent_disk_spec is not None:
330
+ pulumi.set(__self__, "data_persistent_disk_spec", data_persistent_disk_spec)
331
+ if description is not None:
332
+ pulumi.set(__self__, "description", description)
333
+ if display_name is not None:
334
+ pulumi.set(__self__, "display_name", display_name)
335
+ if effective_labels is not None:
336
+ pulumi.set(__self__, "effective_labels", effective_labels)
337
+ if encryption_spec is not None:
338
+ pulumi.set(__self__, "encryption_spec", encryption_spec)
339
+ if euc_config is not None:
340
+ pulumi.set(__self__, "euc_config", euc_config)
341
+ if idle_shutdown_config is not None:
342
+ pulumi.set(__self__, "idle_shutdown_config", idle_shutdown_config)
343
+ if labels is not None:
344
+ pulumi.set(__self__, "labels", labels)
345
+ if location is not None:
346
+ pulumi.set(__self__, "location", location)
347
+ if machine_spec is not None:
348
+ pulumi.set(__self__, "machine_spec", machine_spec)
349
+ if name is not None:
350
+ pulumi.set(__self__, "name", name)
351
+ if network_spec is not None:
352
+ pulumi.set(__self__, "network_spec", network_spec)
353
+ if network_tags is not None:
354
+ pulumi.set(__self__, "network_tags", network_tags)
355
+ if project is not None:
356
+ pulumi.set(__self__, "project", project)
357
+ if pulumi_labels is not None:
358
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
359
+ if shielded_vm_config is not None:
360
+ pulumi.set(__self__, "shielded_vm_config", shielded_vm_config)
361
+
362
+ @property
363
+ @pulumi.getter(name="dataPersistentDiskSpec")
364
+ def data_persistent_disk_spec(self) -> Optional[pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs']]:
365
+ """
366
+ The configuration for the data disk of the runtime.
367
+ Structure is documented below.
368
+ """
369
+ return pulumi.get(self, "data_persistent_disk_spec")
370
+
371
+ @data_persistent_disk_spec.setter
372
+ def data_persistent_disk_spec(self, value: Optional[pulumi.Input['RuntimeTemplateDataPersistentDiskSpecArgs']]):
373
+ pulumi.set(self, "data_persistent_disk_spec", value)
374
+
375
+ @property
376
+ @pulumi.getter
377
+ def description(self) -> Optional[pulumi.Input[str]]:
378
+ """
379
+ The description of the Runtime Template.
380
+ """
381
+ return pulumi.get(self, "description")
382
+
383
+ @description.setter
384
+ def description(self, value: Optional[pulumi.Input[str]]):
385
+ pulumi.set(self, "description", value)
386
+
387
+ @property
388
+ @pulumi.getter(name="displayName")
389
+ def display_name(self) -> Optional[pulumi.Input[str]]:
390
+ """
391
+ Required. The display name of the Runtime Template.
392
+ """
393
+ return pulumi.get(self, "display_name")
394
+
395
+ @display_name.setter
396
+ def display_name(self, value: Optional[pulumi.Input[str]]):
397
+ pulumi.set(self, "display_name", value)
398
+
399
+ @property
400
+ @pulumi.getter(name="effectiveLabels")
401
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
402
+ """
403
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
404
+ """
405
+ return pulumi.get(self, "effective_labels")
406
+
407
+ @effective_labels.setter
408
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
409
+ pulumi.set(self, "effective_labels", value)
410
+
411
+ @property
412
+ @pulumi.getter(name="encryptionSpec")
413
+ def encryption_spec(self) -> Optional[pulumi.Input['RuntimeTemplateEncryptionSpecArgs']]:
414
+ """
415
+ Customer-managed encryption key spec for the notebook runtime.
416
+ Structure is documented below.
417
+ """
418
+ return pulumi.get(self, "encryption_spec")
419
+
420
+ @encryption_spec.setter
421
+ def encryption_spec(self, value: Optional[pulumi.Input['RuntimeTemplateEncryptionSpecArgs']]):
422
+ pulumi.set(self, "encryption_spec", value)
423
+
424
+ @property
425
+ @pulumi.getter(name="eucConfig")
426
+ def euc_config(self) -> Optional[pulumi.Input['RuntimeTemplateEucConfigArgs']]:
427
+ """
428
+ EUC configuration of the NotebookRuntimeTemplate.
429
+ Structure is documented below.
430
+ """
431
+ return pulumi.get(self, "euc_config")
432
+
433
+ @euc_config.setter
434
+ def euc_config(self, value: Optional[pulumi.Input['RuntimeTemplateEucConfigArgs']]):
435
+ pulumi.set(self, "euc_config", value)
436
+
437
+ @property
438
+ @pulumi.getter(name="idleShutdownConfig")
439
+ def idle_shutdown_config(self) -> Optional[pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs']]:
440
+ """
441
+ Notebook Idle Shutdown configuration for the runtime.
442
+ Structure is documented below.
443
+ """
444
+ return pulumi.get(self, "idle_shutdown_config")
445
+
446
+ @idle_shutdown_config.setter
447
+ def idle_shutdown_config(self, value: Optional[pulumi.Input['RuntimeTemplateIdleShutdownConfigArgs']]):
448
+ pulumi.set(self, "idle_shutdown_config", value)
449
+
450
+ @property
451
+ @pulumi.getter
452
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
453
+ """
454
+ Labels to identify and group the runtime template.
455
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
456
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
457
+ """
458
+ return pulumi.get(self, "labels")
459
+
460
+ @labels.setter
461
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
462
+ pulumi.set(self, "labels", value)
463
+
464
+ @property
465
+ @pulumi.getter
466
+ def location(self) -> Optional[pulumi.Input[str]]:
467
+ """
468
+ The location for the resource: https://cloud.google.com/colab/docs/locations
469
+
470
+
471
+ - - -
472
+ """
473
+ return pulumi.get(self, "location")
474
+
475
+ @location.setter
476
+ def location(self, value: Optional[pulumi.Input[str]]):
477
+ pulumi.set(self, "location", value)
478
+
479
+ @property
480
+ @pulumi.getter(name="machineSpec")
481
+ def machine_spec(self) -> Optional[pulumi.Input['RuntimeTemplateMachineSpecArgs']]:
482
+ """
483
+ 'The machine configuration of the runtime.'
484
+ Structure is documented below.
485
+ """
486
+ return pulumi.get(self, "machine_spec")
487
+
488
+ @machine_spec.setter
489
+ def machine_spec(self, value: Optional[pulumi.Input['RuntimeTemplateMachineSpecArgs']]):
490
+ pulumi.set(self, "machine_spec", value)
491
+
492
+ @property
493
+ @pulumi.getter
494
+ def name(self) -> Optional[pulumi.Input[str]]:
495
+ """
496
+ The resource name of the Runtime Template
497
+ """
498
+ return pulumi.get(self, "name")
499
+
500
+ @name.setter
501
+ def name(self, value: Optional[pulumi.Input[str]]):
502
+ pulumi.set(self, "name", value)
503
+
504
+ @property
505
+ @pulumi.getter(name="networkSpec")
506
+ def network_spec(self) -> Optional[pulumi.Input['RuntimeTemplateNetworkSpecArgs']]:
507
+ """
508
+ The network configuration for the runtime.
509
+ Structure is documented below.
510
+ """
511
+ return pulumi.get(self, "network_spec")
512
+
513
+ @network_spec.setter
514
+ def network_spec(self, value: Optional[pulumi.Input['RuntimeTemplateNetworkSpecArgs']]):
515
+ pulumi.set(self, "network_spec", value)
516
+
517
+ @property
518
+ @pulumi.getter(name="networkTags")
519
+ def network_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
520
+ """
521
+ Applies the given Compute Engine tags to the runtime.
522
+ """
523
+ return pulumi.get(self, "network_tags")
524
+
525
+ @network_tags.setter
526
+ def network_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
527
+ pulumi.set(self, "network_tags", value)
528
+
529
+ @property
530
+ @pulumi.getter
531
+ def project(self) -> Optional[pulumi.Input[str]]:
532
+ """
533
+ The ID of the project in which the resource belongs.
534
+ If it is not provided, the provider project is used.
535
+ """
536
+ return pulumi.get(self, "project")
537
+
538
+ @project.setter
539
+ def project(self, value: Optional[pulumi.Input[str]]):
540
+ pulumi.set(self, "project", value)
541
+
542
+ @property
543
+ @pulumi.getter(name="pulumiLabels")
544
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
545
+ """
546
+ The combination of labels configured directly on the resource
547
+ and default labels configured on the provider.
548
+ """
549
+ return pulumi.get(self, "pulumi_labels")
550
+
551
+ @pulumi_labels.setter
552
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
553
+ pulumi.set(self, "pulumi_labels", value)
554
+
555
+ @property
556
+ @pulumi.getter(name="shieldedVmConfig")
557
+ def shielded_vm_config(self) -> Optional[pulumi.Input['RuntimeTemplateShieldedVmConfigArgs']]:
558
+ """
559
+ Runtime Shielded VM spec.
560
+ Structure is documented below.
561
+ """
562
+ return pulumi.get(self, "shielded_vm_config")
563
+
564
+ @shielded_vm_config.setter
565
+ def shielded_vm_config(self, value: Optional[pulumi.Input['RuntimeTemplateShieldedVmConfigArgs']]):
566
+ pulumi.set(self, "shielded_vm_config", value)
567
+
568
+
569
+ class RuntimeTemplate(pulumi.CustomResource):
570
+ @overload
571
+ def __init__(__self__,
572
+ resource_name: str,
573
+ opts: Optional[pulumi.ResourceOptions] = None,
574
+ data_persistent_disk_spec: Optional[pulumi.Input[Union['RuntimeTemplateDataPersistentDiskSpecArgs', 'RuntimeTemplateDataPersistentDiskSpecArgsDict']]] = None,
575
+ description: Optional[pulumi.Input[str]] = None,
576
+ display_name: Optional[pulumi.Input[str]] = None,
577
+ encryption_spec: Optional[pulumi.Input[Union['RuntimeTemplateEncryptionSpecArgs', 'RuntimeTemplateEncryptionSpecArgsDict']]] = None,
578
+ euc_config: Optional[pulumi.Input[Union['RuntimeTemplateEucConfigArgs', 'RuntimeTemplateEucConfigArgsDict']]] = None,
579
+ idle_shutdown_config: Optional[pulumi.Input[Union['RuntimeTemplateIdleShutdownConfigArgs', 'RuntimeTemplateIdleShutdownConfigArgsDict']]] = None,
580
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
581
+ location: Optional[pulumi.Input[str]] = None,
582
+ machine_spec: Optional[pulumi.Input[Union['RuntimeTemplateMachineSpecArgs', 'RuntimeTemplateMachineSpecArgsDict']]] = None,
583
+ name: Optional[pulumi.Input[str]] = None,
584
+ network_spec: Optional[pulumi.Input[Union['RuntimeTemplateNetworkSpecArgs', 'RuntimeTemplateNetworkSpecArgsDict']]] = None,
585
+ network_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
586
+ project: Optional[pulumi.Input[str]] = None,
587
+ shielded_vm_config: Optional[pulumi.Input[Union['RuntimeTemplateShieldedVmConfigArgs', 'RuntimeTemplateShieldedVmConfigArgsDict']]] = None,
588
+ __props__=None):
589
+ """
590
+ 'A runtime template is a VM configuration that specifies a machine type and other characteristics of the VM,
591
+ as well as common settings such as the network and whether public internet access is enabled. When you create
592
+ a runtime, its VM is created according to the specifications of a runtime template.'
593
+
594
+ To get more information about RuntimeTemplate, see:
595
+
596
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.notebookRuntimeTemplates)
597
+ * How-to Guides
598
+ * [Create a runtime template](https://cloud.google.com/colab/docs/create-runtime-template)
599
+
600
+ ## Example Usage
601
+
602
+ ### Colab Runtime Template Basic
603
+
604
+ ```python
605
+ import pulumi
606
+ import pulumi_gcp as gcp
607
+
608
+ runtime_template = gcp.colab.RuntimeTemplate("runtime-template",
609
+ name="colab-runtime-template",
610
+ display_name="Runtime template basic",
611
+ location="us-central1",
612
+ machine_spec={
613
+ "machine_type": "e2-standard-4",
614
+ },
615
+ network_spec={
616
+ "enable_internet_access": True,
617
+ })
618
+ ```
619
+ ### Colab Runtime Template No Name
620
+
621
+ ```python
622
+ import pulumi
623
+ import pulumi_gcp as gcp
624
+
625
+ runtime_template = gcp.colab.RuntimeTemplate("runtime-template",
626
+ display_name="Runtime template no name",
627
+ location="us-central1",
628
+ machine_spec={
629
+ "machine_type": "e2-standard-4",
630
+ },
631
+ network_spec={
632
+ "enable_internet_access": True,
633
+ })
634
+ ```
635
+ ### Colab Runtime Template Full
636
+
637
+ ```python
638
+ import pulumi
639
+ import pulumi_gcp as gcp
640
+
641
+ my_network = gcp.compute.Network("my_network",
642
+ name="colab-test-default",
643
+ auto_create_subnetworks=False)
644
+ my_subnetwork = gcp.compute.Subnetwork("my_subnetwork",
645
+ name="colab-test-default",
646
+ network=my_network.id,
647
+ region="us-central1",
648
+ ip_cidr_range="10.0.1.0/24")
649
+ runtime_template = gcp.colab.RuntimeTemplate("runtime-template",
650
+ name="colab-runtime-template",
651
+ display_name="Runtime template full",
652
+ location="us-central1",
653
+ description="Full runtime template",
654
+ machine_spec={
655
+ "machine_type": "n1-standard-2",
656
+ "accelerator_type": "NVIDIA_TESLA_T4",
657
+ "accelerator_count": 1,
658
+ },
659
+ data_persistent_disk_spec={
660
+ "disk_type": "pd-standard",
661
+ "disk_size_gb": "200",
662
+ },
663
+ network_spec={
664
+ "enable_internet_access": True,
665
+ "network": my_network.id,
666
+ "subnetwork": my_subnetwork.id,
667
+ },
668
+ labels={
669
+ "k": "val",
670
+ },
671
+ idle_shutdown_config={
672
+ "idle_timeout": "3600s",
673
+ },
674
+ euc_config={
675
+ "euc_disabled": True,
676
+ },
677
+ shielded_vm_config={
678
+ "enable_secure_boot": True,
679
+ },
680
+ network_tags=[
681
+ "abc",
682
+ "def",
683
+ ],
684
+ encryption_spec={
685
+ "kms_key_name": "my-crypto-key",
686
+ })
687
+ ```
688
+
689
+ ## Import
690
+
691
+ RuntimeTemplate can be imported using any of these accepted formats:
692
+
693
+ * `projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{name}}`
694
+
695
+ * `{{project}}/{{location}}/{{name}}`
696
+
697
+ * `{{location}}/{{name}}`
698
+
699
+ When using the `pulumi import` command, RuntimeTemplate can be imported using one of the formats above. For example:
700
+
701
+ ```sh
702
+ $ pulumi import gcp:colab/runtimeTemplate:RuntimeTemplate default projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{name}}
703
+ ```
704
+
705
+ ```sh
706
+ $ pulumi import gcp:colab/runtimeTemplate:RuntimeTemplate default {{project}}/{{location}}/{{name}}
707
+ ```
708
+
709
+ ```sh
710
+ $ pulumi import gcp:colab/runtimeTemplate:RuntimeTemplate default {{location}}/{{name}}
711
+ ```
712
+
713
+ :param str resource_name: The name of the resource.
714
+ :param pulumi.ResourceOptions opts: Options for the resource.
715
+ :param pulumi.Input[Union['RuntimeTemplateDataPersistentDiskSpecArgs', 'RuntimeTemplateDataPersistentDiskSpecArgsDict']] data_persistent_disk_spec: The configuration for the data disk of the runtime.
716
+ Structure is documented below.
717
+ :param pulumi.Input[str] description: The description of the Runtime Template.
718
+ :param pulumi.Input[str] display_name: Required. The display name of the Runtime Template.
719
+ :param pulumi.Input[Union['RuntimeTemplateEncryptionSpecArgs', 'RuntimeTemplateEncryptionSpecArgsDict']] encryption_spec: Customer-managed encryption key spec for the notebook runtime.
720
+ Structure is documented below.
721
+ :param pulumi.Input[Union['RuntimeTemplateEucConfigArgs', 'RuntimeTemplateEucConfigArgsDict']] euc_config: EUC configuration of the NotebookRuntimeTemplate.
722
+ Structure is documented below.
723
+ :param pulumi.Input[Union['RuntimeTemplateIdleShutdownConfigArgs', 'RuntimeTemplateIdleShutdownConfigArgsDict']] idle_shutdown_config: Notebook Idle Shutdown configuration for the runtime.
724
+ Structure is documented below.
725
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to identify and group the runtime template.
726
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
727
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
728
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
729
+
730
+
731
+ - - -
732
+ :param pulumi.Input[Union['RuntimeTemplateMachineSpecArgs', 'RuntimeTemplateMachineSpecArgsDict']] machine_spec: 'The machine configuration of the runtime.'
733
+ Structure is documented below.
734
+ :param pulumi.Input[str] name: The resource name of the Runtime Template
735
+ :param pulumi.Input[Union['RuntimeTemplateNetworkSpecArgs', 'RuntimeTemplateNetworkSpecArgsDict']] network_spec: The network configuration for the runtime.
736
+ Structure is documented below.
737
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] network_tags: Applies the given Compute Engine tags to the runtime.
738
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
739
+ If it is not provided, the provider project is used.
740
+ :param pulumi.Input[Union['RuntimeTemplateShieldedVmConfigArgs', 'RuntimeTemplateShieldedVmConfigArgsDict']] shielded_vm_config: Runtime Shielded VM spec.
741
+ Structure is documented below.
742
+ """
743
+ ...
744
+ @overload
745
+ def __init__(__self__,
746
+ resource_name: str,
747
+ args: RuntimeTemplateArgs,
748
+ opts: Optional[pulumi.ResourceOptions] = None):
749
+ """
750
+ 'A runtime template is a VM configuration that specifies a machine type and other characteristics of the VM,
751
+ as well as common settings such as the network and whether public internet access is enabled. When you create
752
+ a runtime, its VM is created according to the specifications of a runtime template.'
753
+
754
+ To get more information about RuntimeTemplate, see:
755
+
756
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.notebookRuntimeTemplates)
757
+ * How-to Guides
758
+ * [Create a runtime template](https://cloud.google.com/colab/docs/create-runtime-template)
759
+
760
+ ## Example Usage
761
+
762
+ ### Colab Runtime Template Basic
763
+
764
+ ```python
765
+ import pulumi
766
+ import pulumi_gcp as gcp
767
+
768
+ runtime_template = gcp.colab.RuntimeTemplate("runtime-template",
769
+ name="colab-runtime-template",
770
+ display_name="Runtime template basic",
771
+ location="us-central1",
772
+ machine_spec={
773
+ "machine_type": "e2-standard-4",
774
+ },
775
+ network_spec={
776
+ "enable_internet_access": True,
777
+ })
778
+ ```
779
+ ### Colab Runtime Template No Name
780
+
781
+ ```python
782
+ import pulumi
783
+ import pulumi_gcp as gcp
784
+
785
+ runtime_template = gcp.colab.RuntimeTemplate("runtime-template",
786
+ display_name="Runtime template no name",
787
+ location="us-central1",
788
+ machine_spec={
789
+ "machine_type": "e2-standard-4",
790
+ },
791
+ network_spec={
792
+ "enable_internet_access": True,
793
+ })
794
+ ```
795
+ ### Colab Runtime Template Full
796
+
797
+ ```python
798
+ import pulumi
799
+ import pulumi_gcp as gcp
800
+
801
+ my_network = gcp.compute.Network("my_network",
802
+ name="colab-test-default",
803
+ auto_create_subnetworks=False)
804
+ my_subnetwork = gcp.compute.Subnetwork("my_subnetwork",
805
+ name="colab-test-default",
806
+ network=my_network.id,
807
+ region="us-central1",
808
+ ip_cidr_range="10.0.1.0/24")
809
+ runtime_template = gcp.colab.RuntimeTemplate("runtime-template",
810
+ name="colab-runtime-template",
811
+ display_name="Runtime template full",
812
+ location="us-central1",
813
+ description="Full runtime template",
814
+ machine_spec={
815
+ "machine_type": "n1-standard-2",
816
+ "accelerator_type": "NVIDIA_TESLA_T4",
817
+ "accelerator_count": 1,
818
+ },
819
+ data_persistent_disk_spec={
820
+ "disk_type": "pd-standard",
821
+ "disk_size_gb": "200",
822
+ },
823
+ network_spec={
824
+ "enable_internet_access": True,
825
+ "network": my_network.id,
826
+ "subnetwork": my_subnetwork.id,
827
+ },
828
+ labels={
829
+ "k": "val",
830
+ },
831
+ idle_shutdown_config={
832
+ "idle_timeout": "3600s",
833
+ },
834
+ euc_config={
835
+ "euc_disabled": True,
836
+ },
837
+ shielded_vm_config={
838
+ "enable_secure_boot": True,
839
+ },
840
+ network_tags=[
841
+ "abc",
842
+ "def",
843
+ ],
844
+ encryption_spec={
845
+ "kms_key_name": "my-crypto-key",
846
+ })
847
+ ```
848
+
849
+ ## Import
850
+
851
+ RuntimeTemplate can be imported using any of these accepted formats:
852
+
853
+ * `projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{name}}`
854
+
855
+ * `{{project}}/{{location}}/{{name}}`
856
+
857
+ * `{{location}}/{{name}}`
858
+
859
+ When using the `pulumi import` command, RuntimeTemplate can be imported using one of the formats above. For example:
860
+
861
+ ```sh
862
+ $ pulumi import gcp:colab/runtimeTemplate:RuntimeTemplate default projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{name}}
863
+ ```
864
+
865
+ ```sh
866
+ $ pulumi import gcp:colab/runtimeTemplate:RuntimeTemplate default {{project}}/{{location}}/{{name}}
867
+ ```
868
+
869
+ ```sh
870
+ $ pulumi import gcp:colab/runtimeTemplate:RuntimeTemplate default {{location}}/{{name}}
871
+ ```
872
+
873
+ :param str resource_name: The name of the resource.
874
+ :param RuntimeTemplateArgs args: The arguments to use to populate this resource's properties.
875
+ :param pulumi.ResourceOptions opts: Options for the resource.
876
+ """
877
+ ...
878
+ def __init__(__self__, resource_name: str, *args, **kwargs):
879
+ resource_args, opts = _utilities.get_resource_args_opts(RuntimeTemplateArgs, pulumi.ResourceOptions, *args, **kwargs)
880
+ if resource_args is not None:
881
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
882
+ else:
883
+ __self__._internal_init(resource_name, *args, **kwargs)
884
+
885
+ def _internal_init(__self__,
886
+ resource_name: str,
887
+ opts: Optional[pulumi.ResourceOptions] = None,
888
+ data_persistent_disk_spec: Optional[pulumi.Input[Union['RuntimeTemplateDataPersistentDiskSpecArgs', 'RuntimeTemplateDataPersistentDiskSpecArgsDict']]] = None,
889
+ description: Optional[pulumi.Input[str]] = None,
890
+ display_name: Optional[pulumi.Input[str]] = None,
891
+ encryption_spec: Optional[pulumi.Input[Union['RuntimeTemplateEncryptionSpecArgs', 'RuntimeTemplateEncryptionSpecArgsDict']]] = None,
892
+ euc_config: Optional[pulumi.Input[Union['RuntimeTemplateEucConfigArgs', 'RuntimeTemplateEucConfigArgsDict']]] = None,
893
+ idle_shutdown_config: Optional[pulumi.Input[Union['RuntimeTemplateIdleShutdownConfigArgs', 'RuntimeTemplateIdleShutdownConfigArgsDict']]] = None,
894
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
895
+ location: Optional[pulumi.Input[str]] = None,
896
+ machine_spec: Optional[pulumi.Input[Union['RuntimeTemplateMachineSpecArgs', 'RuntimeTemplateMachineSpecArgsDict']]] = None,
897
+ name: Optional[pulumi.Input[str]] = None,
898
+ network_spec: Optional[pulumi.Input[Union['RuntimeTemplateNetworkSpecArgs', 'RuntimeTemplateNetworkSpecArgsDict']]] = None,
899
+ network_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
900
+ project: Optional[pulumi.Input[str]] = None,
901
+ shielded_vm_config: Optional[pulumi.Input[Union['RuntimeTemplateShieldedVmConfigArgs', 'RuntimeTemplateShieldedVmConfigArgsDict']]] = None,
902
+ __props__=None):
903
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
904
+ if not isinstance(opts, pulumi.ResourceOptions):
905
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
906
+ if opts.id is None:
907
+ if __props__ is not None:
908
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
909
+ __props__ = RuntimeTemplateArgs.__new__(RuntimeTemplateArgs)
910
+
911
+ __props__.__dict__["data_persistent_disk_spec"] = data_persistent_disk_spec
912
+ __props__.__dict__["description"] = description
913
+ if display_name is None and not opts.urn:
914
+ raise TypeError("Missing required property 'display_name'")
915
+ __props__.__dict__["display_name"] = display_name
916
+ __props__.__dict__["encryption_spec"] = encryption_spec
917
+ __props__.__dict__["euc_config"] = euc_config
918
+ __props__.__dict__["idle_shutdown_config"] = idle_shutdown_config
919
+ __props__.__dict__["labels"] = labels
920
+ if location is None and not opts.urn:
921
+ raise TypeError("Missing required property 'location'")
922
+ __props__.__dict__["location"] = location
923
+ __props__.__dict__["machine_spec"] = machine_spec
924
+ __props__.__dict__["name"] = name
925
+ __props__.__dict__["network_spec"] = network_spec
926
+ __props__.__dict__["network_tags"] = network_tags
927
+ __props__.__dict__["project"] = project
928
+ __props__.__dict__["shielded_vm_config"] = shielded_vm_config
929
+ __props__.__dict__["effective_labels"] = None
930
+ __props__.__dict__["pulumi_labels"] = None
931
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
932
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
933
+ super(RuntimeTemplate, __self__).__init__(
934
+ 'gcp:colab/runtimeTemplate:RuntimeTemplate',
935
+ resource_name,
936
+ __props__,
937
+ opts)
938
+
939
+ @staticmethod
940
+ def get(resource_name: str,
941
+ id: pulumi.Input[str],
942
+ opts: Optional[pulumi.ResourceOptions] = None,
943
+ data_persistent_disk_spec: Optional[pulumi.Input[Union['RuntimeTemplateDataPersistentDiskSpecArgs', 'RuntimeTemplateDataPersistentDiskSpecArgsDict']]] = None,
944
+ description: Optional[pulumi.Input[str]] = None,
945
+ display_name: Optional[pulumi.Input[str]] = None,
946
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
947
+ encryption_spec: Optional[pulumi.Input[Union['RuntimeTemplateEncryptionSpecArgs', 'RuntimeTemplateEncryptionSpecArgsDict']]] = None,
948
+ euc_config: Optional[pulumi.Input[Union['RuntimeTemplateEucConfigArgs', 'RuntimeTemplateEucConfigArgsDict']]] = None,
949
+ idle_shutdown_config: Optional[pulumi.Input[Union['RuntimeTemplateIdleShutdownConfigArgs', 'RuntimeTemplateIdleShutdownConfigArgsDict']]] = None,
950
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
951
+ location: Optional[pulumi.Input[str]] = None,
952
+ machine_spec: Optional[pulumi.Input[Union['RuntimeTemplateMachineSpecArgs', 'RuntimeTemplateMachineSpecArgsDict']]] = None,
953
+ name: Optional[pulumi.Input[str]] = None,
954
+ network_spec: Optional[pulumi.Input[Union['RuntimeTemplateNetworkSpecArgs', 'RuntimeTemplateNetworkSpecArgsDict']]] = None,
955
+ network_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
956
+ project: Optional[pulumi.Input[str]] = None,
957
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
958
+ shielded_vm_config: Optional[pulumi.Input[Union['RuntimeTemplateShieldedVmConfigArgs', 'RuntimeTemplateShieldedVmConfigArgsDict']]] = None) -> 'RuntimeTemplate':
959
+ """
960
+ Get an existing RuntimeTemplate resource's state with the given name, id, and optional extra
961
+ properties used to qualify the lookup.
962
+
963
+ :param str resource_name: The unique name of the resulting resource.
964
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
965
+ :param pulumi.ResourceOptions opts: Options for the resource.
966
+ :param pulumi.Input[Union['RuntimeTemplateDataPersistentDiskSpecArgs', 'RuntimeTemplateDataPersistentDiskSpecArgsDict']] data_persistent_disk_spec: The configuration for the data disk of the runtime.
967
+ Structure is documented below.
968
+ :param pulumi.Input[str] description: The description of the Runtime Template.
969
+ :param pulumi.Input[str] display_name: Required. The display name of the Runtime Template.
970
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
971
+ :param pulumi.Input[Union['RuntimeTemplateEncryptionSpecArgs', 'RuntimeTemplateEncryptionSpecArgsDict']] encryption_spec: Customer-managed encryption key spec for the notebook runtime.
972
+ Structure is documented below.
973
+ :param pulumi.Input[Union['RuntimeTemplateEucConfigArgs', 'RuntimeTemplateEucConfigArgsDict']] euc_config: EUC configuration of the NotebookRuntimeTemplate.
974
+ Structure is documented below.
975
+ :param pulumi.Input[Union['RuntimeTemplateIdleShutdownConfigArgs', 'RuntimeTemplateIdleShutdownConfigArgsDict']] idle_shutdown_config: Notebook Idle Shutdown configuration for the runtime.
976
+ Structure is documented below.
977
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to identify and group the runtime template.
978
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
979
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
980
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations
981
+
982
+
983
+ - - -
984
+ :param pulumi.Input[Union['RuntimeTemplateMachineSpecArgs', 'RuntimeTemplateMachineSpecArgsDict']] machine_spec: 'The machine configuration of the runtime.'
985
+ Structure is documented below.
986
+ :param pulumi.Input[str] name: The resource name of the Runtime Template
987
+ :param pulumi.Input[Union['RuntimeTemplateNetworkSpecArgs', 'RuntimeTemplateNetworkSpecArgsDict']] network_spec: The network configuration for the runtime.
988
+ Structure is documented below.
989
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] network_tags: Applies the given Compute Engine tags to the runtime.
990
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
991
+ If it is not provided, the provider project is used.
992
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
993
+ and default labels configured on the provider.
994
+ :param pulumi.Input[Union['RuntimeTemplateShieldedVmConfigArgs', 'RuntimeTemplateShieldedVmConfigArgsDict']] shielded_vm_config: Runtime Shielded VM spec.
995
+ Structure is documented below.
996
+ """
997
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
998
+
999
+ __props__ = _RuntimeTemplateState.__new__(_RuntimeTemplateState)
1000
+
1001
+ __props__.__dict__["data_persistent_disk_spec"] = data_persistent_disk_spec
1002
+ __props__.__dict__["description"] = description
1003
+ __props__.__dict__["display_name"] = display_name
1004
+ __props__.__dict__["effective_labels"] = effective_labels
1005
+ __props__.__dict__["encryption_spec"] = encryption_spec
1006
+ __props__.__dict__["euc_config"] = euc_config
1007
+ __props__.__dict__["idle_shutdown_config"] = idle_shutdown_config
1008
+ __props__.__dict__["labels"] = labels
1009
+ __props__.__dict__["location"] = location
1010
+ __props__.__dict__["machine_spec"] = machine_spec
1011
+ __props__.__dict__["name"] = name
1012
+ __props__.__dict__["network_spec"] = network_spec
1013
+ __props__.__dict__["network_tags"] = network_tags
1014
+ __props__.__dict__["project"] = project
1015
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
1016
+ __props__.__dict__["shielded_vm_config"] = shielded_vm_config
1017
+ return RuntimeTemplate(resource_name, opts=opts, __props__=__props__)
1018
+
1019
+ @property
1020
+ @pulumi.getter(name="dataPersistentDiskSpec")
1021
+ def data_persistent_disk_spec(self) -> pulumi.Output['outputs.RuntimeTemplateDataPersistentDiskSpec']:
1022
+ """
1023
+ The configuration for the data disk of the runtime.
1024
+ Structure is documented below.
1025
+ """
1026
+ return pulumi.get(self, "data_persistent_disk_spec")
1027
+
1028
+ @property
1029
+ @pulumi.getter
1030
+ def description(self) -> pulumi.Output[Optional[str]]:
1031
+ """
1032
+ The description of the Runtime Template.
1033
+ """
1034
+ return pulumi.get(self, "description")
1035
+
1036
+ @property
1037
+ @pulumi.getter(name="displayName")
1038
+ def display_name(self) -> pulumi.Output[str]:
1039
+ """
1040
+ Required. The display name of the Runtime Template.
1041
+ """
1042
+ return pulumi.get(self, "display_name")
1043
+
1044
+ @property
1045
+ @pulumi.getter(name="effectiveLabels")
1046
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1047
+ """
1048
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1049
+ """
1050
+ return pulumi.get(self, "effective_labels")
1051
+
1052
+ @property
1053
+ @pulumi.getter(name="encryptionSpec")
1054
+ def encryption_spec(self) -> pulumi.Output[Optional['outputs.RuntimeTemplateEncryptionSpec']]:
1055
+ """
1056
+ Customer-managed encryption key spec for the notebook runtime.
1057
+ Structure is documented below.
1058
+ """
1059
+ return pulumi.get(self, "encryption_spec")
1060
+
1061
+ @property
1062
+ @pulumi.getter(name="eucConfig")
1063
+ def euc_config(self) -> pulumi.Output[Optional['outputs.RuntimeTemplateEucConfig']]:
1064
+ """
1065
+ EUC configuration of the NotebookRuntimeTemplate.
1066
+ Structure is documented below.
1067
+ """
1068
+ return pulumi.get(self, "euc_config")
1069
+
1070
+ @property
1071
+ @pulumi.getter(name="idleShutdownConfig")
1072
+ def idle_shutdown_config(self) -> pulumi.Output['outputs.RuntimeTemplateIdleShutdownConfig']:
1073
+ """
1074
+ Notebook Idle Shutdown configuration for the runtime.
1075
+ Structure is documented below.
1076
+ """
1077
+ return pulumi.get(self, "idle_shutdown_config")
1078
+
1079
+ @property
1080
+ @pulumi.getter
1081
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1082
+ """
1083
+ Labels to identify and group the runtime template.
1084
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1085
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1086
+ """
1087
+ return pulumi.get(self, "labels")
1088
+
1089
+ @property
1090
+ @pulumi.getter
1091
+ def location(self) -> pulumi.Output[str]:
1092
+ """
1093
+ The location for the resource: https://cloud.google.com/colab/docs/locations
1094
+
1095
+
1096
+ - - -
1097
+ """
1098
+ return pulumi.get(self, "location")
1099
+
1100
+ @property
1101
+ @pulumi.getter(name="machineSpec")
1102
+ def machine_spec(self) -> pulumi.Output['outputs.RuntimeTemplateMachineSpec']:
1103
+ """
1104
+ 'The machine configuration of the runtime.'
1105
+ Structure is documented below.
1106
+ """
1107
+ return pulumi.get(self, "machine_spec")
1108
+
1109
+ @property
1110
+ @pulumi.getter
1111
+ def name(self) -> pulumi.Output[str]:
1112
+ """
1113
+ The resource name of the Runtime Template
1114
+ """
1115
+ return pulumi.get(self, "name")
1116
+
1117
+ @property
1118
+ @pulumi.getter(name="networkSpec")
1119
+ def network_spec(self) -> pulumi.Output['outputs.RuntimeTemplateNetworkSpec']:
1120
+ """
1121
+ The network configuration for the runtime.
1122
+ Structure is documented below.
1123
+ """
1124
+ return pulumi.get(self, "network_spec")
1125
+
1126
+ @property
1127
+ @pulumi.getter(name="networkTags")
1128
+ def network_tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1129
+ """
1130
+ Applies the given Compute Engine tags to the runtime.
1131
+ """
1132
+ return pulumi.get(self, "network_tags")
1133
+
1134
+ @property
1135
+ @pulumi.getter
1136
+ def project(self) -> pulumi.Output[str]:
1137
+ """
1138
+ The ID of the project in which the resource belongs.
1139
+ If it is not provided, the provider project is used.
1140
+ """
1141
+ return pulumi.get(self, "project")
1142
+
1143
+ @property
1144
+ @pulumi.getter(name="pulumiLabels")
1145
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1146
+ """
1147
+ The combination of labels configured directly on the resource
1148
+ and default labels configured on the provider.
1149
+ """
1150
+ return pulumi.get(self, "pulumi_labels")
1151
+
1152
+ @property
1153
+ @pulumi.getter(name="shieldedVmConfig")
1154
+ def shielded_vm_config(self) -> pulumi.Output[Optional['outputs.RuntimeTemplateShieldedVmConfig']]:
1155
+ """
1156
+ Runtime Shielded VM spec.
1157
+ Structure is documented below.
1158
+ """
1159
+ return pulumi.get(self, "shielded_vm_config")
1160
+