pulumi-gcp 7.14.0a1710186287__py3-none-any.whl → 7.14.1__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.
@@ -9352,22 +9352,36 @@ class InstanceGroupManagerAutoHealingPoliciesArgs:
9352
9352
  @pulumi.input_type
9353
9353
  class InstanceGroupManagerInstanceLifecyclePolicyArgs:
9354
9354
  def __init__(__self__, *,
9355
+ default_action_on_failure: Optional[pulumi.Input[str]] = None,
9355
9356
  force_update_on_repair: Optional[pulumi.Input[str]] = None):
9356
9357
  """
9357
- :param pulumi.Input[str] force_update_on_repair: ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9358
-
9358
+ :param pulumi.Input[str] default_action_on_failure: , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
9359
9359
  - - -
9360
+ :param pulumi.Input[str] force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9360
9361
  """
9362
+ if default_action_on_failure is not None:
9363
+ pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
9361
9364
  if force_update_on_repair is not None:
9362
9365
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
9363
9366
 
9367
+ @property
9368
+ @pulumi.getter(name="defaultActionOnFailure")
9369
+ def default_action_on_failure(self) -> Optional[pulumi.Input[str]]:
9370
+ """
9371
+ , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
9372
+ - - -
9373
+ """
9374
+ return pulumi.get(self, "default_action_on_failure")
9375
+
9376
+ @default_action_on_failure.setter
9377
+ def default_action_on_failure(self, value: Optional[pulumi.Input[str]]):
9378
+ pulumi.set(self, "default_action_on_failure", value)
9379
+
9364
9380
  @property
9365
9381
  @pulumi.getter(name="forceUpdateOnRepair")
9366
9382
  def force_update_on_repair(self) -> Optional[pulumi.Input[str]]:
9367
9383
  """
9368
- ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9369
-
9370
- - - -
9384
+ , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9371
9385
  """
9372
9386
  return pulumi.get(self, "force_update_on_repair")
9373
9387
 
@@ -18576,20 +18590,38 @@ class RegionInstanceGroupManagerAutoHealingPoliciesArgs:
18576
18590
  @pulumi.input_type
18577
18591
  class RegionInstanceGroupManagerInstanceLifecyclePolicyArgs:
18578
18592
  def __init__(__self__, *,
18593
+ default_action_on_failure: Optional[pulumi.Input[str]] = None,
18579
18594
  force_update_on_repair: Optional[pulumi.Input[str]] = None):
18580
18595
  """
18581
- :param pulumi.Input[str] force_update_on_repair: ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
18596
+ :param pulumi.Input[str] default_action_on_failure: , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
18597
+
18582
18598
  - - -
18599
+ :param pulumi.Input[str] force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
18583
18600
  """
18601
+ if default_action_on_failure is not None:
18602
+ pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
18584
18603
  if force_update_on_repair is not None:
18585
18604
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
18586
18605
 
18606
+ @property
18607
+ @pulumi.getter(name="defaultActionOnFailure")
18608
+ def default_action_on_failure(self) -> Optional[pulumi.Input[str]]:
18609
+ """
18610
+ , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
18611
+
18612
+ - - -
18613
+ """
18614
+ return pulumi.get(self, "default_action_on_failure")
18615
+
18616
+ @default_action_on_failure.setter
18617
+ def default_action_on_failure(self, value: Optional[pulumi.Input[str]]):
18618
+ pulumi.set(self, "default_action_on_failure", value)
18619
+
18587
18620
  @property
18588
18621
  @pulumi.getter(name="forceUpdateOnRepair")
18589
18622
  def force_update_on_repair(self) -> Optional[pulumi.Input[str]]:
18590
18623
  """
18591
- ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
18592
- - - -
18624
+ , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
18593
18625
  """
18594
18626
  return pulumi.get(self, "force_update_on_repair")
18595
18627
 
