pulumi-gcp 7.30.2__py3-none-any.whl → 7.31.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.
- pulumi_gcp/__init__.py +40 -0
- pulumi_gcp/applicationintegration/auth_config.py +2 -2
- pulumi_gcp/bigquery/reservation_assignment.py +48 -30
- pulumi_gcp/certificateauthority/certificate_template.py +2 -2
- pulumi_gcp/certificatemanager/_inputs.py +33 -0
- pulumi_gcp/certificatemanager/outputs.py +36 -0
- pulumi_gcp/certificatemanager/trust_config.py +107 -0
- pulumi_gcp/compute/_inputs.py +3 -6
- pulumi_gcp/compute/ca_external_account_key.py +2 -2
- pulumi_gcp/compute/get_health_check.py +11 -1
- pulumi_gcp/compute/global_forwarding_rule.py +2 -4
- pulumi_gcp/compute/health_check.py +124 -0
- pulumi_gcp/compute/instance.py +14 -14
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/outputs.py +4 -8
- pulumi_gcp/compute/region_network_endpoint.py +2 -2
- pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/subnetwork.py +2 -2
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +3 -3
- pulumi_gcp/container/outputs.py +4 -4
- pulumi_gcp/containeranalysis/note.py +2 -2
- pulumi_gcp/dataloss/_inputs.py +3 -0
- pulumi_gcp/dataloss/outputs.py +2 -0
- pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
- pulumi_gcp/dataplex/_inputs.py +56 -0
- pulumi_gcp/dataplex/datascan.py +12 -0
- pulumi_gcp/dataplex/outputs.py +52 -0
- pulumi_gcp/filestore/backup.py +2 -2
- pulumi_gcp/filestore/instance.py +2 -2
- pulumi_gcp/filestore/snapshot.py +2 -2
- pulumi_gcp/gkehub/_inputs.py +20 -0
- pulumi_gcp/gkehub/outputs.py +12 -0
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/crypto_key.py +7 -7
- pulumi_gcp/kms/get_crypto_keys.py +143 -0
- pulumi_gcp/kms/get_key_rings.py +119 -0
- pulumi_gcp/kms/outputs.py +270 -0
- pulumi_gcp/logging/_inputs.py +12 -12
- pulumi_gcp/logging/folder_bucket_config.py +6 -6
- pulumi_gcp/logging/organization_bucket_config.py +6 -6
- pulumi_gcp/logging/outputs.py +8 -8
- pulumi_gcp/logging/project_bucket_config.py +6 -6
- pulumi_gcp/looker/instance.py +2 -2
- pulumi_gcp/monitoring/custom_service.py +2 -2
- pulumi_gcp/monitoring/generic_service.py +2 -2
- pulumi_gcp/monitoring/notification_channel.py +2 -2
- pulumi_gcp/monitoring/slo.py +2 -2
- pulumi_gcp/netapp/storage_pool.py +132 -53
- pulumi_gcp/netapp/volume.py +60 -4
- pulumi_gcp/networksecurity/address_group.py +85 -1
- pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
- pulumi_gcp/networksecurity/security_profile_group.py +2 -2
- pulumi_gcp/orgpolicy/_inputs.py +40 -10
- pulumi_gcp/orgpolicy/outputs.py +28 -8
- pulumi_gcp/orgpolicy/policy.py +52 -35
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/_inputs.py +3 -3
- pulumi_gcp/pubsub/outputs.py +4 -4
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securesourcemanager/__init__.py +5 -0
- pulumi_gcp/securesourcemanager/_inputs.py +284 -0
- pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
- pulumi_gcp/securesourcemanager/outputs.py +202 -0
- pulumi_gcp/securesourcemanager/repository.py +715 -0
- pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
- pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
- pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/_inputs.py +93 -0
- pulumi_gcp/securitycenter/outputs.py +59 -0
- pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
- pulumi_gcp/securityposture/posture_deployment.py +0 -78
- pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
- pulumi_gcp/vertex/_inputs.py +21 -1
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
- pulumi_gcp/vertex/outputs.py +15 -1
- pulumi_gcp/workstations/_inputs.py +33 -1
- pulumi_gcp/workstations/outputs.py +23 -1
- pulumi_gcp/workstations/workstation_config.py +18 -0
- {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/RECORD +86 -78
- {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.30.2.dist-info → pulumi_gcp-7.31.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py
CHANGED
@@ -6895,6 +6895,38 @@ _utilities.register(
|
|
6895
6895
|
"gcp:securesourcemanager/instanceIamPolicy:InstanceIamPolicy": "InstanceIamPolicy"
|
6896
6896
|
}
|
6897
6897
|
},
|
6898
|
+
{
|
6899
|
+
"pkg": "gcp",
|
6900
|
+
"mod": "securesourcemanager/repository",
|
6901
|
+
"fqn": "pulumi_gcp.securesourcemanager",
|
6902
|
+
"classes": {
|
6903
|
+
"gcp:securesourcemanager/repository:Repository": "Repository"
|
6904
|
+
}
|
6905
|
+
},
|
6906
|
+
{
|
6907
|
+
"pkg": "gcp",
|
6908
|
+
"mod": "securesourcemanager/repositoryIamBinding",
|
6909
|
+
"fqn": "pulumi_gcp.securesourcemanager",
|
6910
|
+
"classes": {
|
6911
|
+
"gcp:securesourcemanager/repositoryIamBinding:RepositoryIamBinding": "RepositoryIamBinding"
|
6912
|
+
}
|
6913
|
+
},
|
6914
|
+
{
|
6915
|
+
"pkg": "gcp",
|
6916
|
+
"mod": "securesourcemanager/repositoryIamMember",
|
6917
|
+
"fqn": "pulumi_gcp.securesourcemanager",
|
6918
|
+
"classes": {
|
6919
|
+
"gcp:securesourcemanager/repositoryIamMember:RepositoryIamMember": "RepositoryIamMember"
|
6920
|
+
}
|
6921
|
+
},
|
6922
|
+
{
|
6923
|
+
"pkg": "gcp",
|
6924
|
+
"mod": "securesourcemanager/repositoryIamPolicy",
|
6925
|
+
"fqn": "pulumi_gcp.securesourcemanager",
|
6926
|
+
"classes": {
|
6927
|
+
"gcp:securesourcemanager/repositoryIamPolicy:RepositoryIamPolicy": "RepositoryIamPolicy"
|
6928
|
+
}
|
6929
|
+
},
|
6898
6930
|
{
|
6899
6931
|
"pkg": "gcp",
|
6900
6932
|
"mod": "securitycenter/eventThreatDetectionCustomModule",
|
@@ -7031,6 +7063,14 @@ _utilities.register(
|
|
7031
7063
|
"gcp:securitycenter/sourceIamPolicy:SourceIamPolicy": "SourceIamPolicy"
|
7032
7064
|
}
|
7033
7065
|
},
|
7066
|
+
{
|
7067
|
+
"pkg": "gcp",
|
7068
|
+
"mod": "securitycenter/v2OrganizationNotificationConfig",
|
7069
|
+
"fqn": "pulumi_gcp.securitycenter",
|
7070
|
+
"classes": {
|
7071
|
+
"gcp:securitycenter/v2OrganizationNotificationConfig:V2OrganizationNotificationConfig": "V2OrganizationNotificationConfig"
|
7072
|
+
}
|
7073
|
+
},
|
7034
7074
|
{
|
7035
7075
|
"pkg": "gcp",
|
7036
7076
|
"mod": "securityposture/posture",
|
@@ -562,8 +562,8 @@ class AuthConfig(pulumi.CustomResource):
|
|
562
562
|
|
563
563
|
* [API documentation](https://cloud.google.com/application-integration/docs/reference/rest/v1/projects.locations.authConfigs)
|
564
564
|
* How-to Guides
|
565
|
-
* [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
|
566
565
|
* [Manage authentication profiles](https://cloud.google.com/application-integration/docs/configure-authentication-profiles)
|
566
|
+
* [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
|
567
567
|
|
568
568
|
## Example Usage
|
569
569
|
|
@@ -634,8 +634,8 @@ class AuthConfig(pulumi.CustomResource):
|
|
634
634
|
|
635
635
|
* [API documentation](https://cloud.google.com/application-integration/docs/reference/rest/v1/projects.locations.authConfigs)
|
636
636
|
* How-to Guides
|
637
|
-
* [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
|
638
637
|
* [Manage authentication profiles](https://cloud.google.com/application-integration/docs/configure-authentication-profiles)
|
638
|
+
* [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
|
639
639
|
|
640
640
|
## Example Usage
|
641
641
|
|
@@ -31,10 +31,10 @@ class ReservationAssignmentArgs:
|
|
31
31
|
:param pulumi.Input[str] reservation: The reservation for the resource
|
32
32
|
|
33
33
|
|
34
|
-
|
35
34
|
- - -
|
36
35
|
:param pulumi.Input[str] location: The location for the resource
|
37
|
-
:param pulumi.Input[str] project: The project
|
36
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
37
|
+
If it is not provided, the provider project is used.
|
38
38
|
"""
|
39
39
|
pulumi.set(__self__, "assignee", assignee)
|
40
40
|
pulumi.set(__self__, "job_type", job_type)
|
@@ -75,7 +75,6 @@ class ReservationAssignmentArgs:
|
|
75
75
|
The reservation for the resource
|
76
76
|
|
77
77
|
|
78
|
-
|
79
78
|
- - -
|
80
79
|
"""
|
81
80
|
return pulumi.get(self, "reservation")
|
@@ -100,7 +99,8 @@ class ReservationAssignmentArgs:
|
|
100
99
|
@pulumi.getter
|
101
100
|
def project(self) -> Optional[pulumi.Input[str]]:
|
102
101
|
"""
|
103
|
-
The project
|
102
|
+
The ID of the project in which the resource belongs.
|
103
|
+
If it is not provided, the provider project is used.
|
104
104
|
"""
|
105
105
|
return pulumi.get(self, "project")
|
106
106
|
|
@@ -125,13 +125,14 @@ class _ReservationAssignmentState:
|
|
125
125
|
:param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
|
126
126
|
:param pulumi.Input[str] location: The location for the resource
|
127
127
|
:param pulumi.Input[str] name: Output only. The resource name of the assignment.
|
128
|
-
:param pulumi.Input[str] project: The project
|
128
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
129
|
+
If it is not provided, the provider project is used.
|
129
130
|
:param pulumi.Input[str] reservation: The reservation for the resource
|
130
131
|
|
131
132
|
|
132
|
-
|
133
133
|
- - -
|
134
|
-
:param pulumi.Input[str] state: Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
134
|
+
:param pulumi.Input[str] state: Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
135
|
+
Possible values: STATE_UNSPECIFIED, PENDING, ACTIVE
|
135
136
|
"""
|
136
137
|
if assignee is not None:
|
137
138
|
pulumi.set(__self__, "assignee", assignee)
|
@@ -200,7 +201,8 @@ class _ReservationAssignmentState:
|
|
200
201
|
@pulumi.getter
|
201
202
|
def project(self) -> Optional[pulumi.Input[str]]:
|
202
203
|
"""
|
203
|
-
The project
|
204
|
+
The ID of the project in which the resource belongs.
|
205
|
+
If it is not provided, the provider project is used.
|
204
206
|
"""
|
205
207
|
return pulumi.get(self, "project")
|
206
208
|
|
@@ -215,7 +217,6 @@ class _ReservationAssignmentState:
|
|
215
217
|
The reservation for the resource
|
216
218
|
|
217
219
|
|
218
|
-
|
219
220
|
- - -
|
220
221
|
"""
|
221
222
|
return pulumi.get(self, "reservation")
|
@@ -228,7 +229,8 @@ class _ReservationAssignmentState:
|
|
228
229
|
@pulumi.getter
|
229
230
|
def state(self) -> Optional[pulumi.Input[str]]:
|
230
231
|
"""
|
231
|
-
Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
232
|
+
Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
233
|
+
Possible values: STATE_UNSPECIFIED, PENDING, ACTIVE
|
232
234
|
"""
|
233
235
|
return pulumi.get(self, "state")
|
234
236
|
|
@@ -249,22 +251,29 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
249
251
|
reservation: Optional[pulumi.Input[str]] = None,
|
250
252
|
__props__=None):
|
251
253
|
"""
|
252
|
-
The BigqueryReservation Assignment resource
|
254
|
+
The BigqueryReservation Assignment resource.
|
255
|
+
|
256
|
+
To get more information about ReservationAssignment, see:
|
257
|
+
|
258
|
+
* [API documentation](https://cloud.google.com/bigquery/docs/reference/reservations/rest/v1/projects.locations.reservations.assignments)
|
259
|
+
* How-to Guides
|
260
|
+
* [Work with reservation assignments](https://cloud.google.com/bigquery/docs/reservations-assignments)
|
253
261
|
|
254
262
|
## Example Usage
|
255
263
|
|
256
|
-
### Basic
|
264
|
+
### Bigquery Reservation Assignment Basic
|
265
|
+
|
257
266
|
```python
|
258
267
|
import pulumi
|
259
268
|
import pulumi_gcp as gcp
|
260
269
|
|
261
270
|
basic = gcp.bigquery.Reservation("basic",
|
262
|
-
name="
|
271
|
+
name="example-reservation",
|
263
272
|
project="my-project-name",
|
264
273
|
location="us-central1",
|
265
274
|
slot_capacity=0,
|
266
275
|
ignore_idle_slots=False)
|
267
|
-
|
276
|
+
assignment = gcp.bigquery.ReservationAssignment("assignment",
|
268
277
|
assignee="projects/my-project-name",
|
269
278
|
job_type="PIPELINE",
|
270
279
|
reservation=basic.id)
|
@@ -272,7 +281,7 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
272
281
|
|
273
282
|
## Import
|
274
283
|
|
275
|
-
|
284
|
+
ReservationAssignment can be imported using any of these accepted formats:
|
276
285
|
|
277
286
|
* `projects/{{project}}/locations/{{location}}/reservations/{{reservation}}/assignments/{{name}}`
|
278
287
|
|
@@ -280,7 +289,7 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
280
289
|
|
281
290
|
* `{{location}}/{{reservation}}/{{name}}`
|
282
291
|
|
283
|
-
When using the `pulumi import` command,
|
292
|
+
When using the `pulumi import` command, ReservationAssignment can be imported using one of the formats above. For example:
|
284
293
|
|
285
294
|
```sh
|
286
295
|
$ pulumi import gcp:bigquery/reservationAssignment:ReservationAssignment default projects/{{project}}/locations/{{location}}/reservations/{{reservation}}/assignments/{{name}}
|
@@ -299,11 +308,11 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
299
308
|
:param pulumi.Input[str] assignee: The resource which will use the reservation. E.g. projects/myproject, folders/123, organizations/456.
|
300
309
|
:param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
|
301
310
|
:param pulumi.Input[str] location: The location for the resource
|
302
|
-
:param pulumi.Input[str] project: The project
|
311
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
312
|
+
If it is not provided, the provider project is used.
|
303
313
|
:param pulumi.Input[str] reservation: The reservation for the resource
|
304
314
|
|
305
315
|
|
306
|
-
|
307
316
|
- - -
|
308
317
|
"""
|
309
318
|
...
|
@@ -313,22 +322,29 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
313
322
|
args: ReservationAssignmentArgs,
|
314
323
|
opts: Optional[pulumi.ResourceOptions] = None):
|
315
324
|
"""
|
316
|
-
The BigqueryReservation Assignment resource
|
325
|
+
The BigqueryReservation Assignment resource.
|
326
|
+
|
327
|
+
To get more information about ReservationAssignment, see:
|
328
|
+
|
329
|
+
* [API documentation](https://cloud.google.com/bigquery/docs/reference/reservations/rest/v1/projects.locations.reservations.assignments)
|
330
|
+
* How-to Guides
|
331
|
+
* [Work with reservation assignments](https://cloud.google.com/bigquery/docs/reservations-assignments)
|
317
332
|
|
318
333
|
## Example Usage
|
319
334
|
|
320
|
-
### Basic
|
335
|
+
### Bigquery Reservation Assignment Basic
|
336
|
+
|
321
337
|
```python
|
322
338
|
import pulumi
|
323
339
|
import pulumi_gcp as gcp
|
324
340
|
|
325
341
|
basic = gcp.bigquery.Reservation("basic",
|
326
|
-
name="
|
342
|
+
name="example-reservation",
|
327
343
|
project="my-project-name",
|
328
344
|
location="us-central1",
|
329
345
|
slot_capacity=0,
|
330
346
|
ignore_idle_slots=False)
|
331
|
-
|
347
|
+
assignment = gcp.bigquery.ReservationAssignment("assignment",
|
332
348
|
assignee="projects/my-project-name",
|
333
349
|
job_type="PIPELINE",
|
334
350
|
reservation=basic.id)
|
@@ -336,7 +352,7 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
336
352
|
|
337
353
|
## Import
|
338
354
|
|
339
|
-
|
355
|
+
ReservationAssignment can be imported using any of these accepted formats:
|
340
356
|
|
341
357
|
* `projects/{{project}}/locations/{{location}}/reservations/{{reservation}}/assignments/{{name}}`
|
342
358
|
|
@@ -344,7 +360,7 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
344
360
|
|
345
361
|
* `{{location}}/{{reservation}}/{{name}}`
|
346
362
|
|
347
|
-
When using the `pulumi import` command,
|
363
|
+
When using the `pulumi import` command, ReservationAssignment can be imported using one of the formats above. For example:
|
348
364
|
|
349
365
|
```sh
|
350
366
|
$ pulumi import gcp:bigquery/reservationAssignment:ReservationAssignment default projects/{{project}}/locations/{{location}}/reservations/{{reservation}}/assignments/{{name}}
|
@@ -428,13 +444,14 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
428
444
|
:param pulumi.Input[str] job_type: Types of job, which could be specified when using the reservation. Possible values: JOB_TYPE_UNSPECIFIED, PIPELINE, QUERY
|
429
445
|
:param pulumi.Input[str] location: The location for the resource
|
430
446
|
:param pulumi.Input[str] name: Output only. The resource name of the assignment.
|
431
|
-
:param pulumi.Input[str] project: The project
|
447
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
448
|
+
If it is not provided, the provider project is used.
|
432
449
|
:param pulumi.Input[str] reservation: The reservation for the resource
|
433
450
|
|
434
451
|
|
435
|
-
|
436
452
|
- - -
|
437
|
-
:param pulumi.Input[str] state: Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
453
|
+
:param pulumi.Input[str] state: Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
454
|
+
Possible values: STATE_UNSPECIFIED, PENDING, ACTIVE
|
438
455
|
"""
|
439
456
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
440
457
|
|
@@ -485,7 +502,8 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
485
502
|
@pulumi.getter
|
486
503
|
def project(self) -> pulumi.Output[str]:
|
487
504
|
"""
|
488
|
-
The project
|
505
|
+
The ID of the project in which the resource belongs.
|
506
|
+
If it is not provided, the provider project is used.
|
489
507
|
"""
|
490
508
|
return pulumi.get(self, "project")
|
491
509
|
|
@@ -496,7 +514,6 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
496
514
|
The reservation for the resource
|
497
515
|
|
498
516
|
|
499
|
-
|
500
517
|
- - -
|
501
518
|
"""
|
502
519
|
return pulumi.get(self, "reservation")
|
@@ -505,7 +522,8 @@ class ReservationAssignment(pulumi.CustomResource):
|
|
505
522
|
@pulumi.getter
|
506
523
|
def state(self) -> pulumi.Output[str]:
|
507
524
|
"""
|
508
|
-
Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
525
|
+
Assignment will remain in PENDING state if no active capacity commitment is present. It will become ACTIVE when some capacity commitment becomes active.
|
526
|
+
Possible values: STATE_UNSPECIFIED, PENDING, ACTIVE
|
509
527
|
"""
|
510
528
|
return pulumi.get(self, "state")
|
511
529
|
|
@@ -445,9 +445,9 @@ class CertificateTemplate(pulumi.CustomResource):
|
|
445
445
|
|
446
446
|
* [API documentation](https://cloud.google.com/certificate-authority-service/docs/reference/rest)
|
447
447
|
* How-to Guides
|
448
|
+
* [Common configurations and Certificate Profiles](https://cloud.google.com/certificate-authority-service/docs/certificate-profile)
|
448
449
|
* [Official Documentation](https://cloud.google.com/certificate-authority-service)
|
449
450
|
* [Understanding Certificate Templates](https://cloud.google.com/certificate-authority-service/docs/certificate-template)
|
450
|
-
* [Common configurations and Certificate Profiles](https://cloud.google.com/certificate-authority-service/docs/certificate-profile)
|
451
451
|
|
452
452
|
## Example Usage
|
453
453
|
|
@@ -594,9 +594,9 @@ class CertificateTemplate(pulumi.CustomResource):
|
|
594
594
|
|
595
595
|
* [API documentation](https://cloud.google.com/certificate-authority-service/docs/reference/rest)
|
596
596
|
* How-to Guides
|
597
|
+
* [Common configurations and Certificate Profiles](https://cloud.google.com/certificate-authority-service/docs/certificate-profile)
|
597
598
|
* [Official Documentation](https://cloud.google.com/certificate-authority-service)
|
598
599
|
* [Understanding Certificate Templates](https://cloud.google.com/certificate-authority-service/docs/certificate-template)
|
599
|
-
* [Common configurations and Certificate Profiles](https://cloud.google.com/certificate-authority-service/docs/certificate-profile)
|
600
600
|
|
601
601
|
## Example Usage
|
602
602
|
|
@@ -33,6 +33,8 @@ __all__ = [
|
|
33
33
|
'CertificateSelfManagedArgsDict',
|
34
34
|
'DnsAuthorizationDnsResourceRecordArgs',
|
35
35
|
'DnsAuthorizationDnsResourceRecordArgsDict',
|
36
|
+
'TrustConfigAllowlistedCertificateArgs',
|
37
|
+
'TrustConfigAllowlistedCertificateArgsDict',
|
36
38
|
'TrustConfigTrustStoreArgs',
|
37
39
|
'TrustConfigTrustStoreArgsDict',
|
38
40
|
'TrustConfigTrustStoreIntermediateCaArgs',
|
@@ -828,6 +830,37 @@ class DnsAuthorizationDnsResourceRecordArgs:
|
|
828
830
|
pulumi.set(self, "type", value)
|
829
831
|
|
830
832
|
|
833
|
+
if not MYPY:
|
834
|
+
class TrustConfigAllowlistedCertificateArgsDict(TypedDict):
|
835
|
+
pem_certificate: pulumi.Input[str]
|
836
|
+
"""
|
837
|
+
PEM certificate that is allowlisted. The certificate can be up to 5k bytes, and must be a parseable X.509 certificate.
|
838
|
+
"""
|
839
|
+
elif False:
|
840
|
+
TrustConfigAllowlistedCertificateArgsDict: TypeAlias = Mapping[str, Any]
|
841
|
+
|
842
|
+
@pulumi.input_type
|
843
|
+
class TrustConfigAllowlistedCertificateArgs:
|
844
|
+
def __init__(__self__, *,
|
845
|
+
pem_certificate: pulumi.Input[str]):
|
846
|
+
"""
|
847
|
+
:param pulumi.Input[str] pem_certificate: PEM certificate that is allowlisted. The certificate can be up to 5k bytes, and must be a parseable X.509 certificate.
|
848
|
+
"""
|
849
|
+
pulumi.set(__self__, "pem_certificate", pem_certificate)
|
850
|
+
|
851
|
+
@property
|
852
|
+
@pulumi.getter(name="pemCertificate")
|
853
|
+
def pem_certificate(self) -> pulumi.Input[str]:
|
854
|
+
"""
|
855
|
+
PEM certificate that is allowlisted. The certificate can be up to 5k bytes, and must be a parseable X.509 certificate.
|
856
|
+
"""
|
857
|
+
return pulumi.get(self, "pem_certificate")
|
858
|
+
|
859
|
+
@pem_certificate.setter
|
860
|
+
def pem_certificate(self, value: pulumi.Input[str]):
|
861
|
+
pulumi.set(self, "pem_certificate", value)
|
862
|
+
|
863
|
+
|
831
864
|
if not MYPY:
|
832
865
|
class TrustConfigTrustStoreArgsDict(TypedDict):
|
833
866
|
intermediate_cas: NotRequired[pulumi.Input[Sequence[pulumi.Input['TrustConfigTrustStoreIntermediateCaArgsDict']]]]
|
@@ -25,6 +25,7 @@ __all__ = [
|
|
25
25
|
'CertificateMapGclbTargetIpConfig',
|
26
26
|
'CertificateSelfManaged',
|
27
27
|
'DnsAuthorizationDnsResourceRecord',
|
28
|
+
'TrustConfigAllowlistedCertificate',
|
28
29
|
'TrustConfigTrustStore',
|
29
30
|
'TrustConfigTrustStoreIntermediateCa',
|
30
31
|
'TrustConfigTrustStoreTrustAnchor',
|
@@ -643,6 +644,41 @@ class DnsAuthorizationDnsResourceRecord(dict):
|
|
643
644
|
return pulumi.get(self, "type")
|
644
645
|
|
645
646
|
|
647
|
+
@pulumi.output_type
|
648
|
+
class TrustConfigAllowlistedCertificate(dict):
|
649
|
+
@staticmethod
|
650
|
+
def __key_warning(key: str):
|
651
|
+
suggest = None
|
652
|
+
if key == "pemCertificate":
|
653
|
+
suggest = "pem_certificate"
|
654
|
+
|
655
|
+
if suggest:
|
656
|
+
pulumi.log.warn(f"Key '{key}' not found in TrustConfigAllowlistedCertificate. Access the value via the '{suggest}' property getter instead.")
|
657
|
+
|
658
|
+
def __getitem__(self, key: str) -> Any:
|
659
|
+
TrustConfigAllowlistedCertificate.__key_warning(key)
|
660
|
+
return super().__getitem__(key)
|
661
|
+
|
662
|
+
def get(self, key: str, default = None) -> Any:
|
663
|
+
TrustConfigAllowlistedCertificate.__key_warning(key)
|
664
|
+
return super().get(key, default)
|
665
|
+
|
666
|
+
def __init__(__self__, *,
|
667
|
+
pem_certificate: str):
|
668
|
+
"""
|
669
|
+
:param str pem_certificate: PEM certificate that is allowlisted. The certificate can be up to 5k bytes, and must be a parseable X.509 certificate.
|
670
|
+
"""
|
671
|
+
pulumi.set(__self__, "pem_certificate", pem_certificate)
|
672
|
+
|
673
|
+
@property
|
674
|
+
@pulumi.getter(name="pemCertificate")
|
675
|
+
def pem_certificate(self) -> str:
|
676
|
+
"""
|
677
|
+
PEM certificate that is allowlisted. The certificate can be up to 5k bytes, and must be a parseable X.509 certificate.
|
678
|
+
"""
|
679
|
+
return pulumi.get(self, "pem_certificate")
|
680
|
+
|
681
|
+
|
646
682
|
@pulumi.output_type
|
647
683
|
class TrustConfigTrustStore(dict):
|
648
684
|
@staticmethod
|
@@ -22,6 +22,7 @@ __all__ = ['TrustConfigArgs', 'TrustConfig']
|
|
22
22
|
class TrustConfigArgs:
|
23
23
|
def __init__(__self__, *,
|
24
24
|
location: pulumi.Input[str],
|
25
|
+
allowlisted_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]]] = None,
|
25
26
|
description: Optional[pulumi.Input[str]] = None,
|
26
27
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
27
28
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -33,6 +34,9 @@ class TrustConfigArgs:
|
|
33
34
|
|
34
35
|
|
35
36
|
- - -
|
37
|
+
:param pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]] allowlisted_certificates: Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
38
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
39
|
+
Structure is documented below.
|
36
40
|
:param pulumi.Input[str] description: One or more paragraphs of text description of a trust config.
|
37
41
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the trust config.
|
38
42
|
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
@@ -45,6 +49,8 @@ class TrustConfigArgs:
|
|
45
49
|
Structure is documented below.
|
46
50
|
"""
|
47
51
|
pulumi.set(__self__, "location", location)
|
52
|
+
if allowlisted_certificates is not None:
|
53
|
+
pulumi.set(__self__, "allowlisted_certificates", allowlisted_certificates)
|
48
54
|
if description is not None:
|
49
55
|
pulumi.set(__self__, "description", description)
|
50
56
|
if labels is not None:
|
@@ -71,6 +77,20 @@ class TrustConfigArgs:
|
|
71
77
|
def location(self, value: pulumi.Input[str]):
|
72
78
|
pulumi.set(self, "location", value)
|
73
79
|
|
80
|
+
@property
|
81
|
+
@pulumi.getter(name="allowlistedCertificates")
|
82
|
+
def allowlisted_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]]]:
|
83
|
+
"""
|
84
|
+
Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
85
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
86
|
+
Structure is documented below.
|
87
|
+
"""
|
88
|
+
return pulumi.get(self, "allowlisted_certificates")
|
89
|
+
|
90
|
+
@allowlisted_certificates.setter
|
91
|
+
def allowlisted_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]]]):
|
92
|
+
pulumi.set(self, "allowlisted_certificates", value)
|
93
|
+
|
74
94
|
@property
|
75
95
|
@pulumi.getter
|
76
96
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -140,6 +160,7 @@ class TrustConfigArgs:
|
|
140
160
|
@pulumi.input_type
|
141
161
|
class _TrustConfigState:
|
142
162
|
def __init__(__self__, *,
|
163
|
+
allowlisted_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]]] = None,
|
143
164
|
create_time: Optional[pulumi.Input[str]] = None,
|
144
165
|
description: Optional[pulumi.Input[str]] = None,
|
145
166
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -152,6 +173,9 @@ class _TrustConfigState:
|
|
152
173
|
update_time: Optional[pulumi.Input[str]] = None):
|
153
174
|
"""
|
154
175
|
Input properties used for looking up and filtering TrustConfig resources.
|
176
|
+
:param pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]] allowlisted_certificates: Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
177
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
178
|
+
Structure is documented below.
|
155
179
|
:param pulumi.Input[str] create_time: The creation timestamp of a TrustConfig.
|
156
180
|
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
157
181
|
Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
@@ -176,6 +200,8 @@ class _TrustConfigState:
|
|
176
200
|
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
177
201
|
Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
178
202
|
"""
|
203
|
+
if allowlisted_certificates is not None:
|
204
|
+
pulumi.set(__self__, "allowlisted_certificates", allowlisted_certificates)
|
179
205
|
if create_time is not None:
|
180
206
|
pulumi.set(__self__, "create_time", create_time)
|
181
207
|
if description is not None:
|
@@ -197,6 +223,20 @@ class _TrustConfigState:
|
|
197
223
|
if update_time is not None:
|
198
224
|
pulumi.set(__self__, "update_time", update_time)
|
199
225
|
|
226
|
+
@property
|
227
|
+
@pulumi.getter(name="allowlistedCertificates")
|
228
|
+
def allowlisted_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]]]:
|
229
|
+
"""
|
230
|
+
Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
231
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
232
|
+
Structure is documented below.
|
233
|
+
"""
|
234
|
+
return pulumi.get(self, "allowlisted_certificates")
|
235
|
+
|
236
|
+
@allowlisted_certificates.setter
|
237
|
+
def allowlisted_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TrustConfigAllowlistedCertificateArgs']]]]):
|
238
|
+
pulumi.set(self, "allowlisted_certificates", value)
|
239
|
+
|
200
240
|
@property
|
201
241
|
@pulumi.getter(name="createTime")
|
202
242
|
def create_time(self) -> Optional[pulumi.Input[str]]:
|
@@ -336,6 +376,7 @@ class TrustConfig(pulumi.CustomResource):
|
|
336
376
|
def __init__(__self__,
|
337
377
|
resource_name: str,
|
338
378
|
opts: Optional[pulumi.ResourceOptions] = None,
|
379
|
+
allowlisted_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TrustConfigAllowlistedCertificateArgs', 'TrustConfigAllowlistedCertificateArgsDict']]]]] = None,
|
339
380
|
description: Optional[pulumi.Input[str]] = None,
|
340
381
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
341
382
|
location: Optional[pulumi.Input[str]] = None,
|
@@ -377,6 +418,29 @@ class TrustConfig(pulumi.CustomResource):
|
|
377
418
|
"foo": "bar",
|
378
419
|
})
|
379
420
|
```
|
421
|
+
### Certificate Manager Trust Config Allowlisted Certificates
|
422
|
+
|
423
|
+
```python
|
424
|
+
import pulumi
|
425
|
+
import pulumi_gcp as gcp
|
426
|
+
import pulumi_std as std
|
427
|
+
|
428
|
+
default = gcp.certificatemanager.TrustConfig("default",
|
429
|
+
name="trust-config",
|
430
|
+
description="A sample trust config resource with allowlisted certificates",
|
431
|
+
location="global",
|
432
|
+
allowlisted_certificates=[
|
433
|
+
{
|
434
|
+
"pemCertificate": std.file(input="test-fixtures/cert.pem").result,
|
435
|
+
},
|
436
|
+
{
|
437
|
+
"pemCertificate": std.file(input="test-fixtures/cert2.pem").result,
|
438
|
+
},
|
439
|
+
],
|
440
|
+
labels={
|
441
|
+
"foo": "bar",
|
442
|
+
})
|
443
|
+
```
|
380
444
|
|
381
445
|
## Import
|
382
446
|
|
@@ -404,6 +468,9 @@ class TrustConfig(pulumi.CustomResource):
|
|
404
468
|
|
405
469
|
:param str resource_name: The name of the resource.
|
406
470
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
471
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['TrustConfigAllowlistedCertificateArgs', 'TrustConfigAllowlistedCertificateArgsDict']]]] allowlisted_certificates: Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
472
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
473
|
+
Structure is documented below.
|
407
474
|
:param pulumi.Input[str] description: One or more paragraphs of text description of a trust config.
|
408
475
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the trust config.
|
409
476
|
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
@@ -459,6 +526,29 @@ class TrustConfig(pulumi.CustomResource):
|
|
459
526
|
"foo": "bar",
|
460
527
|
})
|
461
528
|
```
|
529
|
+
### Certificate Manager Trust Config Allowlisted Certificates
|
530
|
+
|
531
|
+
```python
|
532
|
+
import pulumi
|
533
|
+
import pulumi_gcp as gcp
|
534
|
+
import pulumi_std as std
|
535
|
+
|
536
|
+
default = gcp.certificatemanager.TrustConfig("default",
|
537
|
+
name="trust-config",
|
538
|
+
description="A sample trust config resource with allowlisted certificates",
|
539
|
+
location="global",
|
540
|
+
allowlisted_certificates=[
|
541
|
+
{
|
542
|
+
"pemCertificate": std.file(input="test-fixtures/cert.pem").result,
|
543
|
+
},
|
544
|
+
{
|
545
|
+
"pemCertificate": std.file(input="test-fixtures/cert2.pem").result,
|
546
|
+
},
|
547
|
+
],
|
548
|
+
labels={
|
549
|
+
"foo": "bar",
|
550
|
+
})
|
551
|
+
```
|
462
552
|
|
463
553
|
## Import
|
464
554
|
|
@@ -499,6 +589,7 @@ class TrustConfig(pulumi.CustomResource):
|
|
499
589
|
def _internal_init(__self__,
|
500
590
|
resource_name: str,
|
501
591
|
opts: Optional[pulumi.ResourceOptions] = None,
|
592
|
+
allowlisted_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TrustConfigAllowlistedCertificateArgs', 'TrustConfigAllowlistedCertificateArgsDict']]]]] = None,
|
502
593
|
description: Optional[pulumi.Input[str]] = None,
|
503
594
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
504
595
|
location: Optional[pulumi.Input[str]] = None,
|
@@ -514,6 +605,7 @@ class TrustConfig(pulumi.CustomResource):
|
|
514
605
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
515
606
|
__props__ = TrustConfigArgs.__new__(TrustConfigArgs)
|
516
607
|
|
608
|
+
__props__.__dict__["allowlisted_certificates"] = allowlisted_certificates
|
517
609
|
__props__.__dict__["description"] = description
|
518
610
|
__props__.__dict__["labels"] = labels
|
519
611
|
if location is None and not opts.urn:
|
@@ -538,6 +630,7 @@ class TrustConfig(pulumi.CustomResource):
|
|
538
630
|
def get(resource_name: str,
|
539
631
|
id: pulumi.Input[str],
|
540
632
|
opts: Optional[pulumi.ResourceOptions] = None,
|
633
|
+
allowlisted_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TrustConfigAllowlistedCertificateArgs', 'TrustConfigAllowlistedCertificateArgsDict']]]]] = None,
|
541
634
|
create_time: Optional[pulumi.Input[str]] = None,
|
542
635
|
description: Optional[pulumi.Input[str]] = None,
|
543
636
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -555,6 +648,9 @@ class TrustConfig(pulumi.CustomResource):
|
|
555
648
|
:param str resource_name: The unique name of the resulting resource.
|
556
649
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
557
650
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
651
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['TrustConfigAllowlistedCertificateArgs', 'TrustConfigAllowlistedCertificateArgsDict']]]] allowlisted_certificates: Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
652
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
653
|
+
Structure is documented below.
|
558
654
|
:param pulumi.Input[str] create_time: The creation timestamp of a TrustConfig.
|
559
655
|
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
560
656
|
Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
@@ -583,6 +679,7 @@ class TrustConfig(pulumi.CustomResource):
|
|
583
679
|
|
584
680
|
__props__ = _TrustConfigState.__new__(_TrustConfigState)
|
585
681
|
|
682
|
+
__props__.__dict__["allowlisted_certificates"] = allowlisted_certificates
|
586
683
|
__props__.__dict__["create_time"] = create_time
|
587
684
|
__props__.__dict__["description"] = description
|
588
685
|
__props__.__dict__["effective_labels"] = effective_labels
|
@@ -595,6 +692,16 @@ class TrustConfig(pulumi.CustomResource):
|
|
595
692
|
__props__.__dict__["update_time"] = update_time
|
596
693
|
return TrustConfig(resource_name, opts=opts, __props__=__props__)
|
597
694
|
|
695
|
+
@property
|
696
|
+
@pulumi.getter(name="allowlistedCertificates")
|
697
|
+
def allowlisted_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.TrustConfigAllowlistedCertificate']]]:
|
698
|
+
"""
|
699
|
+
Allowlisted PEM-encoded certificates. A certificate matching an allowlisted certificate is always considered valid as long as
|
700
|
+
the certificate is parseable, proof of private key possession is established, and constraints on the certificate's SAN field are met.
|
701
|
+
Structure is documented below.
|
702
|
+
"""
|
703
|
+
return pulumi.get(self, "allowlisted_certificates")
|
704
|
+
|
598
705
|
@property
|
599
706
|
@pulumi.getter(name="createTime")
|
600
707
|
def create_time(self) -> pulumi.Output[str]:
|