pulumi-gcp 7.12.0a1709561306__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/outputs.py +91 -0
  8. pulumi_gcp/bigquery/routine.py +118 -12
  9. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  10. pulumi_gcp/clouddeploy/__init__.py +4 -0
  11. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  12. pulumi_gcp/clouddeploy/automation.py +16 -0
  13. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  14. pulumi_gcp/clouddeploy/outputs.py +56 -0
  15. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  16. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  17. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  18. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  20. pulumi_gcp/composer/_inputs.py +18 -2
  21. pulumi_gcp/composer/outputs.py +29 -4
  22. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  23. pulumi_gcp/gkehub/scope.py +85 -0
  24. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  25. pulumi_gcp/spanner/_inputs.py +20 -0
  26. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  27. pulumi_gcp/spanner/database_iam_member.py +134 -0
  28. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  29. pulumi_gcp/spanner/outputs.py +20 -0
  30. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  31. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +33 -29
  32. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  33. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -602,6 +602,7 @@ class EnvironmentConfigMasterAuthorizedNetworksConfigCidrBlockArgs:
602
602
  class EnvironmentConfigNodeConfigArgs:
603
603
  def __init__(__self__, *,
604
604
  composer_internal_ipv4_cidr_block: Optional[pulumi.Input[str]] = None,
605
+ composer_network_attachment: Optional[pulumi.Input[str]] = None,
605
606
  disk_size_gb: Optional[pulumi.Input[int]] = None,
606
607
  enable_ip_masq_agent: Optional[pulumi.Input[bool]] = None,
607
608
  ip_allocation_policy: Optional[pulumi.Input['EnvironmentConfigNodeConfigIpAllocationPolicyArgs']] = None,
@@ -615,6 +616,7 @@ class EnvironmentConfigNodeConfigArgs:
615
616
  zone: Optional[pulumi.Input[str]] = None):
616
617
  """
617
618
  :param pulumi.Input[str] composer_internal_ipv4_cidr_block: IPv4 cidr range that will be used by Composer internal components.
619
+ :param pulumi.Input[str] composer_network_attachment: PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
618
620
  :param pulumi.Input[int] disk_size_gb: The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
619
621
  :param pulumi.Input[bool] enable_ip_masq_agent: Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
620
622
  :param pulumi.Input['EnvironmentConfigNodeConfigIpAllocationPolicyArgs'] ip_allocation_policy: Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
@@ -623,12 +625,14 @@ class EnvironmentConfigNodeConfigArgs:
623
625
  :param pulumi.Input[str] network: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
624
626
  :param pulumi.Input[Sequence[pulumi.Input[str]]] oauth_scopes: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
625
627
  :param pulumi.Input[str] service_account: The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
626
- :param pulumi.Input[str] subnetwork: The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
628
+ :param pulumi.Input[str] subnetwork: The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
627
629
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
628
630
  :param pulumi.Input[str] zone: The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
629
631
  """
630
632
  if composer_internal_ipv4_cidr_block is not None:
631
633
  pulumi.set(__self__, "composer_internal_ipv4_cidr_block", composer_internal_ipv4_cidr_block)
634
+ if composer_network_attachment is not None:
635
+ pulumi.set(__self__, "composer_network_attachment", composer_network_attachment)
632
636
  if disk_size_gb is not None:
633
637
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
634
638
  if enable_ip_masq_agent is not None:
@@ -664,6 +668,18 @@ class EnvironmentConfigNodeConfigArgs:
664
668
  def composer_internal_ipv4_cidr_block(self, value: Optional[pulumi.Input[str]]):
665
669
  pulumi.set(self, "composer_internal_ipv4_cidr_block", value)
666
670
 
671
+ @property
672
+ @pulumi.getter(name="composerNetworkAttachment")
673
+ def composer_network_attachment(self) -> Optional[pulumi.Input[str]]:
674
+ """
675
+ PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
676
+ """
677
+ return pulumi.get(self, "composer_network_attachment")
678
+
679
+ @composer_network_attachment.setter
680
+ def composer_network_attachment(self, value: Optional[pulumi.Input[str]]):
681
+ pulumi.set(self, "composer_network_attachment", value)
682
+
667
683
  @property
