pulumi-gcp 8.1.0a1726293903__py3-none-any.whl → 8.2.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 (128) hide show
  1. pulumi_gcp/__init__.py +62 -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/__init__.py +1 -0
  9. pulumi_gcp/bigquery/_inputs.py +33 -0
  10. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  11. pulumi_gcp/bigquery/get_tables.py +143 -0
  12. pulumi_gcp/bigquery/outputs.py +66 -0
  13. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  14. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  15. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  16. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  17. pulumi_gcp/bigtable/_inputs.py +21 -1
  18. pulumi_gcp/bigtable/outputs.py +13 -1
  19. pulumi_gcp/bigtable/table.py +34 -0
  20. pulumi_gcp/certificateauthority/authority.py +14 -7
  21. pulumi_gcp/certificatemanager/__init__.py +1 -0
  22. pulumi_gcp/certificatemanager/certificate.py +28 -0
  23. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  24. pulumi_gcp/certificatemanager/outputs.py +322 -0
  25. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  26. pulumi_gcp/cloudbuild/outputs.py +4 -4
  27. pulumi_gcp/cloudrun/_inputs.py +6 -12
  28. pulumi_gcp/cloudrun/outputs.py +8 -16
  29. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  30. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  31. pulumi_gcp/cloudrunv2/service.py +50 -4
  32. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  33. pulumi_gcp/cloudtasks/outputs.py +479 -0
  34. pulumi_gcp/cloudtasks/queue.py +238 -0
  35. pulumi_gcp/compute/__init__.py +1 -0
  36. pulumi_gcp/compute/_inputs.py +2300 -257
  37. pulumi_gcp/compute/get_instance.py +4 -1
  38. pulumi_gcp/compute/health_check.py +114 -0
  39. pulumi_gcp/compute/instance.py +86 -4
  40. pulumi_gcp/compute/instance_template.py +66 -0
  41. pulumi_gcp/compute/interconnect.py +28 -21
  42. pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
  43. pulumi_gcp/compute/node_template.py +93 -0
  44. pulumi_gcp/compute/outputs.py +1491 -6
  45. pulumi_gcp/compute/region_target_http_proxy.py +159 -0
  46. pulumi_gcp/compute/region_target_https_proxy.py +175 -0
  47. pulumi_gcp/compute/service_attachment.py +75 -0
  48. pulumi_gcp/compute/target_http_proxy.py +49 -28
  49. pulumi_gcp/compute/target_https_proxy.py +77 -28
  50. pulumi_gcp/config/__init__.pyi +4 -0
  51. pulumi_gcp/config/vars.py +8 -0
  52. pulumi_gcp/container/_inputs.py +236 -3
  53. pulumi_gcp/container/attached_cluster.py +61 -8
  54. pulumi_gcp/container/outputs.py +276 -2
  55. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  56. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  57. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  58. pulumi_gcp/dataloss/_inputs.py +353 -1
  59. pulumi_gcp/dataloss/outputs.py +274 -3
  60. pulumi_gcp/dataproc/_inputs.py +27 -27
  61. pulumi_gcp/dataproc/metastore_federation.py +8 -8
  62. pulumi_gcp/dataproc/metastore_service.py +2 -0
  63. pulumi_gcp/dataproc/outputs.py +18 -18
  64. pulumi_gcp/datastream/_inputs.py +69 -1
  65. pulumi_gcp/datastream/outputs.py +44 -2
  66. pulumi_gcp/datastream/stream.py +201 -7
  67. pulumi_gcp/developerconnect/__init__.py +11 -0
  68. pulumi_gcp/developerconnect/_inputs.py +301 -0
  69. pulumi_gcp/developerconnect/connection.py +1034 -0
  70. pulumi_gcp/developerconnect/git_repository_link.py +873 -0
  71. pulumi_gcp/developerconnect/outputs.py +247 -0
  72. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  73. pulumi_gcp/discoveryengine/data_store.py +14 -14
  74. pulumi_gcp/discoveryengine/outputs.py +153 -1
  75. pulumi_gcp/firebase/database_instance.py +7 -7
  76. pulumi_gcp/gkehub/_inputs.py +25 -1
  77. pulumi_gcp/gkehub/feature_membership.py +12 -6
  78. pulumi_gcp/gkehub/outputs.py +17 -1
  79. pulumi_gcp/gkeonprem/_inputs.py +3 -3
  80. pulumi_gcp/gkeonprem/outputs.py +2 -2
  81. pulumi_gcp/iam/_inputs.py +196 -0
  82. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  83. pulumi_gcp/iam/outputs.py +295 -0
  84. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  85. pulumi_gcp/kms/__init__.py +2 -0
  86. pulumi_gcp/kms/autokey_config.py +10 -2
  87. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  88. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  89. pulumi_gcp/kms/outputs.py +164 -0
  90. pulumi_gcp/memorystore/__init__.py +10 -0
  91. pulumi_gcp/memorystore/_inputs.py +731 -0
  92. pulumi_gcp/memorystore/instance.py +1663 -0
  93. pulumi_gcp/memorystore/outputs.py +598 -0
  94. pulumi_gcp/netapp/active_directory.py +6 -6
  95. pulumi_gcp/netapp/backup.py +6 -6
  96. pulumi_gcp/netapp/backup_policy.py +6 -6
  97. pulumi_gcp/netapp/backup_vault.py +6 -6
  98. pulumi_gcp/netapp/storage_pool.py +4 -4
  99. pulumi_gcp/netapp/volume.py +108 -0
  100. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  101. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  102. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  103. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  104. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  105. pulumi_gcp/organizations/folder.py +52 -33
  106. pulumi_gcp/organizations/get_project.py +13 -3
  107. pulumi_gcp/organizations/project.py +88 -3
  108. pulumi_gcp/parallelstore/instance.py +121 -121
  109. pulumi_gcp/projects/iam_member_remove.py +26 -0
  110. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  111. pulumi_gcp/provider.py +40 -0
  112. pulumi_gcp/pubsub/_inputs.py +40 -0
  113. pulumi_gcp/pubsub/outputs.py +51 -1
  114. pulumi_gcp/pubsub/subscription.py +6 -0
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/_inputs.py +419 -0
  117. pulumi_gcp/redis/cluster.py +123 -0
  118. pulumi_gcp/redis/outputs.py +315 -0
  119. pulumi_gcp/securitycenter/__init__.py +2 -0
  120. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  121. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  122. pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
  123. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  124. pulumi_gcp/vpcaccess/connector.py +21 -28
  125. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
  126. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
  127. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
  128. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
