pulumi-gcp 8.21.0a1741156431__py3-none-any.whl → 8.21.0a1741183435__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 +64 -0
- pulumi_gcp/alloydb/cluster.py +148 -0
- pulumi_gcp/alloydb/instance.py +28 -28
- pulumi_gcp/apihub/__init__.py +1 -0
- pulumi_gcp/apihub/host_project_registration.py +535 -0
- pulumi_gcp/bigquery/table.py +1 -1
- pulumi_gcp/compute/__init__.py +5 -0
- pulumi_gcp/compute/_inputs.py +770 -0
- pulumi_gcp/compute/backend_service.py +14 -7
- pulumi_gcp/compute/ca_external_account_key.py +48 -3
- pulumi_gcp/compute/disk.py +295 -0
- pulumi_gcp/compute/get_disk.py +56 -1
- pulumi_gcp/compute/get_instant_snapshot_iam_policy.py +182 -0
- pulumi_gcp/compute/instant_snapshot.py +796 -0
- pulumi_gcp/compute/instant_snapshot_iam_binding.py +1087 -0
- pulumi_gcp/compute/instant_snapshot_iam_member.py +1087 -0
- pulumi_gcp/compute/instant_snapshot_iam_policy.py +906 -0
- pulumi_gcp/compute/outputs.py +1329 -6
- pulumi_gcp/compute/region_backend_service.py +14 -7
- pulumi_gcp/compute/route.py +228 -2
- pulumi_gcp/compute/url_map.py +8 -0
- pulumi_gcp/container/_inputs.py +3 -3
- pulumi_gcp/container/outputs.py +4 -4
- pulumi_gcp/datacatalog/entry.py +4 -0
- pulumi_gcp/datacatalog/tag.py +4 -0
- pulumi_gcp/dataproc/_inputs.py +12 -15
- pulumi_gcp/dataproc/outputs.py +8 -10
- pulumi_gcp/discoveryengine/target_site.py +4 -4
- pulumi_gcp/eventarc/__init__.py +1 -0
- pulumi_gcp/eventarc/_inputs.py +40 -0
- pulumi_gcp/eventarc/message_bus.py +927 -0
- pulumi_gcp/eventarc/outputs.py +41 -0
- pulumi_gcp/gemini/__init__.py +1 -0
- pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +20 -8
- pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +6 -0
- pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +734 -0
- pulumi_gcp/gemini/logging_setting_binding.py +7 -7
- pulumi_gcp/iam/_inputs.py +33 -9
- pulumi_gcp/iam/outputs.py +22 -6
- pulumi_gcp/iam/workforce_pool_provider.py +2 -2
- pulumi_gcp/memorystore/__init__.py +1 -0
- pulumi_gcp/memorystore/get_instance.py +425 -0
- pulumi_gcp/memorystore/outputs.py +582 -0
- pulumi_gcp/networkconnectivity/hub.py +84 -0
- pulumi_gcp/networkservices/grpc_route.py +116 -12
- pulumi_gcp/notebooks/location.py +4 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/storage/__init__.py +1 -0
- pulumi_gcp/storage/_inputs.py +74 -0
- pulumi_gcp/storage/anywhere_cache.py +552 -0
- pulumi_gcp/storage/outputs.py +65 -0
- pulumi_gcp/storage/transfer_job.py +67 -0
- {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/RECORD +56 -46
- {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,796 @@
|
|
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__ = ['InstantSnapshotArgs', 'InstantSnapshot']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class InstantSnapshotArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
source_disk: pulumi.Input[str],
|
23
|
+
description: Optional[pulumi.Input[str]] = None,
|
24
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
25
|
+
name: Optional[pulumi.Input[str]] = None,
|
26
|
+
project: Optional[pulumi.Input[str]] = None,
|
27
|
+
zone: Optional[pulumi.Input[str]] = None):
|
28
|
+
"""
|
29
|
+
The set of arguments for constructing a InstantSnapshot resource.
|
30
|
+
:param pulumi.Input[str] source_disk: A reference to the disk used to create this instant snapshot.
|
31
|
+
|
32
|
+
|
33
|
+
- - -
|
34
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
35
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to apply to this InstantSnapshot.
|
36
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
37
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
38
|
+
:param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is
|
39
|
+
created. The name must be 1-63 characters long, and comply with
|
40
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
41
|
+
the regular expression `a-z?` which means the
|
42
|
+
first character must be a lowercase letter, and all following
|
43
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
44
|
+
character, which cannot be a dash.
|
45
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
46
|
+
If it is not provided, the provider project is used.
|
47
|
+
:param pulumi.Input[str] zone: A reference to the zone where the disk is located.
|
48
|
+
"""
|
49
|
+
pulumi.set(__self__, "source_disk", source_disk)
|
50
|
+
if description is not None:
|
51
|
+
pulumi.set(__self__, "description", description)
|
52
|
+
if labels is not None:
|
53
|
+
pulumi.set(__self__, "labels", labels)
|
54
|
+
if name is not None:
|
55
|
+
pulumi.set(__self__, "name", name)
|
56
|
+
if project is not None:
|
57
|
+
pulumi.set(__self__, "project", project)
|
58
|
+
if zone is not None:
|
59
|
+
pulumi.set(__self__, "zone", zone)
|
60
|
+
|
61
|
+
@property
|
62
|
+
@pulumi.getter(name="sourceDisk")
|
63
|
+
def source_disk(self) -> pulumi.Input[str]:
|
64
|
+
"""
|
65
|
+
A reference to the disk used to create this instant snapshot.
|
66
|
+
|
67
|
+
|
68
|
+
- - -
|
69
|
+
"""
|
70
|
+
return pulumi.get(self, "source_disk")
|
71
|
+
|
72
|
+
@source_disk.setter
|
73
|
+
def source_disk(self, value: pulumi.Input[str]):
|
74
|
+
pulumi.set(self, "source_disk", value)
|
75
|
+
|
76
|
+
@property
|
77
|
+
@pulumi.getter
|
78
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
79
|
+
"""
|
80
|
+
An optional description of this resource.
|
81
|
+
"""
|
82
|
+
return pulumi.get(self, "description")
|
83
|
+
|
84
|
+
@description.setter
|
85
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
86
|
+
pulumi.set(self, "description", value)
|
87
|
+
|
88
|
+
@property
|
89
|
+
@pulumi.getter
|
90
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
91
|
+
"""
|
92
|
+
Labels to apply to this InstantSnapshot.
|
93
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
94
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
95
|
+
"""
|
96
|
+
return pulumi.get(self, "labels")
|
97
|
+
|
98
|
+
@labels.setter
|
99
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
100
|
+
pulumi.set(self, "labels", value)
|
101
|
+
|
102
|
+
@property
|
103
|
+
@pulumi.getter
|
104
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
105
|
+
"""
|
106
|
+
Name of the resource; provided by the client when the resource is
|
107
|
+
created. The name must be 1-63 characters long, and comply with
|
108
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
109
|
+
the regular expression `a-z?` which means the
|
110
|
+
first character must be a lowercase letter, and all following
|
111
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
112
|
+
character, which cannot be a dash.
|
113
|
+
"""
|
114
|
+
return pulumi.get(self, "name")
|
115
|
+
|
116
|
+
@name.setter
|
117
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
118
|
+
pulumi.set(self, "name", value)
|
119
|
+
|
120
|
+
@property
|
121
|
+
@pulumi.getter
|
122
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
123
|
+
"""
|
124
|
+
The ID of the project in which the resource belongs.
|
125
|
+
If it is not provided, the provider project is used.
|
126
|
+
"""
|
127
|
+
return pulumi.get(self, "project")
|
128
|
+
|
129
|
+
@project.setter
|
130
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
131
|
+
pulumi.set(self, "project", value)
|
132
|
+
|
133
|
+
@property
|
134
|
+
@pulumi.getter
|
135
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
136
|
+
"""
|
137
|
+
A reference to the zone where the disk is located.
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "zone")
|
140
|
+
|
141
|
+
@zone.setter
|
142
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
143
|
+
pulumi.set(self, "zone", value)
|
144
|
+
|
145
|
+
|
146
|
+
@pulumi.input_type
|
147
|
+
class _InstantSnapshotState:
|
148
|
+
def __init__(__self__, *,
|
149
|
+
creation_timestamp: Optional[pulumi.Input[str]] = None,
|
150
|
+
description: Optional[pulumi.Input[str]] = None,
|
151
|
+
disk_size_gb: Optional[pulumi.Input[int]] = None,
|
152
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
153
|
+
label_fingerprint: Optional[pulumi.Input[str]] = None,
|
154
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
155
|
+
name: Optional[pulumi.Input[str]] = None,
|
156
|
+
project: Optional[pulumi.Input[str]] = None,
|
157
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
158
|
+
self_link: Optional[pulumi.Input[str]] = None,
|
159
|
+
source_disk: Optional[pulumi.Input[str]] = None,
|
160
|
+
source_disk_id: Optional[pulumi.Input[str]] = None,
|
161
|
+
zone: Optional[pulumi.Input[str]] = None):
|
162
|
+
"""
|
163
|
+
Input properties used for looking up and filtering InstantSnapshot resources.
|
164
|
+
:param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
|
165
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
166
|
+
:param pulumi.Input[int] disk_size_gb: Size of the snapshot, specified in GB.
|
167
|
+
: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.
|
168
|
+
:param pulumi.Input[str] label_fingerprint: The fingerprint used for optimistic locking of this resource. Used
|
169
|
+
internally during updates.
|
170
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to apply to this InstantSnapshot.
|
171
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
172
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
173
|
+
:param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is
|
174
|
+
created. The name must be 1-63 characters long, and comply with
|
175
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
176
|
+
the regular expression `a-z?` which means the
|
177
|
+
first character must be a lowercase letter, and all following
|
178
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
179
|
+
character, which cannot be a dash.
|
180
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
181
|
+
If it is not provided, the provider project is used.
|
182
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
183
|
+
and default labels configured on the provider.
|
184
|
+
:param pulumi.Input[str] self_link: The URI of the created resource.
|
185
|
+
:param pulumi.Input[str] source_disk: A reference to the disk used to create this instant snapshot.
|
186
|
+
|
187
|
+
|
188
|
+
- - -
|
189
|
+
:param pulumi.Input[str] source_disk_id: The ID value of the disk used to create this InstantSnapshot.
|
190
|
+
:param pulumi.Input[str] zone: A reference to the zone where the disk is located.
|
191
|
+
"""
|
192
|
+
if creation_timestamp is not None:
|
193
|
+
pulumi.set(__self__, "creation_timestamp", creation_timestamp)
|
194
|
+
if description is not None:
|
195
|
+
pulumi.set(__self__, "description", description)
|
196
|
+
if disk_size_gb is not None:
|
197
|
+
pulumi.set(__self__, "disk_size_gb", disk_size_gb)
|
198
|
+
if effective_labels is not None:
|
199
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
200
|
+
if label_fingerprint is not None:
|
201
|
+
pulumi.set(__self__, "label_fingerprint", label_fingerprint)
|
202
|
+
if labels is not None:
|
203
|
+
pulumi.set(__self__, "labels", labels)
|
204
|
+
if name is not None:
|
205
|
+
pulumi.set(__self__, "name", name)
|
206
|
+
if project is not None:
|
207
|
+
pulumi.set(__self__, "project", project)
|
208
|
+
if pulumi_labels is not None:
|
209
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
210
|
+
if self_link is not None:
|
211
|
+
pulumi.set(__self__, "self_link", self_link)
|
212
|
+
if source_disk is not None:
|
213
|
+
pulumi.set(__self__, "source_disk", source_disk)
|
214
|
+
if source_disk_id is not None:
|
215
|
+
pulumi.set(__self__, "source_disk_id", source_disk_id)
|
216
|
+
if zone is not None:
|
217
|
+
pulumi.set(__self__, "zone", zone)
|
218
|
+
|
219
|
+
@property
|
220
|
+
@pulumi.getter(name="creationTimestamp")
|
221
|
+
def creation_timestamp(self) -> Optional[pulumi.Input[str]]:
|
222
|
+
"""
|
223
|
+
Creation timestamp in RFC3339 text format.
|
224
|
+
"""
|
225
|
+
return pulumi.get(self, "creation_timestamp")
|
226
|
+
|
227
|
+
@creation_timestamp.setter
|
228
|
+
def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
|
229
|
+
pulumi.set(self, "creation_timestamp", value)
|
230
|
+
|
231
|
+
@property
|
232
|
+
@pulumi.getter
|
233
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
234
|
+
"""
|
235
|
+
An optional description of this resource.
|
236
|
+
"""
|
237
|
+
return pulumi.get(self, "description")
|
238
|
+
|
239
|
+
@description.setter
|
240
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
241
|
+
pulumi.set(self, "description", value)
|
242
|
+
|
243
|
+
@property
|
244
|
+
@pulumi.getter(name="diskSizeGb")
|
245
|
+
def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
|
246
|
+
"""
|
247
|
+
Size of the snapshot, specified in GB.
|
248
|
+
"""
|
249
|
+
return pulumi.get(self, "disk_size_gb")
|
250
|
+
|
251
|
+
@disk_size_gb.setter
|
252
|
+
def disk_size_gb(self, value: Optional[pulumi.Input[int]]):
|
253
|
+
pulumi.set(self, "disk_size_gb", value)
|
254
|
+
|
255
|
+
@property
|
256
|
+
@pulumi.getter(name="effectiveLabels")
|
257
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
258
|
+
"""
|
259
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
260
|
+
"""
|
261
|
+
return pulumi.get(self, "effective_labels")
|
262
|
+
|
263
|
+
@effective_labels.setter
|
264
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
265
|
+
pulumi.set(self, "effective_labels", value)
|
266
|
+
|
267
|
+
@property
|
268
|
+
@pulumi.getter(name="labelFingerprint")
|
269
|
+
def label_fingerprint(self) -> Optional[pulumi.Input[str]]:
|
270
|
+
"""
|
271
|
+
The fingerprint used for optimistic locking of this resource. Used
|
272
|
+
internally during updates.
|
273
|
+
"""
|
274
|
+
return pulumi.get(self, "label_fingerprint")
|
275
|
+
|
276
|
+
@label_fingerprint.setter
|
277
|
+
def label_fingerprint(self, value: Optional[pulumi.Input[str]]):
|
278
|
+
pulumi.set(self, "label_fingerprint", value)
|
279
|
+
|
280
|
+
@property
|
281
|
+
@pulumi.getter
|
282
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
283
|
+
"""
|
284
|
+
Labels to apply to this InstantSnapshot.
|
285
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
286
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
287
|
+
"""
|
288
|
+
return pulumi.get(self, "labels")
|
289
|
+
|
290
|
+
@labels.setter
|
291
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
292
|
+
pulumi.set(self, "labels", value)
|
293
|
+
|
294
|
+
@property
|
295
|
+
@pulumi.getter
|
296
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
297
|
+
"""
|
298
|
+
Name of the resource; provided by the client when the resource is
|
299
|
+
created. The name must be 1-63 characters long, and comply with
|
300
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
301
|
+
the regular expression `a-z?` which means the
|
302
|
+
first character must be a lowercase letter, and all following
|
303
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
304
|
+
character, which cannot be a dash.
|
305
|
+
"""
|
306
|
+
return pulumi.get(self, "name")
|
307
|
+
|
308
|
+
@name.setter
|
309
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
310
|
+
pulumi.set(self, "name", value)
|
311
|
+
|
312
|
+
@property
|
313
|
+
@pulumi.getter
|
314
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
315
|
+
"""
|
316
|
+
The ID of the project in which the resource belongs.
|
317
|
+
If it is not provided, the provider project is used.
|
318
|
+
"""
|
319
|
+
return pulumi.get(self, "project")
|
320
|
+
|
321
|
+
@project.setter
|
322
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
323
|
+
pulumi.set(self, "project", value)
|
324
|
+
|
325
|
+
@property
|
326
|
+
@pulumi.getter(name="pulumiLabels")
|
327
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
328
|
+
"""
|
329
|
+
The combination of labels configured directly on the resource
|
330
|
+
and default labels configured on the provider.
|
331
|
+
"""
|
332
|
+
return pulumi.get(self, "pulumi_labels")
|
333
|
+
|
334
|
+
@pulumi_labels.setter
|
335
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
336
|
+
pulumi.set(self, "pulumi_labels", value)
|
337
|
+
|
338
|
+
@property
|
339
|
+
@pulumi.getter(name="selfLink")
|
340
|
+
def self_link(self) -> Optional[pulumi.Input[str]]:
|
341
|
+
"""
|
342
|
+
The URI of the created resource.
|
343
|
+
"""
|
344
|
+
return pulumi.get(self, "self_link")
|
345
|
+
|
346
|
+
@self_link.setter
|
347
|
+
def self_link(self, value: Optional[pulumi.Input[str]]):
|
348
|
+
pulumi.set(self, "self_link", value)
|
349
|
+
|
350
|
+
@property
|
351
|
+
@pulumi.getter(name="sourceDisk")
|
352
|
+
def source_disk(self) -> Optional[pulumi.Input[str]]:
|
353
|
+
"""
|
354
|
+
A reference to the disk used to create this instant snapshot.
|
355
|
+
|
356
|
+
|
357
|
+
- - -
|
358
|
+
"""
|
359
|
+
return pulumi.get(self, "source_disk")
|
360
|
+
|
361
|
+
@source_disk.setter
|
362
|
+
def source_disk(self, value: Optional[pulumi.Input[str]]):
|
363
|
+
pulumi.set(self, "source_disk", value)
|
364
|
+
|
365
|
+
@property
|
366
|
+
@pulumi.getter(name="sourceDiskId")
|
367
|
+
def source_disk_id(self) -> Optional[pulumi.Input[str]]:
|
368
|
+
"""
|
369
|
+
The ID value of the disk used to create this InstantSnapshot.
|
370
|
+
"""
|
371
|
+
return pulumi.get(self, "source_disk_id")
|
372
|
+
|
373
|
+
@source_disk_id.setter
|
374
|
+
def source_disk_id(self, value: Optional[pulumi.Input[str]]):
|
375
|
+
pulumi.set(self, "source_disk_id", value)
|
376
|
+
|
377
|
+
@property
|
378
|
+
@pulumi.getter
|
379
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
380
|
+
"""
|
381
|
+
A reference to the zone where the disk is located.
|
382
|
+
"""
|
383
|
+
return pulumi.get(self, "zone")
|
384
|
+
|
385
|
+
@zone.setter
|
386
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
387
|
+
pulumi.set(self, "zone", value)
|
388
|
+
|
389
|
+
|
390
|
+
class InstantSnapshot(pulumi.CustomResource):
|
391
|
+
@overload
|
392
|
+
def __init__(__self__,
|
393
|
+
resource_name: str,
|
394
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
395
|
+
description: Optional[pulumi.Input[str]] = None,
|
396
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
397
|
+
name: Optional[pulumi.Input[str]] = None,
|
398
|
+
project: Optional[pulumi.Input[str]] = None,
|
399
|
+
source_disk: Optional[pulumi.Input[str]] = None,
|
400
|
+
zone: Optional[pulumi.Input[str]] = None,
|
401
|
+
__props__=None):
|
402
|
+
"""
|
403
|
+
Represents an instant snapshot resource.
|
404
|
+
|
405
|
+
An instant snapshot is an in-place backup of a disk that can be used to rapidly create a new disk in minutes.
|
406
|
+
|
407
|
+
Instant snapshots capture data at a specific point in time. They are optimized for rapidly restoring captured
|
408
|
+
data to a new disk. Use instant snapshots to quickly recover data in cases where the zone and disk are still intact
|
409
|
+
but the data on the disk has been lost or corrupted
|
410
|
+
|
411
|
+
To get more information about InstantSnapshot, see:
|
412
|
+
|
413
|
+
* [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/instantSnapshots)
|
414
|
+
* How-to Guides
|
415
|
+
* [Official Documentation](https://cloud.google.com/compute/docs/disks/instant-snapshots)
|
416
|
+
|
417
|
+
## Example Usage
|
418
|
+
|
419
|
+
### Instant Snapshot Basic
|
420
|
+
|
421
|
+
```python
|
422
|
+
import pulumi
|
423
|
+
import pulumi_gcp as gcp
|
424
|
+
|
425
|
+
foo = gcp.compute.Disk("foo",
|
426
|
+
name="example-disk",
|
427
|
+
type="pd-ssd",
|
428
|
+
size=10)
|
429
|
+
default = gcp.compute.InstantSnapshot("default",
|
430
|
+
name="instant-snapshot",
|
431
|
+
zone="us-central1-a",
|
432
|
+
source_disk=foo.self_link)
|
433
|
+
```
|
434
|
+
|
435
|
+
## Import
|
436
|
+
|
437
|
+
InstantSnapshot can be imported using any of these accepted formats:
|
438
|
+
|
439
|
+
* `projects/{{project}}/zones/{{zone}}/instantSnapshots/{{name}}`
|
440
|
+
|
441
|
+
* `{{project}}/{{zone}}/{{name}}`
|
442
|
+
|
443
|
+
* `{{zone}}/{{name}}`
|
444
|
+
|
445
|
+
* `{{name}}`
|
446
|
+
|
447
|
+
When using the `pulumi import` command, InstantSnapshot can be imported using one of the formats above. For example:
|
448
|
+
|
449
|
+
```sh
|
450
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default projects/{{project}}/zones/{{zone}}/instantSnapshots/{{name}}
|
451
|
+
```
|
452
|
+
|
453
|
+
```sh
|
454
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default {{project}}/{{zone}}/{{name}}
|
455
|
+
```
|
456
|
+
|
457
|
+
```sh
|
458
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default {{zone}}/{{name}}
|
459
|
+
```
|
460
|
+
|
461
|
+
```sh
|
462
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default {{name}}
|
463
|
+
```
|
464
|
+
|
465
|
+
:param str resource_name: The name of the resource.
|
466
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
467
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
468
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to apply to this InstantSnapshot.
|
469
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
470
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
471
|
+
:param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is
|
472
|
+
created. The name must be 1-63 characters long, and comply with
|
473
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
474
|
+
the regular expression `a-z?` which means the
|
475
|
+
first character must be a lowercase letter, and all following
|
476
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
477
|
+
character, which cannot be a dash.
|
478
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
479
|
+
If it is not provided, the provider project is used.
|
480
|
+
:param pulumi.Input[str] source_disk: A reference to the disk used to create this instant snapshot.
|
481
|
+
|
482
|
+
|
483
|
+
- - -
|
484
|
+
:param pulumi.Input[str] zone: A reference to the zone where the disk is located.
|
485
|
+
"""
|
486
|
+
...
|
487
|
+
@overload
|
488
|
+
def __init__(__self__,
|
489
|
+
resource_name: str,
|
490
|
+
args: InstantSnapshotArgs,
|
491
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
492
|
+
"""
|
493
|
+
Represents an instant snapshot resource.
|
494
|
+
|
495
|
+
An instant snapshot is an in-place backup of a disk that can be used to rapidly create a new disk in minutes.
|
496
|
+
|
497
|
+
Instant snapshots capture data at a specific point in time. They are optimized for rapidly restoring captured
|
498
|
+
data to a new disk. Use instant snapshots to quickly recover data in cases where the zone and disk are still intact
|
499
|
+
but the data on the disk has been lost or corrupted
|
500
|
+
|
501
|
+
To get more information about InstantSnapshot, see:
|
502
|
+
|
503
|
+
* [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/instantSnapshots)
|
504
|
+
* How-to Guides
|
505
|
+
* [Official Documentation](https://cloud.google.com/compute/docs/disks/instant-snapshots)
|
506
|
+
|
507
|
+
## Example Usage
|
508
|
+
|
509
|
+
### Instant Snapshot Basic
|
510
|
+
|
511
|
+
```python
|
512
|
+
import pulumi
|
513
|
+
import pulumi_gcp as gcp
|
514
|
+
|
515
|
+
foo = gcp.compute.Disk("foo",
|
516
|
+
name="example-disk",
|
517
|
+
type="pd-ssd",
|
518
|
+
size=10)
|
519
|
+
default = gcp.compute.InstantSnapshot("default",
|
520
|
+
name="instant-snapshot",
|
521
|
+
zone="us-central1-a",
|
522
|
+
source_disk=foo.self_link)
|
523
|
+
```
|
524
|
+
|
525
|
+
## Import
|
526
|
+
|
527
|
+
InstantSnapshot can be imported using any of these accepted formats:
|
528
|
+
|
529
|
+
* `projects/{{project}}/zones/{{zone}}/instantSnapshots/{{name}}`
|
530
|
+
|
531
|
+
* `{{project}}/{{zone}}/{{name}}`
|
532
|
+
|
533
|
+
* `{{zone}}/{{name}}`
|
534
|
+
|
535
|
+
* `{{name}}`
|
536
|
+
|
537
|
+
When using the `pulumi import` command, InstantSnapshot can be imported using one of the formats above. For example:
|
538
|
+
|
539
|
+
```sh
|
540
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default projects/{{project}}/zones/{{zone}}/instantSnapshots/{{name}}
|
541
|
+
```
|
542
|
+
|
543
|
+
```sh
|
544
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default {{project}}/{{zone}}/{{name}}
|
545
|
+
```
|
546
|
+
|
547
|
+
```sh
|
548
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default {{zone}}/{{name}}
|
549
|
+
```
|
550
|
+
|
551
|
+
```sh
|
552
|
+
$ pulumi import gcp:compute/instantSnapshot:InstantSnapshot default {{name}}
|
553
|
+
```
|
554
|
+
|
555
|
+
:param str resource_name: The name of the resource.
|
556
|
+
:param InstantSnapshotArgs args: The arguments to use to populate this resource's properties.
|
557
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
558
|
+
"""
|
559
|
+
...
|
560
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
561
|
+
resource_args, opts = _utilities.get_resource_args_opts(InstantSnapshotArgs, pulumi.ResourceOptions, *args, **kwargs)
|
562
|
+
if resource_args is not None:
|
563
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
564
|
+
else:
|
565
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
566
|
+
|
567
|
+
def _internal_init(__self__,
|
568
|
+
resource_name: str,
|
569
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
570
|
+
description: Optional[pulumi.Input[str]] = None,
|
571
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
572
|
+
name: Optional[pulumi.Input[str]] = None,
|
573
|
+
project: Optional[pulumi.Input[str]] = None,
|
574
|
+
source_disk: Optional[pulumi.Input[str]] = None,
|
575
|
+
zone: Optional[pulumi.Input[str]] = None,
|
576
|
+
__props__=None):
|
577
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
578
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
579
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
580
|
+
if opts.id is None:
|
581
|
+
if __props__ is not None:
|
582
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
583
|
+
__props__ = InstantSnapshotArgs.__new__(InstantSnapshotArgs)
|
584
|
+
|
585
|
+
__props__.__dict__["description"] = description
|
586
|
+
__props__.__dict__["labels"] = labels
|
587
|
+
__props__.__dict__["name"] = name
|
588
|
+
__props__.__dict__["project"] = project
|
589
|
+
if source_disk is None and not opts.urn:
|
590
|
+
raise TypeError("Missing required property 'source_disk'")
|
591
|
+
__props__.__dict__["source_disk"] = source_disk
|
592
|
+
__props__.__dict__["zone"] = zone
|
593
|
+
__props__.__dict__["creation_timestamp"] = None
|
594
|
+
__props__.__dict__["disk_size_gb"] = None
|
595
|
+
__props__.__dict__["effective_labels"] = None
|
596
|
+
__props__.__dict__["label_fingerprint"] = None
|
597
|
+
__props__.__dict__["pulumi_labels"] = None
|
598
|
+
__props__.__dict__["self_link"] = None
|
599
|
+
__props__.__dict__["source_disk_id"] = None
|
600
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
601
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
602
|
+
super(InstantSnapshot, __self__).__init__(
|
603
|
+
'gcp:compute/instantSnapshot:InstantSnapshot',
|
604
|
+
resource_name,
|
605
|
+
__props__,
|
606
|
+
opts)
|
607
|
+
|
608
|
+
@staticmethod
|
609
|
+
def get(resource_name: str,
|
610
|
+
id: pulumi.Input[str],
|
611
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
612
|
+
creation_timestamp: Optional[pulumi.Input[str]] = None,
|
613
|
+
description: Optional[pulumi.Input[str]] = None,
|
614
|
+
disk_size_gb: Optional[pulumi.Input[int]] = None,
|
615
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
616
|
+
label_fingerprint: Optional[pulumi.Input[str]] = None,
|
617
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
618
|
+
name: Optional[pulumi.Input[str]] = None,
|
619
|
+
project: Optional[pulumi.Input[str]] = None,
|
620
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
621
|
+
self_link: Optional[pulumi.Input[str]] = None,
|
622
|
+
source_disk: Optional[pulumi.Input[str]] = None,
|
623
|
+
source_disk_id: Optional[pulumi.Input[str]] = None,
|
624
|
+
zone: Optional[pulumi.Input[str]] = None) -> 'InstantSnapshot':
|
625
|
+
"""
|
626
|
+
Get an existing InstantSnapshot resource's state with the given name, id, and optional extra
|
627
|
+
properties used to qualify the lookup.
|
628
|
+
|
629
|
+
:param str resource_name: The unique name of the resulting resource.
|
630
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
631
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
632
|
+
:param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
|
633
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
634
|
+
:param pulumi.Input[int] disk_size_gb: Size of the snapshot, specified in GB.
|
635
|
+
: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.
|
636
|
+
:param pulumi.Input[str] label_fingerprint: The fingerprint used for optimistic locking of this resource. Used
|
637
|
+
internally during updates.
|
638
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels to apply to this InstantSnapshot.
|
639
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
640
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
641
|
+
:param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is
|
642
|
+
created. The name must be 1-63 characters long, and comply with
|
643
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
644
|
+
the regular expression `a-z?` which means the
|
645
|
+
first character must be a lowercase letter, and all following
|
646
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
647
|
+
character, which cannot be a dash.
|
648
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
649
|
+
If it is not provided, the provider project is used.
|
650
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
651
|
+
and default labels configured on the provider.
|
652
|
+
:param pulumi.Input[str] self_link: The URI of the created resource.
|
653
|
+
:param pulumi.Input[str] source_disk: A reference to the disk used to create this instant snapshot.
|
654
|
+
|
655
|
+
|
656
|
+
- - -
|
657
|
+
:param pulumi.Input[str] source_disk_id: The ID value of the disk used to create this InstantSnapshot.
|
658
|
+
:param pulumi.Input[str] zone: A reference to the zone where the disk is located.
|
659
|
+
"""
|
660
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
661
|
+
|
662
|
+
__props__ = _InstantSnapshotState.__new__(_InstantSnapshotState)
|
663
|
+
|
664
|
+
__props__.__dict__["creation_timestamp"] = creation_timestamp
|
665
|
+
__props__.__dict__["description"] = description
|
666
|
+
__props__.__dict__["disk_size_gb"] = disk_size_gb
|
667
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
668
|
+
__props__.__dict__["label_fingerprint"] = label_fingerprint
|
669
|
+
__props__.__dict__["labels"] = labels
|
670
|
+
__props__.__dict__["name"] = name
|
671
|
+
__props__.__dict__["project"] = project
|
672
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
673
|
+
__props__.__dict__["self_link"] = self_link
|
674
|
+
__props__.__dict__["source_disk"] = source_disk
|
675
|
+
__props__.__dict__["source_disk_id"] = source_disk_id
|
676
|
+
__props__.__dict__["zone"] = zone
|
677
|
+
return InstantSnapshot(resource_name, opts=opts, __props__=__props__)
|
678
|
+
|
679
|
+
@property
|
680
|
+
@pulumi.getter(name="creationTimestamp")
|
681
|
+
def creation_timestamp(self) -> pulumi.Output[str]:
|
682
|
+
"""
|
683
|
+
Creation timestamp in RFC3339 text format.
|
684
|
+
"""
|
685
|
+
return pulumi.get(self, "creation_timestamp")
|
686
|
+
|
687
|
+
@property
|
688
|
+
@pulumi.getter
|
689
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
690
|
+
"""
|
691
|
+
An optional description of this resource.
|
692
|
+
"""
|
693
|
+
return pulumi.get(self, "description")
|
694
|
+
|
695
|
+
@property
|
696
|
+
@pulumi.getter(name="diskSizeGb")
|
697
|
+
def disk_size_gb(self) -> pulumi.Output[int]:
|
698
|
+
"""
|
699
|
+
Size of the snapshot, specified in GB.
|
700
|
+
"""
|
701
|
+
return pulumi.get(self, "disk_size_gb")
|
702
|
+
|
703
|
+
@property
|
704
|
+
@pulumi.getter(name="effectiveLabels")
|
705
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
706
|
+
"""
|
707
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
708
|
+
"""
|
709
|
+
return pulumi.get(self, "effective_labels")
|
710
|
+
|
711
|
+
@property
|
712
|
+
@pulumi.getter(name="labelFingerprint")
|
713
|
+
def label_fingerprint(self) -> pulumi.Output[str]:
|
714
|
+
"""
|
715
|
+
The fingerprint used for optimistic locking of this resource. Used
|
716
|
+
internally during updates.
|
717
|
+
"""
|
718
|
+
return pulumi.get(self, "label_fingerprint")
|
719
|
+
|
720
|
+
@property
|
721
|
+
@pulumi.getter
|
722
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
723
|
+
"""
|
724
|
+
Labels to apply to this InstantSnapshot.
|
725
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
726
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
727
|
+
"""
|
728
|
+
return pulumi.get(self, "labels")
|
729
|
+
|
730
|
+
@property
|
731
|
+
@pulumi.getter
|
732
|
+
def name(self) -> pulumi.Output[str]:
|
733
|
+
"""
|
734
|
+
Name of the resource; provided by the client when the resource is
|
735
|
+
created. The name must be 1-63 characters long, and comply with
|
736
|
+
RFC1035. Specifically, the name must be 1-63 characters long and match
|
737
|
+
the regular expression `a-z?` which means the
|
738
|
+
first character must be a lowercase letter, and all following
|
739
|
+
characters must be a dash, lowercase letter, or digit, except the last
|
740
|
+
character, which cannot be a dash.
|
741
|
+
"""
|
742
|
+
return pulumi.get(self, "name")
|
743
|
+
|
744
|
+
@property
|
745
|
+
@pulumi.getter
|
746
|
+
def project(self) -> pulumi.Output[str]:
|
747
|
+
"""
|
748
|
+
The ID of the project in which the resource belongs.
|
749
|
+
If it is not provided, the provider project is used.
|
750
|
+
"""
|
751
|
+
return pulumi.get(self, "project")
|
752
|
+
|
753
|
+
@property
|
754
|
+
@pulumi.getter(name="pulumiLabels")
|
755
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
756
|
+
"""
|
757
|
+
The combination of labels configured directly on the resource
|
758
|
+
and default labels configured on the provider.
|
759
|
+
"""
|
760
|
+
return pulumi.get(self, "pulumi_labels")
|
761
|
+
|
762
|
+
@property
|
763
|
+
@pulumi.getter(name="selfLink")
|
764
|
+
def self_link(self) -> pulumi.Output[str]:
|
765
|
+
"""
|
766
|
+
The URI of the created resource.
|
767
|
+
"""
|
768
|
+
return pulumi.get(self, "self_link")
|
769
|
+
|
770
|
+
@property
|
771
|
+
@pulumi.getter(name="sourceDisk")
|
772
|
+
def source_disk(self) -> pulumi.Output[str]:
|
773
|
+
"""
|
774
|
+
A reference to the disk used to create this instant snapshot.
|
775
|
+
|
776
|
+
|
777
|
+
- - -
|
778
|
+
"""
|
779
|
+
return pulumi.get(self, "source_disk")
|
780
|
+
|
781
|
+
@property
|
782
|
+
@pulumi.getter(name="sourceDiskId")
|
783
|
+
def source_disk_id(self) -> pulumi.Output[str]:
|
784
|
+
"""
|
785
|
+
The ID value of the disk used to create this InstantSnapshot.
|
786
|
+
"""
|
787
|
+
return pulumi.get(self, "source_disk_id")
|
788
|
+
|
789
|
+
@property
|
790
|
+
@pulumi.getter
|
791
|
+
def zone(self) -> pulumi.Output[str]:
|
792
|
+
"""
|
793
|
+
A reference to the zone where the disk is located.
|
794
|
+
"""
|
795
|
+
return pulumi.get(self, "zone")
|
796
|
+
|