668
684
  @pulumi.getter(name="diskSizeGb")
669
685
  def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
@@ -764,7 +780,7 @@ class EnvironmentConfigNodeConfigArgs:
764
780
  @pulumi.getter
765
781
  def subnetwork(self) -> Optional[pulumi.Input[str]]:
766
782
  """
767
- The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
783
+ The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
768
784
  """
769
785
  return pulumi.get(self, "subnetwork")
770
786
 
@@ -682,6 +682,8 @@ class EnvironmentConfigNodeConfig(dict):
682
682
  suggest = None
683
683
  if key == "composerInternalIpv4CidrBlock":
684
684
  suggest = "composer_internal_ipv4_cidr_block"
685
+ elif key == "composerNetworkAttachment":
686
+ suggest = "composer_network_attachment"
685
687
  elif key == "diskSizeGb":
686
688
  suggest = "disk_size_gb"
687
689
  elif key == "enableIpMasqAgent":
@@ -710,6 +712,7 @@ class EnvironmentConfigNodeConfig(dict):
710
712
 
711
713
  def __init__(__self__, *,
712
714
  composer_internal_ipv4_cidr_block: Optional[str] = None,
715
+ composer_network_attachment: Optional[str] = None,
713
716
  disk_size_gb: Optional[int] = None,
714
717
  enable_ip_masq_agent: Optional[bool] = None,
715
718
  ip_allocation_policy: Optional['outputs.EnvironmentConfigNodeConfigIpAllocationPolicy'] = None,
@@ -723,6 +726,7 @@ class EnvironmentConfigNodeConfig(dict):
723
726
  zone: Optional[str] = None):
724
727
  """
725
728
  :param str composer_internal_ipv4_cidr_block: IPv4 cidr range that will be used by Composer internal components.
729
+ :param str composer_network_attachment: PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
726
730
  :param int disk_size_gb: The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
727
731
  :param bool enable_ip_masq_agent: Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
728
732
  :param 'EnvironmentConfigNodeConfigIpAllocationPolicyArgs' ip_allocation_policy: Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
@@ -731,12 +735,14 @@ class EnvironmentConfigNodeConfig(dict):
731
735
  :param str network: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
732
736
  :param Sequence[str] oauth_scopes: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
733
737
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
734
- :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
738
+ :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
735
739
  :param Sequence[str] tags: The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
736
740
  :param str zone: The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
737
741
  """
738
742
  if composer_internal_ipv4_cidr_block is not None:
739
743
  pulumi.set(__self__, "composer_internal_ipv4_cidr_block", composer_internal_ipv4_cidr_block)
744
+ if composer_network_attachment is not None:
745
+ pulumi.set(__self__, "composer_network_attachment", composer_network_attachment)
740
746
  if disk_size_gb is not None:
741
747
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
742
748
  if enable_ip_masq_agent is not None:
@@ -768,6 +774,14 @@ class EnvironmentConfigNodeConfig(dict):
768
774
  """
769
775
  return pulumi.get(self, "composer_internal_ipv4_cidr_block")
770
776
 
777
+ @property
778
+ @pulumi.getter(name="composerNetworkAttachment")
779
+ def composer_network_attachment(self) -> Optional[str]:
780
+ """
781
+ PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
782
+ """
783
+ return pulumi.get(self, "composer_network_attachment")
784
+
771
785
  @property
772
786
  @pulumi.getter(name="diskSizeGb")
773
787
  def disk_size_gb(self) -> Optional[int]:
@@ -836,7 +850,7 @@ class EnvironmentConfigNodeConfig(dict):
836
850
  @pulumi.getter
837
851
  def subnetwork(self) -> Optional[str]:
838
852
  """
839
- The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
853
+ The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
840
854
  """
841
855
  return pulumi.get(self, "subnetwork")
842
856
 
@@ -2308,6 +2322,7 @@ class GetEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlockResult(dict):
2308
2322
  class GetEnvironmentConfigNodeConfigResult(dict):
2309
2323
  def __init__(__self__, *,
2310
2324
  composer_internal_ipv4_cidr_block: str,
2325
+ composer_network_attachment: str,
2311
2326
  disk_size_gb: int,
2312
2327
  enable_ip_masq_agent: bool,
2313
2328
  ip_allocation_policies: Sequence['outputs.GetEnvironmentConfigNodeConfigIpAllocationPolicyResult'],
@@ -2321,6 +2336,7 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2321
2336
  zone: str):
2322
2337
  """