@@ -30020,14 +30052,21 @@ class ServiceAttachmentConnectedEndpointArgs:
30020
30052
  class ServiceAttachmentConsumerAcceptListArgs:
30021
30053
  def __init__(__self__, *,
30022
30054
  connection_limit: pulumi.Input[int],
30023
- project_id_or_num: pulumi.Input[str]):
30055
+ network_url: Optional[pulumi.Input[str]] = None,
30056
+ project_id_or_num: Optional[pulumi.Input[str]] = None):
30024
30057
  """
30025
30058
  :param pulumi.Input[int] connection_limit: The number of consumer forwarding rules the consumer project can
30026
30059
  create.
30060
+ :param pulumi.Input[str] network_url: The network that is allowed to connect to this service attachment.
30061
+ Only one of project_id_or_num and network_url may be set.
30027
30062
  :param pulumi.Input[str] project_id_or_num: A project that is allowed to connect to this service attachment.
30063
+ Only one of project_id_or_num and network_url may be set.
30028
30064
  """
30029
30065
  pulumi.set(__self__, "connection_limit", connection_limit)
30030
- pulumi.set(__self__, "project_id_or_num", project_id_or_num)
30066
+ if network_url is not None:
30067
+ pulumi.set(__self__, "network_url", network_url)
30068
+ if project_id_or_num is not None:
30069
+ pulumi.set(__self__, "project_id_or_num", project_id_or_num)
30031
30070
 
30032
30071
  @property
30033
30072
  @pulumi.getter(name="connectionLimit")
@@ -30042,16 +30081,30 @@ class ServiceAttachmentConsumerAcceptListArgs:
30042
30081
  def connection_limit(self, value: pulumi.Input[int]):
30043
30082
  pulumi.set(self, "connection_limit", value)
30044
30083
 
30084
+ @property
30085
+ @pulumi.getter(name="networkUrl")
30086
+ def network_url(self) -> Optional[pulumi.Input[str]]:
30087
+ """
30088
+ The network that is allowed to connect to this service attachment.
30089
+ Only one of project_id_or_num and network_url may be set.
30090
+ """
30091
+ return pulumi.get(self, "network_url")
30092
+
30093
+ @network_url.setter
30094
+ def network_url(self, value: Optional[pulumi.Input[str]]):
30095
+ pulumi.set(self, "network_url", value)
30096
+
30045
30097
  @property
30046
30098
  @pulumi.getter(name="projectIdOrNum")
30047
- def project_id_or_num(self) -> pulumi.Input[str]:
30099
+ def project_id_or_num(self) -> Optional[pulumi.Input[str]]:
30048
30100
  """
30049
30101
  A project that is allowed to connect to this service attachment.
30102
+ Only one of project_id_or_num and network_url may be set.
30050
30103
  """
30051
30104
  return pulumi.get(self, "project_id_or_num")
30052
30105
 
30053
30106
  @project_id_or_num.setter
30054
- def project_id_or_num(self, value: pulumi.Input[str]):
30107
+ def project_id_or_num(self, value: Optional[pulumi.Input[str]]):
30055
30108
  pulumi.set(self, "project_id_or_num", value)
30056
30109
 
30057
30110
 
@@ -9382,7 +9382,9 @@ class InstanceGroupManagerInstanceLifecyclePolicy(dict):
9382
9382
  @staticmethod
9383
9383
  def __key_warning(key: str):
9384
9384
  suggest = None
9385
- if key == "forceUpdateOnRepair":
9385
+ if key == "defaultActionOnFailure":
9386
+ suggest = "default_action_on_failure"
9387
+ elif key == "forceUpdateOnRepair":
9386
9388
  suggest = "force_update_on_repair"
9387
9389
 
9388
9390
  if suggest:
@@ -9397,22 +9399,32 @@ class InstanceGroupManagerInstanceLifecyclePolicy(dict):
9397
9399
  return super().get(key, default)
9398
9400
 
