pulumi-gcp 8.22.0a1741888019__py3-none-any.whl → 8.23.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 (69) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/_inputs.py +27 -1
  3. pulumi_gcp/alloydb/outputs.py +33 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/bigquery/_inputs.py +20 -0
  6. pulumi_gcp/bigquery/outputs.py +12 -0
  7. pulumi_gcp/bigquery/table.py +61 -0
  8. pulumi_gcp/bigtable/table.py +7 -7
  9. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  10. pulumi_gcp/clouddeploy/outputs.py +15 -1
  11. pulumi_gcp/cloudfunctions/function.py +11 -11
  12. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  13. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  14. pulumi_gcp/cloudidentity/outputs.py +18 -38
  15. pulumi_gcp/compute/firewall_policy.py +20 -0
  16. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  17. pulumi_gcp/compute/subnetwork.py +109 -1
  18. pulumi_gcp/compute/target_https_proxy.py +7 -7
  19. pulumi_gcp/config/__init__.pyi +2 -0
  20. pulumi_gcp/config/vars.py +4 -0
  21. pulumi_gcp/container/_inputs.py +3 -3
  22. pulumi_gcp/container/get_attached_versions.py +2 -2
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/dataform/repository.py +49 -0
  25. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  26. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  27. pulumi_gcp/dataproc/metastore_service.py +58 -2
  28. pulumi_gcp/eventarc/__init__.py +1 -0
  29. pulumi_gcp/eventarc/_inputs.py +1758 -0
  30. pulumi_gcp/eventarc/outputs.py +1337 -0
  31. pulumi_gcp/eventarc/pipeline.py +1596 -0
  32. pulumi_gcp/firebase/__init__.py +1 -0
  33. pulumi_gcp/firebase/_inputs.py +154 -0
  34. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  35. pulumi_gcp/firebase/hosting_version.py +2 -2
  36. pulumi_gcp/firebase/outputs.py +127 -0
  37. pulumi_gcp/kms/get_key_rings.py +39 -2
  38. pulumi_gcp/managedkafka/__init__.py +2 -0
  39. pulumi_gcp/managedkafka/_inputs.py +263 -0
  40. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  41. pulumi_gcp/managedkafka/connector.py +695 -0
  42. pulumi_gcp/managedkafka/outputs.py +248 -0
  43. pulumi_gcp/memorystore/instance.py +7 -7
  44. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  45. pulumi_gcp/networksecurity/_inputs.py +643 -0
  46. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  47. pulumi_gcp/networksecurity/mirroring_deployment.py +22 -0
  48. pulumi_gcp/networksecurity/mirroring_deployment_group.py +20 -0
  49. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +24 -0
  50. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +28 -0
  51. pulumi_gcp/networksecurity/outputs.py +475 -0
  52. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  53. pulumi_gcp/networkservices/gateway.py +242 -120
  54. pulumi_gcp/projects/__init__.py +2 -0
  55. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  56. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  57. pulumi_gcp/projects/outputs.py +96 -0
  58. pulumi_gcp/provider.py +20 -0
  59. pulumi_gcp/pulumi-plugin.json +1 -1
  60. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  61. pulumi_gcp/sql/outputs.py +8 -8
  62. pulumi_gcp/storage/_inputs.py +14 -6
  63. pulumi_gcp/storage/insights_report_config.py +121 -20
  64. pulumi_gcp/storage/outputs.py +7 -4
  65. pulumi_gcp/workflows/workflow.py +75 -7
  66. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  67. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +69 -63
  68. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  69. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -2191,7 +2191,9 @@ class TargetGke(dict):
2191
2191
  @staticmethod
2192
2192
  def __key_warning(key: str):
2193
2193
  suggest = None
2194
- if key == "internalIp":
2194
+ if key == "dnsEndpoint":
2195
+ suggest = "dns_endpoint"
2196
+ elif key == "internalIp":
2195
2197
  suggest = "internal_ip"
2196
2198
  elif key == "proxyUrl":
2197
2199
  suggest = "proxy_url"
@@ -2209,15 +2211,19 @@ class TargetGke(dict):
2209
2211
 
2210
2212
  def __init__(__self__, *,
2211
2213
  cluster: Optional[str] = None,
2214
+ dns_endpoint: Optional[bool] = None,
2212
2215
  internal_ip: Optional[bool] = None,
2213
2216
  proxy_url: Optional[str] = None):
