pulumi-gcp 8.22.0a1741790977__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 (124) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/_inputs.py +93 -1
  3. pulumi_gcp/alloydb/outputs.py +128 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  6. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  7. pulumi_gcp/bigquery/_inputs.py +20 -0
  8. pulumi_gcp/bigquery/outputs.py +12 -0
  9. pulumi_gcp/bigquery/table.py +61 -0
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  14. pulumi_gcp/clouddeploy/outputs.py +15 -1
  15. pulumi_gcp/cloudfunctions/function.py +11 -11
  16. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  17. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  18. pulumi_gcp/cloudidentity/outputs.py +18 -38
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +600 -17
  21. pulumi_gcp/compute/backend_service.py +195 -7
  22. pulumi_gcp/compute/disk.py +108 -0
  23. pulumi_gcp/compute/firewall_policy.py +20 -0
  24. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_disk.py +23 -1
  27. pulumi_gcp/compute/get_region_disk.py +23 -1
  28. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  29. pulumi_gcp/compute/outputs.py +623 -23
  30. pulumi_gcp/compute/region_backend_service.py +193 -7
  31. pulumi_gcp/compute/region_disk.py +114 -0
  32. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  33. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  34. pulumi_gcp/compute/subnetwork.py +256 -1
  35. pulumi_gcp/compute/target_https_proxy.py +7 -7
  36. pulumi_gcp/config/__init__.pyi +2 -0
  37. pulumi_gcp/config/vars.py +4 -0
  38. pulumi_gcp/container/_inputs.py +6 -6
  39. pulumi_gcp/container/get_attached_versions.py +2 -2
  40. pulumi_gcp/container/outputs.py +8 -8
  41. pulumi_gcp/dataform/repository.py +49 -0
  42. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  43. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  44. pulumi_gcp/dataproc/metastore_service.py +58 -2
  45. pulumi_gcp/datastream/_inputs.py +273 -0
  46. pulumi_gcp/datastream/connection_profile.py +54 -2
  47. pulumi_gcp/datastream/outputs.py +224 -0
  48. pulumi_gcp/eventarc/__init__.py +2 -0
  49. pulumi_gcp/eventarc/_inputs.py +1798 -0
  50. pulumi_gcp/eventarc/channel.py +85 -93
  51. pulumi_gcp/eventarc/google_api_source.py +997 -0
  52. pulumi_gcp/eventarc/outputs.py +1378 -0
  53. pulumi_gcp/eventarc/pipeline.py +1596 -0
  54. pulumi_gcp/firebase/__init__.py +1 -0
  55. pulumi_gcp/firebase/_inputs.py +154 -0
  56. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  57. pulumi_gcp/firebase/data_connect_service.py +40 -2
  58. pulumi_gcp/firebase/hosting_version.py +2 -2
  59. pulumi_gcp/firebase/outputs.py +127 -0
  60. pulumi_gcp/iam/__init__.py +2 -0
  61. pulumi_gcp/iam/_inputs.py +51 -18
  62. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  63. pulumi_gcp/iam/oauth_client.py +979 -0
  64. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  65. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  66. pulumi_gcp/iam/outputs.py +34 -12
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  68. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  69. pulumi_gcp/kms/crypto_key_version.py +14 -7
  70. pulumi_gcp/kms/get_key_rings.py +39 -2
  71. pulumi_gcp/managedkafka/__init__.py +2 -0
  72. pulumi_gcp/managedkafka/_inputs.py +263 -0
  73. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  74. pulumi_gcp/managedkafka/connector.py +695 -0
  75. pulumi_gcp/managedkafka/outputs.py +248 -0
  76. pulumi_gcp/memorystore/instance.py +7 -7
  77. pulumi_gcp/monitoring/_inputs.py +15 -18
  78. pulumi_gcp/monitoring/alert_policy.py +46 -0
  79. pulumi_gcp/monitoring/outputs.py +10 -12
  80. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  81. pulumi_gcp/networksecurity/__init__.py +1 -0
  82. pulumi_gcp/networksecurity/_inputs.py +673 -18
  83. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  84. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  85. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  86. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  87. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  88. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  89. pulumi_gcp/networksecurity/mirroring_deployment.py +200 -94
  90. pulumi_gcp/networksecurity/mirroring_deployment_group.py +181 -77
  91. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +185 -80
  92. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +165 -105
  93. pulumi_gcp/networksecurity/outputs.py +495 -12
  94. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  95. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  96. pulumi_gcp/networkservices/gateway.py +242 -120
  97. pulumi_gcp/networkservices/grpc_route.py +12 -0
  98. pulumi_gcp/networkservices/http_route.py +16 -0
  99. pulumi_gcp/networkservices/mesh.py +16 -0
  100. pulumi_gcp/networkservices/service_binding.py +14 -0
  101. pulumi_gcp/networkservices/tcp_route.py +16 -0
  102. pulumi_gcp/networkservices/tls_route.py +12 -0
  103. pulumi_gcp/projects/__init__.py +2 -0
  104. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  105. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  106. pulumi_gcp/projects/outputs.py +96 -0
  107. pulumi_gcp/provider.py +20 -0
  108. pulumi_gcp/pulumi-plugin.json +1 -1
  109. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  110. pulumi_gcp/sql/outputs.py +8 -8
  111. pulumi_gcp/storage/_inputs.py +14 -6
  112. pulumi_gcp/storage/insights_report_config.py +121 -20
  113. pulumi_gcp/storage/outputs.py +7 -4
  114. pulumi_gcp/tpu/_inputs.py +21 -1
  115. pulumi_gcp/tpu/outputs.py +13 -1
  116. pulumi_gcp/tpu/v2_vm.py +2 -0
  117. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  118. pulumi_gcp/vmwareengine/outputs.py +8 -0
  119. pulumi_gcp/workflows/workflow.py +75 -7
  120. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  121. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  122. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +124 -113
  123. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  124. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -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,