9399
9401
  def __init__(__self__, *,
9402
+ default_action_on_failure: Optional[str] = None,
9400
9403
  force_update_on_repair: Optional[str] = None):
9401
9404
  """
9402
- :param str force_update_on_repair: ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9403
-
9405
+ :param str default_action_on_failure: , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
9404
9406
  - - -
9407
+ :param str force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9405
9408
  """
9409
+ if default_action_on_failure is not None:
9410
+ pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
9406
9411
  if force_update_on_repair is not None:
9407
9412
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
9408
9413
 
9414
+ @property
9415
+ @pulumi.getter(name="defaultActionOnFailure")
9416
+ def default_action_on_failure(self) -> Optional[str]:
9417
+ """
9418
+ , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
9419
+ - - -
9420
+ """
9421
+ return pulumi.get(self, "default_action_on_failure")
9422
+
9409
9423
  @property
9410
9424
  @pulumi.getter(name="forceUpdateOnRepair")
9411
9425
  def force_update_on_repair(self) -> Optional[str]:
9412
9426
  """
9413
- ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9414
-
9415
- - - -
9427
+ , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
9416
9428
  """
9417
9429
  return pulumi.get(self, "force_update_on_repair")
9418
9430
 
@@ -18547,7 +18559,9 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicy(dict):
18547
18559
  @staticmethod
18548
18560
  def __key_warning(key: str):
18549
18561
  suggest = None
18550
- if key == "forceUpdateOnRepair":
18562
+ if key == "defaultActionOnFailure":
18563
+ suggest = "default_action_on_failure"
18564
+ elif key == "forceUpdateOnRepair":
18551
18565
  suggest = "force_update_on_repair"
18552
18566
 
18553
18567
  if suggest:
@@ -18562,20 +18576,34 @@ class RegionInstanceGroupManagerInstanceLifecyclePolicy(dict):
18562
18576
  return super().get(key, default)
18563
18577
 
18564
18578
  def __init__(__self__, *,
18579
+ default_action_on_failure: Optional[str] = None,
18565
18580
  force_update_on_repair: Optional[str] = None):
18566
18581
  """
18567
- :param str force_update_on_repair: ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
18582
+ :param str default_action_on_failure: , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
18583
+
18568
18584
  - - -
18585
+ :param str force_update_on_repair: , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
18569
18586
  """
18587
+ if default_action_on_failure is not None:
18588
+ pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
18570
18589
  if force_update_on_repair is not None:
18571
18590
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
18572
18591
 
18592
+ @property
18593
+ @pulumi.getter(name="defaultActionOnFailure")
18594
+ def default_action_on_failure(self) -> Optional[str]:
18595
+ """
18596
+ , Default behavior for all instance or health check failures. Valid options are: `REPAIR`, `DO_NOTHING`. If `DO_NOTHING` then instances will not be repaired. If `REPAIR` (default), then failed instances will be repaired.
18597
+
18598
+ - - -
18599
+ """
18600
+ return pulumi.get(self, "default_action_on_failure")
18601
+
18573
18602
  @property
18574
18603
  @pulumi.getter(name="forceUpdateOnRepair")
18575
18604
  def force_update_on_repair(self) -> Optional[str]:
18576
18605
  """
18577
- ), Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
18578
- - - -
18606
+ , Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: `YES`, `NO`. If `YES` and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If `NO` (default), then updates are applied in accordance with the group's update policy type.
18579
18607
  """
18580
18608
  return pulumi.get(self, "force_update_on_repair")
18581
18609
 
@@ -30925,6 +30953,8 @@ class ServiceAttachmentConsumerAcceptList(dict):
30925
30953
  suggest = None
30926
30954
  if key == "connectionLimit":
30927
30955
  suggest = "connection_limit"
30956
+ elif key == "networkUrl":
30957
+ suggest = "network_url"
30928
30958
  elif key == "projectIdOrNum":
30929
30959
  suggest = "project_id_or_num"
30930
30960
 
