pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apigee/nat_address.py +155 -2
  3. pulumi_gcp/bigquery/_inputs.py +102 -0
  4. pulumi_gcp/bigquery/outputs.py +83 -0
  5. pulumi_gcp/bigquery/table.py +47 -0
  6. pulumi_gcp/cloudrun/_inputs.py +26 -0
  7. pulumi_gcp/cloudrun/outputs.py +33 -0
  8. pulumi_gcp/cloudrun/service.py +76 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  10. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  11. pulumi_gcp/cloudrunv2/service.py +64 -0
  12. pulumi_gcp/compute/__init__.py +3 -0
  13. pulumi_gcp/compute/_inputs.py +1941 -2
  14. pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
  15. pulumi_gcp/compute/get_router_nat.py +11 -1
  16. pulumi_gcp/compute/instance.py +7 -7
  17. pulumi_gcp/compute/instance_from_machine_image.py +7 -7
  18. pulumi_gcp/compute/instance_from_template.py +7 -7
  19. pulumi_gcp/compute/interconnect.py +76 -64
  20. pulumi_gcp/compute/outputs.py +4637 -2640
  21. pulumi_gcp/compute/region_commitment.py +47 -0
  22. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
  23. pulumi_gcp/compute/router_nat.py +56 -2
  24. pulumi_gcp/compute/router_nat_address.py +514 -0
  25. pulumi_gcp/compute/subnetwork.py +14 -14
  26. pulumi_gcp/container/_inputs.py +222 -0
  27. pulumi_gcp/container/outputs.py +279 -2
  28. pulumi_gcp/logging/__init__.py +1 -0
  29. pulumi_gcp/logging/log_scope.py +492 -0
  30. pulumi_gcp/looker/_inputs.py +157 -0
  31. pulumi_gcp/looker/instance.py +143 -0
  32. pulumi_gcp/looker/outputs.py +136 -0
  33. pulumi_gcp/networkconnectivity/_inputs.py +72 -3
  34. pulumi_gcp/networkconnectivity/outputs.py +51 -3
  35. pulumi_gcp/networkconnectivity/spoke.py +310 -0
  36. pulumi_gcp/networksecurity/security_profile.py +2 -2
  37. pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
  38. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
  39. pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
  40. pulumi_gcp/pulumi-plugin.json +1 -1
  41. pulumi_gcp/secretmanager/__init__.py +2 -0
  42. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  43. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
  44. pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
  45. pulumi_gcp/secretmanager/outputs.py +265 -0
  46. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
  48. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -2957,6 +2957,14 @@ _utilities.register(
2957
2957
  "gcp:compute/regionNetworkFirewallPolicyRule:RegionNetworkFirewallPolicyRule": "RegionNetworkFirewallPolicyRule"
2958
2958
  }
2959
2959
  },
2960
+ {
2961
+ "pkg": "gcp",
2962
+ "mod": "compute/regionNetworkFirewallPolicyWithRules",
2963
+ "fqn": "pulumi_gcp.compute",
2964
+ "classes": {
2965
+ "gcp:compute/regionNetworkFirewallPolicyWithRules:RegionNetworkFirewallPolicyWithRules": "RegionNetworkFirewallPolicyWithRules"
2966
+ }
2967
+ },
2960
2968
  {
2961
2969
  "pkg": "gcp",
2962
2970
  "mod": "compute/regionPerInstanceConfig",
@@ -3085,6 +3093,14 @@ _utilities.register(
3085
3093
  "gcp:compute/routerNat:RouterNat": "RouterNat"
3086
3094
  }
3087
3095
  },
3096
+ {
3097
+ "pkg": "gcp",
3098
+ "mod": "compute/routerNatAddress",
3099
+ "fqn": "pulumi_gcp.compute",
3100
+ "classes": {
3101
+ "gcp:compute/routerNatAddress:RouterNatAddress": "RouterNatAddress"
3102
+ }
3103
+ },
3088
3104
  {
3089
3105
  "pkg": "gcp",
3090
3106
  "mod": "compute/routerPeer",
@@ -5853,6 +5869,14 @@ _utilities.register(
5853
5869
  "gcp:logging/linkedDataset:LinkedDataset": "LinkedDataset"
5854
5870
  }
5855
5871
  },