@@ -145,8 +145,6 @@ class SharedVPCServiceProject(pulumi.CustomResource):
145
145
  [the Project API documentation](https://cloud.google.com/compute/docs/reference/latest/projects),
146
146
  where the Shared VPC feature is referred to by its former name "XPN".
147
147
 
148
- > **Note:** If Shared VPC Admin role is set at the folder level, use the google-beta provider. The google provider only supports this permission at project or organizational level currently. [[0]](https://cloud.google.com/vpc/docs/provisioning-shared-vpc#enable-shared-vpc-host)
149
-
150
148
  ## Example Usage
151
149
 
152
150
  ```python
@@ -195,8 +193,6 @@ class SharedVPCServiceProject(pulumi.CustomResource):
195
193
  [the Project API documentation](https://cloud.google.com/compute/docs/reference/latest/projects),
196
194
  where the Shared VPC feature is referred to by its former name "XPN".
197
195
 
198
- > **Note:** If Shared VPC Admin role is set at the folder level, use the google-beta provider. The google provider only supports this permission at project or organizational level currently. [[0]](https://cloud.google.com/vpc/docs/provisioning-shared-vpc#enable-shared-vpc-host)
199
-
200
196
  ## Example Usage
201
197
 
202
198
  ```python
@@ -24,8 +24,10 @@ class SubnetworkArgs:
24
24
  network: pulumi.Input[str],
25
25
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
26
26
  description: Optional[pulumi.Input[str]] = None,
27
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
27
28
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
28
29
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
30
+ ip_collection: Optional[pulumi.Input[str]] = None,
29
31
  ipv6_access_type: Optional[pulumi.Input[str]] = None,
30
32
  log_config: Optional[pulumi.Input['SubnetworkLogConfigArgs']] = None,
31
33
  name: Optional[pulumi.Input[str]] = None,
@@ -53,12 +55,25 @@ class SubnetworkArgs:
53
55
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
54
56
  you create the resource. This field can be set only at resource
55
57
  creation time.
58
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
59
+ it will not appear in get listings. If not set the default behavior is determined by the
60
+ org policy, if there is no org policy specified, then it will default to disabled.
61
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
56
62
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
57
63
  :param pulumi.Input[str] ip_cidr_range: The range of internal addresses that are owned by this subnetwork.
58
64
  Provide this property when you create the subnetwork. For example,
59
65
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
60
66
  non-overlapping within a network. Only IPv4 is supported.
61
67
  Field is optional when `reserved_internal_range` is defined, otherwise required.
68
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
69
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
70
+ Use one of the following formats to specify a sub-PDP when creating an
71
+ IPv6 NetLB forwarding rule using BYOIP:
72
+ Full resource URL, as in:
73
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
74
+ Partial URL, as in:
75
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
76
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
62
77
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
63
78
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
64
79
  cannot enable direct path.
@@ -117,10 +132,14 @@ class SubnetworkArgs:
117
132
  pulumi.set(__self__, "allow_subnet_cidr_routes_overlap", allow_subnet_cidr_routes_overlap)
118
133
  if description is not None:
119
134
  pulumi.set(__self__, "description", description)
135
+ if enable_flow_logs is not None:
136
+ pulumi.set(__self__, "enable_flow_logs", enable_flow_logs)
120
137
  if external_ipv6_prefix is not None:
121
138
  pulumi.set(__self__, "external_ipv6_prefix", external_ipv6_prefix)
122
139
  if ip_cidr_range is not None:
123
140
  pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
141
+ if ip_collection is not None:
142
+ pulumi.set(__self__, "ip_collection", ip_collection)
124
143
  if ipv6_access_type is not None:
125
144
  pulumi.set(__self__, "ipv6_access_type", ipv6_access_type)
126
145
  if log_config is not None:
@@ -193,6 +212,21 @@ class SubnetworkArgs:
193
212
  def description(self, value: Optional[pulumi.Input[str]]):
194
213
  pulumi.set(self, "description", value)
195
214
 
215
+ @property
216
+ @pulumi.getter(name="enableFlowLogs")
217
+ def enable_flow_logs(self) -> Optional[pulumi.Input[bool]]:
218
+ """
219
+ Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
220
+ it will not appear in get listings. If not set the default behavior is determined by the
221
+ org policy, if there is no org policy specified, then it will default to disabled.
222
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
223
+ """
224
+ return pulumi.get(self, "enable_flow_logs")
225
+
226
+ @enable_flow_logs.setter
227
+ def enable_flow_logs(self, value: Optional[pulumi.Input[bool]]):
228
+ pulumi.set(self, "enable_flow_logs", value)
229
+
196
230
  @property
197
231
  @pulumi.getter(name="externalIpv6Prefix")
198
232
  def external_ipv6_prefix(self) -> Optional[pulumi.Input[str]]:
@@ -221,6 +255,26 @@ class SubnetworkArgs:
221
255
  def ip_cidr_range(self, value: Optional[pulumi.Input[str]]):
222
256
  pulumi.set(self, "ip_cidr_range", value)
223
257
 
258
+ @property
259
+ @pulumi.getter(name="ipCollection")
260
+ def ip_collection(self) -> Optional[pulumi.Input[str]]:
261
+ """
262
+ Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
263
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
264
+ Use one of the following formats to specify a sub-PDP when creating an
265
+ IPv6 NetLB forwarding rule using BYOIP:
266
+ Full resource URL, as in:
267
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
268
+ Partial URL, as in:
269
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
270
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
271
+ """
272
+ return pulumi.get(self, "ip_collection")
273
+
274
+ @ip_collection.setter
275
+ def ip_collection(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "ip_collection", value)
277
+
224
278
  @property
225
279
  @pulumi.getter(name="ipv6AccessType")
226
280
  def ipv6_access_type(self) -> Optional[pulumi.Input[str]]:
@@ -423,13 +477,16 @@ class _SubnetworkState:
423
477
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
424
478
  creation_timestamp: Optional[pulumi.Input[str]] = None,
425
479
  description: Optional[pulumi.Input[str]] = None,
480
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
426
481
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
427
482
  fingerprint: Optional[pulumi.Input[str]] = None,
428
483
  gateway_address: Optional[pulumi.Input[str]] = None,
429
484
  internal_ipv6_prefix: Optional[pulumi.Input[str]] = None,
430
485
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
486
+ ip_collection: Optional[pulumi.Input[str]] = None,
431
487
  ipv6_access_type: Optional[pulumi.Input[str]] = None,
432
488
  ipv6_cidr_range: Optional[pulumi.Input[str]] = None,
489
+ ipv6_gce_endpoint: Optional[pulumi.Input[str]] = None,
433
490
  log_config: Optional[pulumi.Input['SubnetworkLogConfigArgs']] = None,
434
491
  name: Optional[pulumi.Input[str]] = None,
435
492
  network: Optional[pulumi.Input[str]] = None,
@@ -444,6 +501,7 @@ class _SubnetworkState:
444
501
  self_link: Optional[pulumi.Input[str]] = None,
445
502
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
446
503
  stack_type: Optional[pulumi.Input[str]] = None,
504
+ state: Optional[pulumi.Input[str]] = None,
447
505
  subnetwork_id: Optional[pulumi.Input[int]] = None):
448
506
  """
449
507
  Input properties used for looking up and filtering Subnetwork resources.
@@ -455,6 +513,10 @@ class _SubnetworkState:
455
513
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
456
514
  you create the resource. This field can be set only at resource
457
515
  creation time.
516
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
517
+ it will not appear in get listings. If not set the default behavior is determined by the
518
+ org policy, if there is no org policy specified, then it will default to disabled.
519
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
458
520
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
459
521
  :param pulumi.Input[str] fingerprint: Fingerprint of this resource. This field is used internally during updates of this resource.
460
522
  :param pulumi.Input[str] gateway_address: The gateway address for default routes to reach destination addresses
@@ -465,11 +527,25 @@ class _SubnetworkState:
465
527
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
466
528
  non-overlapping within a network. Only IPv4 is supported.
467
529
  Field is optional when `reserved_internal_range` is defined, otherwise required.
530
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
531
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
532
+ Use one of the following formats to specify a sub-PDP when creating an
533
+ IPv6 NetLB forwarding rule using BYOIP:
534
+ Full resource URL, as in:
535
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
536
+ Partial URL, as in:
537
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
538
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
468
539
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
469
540
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
470
541
  cannot enable direct path.
471
542
  Possible values are: `EXTERNAL`, `INTERNAL`.
472
543
  :param pulumi.Input[str] ipv6_cidr_range: The range of internal IPv6 addresses that are owned by this subnetwork.
544
+ :param pulumi.Input[str] ipv6_gce_endpoint: Possible endpoints of this subnetwork. It can be one of the following:
545
+ * VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork
546
+ gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb.
547
+ * VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve
548
+ IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly.
473
549
  :param pulumi.Input['SubnetworkLogConfigArgs'] log_config: This field denotes the VPC flow logging options for this subnetwork. If
474
550
  logging is enabled, logs are exported to Cloud Logging. Flow logging
475
551
  isn't supported if the subnet `purpose` field is set to subnetwork is
@@ -524,6 +600,10 @@ class _SubnetworkState:
524
600
  :param pulumi.Input[str] stack_type: The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
525
601
  If not specified IPV4_ONLY will be used.
526
602
  Possible values are: `IPV4_ONLY`, `IPV4_IPV6`, `IPV6_ONLY`.
603
+ :param pulumi.Input[str] state: 'The state of the subnetwork, which can be one of the following values:
604
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
605
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
606
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
527
607
  :param pulumi.Input[int] subnetwork_id: The unique identifier number for the resource. This identifier is defined by the server.
528
608
  """
529
609
  if allow_subnet_cidr_routes_overlap is not None:
@@ -532,6 +612,8 @@ class _SubnetworkState:
532
612
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
533
613
  if description is not None:
534
614
  pulumi.set(__self__, "description", description)
615
+ if enable_flow_logs is not None:
616
+ pulumi.set(__self__, "enable_flow_logs", enable_flow_logs)
535
617
  if external_ipv6_prefix is not None:
536
618
  pulumi.set(__self__, "external_ipv6_prefix", external_ipv6_prefix)
537
619
  if fingerprint is not None:
@@ -545,10 +627,14 @@ class _SubnetworkState:
545
627
  pulumi.set(__self__, "internal_ipv6_prefix", internal_ipv6_prefix)
546
628
  if ip_cidr_range is not None:
547
629
  pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
630
+ if ip_collection is not None:
631
+ pulumi.set(__self__, "ip_collection", ip_collection)
548
632
  if ipv6_access_type is not None:
549
633
  pulumi.set(__self__, "ipv6_access_type", ipv6_access_type)
550
634
  if ipv6_cidr_range is not None:
551
635
  pulumi.set(__self__, "ipv6_cidr_range", ipv6_cidr_range)
636
+ if ipv6_gce_endpoint is not None:
637
+ pulumi.set(__self__, "ipv6_gce_endpoint", ipv6_gce_endpoint)
552
638
  if log_config is not None:
553
639
  pulumi.set(__self__, "log_config", log_config)
554
640
  if name is not None:
@@ -577,6 +663,8 @@ class _SubnetworkState:
577
663
  pulumi.set(__self__, "send_secondary_ip_range_if_empty", send_secondary_ip_range_if_empty)
578
664
  if stack_type is not None:
579
665
  pulumi.set(__self__, "stack_type", stack_type)
666
+ if state is not None:
667
+ pulumi.set(__self__, "state", state)
580
668
  if subnetwork_id is not None:
581
669
  pulumi.set(__self__, "subnetwork_id", subnetwork_id)
582
670
 
@@ -621,6 +709,21 @@ class _SubnetworkState:
621
709
  def description(self, value: Optional[pulumi.Input[str]]):
622
710
  pulumi.set(self, "description", value)
623
711
 
712
+ @property
713
+ @pulumi.getter(name="enableFlowLogs")
714
+ def enable_flow_logs(self) -> Optional[pulumi.Input[bool]]:
715
+ """
716
+ Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
717
+ it will not appear in get listings. If not set the default behavior is determined by the
718
+ org policy, if there is no org policy specified, then it will default to disabled.
719
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
720
+ """
721
+ return pulumi.get(self, "enable_flow_logs")
722
+
723
+ @enable_flow_logs.setter
724
+ def enable_flow_logs(self, value: Optional[pulumi.Input[bool]]):
725
+ pulumi.set(self, "enable_flow_logs", value)
726
+
624
727
  @property
625
728
  @pulumi.getter(name="externalIpv6Prefix")
626
729
  def external_ipv6_prefix(self) -> Optional[pulumi.Input[str]]:
@@ -687,6 +790,26 @@ class _SubnetworkState:
687
790
  def ip_cidr_range(self, value: Optional[pulumi.Input[str]]):
688
791
  pulumi.set(self, "ip_cidr_range", value)
689
792
 
793
+ @property
794
+ @pulumi.getter(name="ipCollection")
795
+ def ip_collection(self) -> Optional[pulumi.Input[str]]:
796
+ """
797
+ Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
798
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
799
+ Use one of the following formats to specify a sub-PDP when creating an
800
+ IPv6 NetLB forwarding rule using BYOIP:
801
+ Full resource URL, as in:
802
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
803
+ Partial URL, as in:
804
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
805
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
806
+ """
807
+ return pulumi.get(self, "ip_collection")
808
+
809
+ @ip_collection.setter
810
+ def ip_collection(self, value: Optional[pulumi.Input[str]]):
811
+ pulumi.set(self, "ip_collection", value)
812
+
690
813
  @property
691
814
  @pulumi.getter(name="ipv6AccessType")
692
815
  def ipv6_access_type(self) -> Optional[pulumi.Input[str]]:
@@ -714,6 +837,22 @@ class _SubnetworkState:
714
837
  def ipv6_cidr_range(self, value: Optional[pulumi.Input[str]]):
715
838
  pulumi.set(self, "ipv6_cidr_range", value)
716
839
 
840
+ @property
841
+ @pulumi.getter(name="ipv6GceEndpoint")
842
+ def ipv6_gce_endpoint(self) -> Optional[pulumi.Input[str]]:
843
+ """
844
+ Possible endpoints of this subnetwork. It can be one of the following:
845
+ * VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork
846
+ gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb.
847
+ * VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve
848
+ IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly.
849
+ """
850
+ return pulumi.get(self, "ipv6_gce_endpoint")
851
+
852
+ @ipv6_gce_endpoint.setter
853
+ def ipv6_gce_endpoint(self, value: Optional[pulumi.Input[str]]):
854
+ pulumi.set(self, "ipv6_gce_endpoint", value)
855
+
717
856
  @property
718
857
  @pulumi.getter(name="logConfig")
719
858
  def log_config(self) -> Optional[pulumi.Input['SubnetworkLogConfigArgs']]:
@@ -922,6 +1061,21 @@ class _SubnetworkState:
922
1061
  def stack_type(self, value: Optional[pulumi.Input[str]]):
923
1062
  pulumi.set(self, "stack_type", value)
924
1063
 
1064
+ @property
1065
+ @pulumi.getter
1066
+ def state(self) -> Optional[pulumi.Input[str]]:
1067
+ """
1068
+ 'The state of the subnetwork, which can be one of the following values:
1069
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
1070
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
1071
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
1072
+ """
1073
+ return pulumi.get(self, "state")
1074
+
1075
+ @state.setter
1076
+ def state(self, value: Optional[pulumi.Input[str]]):
1077
+ pulumi.set(self, "state", value)
1078
+
925
1079
  @property
926
1080
  @pulumi.getter(name="subnetworkId")
927
1081
  def subnetwork_id(self) -> Optional[pulumi.Input[int]]:
@@ -942,8 +1096,10 @@ class Subnetwork(pulumi.CustomResource):
942
1096
  opts: Optional[pulumi.ResourceOptions] = None,
943
1097
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
944
1098
  description: Optional[pulumi.Input[str]] = None,
1099
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
945
1100
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
946
1101
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
1102
+ ip_collection: Optional[pulumi.Input[str]] = None,
947
1103
  ipv6_access_type: Optional[pulumi.Input[str]] = None,
948
1104
  log_config: Optional[pulumi.Input[Union['SubnetworkLogConfigArgs', 'SubnetworkLogConfigArgsDict']]] = None,
949
1105
  name: Optional[pulumi.Input[str]] = None,
@@ -1210,12 +1366,25 @@ class Subnetwork(pulumi.CustomResource):
1210
1366
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
1211
1367
  you create the resource. This field can be set only at resource
1212
1368
  creation time.
1369
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
1370
+ it will not appear in get listings. If not set the default behavior is determined by the
1371
+ org policy, if there is no org policy specified, then it will default to disabled.
1372
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
1213
1373
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
1214
1374
  :param pulumi.Input[str] ip_cidr_range: The range of internal addresses that are owned by this subnetwork.
1215
1375
  Provide this property when you create the subnetwork. For example,
1216
1376
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
1217
1377
  non-overlapping within a network. Only IPv4 is supported.
1218
1378
  Field is optional when `reserved_internal_range` is defined, otherwise required.
1379
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
1380
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
1381
+ Use one of the following formats to specify a sub-PDP when creating an
1382
+ IPv6 NetLB forwarding rule using BYOIP:
1383
+ Full resource URL, as in:
1384
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
1385
+ Partial URL, as in:
1386
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
1387
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
1219
1388
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
1220
1389
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
1221
1390
  cannot enable direct path.
@@ -1539,8 +1708,10 @@ class Subnetwork(pulumi.CustomResource):
1539
1708
  opts: Optional[pulumi.ResourceOptions] = None,
1540
1709
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
1541
1710
  description: Optional[pulumi.Input[str]] = None,
1711
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
1542
1712
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
1543
1713
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
1714
+ ip_collection: Optional[pulumi.Input[str]] = None,
1544
1715
  ipv6_access_type: Optional[pulumi.Input[str]] = None,
1545
1716
  log_config: Optional[pulumi.Input[Union['SubnetworkLogConfigArgs', 'SubnetworkLogConfigArgsDict']]] = None,
1546
1717
  name: Optional[pulumi.Input[str]] = None,
@@ -1566,8 +1737,10 @@ class Subnetwork(pulumi.CustomResource):
1566
1737
 
1567
1738
  __props__.__dict__["allow_subnet_cidr_routes_overlap"] = allow_subnet_cidr_routes_overlap
1568
1739
  __props__.__dict__["description"] = description
1740
+ __props__.__dict__["enable_flow_logs"] = enable_flow_logs
1569
1741
  __props__.__dict__["external_ipv6_prefix"] = external_ipv6_prefix
1570
1742
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
1743
+ __props__.__dict__["ip_collection"] = ip_collection
1571
1744
  __props__.__dict__["ipv6_access_type"] = ipv6_access_type
1572
1745
  __props__.__dict__["log_config"] = log_config
1573
1746
  __props__.__dict__["name"] = name
@@ -1589,7 +1762,9 @@ class Subnetwork(pulumi.CustomResource):
1589
1762
  __props__.__dict__["gateway_address"] = None
1590
1763
  __props__.__dict__["internal_ipv6_prefix"] = None
1591
1764
  __props__.__dict__["ipv6_cidr_range"] = None
1765
+ __props__.__dict__["ipv6_gce_endpoint"] = None
1592
1766
  __props__.__dict__["self_link"] = None
1767
+ __props__.__dict__["state"] = None
1593
1768
  __props__.__dict__["subnetwork_id"] = None
1594
1769
  super(Subnetwork, __self__).__init__(
1595
1770
  'gcp:compute/subnetwork:Subnetwork',
@@ -1604,13 +1779,16 @@ class Subnetwork(pulumi.CustomResource):
1604
1779
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
1605
1780
  creation_timestamp: Optional[pulumi.Input[str]] = None,
1606
1781
  description: Optional[pulumi.Input[str]] = None,
1782
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
1607
1783
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
1608
1784
  fingerprint: Optional[pulumi.Input[str]] = None,
1609
1785
  gateway_address: Optional[pulumi.Input[str]] = None,
1610
1786
  internal_ipv6_prefix: Optional[pulumi.Input[str]] = None,
1611
1787
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
1788
+ ip_collection: Optional[pulumi.Input[str]] = None,
1612
1789
  ipv6_access_type: Optional[pulumi.Input[str]] = None,
1613
1790
  ipv6_cidr_range: Optional[pulumi.Input[str]] = None,
1791
+ ipv6_gce_endpoint: Optional[pulumi.Input[str]] = None,
1614
1792
  log_config: Optional[pulumi.Input[Union['SubnetworkLogConfigArgs', 'SubnetworkLogConfigArgsDict']]] = None,
1615
1793
  name: Optional[pulumi.Input[str]] = None,
1616
1794
  network: Optional[pulumi.Input[str]] = None,
@@ -1625,6 +1803,7 @@ class Subnetwork(pulumi.CustomResource):
1625
1803
  self_link: Optional[pulumi.Input[str]] = None,
1626
1804
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
1627
1805
  stack_type: Optional[pulumi.Input[str]] = None,
1806
+ state: Optional[pulumi.Input[str]] = None,
1628
1807
  subnetwork_id: Optional[pulumi.Input[int]] = None) -> 'Subnetwork':
1629
1808
  """
1630
1809
  Get an existing Subnetwork resource's state with the given name, id, and optional extra
@@ -1641,6 +1820,10 @@ class Subnetwork(pulumi.CustomResource):
1641
1820
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
1642
1821
  you create the resource. This field can be set only at resource
1643
1822
  creation time.
1823
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
1824
+ it will not appear in get listings. If not set the default behavior is determined by the
1825
+ org policy, if there is no org policy specified, then it will default to disabled.
1826
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
1644
1827
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
1645
1828
  :param pulumi.Input[str] fingerprint: Fingerprint of this resource. This field is used internally during updates of this resource.
1646
1829
  :param pulumi.Input[str] gateway_address: The gateway address for default routes to reach destination addresses
@@ -1651,11 +1834,25 @@ class Subnetwork(pulumi.CustomResource):
1651
1834
  10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
1652
1835
  non-overlapping within a network. Only IPv4 is supported.
1653
1836
  Field is optional when `reserved_internal_range` is defined, otherwise required.
1837
+ :param pulumi.Input[str] ip_collection: Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
1838
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
1839
+ Use one of the following formats to specify a sub-PDP when creating an
1840
+ IPv6 NetLB forwarding rule using BYOIP:
1841
+ Full resource URL, as in:
1842
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
1843
+ Partial URL, as in:
1844
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
1845
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
1654
1846
  :param pulumi.Input[str] ipv6_access_type: The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation
1655
1847
  or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet
1656
1848
  cannot enable direct path.
1657
1849
  Possible values are: `EXTERNAL`, `INTERNAL`.
1658
1850
  :param pulumi.Input[str] ipv6_cidr_range: The range of internal IPv6 addresses that are owned by this subnetwork.
1851
+ :param pulumi.Input[str] ipv6_gce_endpoint: Possible endpoints of this subnetwork. It can be one of the following:
1852
+ * VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork
1853
+ gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb.
1854
+ * VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve
1855
+ IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly.
1659
1856
  :param pulumi.Input[Union['SubnetworkLogConfigArgs', 'SubnetworkLogConfigArgsDict']] log_config: This field denotes the VPC flow logging options for this subnetwork. If
1660
1857
  logging is enabled, logs are exported to Cloud Logging. Flow logging
1661
1858
  isn't supported if the subnet `purpose` field is set to subnetwork is
@@ -1710,6 +1907,10 @@ class Subnetwork(pulumi.CustomResource):
1710
1907
  :param pulumi.Input[str] stack_type: The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
1711
1908
  If not specified IPV4_ONLY will be used.
1712
1909
  Possible values are: `IPV4_ONLY`, `IPV4_IPV6`, `IPV6_ONLY`.
1910
+ :param pulumi.Input[str] state: 'The state of the subnetwork, which can be one of the following values:
1911
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
1912
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
1913
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
1713
1914
  :param pulumi.Input[int] subnetwork_id: The unique identifier number for the resource. This identifier is defined by the server.
1714
1915
  """
1715
1916
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1719,13 +1920,16 @@ class Subnetwork(pulumi.CustomResource):
1719
1920
  __props__.__dict__["allow_subnet_cidr_routes_overlap"] = allow_subnet_cidr_routes_overlap
1720
1921
  __props__.__dict__["creation_timestamp"] = creation_timestamp
1721
1922
  __props__.__dict__["description"] = description
1923
+ __props__.__dict__["enable_flow_logs"] = enable_flow_logs
1722
1924
  __props__.__dict__["external_ipv6_prefix"] = external_ipv6_prefix
1723
1925
  __props__.__dict__["fingerprint"] = fingerprint
1724
1926
  __props__.__dict__["gateway_address"] = gateway_address
1725
1927
  __props__.__dict__["internal_ipv6_prefix"] = internal_ipv6_prefix
1726
1928
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
1929
+ __props__.__dict__["ip_collection"] = ip_collection
1727
1930
  __props__.__dict__["ipv6_access_type"] = ipv6_access_type
1728
1931
  __props__.__dict__["ipv6_cidr_range"] = ipv6_cidr_range
1932
+ __props__.__dict__["ipv6_gce_endpoint"] = ipv6_gce_endpoint
1729
1933
  __props__.__dict__["log_config"] = log_config
1730
1934
  __props__.__dict__["name"] = name
1731
1935
  __props__.__dict__["network"] = network
@@ -1740,6 +1944,7 @@ class Subnetwork(pulumi.CustomResource):
1740
1944
  __props__.__dict__["self_link"] = self_link
1741
1945
  __props__.__dict__["send_secondary_ip_range_if_empty"] = send_secondary_ip_range_if_empty
1742
1946
  __props__.__dict__["stack_type"] = stack_type
1947
+ __props__.__dict__["state"] = state
1743
1948
  __props__.__dict__["subnetwork_id"] = subnetwork_id
1744
1949
  return Subnetwork(resource_name, opts=opts, __props__=__props__)
1745
1950
 
@@ -1772,6 +1977,17 @@ class Subnetwork(pulumi.CustomResource):
1772
1977
  """
1773
1978
  return pulumi.get(self, "description")
1774
1979
 
1980
+ @property
1981
+ @pulumi.getter(name="enableFlowLogs")
1982
+ def enable_flow_logs(self) -> pulumi.Output[bool]:
1983
+ """
1984
+ Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
1985
+ it will not appear in get listings. If not set the default behavior is determined by the
1986
+ org policy, if there is no org policy specified, then it will default to disabled.
1987
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
1988
+ """
1989
+ return pulumi.get(self, "enable_flow_logs")
1990
+
1775
1991
  @property
1776
1992
  @pulumi.getter(name="externalIpv6Prefix")
1777
1993
  def external_ipv6_prefix(self) -> pulumi.Output[str]:
@@ -1818,6 +2034,22 @@ class Subnetwork(pulumi.CustomResource):
1818
2034
  """
1819
2035
  return pulumi.get(self, "ip_cidr_range")
1820
2036
 
2037
+ @property
2038
+ @pulumi.getter(name="ipCollection")
2039
+ def ip_collection(self) -> pulumi.Output[Optional[str]]:
2040
+ """
2041
+ Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP
2042
+ in EXTERNAL_IPV6_SUBNETWORK_CREATION mode.
2043
+ Use one of the following formats to specify a sub-PDP when creating an
2044
+ IPv6 NetLB forwarding rule using BYOIP:
2045
+ Full resource URL, as in:
2046
+ * `https://www.googleapis.com/compute/v1/projects/{{projectId}}/regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
2047
+ Partial URL, as in:
2048
+ * `projects/{{projectId}}/regions/region/publicDelegatedPrefixes/{{sub-pdp-name}}`
2049
+ * `regions/{{region}}/publicDelegatedPrefixes/{{sub-pdp-name}}`
2050
+ """
2051
+ return pulumi.get(self, "ip_collection")
2052
+
1821
2053
  @property
1822
2054
  @pulumi.getter(name="ipv6AccessType")
1823
2055
  def ipv6_access_type(self) -> pulumi.Output[Optional[str]]:
@@ -1837,9 +2069,21 @@ class Subnetwork(pulumi.CustomResource):
1837
2069
  """
1838
2070
  return pulumi.get(self, "ipv6_cidr_range")
1839
2071
 
2072
+ @property
2073
+ @pulumi.getter(name="ipv6GceEndpoint")
2074
+ def ipv6_gce_endpoint(self) -> pulumi.Output[str]:
2075
+ """
2076
+ Possible endpoints of this subnetwork. It can be one of the following:
2077
+ * VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork
2078
+ gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb.
2079
+ * VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve
2080
+ IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly.
2081
+ """
2082
+ return pulumi.get(self, "ipv6_gce_endpoint")
2083
+
1840
2084
  @property
1841
2085
  @pulumi.getter(name="logConfig")
1842
- def log_config(self) -> pulumi.Output[Optional['outputs.SubnetworkLogConfig']]:
2086
+ def log_config(self) -> pulumi.Output['outputs.SubnetworkLogConfig']:
1843
2087
  """
1844
2088
  This field denotes the VPC flow logging options for this subnetwork. If
1845
2089
  logging is enabled, logs are exported to Cloud Logging. Flow logging
@@ -1989,6 +2233,17 @@ class Subnetwork(pulumi.CustomResource):
1989
2233
  """
1990
2234
  return pulumi.get(self, "stack_type")
1991
2235
 
2236
+ @property
2237
+ @pulumi.getter
2238
+ def state(self) -> pulumi.Output[str]:
2239
+ """
2240
+ 'The state of the subnetwork, which can be one of the following values:
2241
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
2242
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
2243
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
2244
+ """
2245
+ return pulumi.get(self, "state")
2246
+
1992
2247
  @property
1993
2248
  @pulumi.getter(name="subnetworkId")
1994
2249
  def subnetwork_id(self) -> pulumi.Output[int]:
@@ -98,7 +98,7 @@ class TargetHttpsProxyArgs:
98
98
  Early Data allows a TLS resumption handshake to include the initial application payload
99
99
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
100
100
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
101
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
101
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
102
102
  """
103
103
  pulumi.set(__self__, "url_map", url_map)
104
104
  if certificate_manager_certificates is not None:
@@ -326,7 +326,7 @@ class TargetHttpsProxyArgs:
326
326
  Early Data allows a TLS resumption handshake to include the initial application payload
327
327
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
328
328
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
329
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
329
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
330
330
  """
331
331
  return pulumi.get(self, "tls_early_data")
332
332
 
@@ -418,7 +418,7 @@ class _TargetHttpsProxyState:
418
418
  Early Data allows a TLS resumption handshake to include the initial application payload
419
419
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
420
420
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
421
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
421
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
422
422
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
423
423
  to the BackendService.
424
424
 
@@ -678,7 +678,7 @@ class _TargetHttpsProxyState:
678
678
  Early Data allows a TLS resumption handshake to include the initial application payload
679
679
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
680
680
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
681
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
681
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
682
682
  """
683
683
  return pulumi.get(self, "tls_early_data")
684
684
 
@@ -1018,7 +1018,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1018
1018
  Early Data allows a TLS resumption handshake to include the initial application payload
1019
1019
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1020
1020
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1021
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1021
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1022
1022
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
1023
1023
  to the BackendService.
1024
1024
 
@@ -1416,7 +1416,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1416
1416
  Early Data allows a TLS resumption handshake to include the initial application payload
1417
1417
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1418
1418
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1419
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1419
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1420
1420
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
1421
1421
  to the BackendService.
1422
1422
 
@@ -1609,7 +1609,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1609
1609
  Early Data allows a TLS resumption handshake to include the initial application payload
1610
1610
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1611
1611
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1612
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1612
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1613
1613
  """
1614
1614
  return pulumi.get(self, "tls_early_data")
1615
1615
 
@@ -189,6 +189,8 @@ filestoreCustomEndpoint: Optional[str]
189
189
 
190
190
  firebaseAppCheckCustomEndpoint: Optional[str]
191
191
 
192
+ firebaseAppHostingCustomEndpoint: Optional[str]
193
+
192
194
  firebaseCustomEndpoint: Optional[str]
193
195
 
194
196
  firebaseDataConnectCustomEndpoint: Optional[str]