@@ -30941,14 +30971,21 @@ class ServiceAttachmentConsumerAcceptList(dict):
30941
30971
 
30942
30972
  def __init__(__self__, *,
30943
30973
  connection_limit: int,
30944
- project_id_or_num: str):
30974
+ network_url: Optional[str] = None,
30975
+ project_id_or_num: Optional[str] = None):
30945
30976
  """
30946
30977
  :param int connection_limit: The number of consumer forwarding rules the consumer project can
30947
30978
  create.
30979
+ :param str network_url: The network that is allowed to connect to this service attachment.
30980
+ Only one of project_id_or_num and network_url may be set.
30948
30981
  :param str project_id_or_num: A project that is allowed to connect to this service attachment.
30982
+ Only one of project_id_or_num and network_url may be set.
30949
30983
  """
30950
30984
  pulumi.set(__self__, "connection_limit", connection_limit)
30951
- pulumi.set(__self__, "project_id_or_num", project_id_or_num)
30985
+ if network_url is not None:
30986
+ pulumi.set(__self__, "network_url", network_url)
30987
+ if project_id_or_num is not None:
30988
+ pulumi.set(__self__, "project_id_or_num", project_id_or_num)
30952
30989
 
30953
30990
  @property
30954
30991
  @pulumi.getter(name="connectionLimit")
@@ -30959,11 +30996,21 @@ class ServiceAttachmentConsumerAcceptList(dict):
30959
30996
  """
30960
30997
  return pulumi.get(self, "connection_limit")
30961
30998
 
30999
+ @property
31000
+ @pulumi.getter(name="networkUrl")
31001
+ def network_url(self) -> Optional[str]:
31002
+ """
31003
+ The network that is allowed to connect to this service attachment.
31004
+ Only one of project_id_or_num and network_url may be set.
31005
+ """
31006
+ return pulumi.get(self, "network_url")
31007
+
30962
31008
  @property
30963
31009
  @pulumi.getter(name="projectIdOrNum")
30964
- def project_id_or_num(self) -> str:
31010
+ def project_id_or_num(self) -> Optional[str]:
30965
31011
  """
30966
31012
  A project that is allowed to connect to this service attachment.
31013
+ Only one of project_id_or_num and network_url may be set.
30967
31014
  """
30968
31015
  return pulumi.get(self, "project_id_or_num")
30969
31016
 
@@ -41971,12 +42018,23 @@ class GetInstanceGroupManagerAutoHealingPolicyResult(dict):
41971
42018
  @pulumi.output_type
41972
42019
  class GetInstanceGroupManagerInstanceLifecyclePolicyResult(dict):
41973
42020
  def __init__(__self__, *,
42021
+ default_action_on_failure: str,
41974
42022
  force_update_on_repair: str):
41975
42023
  """
42024
+ :param str default_action_on_failure: Default behavior for all instance or health check failures.
41976
42025
  :param str force_update_on_repair: Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type.