5872
+ {
5873
+ "pkg": "gcp",
5874
+ "mod": "logging/logScope",
5875
+ "fqn": "pulumi_gcp.logging",
5876
+ "classes": {
5877
+ "gcp:logging/logScope:LogScope": "LogScope"
5878
+ }
5879
+ },
5856
5880
  {
5857
5881
  "pkg": "gcp",
5858
5882
  "mod": "logging/logView",
@@ -20,6 +20,7 @@ __all__ = ['NatAddressArgs', 'NatAddress']
20
20
  class NatAddressArgs:
21
21
  def __init__(__self__, *,
22
22
  instance_id: pulumi.Input[str],
23
+ activate: Optional[pulumi.Input[bool]] = None,
23
24
  name: Optional[pulumi.Input[str]] = None):
24
25
  """
25
26
  The set of arguments for constructing a NatAddress resource.
@@ -28,9 +29,12 @@ class NatAddressArgs:
28
29
 
29
30
 
30
31
  - - -
32
+ :param pulumi.Input[bool] activate: Flag that specifies whether the reserved NAT address should be activate.
31
33
  :param pulumi.Input[str] name: Resource ID of the NAT address.
32
34
  """
33
35
  pulumi.set(__self__, "instance_id", instance_id)
36
+ if activate is not None:
37
+ pulumi.set(__self__, "activate", activate)
34
38
  if name is not None:
35
39
  pulumi.set(__self__, "name", name)
36
40
 
@@ -50,6 +54,18 @@ class NatAddressArgs:
50
54
  def instance_id(self, value: pulumi.Input[str]):
51
55
  pulumi.set(self, "instance_id", value)
52
56
 
57
+ @property
58
+ @pulumi.getter
59
+ def activate(self) -> Optional[pulumi.Input[bool]]:
60
+ """
61
+ Flag that specifies whether the reserved NAT address should be activate.
62
+ """
63
+ return pulumi.get(self, "activate")
64
+
65
+ @activate.setter
66
+ def activate(self, value: Optional[pulumi.Input[bool]]):
67
+ pulumi.set(self, "activate", value)
68
+
53
69
  @property
54
70
  @pulumi.getter
55
71
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -66,12 +82,14 @@ class NatAddressArgs:
66
82
  @pulumi.input_type
67
83
  class _NatAddressState:
68
84
  def __init__(__self__, *,
85
+ activate: Optional[pulumi.Input[bool]] = None,
69
86
  instance_id: Optional[pulumi.Input[str]] = None,
70
87
  ip_address: Optional[pulumi.Input[str]] = None,
71
88
  name: Optional[pulumi.Input[str]] = None,
72
89
  state: Optional[pulumi.Input[str]] = None):
73
90
  """
74
91
  Input properties used for looking up and filtering NatAddress resources.
92
+ :param pulumi.Input[bool] activate: Flag that specifies whether the reserved NAT address should be activate.
75
93
  :param pulumi.Input[str] instance_id: The Apigee instance associated with the Apigee environment,
76
94
  in the format `organizations/{{org_name}}/instances/{{instance_name}}`.
77
95
 
@@ -81,6 +99,8 @@ class _NatAddressState:
81
99
  :param pulumi.Input[str] name: Resource ID of the NAT address.
82
100
  :param pulumi.Input[str] state: State of the NAT IP address.
83
101
  """
102
+ if activate is not None:
103
+ pulumi.set(__self__, "activate", activate)
84
104
  if instance_id is not None:
85
105
  pulumi.set(__self__, "instance_id", instance_id)
86
106
  if ip_address is not None:
@@ -90,6 +110,18 @@ class _NatAddressState:
90
110
  if state is not None:
91
111
  pulumi.set(__self__, "state", state)
92
112
 
113
+ @property
114
+ @pulumi.getter
115
+ def activate(self) -> Optional[pulumi.Input[bool]]:
116
+ """
117
+ Flag that specifies whether the reserved NAT address should be activate.
118
+ """
119
+ return pulumi.get(self, "activate")
120
+
121
+ @activate.setter
122
+ def activate(self, value: Optional[pulumi.Input[bool]]):
123
+ pulumi.set(self, "activate", value)
124
+
93
125
  @property
94
126
  @pulumi.getter(name="instanceId")
95
127
  def instance_id(self) -> Optional[pulumi.Input[str]]:
@@ -148,12 +180,12 @@ class NatAddress(pulumi.CustomResource):
148
180
  def __init__(__self__,
149
181
  resource_name: str,
150
182
  opts: Optional[pulumi.ResourceOptions] = None,
183
+ activate: Optional[pulumi.Input[bool]] = None,
151
184
  instance_id: Optional[pulumi.Input[str]] = None,
152
185
  name: Optional[pulumi.Input[str]] = None,
153
186
  __props__=None):
154
187
  """
155
188
  Apigee NAT (network address translation) address. A NAT address is a static external IP address used for Internet egress traffic. This is not avaible for Apigee hybrid.
156
- Apigee NAT addresses are not automatically activated because they might require explicit allow entries on the target systems first. See https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances.natAddresses/activate
157
189
 
158
190
  To get more information about NatAddress, see:
159
191
 
@@ -216,6 +248,60 @@ class NatAddress(pulumi.CustomResource):
216
248
  name="my-nat-address",
217
249
  instance_id=apigee_instance.id)
218
250
  ```
251
+ ### Apigee Nat Address With Activate
252
+
253
+ ```python
254
+ import pulumi
255
+ import pulumi_gcp as gcp
256
+
257
+ current = gcp.organizations.get_client_config()
258
+ apigee_network = gcp.compute.Network("apigee_network", name="apigee-network")
259
+ apigee_range = gcp.compute.GlobalAddress("apigee_range",
260
+ name="apigee-range",
261
+ purpose="VPC_PEERING",
262
+ address_type="INTERNAL",
263
+ prefix_length=21,
264
+ network=apigee_network.id)
265
+ apigee_vpc_connection = gcp.servicenetworking.Connection("apigee_vpc_connection",
266
+ network=apigee_network.id,
267
+ service="servicenetworking.googleapis.com",
268
+ reserved_peering_ranges=[apigee_range.name])
269
+ apigee_keyring = gcp.kms.KeyRing("apigee_keyring",
270
+ name="apigee-keyring",
271
+ location="us-central1")
272
+ apigee_key = gcp.kms.CryptoKey("apigee_key",
273
+ name="apigee-key",
274
+ key_ring=apigee_keyring.id)
275
+ apigee_sa = gcp.projects.ServiceIdentity("apigee_sa",
276
+ project=project["projectId"],
277
+ service=apigee["service"])
278
+ apigee_sa_keyuser = gcp.kms.CryptoKeyIAMMember("apigee_sa_keyuser",
279
+ crypto_key_id=apigee_key.id,
280
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
281
+ member=apigee_sa.member)
282
+ apigee_org = gcp.apigee.Organization("apigee_org",
283
+ analytics_region="us-central1",
284
+ display_name="apigee-org",
285
+ description="Terraform-provisioned Apigee Org.",
286
+ project_id=current.project,
287
+ authorized_network=apigee_network.id,
288
+ runtime_database_encryption_key_name=apigee_key.id,
289
+ opts = pulumi.ResourceOptions(depends_on=[
290
+ apigee_vpc_connection,
291
+ apigee_sa_keyuser,
292
+ ]))
293
+ apigee_instance = gcp.apigee.Instance("apigee_instance",
294
+ name="apigee-instance",
295
+ location="us-central1",
296
+ description="Terraform-managed Apigee Runtime Instance",
297
+ display_name="apigee-instance",
298
+ org_id=apigee_org.id,
299
+ disk_encryption_key_name=apigee_key.id)
300
+ apigee_nat = gcp.apigee.NatAddress("apigee-nat",
301
+ name="my-nat-address",
302
+ activate=True,
303
+ instance_id=apigee_instance.id)
304
+ ```
219
305
 
220
306
  ## Import
221
307
 
@@ -237,6 +323,7 @@ class NatAddress(pulumi.CustomResource):
237
323
 
238
324
  :param str resource_name: The name of the resource.
239
325
  :param pulumi.ResourceOptions opts: Options for the resource.
326
+ :param pulumi.Input[bool] activate: Flag that specifies whether the reserved NAT address should be activate.
240
327
  :param pulumi.Input[str] instance_id: The Apigee instance associated with the Apigee environment,
241
328
  in the format `organizations/{{org_name}}/instances/{{instance_name}}`.
242
329
 
@@ -252,7 +339,6 @@ class NatAddress(pulumi.CustomResource):
252
339
  opts: Optional[pulumi.ResourceOptions] = None):
253
340
  """
254
341
  Apigee NAT (network address translation) address. A NAT address is a static external IP address used for Internet egress traffic. This is not avaible for Apigee hybrid.
255
- Apigee NAT addresses are not automatically activated because they might require explicit allow entries on the target systems first. See https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances.natAddresses/activate
256
342
 
257
343
  To get more information about NatAddress, see:
258
344
 
@@ -315,6 +401,60 @@ class NatAddress(pulumi.CustomResource):
315
401
  name="my-nat-address",
316
402
  instance_id=apigee_instance.id)
