pulumi-gcp 8.36.0a1750484065__py3-none-any.whl → 8.37.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.
Files changed (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -1082,7 +1082,15 @@ if not MYPY:
1082
1082
  class BucketIpFilterArgsDict(TypedDict):
1083
1083
  mode: pulumi.Input[builtins.str]
1084
1084
  """
1085
- The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket.
1085
+ The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket. **Note**: `allow_all_service_agent_access` must be supplied when `mode` is set to `Enabled`, it can be ommited for other values.
1086
+ """
1087
+ allow_all_service_agent_access: NotRequired[pulumi.Input[builtins.bool]]
1088
+ """
1089
+ While set `true`, allows all service agents to access the bucket regardless of the IP filter configuration.
1090
+ """
1091
+ allow_cross_org_vpcs: NotRequired[pulumi.Input[builtins.bool]]
1092
+ """
1093
+ While set `true`, allows cross-org VPCs in the bucket's IP filter configuration.
1086
1094
  """
1087
1095
  public_network_source: NotRequired[pulumi.Input['BucketIpFilterPublicNetworkSourceArgsDict']]
1088
1096
  """
@@ -1099,14 +1107,22 @@ elif False:
1099
1107
  class BucketIpFilterArgs:
1100
1108
  def __init__(__self__, *,
1101
1109
  mode: pulumi.Input[builtins.str],
1110
+ allow_all_service_agent_access: Optional[pulumi.Input[builtins.bool]] = None,
1111
+ allow_cross_org_vpcs: Optional[pulumi.Input[builtins.bool]] = None,
1102
1112
  public_network_source: Optional[pulumi.Input['BucketIpFilterPublicNetworkSourceArgs']] = None,
1103
1113
  vpc_network_sources: Optional[pulumi.Input[Sequence[pulumi.Input['BucketIpFilterVpcNetworkSourceArgs']]]] = None):
1104
1114
  """
1105
- :param pulumi.Input[builtins.str] mode: The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket.
1115
+ :param pulumi.Input[builtins.str] mode: The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket. **Note**: `allow_all_service_agent_access` must be supplied when `mode` is set to `Enabled`, it can be ommited for other values.
1116
+ :param pulumi.Input[builtins.bool] allow_all_service_agent_access: While set `true`, allows all service agents to access the bucket regardless of the IP filter configuration.
1117
+ :param pulumi.Input[builtins.bool] allow_cross_org_vpcs: While set `true`, allows cross-org VPCs in the bucket's IP filter configuration.
1106
1118
  :param pulumi.Input['BucketIpFilterPublicNetworkSourceArgs'] public_network_source: The public network IP address ranges that can access the bucket and its data. Structure is documented below.
1107
1119
  :param pulumi.Input[Sequence[pulumi.Input['BucketIpFilterVpcNetworkSourceArgs']]] vpc_network_sources: The list of VPC networks that can access the bucket. Structure is documented below.
1108
1120
  """
1109
1121
  pulumi.set(__self__, "mode", mode)
1122
+ if allow_all_service_agent_access is not None:
1123
+ pulumi.set(__self__, "allow_all_service_agent_access", allow_all_service_agent_access)
1124
+ if allow_cross_org_vpcs is not None:
1125
+ pulumi.set(__self__, "allow_cross_org_vpcs", allow_cross_org_vpcs)
1110
1126
  if public_network_source is not None:
1111
1127
  pulumi.set(__self__, "public_network_source", public_network_source)
1112
1128
  if vpc_network_sources is not None:
@@ -1116,7 +1132,7 @@ class BucketIpFilterArgs:
1116
1132
  @pulumi.getter
1117
1133
  def mode(self) -> pulumi.Input[builtins.str]:
1118
1134
  """
1119
- The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket.
1135
+ The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket. **Note**: `allow_all_service_agent_access` must be supplied when `mode` is set to `Enabled`, it can be ommited for other values.
1120
1136
  """
1121
1137
  return pulumi.get(self, "mode")
1122
1138
 
@@ -1124,6 +1140,30 @@ class BucketIpFilterArgs:
1124
1140
  def mode(self, value: pulumi.Input[builtins.str]):
1125
1141
  pulumi.set(self, "mode", value)
1126
1142
 
1143
+ @property
1144
+ @pulumi.getter(name="allowAllServiceAgentAccess")
1145
+ def allow_all_service_agent_access(self) -> Optional[pulumi.Input[builtins.bool]]:
1146
+ """
1147
+ While set `true`, allows all service agents to access the bucket regardless of the IP filter configuration.
1148
+ """
1149
+ return pulumi.get(self, "allow_all_service_agent_access")
1150
+
1151
+ @allow_all_service_agent_access.setter
1152
+ def allow_all_service_agent_access(self, value: Optional[pulumi.Input[builtins.bool]]):
1153
+ pulumi.set(self, "allow_all_service_agent_access", value)
1154
+
1155
+ @property
1156
+ @pulumi.getter(name="allowCrossOrgVpcs")
1157
+ def allow_cross_org_vpcs(self) -> Optional[pulumi.Input[builtins.bool]]:
1158
+ """
1159
+ While set `true`, allows cross-org VPCs in the bucket's IP filter configuration.
1160
+ """
1161
+ return pulumi.get(self, "allow_cross_org_vpcs")
1162
+
1163
+ @allow_cross_org_vpcs.setter
1164
+ def allow_cross_org_vpcs(self, value: Optional[pulumi.Input[builtins.bool]]):
1165
+ pulumi.set(self, "allow_cross_org_vpcs", value)
1166
+
1127
1167
  @property
1128
1168
  @pulumi.getter(name="publicNetworkSource")
1129
1169
  def public_network_source(self) -> Optional[pulumi.Input['BucketIpFilterPublicNetworkSourceArgs']]:
@@ -37,6 +37,7 @@ class BucketObjectArgs:
37
37
  name: Optional[pulumi.Input[builtins.str]] = None,
38
38
  retention: Optional[pulumi.Input['BucketObjectRetentionArgs']] = None,
39
39
  source: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None,
40
+ source_md5hash: Optional[pulumi.Input[builtins.str]] = None,
40
41
  storage_class: Optional[pulumi.Input[builtins.str]] = None,
41
42
  temporary_hold: Optional[pulumi.Input[builtins.bool]] = None):
42
43
  """
@@ -62,6 +63,7 @@ class BucketObjectArgs:
62
63
  if `content` is not.
63
64
 
64
65
  - - -
66
+ :param pulumi.Input[builtins.str] source_md5hash: User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
65
67
  :param pulumi.Input[builtins.str] storage_class: The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
66
68
  Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
67
69
  storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
@@ -82,6 +84,9 @@ class BucketObjectArgs:
82
84
  pulumi.set(__self__, "content_type", content_type)
83
85
  if customer_encryption is not None:
84
86
  pulumi.set(__self__, "customer_encryption", customer_encryption)
87
+ if detect_md5hash is not None:
88
+ warnings.warn("""`detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""", DeprecationWarning)
89
+ pulumi.log.warn("""detect_md5hash is deprecated: `detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""")
85
90
  if detect_md5hash is not None:
86
91
  pulumi.set(__self__, "detect_md5hash", detect_md5hash)
87
92
  if event_based_hold is not None:
@@ -96,6 +101,8 @@ class BucketObjectArgs:
96
101
  pulumi.set(__self__, "retention", retention)
97
102
  if source is not None:
98
103
  pulumi.set(__self__, "source", source)
104
+ if source_md5hash is not None:
105
+ pulumi.set(__self__, "source_md5hash", source_md5hash)
99
106
  if storage_class is not None:
100
107
  pulumi.set(__self__, "storage_class", storage_class)
101
108
  if temporary_hold is not None:
@@ -201,6 +208,7 @@ class BucketObjectArgs:
201
208
 
202
209
  @property
203
210
  @pulumi.getter(name="detectMd5hash")
211
+ @_utilities.deprecated("""`detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""")
204
212
  def detect_md5hash(self) -> Optional[pulumi.Input[builtins.str]]:
205
213
  return pulumi.get(self, "detect_md5hash")
206
214
 
@@ -285,6 +293,18 @@ class BucketObjectArgs:
285
293
  def source(self, value: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]):