2214
2217
  """
2215
2218
  :param str cluster: Information specifying a GKE Cluster. Format is `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}.
2219
+ :param bool dns_endpoint: Optional. If set, the cluster will be accessed using the DNS endpoint. Note that both `dns_endpoint` and `internal_ip` cannot be set to true.
2216
2220
  :param bool internal_ip: Optional. If true, `cluster` is accessed using the private IP address of the control plane endpoint. Otherwise, the default IP address of the control plane endpoint is used. The default IP address is the private IP address for clusters with private control-plane endpoints and the public IP address otherwise. Only specify this option when `cluster` is a [private GKE cluster](https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept).
2217
2221
  :param str proxy_url: Optional. If set, used to configure a [proxy](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#proxy) to the Kubernetes server.
2218
2222
  """
2219
2223
  if cluster is not None:
2220
2224
  pulumi.set(__self__, "cluster", cluster)
2225
+ if dns_endpoint is not None:
2226
+ pulumi.set(__self__, "dns_endpoint", dns_endpoint)
2221
2227
  if internal_ip is not None:
2222
2228
  pulumi.set(__self__, "internal_ip", internal_ip)
2223
2229
  if proxy_url is not None:
@@ -2231,6 +2237,14 @@ class TargetGke(dict):
2231
2237
  """
2232
2238
  return pulumi.get(self, "cluster")
2233
2239
 
2240
+ @property
2241
+ @pulumi.getter(name="dnsEndpoint")
2242
+ def dns_endpoint(self) -> Optional[bool]:
2243
+ """
2244
+ Optional. If set, the cluster will be accessed using the DNS endpoint. Note that both `dns_endpoint` and `internal_ip` cannot be set to true.
2245
+ """
2246
+ return pulumi.get(self, "dns_endpoint")
2247
+
2234
2248
  @property
2235
2249
  @pulumi.getter(name="internalIp")
2236
2250
  def internal_ip(self) -> Optional[bool]:
@@ -55,7 +55,7 @@ class FunctionArgs:
55
55
  """
56
56
  The set of arguments for constructing a Function resource.
57
57
  :param pulumi.Input[str] runtime: The runtime in which the function is going to run.
58
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
58
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
59
59
 
60
60
  - - -
61
61
  :param pulumi.Input[int] available_memory_mb: Memory (in MB), available to the function. Default value is `256`. Possible values include `128`, `256`, `512`, `1024`, etc.
@@ -164,7 +164,7 @@ class FunctionArgs:
164
164
  def runtime(self) -> pulumi.Input[str]:
165
165
  """
166
166
  The runtime in which the function is going to run.
167
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
167
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
168
168
 
169
169
  - - -
170
170
  """
@@ -613,7 +613,7 @@ class _FunctionState:
613
613
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
614
614
  :param pulumi.Input[str] region: Region of function. If it is not provided, the provider region is used.
615
615
  :param pulumi.Input[str] runtime: The runtime in which the function is going to run.
616
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
616
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
617
617
 
618
618
  - - -
619
619
  :param pulumi.Input[Sequence[pulumi.Input['FunctionSecretEnvironmentVariableArgs']]] secret_environment_variables: Secret environment variables configuration. Structure is documented below.
@@ -978,7 +978,7 @@ class _FunctionState:
978
978
  def runtime(self) -> Optional[pulumi.Input[str]]:
979
979
  """
980
980
  The runtime in which the function is going to run.
981
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
981
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
982
982
 
983
983
  - - -
984
984
  """
