pulumi-gcp 7.33.0a1721974181__py3-none-any.whl → 7.34.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-gcp might be problematic. Click here for more details.

Files changed (78) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +174 -0
  3. pulumi_gcp/alloydb/instance.py +54 -0
  4. pulumi_gcp/alloydb/outputs.py +133 -0
  5. pulumi_gcp/apigee/__init__.py +2 -0
  6. pulumi_gcp/apigee/environment_keyvaluemaps.py +370 -0
  7. pulumi_gcp/apigee/environment_keyvaluemaps_entries.py +440 -0
  8. pulumi_gcp/apigee/instance.py +2 -2
  9. pulumi_gcp/apigee/nat_address.py +2 -2
  10. pulumi_gcp/apigee/organization.py +4 -4
  11. pulumi_gcp/apphub/service_project_attachment.py +11 -11
  12. pulumi_gcp/bigquery/_inputs.py +36 -0
  13. pulumi_gcp/bigquery/app_profile.py +54 -0
  14. pulumi_gcp/bigquery/outputs.py +38 -0
  15. pulumi_gcp/bigquery/reservation.py +34 -4
  16. pulumi_gcp/bigquery/table.py +65 -21
  17. pulumi_gcp/bigtable/table.py +27 -26
  18. pulumi_gcp/certificateauthority/authority.py +4 -4
  19. pulumi_gcp/cloudfunctions/function.py +47 -0
  20. pulumi_gcp/cloudfunctions/get_function.py +11 -1
  21. pulumi_gcp/cloudfunctionsv2/function.py +2 -2
  22. pulumi_gcp/cloudrun/_inputs.py +24 -21
  23. pulumi_gcp/cloudrun/outputs.py +20 -24
  24. pulumi_gcp/cloudrunv2/_inputs.py +3 -0
  25. pulumi_gcp/cloudrunv2/outputs.py +4 -0
  26. pulumi_gcp/compute/__init__.py +2 -0
  27. pulumi_gcp/compute/_inputs.py +2334 -329
  28. pulumi_gcp/compute/backend_service.py +6 -0
  29. pulumi_gcp/compute/outputs.py +1466 -7
  30. pulumi_gcp/compute/public_advertised_prefix.py +30 -2
  31. pulumi_gcp/compute/resize_request.py +782 -0
  32. pulumi_gcp/compute/router_peer.py +437 -0
  33. pulumi_gcp/compute/router_route_policy.py +616 -0
  34. pulumi_gcp/compute/service_attachment.py +7 -14
  35. pulumi_gcp/container/_inputs.py +215 -18
  36. pulumi_gcp/container/node_pool.py +0 -14
  37. pulumi_gcp/container/outputs.py +226 -12
  38. pulumi_gcp/databasemigrationservice/private_connection.py +10 -6
  39. pulumi_gcp/dataloss/_inputs.py +707 -21
  40. pulumi_gcp/dataloss/outputs.py +588 -14
  41. pulumi_gcp/datastore/data_store_index.py +24 -12
  42. pulumi_gcp/datastream/_inputs.py +83 -3
  43. pulumi_gcp/datastream/outputs.py +51 -3
  44. pulumi_gcp/datastream/stream.py +170 -0
  45. pulumi_gcp/firebase/database_instance.py +8 -8
  46. pulumi_gcp/firebase/hosting_site.py +8 -8
  47. pulumi_gcp/firestore/index.py +10 -10
  48. pulumi_gcp/gkeonprem/_inputs.py +78 -78
  49. pulumi_gcp/gkeonprem/outputs.py +52 -52
  50. pulumi_gcp/iap/client.py +4 -4
  51. pulumi_gcp/integrationconnectors/_inputs.py +30 -30
  52. pulumi_gcp/integrationconnectors/outputs.py +20 -20
  53. pulumi_gcp/netapp/volume.py +1 -1
  54. pulumi_gcp/networkconnectivity/_inputs.py +3 -6
  55. pulumi_gcp/networkconnectivity/hub.py +60 -49
  56. pulumi_gcp/networkconnectivity/outputs.py +2 -4
  57. pulumi_gcp/networkconnectivity/spoke.py +159 -104
  58. pulumi_gcp/networksecurity/tls_inspection_policy.py +2 -2
  59. pulumi_gcp/orgpolicy/policy.py +4 -4
  60. pulumi_gcp/projects/get_project_service.py +11 -1
  61. pulumi_gcp/projects/service.py +68 -0
  62. pulumi_gcp/projects/service_identity.py +30 -2
  63. pulumi_gcp/pubsub/subscription.py +6 -6
  64. pulumi_gcp/pulumi-plugin.json +1 -1
  65. pulumi_gcp/securesourcemanager/instance.py +528 -4
  66. pulumi_gcp/securitycenter/__init__.py +1 -0
  67. pulumi_gcp/securitycenter/v2_organization_mute_config.py +673 -0
  68. pulumi_gcp/sql/database_instance.py +2 -2
  69. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  70. pulumi_gcp/vmwareengine/get_private_cloud.py +21 -1
  71. pulumi_gcp/vmwareengine/private_cloud.py +121 -2
  72. pulumi_gcp/workbench/_inputs.py +77 -0
  73. pulumi_gcp/workbench/instance.py +18 -4
  74. pulumi_gcp/workbench/outputs.py +67 -1
  75. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/METADATA +1 -1
  76. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/RECORD +78 -73
  77. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/WHEEL +1 -1
  78. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/top_level.txt +0 -0
