pulumi-gcp 8.35.0a1750225231__py3-none-any.whl → 8.36.0__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 +43 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +1 -0
  5. pulumi_gcp/apihub/_inputs.py +983 -0
  6. pulumi_gcp/apihub/outputs.py +807 -0
  7. pulumi_gcp/apihub/plugin_instance.py +808 -0
  8. pulumi_gcp/bigquery/app_profile.py +16 -8
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/__init__.py +1 -0
  16. pulumi_gcp/bigtable/_inputs.py +128 -0
  17. pulumi_gcp/bigtable/app_profile.py +1065 -0
  18. pulumi_gcp/bigtable/outputs.py +111 -0
  19. pulumi_gcp/bigtable/table.py +82 -0
  20. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  21. pulumi_gcp/compute/_inputs.py +24 -12
  22. pulumi_gcp/compute/instance.py +2 -2
  23. pulumi_gcp/compute/instance_template.py +2 -2
  24. pulumi_gcp/compute/interconnect.py +43 -11
  25. pulumi_gcp/compute/node_template.py +21 -0
  26. pulumi_gcp/compute/outputs.py +16 -8
  27. pulumi_gcp/compute/service_attachment.py +76 -8
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  31. pulumi_gcp/contactcenterinsights/view.py +526 -0
  32. pulumi_gcp/container/_inputs.py +72 -12
  33. pulumi_gcp/container/get_engine_versions.py +15 -1
  34. pulumi_gcp/container/outputs.py +73 -9
  35. pulumi_gcp/dataplex/_inputs.py +431 -6
  36. pulumi_gcp/dataplex/datascan.py +251 -0
  37. pulumi_gcp/dataplex/entry_type.py +2 -2
  38. pulumi_gcp/dataplex/glossary_category.py +8 -8
  39. pulumi_gcp/dataplex/glossary_term.py +8 -8
  40. pulumi_gcp/dataplex/outputs.py +353 -4
  41. pulumi_gcp/dataplex/task.py +16 -16
  42. pulumi_gcp/dataproc/__init__.py +1 -0
  43. pulumi_gcp/dataproc/_inputs.py +486 -0
  44. pulumi_gcp/dataproc/batch.py +10 -10
  45. pulumi_gcp/dataproc/outputs.py +407 -0
  46. pulumi_gcp/dataproc/session_template.py +1084 -0
  47. pulumi_gcp/diagflow/__init__.py +1 -0
  48. pulumi_gcp/diagflow/_inputs.py +48 -0
  49. pulumi_gcp/diagflow/cx_tool.py +2 -2
  50. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  51. pulumi_gcp/diagflow/outputs.py +46 -0
  52. pulumi_gcp/firestore/field.py +6 -6
  53. pulumi_gcp/gkehub/membership_binding.py +6 -6
  54. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  55. pulumi_gcp/gkehub/namespace.py +4 -4
  56. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  57. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  58. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  59. pulumi_gcp/lustre/get_instance.py +12 -1
  60. pulumi_gcp/lustre/instance.py +143 -86
  61. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  62. pulumi_gcp/managedkafka/connector.py +4 -4
  63. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +20 -0
  66. pulumi_gcp/pubsub/subscription.py +6 -6
  67. pulumi_gcp/pulumi-plugin.json +1 -1
  68. pulumi_gcp/storage/bucket_object.py +56 -0
  69. pulumi_gcp/storage/get_bucket_object.py +12 -1
  70. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  71. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  72. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  73. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/METADATA +2 -2
  74. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/RECORD +76 -70
  75. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1084 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['SessionTemplateArgs', 'SessionTemplate']
