pulumi-gcp 8.0.0rc0__py3-none-any.whl → 8.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/alloydb/_inputs.py +94 -0
  3. pulumi_gcp/alloydb/cluster.py +94 -1
  4. pulumi_gcp/alloydb/outputs.py +79 -0
  5. pulumi_gcp/assuredworkloads/workload.py +135 -16
  6. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
  8. pulumi_gcp/bigquery/_inputs.py +33 -0
  9. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  10. pulumi_gcp/bigquery/outputs.py +36 -0
  11. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  12. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  13. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  15. pulumi_gcp/bigtable/_inputs.py +21 -1
  16. pulumi_gcp/bigtable/outputs.py +13 -1
  17. pulumi_gcp/bigtable/table.py +34 -0
  18. pulumi_gcp/certificateauthority/authority.py +14 -7
  19. pulumi_gcp/certificatemanager/__init__.py +1 -0
  20. pulumi_gcp/certificatemanager/certificate.py +28 -0
  21. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  22. pulumi_gcp/certificatemanager/outputs.py +322 -0
  23. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  24. pulumi_gcp/cloudbuild/outputs.py +4 -4
  25. pulumi_gcp/cloudrun/_inputs.py +6 -12
  26. pulumi_gcp/cloudrun/outputs.py +8 -16
  27. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  28. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  29. pulumi_gcp/cloudrunv2/service.py +50 -4
  30. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  31. pulumi_gcp/cloudtasks/outputs.py +479 -0
  32. pulumi_gcp/cloudtasks/queue.py +238 -0
  33. pulumi_gcp/compute/_inputs.py +129 -9
  34. pulumi_gcp/compute/get_instance.py +1 -1
  35. pulumi_gcp/compute/health_check.py +114 -0
  36. pulumi_gcp/compute/instance.py +86 -4
  37. pulumi_gcp/compute/instance_template.py +66 -0
  38. pulumi_gcp/compute/interconnect.py +28 -21
  39. pulumi_gcp/compute/node_template.py +93 -0
  40. pulumi_gcp/compute/outputs.py +108 -6
  41. pulumi_gcp/compute/target_https_proxy.py +28 -0
  42. pulumi_gcp/container/_inputs.py +140 -3
  43. pulumi_gcp/container/attached_cluster.py +7 -7
  44. pulumi_gcp/container/outputs.py +174 -2
  45. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  46. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  47. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  48. pulumi_gcp/dataloss/_inputs.py +353 -1
  49. pulumi_gcp/dataloss/outputs.py +274 -3
  50. pulumi_gcp/dataproc/_inputs.py +27 -27
  51. pulumi_gcp/dataproc/outputs.py +18 -18
  52. pulumi_gcp/datastream/_inputs.py +69 -1
  53. pulumi_gcp/datastream/outputs.py +44 -2
  54. pulumi_gcp/datastream/stream.py +194 -7
  55. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  56. pulumi_gcp/discoveryengine/data_store.py +14 -14
  57. pulumi_gcp/discoveryengine/outputs.py +153 -1
  58. pulumi_gcp/firebase/database_instance.py +7 -7
  59. pulumi_gcp/gkehub/_inputs.py +25 -1
  60. pulumi_gcp/gkehub/feature_membership.py +12 -6
  61. pulumi_gcp/gkehub/outputs.py +17 -1
  62. pulumi_gcp/iam/_inputs.py +196 -0
  63. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  64. pulumi_gcp/iam/outputs.py +295 -0
  65. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  66. pulumi_gcp/kms/__init__.py +2 -0
  67. pulumi_gcp/kms/autokey_config.py +10 -2
  68. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  69. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  70. pulumi_gcp/kms/outputs.py +164 -0
  71. pulumi_gcp/netapp/active_directory.py +6 -6
  72. pulumi_gcp/netapp/backup.py +6 -6
  73. pulumi_gcp/netapp/backup_policy.py +6 -6
  74. pulumi_gcp/netapp/backup_vault.py +6 -6
  75. pulumi_gcp/netapp/storage_pool.py +4 -4
  76. pulumi_gcp/netapp/volume.py +7 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  78. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  79. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  80. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  81. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  82. pulumi_gcp/organizations/get_project.py +13 -3
  83. pulumi_gcp/organizations/project.py +88 -3
  84. pulumi_gcp/parallelstore/instance.py +121 -121
  85. pulumi_gcp/projects/iam_member_remove.py +26 -0
  86. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  87. pulumi_gcp/pubsub/_inputs.py +40 -0
  88. pulumi_gcp/pubsub/outputs.py +51 -1
  89. pulumi_gcp/pubsub/subscription.py +6 -0
  90. pulumi_gcp/pulumi-plugin.json +1 -1
  91. pulumi_gcp/redis/_inputs.py +419 -0
  92. pulumi_gcp/redis/cluster.py +123 -0
  93. pulumi_gcp/redis/outputs.py +315 -0
  94. pulumi_gcp/securitycenter/__init__.py +2 -0
  95. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  96. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  97. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  98. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/RECORD +101 -95
  100. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/WHEEL +1 -1
  101. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/top_level.txt +0 -0