2323
2338
  :param str composer_internal_ipv4_cidr_block: IPv4 cidr range that will be used by Composer internal components.
2339
+ :param str composer_network_attachment: PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
2324
2340
  :param int disk_size_gb: The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
2325
2341
  :param bool enable_ip_masq_agent: Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
2326
2342
  :param Sequence['GetEnvironmentConfigNodeConfigIpAllocationPolicyArgs'] ip_allocation_policies: Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
@@ -2329,11 +2345,12 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2329
2345
  :param str network: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
2330
2346
  :param Sequence[str] oauth_scopes: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
2331
2347
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
2332
- :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2348
+ :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2333
2349
  :param Sequence[str] tags: The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
2334
2350
  :param str zone: The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
2335
2351
  """
2336
2352
  pulumi.set(__self__, "composer_internal_ipv4_cidr_block", composer_internal_ipv4_cidr_block)
2353
+ pulumi.set(__self__, "composer_network_attachment", composer_network_attachment)
2337
2354
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
2338
2355
  pulumi.set(__self__, "enable_ip_masq_agent", enable_ip_masq_agent)
2339
2356
  pulumi.set(__self__, "ip_allocation_policies", ip_allocation_policies)
@@ -2354,6 +2371,14 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2354
2371
  """
2355
2372
  return pulumi.get(self, "composer_internal_ipv4_cidr_block")
2356
2373
 
2374
+ @property
2375
+ @pulumi.getter(name="composerNetworkAttachment")
2376
+ def composer_network_attachment(self) -> str:
2377
+ """
2378
+ PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
2379
+ """
2380
+ return pulumi.get(self, "composer_network_attachment")
2381
+
2357
2382
  @property
2358
2383
  @pulumi.getter(name="diskSizeGb")
2359
2384
  def disk_size_gb(self) -> int:
@@ -2422,7 +2447,7 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2422
2447
  @pulumi.getter
2423
2448
  def subnetwork(self) -> str:
2424
2449
  """
2425
- The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2450
+ The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2426
2451
  """
2427
2452
  return pulumi.get(self, "subnetwork")
2428
2453
 
@@ -14,23 +14,25 @@ __all__ = ['RegionTargetHttpsProxyArgs', 'RegionTargetHttpsProxy']
14
14
  @pulumi.input_type
15
15
  class RegionTargetHttpsProxyArgs:
16
16
  def __init__(__self__, *,
17
- ssl_certificates: pulumi.Input[Sequence[pulumi.Input[str]]],
18
17
  url_map: pulumi.Input[str],
18
+ certificate_manager_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
19
19
  description: Optional[pulumi.Input[str]] = None,
20
20
  name: Optional[pulumi.Input[str]] = None,
21
21
  project: Optional[pulumi.Input[str]] = None,
22
22
  region: Optional[pulumi.Input[str]] = None,
23
+ ssl_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
23
24
  ssl_policy: Optional[pulumi.Input[str]] = None):
24
25
  """
25
26
  The set of arguments for constructing a RegionTargetHttpsProxy resource.
26
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: A list of RegionSslCertificate resources that are used to authenticate
27
- connections between users and the load balancer. Currently, exactly
28
- one SSL certificate must be specified.
29
27
  :param pulumi.Input[str] url_map: A reference to the RegionUrlMap resource that defines the mapping from URL
30
28
  to the RegionBackendService.
31
29
 
32
30
 
33
31
  - - -
32
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_manager_certificates: URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
33
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
34
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
35
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
34
36
  :param pulumi.Input[str] description: An optional description of this resource.
35
37
  :param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is
36
38
  created. The name must be 1-63 characters long, and comply with
@@ -43,12 +45,16 @@ class RegionTargetHttpsProxyArgs:
43
45
  If it is not provided, the provider project is used.
44
46
  :param pulumi.Input[str] region: The Region in which the created target https proxy should reside.
45
47
  If it is not provided, the provider region is used.
48
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
49
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
50
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
46
51
  :param pulumi.Input[str] ssl_policy: A reference to the Region SslPolicy resource that will be associated with
47
52
  the TargetHttpsProxy resource. If not set, the TargetHttpsProxy
48
53
  resource will not have any SSL policy configured.
49
54
  """
