pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/blockchainnodeengine/__init__.py +10 -0
  4. pulumi_gcp/blockchainnodeengine/_inputs.py +388 -0
  5. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +791 -0
  6. pulumi_gcp/blockchainnodeengine/outputs.py +441 -0
  7. pulumi_gcp/compute/__init__.py +2 -0
  8. pulumi_gcp/compute/disk.py +28 -0
  9. pulumi_gcp/compute/get_disk.py +11 -1
  10. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  11. pulumi_gcp/compute/get_machine_types.py +143 -0
  12. pulumi_gcp/compute/instance_group_manager.py +28 -0
  13. pulumi_gcp/compute/interconnect_attachment.py +75 -0
  14. pulumi_gcp/compute/outputs.py +219 -0
  15. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  16. pulumi_gcp/compute/region_network_endpoint.py +556 -0
  17. pulumi_gcp/compute/region_network_endpoint_group.py +128 -71
  18. pulumi_gcp/config/__init__.pyi +2 -2
  19. pulumi_gcp/config/vars.py +4 -4
  20. pulumi_gcp/discoveryengine/__init__.py +4 -0
  21. pulumi_gcp/discoveryengine/_inputs.py +237 -0
  22. pulumi_gcp/discoveryengine/chat_engine.py +822 -0
  23. pulumi_gcp/discoveryengine/outputs.py +304 -0
  24. pulumi_gcp/discoveryengine/search_engine.py +752 -0
  25. pulumi_gcp/filestore/_inputs.py +1 -3
  26. pulumi_gcp/filestore/outputs.py +1 -3
  27. pulumi_gcp/memcache/instance.py +61 -0
  28. pulumi_gcp/netapp/__init__.py +1 -0
  29. pulumi_gcp/netapp/storage_pool.py +34 -6
  30. pulumi_gcp/netapp/volume.py +65 -2
  31. pulumi_gcp/netapp/volume_snapshot.py +625 -0
  32. pulumi_gcp/provider.py +20 -0
  33. pulumi_gcp/vmwareengine/private_cloud.py +0 -7
  34. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/METADATA +1 -1
  35. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/RECORD +37 -26
  36. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/WHEEL +0 -0
  37. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,625 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['VolumeSnapshotArgs', 'VolumeSnapshot']
