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.
- pulumi_gcp/__init__.py +43 -0
- pulumi_gcp/alloydb/_inputs.py +26 -0
- pulumi_gcp/alloydb/outputs.py +34 -1
- pulumi_gcp/apihub/__init__.py +1 -0
- pulumi_gcp/apihub/_inputs.py +983 -0
- pulumi_gcp/apihub/outputs.py +807 -0
- pulumi_gcp/apihub/plugin_instance.py +808 -0
- pulumi_gcp/bigquery/app_profile.py +16 -8
- pulumi_gcp/bigquery/table.py +16 -12
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
- pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
- pulumi_gcp/bigtable/__init__.py +1 -0
- pulumi_gcp/bigtable/_inputs.py +128 -0
- pulumi_gcp/bigtable/app_profile.py +1065 -0
- pulumi_gcp/bigtable/outputs.py +111 -0
- pulumi_gcp/bigtable/table.py +82 -0
- pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
- pulumi_gcp/compute/_inputs.py +24 -12
- pulumi_gcp/compute/instance.py +2 -2
- pulumi_gcp/compute/instance_template.py +2 -2
- pulumi_gcp/compute/interconnect.py +43 -11
- pulumi_gcp/compute/node_template.py +21 -0
- pulumi_gcp/compute/outputs.py +16 -8
- pulumi_gcp/compute/service_attachment.py +76 -8
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/contactcenterinsights/__init__.py +9 -0
- pulumi_gcp/contactcenterinsights/view.py +526 -0
- pulumi_gcp/container/_inputs.py +72 -12
- pulumi_gcp/container/get_engine_versions.py +15 -1
- pulumi_gcp/container/outputs.py +73 -9
- pulumi_gcp/dataplex/_inputs.py +431 -6
- pulumi_gcp/dataplex/datascan.py +251 -0
- pulumi_gcp/dataplex/entry_type.py +2 -2
- pulumi_gcp/dataplex/glossary_category.py +8 -8
- pulumi_gcp/dataplex/glossary_term.py +8 -8
- pulumi_gcp/dataplex/outputs.py +353 -4
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataproc/__init__.py +1 -0
- pulumi_gcp/dataproc/_inputs.py +486 -0
- pulumi_gcp/dataproc/batch.py +10 -10
- pulumi_gcp/dataproc/outputs.py +407 -0
- pulumi_gcp/dataproc/session_template.py +1084 -0
- pulumi_gcp/diagflow/__init__.py +1 -0
- pulumi_gcp/diagflow/_inputs.py +48 -0
- pulumi_gcp/diagflow/cx_tool.py +2 -2
- pulumi_gcp/diagflow/encryption_spec.py +382 -0
- pulumi_gcp/diagflow/outputs.py +46 -0
- pulumi_gcp/firestore/field.py +6 -6
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/lustre/get_instance.py +12 -1
- pulumi_gcp/lustre/instance.py +143 -86
- pulumi_gcp/managedkafka/connect_cluster.py +4 -4
- pulumi_gcp/managedkafka/connector.py +4 -4
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/storage/bucket_object.py +56 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/METADATA +2 -2
- {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/RECORD +76 -70
- {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/WHEEL +0 -0
- {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
|
+
|