@@ -13,11 +13,16 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
16
17
 
17
18
  __all__ = [
18
19
  'DataExchangeIamBindingCondition',
19
20
  'DataExchangeIamMemberCondition',
21
+ 'DataExchangeSharingEnvironmentConfig',
22
+ 'DataExchangeSharingEnvironmentConfigDcrExchangeConfig',
23
+ 'DataExchangeSharingEnvironmentConfigDefaultExchangeConfig',
20
24
  'ListingBigqueryDataset',
25
+ 'ListingBigqueryDatasetSelectedResource',
21
26
  'ListingDataProvider',
22
27
  'ListingIamBindingCondition',
23
28
  'ListingIamMemberCondition',
@@ -79,26 +84,138 @@ class DataExchangeIamMemberCondition(dict):
79
84
  return pulumi.get(self, "description")
80
85
 
81
86
 
87
+ @pulumi.output_type
88
+ class DataExchangeSharingEnvironmentConfig(dict):
89
+ @staticmethod
90
+ def __key_warning(key: str):
91
+ suggest = None
92
+ if key == "dcrExchangeConfig":
93
+ suggest = "dcr_exchange_config"
94
+ elif key == "defaultExchangeConfig":
95
+ suggest = "default_exchange_config"
96
+
97
+ if suggest:
98
+ pulumi.log.warn(f"Key '{key}' not found in DataExchangeSharingEnvironmentConfig. Access the value via the '{suggest}' property getter instead.")
99
+
100
+ def __getitem__(self, key: str) -> Any:
101
+ DataExchangeSharingEnvironmentConfig.__key_warning(key)
102
+ return super().__getitem__(key)
103
+
104
+ def get(self, key: str, default = None) -> Any:
105
+ DataExchangeSharingEnvironmentConfig.__key_warning(key)
106
+ return super().get(key, default)
107
+
108
+ def __init__(__self__, *,
109
+ dcr_exchange_config: Optional['outputs.DataExchangeSharingEnvironmentConfigDcrExchangeConfig'] = None,
110
+ default_exchange_config: Optional['outputs.DataExchangeSharingEnvironmentConfigDefaultExchangeConfig'] = None):
111
+ """
112
+ :param 'DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs' dcr_exchange_config: Data Clean Room (DCR), used for privacy-safe and secured data sharing.
113
+ :param 'DataExchangeSharingEnvironmentConfigDefaultExchangeConfigArgs' default_exchange_config: Default Analytics Hub data exchange, used for secured data sharing.
114
+ """
115
+ if dcr_exchange_config is not None:
116
+ pulumi.set(__self__, "dcr_exchange_config", dcr_exchange_config)
117
+ if default_exchange_config is not None:
118
+ pulumi.set(__self__, "default_exchange_config", default_exchange_config)
119
+
120
+ @property
121
+ @pulumi.getter(name="dcrExchangeConfig")
122
+ def dcr_exchange_config(self) -> Optional['outputs.DataExchangeSharingEnvironmentConfigDcrExchangeConfig']:
123
+ """
124
+ Data Clean Room (DCR), used for privacy-safe and secured data sharing.
125
+ """
126
+ return pulumi.get(self, "dcr_exchange_config")
127
+
128
+ @property
129
+ @pulumi.getter(name="defaultExchangeConfig")
130
+ def default_exchange_config(self) -> Optional['outputs.DataExchangeSharingEnvironmentConfigDefaultExchangeConfig']:
131
+ """
132
+ Default Analytics Hub data exchange, used for secured data sharing.
133
+ """
134
+ return pulumi.get(self, "default_exchange_config")
135
+
136
+
137
+ @pulumi.output_type
138
+ class DataExchangeSharingEnvironmentConfigDcrExchangeConfig(dict):
139
+ def __init__(__self__):
140
+ pass
141
+
142
+
143
+ @pulumi.output_type
144
+ class DataExchangeSharingEnvironmentConfigDefaultExchangeConfig(dict):
145
+ def __init__(__self__):
146
+ pass
147
+
148
+
82
149
  @pulumi.output_type
83
150
  class ListingBigqueryDataset(dict):
151
+ @staticmethod
152
+ def __key_warning(key: str):
153
+ suggest = None
154
+ if key == "selectedResources":
155
+ suggest = "selected_resources"
156
+
157
+ if suggest:
158
+ pulumi.log.warn(f"Key '{key}' not found in ListingBigqueryDataset. Access the value via the '{suggest}' property getter instead.")
159
+
160
+ def __getitem__(self, key: str) -> Any:
161
+ ListingBigqueryDataset.__key_warning(key)
162
+ return super().__getitem__(key)
163
+
164
+ def get(self, key: str, default = None) -> Any:
165
+ ListingBigqueryDataset.__key_warning(key)
166
+ return super().get(key, default)
167
+
84
168
  def __init__(__self__, *,
85
- dataset: str):
169
+ dataset: str,
170
+ selected_resources: Optional[Sequence['outputs.ListingBigqueryDatasetSelectedResource']] = None):
86
171
  """
87
172
  :param str dataset: Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
88
-
89
- - - -
173
+ :param Sequence['ListingBigqueryDatasetSelectedResourceArgs'] selected_resources: Resource in this dataset that is selectively shared. This field is required for data clean room exchanges.
174
+ Structure is documented below.
90
175
  """