@@ -49,7 +49,8 @@ class AuthorityArgs:
49
49
  :param pulumi.Input[str] location: Location of the CertificateAuthority. A full list of valid locations can be found by
50
50
  running `gcloud privateca locations list`.
51
51
  :param pulumi.Input[str] pool: The name of the CaPool this Certificate Authority belongs to.
52
- :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
52
+ :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
53
+ ENABLED, DISABLED, STAGED.
53
54
  :param pulumi.Input[str] gcs_bucket: The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and
54
55
  CRLs. This must be a bucket name, without any prefixes (such as 'gs://') or suffixes (such as '.googleapis.com'). For
55
56
  example, to use a bucket named my-bucket, you would simply specify 'my-bucket'. If not specified, a managed bucket will
@@ -177,7 +178,8 @@ class AuthorityArgs:
177
178
  @pulumi.getter(name="desiredState")
178
179
  def desired_state(self) -> Optional[pulumi.Input[str]]:
179
180
  """
180
- Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
181
+ Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
182
+ ENABLED, DISABLED, STAGED.
181
183
  """
182
184
  return pulumi.get(self, "desired_state")
183
185
 
@@ -340,7 +342,8 @@ class _AuthorityState:
340
342
  :param pulumi.Input[str] create_time: The time at which this CertificateAuthority was created.
341
343
  A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
342
344
  fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
343
- :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
345
+ :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
346
+ ENABLED, DISABLED, STAGED.
344
347
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
345
348
  :param pulumi.Input[str] gcs_bucket: The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and
346
349
  CRLs. This must be a bucket name, without any prefixes (such as 'gs://') or suffixes (such as '.googleapis.com'). For
@@ -496,7 +499,8 @@ class _AuthorityState:
496
499
  @pulumi.getter(name="desiredState")
497
500
  def desired_state(self) -> Optional[pulumi.Input[str]]:
498
501
  """
499
- Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
502
+ Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
503
+ ENABLED, DISABLED, STAGED.
500
504
  """
501
505
  return pulumi.get(self, "desired_state")
502
506
 
@@ -1069,7 +1073,8 @@ class Authority(pulumi.CustomResource):
1069
1073
  :param pulumi.Input[str] certificate_authority_id: The user provided Resource ID for this Certificate Authority.
1070
1074
  :param pulumi.Input[Union['AuthorityConfigArgs', 'AuthorityConfigArgsDict']] config: The config used to create a self-signed X.509 certificate or CSR.
1071
1075
  Structure is documented below.
1072
- :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
1076
+ :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
1077
+ ENABLED, DISABLED, STAGED.
1073
1078
  :param pulumi.Input[str] gcs_bucket: The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and
1074
1079
  CRLs. This must be a bucket name, without any prefixes (such as 'gs://') or suffixes (such as '.googleapis.com'). For
1075
1080
  example, to use a bucket named my-bucket, you would simply specify 'my-bucket'. If not specified, a managed bucket will
@@ -1530,7 +1535,8 @@ class Authority(pulumi.CustomResource):
1530
1535
  :param pulumi.Input[str] create_time: The time at which this CertificateAuthority was created.
1531
1536
  A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine
1532
1537
  fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
1533
- :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
1538
+ :param pulumi.Input[str] desired_state: Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
1539
+ ENABLED, DISABLED, STAGED.
1534
1540
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1535
1541
  :param pulumi.Input[str] gcs_bucket: The name of a Cloud Storage bucket where this CertificateAuthority will publish content, such as the CA certificate and