317
403
  ```
404
+ ### Apigee Nat Address With Activate
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumi_gcp as gcp
409
+
410
+ current = gcp.organizations.get_client_config()
411
+ apigee_network = gcp.compute.Network("apigee_network", name="apigee-network")
412
+ apigee_range = gcp.compute.GlobalAddress("apigee_range",
413
+ name="apigee-range",
414
+ purpose="VPC_PEERING",
415
+ address_type="INTERNAL",
416
+ prefix_length=21,
417
+ network=apigee_network.id)
418
+ apigee_vpc_connection = gcp.servicenetworking.Connection("apigee_vpc_connection",
419
+ network=apigee_network.id,
420
+ service="servicenetworking.googleapis.com",
421
+ reserved_peering_ranges=[apigee_range.name])
422
+ apigee_keyring = gcp.kms.KeyRing("apigee_keyring",
423
+ name="apigee-keyring",
424
+ location="us-central1")
425
+ apigee_key = gcp.kms.CryptoKey("apigee_key",
426
+ name="apigee-key",
427
+ key_ring=apigee_keyring.id)
428
+ apigee_sa = gcp.projects.ServiceIdentity("apigee_sa",
429
+ project=project["projectId"],
430
+ service=apigee["service"])
431
+ apigee_sa_keyuser = gcp.kms.CryptoKeyIAMMember("apigee_sa_keyuser",
432
+ crypto_key_id=apigee_key.id,
433
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
434
+ member=apigee_sa.member)
435
+ apigee_org = gcp.apigee.Organization("apigee_org",
436
+ analytics_region="us-central1",
437
+ display_name="apigee-org",
438
+ description="Terraform-provisioned Apigee Org.",
439
+ project_id=current.project,
440
+ authorized_network=apigee_network.id,
441
+ runtime_database_encryption_key_name=apigee_key.id,
442
+ opts = pulumi.ResourceOptions(depends_on=[
443
+ apigee_vpc_connection,
444
+ apigee_sa_keyuser,
445
+ ]))
446
+ apigee_instance = gcp.apigee.Instance("apigee_instance",
447
+ name="apigee-instance",
448
+ location="us-central1",
449
+ description="Terraform-managed Apigee Runtime Instance",
450
+ display_name="apigee-instance",
451
+ org_id=apigee_org.id,
452
+ disk_encryption_key_name=apigee_key.id)
453
+ apigee_nat = gcp.apigee.NatAddress("apigee-nat",
454
+ name="my-nat-address",
455
+ activate=True,
456
+ instance_id=apigee_instance.id)
457
+ ```
318
458
 