@@ -608,8 +608,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
608
608
 
609
609
  test_project = gcp.organizations.get_project()
610
610
  project = gcp.organizations.Project("project",
611
- project_id="tf-test_55138",
612
- name="tf-test_37559",
611
+ project_id="tf-test_13293",
612
+ name="tf-test_40289",
613
613
  org_id="123456789",
614
614
  billing_account="000000-0000000-0000000-000000")
615
615
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
@@ -1032,8 +1032,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
1032
1032
 
1033
1033
  test_project = gcp.organizations.get_project()
1034
1034
  project = gcp.organizations.Project("project",
1035
- project_id="tf-test_55138",
1036
- name="tf-test_37559",
1035
+ project_id="tf-test_13293",
1036
+ name="tf-test_40289",
1037
1037
  org_id="123456789",
1038
1038
  billing_account="000000-0000000-0000000-000000")
1039
1039
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
@@ -27,7 +27,10 @@ class GetPrivateCloudResult:
27
27
  """
28
28
  A collection of values returned by getPrivateCloud.
29
29
  """
30
- def __init__(__self__, description=None, hcxes=None, id=None, location=None, management_clusters=None, name=None, network_configs=None, nsxes=None, project=None, state=None, type=None, uid=None, vcenters=None):
30
+ def __init__(__self__, deletion_delay_hours=None, description=None, hcxes=None, id=None, location=None, management_clusters=None, name=None, network_configs=None, nsxes=None, project=None, send_deletion_delay_hours_if_zero=None, state=None, type=None, uid=None, vcenters=None):
31
+ if deletion_delay_hours and not isinstance(deletion_delay_hours, int):
32
+ raise TypeError("Expected argument 'deletion_delay_hours' to be a int")
33
+ pulumi.set(__self__, "deletion_delay_hours", deletion_delay_hours)
31
34
  if description and not isinstance(description, str):
32
35
  raise TypeError("Expected argument 'description' to be a str")
33
36
  pulumi.set(__self__, "description", description)
@@ -55,6 +58,9 @@ class GetPrivateCloudResult:
55
58
  if project and not isinstance(project, str):
56
59
  raise TypeError("Expected argument 'project' to be a str")
57
60
  pulumi.set(__self__, "project", project)
61
+ if send_deletion_delay_hours_if_zero and not isinstance(send_deletion_delay_hours_if_zero, bool):
62
+ raise TypeError("Expected argument 'send_deletion_delay_hours_if_zero' to be a bool")
63
+ pulumi.set(__self__, "send_deletion_delay_hours_if_zero", send_deletion_delay_hours_if_zero)
58
64
  if state and not isinstance(state, str):
59
65
  raise TypeError("Expected argument 'state' to be a str")
60
66
  pulumi.set(__self__, "state", state)
@@ -68,6 +74,11 @@ class GetPrivateCloudResult:
68
74
  raise TypeError("Expected argument 'vcenters' to be a list")
69
75
  pulumi.set(__self__, "vcenters", vcenters)
70
76
 
77
+ @property
78
+ @pulumi.getter(name="deletionDelayHours")
79
+ def deletion_delay_hours(self) -> int:
80
+ return pulumi.get(self, "deletion_delay_hours")
81
+
71
82
  @property
72
83
  @pulumi.getter
73
84
  def description(self) -> str:
@@ -116,6 +127,11 @@ class GetPrivateCloudResult:
116
127
  def project(self) -> Optional[str]:
117
128
  return pulumi.get(self, "project")
118
129
 
130
+ @property
131
+ @pulumi.getter(name="sendDeletionDelayHoursIfZero")
132
+ def send_deletion_delay_hours_if_zero(self) -> bool:
133
+ return pulumi.get(self, "send_deletion_delay_hours_if_zero")
134
+
119
135
  @property
120
136
  @pulumi.getter
121
137
  def state(self) -> str:
@@ -143,6 +159,7 @@ class AwaitableGetPrivateCloudResult(GetPrivateCloudResult):
143
159
  if False:
144
160
  yield self