@@ -1203,7 +1203,7 @@ class Function(pulumi.CustomResource):
1203
1203
  function = gcp.cloudfunctions.Function("function",
1204
1204
  name="function-test",
1205
1205
  description="My function",
1206
- runtime="nodejs16",
1206
+ runtime="nodejs20",
1207
1207
  available_memory_mb=128,
1208
1208
  source_archive_bucket=bucket.name,
1209
1209
  source_archive_object=archive.name,
@@ -1234,7 +1234,7 @@ class Function(pulumi.CustomResource):
1234
1234
  function = gcp.cloudfunctions.Function("function",
1235
1235
  name="function-test",
1236
1236
  description="My function",
1237
- runtime="nodejs16",
1237
+ runtime="nodejs20",
1238
1238
  available_memory_mb=128,
1239
1239
  source_archive_bucket=bucket.name,
1240
1240
  source_archive_object=archive.name,
@@ -1305,7 +1305,7 @@ class Function(pulumi.CustomResource):
1305
1305
  :param pulumi.Input[str] project: Project of the function. If it is not provided, the provider project is used.
1306
1306
  :param pulumi.Input[str] region: Region of function. If it is not provided, the provider region is used.
1307
1307
  :param pulumi.Input[str] runtime: The runtime in which the function is going to run.
1308
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
1308
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
1309
1309
 
1310
1310
  - - -
1311
1311
  :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionSecretEnvironmentVariableArgs', 'FunctionSecretEnvironmentVariableArgsDict']]]] secret_environment_variables: Secret environment variables configuration. Structure is documented below.
@@ -1357,7 +1357,7 @@ class Function(pulumi.CustomResource):
1357
1357
  function = gcp.cloudfunctions.Function("function",
1358
1358
  name="function-test",
1359
1359
  description="My function",
1360
- runtime="nodejs16",
1360
+ runtime="nodejs20",
1361
1361
  available_memory_mb=128,
1362
1362
  source_archive_bucket=bucket.name,
1363
1363
  source_archive_object=archive.name,
@@ -1388,7 +1388,7 @@ class Function(pulumi.CustomResource):
1388
1388
  function = gcp.cloudfunctions.Function("function",
1389
1389
  name="function-test",
1390
1390
  description="My function",
1391
- runtime="nodejs16",
1391
+ runtime="nodejs20",
1392
1392
  available_memory_mb=128,
1393
1393
  source_archive_bucket=bucket.name,
1394
1394
  source_archive_object=archive.name,
@@ -1605,7 +1605,7 @@ class Function(pulumi.CustomResource):
1605
1605
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1606
1606
  :param pulumi.Input[str] region: Region of function. If it is not provided, the provider region is used.
1607
1607
  :param pulumi.Input[str] runtime: The runtime in which the function is going to run.
1608
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
1608
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
1609
1609
 
1610
1610
  - - -
1611
1611
  :param pulumi.Input[Sequence[pulumi.Input[Union['FunctionSecretEnvironmentVariableArgs', 'FunctionSecretEnvironmentVariableArgsDict']]]] secret_environment_variables: Secret environment variables configuration. Structure is documented below.
@@ -1852,7 +1852,7 @@ class Function(pulumi.CustomResource):
1852
1852
  def runtime(self) -> pulumi.Output[str]:
1853
1853
  """
1854
1854
  The runtime in which the function is going to run.
1855
- Eg. `"nodejs16"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
1855
+ Eg. `"nodejs20"`, `"python39"`, `"dotnet3"`, `"go116"`, `"java11"`, `"ruby30"`, `"php74"`, etc. Check the [official doc](https://cloud.google.com/functions/docs/concepts/exec#runtimes) for the up-to-date list.
1856
1856
 
1857
1857
  - - -
1858
1858
  """
@@ -519,7 +519,7 @@ class Function(pulumi.CustomResource):
519
519
  location="us-central1",
520
520
  description="a new function",
521
521
  build_config={
522
- "runtime": "nodejs16",
522
+ "runtime": "nodejs20",
523
523
  "entry_point": "helloHttp",
524
524
  "source": {
525
525
  "storage_source": {
@@ -558,7 +558,7 @@ class Function(pulumi.CustomResource):
558
558
  location="us-central1",
559
559
  description="a new function",
560
560
  build_config={
561
- "runtime": "nodejs16",
561
+ "runtime": "nodejs20",
562
562
  "entry_point": "helloPubSub",
563
563
  "environment_variables": {
564
564
  "BUILD_CONFIG_TEST": "build_test",
@@ -615,7 +615,7 @@ class Function(pulumi.CustomResource):
615
615
  location="us-central1",
616
616
  description="a new function",
617
617
  build_config={
618
- "runtime": "nodejs16",
618
+ "runtime": "nodejs20",
619
619
  "entry_point": "helloHttp",
620
620
  "source": {
621
621
  "storage_source": {
@@ -706,7 +706,7 @@ class Function(pulumi.CustomResource):
706
706
  location="us-central1",
707
707
  description="a new function",
708
708
  build_config={
709
- "runtime": "nodejs12",
709
+ "runtime": "nodejs20",
710
710
  "entry_point": "entryPoint",
711
711
  "environment_variables": {
712
712
  "BUILD_CONFIG_TEST": "build_test",
@@ -792,7 +792,7 @@ class Function(pulumi.CustomResource):
792
792
  location="us-central1",
793
793
  description="a new function",
794
794
  build_config={
795
- "runtime": "nodejs12",
795
+ "runtime": "nodejs20",
796
796
  "entry_point": "entryPoint",
797
797
  "environment_variables": {
798
798
  "BUILD_CONFIG_TEST": "build_test",
@@ -885,7 +885,7 @@ class Function(pulumi.CustomResource):
885
885
  location="us-central1",
886
886
  description="a new function",
887
887
  build_config={
888
- "runtime": "nodejs16",
888
+ "runtime": "nodejs20",
889
889
  "entry_point": "helloHttp",
890
890
  "source": {
891
891
  "storage_source": {
@@ -935,7 +935,7 @@ class Function(pulumi.CustomResource):
935
935
  location="us-central1",
936
936
  description="a new function",
937
937
  build_config={
938
- "runtime": "nodejs16",
938
+ "runtime": "nodejs20",
939
939
  "entry_point": "helloHttp",
940
940
  "source": {
941
941
  "storage_source": {
@@ -990,7 +990,7 @@ class Function(pulumi.CustomResource):
990
990
  location="us-central1",
991
991
  description="a new function",
992
992
  build_config={
993
- "runtime": "nodejs16",
993
+ "runtime": "nodejs20",
994
994
  "entry_point": "helloHttp",
995
995
  "source": {
996
996
  "storage_source": {
@@ -1039,7 +1039,7 @@ class Function(pulumi.CustomResource):
1039
1039
  location="us-central1",
1040
1040
  description="a new function",
1041
1041
  build_config={
1042
- "runtime": "nodejs16",
1042
+ "runtime": "nodejs20",
1043
1043
  "entry_point": "helloHttp",
1044
1044
  "source": {
1045
1045
  "storage_source": {
@@ -1106,7 +1106,7 @@ class Function(pulumi.CustomResource):
1106
1106
  description="CMEK function",
1107
1107
  kms_key_name="cmek-key",
1108
1108
  build_config={
1109
- "runtime": "nodejs16",
1109
+ "runtime": "nodejs20",
1110
1110
  "entry_point": "helloHttp",
1111
1111
  "docker_repository": encoded_ar_repo.id,
1112
1112
  "source": {
@@ -1147,7 +1147,7 @@ class Function(pulumi.CustomResource):
1147
1147
  location="europe-west6",
1148
1148
  description="a new function",
1149
1149
  build_config={
1150
- "runtime": "nodejs16",
1150
+ "runtime": "nodejs20",
1151
1151
  "entry_point": "helloPubSub",
1152
1152
  "environment_variables": {
1153
1153
  "BUILD_CONFIG_TEST": "build_test",
@@ -1205,7 +1205,7 @@ class Function(pulumi.CustomResource):
1205
1205
  location="europe-west6",
1206
1206
  description="a new function",
1207
1207
  build_config={
1208
- "runtime": "nodejs16",
1208
+ "runtime": "nodejs20",
1209
1209
  "entry_point": "helloPubSub",
1210
1210
  "environment_variables": {
1211
1211
  "BUILD_CONFIG_TEST": "build_test",
@@ -1325,7 +1325,7 @@ class Function(pulumi.CustomResource):
1325
1325
  location="us-central1",
1326
1326
  description="a new function",
1327
1327
  build_config={
1328
- "runtime": "nodejs16",
1328
+ "runtime": "nodejs20",
1329
1329
  "entry_point": "helloHttp",
1330
1330
  "source": {
1331
1331
  "storage_source": {
@@ -1364,7 +1364,7 @@ class Function(pulumi.CustomResource):
1364
1364
  location="us-central1",
1365
1365
  description="a new function",
1366
1366
  build_config={
1367
- "runtime": "nodejs16",
1367
+ "runtime": "nodejs20",
1368
1368
  "entry_point": "helloPubSub",
1369
1369
  "environment_variables": {
1370
1370
  "BUILD_CONFIG_TEST": "build_test",
@@ -1421,7 +1421,7 @@ class Function(pulumi.CustomResource):
1421
1421
  location="us-central1",
1422
1422
  description="a new function",
1423
1423
  build_config={
1424
- "runtime": "nodejs16",
1424
+ "runtime": "nodejs20",
1425
1425
  "entry_point": "helloHttp",
1426
1426
  "source": {
1427
1427
  "storage_source": {
@@ -1512,7 +1512,7 @@ class Function(pulumi.CustomResource):
1512
1512
  location="us-central1",
1513
1513
  description="a new function",
1514
1514
  build_config={
1515
- "runtime": "nodejs12",
1515
+ "runtime": "nodejs20",
1516
1516
  "entry_point": "entryPoint",
1517
1517
  "environment_variables": {
1518
1518
  "BUILD_CONFIG_TEST": "build_test",
@@ -1598,7 +1598,7 @@ class Function(pulumi.CustomResource):
1598
1598
  location="us-central1",
1599
1599
  description="a new function",
1600
1600
  build_config={
1601
- "runtime": "nodejs12",
1601
+ "runtime": "nodejs20",
1602
1602
  "entry_point": "entryPoint",
1603
1603
  "environment_variables": {
1604
1604
  "BUILD_CONFIG_TEST": "build_test",
@@ -1691,7 +1691,7 @@ class Function(pulumi.CustomResource):
1691
1691
  location="us-central1",
1692
1692
  description="a new function",
1693
1693
  build_config={
1694
- "runtime": "nodejs16",
1694
+ "runtime": "nodejs20",
1695
1695
  "entry_point": "helloHttp",
1696
1696
  "source": {
1697
1697
  "storage_source": {
@@ -1741,7 +1741,7 @@ class Function(pulumi.CustomResource):
1741
1741
  location="us-central1",
1742
1742
  description="a new function",
1743
1743
  build_config={
1744
- "runtime": "nodejs16",
1744
+ "runtime": "nodejs20",
1745
1745
  "entry_point": "helloHttp",
1746
1746
  "source": {
1747
1747
  "storage_source": {
@@ -1796,7 +1796,7 @@ class Function(pulumi.CustomResource):
1796
1796
  location="us-central1",
1797
1797
  description="a new function",
1798
1798
  build_config={
1799
- "runtime": "nodejs16",
1799
+ "runtime": "nodejs20",
1800
1800
  "entry_point": "helloHttp",
1801
1801
  "source": {
1802
1802
  "storage_source": {
@@ -1845,7 +1845,7 @@ class Function(pulumi.CustomResource):
1845
1845
  location="us-central1",
1846
1846
  description="a new function",
1847
1847
  build_config={
1848
- "runtime": "nodejs16",
1848
+ "runtime": "nodejs20",
1849
1849
  "entry_point": "helloHttp",
1850
1850
  "source": {
1851
1851
  "storage_source": {
@@ -1912,7 +1912,7 @@ class Function(pulumi.CustomResource):
1912
1912
  description="CMEK function",
1913
1913
  kms_key_name="cmek-key",
1914
1914
  build_config={
1915
- "runtime": "nodejs16",
1915
+ "runtime": "nodejs20",
1916
1916
  "entry_point": "helloHttp",
1917
1917
  "docker_repository": encoded_ar_repo.id,
1918
1918
  "source": {
@@ -1953,7 +1953,7 @@ class Function(pulumi.CustomResource):
1953
1953
  location="europe-west6",
1954
1954
  description="a new function",
1955
1955
  build_config={
1956
- "runtime": "nodejs16",
1956
+ "runtime": "nodejs20",
1957
1957
  "entry_point": "helloPubSub",
1958
1958
  "environment_variables": {
1959
1959
  "BUILD_CONFIG_TEST": "build_test",
@@ -2011,7 +2011,7 @@ class Function(pulumi.CustomResource):
2011
2011
  location="europe-west6",
2012
2012
  description="a new function",
2013
2013
  build_config={
2014
- "runtime": "nodejs16",
2014
+ "runtime": "nodejs20",
2015
2015
  "entry_point": "helloPubSub",
2016
2016
  "environment_variables": {
2017
2017
  "BUILD_CONFIG_TEST": "build_test",
@@ -54,6 +54,9 @@ class GetGroupTransitiveMembershipsResult:
54
54
  @property
55
55
  @pulumi.getter
56
56
  def memberships(self) -> Sequence['outputs.GetGroupTransitiveMembershipsMembershipResult']:
57
+ """
58
+ The list of memberships under the given group. Structure is documented below.
59
+ """
57
60
  return pulumi.get(self, "memberships")
58
61
 
59
62
 
@@ -71,7 +74,25 @@ class AwaitableGetGroupTransitiveMembershipsResult(GetGroupTransitiveMemberships
71
74
  def get_group_transitive_memberships(group: Optional[str] = None,
72
75
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGroupTransitiveMembershipsResult:
73
76
  """
74
- Use this data source to access information about an existing resource.
77
+ Use this data source to get list of the Cloud Identity Group Memberships within a given Group. Whereas `cloudidentity_get_group_memberships` returns details of only direct members of the group, `cloudidentity_get_group_transitive_memberships` will return details about both direct and indirect members. For example, a user is an indirect member of Group A if the user is a direct member of Group B and Group B is a direct member of Group A.
78
+
79
+ To get more information about TransitiveGroupMembership, see:
80
+
81
+ * [API documentation](https://cloud.google.com/identity/docs/reference/rest/v1/groups.memberships/searchTransitiveMemberships)
82
+ * How-to Guides
83
+ * [Official Documentation](https://cloud.google.com/identity/docs/how-to/memberships-google-groups)
84
+
85
+ ## Example Usage
86
+
87
+ ```python
88
+ import pulumi
89
+ import pulumi_gcp as gcp
90
+
91
+ members = gcp.cloudidentity.get_group_transitive_memberships(group="groups/123eab45c6defghi")
92
+ ```
93
+
94
+
95
+ :param str group: The parent Group resource to search transitive memberships in. Must be of the form groups/{group_id}.
75
96
  """
76
97
  __args__ = dict()
77
98
  __args__['group'] = group
@@ -85,7 +106,25 @@ def get_group_transitive_memberships(group: Optional[str] = None,
85
106
  def get_group_transitive_memberships_output(group: Optional[pulumi.Input[str]] = None,
86
107
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGroupTransitiveMembershipsResult]:
87
108
  """
88
- Use this data source to access information about an existing resource.
109
+ Use this data source to get list of the Cloud Identity Group Memberships within a given Group. Whereas `cloudidentity_get_group_memberships` returns details of only direct members of the group, `cloudidentity_get_group_transitive_memberships` will return details about both direct and indirect members. For example, a user is an indirect member of Group A if the user is a direct member of Group B and Group B is a direct member of Group A.
110
+
111
+ To get more information about TransitiveGroupMembership, see:
112
+
113
+ * [API documentation](https://cloud.google.com/identity/docs/reference/rest/v1/groups.memberships/searchTransitiveMemberships)
114
+ * How-to Guides
115
+ * [Official Documentation](https://cloud.google.com/identity/docs/how-to/memberships-google-groups)
116
+
117
+ ## Example Usage
118
+
119
+ ```python
120
+ import pulumi
121
+ import pulumi_gcp as gcp
122
+
123
+ members = gcp.cloudidentity.get_group_transitive_memberships(group="groups/123eab45c6defghi")
124
+ ```
125
+
126
+
127
+ :param str group: The parent Group resource to search transitive memberships in. Must be of the form groups/{group_id}.
89
128
  """
90
129
  __args__ = dict()
91
130
  __args__['group'] = group
@@ -629,10 +629,10 @@ class GetGroupTransitiveMembershipsMembershipResult(dict):
629
629
  relation_type: str,
630
630
  roles: Sequence['outputs.GetGroupTransitiveMembershipsMembershipRoleResult']):
631
631
  """
632
- :param str member: Resource name for this member.
633
- :param Sequence['GetGroupTransitiveMembershipsMembershipPreferredMemberKeyArgs'] preferred_member_keys: EntityKey of the member. Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
634
- :param str relation_type: The relation between the group and the transitive member. The value can be DIRECT, INDIRECT, or DIRECT_AND_INDIRECT
635
- :param Sequence['GetGroupTransitiveMembershipsMembershipRoleArgs'] roles: The membership role details
632
+ :param str member: EntityKey of the member. This value will be either a userKey in the format `users/000000000000000000000` with a numerical id or a groupKey in the format `groups/000ab0000ab0000` with a hexadecimal id.
633
+ :param Sequence['GetGroupTransitiveMembershipsMembershipPreferredMemberKeyArgs'] preferred_member_keys: EntityKey of the member. Structure is documented below.
634
+ :param str relation_type: The relation between the group and the transitive member. The value can be DIRECT, INDIRECT, or DIRECT_AND_INDIRECT.
635
+ :param Sequence['GetGroupTransitiveMembershipsMembershipRoleArgs'] roles: The TransitiveMembershipRoles that apply to the Membership. Structure is documented below.
636
636
  """
637
637
  pulumi.set(__self__, "member", member)
638
638
  pulumi.set(__self__, "preferred_member_keys", preferred_member_keys)
@@ -643,7 +643,7 @@ class GetGroupTransitiveMembershipsMembershipResult(dict):
643
643
  @pulumi.getter
644
644
  def member(self) -> str:
645
645
  """
646
- Resource name for this member.
646
+ EntityKey of the member. This value will be either a userKey in the format `users/000000000000000000000` with a numerical id or a groupKey in the format `groups/000ab0000ab0000` with a hexadecimal id.
647
647
  """
648
648
  return pulumi.get(self, "member")
649
649
 
@@ -651,7 +651,7 @@ class GetGroupTransitiveMembershipsMembershipResult(dict):
651
651
  @pulumi.getter(name="preferredMemberKeys")
652
652
  def preferred_member_keys(self) -> Sequence['outputs.GetGroupTransitiveMembershipsMembershipPreferredMemberKeyResult']:
653
653
  """
654
- EntityKey of the member. Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.
654
+ EntityKey of the member. Structure is documented below.
655
655
  """
656
656
  return pulumi.get(self, "preferred_member_keys")
657
657
 
@@ -659,7 +659,7 @@ class GetGroupTransitiveMembershipsMembershipResult(dict):
659
659
  @pulumi.getter(name="relationType")
660
660
  def relation_type(self) -> str:
661
661
  """
662
- The relation between the group and the transitive member. The value can be DIRECT, INDIRECT, or DIRECT_AND_INDIRECT
662
+ The relation between the group and the transitive member. The value can be DIRECT, INDIRECT, or DIRECT_AND_INDIRECT.
663
663
  """
664
664
  return pulumi.get(self, "relation_type")
665
665
 
@@ -667,7 +667,7 @@ class GetGroupTransitiveMembershipsMembershipResult(dict):
667
667
  @pulumi.getter
668
668
  def roles(self) -> Sequence['outputs.GetGroupTransitiveMembershipsMembershipRoleResult']:
669
669
  """
670
- The membership role details
670
+ The TransitiveMembershipRoles that apply to the Membership. Structure is documented below.
671
671
  """
672
672
  return pulumi.get(self, "roles")
673
673
 
@@ -678,23 +678,13 @@ class GetGroupTransitiveMembershipsMembershipPreferredMemberKeyResult(dict):
678
678
  id: str,
679
679
  namespace: str):
680
680
  """
681
- :param str id: The ID of the entity.
682
-
683
- For Google-managed entities, the id must be the email address of an existing
684
- group or user.
685
-
686
- For external-identity-mapped entities, the id must be a string conforming
681
+ :param str id: The ID of the entity. For Google-managed entities, the id is the email address of an existing
682
+ group or user. For external-identity-mapped entities, the id is a string conforming
687
683
  to the Identity Source's requirements.
688
-
689
- Must be unique within a namespace.
690
684
  :param str namespace: The namespace in which the entity exists.
691
-
692
- If not specified, the EntityKey represents a Google-managed entity
685
+ If not populated, the EntityKey represents a Google-managed entity
693
686
  such as a Google user or a Google Group.
694
-
695
- If specified, the EntityKey represents an external-identity-mapped group.
696
- The namespace must correspond to an identity source created in Admin Console
697
- and must be in the form of 'identitysources/{identity_source_id}'.
687
+ If populated, the EntityKey represents an external-identity-mapped group.
698
688
  """
699
689
  pulumi.set(__self__, "id", id)
700
690
  pulumi.set(__self__, "namespace", namespace)
@@ -703,15 +693,9 @@ class GetGroupTransitiveMembershipsMembershipPreferredMemberKeyResult(dict):
703
693
  @pulumi.getter
704
694
  def id(self) -> str:
705
695
  """
706
- The ID of the entity.
707
-
708
- For Google-managed entities, the id must be the email address of an existing
709
- group or user.
710
-
711
- For external-identity-mapped entities, the id must be a string conforming
696
+ The ID of the entity. For Google-managed entities, the id is the email address of an existing
697
+ group or user. For external-identity-mapped entities, the id is a string conforming
712
698
  to the Identity Source's requirements.
713
-
714
- Must be unique within a namespace.
715
699
  """
716
700
  return pulumi.get(self, "id")
717
701
 
@@ -720,13 +704,9 @@ class GetGroupTransitiveMembershipsMembershipPreferredMemberKeyResult(dict):
720
704
  def namespace(self) -> str:
721
705
  """
722
706
  The namespace in which the entity exists.
723
-
724
- If not specified, the EntityKey represents a Google-managed entity
707
+ If not populated, the EntityKey represents a Google-managed entity
725
708
  such as a Google user or a Google Group.
726
-
727
- If specified, the EntityKey represents an external-identity-mapped group.
728
- The namespace must correspond to an identity source created in Admin Console
729
- and must be in the form of 'identitysources/{identity_source_id}'.
709
+ If populated, the EntityKey represents an external-identity-mapped group.
730
710
  """
731
711
  return pulumi.get(self, "namespace")
732
712
 
@@ -736,7 +716,7 @@ class GetGroupTransitiveMembershipsMembershipRoleResult(dict):
736
716
  def __init__(__self__, *,
737
717
  role: str):
738
718
  """
739
- :param str role: The name of the TransitiveMembershipRole. Possible values: ["OWNER", "MANAGER", "MEMBER"]
719
+ :param str role: The name of the TransitiveMembershipRole. One of OWNER, MANAGER, MEMBER.
740
720
  """
741
721
  pulumi.set(__self__, "role", role)
742
722
 
@@ -744,7 +724,7 @@ class GetGroupTransitiveMembershipsMembershipRoleResult(dict):
744
724
  @pulumi.getter
745
725
  def role(self) -> str:
746
726
  """
747
- The name of the TransitiveMembershipRole. Possible values: ["OWNER", "MANAGER", "MEMBER"]
727
+ The name of the TransitiveMembershipRole. One of OWNER, MANAGER, MEMBER.
748
728
  """
749
729
  return pulumi.get(self, "role")
750
730
 
@@ -268,6 +268,16 @@ class FirewallPolicy(pulumi.CustomResource):
268
268
  short_name: Optional[pulumi.Input[str]] = None,
269
269
  __props__=None):
270
270
  """
271
+ Hierarchical firewall policy rules let you create and enforce a consistent firewall policy across your organization. Rules can explicitly allow or deny connections or delegate evaluation to lower level policies. Policies can be created within organizations or folders.
272
+
273
+ This resource should be generally be used with `compute.FirewallPolicyAssociation` and `compute.FirewallPolicyRule`
274
+
275
+ For more information see the [official documentation](https://cloud.google.com/vpc/docs/firewall-policies)
276
+
277
+ To get more information about FirewallPolicy, see:
278
+
279
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/firewallPolicies)
280
+
271
281
  ## Example Usage
272
282
 
273
283
  ### Firewall Policy
@@ -318,6 +328,16 @@ class FirewallPolicy(pulumi.CustomResource):
318
328
  args: FirewallPolicyArgs,
319
329
  opts: Optional[pulumi.ResourceOptions] = None):
320
330
  """
331
+ Hierarchical firewall policy rules let you create and enforce a consistent firewall policy across your organization. Rules can explicitly allow or deny connections or delegate evaluation to lower level policies. Policies can be created within organizations or folders.
332
+
333
+ This resource should be generally be used with `compute.FirewallPolicyAssociation` and `compute.FirewallPolicyRule`
334
+
335
+ For more information see the [official documentation](https://cloud.google.com/vpc/docs/firewall-policies)
336
+
337
+ To get more information about FirewallPolicy, see:
338
+
339
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/firewallPolicies)
340
+
321
341
  ## Example Usage
322
342
 
323
343
  ### Firewall Policy
@@ -621,7 +621,7 @@ class RegionNetworkEndpointGroup(pulumi.CustomResource):
621
621
  function_neg_function = gcp.cloudfunctions.Function("function_neg",
622
622
  name="function-neg",
623
623
  description="My function",
624
- runtime="nodejs10",
624
+ runtime="nodejs20",
625
625
  available_memory_mb=128,
626
626
  source_archive_bucket=bucket.name,
627
627
  source_archive_object=archive.name,
@@ -975,7 +975,7 @@ class RegionNetworkEndpointGroup(pulumi.CustomResource):
975
975
  function_neg_function = gcp.cloudfunctions.Function("function_neg",
976
976
  name="function-neg",
977
977
  description="My function",
978
- runtime="nodejs10",
978
+ runtime="nodejs20",
979
979
  available_memory_mb=128,
980
980
  source_archive_bucket=bucket.name,
981
981
  source_archive_object=archive.name,