pulumi-gcp 8.39.0a1752907636__py3-none-any.whl → 8.39.0a1753206228__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 +16 -0
- pulumi_gcp/apigee/_inputs.py +62 -0
- pulumi_gcp/apigee/instance.py +63 -0
- pulumi_gcp/apigee/outputs.py +37 -0
- pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
- pulumi_gcp/backupdisasterrecovery/service_config.py +297 -0
- pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +355 -0
- pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +1082 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +116 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +287 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +699 -19
- pulumi_gcp/compute/firewall.py +54 -0
- pulumi_gcp/compute/future_reservation.py +124 -0
- pulumi_gcp/compute/get_network_attachment.py +288 -0
- pulumi_gcp/compute/get_region_disk.py +23 -1
- pulumi_gcp/compute/get_reservation.py +45 -1
- pulumi_gcp/compute/interconnect.py +108 -0
- pulumi_gcp/compute/outputs.py +734 -15
- pulumi_gcp/compute/region_disk.py +115 -0
- pulumi_gcp/compute/reservation.py +449 -0
- pulumi_gcp/firebase/hosting_site.py +50 -2
- pulumi_gcp/firestore/__init__.py +1 -0
- pulumi_gcp/firestore/database.py +117 -1
- pulumi_gcp/firestore/get_document.py +234 -0
- pulumi_gcp/gkeonprem/vmware_admin_cluster.py +12 -0
- pulumi_gcp/networksecurity/backend_authentication_config.py +12 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/storage/bucket_object.py +47 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/RECORD +36 -32
- {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/top_level.txt +0 -0
@@ -24,9 +24,13 @@ class ReservationArgs:
|
|
24
24
|
def __init__(__self__, *,
|
25
25
|
specific_reservation: pulumi.Input['ReservationSpecificReservationArgs'],
|
26
26
|
zone: pulumi.Input[builtins.str],
|
27
|
+
delete_after_duration: Optional[pulumi.Input['ReservationDeleteAfterDurationArgs']] = None,
|
28
|
+
delete_at_time: Optional[pulumi.Input[builtins.str]] = None,
|
27
29
|
description: Optional[pulumi.Input[builtins.str]] = None,
|
30
|
+
enable_emergent_maintenance: Optional[pulumi.Input[builtins.bool]] = None,
|
28
31
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
29
32
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
33
|
+
reservation_sharing_policy: Optional[pulumi.Input['ReservationReservationSharingPolicyArgs']] = None,
|
30
34
|
share_settings: Optional[pulumi.Input['ReservationShareSettingsArgs']] = None,
|
31
35
|
specific_reservation_required: Optional[pulumi.Input[builtins.bool]] = None):
|
32
36
|
"""
|
@@ -34,7 +38,12 @@ class ReservationArgs:
|
|
34
38
|
:param pulumi.Input['ReservationSpecificReservationArgs'] specific_reservation: Reservation for instances with specific machine shapes.
|
35
39
|
Structure is documented below.
|
36
40
|
:param pulumi.Input[builtins.str] zone: The zone where the reservation is made.
|
41
|
+
:param pulumi.Input['ReservationDeleteAfterDurationArgs'] delete_after_duration: Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
42
|
+
Structure is documented below.
|
43
|
+
:param pulumi.Input[builtins.str] delete_at_time: Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
44
|
+
Cannot be used with delete_after_duration.
|
37
45
|
:param pulumi.Input[builtins.str] description: An optional description of this resource.
|
46
|
+
:param pulumi.Input[builtins.bool] enable_emergent_maintenance: Indicates if this group of VMs have emergent maintenance enabled.
|
38
47
|
:param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is
|
39
48
|
created. The name must be 1-63 characters long, and comply with
|
40
49
|
RFC1035. Specifically, the name must be 1-63 characters long and match
|
@@ -44,6 +53,8 @@ class ReservationArgs:
|
|
44
53
|
character, which cannot be a dash.
|
45
54
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
46
55
|
If it is not provided, the provider project is used.
|
56
|
+
:param pulumi.Input['ReservationReservationSharingPolicyArgs'] reservation_sharing_policy: Sharing policy for reservations with Google Cloud managed services.
|
57
|
+
Structure is documented below.
|
47
58
|
:param pulumi.Input['ReservationShareSettingsArgs'] share_settings: The share setting for reservations.
|
48
59
|
Structure is documented below.
|
49
60
|
:param pulumi.Input[builtins.bool] specific_reservation_required: When set to true, only VMs that target this reservation by name can
|
@@ -52,12 +63,20 @@ class ReservationArgs:
|
|
52
63
|
"""
|
53
64
|
pulumi.set(__self__, "specific_reservation", specific_reservation)
|
54
65
|
pulumi.set(__self__, "zone", zone)
|
66
|
+
if delete_after_duration is not None:
|
67
|
+
pulumi.set(__self__, "delete_after_duration", delete_after_duration)
|
68
|
+
if delete_at_time is not None:
|
69
|
+
pulumi.set(__self__, "delete_at_time", delete_at_time)
|
55
70
|
if description is not None:
|
56
71
|
pulumi.set(__self__, "description", description)
|
72
|
+
if enable_emergent_maintenance is not None:
|
73
|
+
pulumi.set(__self__, "enable_emergent_maintenance", enable_emergent_maintenance)
|
57
74
|
if name is not None:
|
58
75
|
pulumi.set(__self__, "name", name)
|
59
76
|
if project is not None:
|
60
77
|
pulumi.set(__self__, "project", project)
|
78
|
+
if reservation_sharing_policy is not None:
|
79
|
+
pulumi.set(__self__, "reservation_sharing_policy", reservation_sharing_policy)
|
61
80
|
if share_settings is not None:
|
62
81
|
pulumi.set(__self__, "share_settings", share_settings)
|
63
82
|
if specific_reservation_required is not None:
|
@@ -88,6 +107,32 @@ class ReservationArgs:
|
|
88
107
|
def zone(self, value: pulumi.Input[builtins.str]):
|
89
108
|
pulumi.set(self, "zone", value)
|
90
109
|
|
110
|
+
@property
|
111
|
+
@pulumi.getter(name="deleteAfterDuration")
|
112
|
+
def delete_after_duration(self) -> Optional[pulumi.Input['ReservationDeleteAfterDurationArgs']]:
|
113
|
+
"""
|
114
|
+
Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
115
|
+
Structure is documented below.
|
116
|
+
"""
|
117
|
+
return pulumi.get(self, "delete_after_duration")
|
118
|
+
|
119
|
+
@delete_after_duration.setter
|
120
|
+
def delete_after_duration(self, value: Optional[pulumi.Input['ReservationDeleteAfterDurationArgs']]):
|
121
|
+
pulumi.set(self, "delete_after_duration", value)
|
122
|
+
|
123
|
+
@property
|
124
|
+
@pulumi.getter(name="deleteAtTime")
|
125
|
+
def delete_at_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
126
|
+
"""
|
127
|
+
Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
128
|
+
Cannot be used with delete_after_duration.
|
129
|
+
"""
|
130
|
+
return pulumi.get(self, "delete_at_time")
|
131
|
+
|
132
|
+
@delete_at_time.setter
|
133
|
+
def delete_at_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
134
|
+
pulumi.set(self, "delete_at_time", value)
|
135
|
+
|
91
136
|
@property
|
92
137
|
@pulumi.getter
|
93
138
|
def description(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -100,6 +145,18 @@ class ReservationArgs:
|
|
100
145
|
def description(self, value: Optional[pulumi.Input[builtins.str]]):
|
101
146
|
pulumi.set(self, "description", value)
|
102
147
|
|
148
|
+
@property
|
149
|
+
@pulumi.getter(name="enableEmergentMaintenance")
|
150
|
+
def enable_emergent_maintenance(self) -> Optional[pulumi.Input[builtins.bool]]:
|
151
|
+
"""
|
152
|
+
Indicates if this group of VMs have emergent maintenance enabled.
|
153
|
+
"""
|
154
|
+
return pulumi.get(self, "enable_emergent_maintenance")
|
155
|
+
|
156
|
+
@enable_emergent_maintenance.setter
|
157
|
+
def enable_emergent_maintenance(self, value: Optional[pulumi.Input[builtins.bool]]):
|
158
|
+
pulumi.set(self, "enable_emergent_maintenance", value)
|
159
|
+
|
103
160
|
@property
|
104
161
|
@pulumi.getter
|
105
162
|
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -131,6 +188,19 @@ class ReservationArgs:
|
|
131
188
|
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
132
189
|
pulumi.set(self, "project", value)
|
133
190
|
|
191
|
+
@property
|
192
|
+
@pulumi.getter(name="reservationSharingPolicy")
|
193
|
+
def reservation_sharing_policy(self) -> Optional[pulumi.Input['ReservationReservationSharingPolicyArgs']]:
|
194
|
+
"""
|
195
|
+
Sharing policy for reservations with Google Cloud managed services.
|
196
|
+
Structure is documented below.
|
197
|
+
"""
|
198
|
+
return pulumi.get(self, "reservation_sharing_policy")
|
199
|
+
|
200
|
+
@reservation_sharing_policy.setter
|
201
|
+
def reservation_sharing_policy(self, value: Optional[pulumi.Input['ReservationReservationSharingPolicyArgs']]):
|
202
|
+
pulumi.set(self, "reservation_sharing_policy", value)
|
203
|
+
|
134
204
|
@property
|
135
205
|
@pulumi.getter(name="shareSettings")
|
136
206
|
def share_settings(self) -> Optional[pulumi.Input['ReservationShareSettingsArgs']]:
|
@@ -164,9 +234,13 @@ class _ReservationState:
|
|
164
234
|
def __init__(__self__, *,
|
165
235
|
commitment: Optional[pulumi.Input[builtins.str]] = None,
|
166
236
|
creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
|
237
|
+
delete_after_duration: Optional[pulumi.Input['ReservationDeleteAfterDurationArgs']] = None,
|
238
|
+
delete_at_time: Optional[pulumi.Input[builtins.str]] = None,
|
167
239
|
description: Optional[pulumi.Input[builtins.str]] = None,
|
240
|
+
enable_emergent_maintenance: Optional[pulumi.Input[builtins.bool]] = None,
|
168
241
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
169
242
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
243
|
+
reservation_sharing_policy: Optional[pulumi.Input['ReservationReservationSharingPolicyArgs']] = None,
|
170
244
|
self_link: Optional[pulumi.Input[builtins.str]] = None,
|
171
245
|
share_settings: Optional[pulumi.Input['ReservationShareSettingsArgs']] = None,
|
172
246
|
specific_reservation: Optional[pulumi.Input['ReservationSpecificReservationArgs']] = None,
|
@@ -178,7 +252,12 @@ class _ReservationState:
|
|
178
252
|
:param pulumi.Input[builtins.str] commitment: Full or partial URL to a parent commitment. This field displays for
|
179
253
|
reservations that are tied to a commitment.
|
180
254
|
:param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
|
255
|
+
:param pulumi.Input['ReservationDeleteAfterDurationArgs'] delete_after_duration: Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
256
|
+
Structure is documented below.
|
257
|
+
:param pulumi.Input[builtins.str] delete_at_time: Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
258
|
+
Cannot be used with delete_after_duration.
|
181
259
|
:param pulumi.Input[builtins.str] description: An optional description of this resource.
|
260
|
+
:param pulumi.Input[builtins.bool] enable_emergent_maintenance: Indicates if this group of VMs have emergent maintenance enabled.
|
182
261
|
:param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is
|
183
262
|
created. The name must be 1-63 characters long, and comply with
|
184
263
|
RFC1035. Specifically, the name must be 1-63 characters long and match
|
@@ -188,6 +267,8 @@ class _ReservationState:
|
|
188
267
|
character, which cannot be a dash.
|
189
268
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
190
269
|
If it is not provided, the provider project is used.
|
270
|
+
:param pulumi.Input['ReservationReservationSharingPolicyArgs'] reservation_sharing_policy: Sharing policy for reservations with Google Cloud managed services.
|
271
|
+
Structure is documented below.
|
191
272
|
:param pulumi.Input[builtins.str] self_link: The URI of the created resource.
|
192
273
|
:param pulumi.Input['ReservationShareSettingsArgs'] share_settings: The share setting for reservations.
|
193
274
|
Structure is documented below.
|
@@ -203,12 +284,20 @@ class _ReservationState:
|
|
203
284
|
pulumi.set(__self__, "commitment", commitment)
|
204
285
|
if creation_timestamp is not None:
|
205
286
|
pulumi.set(__self__, "creation_timestamp", creation_timestamp)
|
287
|
+
if delete_after_duration is not None:
|
288
|
+
pulumi.set(__self__, "delete_after_duration", delete_after_duration)
|
289
|
+
if delete_at_time is not None:
|
290
|
+
pulumi.set(__self__, "delete_at_time", delete_at_time)
|
206
291
|
if description is not None:
|
207
292
|
pulumi.set(__self__, "description", description)
|
293
|
+
if enable_emergent_maintenance is not None:
|
294
|
+
pulumi.set(__self__, "enable_emergent_maintenance", enable_emergent_maintenance)
|
208
295
|
if name is not None:
|
209
296
|
pulumi.set(__self__, "name", name)
|
210
297
|
if project is not None:
|
211
298
|
pulumi.set(__self__, "project", project)
|
299
|
+
if reservation_sharing_policy is not None:
|
300
|
+
pulumi.set(__self__, "reservation_sharing_policy", reservation_sharing_policy)
|
212
301
|
if self_link is not None:
|
213
302
|
pulumi.set(__self__, "self_link", self_link)
|
214
303
|
if share_settings is not None:
|
@@ -247,6 +336,32 @@ class _ReservationState:
|
|
247
336
|
def creation_timestamp(self, value: Optional[pulumi.Input[builtins.str]]):
|
248
337
|
pulumi.set(self, "creation_timestamp", value)
|
249
338
|
|
339
|
+
@property
|
340
|
+
@pulumi.getter(name="deleteAfterDuration")
|
341
|
+
def delete_after_duration(self) -> Optional[pulumi.Input['ReservationDeleteAfterDurationArgs']]:
|
342
|
+
"""
|
343
|
+
Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
344
|
+
Structure is documented below.
|
345
|
+
"""
|
346
|
+
return pulumi.get(self, "delete_after_duration")
|
347
|
+
|
348
|
+
@delete_after_duration.setter
|
349
|
+
def delete_after_duration(self, value: Optional[pulumi.Input['ReservationDeleteAfterDurationArgs']]):
|
350
|
+
pulumi.set(self, "delete_after_duration", value)
|
351
|
+
|
352
|
+
@property
|
353
|
+
@pulumi.getter(name="deleteAtTime")
|
354
|
+
def delete_at_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
355
|
+
"""
|
356
|
+
Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
357
|
+
Cannot be used with delete_after_duration.
|
358
|
+
"""
|
359
|
+
return pulumi.get(self, "delete_at_time")
|
360
|
+
|
361
|
+
@delete_at_time.setter
|
362
|
+
def delete_at_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
363
|
+
pulumi.set(self, "delete_at_time", value)
|
364
|
+
|
250
365
|
@property
|
251
366
|
@pulumi.getter
|
252
367
|
def description(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -259,6 +374,18 @@ class _ReservationState:
|
|
259
374
|
def description(self, value: Optional[pulumi.Input[builtins.str]]):
|
260
375
|
pulumi.set(self, "description", value)
|
261
376
|
|
377
|
+
@property
|
378
|
+
@pulumi.getter(name="enableEmergentMaintenance")
|
379
|
+
def enable_emergent_maintenance(self) -> Optional[pulumi.Input[builtins.bool]]:
|
380
|
+
"""
|
381
|
+
Indicates if this group of VMs have emergent maintenance enabled.
|
382
|
+
"""
|
383
|
+
return pulumi.get(self, "enable_emergent_maintenance")
|
384
|
+
|
385
|
+
@enable_emergent_maintenance.setter
|
386
|
+
def enable_emergent_maintenance(self, value: Optional[pulumi.Input[builtins.bool]]):
|
387
|
+
pulumi.set(self, "enable_emergent_maintenance", value)
|
388
|
+
|
262
389
|
@property
|
263
390
|
@pulumi.getter
|
264
391
|
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -290,6 +417,19 @@ class _ReservationState:
|
|
290
417
|
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
291
418
|
pulumi.set(self, "project", value)
|
292
419
|
|
420
|
+
@property
|
421
|
+
@pulumi.getter(name="reservationSharingPolicy")
|
422
|
+
def reservation_sharing_policy(self) -> Optional[pulumi.Input['ReservationReservationSharingPolicyArgs']]:
|
423
|
+
"""
|
424
|
+
Sharing policy for reservations with Google Cloud managed services.
|
425
|
+
Structure is documented below.
|
426
|
+
"""
|
427
|
+
return pulumi.get(self, "reservation_sharing_policy")
|
428
|
+
|
429
|
+
@reservation_sharing_policy.setter
|
430
|
+
def reservation_sharing_policy(self, value: Optional[pulumi.Input['ReservationReservationSharingPolicyArgs']]):
|
431
|
+
pulumi.set(self, "reservation_sharing_policy", value)
|
432
|
+
|
293
433
|
@property
|
294
434
|
@pulumi.getter(name="selfLink")
|
295
435
|
def self_link(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -373,9 +513,13 @@ class Reservation(pulumi.CustomResource):
|
|
373
513
|
def __init__(__self__,
|
374
514
|
resource_name: str,
|
375
515
|
opts: Optional[pulumi.ResourceOptions] = None,
|
516
|
+
delete_after_duration: Optional[pulumi.Input[Union['ReservationDeleteAfterDurationArgs', 'ReservationDeleteAfterDurationArgsDict']]] = None,
|
517
|
+
delete_at_time: Optional[pulumi.Input[builtins.str]] = None,
|
376
518
|
description: Optional[pulumi.Input[builtins.str]] = None,
|
519
|
+
enable_emergent_maintenance: Optional[pulumi.Input[builtins.bool]] = None,
|
377
520
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
378
521
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
522
|
+
reservation_sharing_policy: Optional[pulumi.Input[Union['ReservationReservationSharingPolicyArgs', 'ReservationReservationSharingPolicyArgsDict']]] = None,
|
379
523
|
share_settings: Optional[pulumi.Input[Union['ReservationShareSettingsArgs', 'ReservationShareSettingsArgsDict']]] = None,
|
380
524
|
specific_reservation: Optional[pulumi.Input[Union['ReservationSpecificReservationArgs', 'ReservationSpecificReservationArgsDict']]] = None,
|
381
525
|
specific_reservation_required: Optional[pulumi.Input[builtins.bool]] = None,
|
@@ -416,6 +560,126 @@ class Reservation(pulumi.CustomResource):
|
|
416
560
|
},
|
417
561
|
})
|
418
562
|
```
|
563
|
+
### Reservation Basic Beta
|
564
|
+
|
565
|
+
```python
|
566
|
+
import pulumi
|
567
|
+
import pulumi_gcp as gcp
|
568
|
+
|
569
|
+
gce_reservation = gcp.compute.Reservation("gce_reservation",
|
570
|
+
name="gce-reservation",
|
571
|
+
zone="us-central1-a",
|
572
|
+
specific_reservation={
|
573
|
+
"count": 1,
|
574
|
+
"instance_properties": {
|
575
|
+
"min_cpu_platform": "Intel Cascade Lake",
|
576
|
+
"machine_type": "n2-standard-2",
|
577
|
+
"maintenance_interval": "PERIODIC",
|
578
|
+
},
|
579
|
+
},
|
580
|
+
enable_emergent_maintenance=True)
|
581
|
+
```
|
582
|
+
### Reservation Source Instance Template
|
583
|
+
|
584
|
+
```python
|
585
|
+
import pulumi
|
586
|
+
import pulumi_gcp as gcp
|
587
|
+
|
588
|
+
my_image = gcp.compute.get_image(family="debian-11",
|
589
|
+
project="debian-cloud")
|
590
|
+
foobar = gcp.compute.InstanceTemplate("foobar",
|
591
|
+
name="tf-test-instance-template",
|
592
|
+
machine_type="n2-standard-2",
|
593
|
+
can_ip_forward=False,
|
594
|
+
tags=[
|
595
|
+
"foo",
|
596
|
+
"bar",
|
597
|
+
],
|
598
|
+
disks=[{
|
599
|
+
"source_image": my_image.self_link,
|
600
|
+
"auto_delete": True,
|
601
|
+
"boot": True,
|
602
|
+
}],
|
603
|
+
network_interfaces=[{
|
604
|
+
"network": "default",
|
605
|
+
}],
|
606
|
+
scheduling={
|
607
|
+
"preemptible": False,
|
608
|
+
"automatic_restart": True,
|
609
|
+
},
|
610
|
+
metadata={
|
611
|
+
"foo": "bar",
|
612
|
+
},
|
613
|
+
service_account={
|
614
|
+
"scopes": [
|
615
|
+
"userinfo-email",
|
616
|
+
"compute-ro",
|
617
|
+
"storage-ro",
|
618
|
+
],
|
619
|
+
},
|
620
|
+
labels={
|
621
|
+
"my_label": "foobar",
|
622
|
+
})
|
623
|
+
gce_reservation_source_instance_template = gcp.compute.Reservation("gce_reservation_source_instance_template",
|
624
|
+
name="gce-reservation-source-instance-template",
|
625
|
+
zone="us-central1-a",
|
626
|
+
specific_reservation={
|
627
|
+
"count": 1,
|
628
|
+
"source_instance_template": foobar.self_link,
|
629
|
+
})
|
630
|
+
```
|
631
|
+
### Reservation Sharing Policy
|
632
|
+
|
633
|
+
```python
|
634
|
+
import pulumi
|
635
|
+
import pulumi_gcp as gcp
|
636
|
+
|
637
|
+
my_image = gcp.compute.get_image(family="debian-11",
|
638
|
+
project="debian-cloud")
|
639
|
+
foobar = gcp.compute.InstanceTemplate("foobar",
|
640
|
+
name="tf-test-instance-template",
|
641
|
+
machine_type="g2-standard-4",
|
642
|
+
can_ip_forward=False,
|
643
|
+
tags=[
|
644
|
+
"foo",
|
645
|
+
"bar",
|
646
|
+
],
|
647
|
+
disks=[{
|
648
|
+
"source_image": my_image.self_link,
|
649
|
+
"auto_delete": True,
|
650
|
+
"boot": True,
|
651
|
+
}],
|
652
|
+
network_interfaces=[{
|
653
|
+
"network": "default",
|
654
|
+
}],
|
655
|
+
scheduling={
|
656
|
+
"preemptible": False,
|
657
|
+
"automatic_restart": True,
|
658
|
+
},
|
659
|
+
metadata={
|
660
|
+
"foo": "bar",
|
661
|
+
},
|
662
|
+
service_account={
|
663
|
+
"scopes": [
|
664
|
+
"userinfo-email",
|
665
|
+
"compute-ro",
|
666
|
+
"storage-ro",
|
667
|
+
],
|
668
|
+
},
|
669
|
+
labels={
|
670
|
+
"my_label": "foobar",
|
671
|
+
})
|
672
|
+
gce_reservation_sharing_policy = gcp.compute.Reservation("gce_reservation_sharing_policy",
|
673
|
+
name="gce-reservation-sharing-policy",
|
674
|
+
zone="us-central1-b",
|
675
|
+
specific_reservation={
|
676
|
+
"count": 2,
|
677
|
+
"source_instance_template": foobar.self_link,
|
678
|
+
},
|
679
|
+
reservation_sharing_policy={
|
680
|
+
"service_share_type": "ALLOW_ALL",
|
681
|
+
})
|
682
|
+
```
|
419
683
|
|
420
684
|
## Import
|
421
685
|
|
@@ -449,7 +713,12 @@ class Reservation(pulumi.CustomResource):
|
|
449
713
|
|
450
714
|
:param str resource_name: The name of the resource.
|
451
715
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
716
|
+
:param pulumi.Input[Union['ReservationDeleteAfterDurationArgs', 'ReservationDeleteAfterDurationArgsDict']] delete_after_duration: Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
717
|
+
Structure is documented below.
|
718
|
+
:param pulumi.Input[builtins.str] delete_at_time: Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
719
|
+
Cannot be used with delete_after_duration.
|
452
720
|
:param pulumi.Input[builtins.str] description: An optional description of this resource.
|
721
|
+
:param pulumi.Input[builtins.bool] enable_emergent_maintenance: Indicates if this group of VMs have emergent maintenance enabled.
|
453
722
|
:param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is
|
454
723
|
created. The name must be 1-63 characters long, and comply with
|
455
724
|
RFC1035. Specifically, the name must be 1-63 characters long and match
|
@@ -459,6 +728,8 @@ class Reservation(pulumi.CustomResource):
|
|
459
728
|
character, which cannot be a dash.
|
460
729
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
461
730
|
If it is not provided, the provider project is used.
|
731
|
+
:param pulumi.Input[Union['ReservationReservationSharingPolicyArgs', 'ReservationReservationSharingPolicyArgsDict']] reservation_sharing_policy: Sharing policy for reservations with Google Cloud managed services.
|
732
|
+
Structure is documented below.
|
462
733
|
:param pulumi.Input[Union['ReservationShareSettingsArgs', 'ReservationShareSettingsArgsDict']] share_settings: The share setting for reservations.
|
463
734
|
Structure is documented below.
|
464
735
|
:param pulumi.Input[Union['ReservationSpecificReservationArgs', 'ReservationSpecificReservationArgsDict']] specific_reservation: Reservation for instances with specific machine shapes.
|
@@ -509,6 +780,126 @@ class Reservation(pulumi.CustomResource):
|
|
509
780
|
},
|
510
781
|
})
|
511
782
|
```
|
783
|
+
### Reservation Basic Beta
|
784
|
+
|
785
|
+
```python
|
786
|
+
import pulumi
|
787
|
+
import pulumi_gcp as gcp
|
788
|
+
|
789
|
+
gce_reservation = gcp.compute.Reservation("gce_reservation",
|
790
|
+
name="gce-reservation",
|
791
|
+
zone="us-central1-a",
|
792
|
+
specific_reservation={
|
793
|
+
"count": 1,
|
794
|
+
"instance_properties": {
|
795
|
+
"min_cpu_platform": "Intel Cascade Lake",
|
796
|
+
"machine_type": "n2-standard-2",
|
797
|
+
"maintenance_interval": "PERIODIC",
|
798
|
+
},
|
799
|
+
},
|
800
|
+
enable_emergent_maintenance=True)
|
801
|
+
```
|
802
|
+
### Reservation Source Instance Template
|
803
|
+
|
804
|
+
```python
|
805
|
+
import pulumi
|
806
|
+
import pulumi_gcp as gcp
|
807
|
+
|
808
|
+
my_image = gcp.compute.get_image(family="debian-11",
|
809
|
+
project="debian-cloud")
|
810
|
+
foobar = gcp.compute.InstanceTemplate("foobar",
|
811
|
+
name="tf-test-instance-template",
|
812
|
+
machine_type="n2-standard-2",
|
813
|
+
can_ip_forward=False,
|
814
|
+
tags=[
|
815
|
+
"foo",
|
816
|
+
"bar",
|
817
|
+
],
|
818
|
+
disks=[{
|
819
|
+
"source_image": my_image.self_link,
|
820
|
+
"auto_delete": True,
|
821
|
+
"boot": True,
|
822
|
+
}],
|
823
|
+
network_interfaces=[{
|
824
|
+
"network": "default",
|
825
|
+
}],
|
826
|
+
scheduling={
|
827
|
+
"preemptible": False,
|
828
|
+
"automatic_restart": True,
|
829
|
+
},
|
830
|
+
metadata={
|
831
|
+
"foo": "bar",
|
832
|
+
},
|
833
|
+
service_account={
|
834
|
+
"scopes": [
|
835
|
+
"userinfo-email",
|
836
|
+
"compute-ro",
|
837
|
+
"storage-ro",
|
838
|
+
],
|
839
|
+
},
|
840
|
+
labels={
|
841
|
+
"my_label": "foobar",
|
842
|
+
})
|
843
|
+
gce_reservation_source_instance_template = gcp.compute.Reservation("gce_reservation_source_instance_template",
|
844
|
+
name="gce-reservation-source-instance-template",
|
845
|
+
zone="us-central1-a",
|
846
|
+
specific_reservation={
|
847
|
+
"count": 1,
|
848
|
+
"source_instance_template": foobar.self_link,
|
849
|
+
})
|
850
|
+
```
|
851
|
+
### Reservation Sharing Policy
|
852
|
+
|
853
|
+
```python
|
854
|
+
import pulumi
|
855
|
+
import pulumi_gcp as gcp
|
856
|
+
|
857
|
+
my_image = gcp.compute.get_image(family="debian-11",
|
858
|
+
project="debian-cloud")
|
859
|
+
foobar = gcp.compute.InstanceTemplate("foobar",
|
860
|
+
name="tf-test-instance-template",
|
861
|
+
machine_type="g2-standard-4",
|
862
|
+
can_ip_forward=False,
|
863
|
+
tags=[
|
864
|
+
"foo",
|
865
|
+
"bar",
|
866
|
+
],
|
867
|
+
disks=[{
|
868
|
+
"source_image": my_image.self_link,
|
869
|
+
"auto_delete": True,
|
870
|
+
"boot": True,
|
871
|
+
}],
|
872
|
+
network_interfaces=[{
|
873
|
+
"network": "default",
|
874
|
+
}],
|
875
|
+
scheduling={
|
876
|
+
"preemptible": False,
|
877
|
+
"automatic_restart": True,
|
878
|
+
},
|
879
|
+
metadata={
|
880
|
+
"foo": "bar",
|
881
|
+
},
|
882
|
+
service_account={
|
883
|
+
"scopes": [
|
884
|
+
"userinfo-email",
|
885
|
+
"compute-ro",
|
886
|
+
"storage-ro",
|
887
|
+
],
|
888
|
+
},
|
889
|
+
labels={
|
890
|
+
"my_label": "foobar",
|
891
|
+
})
|
892
|
+
gce_reservation_sharing_policy = gcp.compute.Reservation("gce_reservation_sharing_policy",
|
893
|
+
name="gce-reservation-sharing-policy",
|
894
|
+
zone="us-central1-b",
|
895
|
+
specific_reservation={
|
896
|
+
"count": 2,
|
897
|
+
"source_instance_template": foobar.self_link,
|
898
|
+
},
|
899
|
+
reservation_sharing_policy={
|
900
|
+
"service_share_type": "ALLOW_ALL",
|
901
|
+
})
|
902
|
+
```
|
512
903
|
|
513
904
|
## Import
|
514
905
|
|
@@ -555,9 +946,13 @@ class Reservation(pulumi.CustomResource):
|
|
555
946
|
def _internal_init(__self__,
|
556
947
|
resource_name: str,
|
557
948
|
opts: Optional[pulumi.ResourceOptions] = None,
|
949
|
+
delete_after_duration: Optional[pulumi.Input[Union['ReservationDeleteAfterDurationArgs', 'ReservationDeleteAfterDurationArgsDict']]] = None,
|
950
|
+
delete_at_time: Optional[pulumi.Input[builtins.str]] = None,
|
558
951
|
description: Optional[pulumi.Input[builtins.str]] = None,
|
952
|
+
enable_emergent_maintenance: Optional[pulumi.Input[builtins.bool]] = None,
|
559
953
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
560
954
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
955
|
+
reservation_sharing_policy: Optional[pulumi.Input[Union['ReservationReservationSharingPolicyArgs', 'ReservationReservationSharingPolicyArgsDict']]] = None,
|
561
956
|
share_settings: Optional[pulumi.Input[Union['ReservationShareSettingsArgs', 'ReservationShareSettingsArgsDict']]] = None,
|
562
957
|
specific_reservation: Optional[pulumi.Input[Union['ReservationSpecificReservationArgs', 'ReservationSpecificReservationArgsDict']]] = None,
|
563
958
|
specific_reservation_required: Optional[pulumi.Input[builtins.bool]] = None,
|
@@ -571,9 +966,13 @@ class Reservation(pulumi.CustomResource):
|
|
571
966
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
572
967
|
__props__ = ReservationArgs.__new__(ReservationArgs)
|
573
968
|
|
969
|
+
__props__.__dict__["delete_after_duration"] = delete_after_duration
|
970
|
+
__props__.__dict__["delete_at_time"] = delete_at_time
|
574
971
|
__props__.__dict__["description"] = description
|
972
|
+
__props__.__dict__["enable_emergent_maintenance"] = enable_emergent_maintenance
|
575
973
|
__props__.__dict__["name"] = name
|
576
974
|
__props__.__dict__["project"] = project
|
975
|
+
__props__.__dict__["reservation_sharing_policy"] = reservation_sharing_policy
|
577
976
|
__props__.__dict__["share_settings"] = share_settings
|
578
977
|
if specific_reservation is None and not opts.urn:
|
579
978
|
raise TypeError("Missing required property 'specific_reservation'")
|
@@ -598,9 +997,13 @@ class Reservation(pulumi.CustomResource):
|
|
598
997
|
opts: Optional[pulumi.ResourceOptions] = None,
|
599
998
|
commitment: Optional[pulumi.Input[builtins.str]] = None,
|
600
999
|
creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
|
1000
|
+
delete_after_duration: Optional[pulumi.Input[Union['ReservationDeleteAfterDurationArgs', 'ReservationDeleteAfterDurationArgsDict']]] = None,
|
1001
|
+
delete_at_time: Optional[pulumi.Input[builtins.str]] = None,
|
601
1002
|
description: Optional[pulumi.Input[builtins.str]] = None,
|
1003
|
+
enable_emergent_maintenance: Optional[pulumi.Input[builtins.bool]] = None,
|
602
1004
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
603
1005
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
1006
|
+
reservation_sharing_policy: Optional[pulumi.Input[Union['ReservationReservationSharingPolicyArgs', 'ReservationReservationSharingPolicyArgsDict']]] = None,
|
604
1007
|
self_link: Optional[pulumi.Input[builtins.str]] = None,
|
605
1008
|
share_settings: Optional[pulumi.Input[Union['ReservationShareSettingsArgs', 'ReservationShareSettingsArgsDict']]] = None,
|
606
1009
|
specific_reservation: Optional[pulumi.Input[Union['ReservationSpecificReservationArgs', 'ReservationSpecificReservationArgsDict']]] = None,
|
@@ -617,7 +1020,12 @@ class Reservation(pulumi.CustomResource):
|
|
617
1020
|
:param pulumi.Input[builtins.str] commitment: Full or partial URL to a parent commitment. This field displays for
|
618
1021
|
reservations that are tied to a commitment.
|
619
1022
|
:param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
|
1023
|
+
:param pulumi.Input[Union['ReservationDeleteAfterDurationArgs', 'ReservationDeleteAfterDurationArgsDict']] delete_after_duration: Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
1024
|
+
Structure is documented below.
|
1025
|
+
:param pulumi.Input[builtins.str] delete_at_time: Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
1026
|
+
Cannot be used with delete_after_duration.
|
620
1027
|
:param pulumi.Input[builtins.str] description: An optional description of this resource.
|
1028
|
+
:param pulumi.Input[builtins.bool] enable_emergent_maintenance: Indicates if this group of VMs have emergent maintenance enabled.
|
621
1029
|
:param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is
|
622
1030
|
created. The name must be 1-63 characters long, and comply with
|
623
1031
|
RFC1035. Specifically, the name must be 1-63 characters long and match
|
@@ -627,6 +1035,8 @@ class Reservation(pulumi.CustomResource):
|
|
627
1035
|
character, which cannot be a dash.
|
628
1036
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
629
1037
|
If it is not provided, the provider project is used.
|
1038
|
+
:param pulumi.Input[Union['ReservationReservationSharingPolicyArgs', 'ReservationReservationSharingPolicyArgsDict']] reservation_sharing_policy: Sharing policy for reservations with Google Cloud managed services.
|
1039
|
+
Structure is documented below.
|
630
1040
|
:param pulumi.Input[builtins.str] self_link: The URI of the created resource.
|
631
1041
|
:param pulumi.Input[Union['ReservationShareSettingsArgs', 'ReservationShareSettingsArgsDict']] share_settings: The share setting for reservations.
|
632
1042
|
Structure is documented below.
|
@@ -644,9 +1054,13 @@ class Reservation(pulumi.CustomResource):
|
|
644
1054
|
|
645
1055
|
__props__.__dict__["commitment"] = commitment
|
646
1056
|
__props__.__dict__["creation_timestamp"] = creation_timestamp
|
1057
|
+
__props__.__dict__["delete_after_duration"] = delete_after_duration
|
1058
|
+
__props__.__dict__["delete_at_time"] = delete_at_time
|
647
1059
|
__props__.__dict__["description"] = description
|
1060
|
+
__props__.__dict__["enable_emergent_maintenance"] = enable_emergent_maintenance
|
648
1061
|
__props__.__dict__["name"] = name
|
649
1062
|
__props__.__dict__["project"] = project
|
1063
|
+
__props__.__dict__["reservation_sharing_policy"] = reservation_sharing_policy
|
650
1064
|
__props__.__dict__["self_link"] = self_link
|
651
1065
|
__props__.__dict__["share_settings"] = share_settings
|
652
1066
|
__props__.__dict__["specific_reservation"] = specific_reservation
|
@@ -672,6 +1086,24 @@ class Reservation(pulumi.CustomResource):
|
|
672
1086
|
"""
|
673
1087
|
return pulumi.get(self, "creation_timestamp")
|
674
1088
|
|
1089
|
+
@property
|
1090
|
+
@pulumi.getter(name="deleteAfterDuration")
|
1091
|
+
def delete_after_duration(self) -> pulumi.Output[Optional['outputs.ReservationDeleteAfterDuration']]:
|
1092
|
+
"""
|
1093
|
+
Duration after which the reservation will be auto-deleted by Compute Engine. Cannot be used with delete_at_time.
|
1094
|
+
Structure is documented below.
|
1095
|
+
"""
|
1096
|
+
return pulumi.get(self, "delete_after_duration")
|
1097
|
+
|
1098
|
+
@property
|
1099
|
+
@pulumi.getter(name="deleteAtTime")
|
1100
|
+
def delete_at_time(self) -> pulumi.Output[builtins.str]:
|
1101
|
+
"""
|
1102
|
+
Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.
|
1103
|
+
Cannot be used with delete_after_duration.
|
1104
|
+
"""
|
1105
|
+
return pulumi.get(self, "delete_at_time")
|
1106
|
+
|
675
1107
|
@property
|
676
1108
|
@pulumi.getter
|
677
1109
|
def description(self) -> pulumi.Output[Optional[builtins.str]]:
|
@@ -680,6 +1112,14 @@ class Reservation(pulumi.CustomResource):
|
|
680
1112
|
"""
|
681
1113
|
return pulumi.get(self, "description")
|
682
1114
|
|
1115
|
+
@property
|
1116
|
+
@pulumi.getter(name="enableEmergentMaintenance")
|
1117
|
+
def enable_emergent_maintenance(self) -> pulumi.Output[Optional[builtins.bool]]:
|
1118
|
+
"""
|
1119
|
+
Indicates if this group of VMs have emergent maintenance enabled.
|
1120
|
+
"""
|
1121
|
+
return pulumi.get(self, "enable_emergent_maintenance")
|
1122
|
+
|
683
1123
|
@property
|
684
1124
|
@pulumi.getter
|
685
1125
|
def name(self) -> pulumi.Output[builtins.str]:
|
@@ -703,6 +1143,15 @@ class Reservation(pulumi.CustomResource):
|
|
703
1143
|
"""
|
704
1144
|
return pulumi.get(self, "project")
|
705
1145
|
|
1146
|
+
@property
|
1147
|
+
@pulumi.getter(name="reservationSharingPolicy")
|
1148
|
+
def reservation_sharing_policy(self) -> pulumi.Output['outputs.ReservationReservationSharingPolicy']:
|
1149
|
+
"""
|
1150
|
+
Sharing policy for reservations with Google Cloud managed services.
|
1151
|
+
Structure is documented below.
|
1152
|
+
"""
|
1153
|
+
return pulumi.get(self, "reservation_sharing_policy")
|
1154
|
+
|
706
1155
|
@property
|
707
1156
|
@pulumi.getter(name="selfLink")
|
708
1157
|
def self_link(self) -> pulumi.Output[builtins.str]:
|