41977
42026
  """
42027
+ pulumi.set(__self__, "default_action_on_failure", default_action_on_failure)
41978
42028
  pulumi.set(__self__, "force_update_on_repair", force_update_on_repair)
41979
42029
 
42030
+ @property
42031
+ @pulumi.getter(name="defaultActionOnFailure")
42032
+ def default_action_on_failure(self) -> str:
42033
+ """
42034
+ Default behavior for all instance or health check failures.
42035
+ """
42036
+ return pulumi.get(self, "default_action_on_failure")
42037
+
41980
42038
  @property
41981
42039
  @pulumi.getter(name="forceUpdateOnRepair")
41982
42040
  def force_update_on_repair(self) -> str:
@@ -710,6 +710,81 @@ class ServiceAttachment(pulumi.CustomResource):
710
710
  ip_address=psc_ilb_consumer_address.id)
711
711
  ```
712
712
  <!--End PulumiCodeChooser -->
713
+ ### Service Attachment Explicit Networks
714
+
715
+ <!--Start PulumiCodeChooser -->
716
+ ```python
717
+ import pulumi
718
+ import pulumi_gcp as gcp
719
+
720
+ psc_ilb_consumer_network = gcp.compute.Network("psc_ilb_consumer_network",
721
+ name="psc-ilb-consumer-network",
722
+ auto_create_subnetworks=False)
723
+ producer_service_health_check = gcp.compute.HealthCheck("producer_service_health_check",
724
+ name="producer-service-health-check",
725
+ check_interval_sec=1,
726
+ timeout_sec=1,
727
+ tcp_health_check=gcp.compute.HealthCheckTcpHealthCheckArgs(
728
+ port=80,
729
+ ))
730
+ producer_service_backend = gcp.compute.RegionBackendService("producer_service_backend",
731
+ name="producer-service",
732
+ region="us-west2",
733
+ health_checks=producer_service_health_check.id)
734
+ psc_ilb_network = gcp.compute.Network("psc_ilb_network",
735
+ name="psc-ilb-network",
736
+ auto_create_subnetworks=False)
737
+ psc_ilb_producer_subnetwork = gcp.compute.Subnetwork("psc_ilb_producer_subnetwork",
738
+ name="psc-ilb-producer-subnetwork",
739
+ region="us-west2",
740
+ network=psc_ilb_network.id,
741
+ ip_cidr_range="10.0.0.0/16")
742
+ psc_ilb_target_service = gcp.compute.ForwardingRule("psc_ilb_target_service",
743
+ name="producer-forwarding-rule",
744
+ region="us-west2",
745
+ load_balancing_scheme="INTERNAL",
746
+ backend_service=producer_service_backend.id,
747
+ all_ports=True,
748
+ network=psc_ilb_network.name,
749
+ subnetwork=psc_ilb_producer_subnetwork.name)
750
+ psc_ilb_nat = gcp.compute.Subnetwork("psc_ilb_nat",
751
+ name="psc-ilb-nat",
752
+ region="us-west2",
753
+ network=psc_ilb_network.id,
754
+ purpose="PRIVATE_SERVICE_CONNECT",
755
+ ip_cidr_range="10.1.0.0/16")
756
+ psc_ilb_service_attachment = gcp.compute.ServiceAttachment("psc_ilb_service_attachment",
757
+ name="my-psc-ilb",
758
+ region="us-west2",
759
+ description="A service attachment configured with Terraform",
760
+ enable_proxy_protocol=False,
761
+ connection_preference="ACCEPT_MANUAL",
762
+ nat_subnets=[psc_ilb_nat.id],
763
+ target_service=psc_ilb_target_service.id,
764
+ consumer_accept_lists=[gcp.compute.ServiceAttachmentConsumerAcceptListArgs(
765
+ network_url=psc_ilb_consumer_network.self_link,
766
+ connection_limit=1,
767
+ )])
768
+ psc_ilb_consumer_subnetwork = gcp.compute.Subnetwork("psc_ilb_consumer_subnetwork",
769
+ name="psc-ilb-consumer-network",
770
+ ip_cidr_range="10.0.0.0/16",
771
+ region="us-west2",
772
+ network=psc_ilb_consumer_network.id)
773
+ psc_ilb_consumer_address = gcp.compute.Address("psc_ilb_consumer_address",
774
+ name="psc-ilb-consumer-address",
775
+ region="us-west2",
776
+ subnetwork=psc_ilb_consumer_subnetwork.id,
777
+ address_type="INTERNAL")
778
+ psc_ilb_consumer = gcp.compute.ForwardingRule("psc_ilb_consumer",
779
+ name="psc-ilb-consumer-forwarding-rule",
780
+ region="us-west2",
781
+ target=psc_ilb_service_attachment.id,
782
+ load_balancing_scheme="",
783
+ network=psc_ilb_consumer_network.id,
784
+ subnetwork=psc_ilb_consumer_subnetwork.id,
785
+ ip_address=psc_ilb_consumer_address.id)
786
+ ```
787
+ <!--End PulumiCodeChooser -->
713
788
  ### Service Attachment Reconcile Connections
714
789
 
715
790
  <!--Start PulumiCodeChooser -->
@@ -988,6 +1063,81 @@ class ServiceAttachment(pulumi.CustomResource):
988
1063
  ip_address=psc_ilb_consumer_address.id)
989
1064
  ```
990
1065
  <!--End PulumiCodeChooser -->
1066
+ ### Service Attachment Explicit Networks
1067
+
1068
+ <!--Start PulumiCodeChooser -->
1069
+ ```python
1070
+ import pulumi
1071
+ import pulumi_gcp as gcp
1072
+
1073
+ psc_ilb_consumer_network = gcp.compute.Network("psc_ilb_consumer_network",
1074
+ name="psc-ilb-consumer-network",
1075
+ auto_create_subnetworks=False)
1076
+ producer_service_health_check = gcp.compute.HealthCheck("producer_service_health_check",
1077
+ name="producer-service-health-check",
1078
+ check_interval_sec=1,
1079
+ timeout_sec=1,
1080
+ tcp_health_check=gcp.compute.HealthCheckTcpHealthCheckArgs(
1081
+ port=80,
1082
+ ))
1083
+ producer_service_backend = gcp.compute.RegionBackendService("producer_service_backend",
1084
+ name="producer-service",
1085
+ region="us-west2",
1086
+ health_checks=producer_service_health_check.id)
1087
+ psc_ilb_network = gcp.compute.Network("psc_ilb_network",
1088
+ name="psc-ilb-network",
1089
+ auto_create_subnetworks=False)
1090
+ psc_ilb_producer_subnetwork = gcp.compute.Subnetwork("psc_ilb_producer_subnetwork",
1091
+ name="psc-ilb-producer-subnetwork",
1092
+ region="us-west2",
1093
+ network=psc_ilb_network.id,
1094
+ ip_cidr_range="10.0.0.0/16")
1095
+ psc_ilb_target_service = gcp.compute.ForwardingRule("psc_ilb_target_service",
1096
+ name="producer-forwarding-rule",
1097
+ region="us-west2",
1098
+ load_balancing_scheme="INTERNAL",
1099
+ backend_service=producer_service_backend.id,
1100
+ all_ports=True,
1101
+ network=psc_ilb_network.name,
1102
+ subnetwork=psc_ilb_producer_subnetwork.name)
1103
+ psc_ilb_nat = gcp.compute.Subnetwork("psc_ilb_nat",
1104
+ name="psc-ilb-nat",
1105
+ region="us-west2",
1106
+ network=psc_ilb_network.id,
1107
+ purpose="PRIVATE_SERVICE_CONNECT",
1108
+ ip_cidr_range="10.1.0.0/16")
1109
+ psc_ilb_service_attachment = gcp.compute.ServiceAttachment("psc_ilb_service_attachment",
1110
+ name="my-psc-ilb",
1111
+ region="us-west2",
1112
+ description="A service attachment configured with Terraform",
1113
+ enable_proxy_protocol=False,
1114
+ connection_preference="ACCEPT_MANUAL",
1115
+ nat_subnets=[psc_ilb_nat.id],
1116
+ target_service=psc_ilb_target_service.id,
1117
+ consumer_accept_lists=[gcp.compute.ServiceAttachmentConsumerAcceptListArgs(
1118
+ network_url=psc_ilb_consumer_network.self_link,
1119
+ connection_limit=1,
1120
+ )])
1121
+ psc_ilb_consumer_subnetwork = gcp.compute.Subnetwork("psc_ilb_consumer_subnetwork",
1122
+ name="psc-ilb-consumer-network",
1123
+ ip_cidr_range="10.0.0.0/16",
1124
+ region="us-west2",
1125
+ network=psc_ilb_consumer_network.id)
1126
+ psc_ilb_consumer_address = gcp.compute.Address("psc_ilb_consumer_address",
1127
+ name="psc-ilb-consumer-address",
1128
+ region="us-west2",
1129
+ subnetwork=psc_ilb_consumer_subnetwork.id,
1130
+ address_type="INTERNAL")
1131
+ psc_ilb_consumer = gcp.compute.ForwardingRule("psc_ilb_consumer",
1132
+ name="psc-ilb-consumer-forwarding-rule",
1133
+ region="us-west2",
1134
+ target=psc_ilb_service_attachment.id,
1135
+ load_balancing_scheme="",
1136
+ network=psc_ilb_consumer_network.id,
1137
+ subnetwork=psc_ilb_consumer_subnetwork.id,
1138
+ ip_address=psc_ilb_consumer_address.id)
1139
+ ```
1140
+ <!--End PulumiCodeChooser -->
991
1141
  ### Service Attachment Reconcile Connections
992
1142
 
993
1143
  <!--Start PulumiCodeChooser -->
@@ -74,12 +74,12 @@ class FlexTemplateJobArgs:
74
74
  :param pulumi.Input[str] region: The region in which the created job should run.
75
75
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of
76
76
  the SDK. Note this field is only valid for portable pipelines.
77
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
77
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
78
78
  :param pulumi.Input[bool] skip_wait_on_job_termination: If true, treat DRAINING and CANCELLING as terminal job states and do not wait for further changes before removing from
79
79
  terraform state and moving on. WARNING: this will lead to job name conflicts if you do not ensure that the job names are
80
80
  different, e.g. by embedding a release ID or by using a random_id.
81
81
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
82
- :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
82
+ :param pulumi.Input[str] subnetwork: Compute Engine subnetwork for launching instances to run your pipeline.
83
83
  :param pulumi.Input[str] temp_location: The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
84
84
  :param pulumi.Input[Mapping[str, Any]] transform_name_mapping: Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the
85
85
  corresponding name prefixes of the new job.
@@ -368,7 +368,7 @@ class FlexTemplateJobArgs:
368
368
  @pulumi.getter(name="serviceAccountEmail")
369
369
  def service_account_email(self) -> Optional[pulumi.Input[str]]:
370
370
  """