13
+
14
+ @pulumi.input_type
15
+ class VolumeSnapshotArgs:
16
+ def __init__(__self__, *,
17
+ location: pulumi.Input[str],
18
+ volume_name: pulumi.Input[str],
19
+ description: Optional[pulumi.Input[str]] = None,
20
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
+ name: Optional[pulumi.Input[str]] = None,
22
+ project: Optional[pulumi.Input[str]] = None):
23
+ """
24
+ The set of arguments for constructing a VolumeSnapshot resource.
25
+ :param pulumi.Input[str] location: Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
26
+ :param pulumi.Input[str] volume_name: The name of the volume to create the snapshot in.
27
+ :param pulumi.Input[str] description: Description for the snapshot.
28
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
29
+
30
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
31
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
32
+ :param pulumi.Input[str] name: The name of the snapshot.
33
+
34
+
35
+ - - -
36
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
37
+ If it is not provided, the provider project is used.
38
+ """
39
+ pulumi.set(__self__, "location", location)
40
+ pulumi.set(__self__, "volume_name", volume_name)
41
+ if description is not None:
42
+ pulumi.set(__self__, "description", description)
43
+ if labels is not None:
44
+ pulumi.set(__self__, "labels", labels)
45
+ if name is not None:
46
+ pulumi.set(__self__, "name", name)
47
+ if project is not None:
48
+ pulumi.set(__self__, "project", project)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def location(self) -> pulumi.Input[str]:
53
+ """
54
+ Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
55
+ """
56
+ return pulumi.get(self, "location")
57
+
58
+ @location.setter
59
+ def location(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "location", value)
61
+
62
+ @property
63
+ @pulumi.getter(name="volumeName")
64
+ def volume_name(self) -> pulumi.Input[str]:
65
+ """
66
+ The name of the volume to create the snapshot in.
67
+ """
68
+ return pulumi.get(self, "volume_name")
69
+
70
+ @volume_name.setter
71
+ def volume_name(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "volume_name", value)
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def description(self) -> Optional[pulumi.Input[str]]:
77
+ """
78
+ Description for the snapshot.
79
+ """
80
+ return pulumi.get(self, "description")
81
+
82
+ @description.setter
83
+ def description(self, value: Optional[pulumi.Input[str]]):
84
+ pulumi.set(self, "description", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
89
+ """
90
+ Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
91
+
92
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
93
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
94
+ """
95
+ return pulumi.get(self, "labels")
96
+
97
+ @labels.setter
98
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
99
+ pulumi.set(self, "labels", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def name(self) -> Optional[pulumi.Input[str]]:
104
+ """
105
+ The name of the snapshot.
106
+
107
+
108
+ - - -
109
+ """
110
+ return pulumi.get(self, "name")
111
+
112
+ @name.setter
113
+ def name(self, value: Optional[pulumi.Input[str]]):
114
+ pulumi.set(self, "name", value)
115
+
116
+ @property
117
+ @pulumi.getter
118
+ def project(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ The ID of the project in which the resource belongs.
121
+ If it is not provided, the provider project is used.
122
+ """
123
+ return pulumi.get(self, "project")
124
+
125
+ @project.setter
126
+ def project(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "project", value)
128
+
129
+
130
+ @pulumi.input_type
131
+ class _VolumeSnapshotState:
132
+ def __init__(__self__, *,
133
+ description: Optional[pulumi.Input[str]] = None,
134
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
135
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
136
+ location: Optional[pulumi.Input[str]] = None,
137
+ name: Optional[pulumi.Input[str]] = None,
138
+ project: Optional[pulumi.Input[str]] = None,
139
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
140
+ used_bytes: Optional[pulumi.Input[int]] = None,
141
+ volume_name: Optional[pulumi.Input[str]] = None):
142
+ """
143
+ Input properties used for looking up and filtering VolumeSnapshot resources.
144
+ :param pulumi.Input[str] description: Description for the snapshot.
145
+ :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.
146
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
147
+
148
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
149
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
150
+ :param pulumi.Input[str] location: Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
151
+ :param pulumi.Input[str] name: The name of the snapshot.
152
+
153
+
154
+ - - -
155
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
156
+ If it is not provided, the provider project is used.
157
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
158
+ and default labels configured on the provider.
159
+ :param pulumi.Input[int] used_bytes: Storage used to store blocks unique to this snapshot.
160
+ :param pulumi.Input[str] volume_name: The name of the volume to create the snapshot in.
161
+ """
162
+ if description is not None:
163
+ pulumi.set(__self__, "description", description)
164
+ if effective_labels is not None:
165
+ pulumi.set(__self__, "effective_labels", effective_labels)
166
+ if labels is not None:
167
+ pulumi.set(__self__, "labels", labels)
168
+ if location is not None:
169
+ pulumi.set(__self__, "location", location)
170
+ if name is not None:
171
+ pulumi.set(__self__, "name", name)
172
+ if project is not None:
173
+ pulumi.set(__self__, "project", project)
174
+ if pulumi_labels is not None:
175
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
176
+ if used_bytes is not None:
177
+ pulumi.set(__self__, "used_bytes", used_bytes)
178
+ if volume_name is not None:
179
+ pulumi.set(__self__, "volume_name", volume_name)
180
+
181
+ @property
182
+ @pulumi.getter
183
+ def description(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ Description for the snapshot.
186
+ """
187
+ return pulumi.get(self, "description")
188
+
189
+ @description.setter
190
+ def description(self, value: Optional[pulumi.Input[str]]):
191
+ pulumi.set(self, "description", value)
192
+
193
+ @property
194
+ @pulumi.getter(name="effectiveLabels")
195
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
196
+ """
197
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
198
+ """
199
+ return pulumi.get(self, "effective_labels")
200
+
201
+ @effective_labels.setter
202
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
203
+ pulumi.set(self, "effective_labels", value)
204
+
205
+ @property
206
+ @pulumi.getter
207
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
208
+ """
209
+ Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
210
+
211
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
212
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
213
+ """
214
+ return pulumi.get(self, "labels")
215
+
216
+ @labels.setter
217
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
218
+ pulumi.set(self, "labels", value)
219
+
220
+ @property
221
+ @pulumi.getter
222
+ def location(self) -> Optional[pulumi.Input[str]]:
223
+ """
224
+ Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
225
+ """
226
+ return pulumi.get(self, "location")
227
+
228
+ @location.setter
229
+ def location(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "location", value)
231
+
232
+ @property
233
+ @pulumi.getter
234
+ def name(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ The name of the snapshot.
237
+
238
+
239
+ - - -
240
+ """
241
+ return pulumi.get(self, "name")
242
+
243
+ @name.setter
244
+ def name(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "name", value)
246
+
247
+ @property
248
+ @pulumi.getter
249
+ def project(self) -> Optional[pulumi.Input[str]]:
250
+ """
251
+ The ID of the project in which the resource belongs.
252
+ If it is not provided, the provider project is used.
253
+ """
254
+ return pulumi.get(self, "project")
255
+
256
+ @project.setter
257
+ def project(self, value: Optional[pulumi.Input[str]]):
258
+ pulumi.set(self, "project", value)
259
+
260
+ @property
261
+ @pulumi.getter(name="pulumiLabels")
262
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
263
+ """
264
+ The combination of labels configured directly on the resource
265
+ and default labels configured on the provider.
266
+ """
267
+ return pulumi.get(self, "pulumi_labels")
268
+
269
+ @pulumi_labels.setter
270
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
271
+ pulumi.set(self, "pulumi_labels", value)
272
+
273
+ @property
274
+ @pulumi.getter(name="usedBytes")
275
+ def used_bytes(self) -> Optional[pulumi.Input[int]]:
276
+ """
277
+ Storage used to store blocks unique to this snapshot.
278
+ """
279
+ return pulumi.get(self, "used_bytes")
280
+
281
+ @used_bytes.setter
282
+ def used_bytes(self, value: Optional[pulumi.Input[int]]):
283
+ pulumi.set(self, "used_bytes", value)
284
+
285
+ @property
286
+ @pulumi.getter(name="volumeName")
287
+ def volume_name(self) -> Optional[pulumi.Input[str]]:
288
+ """
289
+ The name of the volume to create the snapshot in.
290
+ """
291
+ return pulumi.get(self, "volume_name")
292
+
293
+ @volume_name.setter
294
+ def volume_name(self, value: Optional[pulumi.Input[str]]):
295
+ pulumi.set(self, "volume_name", value)
296
+
297
+
298
+ class VolumeSnapshot(pulumi.CustomResource):
299
+ @overload
300
+ def __init__(__self__,
301
+ resource_name: str,
302
+ opts: Optional[pulumi.ResourceOptions] = None,
303
+ description: Optional[pulumi.Input[str]] = None,
304
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
305
+ location: Optional[pulumi.Input[str]] = None,
306
+ name: Optional[pulumi.Input[str]] = None,
307
+ project: Optional[pulumi.Input[str]] = None,
308
+ volume_name: Optional[pulumi.Input[str]] = None,
309
+ __props__=None):
310
+ """
311
+ NetApp Volumes helps you manage your data usage with snapshots that can quickly restore lost data.
312
+ Snapshots are point-in-time versions of your volume's content. They are resources of volumes and are
313
+ instant captures of your data that consume space only for modified data. Because data changes over
314
+ time, snapshots usually consume more space as they get older.
315
+ NetApp Volumes volumes use just-in-time copy-on-write so that unmodified files in snapshots don't
316
+ consume any of the volume's capacity.
317
+
318
+ To get more information about VolumeSnapshot, see:
319
+
320
+ * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes.snapshots)
321
+ * How-to Guides
322
+ * [Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/volume-snapshots/overview)
323
+
324
+ ## Example Usage
325
+ ### Volume Snapshot Create
326
+
327
+ ```python
328
+ import pulumi
329
+ import pulumi_gcp as gcp
330
+
331
+ default_network = gcp.compute.get_network(name="test-network")
332
+ default_storage_pool = gcp.netapp.StoragePool("defaultStoragePool",
333
+ location="us-west2",
334
+ service_level="PREMIUM",
335
+ capacity_gib="2048",
336
+ network=default_network.id)
337
+ default_volume = gcp.netapp.Volume("defaultVolume",
338
+ location=default_storage_pool.location,
339
+ capacity_gib="100",
340
+ share_name="test-volume",
341
+ storage_pool=default_storage_pool.name,
342
+ protocols=["NFSV3"])
343
+ test_snapshot = gcp.netapp.VolumeSnapshot("testSnapshot",
344
+ location=default_volume.location,
345
+ volume_name=default_volume.name,
346
+ opts=pulumi.ResourceOptions(depends_on=[default_volume]))
347
+ ```
348
+
349
+ ## Import
350
+
351
+ VolumeSnapshot can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}` * `{{project}}/{{location}}/{{volume_name}}/{{name}}` * `{{location}}/{{volume_name}}/{{name}}` When using the `pulumi import` command, VolumeSnapshot can be imported using one of the formats above. For example
352
+
353
+ ```sh
354
+ $ pulumi import gcp:netapp/volumeSnapshot:VolumeSnapshot default projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}
355
+ ```
356
+
357
+ ```sh
358
+ $ pulumi import gcp:netapp/volumeSnapshot:VolumeSnapshot default {{project}}/{{location}}/{{volume_name}}/{{name}}
359
+ ```
360
+
361
+ ```sh
362
+ $ pulumi import gcp:netapp/volumeSnapshot:VolumeSnapshot default {{location}}/{{volume_name}}/{{name}}
363
+ ```
364
+
365
+ :param str resource_name: The name of the resource.
366
+ :param pulumi.ResourceOptions opts: Options for the resource.
367
+ :param pulumi.Input[str] description: Description for the snapshot.
368
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
369
+
370
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
371
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
372
+ :param pulumi.Input[str] location: Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
373
+ :param pulumi.Input[str] name: The name of the snapshot.
374
+
375
+
376
+ - - -
377
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
378
+ If it is not provided, the provider project is used.
379
+ :param pulumi.Input[str] volume_name: The name of the volume to create the snapshot in.
380
+ """
381
+ ...
382
+ @overload
383
+ def __init__(__self__,
384
+ resource_name: str,
385
+ args: VolumeSnapshotArgs,
386
+ opts: Optional[pulumi.ResourceOptions] = None):
387
+ """
388
+ NetApp Volumes helps you manage your data usage with snapshots that can quickly restore lost data.
389
+ Snapshots are point-in-time versions of your volume's content. They are resources of volumes and are
390
+ instant captures of your data that consume space only for modified data. Because data changes over
391
+ time, snapshots usually consume more space as they get older.
392
+ NetApp Volumes volumes use just-in-time copy-on-write so that unmodified files in snapshots don't
393
+ consume any of the volume's capacity.
394
+
395
+ To get more information about VolumeSnapshot, see:
396
+
397
+ * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes.snapshots)
398
+ * How-to Guides
399
+ * [Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/volume-snapshots/overview)
400
+
401
+ ## Example Usage
402
+ ### Volume Snapshot Create
403
+
404
+ ```python
405
+ import pulumi
406
+ import pulumi_gcp as gcp
407
+
408
+ default_network = gcp.compute.get_network(name="test-network")
409
+ default_storage_pool = gcp.netapp.StoragePool("defaultStoragePool",
410
+ location="us-west2",
411
+ service_level="PREMIUM",
412
+ capacity_gib="2048",
413
+ network=default_network.id)
414
+ default_volume = gcp.netapp.Volume("defaultVolume",
415
+ location=default_storage_pool.location,
416
+ capacity_gib="100",
417
+ share_name="test-volume",
418
+ storage_pool=default_storage_pool.name,
419
+ protocols=["NFSV3"])
420
+ test_snapshot = gcp.netapp.VolumeSnapshot("testSnapshot",
421
+ location=default_volume.location,
422
+ volume_name=default_volume.name,
423
+ opts=pulumi.ResourceOptions(depends_on=[default_volume]))
424
+ ```
425
+
426
+ ## Import
427
+
428
+ VolumeSnapshot can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}` * `{{project}}/{{location}}/{{volume_name}}/{{name}}` * `{{location}}/{{volume_name}}/{{name}}` When using the `pulumi import` command, VolumeSnapshot can be imported using one of the formats above. For example
429
+
430
+ ```sh
431
+ $ pulumi import gcp:netapp/volumeSnapshot:VolumeSnapshot default projects/{{project}}/locations/{{location}}/volumes/{{volume_name}}/snapshots/{{name}}
432
+ ```
433
+
434
+ ```sh
435
+ $ pulumi import gcp:netapp/volumeSnapshot:VolumeSnapshot default {{project}}/{{location}}/{{volume_name}}/{{name}}
436
+ ```
437
+
438
+ ```sh
439
+ $ pulumi import gcp:netapp/volumeSnapshot:VolumeSnapshot default {{location}}/{{volume_name}}/{{name}}
440
+ ```
441
+
442
+ :param str resource_name: The name of the resource.
443
+ :param VolumeSnapshotArgs args: The arguments to use to populate this resource's properties.
444
+ :param pulumi.ResourceOptions opts: Options for the resource.
445
+ """
446
+ ...
447
+ def __init__(__self__, resource_name: str, *args, **kwargs):
448
+ resource_args, opts = _utilities.get_resource_args_opts(VolumeSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs)
449
+ if resource_args is not None:
450
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
451
+ else:
452
+ __self__._internal_init(resource_name, *args, **kwargs)
453
+
454
+ def _internal_init(__self__,
455
+ resource_name: str,
456
+ opts: Optional[pulumi.ResourceOptions] = None,
457
+ description: Optional[pulumi.Input[str]] = None,
458
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
459
+ location: Optional[pulumi.Input[str]] = None,
460
+ name: Optional[pulumi.Input[str]] = None,
461
+ project: Optional[pulumi.Input[str]] = None,
462
+ volume_name: Optional[pulumi.Input[str]] = None,
463
+ __props__=None):
464
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
465
+ if not isinstance(opts, pulumi.ResourceOptions):
466
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
467
+ if opts.id is None:
468
+ if __props__ is not None:
469
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
470
+ __props__ = VolumeSnapshotArgs.__new__(VolumeSnapshotArgs)
471
+
472
+ __props__.__dict__["description"] = description
473
+ __props__.__dict__["labels"] = labels
474
+ if location is None and not opts.urn:
475
+ raise TypeError("Missing required property 'location'")
476
+ __props__.__dict__["location"] = location
477
+ __props__.__dict__["name"] = name
478
+ __props__.__dict__["project"] = project
479
+ if volume_name is None and not opts.urn:
480
+ raise TypeError("Missing required property 'volume_name'")
481
+ __props__.__dict__["volume_name"] = volume_name
482
+ __props__.__dict__["effective_labels"] = None
483
+ __props__.__dict__["pulumi_labels"] = None
484
+ __props__.__dict__["used_bytes"] = None
485
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
486
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
487
+ super(VolumeSnapshot, __self__).__init__(
488
+ 'gcp:netapp/volumeSnapshot:VolumeSnapshot',
489
+ resource_name,
490
+ __props__,
491
+ opts)
492
+
493
+ @staticmethod
494
+ def get(resource_name: str,
495
+ id: pulumi.Input[str],
496
+ opts: Optional[pulumi.ResourceOptions] = None,
497
+ description: Optional[pulumi.Input[str]] = None,
498
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
499
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
500
+ location: Optional[pulumi.Input[str]] = None,
501
+ name: Optional[pulumi.Input[str]] = None,
502
+ project: Optional[pulumi.Input[str]] = None,
503
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
504
+ used_bytes: Optional[pulumi.Input[int]] = None,
505
+ volume_name: Optional[pulumi.Input[str]] = None) -> 'VolumeSnapshot':
506
+ """
507
+ Get an existing VolumeSnapshot resource's state with the given name, id, and optional extra
508
+ properties used to qualify the lookup.
509
+
510
+ :param str resource_name: The unique name of the resulting resource.
511
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
512
+ :param pulumi.ResourceOptions opts: Options for the resource.
513
+ :param pulumi.Input[str] description: Description for the snapshot.
514
+ :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.
515
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
516
+
517
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
518
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
519
+ :param pulumi.Input[str] location: Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
520
+ :param pulumi.Input[str] name: The name of the snapshot.
521
+
522
+
523
+ - - -
524
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
525
+ If it is not provided, the provider project is used.
526
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
527
+ and default labels configured on the provider.
528
+ :param pulumi.Input[int] used_bytes: Storage used to store blocks unique to this snapshot.
529
+ :param pulumi.Input[str] volume_name: The name of the volume to create the snapshot in.
530
+ """
531
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
532
+
533
+ __props__ = _VolumeSnapshotState.__new__(_VolumeSnapshotState)
534
+
535
+ __props__.__dict__["description"] = description
536
+ __props__.__dict__["effective_labels"] = effective_labels
537
+ __props__.__dict__["labels"] = labels
538
+ __props__.__dict__["location"] = location
539
+ __props__.__dict__["name"] = name
540
+ __props__.__dict__["project"] = project
541
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
542
+ __props__.__dict__["used_bytes"] = used_bytes
543
+ __props__.__dict__["volume_name"] = volume_name
544
+ return VolumeSnapshot(resource_name, opts=opts, __props__=__props__)
545
+
546
+ @property
547
+ @pulumi.getter
548
+ def description(self) -> pulumi.Output[Optional[str]]:
549
+ """
550
+ Description for the snapshot.
551
+ """
552
+ return pulumi.get(self, "description")
553
+
554
+ @property
555
+ @pulumi.getter(name="effectiveLabels")
556
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
557
+ """
558
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
559
+ """
560
+ return pulumi.get(self, "effective_labels")
561
+
562
+ @property
563
+ @pulumi.getter
564
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
565
+ """
566
+ Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
567
+
568
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
569
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
570
+ """
571
+ return pulumi.get(self, "labels")
572
+
573
+ @property
574
+ @pulumi.getter
575
+ def location(self) -> pulumi.Output[str]:
576
+ """
577
+ Name of the snapshot location. Snapshots are child resources of volumes and live in the same location.
578
+ """
579
+ return pulumi.get(self, "location")
580
+
581
+ @property
582
+ @pulumi.getter
583
+ def name(self) -> pulumi.Output[str]:
584
+ """
585
+ The name of the snapshot.
586
+
587
+
588
+ - - -
589
+ """
590
+ return pulumi.get(self, "name")
591
+
592
+ @property
593
+ @pulumi.getter
594
+ def project(self) -> pulumi.Output[str]:
595
+ """
596
+ The ID of the project in which the resource belongs.
597
+ If it is not provided, the provider project is used.
598
+ """
599
+ return pulumi.get(self, "project")
600
+
601
+ @property
602
+ @pulumi.getter(name="pulumiLabels")
603
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
604
+ """
605
+ The combination of labels configured directly on the resource
606
+ and default labels configured on the provider.
607
+ """
608
+ return pulumi.get(self, "pulumi_labels")
609
+
610
+ @property
611
+ @pulumi.getter(name="usedBytes")
612
+ def used_bytes(self) -> pulumi.Output[int]:
613
+ """
614
+ Storage used to store blocks unique to this snapshot.
615
+ """
616
+ return pulumi.get(self, "used_bytes")
617
+
618
+ @property
619
+ @pulumi.getter(name="volumeName")
620
+ def volume_name(self) -> pulumi.Output[str]:
621
+ """
622
+ The name of the volume to create the snapshot in.
623
+ """
624
+ return pulumi.get(self, "volume_name")
625
+