1536
1542
  CRLs. This must be a bucket name, without any prefixes (such as 'gs://') or suffixes (such as '.googleapis.com'). For
@@ -1647,7 +1653,8 @@ class Authority(pulumi.CustomResource):
1647
1653
  @pulumi.getter(name="desiredState")
1648
1654
  def desired_state(self) -> pulumi.Output[Optional[str]]:
1649
1655
  """
1650
- Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA.
1656
+ Desired state of the CertificateAuthority. Set this field to 'STAGED' to create a 'STAGED' root CA. Possible values:
1657
+ ENABLED, DISABLED, STAGED.
1651
1658
  """
1652
1659
  return pulumi.get(self, "desired_state")
1653
1660
 
@@ -11,6 +11,7 @@ from .certificate_map import *
11
11
  from .certificate_map_entry import *
12
12
  from .dns_authorization import *
13
13
  from .get_certificate_map import *
14
+ from .get_certificates import *
14
15
  from .trust_config import *
15
16
  from ._inputs import *
16
17
  from . import outputs
@@ -205,6 +205,7 @@ class _CertificateState:
205
205
  name: Optional[pulumi.Input[str]] = None,
206
206
  project: Optional[pulumi.Input[str]] = None,
207
207
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
208
+ san_dnsnames: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
208
209
  scope: Optional[pulumi.Input[str]] = None,
209
210
  self_managed: Optional[pulumi.Input['CertificateSelfManagedArgs']] = None):
210
211
  """
@@ -229,6 +230,7 @@ class _CertificateState:
229
230
  If it is not provided, the provider project is used.
230
231
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
231
232
  and default labels configured on the provider.
233
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dnsnames: The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)
232
234
  :param pulumi.Input[str] scope: The scope of the certificate.
233
235
  DEFAULT: Certificates with default scope are served from core Google data centers.
234
236
  If unsure, choose this option.
@@ -257,6 +259,8 @@ class _CertificateState:
257
259
  pulumi.set(__self__, "project", project)
258
260
  if pulumi_labels is not None:
259
261
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
262
+ if san_dnsnames is not None:
263
+ pulumi.set(__self__, "san_dnsnames", san_dnsnames)
260
264
  if scope is not None:
261
265
  pulumi.set(__self__, "scope", scope)
262
266
  if self_managed is not None:
@@ -370,6 +374,18 @@ class _CertificateState:
370
374
  def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
371
375
  pulumi.set(self, "pulumi_labels", value)
372
376
 
377
+ @property
378
+ @pulumi.getter(name="sanDnsnames")
379
+ def san_dnsnames(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
380
+ """
381
+ The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)
382
+ """
383
+ return pulumi.get(self, "san_dnsnames")
384
+
385
+ @san_dnsnames.setter
386
+ def san_dnsnames(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
387
+ pulumi.set(self, "san_dnsnames", value)
388
+
373
389
  @property
374
390
  @pulumi.getter
375
391
  def scope(self) -> Optional[pulumi.Input[str]]:
@@ -1077,6 +1093,7 @@ class Certificate(pulumi.CustomResource):
1077
1093
  __props__.__dict__["self_managed"] = self_managed
1078
1094
  __props__.__dict__["effective_labels"] = None
1079
1095
  __props__.__dict__["pulumi_labels"] = None
1096
+ __props__.__dict__["san_dnsnames"] = None
1080
1097
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
1081
1098
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1082
1099
  super(Certificate, __self__).__init__(
@@ -1097,6 +1114,7 @@ class Certificate(pulumi.CustomResource):
1097
1114
  name: Optional[pulumi.Input[str]] = None,
1098
1115
  project: Optional[pulumi.Input[str]] = None,
1099
1116
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1117
+ san_dnsnames: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1100
1118
  scope: Optional[pulumi.Input[str]] = None,
1101
1119
  self_managed: Optional[pulumi.Input[Union['CertificateSelfManagedArgs', 'CertificateSelfManagedArgsDict']]] = None) -> 'Certificate':
1102
1120
  """
@@ -1126,6 +1144,7 @@ class Certificate(pulumi.CustomResource):
1126
1144
  If it is not provided, the provider project is used.