91
176
  pulumi.set(__self__, "dataset", dataset)
177
+ if selected_resources is not None:
178
+ pulumi.set(__self__, "selected_resources", selected_resources)
92
179
 
93
180
  @property
94
181
  @pulumi.getter
95
182
  def dataset(self) -> str:
96
183
  """
97
184
  Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
185
+ """
186
+ return pulumi.get(self, "dataset")
187
+
188
+ @property
189
+ @pulumi.getter(name="selectedResources")
190
+ def selected_resources(self) -> Optional[Sequence['outputs.ListingBigqueryDatasetSelectedResource']]:
191
+ """
192
+ Resource in this dataset that is selectively shared. This field is required for data clean room exchanges.
193
+ Structure is documented below.
194
+ """
195
+ return pulumi.get(self, "selected_resources")
196
+
197
+
198
+ @pulumi.output_type
199
+ class ListingBigqueryDatasetSelectedResource(dict):
200
+ def __init__(__self__, *,
201
+ table: Optional[str] = None):
202
+ """
203
+ :param str table: Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
204
+
205
+ - - -
206
+ """
207
+ if table is not None:
208
+ pulumi.set(__self__, "table", table)
209
+
210
+ @property
211
+ @pulumi.getter
212
+ def table(self) -> Optional[str]:
213
+ """
214
+ Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
98
215
 
99
216
  - - -
100
217
  """