21
+
22
+ @pulumi.input_type
23
+ class SessionTemplateArgs:
24
+ def __init__(__self__, *,
25
+ environment_config: Optional[pulumi.Input['SessionTemplateEnvironmentConfigArgs']] = None,
26
+ jupyter_session: Optional[pulumi.Input['SessionTemplateJupyterSessionArgs']] = None,
27
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
28
+ location: Optional[pulumi.Input[builtins.str]] = None,
29
+ name: Optional[pulumi.Input[builtins.str]] = None,
30
+ project: Optional[pulumi.Input[builtins.str]] = None,
31
+ runtime_config: Optional[pulumi.Input['SessionTemplateRuntimeConfigArgs']] = None,
32
+ spark_connect_session: Optional[pulumi.Input['SessionTemplateSparkConnectSessionArgs']] = None):
33
+ """
34
+ The set of arguments for constructing a SessionTemplate resource.
35
+ :param pulumi.Input['SessionTemplateEnvironmentConfigArgs'] environment_config: Environment configuration for the session execution.
36
+ Structure is documented below.
37
+ :param pulumi.Input['SessionTemplateJupyterSessionArgs'] jupyter_session: Jupyter configuration for an interactive session.
38
+ Structure is documented below.
39
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: The labels to associate with this session template.
40
+
41
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
42
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
43
+ :param pulumi.Input[builtins.str] location: The location in which the session template will be created in.
44
+ :param pulumi.Input[builtins.str] name: The resource name of the session template in the following format:
45
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
46
+
47
+
48
+ - - -
49
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
50
+ If it is not provided, the provider project is used.
51
+ :param pulumi.Input['SessionTemplateRuntimeConfigArgs'] runtime_config: Runtime configuration for the session template.
52
+ Structure is documented below.
53
+ :param pulumi.Input['SessionTemplateSparkConnectSessionArgs'] spark_connect_session: Spark connect configuration for an interactive session.
54
+ """
55
+ if environment_config is not None:
56
+ pulumi.set(__self__, "environment_config", environment_config)
57
+ if jupyter_session is not None:
58
+ pulumi.set(__self__, "jupyter_session", jupyter_session)
59
+ if labels is not None:
60
+ pulumi.set(__self__, "labels", labels)
61
+ if location is not None:
62
+ pulumi.set(__self__, "location", location)
63
+ if name is not None:
64
+ pulumi.set(__self__, "name", name)
65
+ if project is not None:
66
+ pulumi.set(__self__, "project", project)
67
+ if runtime_config is not None:
68
+ pulumi.set(__self__, "runtime_config", runtime_config)
69
+ if spark_connect_session is not None:
70
+ pulumi.set(__self__, "spark_connect_session", spark_connect_session)
71
+
72
+ @property
73
+ @pulumi.getter(name="environmentConfig")
74
+ def environment_config(self) -> Optional[pulumi.Input['SessionTemplateEnvironmentConfigArgs']]:
75
+ """
76
+ Environment configuration for the session execution.
77
+ Structure is documented below.
78
+ """
79
+ return pulumi.get(self, "environment_config")
80
+
81
+ @environment_config.setter
82
+ def environment_config(self, value: Optional[pulumi.Input['SessionTemplateEnvironmentConfigArgs']]):
83
+ pulumi.set(self, "environment_config", value)
84
+
85
+ @property
86
+ @pulumi.getter(name="jupyterSession")
87
+ def jupyter_session(self) -> Optional[pulumi.Input['SessionTemplateJupyterSessionArgs']]:
88
+ """
89
+ Jupyter configuration for an interactive session.
90
+ Structure is documented below.
91
+ """
92
+ return pulumi.get(self, "jupyter_session")
93
+
94
+ @jupyter_session.setter
95
+ def jupyter_session(self, value: Optional[pulumi.Input['SessionTemplateJupyterSessionArgs']]):
96
+ pulumi.set(self, "jupyter_session", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
101
+ """
102
+ The labels to associate with this session template.
103
+
104
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
105
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
106
+ """
107
+ return pulumi.get(self, "labels")
108
+
109
+ @labels.setter
110
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
111
+ pulumi.set(self, "labels", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
116
+ """
117
+ The location in which the session template will be created in.
118
+ """
119
+ return pulumi.get(self, "location")
120
+
121
+ @location.setter
122
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
123
+ pulumi.set(self, "location", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
128
+ """
129
+ The resource name of the session template in the following format:
130
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
131
+
132
+
133
+ - - -
134
+ """
135
+ return pulumi.get(self, "name")
136
+
137
+ @name.setter
138
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
139
+ pulumi.set(self, "name", value)
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
144
+ """
145
+ The ID of the project in which the resource belongs.
146
+ If it is not provided, the provider project is used.
147
+ """
148
+ return pulumi.get(self, "project")
149
+
150
+ @project.setter
151
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
152
+ pulumi.set(self, "project", value)
153
+
154
+ @property
155
+ @pulumi.getter(name="runtimeConfig")
156
+ def runtime_config(self) -> Optional[pulumi.Input['SessionTemplateRuntimeConfigArgs']]:
157
+ """
158
+ Runtime configuration for the session template.
159
+ Structure is documented below.
160
+ """
161
+ return pulumi.get(self, "runtime_config")
162
+
163
+ @runtime_config.setter
164
+ def runtime_config(self, value: Optional[pulumi.Input['SessionTemplateRuntimeConfigArgs']]):
165
+ pulumi.set(self, "runtime_config", value)
166
+
167
+ @property
168
+ @pulumi.getter(name="sparkConnectSession")
169
+ def spark_connect_session(self) -> Optional[pulumi.Input['SessionTemplateSparkConnectSessionArgs']]:
170
+ """
171
+ Spark connect configuration for an interactive session.
172
+ """
173
+ return pulumi.get(self, "spark_connect_session")
174
+
175
+ @spark_connect_session.setter
176
+ def spark_connect_session(self, value: Optional[pulumi.Input['SessionTemplateSparkConnectSessionArgs']]):
177
+ pulumi.set(self, "spark_connect_session", value)
178
+
179
+
180
+ @pulumi.input_type
181
+ class _SessionTemplateState:
182
+ def __init__(__self__, *,
183
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
184
+ creator: Optional[pulumi.Input[builtins.str]] = None,
185
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
186
+ environment_config: Optional[pulumi.Input['SessionTemplateEnvironmentConfigArgs']] = None,
187
+ jupyter_session: Optional[pulumi.Input['SessionTemplateJupyterSessionArgs']] = None,
188
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
189
+ location: Optional[pulumi.Input[builtins.str]] = None,
190
+ name: Optional[pulumi.Input[builtins.str]] = None,
191
+ project: Optional[pulumi.Input[builtins.str]] = None,
192
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
193
+ runtime_config: Optional[pulumi.Input['SessionTemplateRuntimeConfigArgs']] = None,
194
+ spark_connect_session: Optional[pulumi.Input['SessionTemplateSparkConnectSessionArgs']] = None,
195
+ update_time: Optional[pulumi.Input[builtins.str]] = None,
196
+ uuid: Optional[pulumi.Input[builtins.str]] = None):
197
+ """
198
+ Input properties used for looking up and filtering SessionTemplate resources.
199
+ :param pulumi.Input[builtins.str] create_time: The time when the session template was created.
200
+ :param pulumi.Input[builtins.str] creator: The email address of the user who created the session template.
201
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.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.
202
+ :param pulumi.Input['SessionTemplateEnvironmentConfigArgs'] environment_config: Environment configuration for the session execution.
203
+ Structure is documented below.
204
+ :param pulumi.Input['SessionTemplateJupyterSessionArgs'] jupyter_session: Jupyter configuration for an interactive session.
205
+ Structure is documented below.
206
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: The labels to associate with this session template.
207
+
208
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
209
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
210
+ :param pulumi.Input[builtins.str] location: The location in which the session template will be created in.
211
+ :param pulumi.Input[builtins.str] name: The resource name of the session template in the following format:
212
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
213
+
214
+
215
+ - - -
216
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
217
+ If it is not provided, the provider project is used.
218
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
219
+ and default labels configured on the provider.
220
+ :param pulumi.Input['SessionTemplateRuntimeConfigArgs'] runtime_config: Runtime configuration for the session template.
221
+ Structure is documented below.
222
+ :param pulumi.Input['SessionTemplateSparkConnectSessionArgs'] spark_connect_session: Spark connect configuration for an interactive session.
223
+ :param pulumi.Input[builtins.str] update_time: The time when the session template was updated.
224
+ :param pulumi.Input[builtins.str] uuid: A session template UUID (Unique Universal Identifier). The service generates this value when it creates the session template.
225
+ """
226
+ if create_time is not None:
227
+ pulumi.set(__self__, "create_time", create_time)
228
+ if creator is not None:
229
+ pulumi.set(__self__, "creator", creator)
230
+ if effective_labels is not None:
231
+ pulumi.set(__self__, "effective_labels", effective_labels)
232
+ if environment_config is not None:
233
+ pulumi.set(__self__, "environment_config", environment_config)
234
+ if jupyter_session is not None:
235
+ pulumi.set(__self__, "jupyter_session", jupyter_session)
236
+ if labels is not None:
237
+ pulumi.set(__self__, "labels", labels)
238
+ if location is not None:
239
+ pulumi.set(__self__, "location", location)
240
+ if name is not None:
241
+ pulumi.set(__self__, "name", name)
242
+ if project is not None:
243
+ pulumi.set(__self__, "project", project)
244
+ if pulumi_labels is not None:
245
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
246
+ if runtime_config is not None:
247
+ pulumi.set(__self__, "runtime_config", runtime_config)
248
+ if spark_connect_session is not None:
249
+ pulumi.set(__self__, "spark_connect_session", spark_connect_session)
250
+ if update_time is not None:
251
+ pulumi.set(__self__, "update_time", update_time)
252
+ if uuid is not None:
253
+ pulumi.set(__self__, "uuid", uuid)
254
+
255
+ @property
256
+ @pulumi.getter(name="createTime")
257
+ def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
258
+ """
259
+ The time when the session template was created.
260
+ """
261
+ return pulumi.get(self, "create_time")
262
+
263
+ @create_time.setter
264
+ def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
265
+ pulumi.set(self, "create_time", value)
266
+
267
+ @property
268
+ @pulumi.getter
269
+ def creator(self) -> Optional[pulumi.Input[builtins.str]]:
270
+ """
271
+ The email address of the user who created the session template.
272
+ """
273
+ return pulumi.get(self, "creator")
274
+
275
+ @creator.setter
276
+ def creator(self, value: Optional[pulumi.Input[builtins.str]]):
277
+ pulumi.set(self, "creator", value)
278
+
279
+ @property
280
+ @pulumi.getter(name="effectiveLabels")
281
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
282
+ """
283
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
284
+ """
285
+ return pulumi.get(self, "effective_labels")
286
+
287
+ @effective_labels.setter
288
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
289
+ pulumi.set(self, "effective_labels", value)
290
+
291
+ @property
292
+ @pulumi.getter(name="environmentConfig")
293
+ def environment_config(self) -> Optional[pulumi.Input['SessionTemplateEnvironmentConfigArgs']]:
294
+ """
295
+ Environment configuration for the session execution.
296
+ Structure is documented below.
297
+ """
298
+ return pulumi.get(self, "environment_config")
299
+
300
+ @environment_config.setter
301
+ def environment_config(self, value: Optional[pulumi.Input['SessionTemplateEnvironmentConfigArgs']]):
302
+ pulumi.set(self, "environment_config", value)
303
+
304
+ @property
305
+ @pulumi.getter(name="jupyterSession")
306
+ def jupyter_session(self) -> Optional[pulumi.Input['SessionTemplateJupyterSessionArgs']]:
307
+ """
308
+ Jupyter configuration for an interactive session.
309
+ Structure is documented below.
310
+ """
311
+ return pulumi.get(self, "jupyter_session")
312
+
313
+ @jupyter_session.setter
314
+ def jupyter_session(self, value: Optional[pulumi.Input['SessionTemplateJupyterSessionArgs']]):
315
+ pulumi.set(self, "jupyter_session", value)
316
+
317
+ @property
318
+ @pulumi.getter
319
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
320
+ """
321
+ The labels to associate with this session template.
322
+
323
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
324
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
325
+ """
326
+ return pulumi.get(self, "labels")
327
+
328
+ @labels.setter
329
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
330
+ pulumi.set(self, "labels", value)
331
+
332
+ @property
333
+ @pulumi.getter
334
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
335
+ """
336
+ The location in which the session template will be created in.
337
+ """
338
+ return pulumi.get(self, "location")
339
+
340
+ @location.setter
341
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
342
+ pulumi.set(self, "location", value)
343
+
344
+ @property
345
+ @pulumi.getter
346
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
347
+ """
348
+ The resource name of the session template in the following format:
349
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
350
+
351
+
352
+ - - -
353
+ """
354
+ return pulumi.get(self, "name")
355
+
356
+ @name.setter
357
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
358
+ pulumi.set(self, "name", value)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
363
+ """
364
+ The ID of the project in which the resource belongs.
365
+ If it is not provided, the provider project is used.
366
+ """
367
+ return pulumi.get(self, "project")
368
+
369
+ @project.setter
370
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
371
+ pulumi.set(self, "project", value)
372
+
373
+ @property
374
+ @pulumi.getter(name="pulumiLabels")
375
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
376
+ """
377
+ The combination of labels configured directly on the resource
378
+ and default labels configured on the provider.
379
+ """
380
+ return pulumi.get(self, "pulumi_labels")
381
+
382
+ @pulumi_labels.setter
383
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
384
+ pulumi.set(self, "pulumi_labels", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="runtimeConfig")
388
+ def runtime_config(self) -> Optional[pulumi.Input['SessionTemplateRuntimeConfigArgs']]:
389
+ """
390
+ Runtime configuration for the session template.
391
+ Structure is documented below.
392
+ """
393
+ return pulumi.get(self, "runtime_config")
394
+
395
+ @runtime_config.setter
396
+ def runtime_config(self, value: Optional[pulumi.Input['SessionTemplateRuntimeConfigArgs']]):
397
+ pulumi.set(self, "runtime_config", value)
398
+
399
+ @property
400
+ @pulumi.getter(name="sparkConnectSession")
401
+ def spark_connect_session(self) -> Optional[pulumi.Input['SessionTemplateSparkConnectSessionArgs']]:
402
+ """
403
+ Spark connect configuration for an interactive session.
404
+ """
405
+ return pulumi.get(self, "spark_connect_session")
406
+
407
+ @spark_connect_session.setter
408
+ def spark_connect_session(self, value: Optional[pulumi.Input['SessionTemplateSparkConnectSessionArgs']]):
409
+ pulumi.set(self, "spark_connect_session", value)
410
+
411
+ @property
412
+ @pulumi.getter(name="updateTime")
413
+ def update_time(self) -> Optional[pulumi.Input[builtins.str]]:
414
+ """
415
+ The time when the session template was updated.
416
+ """
417
+ return pulumi.get(self, "update_time")
418
+
419
+ @update_time.setter
420
+ def update_time(self, value: Optional[pulumi.Input[builtins.str]]):
421
+ pulumi.set(self, "update_time", value)
422
+
423
+ @property
424
+ @pulumi.getter
425
+ def uuid(self) -> Optional[pulumi.Input[builtins.str]]:
426
+ """
427
+ A session template UUID (Unique Universal Identifier). The service generates this value when it creates the session template.
428
+ """
429
+ return pulumi.get(self, "uuid")
430
+
431
+ @uuid.setter
432
+ def uuid(self, value: Optional[pulumi.Input[builtins.str]]):
433
+ pulumi.set(self, "uuid", value)
434
+
435
+
436
+ @pulumi.type_token("gcp:dataproc/sessionTemplate:SessionTemplate")
437
+ class SessionTemplate(pulumi.CustomResource):
438
+ @overload
439
+ def __init__(__self__,
440
+ resource_name: str,
441
+ opts: Optional[pulumi.ResourceOptions] = None,
442
+ environment_config: Optional[pulumi.Input[Union['SessionTemplateEnvironmentConfigArgs', 'SessionTemplateEnvironmentConfigArgsDict']]] = None,
443
+ jupyter_session: Optional[pulumi.Input[Union['SessionTemplateJupyterSessionArgs', 'SessionTemplateJupyterSessionArgsDict']]] = None,
444
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
445
+ location: Optional[pulumi.Input[builtins.str]] = None,
446
+ name: Optional[pulumi.Input[builtins.str]] = None,
447
+ project: Optional[pulumi.Input[builtins.str]] = None,
448
+ runtime_config: Optional[pulumi.Input[Union['SessionTemplateRuntimeConfigArgs', 'SessionTemplateRuntimeConfigArgsDict']]] = None,
449
+ spark_connect_session: Optional[pulumi.Input[Union['SessionTemplateSparkConnectSessionArgs', 'SessionTemplateSparkConnectSessionArgsDict']]] = None,
450
+ __props__=None):
451
+ """
452
+ A Dataproc Serverless session template defines the configuration settings for
453
+ creating one or more Dataproc Serverless interactive sessions.
454
+
455
+ To get more information about SessionTemplate, see:
456
+
457
+ * [API documentation](https://cloud.google.com/dataproc-serverless/docs/reference/rest/v1/projects.locations.sessionTemplates)
458
+ * How-to Guides
459
+ * [Dataproc Serverless Session Templates](https://cloud.google.com/dataproc-serverless/docs/guides/create-serverless-sessions-templates#create-dataproc-serverless-session-template)
460
+
461
+ ## Example Usage
462
+
463
+ ### Dataproc Session Templates Jupyter
464
+
465
+ ```python
466
+ import pulumi
467
+ import pulumi_gcp as gcp
468
+
469
+ example_session_templates_jupyter = gcp.dataproc.SessionTemplate("example_session_templates_jupyter",
470
+ name="projects/my-project-name/locations/us-central1/sessionTemplates/jupyter-session-template",
471
+ location="us-central1",
472
+ labels={
473
+ "session_template_test": "terraform",
474
+ },
475
+ runtime_config={
476
+ "properties": {
477
+ "spark.dynamicAllocation.enabled": "false",
478
+ "spark.executor.instances": "2",
479
+ },
480
+ },
481
+ environment_config={
482
+ "execution_config": {
483
+ "subnetwork_uri": "default",
484
+ "ttl": "3600s",
485
+ "network_tags": ["tag1"],
486
+ },
487
+ },
488
+ jupyter_session={
489
+ "kernel": "PYTHON",
490
+ "display_name": "tf python kernel",
491
+ })
492
+ ```
493
+ ### Dataproc Session Templates Jupyter Full
494
+
495
+ ```python
496
+ import pulumi
497
+ import pulumi_gcp as gcp
498
+
499
+ project = gcp.organizations.get_project()
500
+ gcs_account = gcp.storage.get_project_service_account()
501
+ bucket = gcp.storage.Bucket("bucket",
502
+ uniform_bucket_level_access=True,
503
+ name="dataproc-bucket",
504
+ location="US",
505
+ force_destroy=True)
506
+ crypto_key_member1 = gcp.kms.CryptoKeyIAMMember("crypto_key_member_1",
507
+ crypto_key_id="example-key",
508
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
509
+ member=f"serviceAccount:service-{project.number}@dataproc-accounts.iam.gserviceaccount.com")
510
+ ms = gcp.dataproc.MetastoreService("ms",
511
+ service_id="jupyter-session-template",
512
+ location="us-central1",
513
+ port=9080,
514
+ tier="DEVELOPER",
515
+ maintenance_window={
516
+ "hour_of_day": 2,
517
+ "day_of_week": "SUNDAY",
518
+ },
519
+ hive_metastore_config={
520
+ "version": "3.1.2",
521
+ },
522
+ network_config={
523
+ "consumers": [{
524
+ "subnetwork": "projects/my-project-name/regions/us-central1/subnetworks/default",
525
+ }],
526
+ })
527
+ basic = gcp.dataproc.Cluster("basic",
528
+ name="jupyter-session-template",
529
+ region="us-central1",
530
+ cluster_config={
531
+ "software_config": {
532
+ "override_properties": {
533
+ "dataproc:dataproc.allow.zero.workers": "true",
534
+ "spark:spark.history.fs.logDirectory": bucket.name.apply(lambda name: f"gs://{name}/*/spark-job-history"),
535
+ },
536
+ },
537
+ "gce_cluster_config": {
538
+ "subnetwork": "default",
539
+ },
540
+ "endpoint_config": {
541
+ "enable_http_port_access": True,
542
+ },
543
+ "master_config": {
544
+ "num_instances": 1,
545
+ "machine_type": "e2-standard-2",
546
+ "disk_config": {
547
+ "boot_disk_size_gb": 35,
548
+ },
549
+ },
550
+ "metastore_config": {
551
+ "dataproc_metastore_service": ms.name,
552
+ },
553
+ })
554
+ dataproc_session_templates_jupyter_full = gcp.dataproc.SessionTemplate("dataproc_session_templates_jupyter_full",
555
+ name="projects/my-project-name/locations/us-central1/sessionTemplates/jupyter-session-template",
556
+ location="us-central1",
557
+ labels={
558
+ "session_template_test": "terraform",
559
+ },
560
+ runtime_config={
561
+ "properties": {
562
+ "spark.dynamicAllocation.enabled": "false",
563
+ "spark.executor.instances": "2",
564
+ },
565
+ "version": "2.2",
566
+ "container_image": "us-docker.pkg.dev/my-project-name/s8s-spark-test-images/s8s-spark:latest",
567
+ },
568
+ environment_config={
569
+ "execution_config": {
570
+ "ttl": "3600s",
571
+ "network_tags": ["tag1"],
572
+ "kms_key": "example-key",
573
+ "subnetwork_uri": "default",
574
+ "service_account": f"{project.number}-compute@developer.gserviceaccount.com",
575
+ "staging_bucket": bucket.name,
576
+ },
577
+ "peripherals_config": {
578
+ "metastore_service": ms.name,
579
+ "spark_history_server_config": {
580
+ "dataproc_cluster": basic.id,
581
+ },
582
+ },
583
+ },
584
+ jupyter_session={
585
+ "kernel": "PYTHON",
586
+ "display_name": "tf python kernel",
587
+ },
588
+ opts = pulumi.ResourceOptions(depends_on=[crypto_key_member1]))
589
+ ```
590
+ ### Dataproc Session Templates Spark Connect
591
+
592
+ ```python
593
+ import pulumi
594
+ import pulumi_gcp as gcp
595
+
596
+ example_session_templates_spark_connect = gcp.dataproc.SessionTemplate("example_session_templates_spark_connect",
597
+ name="projects/my-project-name/locations/us-central1/sessionTemplates/sc-session-template",
598
+ location="us-central1",
599
+ labels={
600
+ "session_template_test": "terraform",
601
+ },
602
+ runtime_config={
603
+ "properties": {
604
+ "spark.dynamicAllocation.enabled": "false",
605
+ "spark.executor.instances": "2",
606
+ },
607
+ },
608
+ environment_config={
609
+ "execution_config": {
610
+ "subnetwork_uri": "default",
611
+ "ttl": "3600s",
612
+ "network_tags": ["tag1"],
613
+ },
614
+ })
615
+ ```
616
+
617
+ ## Import
618
+
619
+ SessionTemplate can be imported using any of these accepted formats:
620
+
621
+ * `{{name}}`
622
+
623
+ When using the `pulumi import` command, SessionTemplate can be imported using one of the formats above. For example:
624
+
625
+ ```sh
626
+ $ pulumi import gcp:dataproc/sessionTemplate:SessionTemplate default {{name}}
627
+ ```
628
+
629
+ :param str resource_name: The name of the resource.
630
+ :param pulumi.ResourceOptions opts: Options for the resource.
631
+ :param pulumi.Input[Union['SessionTemplateEnvironmentConfigArgs', 'SessionTemplateEnvironmentConfigArgsDict']] environment_config: Environment configuration for the session execution.
632
+ Structure is documented below.
633
+ :param pulumi.Input[Union['SessionTemplateJupyterSessionArgs', 'SessionTemplateJupyterSessionArgsDict']] jupyter_session: Jupyter configuration for an interactive session.
634
+ Structure is documented below.
635
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: The labels to associate with this session template.
636
+
637
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
638
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
639
+ :param pulumi.Input[builtins.str] location: The location in which the session template will be created in.
640
+ :param pulumi.Input[builtins.str] name: The resource name of the session template in the following format:
641
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
642
+
643
+
644
+ - - -
645
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
646
+ If it is not provided, the provider project is used.
647
+ :param pulumi.Input[Union['SessionTemplateRuntimeConfigArgs', 'SessionTemplateRuntimeConfigArgsDict']] runtime_config: Runtime configuration for the session template.
648
+ Structure is documented below.
649
+ :param pulumi.Input[Union['SessionTemplateSparkConnectSessionArgs', 'SessionTemplateSparkConnectSessionArgsDict']] spark_connect_session: Spark connect configuration for an interactive session.
650
+ """
651
+ ...
652
+ @overload
653
+ def __init__(__self__,
654
+ resource_name: str,
655
+ args: Optional[SessionTemplateArgs] = None,
656
+ opts: Optional[pulumi.ResourceOptions] = None):
657
+ """
658
+ A Dataproc Serverless session template defines the configuration settings for
659
+ creating one or more Dataproc Serverless interactive sessions.
660
+
661
+ To get more information about SessionTemplate, see:
662
+
663
+ * [API documentation](https://cloud.google.com/dataproc-serverless/docs/reference/rest/v1/projects.locations.sessionTemplates)
664
+ * How-to Guides
665
+ * [Dataproc Serverless Session Templates](https://cloud.google.com/dataproc-serverless/docs/guides/create-serverless-sessions-templates#create-dataproc-serverless-session-template)
666
+
667
+ ## Example Usage
668
+
669
+ ### Dataproc Session Templates Jupyter
670
+
671
+ ```python
672
+ import pulumi
673
+ import pulumi_gcp as gcp
674
+
675
+ example_session_templates_jupyter = gcp.dataproc.SessionTemplate("example_session_templates_jupyter",
676
+ name="projects/my-project-name/locations/us-central1/sessionTemplates/jupyter-session-template",
677
+ location="us-central1",
678
+ labels={
679
+ "session_template_test": "terraform",
680
+ },
681
+ runtime_config={
682
+ "properties": {
683
+ "spark.dynamicAllocation.enabled": "false",
684
+ "spark.executor.instances": "2",
685
+ },
686
+ },
687
+ environment_config={
688
+ "execution_config": {
689
+ "subnetwork_uri": "default",
690
+ "ttl": "3600s",
691
+ "network_tags": ["tag1"],
692
+ },
693
+ },
694
+ jupyter_session={
695
+ "kernel": "PYTHON",
696
+ "display_name": "tf python kernel",
697
+ })
698
+ ```
699
+ ### Dataproc Session Templates Jupyter Full
700
+
701
+ ```python
702
+ import pulumi
703
+ import pulumi_gcp as gcp
704
+
705
+ project = gcp.organizations.get_project()
706
+ gcs_account = gcp.storage.get_project_service_account()
707
+ bucket = gcp.storage.Bucket("bucket",
708
+ uniform_bucket_level_access=True,
709
+ name="dataproc-bucket",
710
+ location="US",
711
+ force_destroy=True)
712
+ crypto_key_member1 = gcp.kms.CryptoKeyIAMMember("crypto_key_member_1",
713
+ crypto_key_id="example-key",
714
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
715
+ member=f"serviceAccount:service-{project.number}@dataproc-accounts.iam.gserviceaccount.com")
716
+ ms = gcp.dataproc.MetastoreService("ms",
717
+ service_id="jupyter-session-template",
718
+ location="us-central1",
719
+ port=9080,
720
+ tier="DEVELOPER",
721
+ maintenance_window={
722
+ "hour_of_day": 2,
723
+ "day_of_week": "SUNDAY",
724
+ },
725
+ hive_metastore_config={
726
+ "version": "3.1.2",
727
+ },
728
+ network_config={
729
+ "consumers": [{
730
+ "subnetwork": "projects/my-project-name/regions/us-central1/subnetworks/default",
731
+ }],
732
+ })
733
+ basic = gcp.dataproc.Cluster("basic",
734
+ name="jupyter-session-template",
735
+ region="us-central1",
736
+ cluster_config={
737
+ "software_config": {
738
+ "override_properties": {
739
+ "dataproc:dataproc.allow.zero.workers": "true",
740
+ "spark:spark.history.fs.logDirectory": bucket.name.apply(lambda name: f"gs://{name}/*/spark-job-history"),
741
+ },
742
+ },
743
+ "gce_cluster_config": {
744
+ "subnetwork": "default",
745
+ },
746
+ "endpoint_config": {
747
+ "enable_http_port_access": True,
748
+ },
749
+ "master_config": {
750
+ "num_instances": 1,
751
+ "machine_type": "e2-standard-2",
752
+ "disk_config": {
753
+ "boot_disk_size_gb": 35,
754
+ },
755
+ },
756
+ "metastore_config": {
757
+ "dataproc_metastore_service": ms.name,
758
+ },
759
+ })
760
+ dataproc_session_templates_jupyter_full = gcp.dataproc.SessionTemplate("dataproc_session_templates_jupyter_full",
761
+ name="projects/my-project-name/locations/us-central1/sessionTemplates/jupyter-session-template",
762
+ location="us-central1",
763
+ labels={
764
+ "session_template_test": "terraform",
765
+ },
766
+ runtime_config={
767
+ "properties": {
768
+ "spark.dynamicAllocation.enabled": "false",
769
+ "spark.executor.instances": "2",
770
+ },
771
+ "version": "2.2",
772
+ "container_image": "us-docker.pkg.dev/my-project-name/s8s-spark-test-images/s8s-spark:latest",
773
+ },
774
+ environment_config={
775
+ "execution_config": {
776
+ "ttl": "3600s",
777
+ "network_tags": ["tag1"],
778
+ "kms_key": "example-key",
779
+ "subnetwork_uri": "default",
780
+ "service_account": f"{project.number}-compute@developer.gserviceaccount.com",
781
+ "staging_bucket": bucket.name,
782
+ },
783
+ "peripherals_config": {
784
+ "metastore_service": ms.name,
785
+ "spark_history_server_config": {
786
+ "dataproc_cluster": basic.id,
787
+ },
788
+ },
789
+ },
790
+ jupyter_session={
791
+ "kernel": "PYTHON",
792
+ "display_name": "tf python kernel",
793
+ },
794
+ opts = pulumi.ResourceOptions(depends_on=[crypto_key_member1]))
795
+ ```
796
+ ### Dataproc Session Templates Spark Connect
797
+
798
+ ```python
799
+ import pulumi
800
+ import pulumi_gcp as gcp
801
+
802
+ example_session_templates_spark_connect = gcp.dataproc.SessionTemplate("example_session_templates_spark_connect",
803
+ name="projects/my-project-name/locations/us-central1/sessionTemplates/sc-session-template",
804
+ location="us-central1",
805
+ labels={
806
+ "session_template_test": "terraform",
807
+ },
808
+ runtime_config={
809
+ "properties": {
810
+ "spark.dynamicAllocation.enabled": "false",
811
+ "spark.executor.instances": "2",
812
+ },
813
+ },
814
+ environment_config={
815
+ "execution_config": {
816
+ "subnetwork_uri": "default",
817
+ "ttl": "3600s",
818
+ "network_tags": ["tag1"],
819
+ },
820
+ })
821
+ ```
822
+
823
+ ## Import
824
+
825
+ SessionTemplate can be imported using any of these accepted formats:
826
+
827
+ * `{{name}}`
828
+
829
+ When using the `pulumi import` command, SessionTemplate can be imported using one of the formats above. For example:
830
+
831
+ ```sh
832
+ $ pulumi import gcp:dataproc/sessionTemplate:SessionTemplate default {{name}}
833
+ ```
834
+
835
+ :param str resource_name: The name of the resource.
836
+ :param SessionTemplateArgs args: The arguments to use to populate this resource's properties.
837
+ :param pulumi.ResourceOptions opts: Options for the resource.
838
+ """
839
+ ...
840
+ def __init__(__self__, resource_name: str, *args, **kwargs):
841
+ resource_args, opts = _utilities.get_resource_args_opts(SessionTemplateArgs, pulumi.ResourceOptions, *args, **kwargs)
842
+ if resource_args is not None:
843
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
844
+ else:
845
+ __self__._internal_init(resource_name, *args, **kwargs)
846
+
847
+ def _internal_init(__self__,
848
+ resource_name: str,
849
+ opts: Optional[pulumi.ResourceOptions] = None,
850
+ environment_config: Optional[pulumi.Input[Union['SessionTemplateEnvironmentConfigArgs', 'SessionTemplateEnvironmentConfigArgsDict']]] = None,
851
+ jupyter_session: Optional[pulumi.Input[Union['SessionTemplateJupyterSessionArgs', 'SessionTemplateJupyterSessionArgsDict']]] = None,
852
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
853
+ location: Optional[pulumi.Input[builtins.str]] = None,
854
+ name: Optional[pulumi.Input[builtins.str]] = None,
855
+ project: Optional[pulumi.Input[builtins.str]] = None,
856
+ runtime_config: Optional[pulumi.Input[Union['SessionTemplateRuntimeConfigArgs', 'SessionTemplateRuntimeConfigArgsDict']]] = None,
857
+ spark_connect_session: Optional[pulumi.Input[Union['SessionTemplateSparkConnectSessionArgs', 'SessionTemplateSparkConnectSessionArgsDict']]] = None,
858
+ __props__=None):
859
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
860
+ if not isinstance(opts, pulumi.ResourceOptions):
861
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
862
+ if opts.id is None:
863
+ if __props__ is not None:
864
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
865
+ __props__ = SessionTemplateArgs.__new__(SessionTemplateArgs)
866
+
867
+ __props__.__dict__["environment_config"] = environment_config
868
+ __props__.__dict__["jupyter_session"] = jupyter_session
869
+ __props__.__dict__["labels"] = labels
870
+ __props__.__dict__["location"] = location
871
+ __props__.__dict__["name"] = name
872
+ __props__.__dict__["project"] = project
873
+ __props__.__dict__["runtime_config"] = runtime_config
874
+ __props__.__dict__["spark_connect_session"] = spark_connect_session
875
+ __props__.__dict__["create_time"] = None
876
+ __props__.__dict__["creator"] = None
877
+ __props__.__dict__["effective_labels"] = None
878
+ __props__.__dict__["pulumi_labels"] = None
879
+ __props__.__dict__["update_time"] = None
880
+ __props__.__dict__["uuid"] = None
881
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
882
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
883
+ super(SessionTemplate, __self__).__init__(
884
+ 'gcp:dataproc/sessionTemplate:SessionTemplate',
885
+ resource_name,
886
+ __props__,
887
+ opts)
888
+
889
+ @staticmethod
890
+ def get(resource_name: str,
891
+ id: pulumi.Input[str],
892
+ opts: Optional[pulumi.ResourceOptions] = None,
893
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
894
+ creator: Optional[pulumi.Input[builtins.str]] = None,
895
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
896
+ environment_config: Optional[pulumi.Input[Union['SessionTemplateEnvironmentConfigArgs', 'SessionTemplateEnvironmentConfigArgsDict']]] = None,
897
+ jupyter_session: Optional[pulumi.Input[Union['SessionTemplateJupyterSessionArgs', 'SessionTemplateJupyterSessionArgsDict']]] = None,
898
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
899
+ location: Optional[pulumi.Input[builtins.str]] = None,
900
+ name: Optional[pulumi.Input[builtins.str]] = None,
901
+ project: Optional[pulumi.Input[builtins.str]] = None,
902
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
903
+ runtime_config: Optional[pulumi.Input[Union['SessionTemplateRuntimeConfigArgs', 'SessionTemplateRuntimeConfigArgsDict']]] = None,
904
+ spark_connect_session: Optional[pulumi.Input[Union['SessionTemplateSparkConnectSessionArgs', 'SessionTemplateSparkConnectSessionArgsDict']]] = None,
905
+ update_time: Optional[pulumi.Input[builtins.str]] = None,
906
+ uuid: Optional[pulumi.Input[builtins.str]] = None) -> 'SessionTemplate':
907
+ """
908
+ Get an existing SessionTemplate resource's state with the given name, id, and optional extra
909
+ properties used to qualify the lookup.
910
+
911
+ :param str resource_name: The unique name of the resulting resource.
912
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
913
+ :param pulumi.ResourceOptions opts: Options for the resource.
914
+ :param pulumi.Input[builtins.str] create_time: The time when the session template was created.
915
+ :param pulumi.Input[builtins.str] creator: The email address of the user who created the session template.
916
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.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.
917
+ :param pulumi.Input[Union['SessionTemplateEnvironmentConfigArgs', 'SessionTemplateEnvironmentConfigArgsDict']] environment_config: Environment configuration for the session execution.
918
+ Structure is documented below.
919
+ :param pulumi.Input[Union['SessionTemplateJupyterSessionArgs', 'SessionTemplateJupyterSessionArgsDict']] jupyter_session: Jupyter configuration for an interactive session.
920
+ Structure is documented below.
921
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: The labels to associate with this session template.
922
+
923
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
924
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
925
+ :param pulumi.Input[builtins.str] location: The location in which the session template will be created in.
926
+ :param pulumi.Input[builtins.str] name: The resource name of the session template in the following format:
927
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
928
+
929
+
930
+ - - -
931
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
932
+ If it is not provided, the provider project is used.
933
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
934
+ and default labels configured on the provider.
935
+ :param pulumi.Input[Union['SessionTemplateRuntimeConfigArgs', 'SessionTemplateRuntimeConfigArgsDict']] runtime_config: Runtime configuration for the session template.
936
+ Structure is documented below.
937
+ :param pulumi.Input[Union['SessionTemplateSparkConnectSessionArgs', 'SessionTemplateSparkConnectSessionArgsDict']] spark_connect_session: Spark connect configuration for an interactive session.
938
+ :param pulumi.Input[builtins.str] update_time: The time when the session template was updated.
939
+ :param pulumi.Input[builtins.str] uuid: A session template UUID (Unique Universal Identifier). The service generates this value when it creates the session template.
940
+ """
941
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
942
+
943
+ __props__ = _SessionTemplateState.__new__(_SessionTemplateState)
944
+
945
+ __props__.__dict__["create_time"] = create_time
946
+ __props__.__dict__["creator"] = creator
947
+ __props__.__dict__["effective_labels"] = effective_labels
948
+ __props__.__dict__["environment_config"] = environment_config
949
+ __props__.__dict__["jupyter_session"] = jupyter_session
950
+ __props__.__dict__["labels"] = labels
951
+ __props__.__dict__["location"] = location
952
+ __props__.__dict__["name"] = name
953
+ __props__.__dict__["project"] = project
954
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
955
+ __props__.__dict__["runtime_config"] = runtime_config
956
+ __props__.__dict__["spark_connect_session"] = spark_connect_session
957
+ __props__.__dict__["update_time"] = update_time
958
+ __props__.__dict__["uuid"] = uuid
959
+ return SessionTemplate(resource_name, opts=opts, __props__=__props__)
960
+
961
+ @property
962
+ @pulumi.getter(name="createTime")
963
+ def create_time(self) -> pulumi.Output[builtins.str]:
964
+ """
965
+ The time when the session template was created.
966
+ """
967
+ return pulumi.get(self, "create_time")
968
+
969
+ @property
970
+ @pulumi.getter
971
+ def creator(self) -> pulumi.Output[builtins.str]:
972
+ """
973
+ The email address of the user who created the session template.
974
+ """
975
+ return pulumi.get(self, "creator")
976
+
977
+ @property
978
+ @pulumi.getter(name="effectiveLabels")
979
+ def effective_labels(self) -> pulumi.Output[Mapping[str, builtins.str]]:
980
+ """
981
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
982
+ """
983
+ return pulumi.get(self, "effective_labels")
984
+
985
+ @property
986
+ @pulumi.getter(name="environmentConfig")
987
+ def environment_config(self) -> pulumi.Output[Optional['outputs.SessionTemplateEnvironmentConfig']]:
988
+ """
989
+ Environment configuration for the session execution.
990
+ Structure is documented below.
991
+ """
992
+ return pulumi.get(self, "environment_config")
993
+
994
+ @property
995
+ @pulumi.getter(name="jupyterSession")
996
+ def jupyter_session(self) -> pulumi.Output[Optional['outputs.SessionTemplateJupyterSession']]:
997
+ """
998
+ Jupyter configuration for an interactive session.
999
+ Structure is documented below.
1000
+ """
1001
+ return pulumi.get(self, "jupyter_session")
1002
+
1003
+ @property
1004
+ @pulumi.getter
1005
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
1006
+ """
1007
+ The labels to associate with this session template.
1008
+
1009
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1010
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1011
+ """
1012
+ return pulumi.get(self, "labels")
1013
+
1014
+ @property
1015
+ @pulumi.getter
1016
+ def location(self) -> pulumi.Output[Optional[builtins.str]]:
1017
+ """
1018
+ The location in which the session template will be created in.
1019
+ """
1020
+ return pulumi.get(self, "location")
1021
+
1022
+ @property
1023
+ @pulumi.getter
1024
+ def name(self) -> pulumi.Output[builtins.str]:
1025
+ """
1026
+ The resource name of the session template in the following format:
1027
+ projects/{project}/locations/{location}/sessionTemplates/{template_id}
1028
+
1029
+
1030
+ - - -
1031
+ """
1032
+ return pulumi.get(self, "name")
1033
+
1034
+ @property
1035
+ @pulumi.getter
1036
+ def project(self) -> pulumi.Output[builtins.str]:
1037
+ """
1038
+ The ID of the project in which the resource belongs.
1039
+ If it is not provided, the provider project is used.
1040
+ """
1041
+ return pulumi.get(self, "project")
1042
+
1043
+ @property
1044
+ @pulumi.getter(name="pulumiLabels")
1045
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, builtins.str]]:
1046
+ """
1047
+ The combination of labels configured directly on the resource
1048
+ and default labels configured on the provider.
1049
+ """
1050
+ return pulumi.get(self, "pulumi_labels")
1051
+
1052
+ @property
1053
+ @pulumi.getter(name="runtimeConfig")
1054
+ def runtime_config(self) -> pulumi.Output[Optional['outputs.SessionTemplateRuntimeConfig']]:
1055
+ """
1056
+ Runtime configuration for the session template.
1057
+ Structure is documented below.
1058
+ """
1059
+ return pulumi.get(self, "runtime_config")
1060
+
1061
+ @property
1062
+ @pulumi.getter(name="sparkConnectSession")
1063
+ def spark_connect_session(self) -> pulumi.Output[Optional['outputs.SessionTemplateSparkConnectSession']]:
1064
+ """
1065
+ Spark connect configuration for an interactive session.
1066
+ """
1067
+ return pulumi.get(self, "spark_connect_session")
1068
+
1069
+ @property
1070
+ @pulumi.getter(name="updateTime")
1071
+ def update_time(self) -> pulumi.Output[builtins.str]:
1072
+ """
1073
+ The time when the session template was updated.
1074
+ """
1075
+ return pulumi.get(self, "update_time")
1076
+
1077
+ @property
1078
+ @pulumi.getter
1079
+ def uuid(self) -> pulumi.Output[builtins.str]:
1080
+ """
1081
+ A session template UUID (Unique Universal Identifier). The service generates this value when it creates the session template.
1082
+ """
1083
+ return pulumi.get(self, "uuid")
1084
+