319
459
  ## Import
320
460
 
@@ -349,6 +489,7 @@ class NatAddress(pulumi.CustomResource):
349
489
  def _internal_init(__self__,
350
490
  resource_name: str,
351
491
  opts: Optional[pulumi.ResourceOptions] = None,
492
+ activate: Optional[pulumi.Input[bool]] = None,
352
493
  instance_id: Optional[pulumi.Input[str]] = None,
353
494
  name: Optional[pulumi.Input[str]] = None,
354
495
  __props__=None):
@@ -360,6 +501,7 @@ class NatAddress(pulumi.CustomResource):
360
501
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
361
502
  __props__ = NatAddressArgs.__new__(NatAddressArgs)
362
503
 
504
+ __props__.__dict__["activate"] = activate
363
505
  if instance_id is None and not opts.urn:
364
506
  raise TypeError("Missing required property 'instance_id'")
365
507
  __props__.__dict__["instance_id"] = instance_id
@@ -376,6 +518,7 @@ class NatAddress(pulumi.CustomResource):
376
518
  def get(resource_name: str,
377
519
  id: pulumi.Input[str],
378
520
  opts: Optional[pulumi.ResourceOptions] = None,
521
+ activate: Optional[pulumi.Input[bool]] = None,
379
522
  instance_id: Optional[pulumi.Input[str]] = None,
380
523
  ip_address: Optional[pulumi.Input[str]] = None,
381
524
  name: Optional[pulumi.Input[str]] = None,
@@ -387,6 +530,7 @@ class NatAddress(pulumi.CustomResource):
387
530
  :param str resource_name: The unique name of the resulting resource.
388
531
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
389
532
  :param pulumi.ResourceOptions opts: Options for the resource.
533
+ :param pulumi.Input[bool] activate: Flag that specifies whether the reserved NAT address should be activate.
390
534
  :param pulumi.Input[str] instance_id: The Apigee instance associated with the Apigee environment,
391
535
  in the format `organizations/{{org_name}}/instances/{{instance_name}}`.
392
536
 
@@ -400,12 +544,21 @@ class NatAddress(pulumi.CustomResource):
400
544
 
401
545
  __props__ = _NatAddressState.__new__(_NatAddressState)
402
546
 
547
+ __props__.__dict__["activate"] = activate
403
548
  __props__.__dict__["instance_id"] = instance_id
404
549
  __props__.__dict__["ip_address"] = ip_address
405
550
  __props__.__dict__["name"] = name
406
551
  __props__.__dict__["state"] = state
407
552
  return NatAddress(resource_name, opts=opts, __props__=__props__)
408
553
 
554
+ @property
555
+ @pulumi.getter
556
+ def activate(self) -> pulumi.Output[Optional[bool]]:
557
+ """
558
+ Flag that specifies whether the reserved NAT address should be activate.
559
+ """
560
+ return pulumi.get(self, "activate")
561
+
409
562
  @property
410
563
  @pulumi.getter(name="instanceId")
411
564
  def instance_id(self) -> pulumi.Output[str]:
@@ -131,6 +131,8 @@ __all__ = [
131
131
  'RoutineRemoteFunctionOptionsArgsDict',
132
132
  'RoutineSparkOptionsArgs',
133
133
  'RoutineSparkOptionsArgsDict',
134
+ 'TableBiglakeConfigurationArgs',
135
+ 'TableBiglakeConfigurationArgsDict',
134
136
  'TableEncryptionConfigurationArgs',
135
137
  'TableEncryptionConfigurationArgsDict',
136
138
  'TableExternalDataConfigurationArgs',
@@ -5426,6 +5428,106 @@ class RoutineSparkOptionsArgs:
5426
5428
  pulumi.set(self, "runtime_version", value)
5427
5429
 
5428
5430
 
5431
+ if not MYPY:
5432
+ class TableBiglakeConfigurationArgsDict(TypedDict):
5433
+ connection_id: pulumi.Input[str]
5434
+ """
5435
+ The connection specifying the credentials to be used to
5436
+ read and write to external storage, such as Cloud Storage. The connection_id can
5437
+ have the form "<project\\_id>.<location\\_id>.<connection\\_id>" or
5438
+ projects/<project\\_id>/locations/<location\\_id>/connections/<connection\\_id>".
5439
+ """
5440
+ file_format: pulumi.Input[str]
5441
+ """
5442
+ The file format the table data is stored in.
5443
+ """
5444
+ storage_uri: pulumi.Input[str]
5445
+ """
5446
+ The fully qualified location prefix of the external folder where table data
5447
+ is stored. The '*' wildcard character is not allowed. The URI should be in the format "gs://bucket/path_to_table/"
5448
+ """
5449
+ table_format: pulumi.Input[str]
5450
+ """
5451
+ The table format the metadata only snapshots are stored in.
5452
+ """
5453
+ elif False:
5454
+ TableBiglakeConfigurationArgsDict: TypeAlias = Mapping[str, Any]
5455
+
5456
+ @pulumi.input_type
5457
+ class TableBiglakeConfigurationArgs:
5458
+ def __init__(__self__, *,
5459
+ connection_id: pulumi.Input[str],
5460
+ file_format: pulumi.Input[str],
5461
+ storage_uri: pulumi.Input[str],
5462
+ table_format: pulumi.Input[str]):
5463
+ """
5464
+ :param pulumi.Input[str] connection_id: The connection specifying the credentials to be used to
5465
+ read and write to external storage, such as Cloud Storage. The connection_id can
5466
+ have the form "<project\\_id>.<location\\_id>.<connection\\_id>" or
5467
+ projects/<project\\_id>/locations/<location\\_id>/connections/<connection\\_id>".
5468
+ :param pulumi.Input[str] file_format: The file format the table data is stored in.
5469
+ :param pulumi.Input[str] storage_uri: The fully qualified location prefix of the external folder where table data
5470
+ is stored. The '*' wildcard character is not allowed. The URI should be in the format "gs://bucket/path_to_table/"
5471
+ :param pulumi.Input[str] table_format: The table format the metadata only snapshots are stored in.
5472
+ """
5473
+ pulumi.set(__self__, "connection_id", connection_id)
5474
+ pulumi.set(__self__, "file_format", file_format)
5475
+ pulumi.set(__self__, "storage_uri", storage_uri)
5476
+ pulumi.set(__self__, "table_format", table_format)
5477
+
5478
+ @property
5479
+ @pulumi.getter(name="connectionId")
5480
+ def connection_id(self) -> pulumi.Input[str]:
5481
+ """
5482
+ The connection specifying the credentials to be used to
5483
+ read and write to external storage, such as Cloud Storage. The connection_id can
5484
+ have the form "<project\\_id>.<location\\_id>.<connection\\_id>" or
5485
+ projects/<project\\_id>/locations/<location\\_id>/connections/<connection\\_id>".
5486
+ """
5487
+ return pulumi.get(self, "connection_id")
5488
+
5489
+ @connection_id.setter
5490
+ def connection_id(self, value: pulumi.Input[str]):
5491
+ pulumi.set(self, "connection_id", value)
5492
+
5493
+ @property
5494
+ @pulumi.getter(name="fileFormat")
5495
+ def file_format(self) -> pulumi.Input[str]:
5496
+ """
5497
+ The file format the table data is stored in.
5498
+ """
5499
+ return pulumi.get(self, "file_format")
5500
+
5501
+ @file_format.setter
5502
+ def file_format(self, value: pulumi.Input[str]):
5503
+ pulumi.set(self, "file_format", value)
5504
+
5505
+ @property
5506
+ @pulumi.getter(name="storageUri")
5507
+ def storage_uri(self) -> pulumi.Input[str]:
5508
+ """
5509
+ The fully qualified location prefix of the external folder where table data
5510
+ is stored. The '*' wildcard character is not allowed. The URI should be in the format "gs://bucket/path_to_table/"
5511
+ """
5512
+ return pulumi.get(self, "storage_uri")
5513
+
5514
+ @storage_uri.setter
5515
+ def storage_uri(self, value: pulumi.Input[str]):
5516
+ pulumi.set(self, "storage_uri", value)
5517
+
5518
+ @property
5519
+ @pulumi.getter(name="tableFormat")
5520
+ def table_format(self) -> pulumi.Input[str]:
5521
+ """
5522
+ The table format the metadata only snapshots are stored in.
5523
+ """
5524
+ return pulumi.get(self, "table_format")
5525
+
5526
+ @table_format.setter
5527
+ def table_format(self, value: pulumi.Input[str]):
5528
+ pulumi.set(self, "table_format", value)
5529
+
5530
+
5429
5531
  if not MYPY:
5430
5532
  class TableEncryptionConfigurationArgsDict(TypedDict):
5431
5533
  kms_key_name: pulumi.Input[str]
@@ -74,6 +74,7 @@ __all__ = [
74
74
  'RoutineArgument',
75
75
  'RoutineRemoteFunctionOptions',
76
76
  'RoutineSparkOptions',
77
+ 'TableBiglakeConfiguration',
77
78
  'TableEncryptionConfiguration',
78
79
  'TableExternalDataConfiguration',
79
80
  'TableExternalDataConfigurationAvroOptions',
@@ -4270,6 +4271,88 @@ class RoutineSparkOptions(dict):
4270
4271
  return pulumi.get(self, "runtime_version")
4271
4272
 
4272
4273
 
4274
+ @pulumi.output_type
4275
+ class TableBiglakeConfiguration(dict):
4276
+ @staticmethod
4277
+ def __key_warning(key: str):
4278
+ suggest = None
4279
+ if key == "connectionId":
4280
+ suggest = "connection_id"
4281
+ elif key == "fileFormat":
4282
+ suggest = "file_format"
4283
+ elif key == "storageUri":
4284
+ suggest = "storage_uri"
4285
+ elif key == "tableFormat":
4286
+ suggest = "table_format"
4287
+
4288
+ if suggest:
4289
+ pulumi.log.warn(f"Key '{key}' not found in TableBiglakeConfiguration. Access the value via the '{suggest}' property getter instead.")
4290
+
4291
+ def __getitem__(self, key: str) -> Any:
4292
+ TableBiglakeConfiguration.__key_warning(key)
4293
+ return super().__getitem__(key)
4294
+
4295
+ def get(self, key: str, default = None) -> Any:
4296
+ TableBiglakeConfiguration.__key_warning(key)
4297
+ return super().get(key, default)
4298
+
4299
+ def __init__(__self__, *,
4300
+ connection_id: str,
4301
+ file_format: str,
4302
+ storage_uri: str,
4303
+ table_format: str):
4304
+ """
4305
+ :param str connection_id: The connection specifying the credentials to be used to
4306
+ read and write to external storage, such as Cloud Storage. The connection_id can
4307
+ have the form "<project\\_id>.<location\\_id>.<connection\\_id>" or
4308
+ projects/<project\\_id>/locations/<location\\_id>/connections/<connection\\_id>".
4309
+ :param str file_format: The file format the table data is stored in.
4310
+ :param str storage_uri: The fully qualified location prefix of the external folder where table data
4311
+ is stored. The '*' wildcard character is not allowed. The URI should be in the format "gs://bucket/path_to_table/"
4312
+ :param str table_format: The table format the metadata only snapshots are stored in.
4313
+ """
4314
+ pulumi.set(__self__, "connection_id", connection_id)
4315
+ pulumi.set(__self__, "file_format", file_format)
4316
+ pulumi.set(__self__, "storage_uri", storage_uri)
4317
+ pulumi.set(__self__, "table_format", table_format)
4318
+
4319
+ @property
4320
+ @pulumi.getter(name="connectionId")
4321
+ def connection_id(self) -> str:
4322
+ """
4323
+ The connection specifying the credentials to be used to
4324
+ read and write to external storage, such as Cloud Storage. The connection_id can
4325
+ have the form "<project\\_id>.<location\\_id>.<connection\\_id>" or
4326
+ projects/<project\\_id>/locations/<location\\_id>/connections/<connection\\_id>".
4327
+ """
4328
+ return pulumi.get(self, "connection_id")
4329
+
4330
+ @property
4331
+ @pulumi.getter(name="fileFormat")
4332
+ def file_format(self) -> str:
4333
+ """
4334
+ The file format the table data is stored in.
4335
+ """
4336
+ return pulumi.get(self, "file_format")
4337
+
4338
+ @property
4339
+ @pulumi.getter(name="storageUri")
4340
+ def storage_uri(self) -> str:
4341
+ """
4342
+ The fully qualified location prefix of the external folder where table data
4343
+ is stored. The '*' wildcard character is not allowed. The URI should be in the format "gs://bucket/path_to_table/"
4344
+ """
4345
+ return pulumi.get(self, "storage_uri")
4346
+
4347
+ @property
4348
+ @pulumi.getter(name="tableFormat")
4349
+ def table_format(self) -> str:
4350
+ """
4351
+ The table format the metadata only snapshots are stored in.
4352
+ """
4353
+ return pulumi.get(self, "table_format")
4354
+
4355
+
4273
4356
  @pulumi.output_type
4274
4357
  class TableEncryptionConfiguration(dict):
4275
4358
  @staticmethod