101
- return pulumi.get(self, "dataset")
218
+ return pulumi.get(self, "table")
102
219
 
103
220
 
104
221
  @pulumi.output_type
@@ -254,7 +371,9 @@ class ListingRestrictedExportConfig(dict):
254
371
  @staticmethod
255
372
  def __key_warning(key: str):
256
373
  suggest = None
257
- if key == "restrictQueryResult":
374
+ if key == "restrictDirectTableAccess":
375
+ suggest = "restrict_direct_table_access"
376
+ elif key == "restrictQueryResult":
258
377
  suggest = "restrict_query_result"
259
378
 
260
379
  if suggest:
@@ -270,13 +389,18 @@ class ListingRestrictedExportConfig(dict):
270
389
 
271
390
  def __init__(__self__, *,
272
391
  enabled: Optional[bool] = None,
392
+ restrict_direct_table_access: Optional[bool] = None,
273
393
  restrict_query_result: Optional[bool] = None):
274
394
  """
275
395
  :param bool enabled: If true, enable restricted export.
396
+ :param bool restrict_direct_table_access: (Output)
397
+ If true, restrict direct table access(read api/tabledata.list) on linked table.
276
398
  :param bool restrict_query_result: If true, restrict export of query result derived from restricted linked dataset table.
277
399
  """
278
400
  if enabled is not None:
279
401
  pulumi.set(__self__, "enabled", enabled)
402
+ if restrict_direct_table_access is not None:
403
+ pulumi.set(__self__, "restrict_direct_table_access", restrict_direct_table_access)
280
404
  if restrict_query_result is not None:
281
405
  pulumi.set(__self__, "restrict_query_result", restrict_query_result)
282
406
 
@@ -288,6 +412,15 @@ class ListingRestrictedExportConfig(dict):
288
412
  """
289
413
  return pulumi.get(self, "enabled")
290
414
 
415
+ @property
416
+ @pulumi.getter(name="restrictDirectTableAccess")
417
+ def restrict_direct_table_access(self) -> Optional[bool]:
418
+ """
419
+ (Output)
420
+ If true, restrict direct table access(read api/tabledata.list) on linked table.
421
+ """
422
+ return pulumi.get(self, "restrict_direct_table_access")
423
+
291
424
  @property
292
425
  @pulumi.getter(name="restrictQueryResult")
293
426
  def restrict_query_result(self) -> Optional[bool]:
@@ -714,17 +714,25 @@ if not MYPY:
714
714
  """
715
715
  The name of the column family.
716
716
  """
717
+ type: NotRequired[pulumi.Input[str]]
718
+ """
719
+ The type of the column family.
720
+ """
717
721
  elif False:
718
722
  TableColumnFamilyArgsDict: TypeAlias = Mapping[str, Any]
719
723
 
720
724
  @pulumi.input_type
721
725
  class TableColumnFamilyArgs:
722
726
  def __init__(__self__, *,
723
- family: pulumi.Input[str]):
727
+ family: pulumi.Input[str],
728
+ type: Optional[pulumi.Input[str]] = None):
724
729
  """
725
730
  :param pulumi.Input[str] family: The name of the column family.