371
- The Service Account email used to create the job.
371
+ Service account email to run the workers as.
372
372
  """
373
373
  return pulumi.get(self, "service_account_email")
374
374
 
@@ -406,7 +406,7 @@ class FlexTemplateJobArgs:
406
406
  @pulumi.getter
407
407
  def subnetwork(self) -> Optional[pulumi.Input[str]]:
408
408
  """
409
- The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
409
+ Compute Engine subnetwork for launching instances to run your pipeline.
410
410
  """
411
411
  return pulumi.get(self, "subnetwork")
412
412
 
@@ -512,13 +512,13 @@ class _FlexTemplateJobState:
512
512
  :param pulumi.Input[str] region: The region in which the created job should run.
513
513
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of
514
514
  the SDK. Note this field is only valid for portable pipelines.
515
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
515
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
516
516
  :param pulumi.Input[bool] skip_wait_on_job_termination: If true, treat DRAINING and CANCELLING as terminal job states and do not wait for further changes before removing from
517
517
  terraform state and moving on. WARNING: this will lead to job name conflicts if you do not ensure that the job names are
518
518
  different, e.g. by embedding a release ID or by using a random_id.
519
519
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
520
520
  :param pulumi.Input[str] state: The current state of the resource, selected from the [JobState enum](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState)
521
- :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
521
+ :param pulumi.Input[str] subnetwork: Compute Engine subnetwork for launching instances to run your pipeline.
522
522
  :param pulumi.Input[str] temp_location: The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
523
523
  :param pulumi.Input[Mapping[str, Any]] transform_name_mapping: Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the
524
524
  corresponding name prefixes of the new job.
@@ -856,7 +856,7 @@ class _FlexTemplateJobState:
856
856
  @pulumi.getter(name="serviceAccountEmail")
857
857
  def service_account_email(self) -> Optional[pulumi.Input[str]]:
858
858
  """