145
161
  return GetPrivateCloudResult(
162
+ deletion_delay_hours=self.deletion_delay_hours,
146
163
  description=self.description,
147
164
  hcxes=self.hcxes,
148
165
  id=self.id,
@@ -152,6 +169,7 @@ class AwaitableGetPrivateCloudResult(GetPrivateCloudResult):
152
169
  network_configs=self.network_configs,
153
170
  nsxes=self.nsxes,
154
171
  project=self.project,
172
+ send_deletion_delay_hours_if_zero=self.send_deletion_delay_hours_if_zero,
155
173
  state=self.state,
156
174
  type=self.type,
157
175
  uid=self.uid,
@@ -194,6 +212,7 @@ def get_private_cloud(location: Optional[str] = None,
194
212
  __ret__ = pulumi.runtime.invoke('gcp:vmwareengine/getPrivateCloud:getPrivateCloud', __args__, opts=opts, typ=GetPrivateCloudResult).value
195
213
 
196
214
  return AwaitableGetPrivateCloudResult(
215
+ deletion_delay_hours=pulumi.get(__ret__, 'deletion_delay_hours'),
197
216
  description=pulumi.get(__ret__, 'description'),
198
217
  hcxes=pulumi.get(__ret__, 'hcxes'),
199
218
  id=pulumi.get(__ret__, 'id'),
@@ -203,6 +222,7 @@ def get_private_cloud(location: Optional[str] = None,
203
222
  network_configs=pulumi.get(__ret__, 'network_configs'),
204
223
  nsxes=pulumi.get(__ret__, 'nsxes'),
205
224
  project=pulumi.get(__ret__, 'project'),
225
+ send_deletion_delay_hours_if_zero=pulumi.get(__ret__, 'send_deletion_delay_hours_if_zero'),
206
226
  state=pulumi.get(__ret__, 'state'),
207
227
  type=pulumi.get(__ret__, 'type'),
208
228
  uid=pulumi.get(__ret__, 'uid'),
@@ -24,9 +24,11 @@ class PrivateCloudArgs:
24
24
  location: pulumi.Input[str],
25
25
  management_cluster: pulumi.Input['PrivateCloudManagementClusterArgs'],
26
26
  network_config: pulumi.Input['PrivateCloudNetworkConfigArgs'],
27
+ deletion_delay_hours: Optional[pulumi.Input[int]] = None,
27
28
  description: Optional[pulumi.Input[str]] = None,
28
29
  name: Optional[pulumi.Input[str]] = None,
29
30
  project: Optional[pulumi.Input[str]] = None,
31
+ send_deletion_delay_hours_if_zero: Optional[pulumi.Input[bool]] = None,
30
32
  type: Optional[pulumi.Input[str]] = None):
31
33
  """
32
34
  The set of arguments for constructing a PrivateCloud resource.
@@ -35,19 +37,28 @@ class PrivateCloudArgs:
35
37
  Structure is documented below.
36
38
  :param pulumi.Input['PrivateCloudNetworkConfigArgs'] network_config: Network configuration in the consumer project with which the peering has to be done.
37
39
  Structure is documented below.
40
+ :param pulumi.Input[int] deletion_delay_hours: The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
41
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
38
42
  :param pulumi.Input[str] description: User-provided description for this private cloud.
39
43
  :param pulumi.Input[str] name: The ID of the PrivateCloud.
44
+ :param pulumi.Input[bool] send_deletion_delay_hours_if_zero: While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
45
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
46
+ deletion_delay_hours.
40
47
  :param pulumi.Input[str] type: Initial type of the private cloud. Possible values: ["STANDARD", "TIME_LIMITED", "STRETCHED"]
41
48
  """
42
49
  pulumi.set(__self__, "location", location)
43
50
  pulumi.set(__self__, "management_cluster", management_cluster)
44
51
  pulumi.set(__self__, "network_config", network_config)
52
+ if deletion_delay_hours is not None:
53
+ pulumi.set(__self__, "deletion_delay_hours", deletion_delay_hours)
45
54
  if description is not None:
46
55
  pulumi.set(__self__, "description", description)
47
56
  if name is not None:
48
57
  pulumi.set(__self__, "name", name)
49
58
  if project is not None:
50
59
  pulumi.set(__self__, "project", project)
60
+ if send_deletion_delay_hours_if_zero is not None:
61
+ pulumi.set(__self__, "send_deletion_delay_hours_if_zero", send_deletion_delay_hours_if_zero)
51
62
  if type is not None:
52
63
  pulumi.set(__self__, "type", type)
53
64
 
@@ -89,6 +100,19 @@ class PrivateCloudArgs:
89
100
  def network_config(self, value: pulumi.Input['PrivateCloudNetworkConfigArgs']):
90
101
  pulumi.set(self, "network_config", value)
91
102
 
103
+ @property
104
+ @pulumi.getter(name="deletionDelayHours")
105
+ def deletion_delay_hours(self) -> Optional[pulumi.Input[int]]:
106
+ """
107
+ The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
108
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
109
+ """
110
+ return pulumi.get(self, "deletion_delay_hours")
111
+
112
+ @deletion_delay_hours.setter
113
+ def deletion_delay_hours(self, value: Optional[pulumi.Input[int]]):
114
+ pulumi.set(self, "deletion_delay_hours", value)
115
+
92
116
  @property
93
117
  @pulumi.getter
94
118
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -122,6 +146,20 @@ class PrivateCloudArgs:
122
146
  def project(self, value: Optional[pulumi.Input[str]]):
123
147
  pulumi.set(self, "project", value)
124
148
 
149
+ @property
150
+ @pulumi.getter(name="sendDeletionDelayHoursIfZero")
151
+ def send_deletion_delay_hours_if_zero(self) -> Optional[pulumi.Input[bool]]:
152
+ """
153
+ While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
154
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
155
+ deletion_delay_hours.
156
+ """
157
+ return pulumi.get(self, "send_deletion_delay_hours_if_zero")
158
+
159
+ @send_deletion_delay_hours_if_zero.setter
160
+ def send_deletion_delay_hours_if_zero(self, value: Optional[pulumi.Input[bool]]):
161
+ pulumi.set(self, "send_deletion_delay_hours_if_zero", value)
162
+
125
163
  @property
126
164
  @pulumi.getter
127
165
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -138,6 +176,7 @@ class PrivateCloudArgs:
138
176
  @pulumi.input_type
139
177
  class _PrivateCloudState:
140
178
  def __init__(__self__, *,
179
+ deletion_delay_hours: Optional[pulumi.Input[int]] = None,
141
180
  description: Optional[pulumi.Input[str]] = None,
142
181
  hcxes: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateCloudHcxArgs']]]] = None,
143
182
  location: Optional[pulumi.Input[str]] = None,
@@ -146,12 +185,15 @@ class _PrivateCloudState:
146
185
  network_config: Optional[pulumi.Input['PrivateCloudNetworkConfigArgs']] = None,
147
186
  nsxes: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateCloudNsxArgs']]]] = None,
148
187
  project: Optional[pulumi.Input[str]] = None,
188
+ send_deletion_delay_hours_if_zero: Optional[pulumi.Input[bool]] = None,
149
189
  state: Optional[pulumi.Input[str]] = None,
150
190
  type: Optional[pulumi.Input[str]] = None,
151
191
  uid: Optional[pulumi.Input[str]] = None,
152
192
  vcenters: Optional[pulumi.Input[Sequence[pulumi.Input['PrivateCloudVcenterArgs']]]] = None):
153
193
  """
154
194
  Input properties used for looking up and filtering PrivateCloud resources.
195
+ :param pulumi.Input[int] deletion_delay_hours: The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
196
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
155
197
  :param pulumi.Input[str] description: User-provided description for this private cloud.
156
198
  :param pulumi.Input[Sequence[pulumi.Input['PrivateCloudHcxArgs']]] hcxes: Details about a HCX Cloud Manager appliance.
157
199
  Structure is documented below.
@@ -163,6 +205,9 @@ class _PrivateCloudState:
163
205
  Structure is documented below.
164
206
  :param pulumi.Input[Sequence[pulumi.Input['PrivateCloudNsxArgs']]] nsxes: Details about a NSX Manager appliance.
165
207
  Structure is documented below.
208
+ :param pulumi.Input[bool] send_deletion_delay_hours_if_zero: While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
209
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
210
+ deletion_delay_hours.
166
211
  :param pulumi.Input[str] state: State of the appliance.
167
212
  Possible values are: `ACTIVE`, `CREATING`.
168
213
  :param pulumi.Input[str] type: Initial type of the private cloud. Possible values: ["STANDARD", "TIME_LIMITED", "STRETCHED"]
@@ -170,6 +215,8 @@ class _PrivateCloudState:
170
215
  :param pulumi.Input[Sequence[pulumi.Input['PrivateCloudVcenterArgs']]] vcenters: Details about a vCenter Server management appliance.
171
216
  Structure is documented below.
172
217
  """
218
+ if deletion_delay_hours is not None:
219
+ pulumi.set(__self__, "deletion_delay_hours", deletion_delay_hours)
173
220
  if description is not None:
174
221
  pulumi.set(__self__, "description", description)
175
222
  if hcxes is not None:
@@ -186,6 +233,8 @@ class _PrivateCloudState:
186
233
  pulumi.set(__self__, "nsxes", nsxes)
187
234
  if project is not None:
188
235
  pulumi.set(__self__, "project", project)
236
+ if send_deletion_delay_hours_if_zero is not None:
237
+ pulumi.set(__self__, "send_deletion_delay_hours_if_zero", send_deletion_delay_hours_if_zero)
189
238
  if state is not None:
190
239
  pulumi.set(__self__, "state", state)
191
240
  if type is not None:
@@ -195,6 +244,19 @@ class _PrivateCloudState:
195
244
  if vcenters is not None:
196
245
  pulumi.set(__self__, "vcenters", vcenters)
197
246
 
247
+ @property
248
+ @pulumi.getter(name="deletionDelayHours")
249
+ def deletion_delay_hours(self) -> Optional[pulumi.Input[int]]:
250
+ """
251
+ The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
252
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
253
+ """
254
+ return pulumi.get(self, "deletion_delay_hours")
255
+
256
+ @deletion_delay_hours.setter
257
+ def deletion_delay_hours(self, value: Optional[pulumi.Input[int]]):
258
+ pulumi.set(self, "deletion_delay_hours", value)
259
+
198
260
  @property
199
261
  @pulumi.getter
200
262
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -292,6 +354,20 @@ class _PrivateCloudState:
292
354
  def project(self, value: Optional[pulumi.Input[str]]):
293
355
  pulumi.set(self, "project", value)
294
356
 
357
+ @property
358
+ @pulumi.getter(name="sendDeletionDelayHoursIfZero")
359
+ def send_deletion_delay_hours_if_zero(self) -> Optional[pulumi.Input[bool]]:
360
+ """
361
+ While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
362
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
363
+ deletion_delay_hours.
364
+ """
365
+ return pulumi.get(self, "send_deletion_delay_hours_if_zero")
366
+
367
+ @send_deletion_delay_hours_if_zero.setter
368
+ def send_deletion_delay_hours_if_zero(self, value: Optional[pulumi.Input[bool]]):
369
+ pulumi.set(self, "send_deletion_delay_hours_if_zero", value)
370
+
295
371
  @property
296
372
  @pulumi.getter
297
373
  def state(self) -> Optional[pulumi.Input[str]]:
@@ -348,12 +424,14 @@ class PrivateCloud(pulumi.CustomResource):
348
424
  def __init__(__self__,
349
425
  resource_name: str,
350
426
  opts: Optional[pulumi.ResourceOptions] = None,
427
+ deletion_delay_hours: Optional[pulumi.Input[int]] = None,
351
428
  description: Optional[pulumi.Input[str]] = None,
352
429
  location: Optional[pulumi.Input[str]] = None,
353
430
  management_cluster: Optional[pulumi.Input[Union['PrivateCloudManagementClusterArgs', 'PrivateCloudManagementClusterArgsDict']]] = None,
354
431
  name: Optional[pulumi.Input[str]] = None,
355
432
  network_config: Optional[pulumi.Input[Union['PrivateCloudNetworkConfigArgs', 'PrivateCloudNetworkConfigArgsDict']]] = None,
356
433
  project: Optional[pulumi.Input[str]] = None,
434
+ send_deletion_delay_hours_if_zero: Optional[pulumi.Input[bool]] = None,
357
435
  type: Optional[pulumi.Input[str]] = None,
358
436
  __props__=None):
359
437
  """
@@ -419,7 +497,9 @@ class PrivateCloud(pulumi.CustomResource):
419
497
  "node_count": 1,
420
498
  "custom_core_count": 32,
421
499
  }],
422
- })
500
+ },
501
+ deletion_delay_hours=0,
502
+ send_deletion_delay_hours_if_zero=True)
423
503
  ```
424
504
 
425
505
  ## Import
@@ -448,6 +528,8 @@ class PrivateCloud(pulumi.CustomResource):
448
528
 
449
529
  :param str resource_name: The name of the resource.
450
530
  :param pulumi.ResourceOptions opts: Options for the resource.
531
+ :param pulumi.Input[int] deletion_delay_hours: The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
532
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
451
533
  :param pulumi.Input[str] description: User-provided description for this private cloud.
452
534
  :param pulumi.Input[str] location: The location where the PrivateCloud should reside.
453
535
  :param pulumi.Input[Union['PrivateCloudManagementClusterArgs', 'PrivateCloudManagementClusterArgsDict']] management_cluster: The management cluster for this private cloud. This used for creating and managing the default cluster.
@@ -455,6 +537,9 @@ class PrivateCloud(pulumi.CustomResource):
455
537
  :param pulumi.Input[str] name: The ID of the PrivateCloud.
456
538
  :param pulumi.Input[Union['PrivateCloudNetworkConfigArgs', 'PrivateCloudNetworkConfigArgsDict']] network_config: Network configuration in the consumer project with which the peering has to be done.
457
539
  Structure is documented below.
540
+ :param pulumi.Input[bool] send_deletion_delay_hours_if_zero: While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
541
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
542
+ deletion_delay_hours.
458
543
  :param pulumi.Input[str] type: Initial type of the private cloud. Possible values: ["STANDARD", "TIME_LIMITED", "STRETCHED"]
459
544
  """
460
545
  ...
@@ -526,7 +611,9 @@ class PrivateCloud(pulumi.CustomResource):
526
611
  "node_count": 1,
527
612
  "custom_core_count": 32,
528
613
  }],
529
- })
614
+ },
615
+ deletion_delay_hours=0,
616
+ send_deletion_delay_hours_if_zero=True)
530
617
  ```
531
618
 
532
619
  ## Import
@@ -568,12 +655,14 @@ class PrivateCloud(pulumi.CustomResource):
568
655
  def _internal_init(__self__,
569
656
  resource_name: str,
570
657
  opts: Optional[pulumi.ResourceOptions] = None,
658
+ deletion_delay_hours: Optional[pulumi.Input[int]] = None,
571
659
  description: Optional[pulumi.Input[str]] = None,
572
660
  location: Optional[pulumi.Input[str]] = None,
573
661
  management_cluster: Optional[pulumi.Input[Union['PrivateCloudManagementClusterArgs', 'PrivateCloudManagementClusterArgsDict']]] = None,
574
662
  name: Optional[pulumi.Input[str]] = None,
575
663
  network_config: Optional[pulumi.Input[Union['PrivateCloudNetworkConfigArgs', 'PrivateCloudNetworkConfigArgsDict']]] = None,
576
664
  project: Optional[pulumi.Input[str]] = None,
665
+ send_deletion_delay_hours_if_zero: Optional[pulumi.Input[bool]] = None,
577
666
  type: Optional[pulumi.Input[str]] = None,
578
667
  __props__=None):
579
668
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -584,6 +673,7 @@ class PrivateCloud(pulumi.CustomResource):
584
673
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
585
674
  __props__ = PrivateCloudArgs.__new__(PrivateCloudArgs)
586
675
 
676
+ __props__.__dict__["deletion_delay_hours"] = deletion_delay_hours
587
677
  __props__.__dict__["description"] = description
588
678
  if location is None and not opts.urn:
589
679
  raise TypeError("Missing required property 'location'")
@@ -596,6 +686,7 @@ class PrivateCloud(pulumi.CustomResource):
596
686
  raise TypeError("Missing required property 'network_config'")
597
687
  __props__.__dict__["network_config"] = network_config
598
688
  __props__.__dict__["project"] = project
689
+ __props__.__dict__["send_deletion_delay_hours_if_zero"] = send_deletion_delay_hours_if_zero
599
690
  __props__.__dict__["type"] = type
600
691
  __props__.__dict__["hcxes"] = None
601
692
  __props__.__dict__["nsxes"] = None
@@ -612,6 +703,7 @@ class PrivateCloud(pulumi.CustomResource):
612
703
  def get(resource_name: str,
613
704
  id: pulumi.Input[str],
614
705
  opts: Optional[pulumi.ResourceOptions] = None,
706
+ deletion_delay_hours: Optional[pulumi.Input[int]] = None,
615
707
  description: Optional[pulumi.Input[str]] = None,
616
708
  hcxes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateCloudHcxArgs', 'PrivateCloudHcxArgsDict']]]]] = None,
617
709
  location: Optional[pulumi.Input[str]] = None,
@@ -620,6 +712,7 @@ class PrivateCloud(pulumi.CustomResource):
620
712
  network_config: Optional[pulumi.Input[Union['PrivateCloudNetworkConfigArgs', 'PrivateCloudNetworkConfigArgsDict']]] = None,
621
713
  nsxes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PrivateCloudNsxArgs', 'PrivateCloudNsxArgsDict']]]]] = None,
622
714
  project: Optional[pulumi.Input[str]] = None,
715
+ send_deletion_delay_hours_if_zero: Optional[pulumi.Input[bool]] = None,
623
716
  state: Optional[pulumi.Input[str]] = None,
624
717
  type: Optional[pulumi.Input[str]] = None,
625
718
  uid: Optional[pulumi.Input[str]] = None,
@@ -631,6 +724,8 @@ class PrivateCloud(pulumi.CustomResource):
631
724
  :param str resource_name: The unique name of the resulting resource.
632
725
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
633
726
  :param pulumi.ResourceOptions opts: Options for the resource.
727
+ :param pulumi.Input[int] deletion_delay_hours: The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
728
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
634
729
  :param pulumi.Input[str] description: User-provided description for this private cloud.
635
730
  :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateCloudHcxArgs', 'PrivateCloudHcxArgsDict']]]] hcxes: Details about a HCX Cloud Manager appliance.
636
731
  Structure is documented below.
@@ -642,6 +737,9 @@ class PrivateCloud(pulumi.CustomResource):
642
737
  Structure is documented below.
643
738
  :param pulumi.Input[Sequence[pulumi.Input[Union['PrivateCloudNsxArgs', 'PrivateCloudNsxArgsDict']]]] nsxes: Details about a NSX Manager appliance.
644
739
  Structure is documented below.
740
+ :param pulumi.Input[bool] send_deletion_delay_hours_if_zero: While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
741
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
742
+ deletion_delay_hours.
645
743
  :param pulumi.Input[str] state: State of the appliance.
646
744
  Possible values are: `ACTIVE`, `CREATING`.
647
745
  :param pulumi.Input[str] type: Initial type of the private cloud. Possible values: ["STANDARD", "TIME_LIMITED", "STRETCHED"]
@@ -653,6 +751,7 @@ class PrivateCloud(pulumi.CustomResource):
653
751
 
654
752
  __props__ = _PrivateCloudState.__new__(_PrivateCloudState)
655
753
 
754
+ __props__.__dict__["deletion_delay_hours"] = deletion_delay_hours
656
755
  __props__.__dict__["description"] = description
657
756
  __props__.__dict__["hcxes"] = hcxes
658
757
  __props__.__dict__["location"] = location
@@ -661,12 +760,22 @@ class PrivateCloud(pulumi.CustomResource):
661
760
  __props__.__dict__["network_config"] = network_config
662
761
  __props__.__dict__["nsxes"] = nsxes
663
762
  __props__.__dict__["project"] = project
763
+ __props__.__dict__["send_deletion_delay_hours_if_zero"] = send_deletion_delay_hours_if_zero
664
764
  __props__.__dict__["state"] = state
665
765
  __props__.__dict__["type"] = type
666
766
  __props__.__dict__["uid"] = uid
667
767
  __props__.__dict__["vcenters"] = vcenters
668
768
  return PrivateCloud(resource_name, opts=opts, __props__=__props__)
669
769
 
770
+ @property
771
+ @pulumi.getter(name="deletionDelayHours")
772
+ def deletion_delay_hours(self) -> pulumi.Output[Optional[int]]:
773
+ """
774
+ The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0
775
+ starts the deletion request immediately. If no value is set, a default value is set at the API Level.
776
+ """
777
+ return pulumi.get(self, "deletion_delay_hours")
778
+
670
779
  @property
671
780
  @pulumi.getter
672
781
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -732,6 +841,16 @@ class PrivateCloud(pulumi.CustomResource):
732
841
  def project(self) -> pulumi.Output[str]:
733
842
  return pulumi.get(self, "project")
734
843
 
844
+ @property
845
+ @pulumi.getter(name="sendDeletionDelayHoursIfZero")
846
+ def send_deletion_delay_hours_if_zero(self) -> pulumi.Output[Optional[bool]]:
847
+ """
848
+ While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is
849
+ only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with
850
+ deletion_delay_hours.
851
+ """
852
+ return pulumi.get(self, "send_deletion_delay_hours_if_zero")
853
+
735
854
  @property
736
855
  @pulumi.getter
737
856
  def state(self) -> pulumi.Output[str]:
@@ -27,6 +27,8 @@ __all__ = [
27
27
  'InstanceGceSetupDataDisksArgsDict',
28
28
  'InstanceGceSetupNetworkInterfaceArgs',
29
29
  'InstanceGceSetupNetworkInterfaceArgsDict',
30
+ 'InstanceGceSetupNetworkInterfaceAccessConfigArgs',
31
+ 'InstanceGceSetupNetworkInterfaceAccessConfigArgsDict',
30
32
  'InstanceGceSetupServiceAccountArgs',
31
33
  'InstanceGceSetupServiceAccountArgsDict',
32
34
  'InstanceGceSetupShieldedInstanceConfigArgs',
@@ -699,6 +701,14 @@ class InstanceGceSetupDataDisksArgs:
699
701
 
700
702
  if not MYPY:
701
703
  class InstanceGceSetupNetworkInterfaceArgsDict(TypedDict):
704
+ access_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceAccessConfigArgsDict']]]]
705
+ """
706
+ Optional. An array of configurations for this interface. Currently, only one access
707
+ config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the
708
+ instance will have an external internet access through an ephemeral
709
+ external IP address.
710
+ Structure is documented below.
711
+ """
702
712
  network: NotRequired[pulumi.Input[str]]
703
713
  """
704
714
  Optional. The name of the VPC that this VM instance is in.
@@ -719,16 +729,24 @@ elif False:
719
729
  @pulumi.input_type
720
730
  class InstanceGceSetupNetworkInterfaceArgs:
721
731
  def __init__(__self__, *,
732
+ access_configs: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceAccessConfigArgs']]]] = None,
722
733
  network: Optional[pulumi.Input[str]] = None,
723
734
  nic_type: Optional[pulumi.Input[str]] = None,
724
735
  subnet: Optional[pulumi.Input[str]] = None):
725
736
  """
737
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceAccessConfigArgs']]] access_configs: Optional. An array of configurations for this interface. Currently, only one access
738
+ config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the
739
+ instance will have an external internet access through an ephemeral
740
+ external IP address.
741
+ Structure is documented below.
726
742
  :param pulumi.Input[str] network: Optional. The name of the VPC that this VM instance is in.
727
743
  :param pulumi.Input[str] nic_type: Optional. The type of vNIC to be used on this interface. This
728
744
  may be gVNIC or VirtioNet.
729
745
  Possible values are: `VIRTIO_NET`, `GVNIC`.
730
746
  :param pulumi.Input[str] subnet: Optional. The name of the subnet that this VM instance is in.
731
747
  """
748
+ if access_configs is not None:
749
+ pulumi.set(__self__, "access_configs", access_configs)
732
750
  if network is not None:
733
751
  pulumi.set(__self__, "network", network)
734
752
  if nic_type is not None:
@@ -736,6 +754,22 @@ class InstanceGceSetupNetworkInterfaceArgs:
736
754
  if subnet is not None:
737
755
  pulumi.set(__self__, "subnet", subnet)
738
756
 
757
+ @property
758
+ @pulumi.getter(name="accessConfigs")
759
+ def access_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceAccessConfigArgs']]]]:
760
+ """
761
+ Optional. An array of configurations for this interface. Currently, only one access
762
+ config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the
763
+ instance will have an external internet access through an ephemeral
764
+ external IP address.
765
+ Structure is documented below.
766
+ """
767
+ return pulumi.get(self, "access_configs")
768
+
769
+ @access_configs.setter
770
+ def access_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGceSetupNetworkInterfaceAccessConfigArgs']]]]):
771
+ pulumi.set(self, "access_configs", value)
772
+
739
773
  @property
740
774
  @pulumi.getter
741
775
  def network(self) -> Optional[pulumi.Input[str]]:
@@ -775,6 +809,49 @@ class InstanceGceSetupNetworkInterfaceArgs:
775
809
  pulumi.set(self, "subnet", value)
776
810
 
777
811
 
812
+ if not MYPY:
813
+ class InstanceGceSetupNetworkInterfaceAccessConfigArgsDict(TypedDict):
814
+ external_ip: pulumi.Input[str]
815
+ """
816
+ An external IP address associated with this instance. Specify an unused
817
+ static external IP address available to the project or leave this field
818
+ undefined to use an IP from a shared ephemeral IP address pool. If you
819
+ specify a static external IP address, it must live in the same region as
820
+ the zone of the instance.
821
+ """
822
+ elif False:
823
+ InstanceGceSetupNetworkInterfaceAccessConfigArgsDict: TypeAlias = Mapping[str, Any]
824
+
825
+ @pulumi.input_type
826
+ class InstanceGceSetupNetworkInterfaceAccessConfigArgs:
827
+ def __init__(__self__, *,
828
+ external_ip: pulumi.Input[str]):
829
+ """
830
+ :param pulumi.Input[str] external_ip: An external IP address associated with this instance. Specify an unused
831
+ static external IP address available to the project or leave this field
832
+ undefined to use an IP from a shared ephemeral IP address pool. If you
833
+ specify a static external IP address, it must live in the same region as
834
+ the zone of the instance.
835
+ """
836
+ pulumi.set(__self__, "external_ip", external_ip)
837
+
838
+ @property
839
+ @pulumi.getter(name="externalIp")
840
+ def external_ip(self) -> pulumi.Input[str]:
841
+ """
842
+ An external IP address associated with this instance. Specify an unused
843
+ static external IP address available to the project or leave this field
844
+ undefined to use an IP from a shared ephemeral IP address pool. If you
845
+ specify a static external IP address, it must live in the same region as
846
+ the zone of the instance.
847
+ """
848
+ return pulumi.get(self, "external_ip")
849
+
850
+ @external_ip.setter
851
+ def external_ip(self, value: pulumi.Input[str]):
852
+ pulumi.set(self, "external_ip", value)
853
+
854
+
778
855
  if not MYPY:
779
856
  class InstanceGceSetupServiceAccountArgsDict(TypedDict):
780
857
  email: NotRequired[pulumi.Input[str]]
@@ -629,7 +629,6 @@ class Instance(pulumi.CustomResource):
629
629
  "terraform": "true",
630
630
  },
631
631
  },
632
- instance_owners=["my@service-account.com"],
633
632
  labels={
634
633
  "k": "val",
635
634
  },
@@ -649,6 +648,11 @@ class Instance(pulumi.CustomResource):
649
648
  network=my_network.id,
650
649
  region="us-central1",
651
650
  ip_cidr_range="10.0.1.0/24")
651
+ static = gcp.compute.Address("static", name="wbi-test-default")
652
+ act_as_permission = gcp.serviceaccount.IAMBinding("act_as_permission",
653
+ service_account_id="projects/my-project-name/serviceAccounts/my@service-account.com",
654
+ role="roles/iam.serviceAccountUser",
655
+ members=["user:example@example.com"])
652
656
  instance = gcp.workbench.Instance("instance",
653
657
  name="workbench-instance",
654
658
  location="us-central1-a",
@@ -683,6 +687,9 @@ class Instance(pulumi.CustomResource):
683
687
  "network": my_network.id,
684
688
  "subnet": my_subnetwork.id,
685
689
  "nic_type": "GVNIC",
690
+ "access_configs": [{
691
+ "external_ip": static.address,
692
+ }],
686
693
  }],
687
694
  "metadata": {
688
695
  "terraform": "true",
@@ -694,7 +701,7 @@ class Instance(pulumi.CustomResource):
694
701
  ],
695
702
  },
696
703
  disable_proxy_access=True,
697
- instance_owners=["my@service-account.com"],
704
+ instance_owners=["example@example.com"],
698
705
  labels={
699
706
  "k": "val",
700
707
  },
@@ -829,7 +836,6 @@ class Instance(pulumi.CustomResource):
829
836
  "terraform": "true",
830
837
  },
831
838
  },
832
- instance_owners=["my@service-account.com"],
833
839
  labels={
834
840
  "k": "val",
835
841
  },
@@ -849,6 +855,11 @@ class Instance(pulumi.CustomResource):
849
855
  network=my_network.id,
850
856
  region="us-central1",
851
857
  ip_cidr_range="10.0.1.0/24")
858
+ static = gcp.compute.Address("static", name="wbi-test-default")
859
+ act_as_permission = gcp.serviceaccount.IAMBinding("act_as_permission",
860
+ service_account_id="projects/my-project-name/serviceAccounts/my@service-account.com",
861
+ role="roles/iam.serviceAccountUser",
862
+ members=["user:example@example.com"])
852
863
  instance = gcp.workbench.Instance("instance",
853
864
  name="workbench-instance",
854
865
  location="us-central1-a",
@@ -883,6 +894,9 @@ class Instance(pulumi.CustomResource):
883
894
  "network": my_network.id,
884
895
  "subnet": my_subnetwork.id,
885
896
  "nic_type": "GVNIC",
897
+ "access_configs": [{
898
+ "external_ip": static.address,
899
+ }],
886
900
  }],
887
901
  "metadata": {
888
902
  "terraform": "true",
@@ -894,7 +908,7 @@ class Instance(pulumi.CustomResource):
894
908
  ],
895
909
  },
896
910
  disable_proxy_access=True,
897
- instance_owners=["my@service-account.com"],
911
+ instance_owners=["example@example.com"],
898
912
  labels={
899
913
  "k": "val",
900
914
  },