50
- pulumi.set(__self__, "ssl_certificates", ssl_certificates)
51
55
  pulumi.set(__self__, "url_map", url_map)
56
+ if certificate_manager_certificates is not None:
57
+ pulumi.set(__self__, "certificate_manager_certificates", certificate_manager_certificates)
52
58
  if description is not None:
53
59
  pulumi.set(__self__, "description", description)
54
60
  if name is not None:
@@ -57,23 +63,11 @@ class RegionTargetHttpsProxyArgs:
57
63
  pulumi.set(__self__, "project", project)
58
64
  if region is not None:
59
65
  pulumi.set(__self__, "region", region)
66
+ if ssl_certificates is not None:
67
+ pulumi.set(__self__, "ssl_certificates", ssl_certificates)
60
68
  if ssl_policy is not None:
61
69
  pulumi.set(__self__, "ssl_policy", ssl_policy)
62
70
 
63
- @property
64
- @pulumi.getter(name="sslCertificates")
65
- def ssl_certificates(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
66
- """
67
- A list of RegionSslCertificate resources that are used to authenticate
68
- connections between users and the load balancer. Currently, exactly
69
- one SSL certificate must be specified.
70
- """
71
- return pulumi.get(self, "ssl_certificates")
72
-
73
- @ssl_certificates.setter
74
- def ssl_certificates(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
75
- pulumi.set(self, "ssl_certificates", value)
76
-
77
71
  @property
78
72
  @pulumi.getter(name="urlMap")
79
73
  def url_map(self) -> pulumi.Input[str]:
@@ -90,6 +84,21 @@ class RegionTargetHttpsProxyArgs:
90
84
  def url_map(self, value: pulumi.Input[str]):
91
85
  pulumi.set(self, "url_map", value)
92
86
 
87
+ @property
88
+ @pulumi.getter(name="certificateManagerCertificates")
89
+ def certificate_manager_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
90
+ """
91
+ URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
92
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
93
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
94
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
95
+ """
96
+ return pulumi.get(self, "certificate_manager_certificates")
97
+
98
+ @certificate_manager_certificates.setter
99
+ def certificate_manager_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
100
+ pulumi.set(self, "certificate_manager_certificates", value)
101
+
93
102
  @property
94
103
  @pulumi.getter
95
104
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -146,6 +155,20 @@ class RegionTargetHttpsProxyArgs:
146
155
  def region(self, value: Optional[pulumi.Input[str]]):
147
156
  pulumi.set(self, "region", value)
148
157
 
158
+ @property
159
+ @pulumi.getter(name="sslCertificates")
160
+ def ssl_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
161
+ """
162
+ URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
163
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
164
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
165
+ """
166
+ return pulumi.get(self, "ssl_certificates")
167
+
168
+ @ssl_certificates.setter
169
+ def ssl_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
170
+ pulumi.set(self, "ssl_certificates", value)
171
+
149
172
  @property
150
173
  @pulumi.getter(name="sslPolicy")
151
174
  def ssl_policy(self) -> Optional[pulumi.Input[str]]:
@@ -164,6 +187,7 @@ class RegionTargetHttpsProxyArgs:
164
187
  @pulumi.input_type
165
188
  class _RegionTargetHttpsProxyState:
166
189
  def __init__(__self__, *,
190
+ certificate_manager_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
167
191
  creation_timestamp: Optional[pulumi.Input[str]] = None,
168
192
  description: Optional[pulumi.Input[str]] = None,
169
193
  name: Optional[pulumi.Input[str]] = None,
@@ -176,6 +200,10 @@ class _RegionTargetHttpsProxyState:
176
200
  url_map: Optional[pulumi.Input[str]] = None):
177
201
  """
178
202
  Input properties used for looking up and filtering RegionTargetHttpsProxy resources.
203
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_manager_certificates: URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
204
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
205
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
206
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
179
207
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
180
208
  :param pulumi.Input[str] description: An optional description of this resource.
181
209
  :param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is
@@ -191,9 +219,9 @@ class _RegionTargetHttpsProxyState:
191
219
  :param pulumi.Input[str] region: The Region in which the created target https proxy should reside.
192
220
  If it is not provided, the provider region is used.
193
221
  :param pulumi.Input[str] self_link: The URI of the created resource.
194
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: A list of RegionSslCertificate resources that are used to authenticate
195
- connections between users and the load balancer. Currently, exactly
196
- one SSL certificate must be specified.
222
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
223
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
224
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
197
225
  :param pulumi.Input[str] ssl_policy: A reference to the Region SslPolicy resource that will be associated with
198
226
  the TargetHttpsProxy resource. If not set, the TargetHttpsProxy
199
227
  resource will not have any SSL policy configured.
@@ -203,6 +231,8 @@ class _RegionTargetHttpsProxyState:
203
231
 
204
232
  - - -
205
233
  """
234
+ if certificate_manager_certificates is not None:
235
+ pulumi.set(__self__, "certificate_manager_certificates", certificate_manager_certificates)
206
236
  if creation_timestamp is not None:
207
237
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
208
238
  if description is not None:
@@ -224,6 +254,21 @@ class _RegionTargetHttpsProxyState:
224
254
  if url_map is not None:
225
255
  pulumi.set(__self__, "url_map", url_map)
226
256
 
257
+ @property
258
+ @pulumi.getter(name="certificateManagerCertificates")
259
+ def certificate_manager_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
260
+ """
261
+ URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
262
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
263
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
264
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
265
+ """
266
+ return pulumi.get(self, "certificate_manager_certificates")
267
+
268
+ @certificate_manager_certificates.setter
269
+ def certificate_manager_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
270
+ pulumi.set(self, "certificate_manager_certificates", value)
271
+
227
272
  @property
228
273
  @pulumi.getter(name="creationTimestamp")
229
274
  def creation_timestamp(self) -> Optional[pulumi.Input[str]]:
@@ -320,9 +365,9 @@ class _RegionTargetHttpsProxyState:
320
365
  @pulumi.getter(name="sslCertificates")
321
366
  def ssl_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
322
367
  """
323
- A list of RegionSslCertificate resources that are used to authenticate
324
- connections between users and the load balancer. Currently, exactly
325
- one SSL certificate must be specified.
368
+ URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
369
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
370
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
326
371
  """
327
372
  return pulumi.get(self, "ssl_certificates")
328
373
 
@@ -366,6 +411,7 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
366
411
  def __init__(__self__,
367
412
  resource_name: str,
368
413
  opts: Optional[pulumi.ResourceOptions] = None,
414
+ certificate_manager_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
369
415
  description: Optional[pulumi.Input[str]] = None,
370
416
  name: Optional[pulumi.Input[str]] = None,
371
417
  project: Optional[pulumi.Input[str]] = None,
@@ -433,6 +479,35 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
433
479
  url_map=default_region_url_map.id,
434
480
  ssl_certificates=[default_region_ssl_certificate.id])
435
481
  ```
482
+ ### Region Target Https Proxy Certificate Manager Certificate
483
+
484
+ ```python
485
+ import pulumi
486
+ import pulumi_gcp as gcp
487
+ import pulumi_std as std
488
+
489
+ default_certificate = gcp.certificatemanager.Certificate("default",
490
+ name="my-certificate",
491
+ location="us-central1",
492
+ self_managed=gcp.certificatemanager.CertificateSelfManagedArgs(
493
+ pem_certificate=std.file(input="test-fixtures/cert.pem").result,
494
+ pem_private_key=std.file(input="test-fixtures/private-key.pem").result,
495
+ ))
496
+ default_region_backend_service = gcp.compute.RegionBackendService("default",
497
+ name="backend-service",
498
+ region="us-central1",
499
+ protocol="HTTPS",
500
+ timeout_sec=30,
501
+ load_balancing_scheme="INTERNAL_MANAGED")
502
+ default_region_url_map = gcp.compute.RegionUrlMap("default",
503
+ name="url-map",
504
+ default_service=default_region_backend_service.id,
505
+ region="us-central1")
506
+ default = gcp.compute.RegionTargetHttpsProxy("default",
507
+ name="target-http-proxy",
508
+ url_map=default_region_url_map.id,
509
+ certificate_manager_certificates=[default_certificate.id.apply(lambda id: f"//certificatemanager.googleapis.com/{id}")])
510
+ ```
436
511
 
437
512
  ## Import
438
513
 
@@ -466,6 +541,10 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
466
541
 
467
542
  :param str resource_name: The name of the resource.
468
543
  :param pulumi.ResourceOptions opts: Options for the resource.
544
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_manager_certificates: URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
545
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
546
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
547
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
469
548
  :param pulumi.Input[str] description: An optional description of this resource.
470
549
  :param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is
471
550
  created. The name must be 1-63 characters long, and comply with
@@ -478,9 +557,9 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
478
557
  If it is not provided, the provider project is used.
479
558
  :param pulumi.Input[str] region: The Region in which the created target https proxy should reside.
480
559
  If it is not provided, the provider region is used.
481
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: A list of RegionSslCertificate resources that are used to authenticate
482
- connections between users and the load balancer. Currently, exactly
483
- one SSL certificate must be specified.
560
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
561
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
562
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
484
563
  :param pulumi.Input[str] ssl_policy: A reference to the Region SslPolicy resource that will be associated with
485
564
  the TargetHttpsProxy resource. If not set, the TargetHttpsProxy
486
565
  resource will not have any SSL policy configured.
@@ -555,6 +634,35 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
555
634
  url_map=default_region_url_map.id,
556
635
  ssl_certificates=[default_region_ssl_certificate.id])
557
636
  ```
637
+ ### Region Target Https Proxy Certificate Manager Certificate
638
+
639
+ ```python
640
+ import pulumi
641
+ import pulumi_gcp as gcp
642
+ import pulumi_std as std
643
+
644
+ default_certificate = gcp.certificatemanager.Certificate("default",
645
+ name="my-certificate",
646
+ location="us-central1",
647
+ self_managed=gcp.certificatemanager.CertificateSelfManagedArgs(
648
+ pem_certificate=std.file(input="test-fixtures/cert.pem").result,
649
+ pem_private_key=std.file(input="test-fixtures/private-key.pem").result,
650
+ ))
651
+ default_region_backend_service = gcp.compute.RegionBackendService("default",
652
+ name="backend-service",
653
+ region="us-central1",
654
+ protocol="HTTPS",
655
+ timeout_sec=30,
656
+ load_balancing_scheme="INTERNAL_MANAGED")
657
+ default_region_url_map = gcp.compute.RegionUrlMap("default",
658
+ name="url-map",
659
+ default_service=default_region_backend_service.id,
660
+ region="us-central1")
661
+ default = gcp.compute.RegionTargetHttpsProxy("default",
662
+ name="target-http-proxy",
663
+ url_map=default_region_url_map.id,
664
+ certificate_manager_certificates=[default_certificate.id.apply(lambda id: f"//certificatemanager.googleapis.com/{id}")])
665
+ ```
558
666
 
559
667
  ## Import
560
668
 
@@ -601,6 +709,7 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
601
709
  def _internal_init(__self__,
602
710
  resource_name: str,
603
711
  opts: Optional[pulumi.ResourceOptions] = None,
712
+ certificate_manager_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
604
713
  description: Optional[pulumi.Input[str]] = None,
605
714
  name: Optional[pulumi.Input[str]] = None,
606
715
  project: Optional[pulumi.Input[str]] = None,
@@ -617,12 +726,11 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
617
726
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
618
727
  __props__ = RegionTargetHttpsProxyArgs.__new__(RegionTargetHttpsProxyArgs)
619
728
 
729
+ __props__.__dict__["certificate_manager_certificates"] = certificate_manager_certificates
620
730
  __props__.__dict__["description"] = description
621
731
  __props__.__dict__["name"] = name
622
732
  __props__.__dict__["project"] = project
623
733
  __props__.__dict__["region"] = region
624
- if ssl_certificates is None and not opts.urn:
625
- raise TypeError("Missing required property 'ssl_certificates'")
626
734
  __props__.__dict__["ssl_certificates"] = ssl_certificates
627
735
  __props__.__dict__["ssl_policy"] = ssl_policy
628
736
  if url_map is None and not opts.urn:
@@ -641,6 +749,7 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
641
749
  def get(resource_name: str,
642
750
  id: pulumi.Input[str],
643
751
  opts: Optional[pulumi.ResourceOptions] = None,
752
+ certificate_manager_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
644
753
  creation_timestamp: Optional[pulumi.Input[str]] = None,
645
754
  description: Optional[pulumi.Input[str]] = None,
646
755
  name: Optional[pulumi.Input[str]] = None,
@@ -658,6 +767,10 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
658
767
  :param str resource_name: The unique name of the resulting resource.
659
768
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
660
769
  :param pulumi.ResourceOptions opts: Options for the resource.
770
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] certificate_manager_certificates: URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
771
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
772
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
773
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
661
774
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
662
775
  :param pulumi.Input[str] description: An optional description of this resource.
663
776
  :param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is
@@ -673,9 +786,9 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
673
786
  :param pulumi.Input[str] region: The Region in which the created target https proxy should reside.
674
787
  If it is not provided, the provider region is used.
675
788
  :param pulumi.Input[str] self_link: The URI of the created resource.
676
- :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: A list of RegionSslCertificate resources that are used to authenticate
677
- connections between users and the load balancer. Currently, exactly
678
- one SSL certificate must be specified.
789
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ssl_certificates: URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
790
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
791
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
679
792
  :param pulumi.Input[str] ssl_policy: A reference to the Region SslPolicy resource that will be associated with
680
793
  the TargetHttpsProxy resource. If not set, the TargetHttpsProxy
681
794
  resource will not have any SSL policy configured.
@@ -689,6 +802,7 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
689
802
 
690
803
  __props__ = _RegionTargetHttpsProxyState.__new__(_RegionTargetHttpsProxyState)
691
804
 
805
+ __props__.__dict__["certificate_manager_certificates"] = certificate_manager_certificates
692
806
  __props__.__dict__["creation_timestamp"] = creation_timestamp
693
807
  __props__.__dict__["description"] = description
694
808
  __props__.__dict__["name"] = name
@@ -701,6 +815,17 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
701
815
  __props__.__dict__["url_map"] = url_map
702
816
  return RegionTargetHttpsProxy(resource_name, opts=opts, __props__=__props__)
703
817
 
818
+ @property
819
+ @pulumi.getter(name="certificateManagerCertificates")
820
+ def certificate_manager_certificates(self) -> pulumi.Output[Optional[Sequence[str]]]:
821
+ """
822
+ URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
823
+ Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
824
+ sslCertificates and certificateManagerCertificates fields can not be defined together.
825
+ Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the self_link `projects/{project}/locations/{location}/certificates/{resourceName}`
826
+ """
827
+ return pulumi.get(self, "certificate_manager_certificates")
828
+
704
829
  @property
705
830
  @pulumi.getter(name="creationTimestamp")
706
831
  def creation_timestamp(self) -> pulumi.Output[str]:
@@ -767,11 +892,11 @@ class RegionTargetHttpsProxy(pulumi.CustomResource):
767
892
 
768
893
  @property
769
894
  @pulumi.getter(name="sslCertificates")
770
- def ssl_certificates(self) -> pulumi.Output[Sequence[str]]:
895
+ def ssl_certificates(self) -> pulumi.Output[Optional[Sequence[str]]]:
771
896
  """
772
- A list of RegionSslCertificate resources that are used to authenticate
773
- connections between users and the load balancer. Currently, exactly
774
- one SSL certificate must be specified.
897
+ URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
898
+ At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
899
+ sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
775
900
  """
776
901
  return pulumi.get(self, "ssl_certificates")
777
902