1127
1145
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
1128
1146
  and default labels configured on the provider.
1147
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] san_dnsnames: The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)
1129
1148
  :param pulumi.Input[str] scope: The scope of the certificate.
1130
1149
  DEFAULT: Certificates with default scope are served from core Google data centers.
1131
1150
  If unsure, choose this option.
@@ -1150,6 +1169,7 @@ class Certificate(pulumi.CustomResource):
1150
1169
  __props__.__dict__["name"] = name
1151
1170
  __props__.__dict__["project"] = project
1152
1171
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1172
+ __props__.__dict__["san_dnsnames"] = san_dnsnames
1153
1173
  __props__.__dict__["scope"] = scope
1154
1174
  __props__.__dict__["self_managed"] = self_managed
1155
1175
  return Certificate(resource_name, opts=opts, __props__=__props__)
@@ -1230,6 +1250,14 @@ class Certificate(pulumi.CustomResource):
1230
1250
  """
1231
1251
  return pulumi.get(self, "pulumi_labels")
1232
1252
 
1253
+ @property
1254
+ @pulumi.getter(name="sanDnsnames")
1255
+ def san_dnsnames(self) -> pulumi.Output[Sequence[str]]:
1256
+ """
1257
+ The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)
1258
+ """
1259
+ return pulumi.get(self, "san_dnsnames")
1260
+
1233
1261
  @property
1234
1262
  @pulumi.getter
1235
1263
  def scope(self) -> pulumi.Output[Optional[str]]:
@@ -0,0 +1,150 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetCertificatesResult',
20
+ 'AwaitableGetCertificatesResult',
21
+ 'get_certificates',
22
+ 'get_certificates_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetCertificatesResult:
27
+ """
28
+ A collection of values returned by getCertificates.
29
+ """
30
+ def __init__(__self__, certificates=None, filter=None, id=None, region=None):
31
+ if certificates and not isinstance(certificates, list):
32
+ raise TypeError("Expected argument 'certificates' to be a list")
33
+ pulumi.set(__self__, "certificates", certificates)
34
+ if filter and not isinstance(filter, str):
35
+ raise TypeError("Expected argument 'filter' to be a str")
36
+ pulumi.set(__self__, "filter", filter)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+ if region and not isinstance(region, str):
41
+ raise TypeError("Expected argument 'region' to be a str")
42
+ pulumi.set(__self__, "region", region)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def certificates(self) -> Sequence['outputs.GetCertificatesCertificateResult']:
47
+ return pulumi.get(self, "certificates")
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def filter(self) -> Optional[str]:
52
+ return pulumi.get(self, "filter")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def id(self) -> str:
57
+ """
58
+ The provider-assigned unique ID for this managed resource.
59
+ """
60
+ return pulumi.get(self, "id")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def region(self) -> Optional[str]:
65
+ return pulumi.get(self, "region")
66
+
67
+
68
+ class AwaitableGetCertificatesResult(GetCertificatesResult):
69
+ # pylint: disable=using-constant-test
70
+ def __await__(self):
71
+ if False:
72
+ yield self
73
+ return GetCertificatesResult(
74
+ certificates=self.certificates,
75
+ filter=self.filter,
76
+ id=self.id,
77
+ region=self.region)
78
+
79
+
80
+ def get_certificates(filter: Optional[str] = None,
81
+ region: Optional[str] = None,
82
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCertificatesResult:
83
+ """
84
+ List all certificates within Google Certificate Manager for a given project, region or filter.
85
+
86
+ ## Example Usage
87
+
88
+ ```python
89
+ import pulumi
90
+ import pulumi_gcp as gcp
91
+
92
+ default = gcp.certificatemanager.get_certificates()
93
+ ```
94
+
95
+ ### With A Filter
96
+
97
+ ```python
98
+ import pulumi
99
+ import pulumi_gcp as gcp
100
+
101
+ default = gcp.certificatemanager.get_certificates(filter="name:projects/PROJECT_ID/locations/REGION/certificates/certificate-name-*")
102
+ ```
103
+
104
+
105
+ :param str filter: Filter expression to restrict the certificates returned.
106
+ :param str region: The region in which the resource belongs. If it is not provided, `GLOBAL` is used.
107
+ """
108
+ __args__ = dict()
109
+ __args__['filter'] = filter
110
+ __args__['region'] = region
111
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
112
+ __ret__ = pulumi.runtime.invoke('gcp:certificatemanager/getCertificates:getCertificates', __args__, opts=opts, typ=GetCertificatesResult).value
113
+
114
+ return AwaitableGetCertificatesResult(
115
+ certificates=pulumi.get(__ret__, 'certificates'),
116
+ filter=pulumi.get(__ret__, 'filter'),
117
+ id=pulumi.get(__ret__, 'id'),
118
+ region=pulumi.get(__ret__, 'region'))
119
+
120
+
121
+ @_utilities.lift_output_func(get_certificates)
122
+ def get_certificates_output(filter: Optional[pulumi.Input[Optional[str]]] = None,
123
+ region: Optional[pulumi.Input[Optional[str]]] = None,
124
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCertificatesResult]:
125
+ """
126
+ List all certificates within Google Certificate Manager for a given project, region or filter.
127
+
128
+ ## Example Usage
129
+
130
+ ```python
131
+ import pulumi
132
+ import pulumi_gcp as gcp
133
+
134
+ default = gcp.certificatemanager.get_certificates()
135
+ ```
136
+
137
+ ### With A Filter
138
+
139
+ ```python
140
+ import pulumi
141
+ import pulumi_gcp as gcp
142
+
143
+ default = gcp.certificatemanager.get_certificates(filter="name:projects/PROJECT_ID/locations/REGION/certificates/certificate-name-*")
144
+ ```
145
+
146
+
147
+ :param str filter: Filter expression to restrict the certificates returned.
148
+ :param str region: The region in which the resource belongs. If it is not provided, `GLOBAL` is used.
149
+ """
150
+ ...
@@ -31,6 +31,10 @@ __all__ = [
31
31
  'TrustConfigTrustStoreTrustAnchor',
32
32
  'GetCertificateMapGclbTargetResult',
33
33
  'GetCertificateMapGclbTargetIpConfigResult',
34
+ 'GetCertificatesCertificateResult',
35
+ 'GetCertificatesCertificateManagedResult',
36
+ 'GetCertificatesCertificateManagedAuthorizationAttemptInfoResult',
37
+ 'GetCertificatesCertificateManagedProvisioningIssueResult',
34
38
  ]
35
39
 
36
40
  @pulumi.output_type
@@ -892,3 +896,321 @@ class GetCertificateMapGclbTargetIpConfigResult(dict):
892
896
  return pulumi.get(self, "ports")
893
897
 
894
898
 
899
+ @pulumi.output_type
900
+ class GetCertificatesCertificateResult(dict):
901
+ def __init__(__self__, *,
902
+ description: str,
903
+ effective_labels: Mapping[str, str],
904
+ labels: Mapping[str, str],
905
+ location: str,
906
+ manageds: Sequence['outputs.GetCertificatesCertificateManagedResult'],
907
+ name: str,
908
+ project: str,
909
+ pulumi_labels: Mapping[str, str],
910
+ san_dnsnames: Sequence[str],
911
+ scope: str):
912
+ """
913
+ :param str description: A human-readable description of the resource.
914
+ :param Mapping[str, str] labels: Set of label tags associated with the Certificate resource.
915
+
916
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
917
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
918
+ :param str location: The Certificate Manager location. If not specified, "global" is used.
919
+ :param Sequence['GetCertificatesCertificateManagedArgs'] manageds: Configuration and state of a Managed Certificate.
920
+ Certificate Manager provisions and renews Managed Certificates
921
+ automatically, for as long as it's authorized to do so.
922
+ :param str name: A user-defined name of the certificate. Certificate names must be unique
923
+ The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
924
+ and all following characters must be a dash, underscore, letter or digit.
925
+ :param str project: The ID of the project in which the resource belongs. If it
926
+ is not provided, the provider project is used.
927
+ :param Mapping[str, str] pulumi_labels: The combination of labels configured directly on the resource
928
+ and default labels configured on the provider.
929
+ :param Sequence[str] san_dnsnames: The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)
930
+ :param str scope: The scope of the certificate.
931
+
932
+ DEFAULT: Certificates with default scope are served from core Google data centers.
933
+ If unsure, choose this option.
934
+
935
+ EDGE_CACHE: Certificates with scope EDGE_CACHE are special-purposed certificates, served from Edge Points of Presence.
936
+ See https://cloud.google.com/vpc/docs/edge-locations.
937
+
938
+ ALL_REGIONS: Certificates with ALL_REGIONS scope are served from all GCP regions (You can only use ALL_REGIONS with global certs).
939
+ See https://cloud.google.com/compute/docs/regions-zones
940
+ """
941
+ pulumi.set(__self__, "description", description)
942
+ pulumi.set(__self__, "effective_labels", effective_labels)
943
+ pulumi.set(__self__, "labels", labels)
944
+ pulumi.set(__self__, "location", location)
945
+ pulumi.set(__self__, "manageds", manageds)
946
+ pulumi.set(__self__, "name", name)
947
+ pulumi.set(__self__, "project", project)
948
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
949
+ pulumi.set(__self__, "san_dnsnames", san_dnsnames)
950
+ pulumi.set(__self__, "scope", scope)
951
+
952
+ @property
953
+ @pulumi.getter
954
+ def description(self) -> str:
955
+ """
956
+ A human-readable description of the resource.
957
+ """
958
+ return pulumi.get(self, "description")
959
+
960
+ @property
961
+ @pulumi.getter(name="effectiveLabels")
962
+ def effective_labels(self) -> Mapping[str, str]:
963
+ return pulumi.get(self, "effective_labels")
964
+
965
+ @property
966
+ @pulumi.getter
967
+ def labels(self) -> Mapping[str, str]:
968
+ """
969
+ Set of label tags associated with the Certificate resource.
970
+
971
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
972
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
973
+ """
974
+ return pulumi.get(self, "labels")
975
+
976
+ @property
977
+ @pulumi.getter
978
+ def location(self) -> str:
979
+ """
980
+ The Certificate Manager location. If not specified, "global" is used.
981
+ """
982
+ return pulumi.get(self, "location")
983
+
984
+ @property
985
+ @pulumi.getter
986
+ def manageds(self) -> Sequence['outputs.GetCertificatesCertificateManagedResult']:
987
+ """
988
+ Configuration and state of a Managed Certificate.
989
+ Certificate Manager provisions and renews Managed Certificates
990
+ automatically, for as long as it's authorized to do so.
991
+ """
992
+ return pulumi.get(self, "manageds")
993
+
994
+ @property
995
+ @pulumi.getter
996
+ def name(self) -> str:
997
+ """
998
+ A user-defined name of the certificate. Certificate names must be unique
999
+ The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
1000
+ and all following characters must be a dash, underscore, letter or digit.
1001
+ """
1002
+ return pulumi.get(self, "name")
1003
+
1004
+ @property
1005
+ @pulumi.getter
1006
+ def project(self) -> str:
1007
+ """
1008
+ The ID of the project in which the resource belongs. If it
1009
+ is not provided, the provider project is used.
1010
+ """
1011
+ return pulumi.get(self, "project")
1012
+
1013
+ @property
1014
+ @pulumi.getter(name="pulumiLabels")
1015
+ def pulumi_labels(self) -> Mapping[str, str]:
1016
+ """
1017
+ The combination of labels configured directly on the resource
1018
+ and default labels configured on the provider.
1019
+ """
1020
+ return pulumi.get(self, "pulumi_labels")
1021
+
1022
+ @property
1023
+ @pulumi.getter(name="sanDnsnames")
1024
+ def san_dnsnames(self) -> Sequence[str]:
1025
+ """
1026
+ The list of Subject Alternative Names of dnsName type defined in the certificate (see RFC 5280 4.2.1.6)
1027
+ """
1028
+ return pulumi.get(self, "san_dnsnames")
1029
+
1030
+ @property
1031
+ @pulumi.getter
1032
+ def scope(self) -> str:
1033
+ """
1034
+ The scope of the certificate.
1035
+
1036
+ DEFAULT: Certificates with default scope are served from core Google data centers.
1037
+ If unsure, choose this option.
1038
+
1039
+ EDGE_CACHE: Certificates with scope EDGE_CACHE are special-purposed certificates, served from Edge Points of Presence.
1040
+ See https://cloud.google.com/vpc/docs/edge-locations.
1041
+
1042
+ ALL_REGIONS: Certificates with ALL_REGIONS scope are served from all GCP regions (You can only use ALL_REGIONS with global certs).
1043
+ See https://cloud.google.com/compute/docs/regions-zones
1044
+ """
1045
+ return pulumi.get(self, "scope")
1046
+
1047
+
1048
+ @pulumi.output_type
1049
+ class GetCertificatesCertificateManagedResult(dict):
1050
+ def __init__(__self__, *,
1051
+ authorization_attempt_infos: Sequence['outputs.GetCertificatesCertificateManagedAuthorizationAttemptInfoResult'],
1052
+ dns_authorizations: Sequence[str],
1053
+ domains: Sequence[str],
1054
+ issuance_config: str,
1055
+ provisioning_issues: Sequence['outputs.GetCertificatesCertificateManagedProvisioningIssueResult'],
1056
+ state: str):
1057
+ """
1058
+ :param Sequence['GetCertificatesCertificateManagedAuthorizationAttemptInfoArgs'] authorization_attempt_infos: Detailed state of the latest authorization attempt for each domain
1059
+ specified for this Managed Certificate.
1060
+ :param Sequence[str] dns_authorizations: Authorizations that will be used for performing domain authorization. Either issuanceConfig or dnsAuthorizations should be specificed, but not both.
1061
+ :param Sequence[str] domains: The domains for which a managed SSL certificate will be generated.
1062
+ Wildcard domains are only supported with DNS challenge resolution
1063
+ :param str issuance_config: The resource name for a CertificateIssuanceConfig used to configure private PKI certificates in the format projects/*/locations/*/certificateIssuanceConfigs/*.
1064
+ If this field is not set, the certificates will instead be publicly signed as documented at https://cloud.google.com/load-balancing/docs/ssl-certificates/google-managed-certs#caa.
1065
+ Either issuanceConfig or dnsAuthorizations should be specificed, but not both.
1066
+ :param Sequence['GetCertificatesCertificateManagedProvisioningIssueArgs'] provisioning_issues: Information about issues with provisioning this Managed Certificate.
1067
+ :param str state: A state of this Managed Certificate.
1068
+ """
1069
+ pulumi.set(__self__, "authorization_attempt_infos", authorization_attempt_infos)
1070
+ pulumi.set(__self__, "dns_authorizations", dns_authorizations)
1071
+ pulumi.set(__self__, "domains", domains)
1072
+ pulumi.set(__self__, "issuance_config", issuance_config)
1073
+ pulumi.set(__self__, "provisioning_issues", provisioning_issues)
1074
+ pulumi.set(__self__, "state", state)
1075
+
1076
+ @property
1077
+ @pulumi.getter(name="authorizationAttemptInfos")
1078
+ def authorization_attempt_infos(self) -> Sequence['outputs.GetCertificatesCertificateManagedAuthorizationAttemptInfoResult']:
1079
+ """
1080
+ Detailed state of the latest authorization attempt for each domain
1081
+ specified for this Managed Certificate.
1082
+ """
1083
+ return pulumi.get(self, "authorization_attempt_infos")
1084
+
1085
+ @property
1086
+ @pulumi.getter(name="dnsAuthorizations")
1087
+ def dns_authorizations(self) -> Sequence[str]:
1088
+ """
1089
+ Authorizations that will be used for performing domain authorization. Either issuanceConfig or dnsAuthorizations should be specificed, but not both.
1090
+ """
1091
+ return pulumi.get(self, "dns_authorizations")
1092
+
1093
+ @property
1094
+ @pulumi.getter
1095
+ def domains(self) -> Sequence[str]:
1096
+ """
1097
+ The domains for which a managed SSL certificate will be generated.
1098
+ Wildcard domains are only supported with DNS challenge resolution
1099
+ """
1100
+ return pulumi.get(self, "domains")
1101
+
1102
+ @property
1103
+ @pulumi.getter(name="issuanceConfig")
1104
+ def issuance_config(self) -> str:
1105
+ """
1106
+ The resource name for a CertificateIssuanceConfig used to configure private PKI certificates in the format projects/*/locations/*/certificateIssuanceConfigs/*.
1107
+ If this field is not set, the certificates will instead be publicly signed as documented at https://cloud.google.com/load-balancing/docs/ssl-certificates/google-managed-certs#caa.
1108
+ Either issuanceConfig or dnsAuthorizations should be specificed, but not both.
1109
+ """
1110
+ return pulumi.get(self, "issuance_config")
1111
+
1112
+ @property
1113
+ @pulumi.getter(name="provisioningIssues")
1114
+ def provisioning_issues(self) -> Sequence['outputs.GetCertificatesCertificateManagedProvisioningIssueResult']:
1115
+ """
1116
+ Information about issues with provisioning this Managed Certificate.
1117
+ """
1118
+ return pulumi.get(self, "provisioning_issues")
1119
+
1120
+ @property
1121
+ @pulumi.getter
1122
+ def state(self) -> str:
1123
+ """
1124
+ A state of this Managed Certificate.
1125
+ """
1126
+ return pulumi.get(self, "state")
1127
+
1128
+
1129
+ @pulumi.output_type
1130
+ class GetCertificatesCertificateManagedAuthorizationAttemptInfoResult(dict):
1131
+ def __init__(__self__, *,
1132
+ details: str,
1133
+ domain: str,
1134
+ failure_reason: str,
1135
+ state: str):
1136
+ """
1137
+ :param str details: Human readable explanation for reaching the state. Provided to help
1138
+ address the configuration issues.
1139
+ Not guaranteed to be stable. For programmatic access use 'failure_reason' field.
1140
+ :param str domain: Domain name of the authorization attempt.
1141
+ :param str failure_reason: Reason for failure of the authorization attempt for the domain.
1142
+ :param str state: State of the domain for managed certificate issuance.
1143
+ """
1144
+ pulumi.set(__self__, "details", details)
1145
+ pulumi.set(__self__, "domain", domain)
1146
+ pulumi.set(__self__, "failure_reason", failure_reason)
1147
+ pulumi.set(__self__, "state", state)
1148
+
1149
+ @property
1150
+ @pulumi.getter
1151
+ def details(self) -> str:
1152
+ """
1153
+ Human readable explanation for reaching the state. Provided to help
1154
+ address the configuration issues.
1155
+ Not guaranteed to be stable. For programmatic access use 'failure_reason' field.
1156
+ """
1157
+ return pulumi.get(self, "details")
1158
+
1159
+ @property
1160
+ @pulumi.getter
1161
+ def domain(self) -> str:
1162
+ """
1163
+ Domain name of the authorization attempt.
1164
+ """
1165
+ return pulumi.get(self, "domain")
1166
+
1167
+ @property
1168
+ @pulumi.getter(name="failureReason")
1169
+ def failure_reason(self) -> str:
1170
+ """
1171
+ Reason for failure of the authorization attempt for the domain.
1172
+ """
1173
+ return pulumi.get(self, "failure_reason")
1174
+
1175
+ @property
1176
+ @pulumi.getter
1177
+ def state(self) -> str:
1178
+ """
1179
+ State of the domain for managed certificate issuance.
1180
+ """
1181
+ return pulumi.get(self, "state")
1182
+
1183
+
1184
+ @pulumi.output_type
1185
+ class GetCertificatesCertificateManagedProvisioningIssueResult(dict):
1186
+ def __init__(__self__, *,
1187
+ details: str,
1188
+ reason: str):
1189
+ """
1190
+ :param str details: Human readable explanation about the issue. Provided to help address
1191
+ the configuration issues.
1192
+ Not guaranteed to be stable. For programmatic access use 'reason' field.
1193
+ :param str reason: Reason for provisioning failures.
1194
+ """
1195
+ pulumi.set(__self__, "details", details)
1196
+ pulumi.set(__self__, "reason", reason)
1197
+
1198
+ @property
1199
+ @pulumi.getter
1200
+ def details(self) -> str:
1201
+ """
1202
+ Human readable explanation about the issue. Provided to help address
1203
+ the configuration issues.
1204
+ Not guaranteed to be stable. For programmatic access use 'reason' field.
1205
+ """
1206
+ return pulumi.get(self, "details")
1207
+
1208
+ @property
1209
+ @pulumi.getter
1210
+ def reason(self) -> str:
1211
+ """
1212
+ Reason for provisioning failures.
1213
+ """
1214
+ return pulumi.get(self, "reason")
1215
+
1216
+