286
294
  pulumi.set(self, "source", value)
287
295
 
296
+ @property
297
+ @pulumi.getter(name="sourceMd5hash")
298
+ def source_md5hash(self) -> Optional[pulumi.Input[builtins.str]]:
299
+ """
300
+ User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
301
+ """
302
+ return pulumi.get(self, "source_md5hash")
303
+
304
+ @source_md5hash.setter
305
+ def source_md5hash(self, value: Optional[pulumi.Input[builtins.str]]):
306
+ pulumi.set(self, "source_md5hash", value)
307
+
288
308
  @property
289
309
  @pulumi.getter(name="storageClass")
290
310
  def storage_class(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -337,6 +357,7 @@ class _BucketObjectState:
337
357
  retention: Optional[pulumi.Input['BucketObjectRetentionArgs']] = None,
338
358
  self_link: Optional[pulumi.Input[builtins.str]] = None,
339
359
  source: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None,
360
+ source_md5hash: Optional[pulumi.Input[builtins.str]] = None,
340
361
  storage_class: Optional[pulumi.Input[builtins.str]] = None,
341
362
  temporary_hold: Optional[pulumi.Input[builtins.bool]] = None):
342
363
  """
@@ -370,6 +391,7 @@ class _BucketObjectState:
370
391
  if `content` is not.
371
392
 
372
393
  - - -
394
+ :param pulumi.Input[builtins.str] source_md5hash: User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
373
395
  :param pulumi.Input[builtins.str] storage_class: The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
374
396
  Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
375
397
  storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
@@ -393,6 +415,9 @@ class _BucketObjectState:
393
415
  pulumi.set(__self__, "crc32c", crc32c)
394
416
  if customer_encryption is not None:
395
417
  pulumi.set(__self__, "customer_encryption", customer_encryption)
418
+ if detect_md5hash is not None:
419
+ warnings.warn("""`detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""", DeprecationWarning)
420
+ pulumi.log.warn("""detect_md5hash is deprecated: `detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""")
396
421
  if detect_md5hash is not None:
397
422
  pulumi.set(__self__, "detect_md5hash", detect_md5hash)
398
423
  if event_based_hold is not None:
@@ -419,6 +444,8 @@ class _BucketObjectState:
419
444
  pulumi.set(__self__, "self_link", self_link)
420
445
  if source is not None:
421
446
  pulumi.set(__self__, "source", source)
447
+ if source_md5hash is not None:
448
+ pulumi.set(__self__, "source_md5hash", source_md5hash)
422
449
  if storage_class is not None:
423
450
  pulumi.set(__self__, "storage_class", storage_class)
424
451
  if temporary_hold is not None:
@@ -536,6 +563,7 @@ class _BucketObjectState:
536
563
 
537
564
  @property
538
565
  @pulumi.getter(name="detectMd5hash")
566
+ @_utilities.deprecated("""`detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""")
539
567
  def detect_md5hash(self) -> Optional[pulumi.Input[builtins.str]]:
540
568
  return pulumi.get(self, "detect_md5hash")
541
569
 
@@ -693,6 +721,18 @@ class _BucketObjectState:
693
721
  def source(self, value: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]):
694
722
  pulumi.set(self, "source", value)
695
723
 
724
+ @property
725
+ @pulumi.getter(name="sourceMd5hash")
726
+ def source_md5hash(self) -> Optional[pulumi.Input[builtins.str]]:
727
+ """
728
+ User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
729
+ """
730
+ return pulumi.get(self, "source_md5hash")
731
+
732
+ @source_md5hash.setter
733
+ def source_md5hash(self, value: Optional[pulumi.Input[builtins.str]]):
734
+ pulumi.set(self, "source_md5hash", value)
735
+
696
736
  @property
697
737
  @pulumi.getter(name="storageClass")
698
738
  def storage_class(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -741,6 +781,7 @@ class BucketObject(pulumi.CustomResource):
741
781
  name: Optional[pulumi.Input[builtins.str]] = None,
742
782
  retention: Optional[pulumi.Input[Union['BucketObjectRetentionArgs', 'BucketObjectRetentionArgsDict']]] = None,
743
783
  source: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None,
784
+ source_md5hash: Optional[pulumi.Input[builtins.str]] = None,
744
785
  storage_class: Optional[pulumi.Input[builtins.str]] = None,
745
786
  temporary_hold: Optional[pulumi.Input[builtins.bool]] = None,
746
787
  __props__=None):
@@ -809,6 +850,7 @@ class BucketObject(pulumi.CustomResource):
809
850
  if `content` is not.
810
851
 
811
852
  - - -
853
+ :param pulumi.Input[builtins.str] source_md5hash: User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
812
854
  :param pulumi.Input[builtins.str] storage_class: The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
813
855
  Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
814
856
  storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
@@ -892,6 +934,7 @@ class BucketObject(pulumi.CustomResource):
892
934
  name: Optional[pulumi.Input[builtins.str]] = None,
893
935
  retention: Optional[pulumi.Input[Union['BucketObjectRetentionArgs', 'BucketObjectRetentionArgsDict']]] = None,
894
936
  source: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None,
937
+ source_md5hash: Optional[pulumi.Input[builtins.str]] = None,
895
938
  storage_class: Optional[pulumi.Input[builtins.str]] = None,
896
939
  temporary_hold: Optional[pulumi.Input[builtins.bool]] = None,
897
940
  __props__=None):
@@ -920,6 +963,7 @@ class BucketObject(pulumi.CustomResource):
920
963
  __props__.__dict__["name"] = name
921
964
  __props__.__dict__["retention"] = retention
922
965
  __props__.__dict__["source"] = source
966
+ __props__.__dict__["source_md5hash"] = source_md5hash
923
967
  __props__.__dict__["storage_class"] = storage_class
924
968
  __props__.__dict__["temporary_hold"] = temporary_hold
925
969
  __props__.__dict__["crc32c"] = None
@@ -963,6 +1007,7 @@ class BucketObject(pulumi.CustomResource):
963
1007
  retention: Optional[pulumi.Input[Union['BucketObjectRetentionArgs', 'BucketObjectRetentionArgsDict']]] = None,
964
1008
  self_link: Optional[pulumi.Input[builtins.str]] = None,
965
1009
  source: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None,
1010
+ source_md5hash: Optional[pulumi.Input[builtins.str]] = None,
966
1011
  storage_class: Optional[pulumi.Input[builtins.str]] = None,
967
1012
  temporary_hold: Optional[pulumi.Input[builtins.bool]] = None) -> 'BucketObject':
968
1013
  """
@@ -1001,6 +1046,7 @@ class BucketObject(pulumi.CustomResource):
1001
1046
  if `content` is not.
1002
1047
 
1003
1048
  - - -
1049
+ :param pulumi.Input[builtins.str] source_md5hash: User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
1004
1050
  :param pulumi.Input[builtins.str] storage_class: The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
1005
1051
  Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
1006
1052
  storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
@@ -1032,6 +1078,7 @@ class BucketObject(pulumi.CustomResource):
1032
1078
  __props__.__dict__["retention"] = retention
1033
1079
  __props__.__dict__["self_link"] = self_link
1034
1080
  __props__.__dict__["source"] = source
1081
+ __props__.__dict__["source_md5hash"] = source_md5hash
1035
1082
  __props__.__dict__["storage_class"] = storage_class
1036
1083
  __props__.__dict__["temporary_hold"] = temporary_hold
1037
1084
  return BucketObject(resource_name, opts=opts, __props__=__props__)
@@ -1112,6 +1159,7 @@ class BucketObject(pulumi.CustomResource):
1112
1159
 
1113
1160
  @property
1114
1161
  @pulumi.getter(name="detectMd5hash")
1162
+ @_utilities.deprecated("""`detect_md5hash` is deprecated and will be removed in future release. Start using `source_md5hash` instead""")
1115
1163
  def detect_md5hash(self) -> pulumi.Output[Optional[builtins.str]]:
1116
1164
  return pulumi.get(self, "detect_md5hash")
1117
1165
 
@@ -1217,6 +1265,14 @@ class BucketObject(pulumi.CustomResource):
1217
1265
  """
1218
1266
  return pulumi.get(self, "source")
1219
1267
 
1268
+ @property
1269
+ @pulumi.getter(name="sourceMd5hash")
1270
+ def source_md5hash(self) -> pulumi.Output[Optional[builtins.str]]:
1271
+ """
1272
+ User-provided md5hash to trigger replacement of object in storage bucket, Must be Base 64 MD5 hash of the object data. The usual way to set this is filemd5("file.zip"), where "file.zip" is the local filename
1273
+ """
1274
+ return pulumi.get(self, "source_md5hash")
1275
+
1220
1276
  @property
1221
1277
  @pulumi.getter(name="storageClass")
1222
1278
  def storage_class(self) -> pulumi.Output[builtins.str]:
@@ -28,7 +28,7 @@ class GetBucketObjectResult:
28
28
  """
29
29
  A collection of values returned by getBucketObject.
30
30
  """
31
- def __init__(__self__, bucket=None, cache_control=None, content=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, md5hexhash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
31
+ def __init__(__self__, bucket=None, cache_control=None, content=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, md5hexhash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, source_md5hash=None, storage_class=None, temporary_hold=None):
32
32
  if bucket and not isinstance(bucket, str):
33
33
  raise TypeError("Expected argument 'bucket' to be a str")
34
34
  pulumi.set(__self__, "bucket", bucket)
@@ -98,6 +98,9 @@ class GetBucketObjectResult:
98
98
  if source and not isinstance(source, str):
99
99
  raise TypeError("Expected argument 'source' to be a str")
100
100
  pulumi.set(__self__, "source", source)
101
+ if source_md5hash and not isinstance(source_md5hash, str):
102
+ raise TypeError("Expected argument 'source_md5hash' to be a str")
103
+ pulumi.set(__self__, "source_md5hash", source_md5hash)
101
104
  if storage_class and not isinstance(storage_class, str):
102
105
  raise TypeError("Expected argument 'storage_class' to be a str")
103
106
  pulumi.set(__self__, "storage_class", storage_class)
@@ -257,6 +260,11 @@ class GetBucketObjectResult:
257
260
  def source(self) -> builtins.str:
258
261
  return pulumi.get(self, "source")
259
262
 
263
+ @property
264
+ @pulumi.getter(name="sourceMd5hash")
265
+ def source_md5hash(self) -> builtins.str:
266
+ return pulumi.get(self, "source_md5hash")
267
+
260
268
  @property
261
269
  @pulumi.getter(name="storageClass")
262
270
  def storage_class(self) -> builtins.str:
@@ -305,6 +313,7 @@ class AwaitableGetBucketObjectResult(GetBucketObjectResult):
305
313
  retentions=self.retentions,
306
314
  self_link=self.self_link,
307
315
  source=self.source,
316
+ source_md5hash=self.source_md5hash,
308
317
  storage_class=self.storage_class,
309
318
  temporary_hold=self.temporary_hold)
310
319
 
@@ -364,6 +373,7 @@ def get_bucket_object(bucket: Optional[builtins.str] = None,
364
373
  retentions=pulumi.get(__ret__, 'retentions'),
365
374
  self_link=pulumi.get(__ret__, 'self_link'),
366
375
  source=pulumi.get(__ret__, 'source'),
376
+ source_md5hash=pulumi.get(__ret__, 'source_md5hash'),
367
377
  storage_class=pulumi.get(__ret__, 'storage_class'),
368
378
  temporary_hold=pulumi.get(__ret__, 'temporary_hold'))
369
379
  def get_bucket_object_output(bucket: Optional[pulumi.Input[Optional[builtins.str]]] = None,
@@ -420,5 +430,6 @@ def get_bucket_object_output(bucket: Optional[pulumi.Input[Optional[builtins.str
420
430
  retentions=pulumi.get(__response__, 'retentions'),
421
431
  self_link=pulumi.get(__response__, 'self_link'),
422
432
  source=pulumi.get(__response__, 'source'),
433
+ source_md5hash=pulumi.get(__response__, 'source_md5hash'),
423
434
  storage_class=pulumi.get(__response__, 'storage_class'),
424
435
  temporary_hold=pulumi.get(__response__, 'temporary_hold')))
@@ -28,7 +28,7 @@ class GetBucketObjectContentResult:
28
28
  """
29
29
  A collection of values returned by getBucketObjectContent.
30
30
  """
31
- def __init__(__self__, bucket=None, cache_control=None, content=None, content_base64=None, content_base64sha512=None, content_disposition=None, content_encoding=None, content_hexsha512=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, md5hexhash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
31
+ def __init__(__self__, bucket=None, cache_control=None, content=None, content_base64=None, content_base64sha512=None, content_disposition=None, content_encoding=None, content_hexsha512=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, md5hexhash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, source_md5hash=None, storage_class=None, temporary_hold=None):
32
32
  if bucket and not isinstance(bucket, str):
33
33
  raise TypeError("Expected argument 'bucket' to be a str")
34
34
  pulumi.set(__self__, "bucket", bucket)
@@ -107,6 +107,9 @@ class GetBucketObjectContentResult:
107
107
  if source and not isinstance(source, str):
108
108
  raise TypeError("Expected argument 'source' to be a str")
109
109
  pulumi.set(__self__, "source", source)
110
+ if source_md5hash and not isinstance(source_md5hash, str):
111
+ raise TypeError("Expected argument 'source_md5hash' to be a str")
112
+ pulumi.set(__self__, "source_md5hash", source_md5hash)
110
113
  if storage_class and not isinstance(storage_class, str):
111
114
  raise TypeError("Expected argument 'storage_class' to be a str")
112
115
  pulumi.set(__self__, "storage_class", storage_class)
@@ -260,6 +263,11 @@ class GetBucketObjectContentResult:
260
263
  def source(self) -> builtins.str:
261
264
  return pulumi.get(self, "source")
262
265
 
266
+ @property
267
+ @pulumi.getter(name="sourceMd5hash")
268
+ def source_md5hash(self) -> builtins.str:
269
+ return pulumi.get(self, "source_md5hash")
270
+
263
271
  @property
264
272
  @pulumi.getter(name="storageClass")
265
273
  def storage_class(self) -> builtins.str:
@@ -303,6 +311,7 @@ class AwaitableGetBucketObjectContentResult(GetBucketObjectContentResult):
303
311
  retentions=self.retentions,
304
312
  self_link=self.self_link,
305
313
  source=self.source,
314
+ source_md5hash=self.source_md5hash,
306
315
  storage_class=self.storage_class,
307
316
  temporary_hold=self.temporary_hold)
308
317
 
@@ -371,6 +380,7 @@ def get_bucket_object_content(bucket: Optional[builtins.str] = None,
371
380
  retentions=pulumi.get(__ret__, 'retentions'),
372
381
  self_link=pulumi.get(__ret__, 'self_link'),
373
382
  source=pulumi.get(__ret__, 'source'),
383
+ source_md5hash=pulumi.get(__ret__, 'source_md5hash'),
374
384
  storage_class=pulumi.get(__ret__, 'storage_class'),
375
385
  temporary_hold=pulumi.get(__ret__, 'temporary_hold'))
376
386
  def get_bucket_object_content_output(bucket: Optional[pulumi.Input[builtins.str]] = None,
@@ -436,5 +446,6 @@ def get_bucket_object_content_output(bucket: Optional[pulumi.Input[builtins.str]
436
446
  retentions=pulumi.get(__response__, 'retentions'),
437
447
  self_link=pulumi.get(__response__, 'self_link'),
438
448
  source=pulumi.get(__response__, 'source'),
449
+ source_md5hash=pulumi.get(__response__, 'source_md5hash'),
439
450
  storage_class=pulumi.get(__response__, 'storage_class'),
440
451
  temporary_hold=pulumi.get(__response__, 'temporary_hold')))
@@ -884,7 +884,11 @@ class BucketIpFilter(dict):
884
884
  @staticmethod
885
885
  def __key_warning(key: str):
886
886
  suggest = None
887
- if key == "publicNetworkSource":
887
+ if key == "allowAllServiceAgentAccess":
888
+ suggest = "allow_all_service_agent_access"
889
+ elif key == "allowCrossOrgVpcs":
890
+ suggest = "allow_cross_org_vpcs"
891
+ elif key == "publicNetworkSource":
888
892
  suggest = "public_network_source"
889
893
  elif key == "vpcNetworkSources":
890
894
  suggest = "vpc_network_sources"
@@ -902,14 +906,22 @@ class BucketIpFilter(dict):
902
906
 
903
907
  def __init__(__self__, *,
904
908
  mode: builtins.str,
909
+ allow_all_service_agent_access: Optional[builtins.bool] = None,
910
+ allow_cross_org_vpcs: Optional[builtins.bool] = None,
905
911
  public_network_source: Optional['outputs.BucketIpFilterPublicNetworkSource'] = None,
906
912
  vpc_network_sources: Optional[Sequence['outputs.BucketIpFilterVpcNetworkSource']] = None):
907
913
  """
908
- :param builtins.str mode: The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket.
914
+ :param builtins.str mode: The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket. **Note**: `allow_all_service_agent_access` must be supplied when `mode` is set to `Enabled`, it can be ommited for other values.
915
+ :param builtins.bool allow_all_service_agent_access: While set `true`, allows all service agents to access the bucket regardless of the IP filter configuration.
916
+ :param builtins.bool allow_cross_org_vpcs: While set `true`, allows cross-org VPCs in the bucket's IP filter configuration.
909
917
  :param 'BucketIpFilterPublicNetworkSourceArgs' public_network_source: The public network IP address ranges that can access the bucket and its data. Structure is documented below.
910
918
  :param Sequence['BucketIpFilterVpcNetworkSourceArgs'] vpc_network_sources: The list of VPC networks that can access the bucket. Structure is documented below.
911
919
  """
912
920
  pulumi.set(__self__, "mode", mode)
921
+ if allow_all_service_agent_access is not None:
922
+ pulumi.set(__self__, "allow_all_service_agent_access", allow_all_service_agent_access)
923
+ if allow_cross_org_vpcs is not None:
924
+ pulumi.set(__self__, "allow_cross_org_vpcs", allow_cross_org_vpcs)
913
925
  if public_network_source is not None:
914
926
  pulumi.set(__self__, "public_network_source", public_network_source)
915
927
  if vpc_network_sources is not None:
@@ -919,10 +931,26 @@ class BucketIpFilter(dict):
919
931
  @pulumi.getter
920
932
  def mode(self) -> builtins.str:
921
933
  """
922
- The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket.
934
+ The state of the IP filter configuration. Valid values are `Enabled` and `Disabled`. When set to `Enabled`, IP filtering rules are applied to a bucket and all incoming requests to the bucket are evaluated against these rules. When set to `Disabled`, IP filtering rules are not applied to a bucket. **Note**: `allow_all_service_agent_access` must be supplied when `mode` is set to `Enabled`, it can be ommited for other values.
923
935
  """
924
936
  return pulumi.get(self, "mode")
925
937
 
938
+ @property
939
+ @pulumi.getter(name="allowAllServiceAgentAccess")
940
+ def allow_all_service_agent_access(self) -> Optional[builtins.bool]:
941
+ """
942
+ While set `true`, allows all service agents to access the bucket regardless of the IP filter configuration.
943
+ """
944
+ return pulumi.get(self, "allow_all_service_agent_access")
945
+
946
+ @property
947
+ @pulumi.getter(name="allowCrossOrgVpcs")
948
+ def allow_cross_org_vpcs(self) -> Optional[builtins.bool]:
949
+ """
950
+ While set `true`, allows cross-org VPCs in the bucket's IP filter configuration.
951
+ """
952
+ return pulumi.get(self, "allow_cross_org_vpcs")
953
+
926
954
  @property
927
955
  @pulumi.getter(name="publicNetworkSource")
928
956
  def public_network_source(self) -> Optional['outputs.BucketIpFilterPublicNetworkSource']:
@@ -5105,18 +5133,40 @@ class GetBucketHierarchicalNamespaceResult(dict):
5105
5133
  @pulumi.output_type
5106
5134
  class GetBucketIpFilterResult(dict):
5107
5135
  def __init__(__self__, *,
5136
+ allow_all_service_agent_access: builtins.bool,
5137
+ allow_cross_org_vpcs: builtins.bool,
5108
5138
  mode: builtins.str,
5109
5139
  public_network_sources: Sequence['outputs.GetBucketIpFilterPublicNetworkSourceResult'],
5110
5140
  vpc_network_sources: Sequence['outputs.GetBucketIpFilterVpcNetworkSourceResult']):
5111
5141
  """
5142
+ :param builtins.bool allow_all_service_agent_access: Whether to allow all service agents to access the bucket regardless of the IP filter configuration.
5143
+ :param builtins.bool allow_cross_org_vpcs: Whether to allow cross-org VPCs in the bucket's IP filter configuration.
5112
5144
  :param builtins.str mode: The mode of the IP filter. Valid values are 'Enabled' and 'Disabled'.
5113
5145
  :param Sequence['GetBucketIpFilterPublicNetworkSourceArgs'] public_network_sources: The public network IP address ranges that can access the bucket and its data.
5114
5146
  :param Sequence['GetBucketIpFilterVpcNetworkSourceArgs'] vpc_network_sources: The list of VPC networks that can access the bucket.
5115
5147
  """
5148
+ pulumi.set(__self__, "allow_all_service_agent_access", allow_all_service_agent_access)
5149
+ pulumi.set(__self__, "allow_cross_org_vpcs", allow_cross_org_vpcs)
5116
5150
  pulumi.set(__self__, "mode", mode)
5117
5151
  pulumi.set(__self__, "public_network_sources", public_network_sources)
5118
5152
  pulumi.set(__self__, "vpc_network_sources", vpc_network_sources)
5119
5153
 
5154
+ @property
5155
+ @pulumi.getter(name="allowAllServiceAgentAccess")
5156
+ def allow_all_service_agent_access(self) -> builtins.bool:
5157
+ """
5158
+ Whether to allow all service agents to access the bucket regardless of the IP filter configuration.
5159
+ """
5160
+ return pulumi.get(self, "allow_all_service_agent_access")
5161
+
5162
+ @property
5163
+ @pulumi.getter(name="allowCrossOrgVpcs")
5164
+ def allow_cross_org_vpcs(self) -> builtins.bool:
5165
+ """
5166
+ Whether to allow cross-org VPCs in the bucket's IP filter configuration.
5167
+ """
5168
+ return pulumi.get(self, "allow_cross_org_vpcs")
5169
+
5120
5170
  @property
5121
5171
  @pulumi.getter
5122
5172
  def mode(self) -> builtins.str:
@@ -732,7 +732,7 @@ class AiEndpoint(pulumi.CustomResource):
732
732
 
733
733
  project = gcp.organizations.get_project()
734
734
  endpoint = gcp.vertex.AiEndpoint("endpoint",
735
- name="endpoint-name_1443",
735
+ name="endpoint-name_77124",
736
736
  display_name="sample-endpoint",
737
737
  description="A sample vertex endpoint",
738
738
  location="us-central1",
@@ -753,7 +753,7 @@ class AiEndpoint(pulumi.CustomResource):
753
753
  import pulumi_gcp as gcp
754
754
 
755
755
  endpoint = gcp.vertex.AiEndpoint("endpoint",
756
- name="endpoint-name_26032",
756
+ name="endpoint-name_15335",
757
757
  display_name="sample-endpoint",
758
758
  description="A sample vertex endpoint",
759
759
  location="us-central1",
@@ -898,7 +898,7 @@ class AiEndpoint(pulumi.CustomResource):
898
898
 
899
899
  project = gcp.organizations.get_project()
900
900
  endpoint = gcp.vertex.AiEndpoint("endpoint",
901
- name="endpoint-name_1443",
901
+ name="endpoint-name_77124",
902
902
  display_name="sample-endpoint",
903
903
  description="A sample vertex endpoint",
904
904
  location="us-central1",
@@ -919,7 +919,7 @@ class AiEndpoint(pulumi.CustomResource):
919
919
  import pulumi_gcp as gcp
920
920
 
921
921
  endpoint = gcp.vertex.AiEndpoint("endpoint",
922
- name="endpoint-name_26032",
922
+ name="endpoint-name_15335",
923
923
  display_name="sample-endpoint",
924
924
  description="A sample vertex endpoint",
925
925
  location="us-central1",
@@ -621,8 +621,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
621
621
 
622
622
  test_project = gcp.organizations.get_project()
623
623
  project = gcp.organizations.Project("project",
624
- project_id="tf-test_8647",
625
- name="tf-test_50610",
624
+ project_id="tf-test_20665",
625
+ name="tf-test_85160",
626
626
  org_id="123456789",
627
627
  billing_account="000000-0000000-0000000-000000",
628
628
  deletion_policy="DELETE")
@@ -1060,8 +1060,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
1060
1060
 
1061
1061
  test_project = gcp.organizations.get_project()
1062
1062
  project = gcp.organizations.Project("project",
1063
- project_id="tf-test_8647",
1064
- name="tf-test_50610",
1063
+ project_id="tf-test_20665",
1064
+ name="tf-test_85160",
1065
1065
  org_id="123456789",
1066
1066
  billing_account="000000-0000000-0000000-000000",
1067
1067
  deletion_policy="DELETE")
@@ -746,6 +746,7 @@ class Instance(pulumi.CustomResource):
746
746
  }],
747
747
  "metadata": {
748
748
  "terraform": "true",
749
+ "serial-port-logging-enable": "false",
749
750
  },
750
751
  "enable_ip_forwarding": True,
751
752
  "tags": [
@@ -994,6 +995,7 @@ class Instance(pulumi.CustomResource):
994
995
  }],
995
996
  "metadata": {
996
997
  "terraform": "true",
998
+ "serial-port-logging-enable": "false",
997
999
  },
998
1000
  "enable_ip_forwarding": True,
999
1001
  "tags": [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_gcp
3
- Version: 8.36.0a1750484065
3
+ Version: 8.37.0
4
4
  Summary: A Pulumi package for creating and managing Google Cloud Platform resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -19,7 +19,7 @@ Requires-Dist: typing-extensions<5,>=4.11; python_version < "3.11"
19
19
  [![NuGet version](https://badge.fury.io/nu/pulumi.gcp.svg)](https://badge.fury.io/nu/pulumi.gcp)
20
20
  [![Python version](https://badge.fury.io/py/pulumi-gcp.svg)](https://pypi.org/project/pulumi-gcp)
21
21
  [![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-gcp/sdk/v6/go)](https://pkg.go.dev/github.com/pulumi/pulumi-gcp/sdk/v6/go)
22
- [![License](https://img.shields.io/npm/l/%40pulumi%2Fpulumi.svg)](https://github.com/pulumi/pulumi-gcp/blob/master/LICENSE)
22
+ [![License](https://img.shields.io/npm/l/%40pulumi%2Fgcp.svg?color=limegreen)](https://github.com/pulumi/pulumi-gcp/blob/master/LICENSE)
23
23
 
24
24
  # Google Cloud Platform Resource Provider
25
25