pulumi-gcp 7.12.0a1709365001__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 (73) hide show
  1. pulumi_gcp/__init__.py +72 -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/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -257,7 +257,7 @@ class RegionNetworkEndpoint(pulumi.CustomResource):
257
257
  A Region network endpoint represents a IP address/FQDN and port combination that is
258
258
  part of a specific network endpoint group (NEG).
259
259
 
260
- **NOTE**: Network endpoints cannot be created outside of a network endpoint group.
260
+ > **NOTE**: Network endpoints cannot be created outside of a network endpoint group.
261
261
 
262
262
  To get more information about RegionNetworkEndpoint, see:
263
263
 
@@ -363,7 +363,7 @@ class RegionNetworkEndpoint(pulumi.CustomResource):
363
363
  A Region network endpoint represents a IP address/FQDN and port combination that is
364
364
  part of a specific network endpoint group (NEG).
365
365
 
366
- **NOTE**: Network endpoints cannot be created outside of a network endpoint group.
366
+ > **NOTE**: Network endpoints cannot be created outside of a network endpoint group.
367
367
 
368
368
  To get more information about RegionNetworkEndpoint, see:
369
369
 
@@ -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
 
@@ -69,7 +69,7 @@ class RouterNatArgs:
69
69
  Structure is documented below.
70
70
  :param pulumi.Input[int] max_ports_per_vm: Maximum number of ports allocated to a VM from this NAT.
71
71
  This field can only be set when enableDynamicPortAllocation is enabled.
72
- :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT.
72
+ :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
73
73
  :param pulumi.Input[str] name: Name of the NAT service. The name must be 1-63 characters long and
74
74
  comply with RFC1035.
75
75
  :param pulumi.Input[str] nat_ip_allocate_option: How external IPs should be allocated for this NAT. Valid values are
@@ -263,7 +263,7 @@ class RouterNatArgs:
263
263
  @pulumi.getter(name="minPortsPerVm")
264
264
  def min_ports_per_vm(self) -> Optional[pulumi.Input[int]]:
265
265
  """
266
- Minimum number of ports allocated to a VM from this NAT.
266
+ Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
267
267
  """
268
268
  return pulumi.get(self, "min_ports_per_vm")
269
269
 
@@ -474,7 +474,7 @@ class _RouterNatState:
474
474
  Structure is documented below.
475
475
  :param pulumi.Input[int] max_ports_per_vm: Maximum number of ports allocated to a VM from this NAT.
476
476
  This field can only be set when enableDynamicPortAllocation is enabled.
477
- :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT.
477
+ :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
478
478
  :param pulumi.Input[str] name: Name of the NAT service. The name must be 1-63 characters long and
479
479
  comply with RFC1035.
480
480
  :param pulumi.Input[str] nat_ip_allocate_option: How external IPs should be allocated for this NAT. Valid values are
@@ -648,7 +648,7 @@ class _RouterNatState:
648
648
  @pulumi.getter(name="minPortsPerVm")
649
649
  def min_ports_per_vm(self) -> Optional[pulumi.Input[int]]:
650
650
  """
651
- Minimum number of ports allocated to a VM from this NAT.
651
+ Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
652
652
  """
653
653
  return pulumi.get(self, "min_ports_per_vm")
654
654
 
@@ -1108,7 +1108,7 @@ class RouterNat(pulumi.CustomResource):
1108
1108
  Structure is documented below.
1109
1109
  :param pulumi.Input[int] max_ports_per_vm: Maximum number of ports allocated to a VM from this NAT.
1110
1110
  This field can only be set when enableDynamicPortAllocation is enabled.
1111
- :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT.
1111
+ :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
1112
1112
  :param pulumi.Input[str] name: Name of the NAT service. The name must be 1-63 characters long and
1113
1113
  comply with RFC1035.
1114
1114
  :param pulumi.Input[str] nat_ip_allocate_option: How external IPs should be allocated for this NAT. Valid values are
@@ -1492,7 +1492,7 @@ class RouterNat(pulumi.CustomResource):
1492
1492
  Structure is documented below.
1493
1493
  :param pulumi.Input[int] max_ports_per_vm: Maximum number of ports allocated to a VM from this NAT.
1494
1494
  This field can only be set when enableDynamicPortAllocation is enabled.
1495
- :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT.
1495
+ :param pulumi.Input[int] min_ports_per_vm: Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
1496
1496
  :param pulumi.Input[str] name: Name of the NAT service. The name must be 1-63 characters long and
1497
1497
  comply with RFC1035.
1498
1498
  :param pulumi.Input[str] nat_ip_allocate_option: How external IPs should be allocated for this NAT. Valid values are
@@ -1624,9 +1624,9 @@ class RouterNat(pulumi.CustomResource):
1624
1624
 
1625
1625
  @property
1626
1626
  @pulumi.getter(name="minPortsPerVm")
1627
- def min_ports_per_vm(self) -> pulumi.Output[Optional[int]]:
1627
+ def min_ports_per_vm(self) -> pulumi.Output[int]:
1628
1628
  """
1629
- Minimum number of ports allocated to a VM from this NAT.
1629
+ Minimum number of ports allocated to a VM from this NAT. Defaults to 64 for static port allocation and 32 dynamic port allocation if not set.
1630
1630
  """
1631
1631
  return pulumi.get(self, "min_ports_per_vm")
1632
1632