859
- The Service Account email used to create the job.
859
+ Service account email to run the workers as.
860
860
  """
861
861
  return pulumi.get(self, "service_account_email")
862
862
 
@@ -906,7 +906,7 @@ class _FlexTemplateJobState:
906
906
  @pulumi.getter
907
907
  def subnetwork(self) -> Optional[pulumi.Input[str]]:
908
908
  """
909
- The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
909
+ Compute Engine subnetwork for launching instances to run your pipeline.
910
910
  """
911
911
  return pulumi.get(self, "subnetwork")
912
912
 
@@ -1095,12 +1095,12 @@ class FlexTemplateJob(pulumi.CustomResource):
1095
1095
  :param pulumi.Input[str] region: The region in which the created job should run.
1096
1096
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of
1097
1097
  the SDK. Note this field is only valid for portable pipelines.
1098
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
1098
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
1099
1099
  :param pulumi.Input[bool] skip_wait_on_job_termination: If true, treat DRAINING and CANCELLING as terminal job states and do not wait for further changes before removing from
1100
1100
  terraform state and moving on. WARNING: this will lead to job name conflicts if you do not ensure that the job names are
1101
1101
  different, e.g. by embedding a release ID or by using a random_id.
1102
1102
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
1103
- :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
1103
+ :param pulumi.Input[str] subnetwork: Compute Engine subnetwork for launching instances to run your pipeline.
1104
1104
  :param pulumi.Input[str] temp_location: The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
1105
1105
  :param pulumi.Input[Mapping[str, Any]] transform_name_mapping: Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the
1106
1106
  corresponding name prefixes of the new job.
@@ -1353,13 +1353,13 @@ class FlexTemplateJob(pulumi.CustomResource):
1353
1353
  :param pulumi.Input[str] region: The region in which the created job should run.
1354
1354
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of
1355
1355
  the SDK. Note this field is only valid for portable pipelines.
1356
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
1356
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
1357
1357
  :param pulumi.Input[bool] skip_wait_on_job_termination: If true, treat DRAINING and CANCELLING as terminal job states and do not wait for further changes before removing from
1358
1358
  terraform state and moving on. WARNING: this will lead to job name conflicts if you do not ensure that the job names are
1359
1359
  different, e.g. by embedding a release ID or by using a random_id.
1360
1360
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
1361
1361
  :param pulumi.Input[str] state: The current state of the resource, selected from the [JobState enum](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState)
1362
- :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
1362
+ :param pulumi.Input[str] subnetwork: Compute Engine subnetwork for launching instances to run your pipeline.
1363
1363
  :param pulumi.Input[str] temp_location: The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
1364
1364
  :param pulumi.Input[Mapping[str, Any]] transform_name_mapping: Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the
1365
1365
  corresponding name prefixes of the new job.
@@ -1589,7 +1589,7 @@ class FlexTemplateJob(pulumi.CustomResource):
1589
1589
  @pulumi.getter(name="serviceAccountEmail")
1590
1590
  def service_account_email(self) -> pulumi.Output[str]:
1591
1591
  """
1592
- The Service Account email used to create the job.
1592
+ Service account email to run the workers as.
1593
1593
  """
1594
1594
  return pulumi.get(self, "service_account_email")
1595
1595
 
@@ -1623,7 +1623,7 @@ class FlexTemplateJob(pulumi.CustomResource):
1623
1623
  @pulumi.getter
1624
1624
  def subnetwork(self) -> pulumi.Output[str]:
1625
1625
  """
1626
- The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
1626
+ Compute Engine subnetwork for launching instances to run your pipeline.
1627
1627
  """
1628
1628
  return pulumi.get(self, "subnetwork")
1629
1629