pulumi-gcp 8.24.0a1742970634__py3-none-any.whl → 8.24.0a1743177741__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,983 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['InstanceArgs', 'Instance']
18
+
19
+ @pulumi.input_type
20
+ class InstanceArgs:
21
+ def __init__(__self__, *,
22
+ capacity_gib: pulumi.Input[str],
23
+ filesystem: pulumi.Input[str],
24
+ instance_id: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ network: pulumi.Input[str],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ gke_support_enabled: Optional[pulumi.Input[bool]] = None,
29
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
+ project: Optional[pulumi.Input[str]] = None):
31
+ """
32
+ The set of arguments for constructing a Instance resource.
33
+ :param pulumi.Input[str] capacity_gib: Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
34
+ are from 18000 to 954000, in increments of 9000.
35
+ :param pulumi.Input[str] filesystem: Required. Immutable. The filesystem name for this instance. This name is used by client-side
36
+ tools, including when mounting the instance. Must be 8 characters or less
37
+ and may only contain letters and numbers.
38
+ :param pulumi.Input[str] instance_id: Required. The name of the Managed Lustre instance.
39
+ * Must contain only lowercase letters, numbers, and hyphens.
40
+ * Must start with a letter.
41
+ * Must be between 1-63 characters.
42
+ * Must end with a number or a letter.
43
+
44
+
45
+ - - -
46
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
47
+ :param pulumi.Input[str] network: Required. Immutable. The full name of the VPC network to which the instance is connected.
48
+ Must be in the format
49
+ `projects/{project_id}/global/networks/{network_name}`.
50
+ :param pulumi.Input[str] description: Optional. A user-readable description of the instance.
51
+ :param pulumi.Input[bool] gke_support_enabled: Optional. Indicates whether you want to enable support for GKE clients. By default,
52
+ GKE clients are not supported.
53
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs.
54
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
55
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
56
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
57
+ If it is not provided, the provider project is used.
58
+ """
59
+ pulumi.set(__self__, "capacity_gib", capacity_gib)
60
+ pulumi.set(__self__, "filesystem", filesystem)
61
+ pulumi.set(__self__, "instance_id", instance_id)
62
+ pulumi.set(__self__, "location", location)
63
+ pulumi.set(__self__, "network", network)
64
+ if description is not None:
65
+ pulumi.set(__self__, "description", description)
66
+ if gke_support_enabled is not None:
67
+ pulumi.set(__self__, "gke_support_enabled", gke_support_enabled)
68
+ if labels is not None:
69
+ pulumi.set(__self__, "labels", labels)
70
+ if project is not None:
71
+ pulumi.set(__self__, "project", project)
72
+
73
+ @property
74
+ @pulumi.getter(name="capacityGib")
75
+ def capacity_gib(self) -> pulumi.Input[str]:
76
+ """
77
+ Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
78
+ are from 18000 to 954000, in increments of 9000.
79
+ """
80
+ return pulumi.get(self, "capacity_gib")
81
+
82
+ @capacity_gib.setter
83
+ def capacity_gib(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "capacity_gib", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def filesystem(self) -> pulumi.Input[str]:
89
+ """
90
+ Required. Immutable. The filesystem name for this instance. This name is used by client-side
91
+ tools, including when mounting the instance. Must be 8 characters or less
92
+ and may only contain letters and numbers.
93
+ """
94
+ return pulumi.get(self, "filesystem")
95
+
96
+ @filesystem.setter
97
+ def filesystem(self, value: pulumi.Input[str]):
98
+ pulumi.set(self, "filesystem", value)
99
+
100
+ @property
101
+ @pulumi.getter(name="instanceId")
102
+ def instance_id(self) -> pulumi.Input[str]:
103
+ """
104
+ Required. The name of the Managed Lustre instance.
105
+ * Must contain only lowercase letters, numbers, and hyphens.
106
+ * Must start with a letter.
107
+ * Must be between 1-63 characters.
108
+ * Must end with a number or a letter.
109
+
110
+
111
+ - - -
112
+ """
113
+ return pulumi.get(self, "instance_id")
114
+
115
+ @instance_id.setter
116
+ def instance_id(self, value: pulumi.Input[str]):
117
+ pulumi.set(self, "instance_id", value)
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def location(self) -> pulumi.Input[str]:
122
+ """
123
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
124
+ """
125
+ return pulumi.get(self, "location")
126
+
127
+ @location.setter
128
+ def location(self, value: pulumi.Input[str]):
129
+ pulumi.set(self, "location", value)
130
+
131
+ @property
132
+ @pulumi.getter
133
+ def network(self) -> pulumi.Input[str]:
134
+ """
135
+ Required. Immutable. The full name of the VPC network to which the instance is connected.
136
+ Must be in the format
137
+ `projects/{project_id}/global/networks/{network_name}`.
138
+ """
139
+ return pulumi.get(self, "network")
140
+
141
+ @network.setter
142
+ def network(self, value: pulumi.Input[str]):
143
+ pulumi.set(self, "network", value)
144
+
145
+ @property
146
+ @pulumi.getter
147
+ def description(self) -> Optional[pulumi.Input[str]]:
148
+ """
149
+ Optional. A user-readable description of the instance.
150
+ """
151
+ return pulumi.get(self, "description")
152
+
153
+ @description.setter
154
+ def description(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "description", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="gkeSupportEnabled")
159
+ def gke_support_enabled(self) -> Optional[pulumi.Input[bool]]:
160
+ """
161
+ Optional. Indicates whether you want to enable support for GKE clients. By default,
162
+ GKE clients are not supported.
163
+ """
164
+ return pulumi.get(self, "gke_support_enabled")
165
+
166
+ @gke_support_enabled.setter
167
+ def gke_support_enabled(self, value: Optional[pulumi.Input[bool]]):
168
+ pulumi.set(self, "gke_support_enabled", value)
169
+
170
+ @property
171
+ @pulumi.getter
172
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
173
+ """
174
+ Optional. Labels as key value pairs.
175
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
176
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
177
+ """
178
+ return pulumi.get(self, "labels")
179
+
180
+ @labels.setter
181
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
182
+ pulumi.set(self, "labels", value)
183
+
184
+ @property
185
+ @pulumi.getter
186
+ def project(self) -> Optional[pulumi.Input[str]]:
187
+ """
188
+ The ID of the project in which the resource belongs.
189
+ If it is not provided, the provider project is used.
190
+ """
191
+ return pulumi.get(self, "project")
192
+
193
+ @project.setter
194
+ def project(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "project", value)
196
+
197
+
198
+ @pulumi.input_type
199
+ class _InstanceState:
200
+ def __init__(__self__, *,
201
+ capacity_gib: Optional[pulumi.Input[str]] = None,
202
+ create_time: Optional[pulumi.Input[str]] = None,
203
+ description: Optional[pulumi.Input[str]] = None,
204
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
205
+ filesystem: Optional[pulumi.Input[str]] = None,
206
+ gke_support_enabled: Optional[pulumi.Input[bool]] = None,
207
+ instance_id: Optional[pulumi.Input[str]] = None,
208
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
209
+ location: Optional[pulumi.Input[str]] = None,
210
+ mount_point: Optional[pulumi.Input[str]] = None,
211
+ name: Optional[pulumi.Input[str]] = None,
212
+ network: Optional[pulumi.Input[str]] = None,
213
+ project: Optional[pulumi.Input[str]] = None,
214
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
215
+ state: Optional[pulumi.Input[str]] = None,
216
+ update_time: Optional[pulumi.Input[str]] = None):
217
+ """
218
+ Input properties used for looking up and filtering Instance resources.
219
+ :param pulumi.Input[str] capacity_gib: Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
220
+ are from 18000 to 954000, in increments of 9000.
221
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the instance was created.
222
+ :param pulumi.Input[str] description: Optional. A user-readable description of the instance.
223
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
224
+ :param pulumi.Input[str] filesystem: Required. Immutable. The filesystem name for this instance. This name is used by client-side
225
+ tools, including when mounting the instance. Must be 8 characters or less
226
+ and may only contain letters and numbers.
227
+ :param pulumi.Input[bool] gke_support_enabled: Optional. Indicates whether you want to enable support for GKE clients. By default,
228
+ GKE clients are not supported.
229
+ :param pulumi.Input[str] instance_id: Required. The name of the Managed Lustre instance.
230
+ * Must contain only lowercase letters, numbers, and hyphens.
231
+ * Must start with a letter.
232
+ * Must be between 1-63 characters.
233
+ * Must end with a number or a letter.
234
+
235
+
236
+ - - -
237
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs.
238
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
239
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
240
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
241
+ :param pulumi.Input[str] mount_point: Output only. Mount point of the instance in the format `IP_ADDRESS@tcp:/FILESYSTEM`.
242
+ :param pulumi.Input[str] name: Identifier. The name of the instance.
243
+ :param pulumi.Input[str] network: Required. Immutable. The full name of the VPC network to which the instance is connected.
244
+ Must be in the format
245
+ `projects/{project_id}/global/networks/{network_name}`.
246
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
247
+ If it is not provided, the provider project is used.
248
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
249
+ and default labels configured on the provider.
250
+ :param pulumi.Input[str] state: Output only. The state of the instance.
251
+ Possible values:
252
+ STATE_UNSPECIFIED
253
+ ACTIVE
254
+ CREATING
255
+ DELETING
256
+ UPGRADING
257
+ REPAIRING
258
+ STOPPED
259
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the instance was last updated.
260
+ """
261
+ if capacity_gib is not None:
262
+ pulumi.set(__self__, "capacity_gib", capacity_gib)
263
+ if create_time is not None:
264
+ pulumi.set(__self__, "create_time", create_time)
265
+ if description is not None:
266
+ pulumi.set(__self__, "description", description)
267
+ if effective_labels is not None:
268
+ pulumi.set(__self__, "effective_labels", effective_labels)
269
+ if filesystem is not None:
270
+ pulumi.set(__self__, "filesystem", filesystem)
271
+ if gke_support_enabled is not None:
272
+ pulumi.set(__self__, "gke_support_enabled", gke_support_enabled)
273
+ if instance_id is not None:
274
+ pulumi.set(__self__, "instance_id", instance_id)
275
+ if labels is not None:
276
+ pulumi.set(__self__, "labels", labels)
277
+ if location is not None:
278
+ pulumi.set(__self__, "location", location)
279
+ if mount_point is not None:
280
+ pulumi.set(__self__, "mount_point", mount_point)
281
+ if name is not None:
282
+ pulumi.set(__self__, "name", name)
283
+ if network is not None:
284
+ pulumi.set(__self__, "network", network)
285
+ if project is not None:
286
+ pulumi.set(__self__, "project", project)
287
+ if pulumi_labels is not None:
288
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
289
+ if state is not None:
290
+ pulumi.set(__self__, "state", state)
291
+ if update_time is not None:
292
+ pulumi.set(__self__, "update_time", update_time)
293
+
294
+ @property
295
+ @pulumi.getter(name="capacityGib")
296
+ def capacity_gib(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
299
+ are from 18000 to 954000, in increments of 9000.
300
+ """
301
+ return pulumi.get(self, "capacity_gib")
302
+
303
+ @capacity_gib.setter
304
+ def capacity_gib(self, value: Optional[pulumi.Input[str]]):
305
+ pulumi.set(self, "capacity_gib", value)
306
+
307
+ @property
308
+ @pulumi.getter(name="createTime")
309
+ def create_time(self) -> Optional[pulumi.Input[str]]:
310
+ """
311
+ Output only. Timestamp when the instance was created.
312
+ """
313
+ return pulumi.get(self, "create_time")
314
+
315
+ @create_time.setter
316
+ def create_time(self, value: Optional[pulumi.Input[str]]):
317
+ pulumi.set(self, "create_time", value)
318
+
319
+ @property
320
+ @pulumi.getter
321
+ def description(self) -> Optional[pulumi.Input[str]]:
322
+ """
323
+ Optional. A user-readable description of the instance.
324
+ """
325
+ return pulumi.get(self, "description")
326
+
327
+ @description.setter
328
+ def description(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "description", value)
330
+
331
+ @property
332
+ @pulumi.getter(name="effectiveLabels")
333
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
334
+ """
335
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
336
+ """
337
+ return pulumi.get(self, "effective_labels")
338
+
339
+ @effective_labels.setter
340
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
341
+ pulumi.set(self, "effective_labels", value)
342
+
343
+ @property
344
+ @pulumi.getter
345
+ def filesystem(self) -> Optional[pulumi.Input[str]]:
346
+ """
347
+ Required. Immutable. The filesystem name for this instance. This name is used by client-side
348
+ tools, including when mounting the instance. Must be 8 characters or less
349
+ and may only contain letters and numbers.
350
+ """
351
+ return pulumi.get(self, "filesystem")
352
+
353
+ @filesystem.setter
354
+ def filesystem(self, value: Optional[pulumi.Input[str]]):
355
+ pulumi.set(self, "filesystem", value)
356
+
357
+ @property
358
+ @pulumi.getter(name="gkeSupportEnabled")
359
+ def gke_support_enabled(self) -> Optional[pulumi.Input[bool]]:
360
+ """
361
+ Optional. Indicates whether you want to enable support for GKE clients. By default,
362
+ GKE clients are not supported.
363
+ """
364
+ return pulumi.get(self, "gke_support_enabled")
365
+
366
+ @gke_support_enabled.setter
367
+ def gke_support_enabled(self, value: Optional[pulumi.Input[bool]]):
368
+ pulumi.set(self, "gke_support_enabled", value)
369
+
370
+ @property
371
+ @pulumi.getter(name="instanceId")
372
+ def instance_id(self) -> Optional[pulumi.Input[str]]:
373
+ """
374
+ Required. The name of the Managed Lustre instance.
375
+ * Must contain only lowercase letters, numbers, and hyphens.
376
+ * Must start with a letter.
377
+ * Must be between 1-63 characters.
378
+ * Must end with a number or a letter.
379
+
380
+
381
+ - - -
382
+ """
383
+ return pulumi.get(self, "instance_id")
384
+
385
+ @instance_id.setter
386
+ def instance_id(self, value: Optional[pulumi.Input[str]]):
387
+ pulumi.set(self, "instance_id", value)
388
+
389
+ @property
390
+ @pulumi.getter
391
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
392
+ """
393
+ Optional. Labels as key value pairs.
394
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
395
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
396
+ """
397
+ return pulumi.get(self, "labels")
398
+
399
+ @labels.setter
400
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
401
+ pulumi.set(self, "labels", value)
402
+
403
+ @property
404
+ @pulumi.getter
405
+ def location(self) -> Optional[pulumi.Input[str]]:
406
+ """
407
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
408
+ """
409
+ return pulumi.get(self, "location")
410
+
411
+ @location.setter
412
+ def location(self, value: Optional[pulumi.Input[str]]):
413
+ pulumi.set(self, "location", value)
414
+
415
+ @property
416
+ @pulumi.getter(name="mountPoint")
417
+ def mount_point(self) -> Optional[pulumi.Input[str]]:
418
+ """
419
+ Output only. Mount point of the instance in the format `IP_ADDRESS@tcp:/FILESYSTEM`.
420
+ """
421
+ return pulumi.get(self, "mount_point")
422
+
423
+ @mount_point.setter
424
+ def mount_point(self, value: Optional[pulumi.Input[str]]):
425
+ pulumi.set(self, "mount_point", value)
426
+
427
+ @property
428
+ @pulumi.getter
429
+ def name(self) -> Optional[pulumi.Input[str]]:
430
+ """
431
+ Identifier. The name of the instance.
432
+ """
433
+ return pulumi.get(self, "name")
434
+
435
+ @name.setter
436
+ def name(self, value: Optional[pulumi.Input[str]]):
437
+ pulumi.set(self, "name", value)
438
+
439
+ @property
440
+ @pulumi.getter
441
+ def network(self) -> Optional[pulumi.Input[str]]:
442
+ """
443
+ Required. Immutable. The full name of the VPC network to which the instance is connected.
444
+ Must be in the format
445
+ `projects/{project_id}/global/networks/{network_name}`.
446
+ """
447
+ return pulumi.get(self, "network")
448
+
449
+ @network.setter
450
+ def network(self, value: Optional[pulumi.Input[str]]):
451
+ pulumi.set(self, "network", value)
452
+
453
+ @property
454
+ @pulumi.getter
455
+ def project(self) -> Optional[pulumi.Input[str]]:
456
+ """
457
+ The ID of the project in which the resource belongs.
458
+ If it is not provided, the provider project is used.
459
+ """
460
+ return pulumi.get(self, "project")
461
+
462
+ @project.setter
463
+ def project(self, value: Optional[pulumi.Input[str]]):
464
+ pulumi.set(self, "project", value)
465
+
466
+ @property
467
+ @pulumi.getter(name="pulumiLabels")
468
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
469
+ """
470
+ The combination of labels configured directly on the resource
471
+ and default labels configured on the provider.
472
+ """
473
+ return pulumi.get(self, "pulumi_labels")
474
+
475
+ @pulumi_labels.setter
476
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
477
+ pulumi.set(self, "pulumi_labels", value)
478
+
479
+ @property
480
+ @pulumi.getter
481
+ def state(self) -> Optional[pulumi.Input[str]]:
482
+ """
483
+ Output only. The state of the instance.
484
+ Possible values:
485
+ STATE_UNSPECIFIED
486
+ ACTIVE
487
+ CREATING
488
+ DELETING
489
+ UPGRADING
490
+ REPAIRING
491
+ STOPPED
492
+ """
493
+ return pulumi.get(self, "state")
494
+
495
+ @state.setter
496
+ def state(self, value: Optional[pulumi.Input[str]]):
497
+ pulumi.set(self, "state", value)
498
+
499
+ @property
500
+ @pulumi.getter(name="updateTime")
501
+ def update_time(self) -> Optional[pulumi.Input[str]]:
502
+ """
503
+ Output only. Timestamp when the instance was last updated.
504
+ """
505
+ return pulumi.get(self, "update_time")
506
+
507
+ @update_time.setter
508
+ def update_time(self, value: Optional[pulumi.Input[str]]):
509
+ pulumi.set(self, "update_time", value)
510
+
511
+
512
+ class Instance(pulumi.CustomResource):
513
+ @overload
514
+ def __init__(__self__,
515
+ resource_name: str,
516
+ opts: Optional[pulumi.ResourceOptions] = None,
517
+ capacity_gib: Optional[pulumi.Input[str]] = None,
518
+ description: Optional[pulumi.Input[str]] = None,
519
+ filesystem: Optional[pulumi.Input[str]] = None,
520
+ gke_support_enabled: Optional[pulumi.Input[bool]] = None,
521
+ instance_id: Optional[pulumi.Input[str]] = None,
522
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
523
+ location: Optional[pulumi.Input[str]] = None,
524
+ network: Optional[pulumi.Input[str]] = None,
525
+ project: Optional[pulumi.Input[str]] = None,
526
+ __props__=None):
527
+ """
528
+ A Managed Lustre instance
529
+
530
+ ## Example Usage
531
+
532
+ ### Lustre Instance Basic
533
+
534
+ ```python
535
+ import pulumi
536
+ import pulumi_gcp as gcp
537
+
538
+ # This example assumes this network already exists.
539
+ # The API creates a tenant network per network authorized for a
540
+ # Lustre instance and that network is not deleted when the user-created
541
+ # network (authorized_network) is deleted, so this prevents issues
542
+ # with tenant network quota.
543
+ # If this network hasn't been created and you are using this example in your
544
+ # config, add an additional network resource or change
545
+ # this from "data"to "resource"
546
+ lustre_network = gcp.compute.get_network(name="my-network")
547
+ instance = gcp.lustre.Instance("instance",
548
+ instance_id="my-instance",
549
+ location="us-central1-a",
550
+ description="test lustre instance",
551
+ filesystem="testfs",
552
+ capacity_gib="18000",
553
+ network=lustre_network.id,
554
+ labels={
555
+ "test": "value",
556
+ })
557
+ ```
558
+
559
+ ## Import
560
+
561
+ Instance can be imported using any of these accepted formats:
562
+
563
+ * `projects/{{project}}/locations/{{location}}/instances/{{instance_id}}`
564
+
565
+ * `{{project}}/{{location}}/{{instance_id}}`
566
+
567
+ * `{{location}}/{{instance_id}}`
568
+
569
+ When using the `pulumi import` command, Instance can be imported using one of the formats above. For example:
570
+
571
+ ```sh
572
+ $ pulumi import gcp:lustre/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{instance_id}}
573
+ ```
574
+
575
+ ```sh
576
+ $ pulumi import gcp:lustre/instance:Instance default {{project}}/{{location}}/{{instance_id}}
577
+ ```
578
+
579
+ ```sh
580
+ $ pulumi import gcp:lustre/instance:Instance default {{location}}/{{instance_id}}
581
+ ```
582
+
583
+ :param str resource_name: The name of the resource.
584
+ :param pulumi.ResourceOptions opts: Options for the resource.
585
+ :param pulumi.Input[str] capacity_gib: Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
586
+ are from 18000 to 954000, in increments of 9000.
587
+ :param pulumi.Input[str] description: Optional. A user-readable description of the instance.
588
+ :param pulumi.Input[str] filesystem: Required. Immutable. The filesystem name for this instance. This name is used by client-side
589
+ tools, including when mounting the instance. Must be 8 characters or less
590
+ and may only contain letters and numbers.
591
+ :param pulumi.Input[bool] gke_support_enabled: Optional. Indicates whether you want to enable support for GKE clients. By default,
592
+ GKE clients are not supported.
593
+ :param pulumi.Input[str] instance_id: Required. The name of the Managed Lustre instance.
594
+ * Must contain only lowercase letters, numbers, and hyphens.
595
+ * Must start with a letter.
596
+ * Must be between 1-63 characters.
597
+ * Must end with a number or a letter.
598
+
599
+
600
+ - - -
601
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs.
602
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
603
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
604
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
605
+ :param pulumi.Input[str] network: Required. Immutable. The full name of the VPC network to which the instance is connected.
606
+ Must be in the format
607
+ `projects/{project_id}/global/networks/{network_name}`.
608
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
609
+ If it is not provided, the provider project is used.
610
+ """
611
+ ...
612
+ @overload
613
+ def __init__(__self__,
614
+ resource_name: str,
615
+ args: InstanceArgs,
616
+ opts: Optional[pulumi.ResourceOptions] = None):
617
+ """
618
+ A Managed Lustre instance
619
+
620
+ ## Example Usage
621
+
622
+ ### Lustre Instance Basic
623
+
624
+ ```python
625
+ import pulumi
626
+ import pulumi_gcp as gcp
627
+
628
+ # This example assumes this network already exists.
629
+ # The API creates a tenant network per network authorized for a
630
+ # Lustre instance and that network is not deleted when the user-created
631
+ # network (authorized_network) is deleted, so this prevents issues
632
+ # with tenant network quota.
633
+ # If this network hasn't been created and you are using this example in your
634
+ # config, add an additional network resource or change
635
+ # this from "data"to "resource"
636
+ lustre_network = gcp.compute.get_network(name="my-network")
637
+ instance = gcp.lustre.Instance("instance",
638
+ instance_id="my-instance",
639
+ location="us-central1-a",
640
+ description="test lustre instance",
641
+ filesystem="testfs",
642
+ capacity_gib="18000",
643
+ network=lustre_network.id,
644
+ labels={
645
+ "test": "value",
646
+ })
647
+ ```
648
+
649
+ ## Import
650
+
651
+ Instance can be imported using any of these accepted formats:
652
+
653
+ * `projects/{{project}}/locations/{{location}}/instances/{{instance_id}}`
654
+
655
+ * `{{project}}/{{location}}/{{instance_id}}`
656
+
657
+ * `{{location}}/{{instance_id}}`
658
+
659
+ When using the `pulumi import` command, Instance can be imported using one of the formats above. For example:
660
+
661
+ ```sh
662
+ $ pulumi import gcp:lustre/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{instance_id}}
663
+ ```
664
+
665
+ ```sh
666
+ $ pulumi import gcp:lustre/instance:Instance default {{project}}/{{location}}/{{instance_id}}
667
+ ```
668
+
669
+ ```sh
670
+ $ pulumi import gcp:lustre/instance:Instance default {{location}}/{{instance_id}}
671
+ ```
672
+
673
+ :param str resource_name: The name of the resource.
674
+ :param InstanceArgs args: The arguments to use to populate this resource's properties.
675
+ :param pulumi.ResourceOptions opts: Options for the resource.
676
+ """
677
+ ...
678
+ def __init__(__self__, resource_name: str, *args, **kwargs):
679
+ resource_args, opts = _utilities.get_resource_args_opts(InstanceArgs, pulumi.ResourceOptions, *args, **kwargs)
680
+ if resource_args is not None:
681
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
682
+ else:
683
+ __self__._internal_init(resource_name, *args, **kwargs)
684
+
685
+ def _internal_init(__self__,
686
+ resource_name: str,
687
+ opts: Optional[pulumi.ResourceOptions] = None,
688
+ capacity_gib: Optional[pulumi.Input[str]] = None,
689
+ description: Optional[pulumi.Input[str]] = None,
690
+ filesystem: Optional[pulumi.Input[str]] = None,
691
+ gke_support_enabled: Optional[pulumi.Input[bool]] = None,
692
+ instance_id: Optional[pulumi.Input[str]] = None,
693
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
694
+ location: Optional[pulumi.Input[str]] = None,
695
+ network: Optional[pulumi.Input[str]] = None,
696
+ project: Optional[pulumi.Input[str]] = None,
697
+ __props__=None):
698
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
699
+ if not isinstance(opts, pulumi.ResourceOptions):
700
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
701
+ if opts.id is None:
702
+ if __props__ is not None:
703
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
704
+ __props__ = InstanceArgs.__new__(InstanceArgs)
705
+
706
+ if capacity_gib is None and not opts.urn:
707
+ raise TypeError("Missing required property 'capacity_gib'")
708
+ __props__.__dict__["capacity_gib"] = capacity_gib
709
+ __props__.__dict__["description"] = description
710
+ if filesystem is None and not opts.urn:
711
+ raise TypeError("Missing required property 'filesystem'")
712
+ __props__.__dict__["filesystem"] = filesystem
713
+ __props__.__dict__["gke_support_enabled"] = gke_support_enabled
714
+ if instance_id is None and not opts.urn:
715
+ raise TypeError("Missing required property 'instance_id'")
716
+ __props__.__dict__["instance_id"] = instance_id
717
+ __props__.__dict__["labels"] = labels
718
+ if location is None and not opts.urn:
719
+ raise TypeError("Missing required property 'location'")
720
+ __props__.__dict__["location"] = location
721
+ if network is None and not opts.urn:
722
+ raise TypeError("Missing required property 'network'")
723
+ __props__.__dict__["network"] = network
724
+ __props__.__dict__["project"] = project
725
+ __props__.__dict__["create_time"] = None
726
+ __props__.__dict__["effective_labels"] = None
727
+ __props__.__dict__["mount_point"] = None
728
+ __props__.__dict__["name"] = None
729
+ __props__.__dict__["pulumi_labels"] = None
730
+ __props__.__dict__["state"] = None
731
+ __props__.__dict__["update_time"] = None
732
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
733
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
734
+ super(Instance, __self__).__init__(
735
+ 'gcp:lustre/instance:Instance',
736
+ resource_name,
737
+ __props__,
738
+ opts)
739
+
740
+ @staticmethod
741
+ def get(resource_name: str,
742
+ id: pulumi.Input[str],
743
+ opts: Optional[pulumi.ResourceOptions] = None,
744
+ capacity_gib: Optional[pulumi.Input[str]] = None,
745
+ create_time: Optional[pulumi.Input[str]] = None,
746
+ description: Optional[pulumi.Input[str]] = None,
747
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
748
+ filesystem: Optional[pulumi.Input[str]] = None,
749
+ gke_support_enabled: Optional[pulumi.Input[bool]] = None,
750
+ instance_id: Optional[pulumi.Input[str]] = None,
751
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
752
+ location: Optional[pulumi.Input[str]] = None,
753
+ mount_point: Optional[pulumi.Input[str]] = None,
754
+ name: Optional[pulumi.Input[str]] = None,
755
+ network: Optional[pulumi.Input[str]] = None,
756
+ project: Optional[pulumi.Input[str]] = None,
757
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
758
+ state: Optional[pulumi.Input[str]] = None,
759
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Instance':
760
+ """
761
+ Get an existing Instance resource's state with the given name, id, and optional extra
762
+ properties used to qualify the lookup.
763
+
764
+ :param str resource_name: The unique name of the resulting resource.
765
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
766
+ :param pulumi.ResourceOptions opts: Options for the resource.
767
+ :param pulumi.Input[str] capacity_gib: Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
768
+ are from 18000 to 954000, in increments of 9000.
769
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the instance was created.
770
+ :param pulumi.Input[str] description: Optional. A user-readable description of the instance.
771
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
772
+ :param pulumi.Input[str] filesystem: Required. Immutable. The filesystem name for this instance. This name is used by client-side
773
+ tools, including when mounting the instance. Must be 8 characters or less
774
+ and may only contain letters and numbers.
775
+ :param pulumi.Input[bool] gke_support_enabled: Optional. Indicates whether you want to enable support for GKE clients. By default,
776
+ GKE clients are not supported.
777
+ :param pulumi.Input[str] instance_id: Required. The name of the Managed Lustre instance.
778
+ * Must contain only lowercase letters, numbers, and hyphens.
779
+ * Must start with a letter.
780
+ * Must be between 1-63 characters.
781
+ * Must end with a number or a letter.
782
+
783
+
784
+ - - -
785
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs.
786
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
787
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
788
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
789
+ :param pulumi.Input[str] mount_point: Output only. Mount point of the instance in the format `IP_ADDRESS@tcp:/FILESYSTEM`.
790
+ :param pulumi.Input[str] name: Identifier. The name of the instance.
791
+ :param pulumi.Input[str] network: Required. Immutable. The full name of the VPC network to which the instance is connected.
792
+ Must be in the format
793
+ `projects/{project_id}/global/networks/{network_name}`.
794
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
795
+ If it is not provided, the provider project is used.
796
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
797
+ and default labels configured on the provider.
798
+ :param pulumi.Input[str] state: Output only. The state of the instance.
799
+ Possible values:
800
+ STATE_UNSPECIFIED
801
+ ACTIVE
802
+ CREATING
803
+ DELETING
804
+ UPGRADING
805
+ REPAIRING
806
+ STOPPED
807
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the instance was last updated.
808
+ """
809
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
810
+
811
+ __props__ = _InstanceState.__new__(_InstanceState)
812
+
813
+ __props__.__dict__["capacity_gib"] = capacity_gib
814
+ __props__.__dict__["create_time"] = create_time
815
+ __props__.__dict__["description"] = description
816
+ __props__.__dict__["effective_labels"] = effective_labels
817
+ __props__.__dict__["filesystem"] = filesystem
818
+ __props__.__dict__["gke_support_enabled"] = gke_support_enabled
819
+ __props__.__dict__["instance_id"] = instance_id
820
+ __props__.__dict__["labels"] = labels
821
+ __props__.__dict__["location"] = location
822
+ __props__.__dict__["mount_point"] = mount_point
823
+ __props__.__dict__["name"] = name
824
+ __props__.__dict__["network"] = network
825
+ __props__.__dict__["project"] = project
826
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
827
+ __props__.__dict__["state"] = state
828
+ __props__.__dict__["update_time"] = update_time
829
+ return Instance(resource_name, opts=opts, __props__=__props__)
830
+
831
+ @property
832
+ @pulumi.getter(name="capacityGib")
833
+ def capacity_gib(self) -> pulumi.Output[str]:
834
+ """
835
+ Required. The storage capacity of the instance in gibibytes (GiB). Allowed values
836
+ are from 18000 to 954000, in increments of 9000.
837
+ """
838
+ return pulumi.get(self, "capacity_gib")
839
+
840
+ @property
841
+ @pulumi.getter(name="createTime")
842
+ def create_time(self) -> pulumi.Output[str]:
843
+ """
844
+ Output only. Timestamp when the instance was created.
845
+ """
846
+ return pulumi.get(self, "create_time")
847
+
848
+ @property
849
+ @pulumi.getter
850
+ def description(self) -> pulumi.Output[Optional[str]]:
851
+ """
852
+ Optional. A user-readable description of the instance.
853
+ """
854
+ return pulumi.get(self, "description")
855
+
856
+ @property
857
+ @pulumi.getter(name="effectiveLabels")
858
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
859
+ """
860
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
861
+ """
862
+ return pulumi.get(self, "effective_labels")
863
+
864
+ @property
865
+ @pulumi.getter
866
+ def filesystem(self) -> pulumi.Output[str]:
867
+ """
868
+ Required. Immutable. The filesystem name for this instance. This name is used by client-side
869
+ tools, including when mounting the instance. Must be 8 characters or less
870
+ and may only contain letters and numbers.
871
+ """
872
+ return pulumi.get(self, "filesystem")
873
+
874
+ @property
875
+ @pulumi.getter(name="gkeSupportEnabled")
876
+ def gke_support_enabled(self) -> pulumi.Output[Optional[bool]]:
877
+ """
878
+ Optional. Indicates whether you want to enable support for GKE clients. By default,
879
+ GKE clients are not supported.
880
+ """
881
+ return pulumi.get(self, "gke_support_enabled")
882
+
883
+ @property
884
+ @pulumi.getter(name="instanceId")
885
+ def instance_id(self) -> pulumi.Output[str]:
886
+ """
887
+ Required. The name of the Managed Lustre instance.
888
+ * Must contain only lowercase letters, numbers, and hyphens.
889
+ * Must start with a letter.
890
+ * Must be between 1-63 characters.
891
+ * Must end with a number or a letter.
892
+
893
+
894
+ - - -
895
+ """
896
+ return pulumi.get(self, "instance_id")
897
+
898
+ @property
899
+ @pulumi.getter
900
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
901
+ """
902
+ Optional. Labels as key value pairs.
903
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
904
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
905
+ """
906
+ return pulumi.get(self, "labels")
907
+
908
+ @property
909
+ @pulumi.getter
910
+ def location(self) -> pulumi.Output[str]:
911
+ """
912
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
913
+ """
914
+ return pulumi.get(self, "location")
915
+
916
+ @property
917
+ @pulumi.getter(name="mountPoint")
918
+ def mount_point(self) -> pulumi.Output[str]:
919
+ """
920
+ Output only. Mount point of the instance in the format `IP_ADDRESS@tcp:/FILESYSTEM`.
921
+ """
922
+ return pulumi.get(self, "mount_point")
923
+
924
+ @property
925
+ @pulumi.getter
926
+ def name(self) -> pulumi.Output[str]:
927
+ """
928
+ Identifier. The name of the instance.
929
+ """
930
+ return pulumi.get(self, "name")
931
+
932
+ @property
933
+ @pulumi.getter
934
+ def network(self) -> pulumi.Output[str]:
935
+ """
936
+ Required. Immutable. The full name of the VPC network to which the instance is connected.
937
+ Must be in the format
938
+ `projects/{project_id}/global/networks/{network_name}`.
939
+ """
940
+ return pulumi.get(self, "network")
941
+
942
+ @property
943
+ @pulumi.getter
944
+ def project(self) -> pulumi.Output[str]:
945
+ """
946
+ The ID of the project in which the resource belongs.
947
+ If it is not provided, the provider project is used.
948
+ """
949
+ return pulumi.get(self, "project")
950
+
951
+ @property
952
+ @pulumi.getter(name="pulumiLabels")
953
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
954
+ """
955
+ The combination of labels configured directly on the resource
956
+ and default labels configured on the provider.
957
+ """
958
+ return pulumi.get(self, "pulumi_labels")
959
+
960
+ @property
961
+ @pulumi.getter
962
+ def state(self) -> pulumi.Output[str]:
963
+ """
964
+ Output only. The state of the instance.
965
+ Possible values:
966
+ STATE_UNSPECIFIED
967
+ ACTIVE
968
+ CREATING
969
+ DELETING
970
+ UPGRADING
971
+ REPAIRING
972
+ STOPPED
973
+ """
974
+ return pulumi.get(self, "state")
975
+
976
+ @property
977
+ @pulumi.getter(name="updateTime")
978
+ def update_time(self) -> pulumi.Output[str]:
979
+ """
980
+ Output only. Timestamp when the instance was last updated.
981
+ """
982
+ return pulumi.get(self, "update_time")
983
+