731
+ :param pulumi.Input[str] type: The type of the column family.
726
732
  """
727
733
  pulumi.set(__self__, "family", family)
734
+ if type is not None:
735
+ pulumi.set(__self__, "type", type)
728
736
 
729
737
  @property
730
738
  @pulumi.getter
@@ -738,6 +746,18 @@ class TableColumnFamilyArgs:
738
746
  def family(self, value: pulumi.Input[str]):
739
747
  pulumi.set(self, "family", value)
740
748
 
749
+ @property
750
+ @pulumi.getter
751
+ def type(self) -> Optional[pulumi.Input[str]]:
752
+ """
753
+ The type of the column family.
754
+ """
755
+ return pulumi.get(self, "type")
756
+
757
+ @type.setter
758
+ def type(self, value: Optional[pulumi.Input[str]]):
759
+ pulumi.set(self, "type", value)
760
+
741
761
 
742
762
  if not MYPY:
743
763
  class TableIamBindingConditionArgsDict(TypedDict):
@@ -532,11 +532,15 @@ class TableAutomatedBackupPolicy(dict):
532
532
  @pulumi.output_type
533
533
  class TableColumnFamily(dict):
534
534
  def __init__(__self__, *,
535
- family: str):
535
+ family: str,
536
+ type: Optional[str] = None):
536
537
  """
537
538
  :param str family: The name of the column family.
539
+ :param str type: The type of the column family.
538
540
  """
539
541
  pulumi.set(__self__, "family", family)
542
+ if type is not None:
543
+ pulumi.set(__self__, "type", type)
540
544
 
541
545
  @property
542
546
  @pulumi.getter
@@ -546,6 +550,14 @@ class TableColumnFamily(dict):
546
550
  """
547
551
  return pulumi.get(self, "family")
548
552
 
553
+ @property
554
+ @pulumi.getter
555
+ def type(self) -> Optional[str]:
556
+ """
557
+ The type of the column family.
558
+ """
559
+ return pulumi.get(self, "type")
560
+
549
561
 
550
562
  @pulumi.output_type
551
563
  class TableIamBindingCondition(dict):
@@ -356,6 +356,23 @@ class Table(pulumi.CustomResource):
356
356
  },
357
357
  {
358
358
  "family": "family-second",
359
+ "type": "intsum",
360
+ },
361
+ {
362
+ "family": "family-third",
363
+ "type": \"\"\" {
364
+ \\x09\\x09\\x09\\x09\\x09"aggregateType": {
365
+ \\x09\\x09\\x09\\x09\\x09\\x09"max": {},
366
+ \\x09\\x09\\x09\\x09\\x09\\x09"inputType": {
367
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09"int64Type": {
368
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09"encoding": {
369
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09"bigEndianBytes": {}
370
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09}
371
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09}
372
+ \\x09\\x09\\x09\\x09\\x09\\x09}
373
+ \\x09\\x09\\x09\\x09\\x09}
374
+ \\x09\\x09\\x09\\x09}
375
+ \"\"\",
359
376
  },
360
377
  ],
361
378
  change_stream_retention="24h0m0s",
@@ -446,6 +463,23 @@ class Table(pulumi.CustomResource):
446
463
  },
447
464
  {
448
465
  "family": "family-second",
466
+ "type": "intsum",
467
+ },
468
+ {
469
+ "family": "family-third",
470
+ "type": \"\"\" {
471
+ \\x09\\x09\\x09\\x09\\x09"aggregateType": {
472
+ \\x09\\x09\\x09\\x09\\x09\\x09"max": {},
473
+ \\x09\\x09\\x09\\x09\\x09\\x09"inputType": {
474
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09"int64Type": {
475
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09"encoding": {
476
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09"bigEndianBytes": {}
477
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09\\x09}
478
+ \\x09\\x09\\x09\\x09\\x09\\x09\\x09}
479
+ \\x09\\x09\\x09\\x09\\x09\\x09}
480
+ \\x09\\x09\\x09\\x09\\x09}
481
+ \\x09\\x09\\x09\\x09}
482
+ \"\"\",
449
483
  },
450
484
  ],
451
485
  change_stream_retention="24h0m0s",
@@ -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
+ ...