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.
- pulumi_gcp/__init__.py +62 -0
- pulumi_gcp/alloydb/_inputs.py +94 -0
- pulumi_gcp/alloydb/cluster.py +94 -1
- pulumi_gcp/alloydb/outputs.py +79 -0
- pulumi_gcp/assuredworkloads/workload.py +135 -16
- pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
- pulumi_gcp/bigquery/__init__.py +1 -0
- pulumi_gcp/bigquery/_inputs.py +33 -0
- pulumi_gcp/bigquery/data_transfer_config.py +134 -6
- pulumi_gcp/bigquery/get_tables.py +143 -0
- pulumi_gcp/bigquery/outputs.py +66 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
- pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
- pulumi_gcp/bigtable/_inputs.py +21 -1
- pulumi_gcp/bigtable/outputs.py +13 -1
- pulumi_gcp/bigtable/table.py +34 -0
- pulumi_gcp/certificateauthority/authority.py +14 -7
- pulumi_gcp/certificatemanager/__init__.py +1 -0
- pulumi_gcp/certificatemanager/certificate.py +28 -0
- pulumi_gcp/certificatemanager/get_certificates.py +150 -0
- pulumi_gcp/certificatemanager/outputs.py +322 -0
- pulumi_gcp/cloudbuild/_inputs.py +6 -6
- pulumi_gcp/cloudbuild/outputs.py +4 -4
- pulumi_gcp/cloudrun/_inputs.py +6 -12
- pulumi_gcp/cloudrun/outputs.py +8 -16
- pulumi_gcp/cloudrunv2/_inputs.py +72 -15
- pulumi_gcp/cloudrunv2/outputs.py +82 -16
- pulumi_gcp/cloudrunv2/service.py +50 -4
- pulumi_gcp/cloudtasks/_inputs.py +630 -0
- pulumi_gcp/cloudtasks/outputs.py +479 -0
- pulumi_gcp/cloudtasks/queue.py +238 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2300 -257
- pulumi_gcp/compute/get_instance.py +4 -1
- pulumi_gcp/compute/health_check.py +114 -0
- pulumi_gcp/compute/instance.py +86 -4
- pulumi_gcp/compute/instance_template.py +66 -0
- pulumi_gcp/compute/interconnect.py +28 -21
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
- pulumi_gcp/compute/node_template.py +93 -0
- pulumi_gcp/compute/outputs.py +1491 -6
- pulumi_gcp/compute/region_target_http_proxy.py +159 -0
- pulumi_gcp/compute/region_target_https_proxy.py +175 -0
- pulumi_gcp/compute/service_attachment.py +75 -0
- pulumi_gcp/compute/target_http_proxy.py +49 -28
- pulumi_gcp/compute/target_https_proxy.py +77 -28
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/container/_inputs.py +236 -3
- pulumi_gcp/container/attached_cluster.py +61 -8
- pulumi_gcp/container/outputs.py +276 -2
- pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
- pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
- pulumi_gcp/databasemigrationservice/outputs.py +109 -87
- pulumi_gcp/dataloss/_inputs.py +353 -1
- pulumi_gcp/dataloss/outputs.py +274 -3
- pulumi_gcp/dataproc/_inputs.py +27 -27
- pulumi_gcp/dataproc/metastore_federation.py +8 -8
- pulumi_gcp/dataproc/metastore_service.py +2 -0
- pulumi_gcp/dataproc/outputs.py +18 -18
- pulumi_gcp/datastream/_inputs.py +69 -1
- pulumi_gcp/datastream/outputs.py +44 -2
- pulumi_gcp/datastream/stream.py +201 -7
- pulumi_gcp/developerconnect/__init__.py +11 -0
- pulumi_gcp/developerconnect/_inputs.py +301 -0
- pulumi_gcp/developerconnect/connection.py +1034 -0
- pulumi_gcp/developerconnect/git_repository_link.py +873 -0
- pulumi_gcp/developerconnect/outputs.py +247 -0
- pulumi_gcp/discoveryengine/_inputs.py +188 -0
- pulumi_gcp/discoveryengine/data_store.py +14 -14
- pulumi_gcp/discoveryengine/outputs.py +153 -1
- pulumi_gcp/firebase/database_instance.py +7 -7
- pulumi_gcp/gkehub/_inputs.py +25 -1
- pulumi_gcp/gkehub/feature_membership.py +12 -6
- pulumi_gcp/gkehub/outputs.py +17 -1
- pulumi_gcp/gkeonprem/_inputs.py +3 -3
- pulumi_gcp/gkeonprem/outputs.py +2 -2
- pulumi_gcp/iam/_inputs.py +196 -0
- pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
- pulumi_gcp/iam/outputs.py +295 -0
- pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +10 -2
- pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
- pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
- pulumi_gcp/kms/outputs.py +164 -0
- pulumi_gcp/memorystore/__init__.py +10 -0
- pulumi_gcp/memorystore/_inputs.py +731 -0
- pulumi_gcp/memorystore/instance.py +1663 -0
- pulumi_gcp/memorystore/outputs.py +598 -0
- pulumi_gcp/netapp/active_directory.py +6 -6
- pulumi_gcp/netapp/backup.py +6 -6
- pulumi_gcp/netapp/backup_policy.py +6 -6
- pulumi_gcp/netapp/backup_vault.py +6 -6
- pulumi_gcp/netapp/storage_pool.py +4 -4
- pulumi_gcp/netapp/volume.py +108 -0
- pulumi_gcp/networkconnectivity/_inputs.py +21 -1
- pulumi_gcp/networkconnectivity/outputs.py +15 -1
- pulumi_gcp/networkconnectivity/spoke.py +8 -0
- pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
- pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
- pulumi_gcp/organizations/folder.py +52 -33
- pulumi_gcp/organizations/get_project.py +13 -3
- pulumi_gcp/organizations/project.py +88 -3
- pulumi_gcp/parallelstore/instance.py +121 -121
- pulumi_gcp/projects/iam_member_remove.py +26 -0
- pulumi_gcp/projects/usage_export_bucket.py +38 -0
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +40 -0
- pulumi_gcp/pubsub/outputs.py +51 -1
- pulumi_gcp/pubsub/subscription.py +6 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +419 -0
- pulumi_gcp/redis/cluster.py +123 -0
- pulumi_gcp/redis/outputs.py +315 -0
- pulumi_gcp/securitycenter/__init__.py +2 -0
- pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
- pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
- pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
- pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
- pulumi_gcp/vpcaccess/connector.py +21 -28
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
@@ -407,6 +407,14 @@ class ClientTlsPolicy(pulumi.CustomResource):
|
|
407
407
|
sni: Optional[pulumi.Input[str]] = None,
|
408
408
|
__props__=None):
|
409
409
|
"""
|
410
|
+
ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.
|
411
|
+
|
412
|
+
To get more information about ClientTlsPolicy, see:
|
413
|
+
|
414
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-security/rest/v1beta1/projects.locations.clientTlsPolicies)
|
415
|
+
* How-to Guides
|
416
|
+
* [Service Security](https://cloud.google.com/traffic-director/docs/security-use-cases)
|
417
|
+
|
410
418
|
## Example Usage
|
411
419
|
|
412
420
|
### Network Security Client Tls Policy Basic
|
@@ -440,18 +448,11 @@ class ClientTlsPolicy(pulumi.CustomResource):
|
|
440
448
|
"plugin_instance": "google_cloud_private_spiffe",
|
441
449
|
},
|
442
450
|
},
|
443
|
-
server_validation_cas=[
|
444
|
-
{
|
445
|
-
"
|
446
|
-
"target_uri": "unix:mypath",
|
447
|
-
},
|
448
|
-
},
|
449
|
-
{
|
450
|
-
"grpc_endpoint": {
|
451
|
-
"target_uri": "unix:mypath1",
|
452
|
-
},
|
451
|
+
server_validation_cas=[{
|
452
|
+
"grpc_endpoint": {
|
453
|
+
"target_uri": "unix:mypath",
|
453
454
|
},
|
454
|
-
])
|
455
|
+
}])
|
455
456
|
```
|
456
457
|
|
457
458
|
## Import
|
@@ -505,6 +506,14 @@ class ClientTlsPolicy(pulumi.CustomResource):
|
|
505
506
|
args: Optional[ClientTlsPolicyArgs] = None,
|
506
507
|
opts: Optional[pulumi.ResourceOptions] = None):
|
507
508
|
"""
|
509
|
+
ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.
|
510
|
+
|
511
|
+
To get more information about ClientTlsPolicy, see:
|
512
|
+
|
513
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-security/rest/v1beta1/projects.locations.clientTlsPolicies)
|
514
|
+
* How-to Guides
|
515
|
+
* [Service Security](https://cloud.google.com/traffic-director/docs/security-use-cases)
|
516
|
+
|
508
517
|
## Example Usage
|
509
518
|
|
510
519
|
### Network Security Client Tls Policy Basic
|
@@ -538,18 +547,11 @@ class ClientTlsPolicy(pulumi.CustomResource):
|
|
538
547
|
"plugin_instance": "google_cloud_private_spiffe",
|
539
548
|
},
|
540
549
|
},
|
541
|
-
server_validation_cas=[
|
542
|
-
{
|
543
|
-
"
|
544
|
-
"target_uri": "unix:mypath",
|
545
|
-
},
|
546
|
-
},
|
547
|
-
{
|
548
|
-
"grpc_endpoint": {
|
549
|
-
"target_uri": "unix:mypath1",
|
550
|
-
},
|
550
|
+
server_validation_cas=[{
|
551
|
+
"grpc_endpoint": {
|
552
|
+
"target_uri": "unix:mypath",
|
551
553
|
},
|
552
|
-
])
|
554
|
+
}])
|
553
555
|
```
|
554
556
|
|
555
557
|
## Import
|
@@ -419,6 +419,12 @@ class ServerTlsPolicy(pulumi.CustomResource):
|
|
419
419
|
server_certificate: Optional[pulumi.Input[Union['ServerTlsPolicyServerCertificateArgs', 'ServerTlsPolicyServerCertificateArgsDict']]] = None,
|
420
420
|
__props__=None):
|
421
421
|
"""
|
422
|
+
ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.
|
423
|
+
|
424
|
+
To get more information about ServerTlsPolicy, see:
|
425
|
+
|
426
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-security/rest/v1beta1/projects.locations.serverTlsPolicies)
|
427
|
+
|
422
428
|
## Example Usage
|
423
429
|
|
424
430
|
### Network Security Server Tls Policy Basic
|
@@ -440,23 +446,11 @@ class ServerTlsPolicy(pulumi.CustomResource):
|
|
440
446
|
},
|
441
447
|
},
|
442
448
|
mtls_policy={
|
443
|
-
"client_validation_cas": [
|
444
|
-
{
|
445
|
-
"
|
446
|
-
"target_uri": "unix:mypath",
|
447
|
-
},
|
449
|
+
"client_validation_cas": [{
|
450
|
+
"grpc_endpoint": {
|
451
|
+
"target_uri": "unix:mypath",
|
448
452
|
},
|
449
|
-
|
450
|
-
"grpc_endpoint": {
|
451
|
-
"target_uri": "unix:abc/mypath",
|
452
|
-
},
|
453
|
-
},
|
454
|
-
{
|
455
|
-
"certificate_provider_instance": {
|
456
|
-
"plugin_instance": "google_cloud_private_spiffe",
|
457
|
-
},
|
458
|
-
},
|
459
|
-
],
|
453
|
+
}],
|
460
454
|
})
|
461
455
|
```
|
462
456
|
### Network Security Server Tls Policy Advanced
|
@@ -588,6 +582,12 @@ class ServerTlsPolicy(pulumi.CustomResource):
|
|
588
582
|
args: Optional[ServerTlsPolicyArgs] = None,
|
589
583
|
opts: Optional[pulumi.ResourceOptions] = None):
|
590
584
|
"""
|
585
|
+
ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.
|
586
|
+
|
587
|
+
To get more information about ServerTlsPolicy, see:
|
588
|
+
|
589
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-security/rest/v1beta1/projects.locations.serverTlsPolicies)
|
590
|
+
|
591
591
|
## Example Usage
|
592
592
|
|
593
593
|
### Network Security Server Tls Policy Basic
|
@@ -609,23 +609,11 @@ class ServerTlsPolicy(pulumi.CustomResource):
|
|
609
609
|
},
|
610
610
|
},
|
611
611
|
mtls_policy={
|
612
|
-
"client_validation_cas": [
|
613
|
-
{
|
614
|
-
"
|
615
|
-
"target_uri": "unix:mypath",
|
616
|
-
},
|
612
|
+
"client_validation_cas": [{
|
613
|
+
"grpc_endpoint": {
|
614
|
+
"target_uri": "unix:mypath",
|
617
615
|
},
|
618
|
-
|
619
|
-
"grpc_endpoint": {
|
620
|
-
"target_uri": "unix:abc/mypath",
|
621
|
-
},
|
622
|
-
},
|
623
|
-
{
|
624
|
-
"certificate_provider_instance": {
|
625
|
-
"plugin_instance": "google_cloud_private_spiffe",
|
626
|
-
},
|
627
|
-
},
|
628
|
-
],
|
616
|
+
}],
|
629
617
|
})
|
630
618
|
```
|
631
619
|
### Network Security Server Tls Policy Advanced
|
@@ -21,18 +21,22 @@ class FolderArgs:
|
|
21
21
|
def __init__(__self__, *,
|
22
22
|
display_name: pulumi.Input[str],
|
23
23
|
parent: pulumi.Input[str],
|
24
|
-
deletion_protection: Optional[pulumi.Input[bool]] = None
|
24
|
+
deletion_protection: Optional[pulumi.Input[bool]] = None,
|
25
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
|
25
26
|
"""
|
26
27
|
The set of arguments for constructing a Folder resource.
|
27
28
|
:param pulumi.Input[str] display_name: The folder’s display name.
|
28
29
|
A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
|
29
30
|
:param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
|
30
31
|
Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
32
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
31
33
|
"""
|
32
34
|
pulumi.set(__self__, "display_name", display_name)
|
33
35
|
pulumi.set(__self__, "parent", parent)
|
34
36
|
if deletion_protection is not None:
|
35
37
|
pulumi.set(__self__, "deletion_protection", deletion_protection)
|
38
|
+
if tags is not None:
|
39
|
+
pulumi.set(__self__, "tags", tags)
|
36
40
|
|
37
41
|
@property
|
38
42
|
@pulumi.getter(name="displayName")
|
@@ -69,6 +73,18 @@ class FolderArgs:
|
|
69
73
|
def deletion_protection(self, value: Optional[pulumi.Input[bool]]):
|
70
74
|
pulumi.set(self, "deletion_protection", value)
|
71
75
|
|
76
|
+
@property
|
77
|
+
@pulumi.getter
|
78
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
79
|
+
"""
|
80
|
+
A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
81
|
+
"""
|
82
|
+
return pulumi.get(self, "tags")
|
83
|
+
|
84
|
+
@tags.setter
|
85
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
86
|
+
pulumi.set(self, "tags", value)
|
87
|
+
|
72
88
|
|
73
89
|
@pulumi.input_type
|
74
90
|
class _FolderState:
|
@@ -79,7 +95,8 @@ class _FolderState:
|
|
79
95
|
folder_id: Optional[pulumi.Input[str]] = None,
|
80
96
|
lifecycle_state: Optional[pulumi.Input[str]] = None,
|
81
97
|
name: Optional[pulumi.Input[str]] = None,
|
82
|
-
parent: Optional[pulumi.Input[str]] = None
|
98
|
+
parent: Optional[pulumi.Input[str]] = None,
|
99
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
|
83
100
|
"""
|
84
101
|
Input properties used for looking up and filtering Folder resources.
|
85
102
|
:param pulumi.Input[str] create_time: Timestamp when the Folder was created. Assigned by the server.
|
@@ -91,6 +108,7 @@ class _FolderState:
|
|
91
108
|
:param pulumi.Input[str] name: The resource name of the Folder. Its format is folders/{folder_id}.
|
92
109
|
:param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
|
93
110
|
Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
111
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
94
112
|
"""
|
95
113
|
if create_time is not None:
|
96
114
|
pulumi.set(__self__, "create_time", create_time)
|
@@ -106,6 +124,8 @@ class _FolderState:
|
|
106
124
|
pulumi.set(__self__, "name", name)
|
107
125
|
if parent is not None:
|
108
126
|
pulumi.set(__self__, "parent", parent)
|
127
|
+
if tags is not None:
|
128
|
+
pulumi.set(__self__, "tags", tags)
|
109
129
|
|
110
130
|
@property
|
111
131
|
@pulumi.getter(name="createTime")
|
@@ -191,6 +211,18 @@ class _FolderState:
|
|
191
211
|
def parent(self, value: Optional[pulumi.Input[str]]):
|
192
212
|
pulumi.set(self, "parent", value)
|
193
213
|
|
214
|
+
@property
|
215
|
+
@pulumi.getter
|
216
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
217
|
+
"""
|
218
|
+
A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
219
|
+
"""
|
220
|
+
return pulumi.get(self, "tags")
|
221
|
+
|
222
|
+
@tags.setter
|
223
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
224
|
+
pulumi.set(self, "tags", value)
|
225
|
+
|
194
226
|
|
195
227
|
class Folder(pulumi.CustomResource):
|
196
228
|
@overload
|
@@ -200,6 +232,7 @@ class Folder(pulumi.CustomResource):
|
|
200
232
|
deletion_protection: Optional[pulumi.Input[bool]] = None,
|
201
233
|
display_name: Optional[pulumi.Input[str]] = None,
|
202
234
|
parent: Optional[pulumi.Input[str]] = None,
|
235
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
203
236
|
__props__=None):
|
204
237
|
"""
|
205
238
|
Allows management of a Google Cloud Platform folder. For more information see
|
@@ -216,21 +249,7 @@ class Folder(pulumi.CustomResource):
|
|
216
249
|
[Access Control for Folders Using IAM](https://cloud.google.com/resource-manager/docs/access-control-folders)
|
217
250
|
doc for more information.
|
218
251
|
|
219
|
-
|
220
|
-
|
221
|
-
```python
|
222
|
-
import pulumi
|
223
|
-
import pulumi_gcp as gcp
|
224
|
-
|
225
|
-
# Top-level folder under an organization.
|
226
|
-
department1 = gcp.organizations.Folder("department1",
|
227
|
-
display_name="Department 1",
|
228
|
-
parent="organizations/1234567")
|
229
|
-
# Folder nested under another folder.
|
230
|
-
team_abc = gcp.organizations.Folder("team-abc",
|
231
|
-
display_name="Team ABC",
|
232
|
-
parent=department1.name)
|
233
|
-
```
|
252
|
+
> It may take a while for the attached tag bindings to be deleted after the folder is scheduled to be deleted.
|
234
253
|
|
235
254
|
## Import
|
236
255
|
|
@@ -256,6 +275,7 @@ class Folder(pulumi.CustomResource):
|
|
256
275
|
A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
|
257
276
|
:param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
|
258
277
|
Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
278
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
259
279
|
"""
|
260
280
|
...
|
261
281
|
@overload
|
@@ -278,21 +298,7 @@ class Folder(pulumi.CustomResource):
|
|
278
298
|
[Access Control for Folders Using IAM](https://cloud.google.com/resource-manager/docs/access-control-folders)
|
279
299
|
doc for more information.
|
280
300
|
|
281
|
-
|
282
|
-
|
283
|
-
```python
|
284
|
-
import pulumi
|
285
|
-
import pulumi_gcp as gcp
|
286
|
-
|
287
|
-
# Top-level folder under an organization.
|
288
|
-
department1 = gcp.organizations.Folder("department1",
|
289
|
-
display_name="Department 1",
|
290
|
-
parent="organizations/1234567")
|
291
|
-
# Folder nested under another folder.
|
292
|
-
team_abc = gcp.organizations.Folder("team-abc",
|
293
|
-
display_name="Team ABC",
|
294
|
-
parent=department1.name)
|
295
|
-
```
|
301
|
+
> It may take a while for the attached tag bindings to be deleted after the folder is scheduled to be deleted.
|
296
302
|
|
297
303
|
## Import
|
298
304
|
|
@@ -330,6 +336,7 @@ class Folder(pulumi.CustomResource):
|
|
330
336
|
deletion_protection: Optional[pulumi.Input[bool]] = None,
|
331
337
|
display_name: Optional[pulumi.Input[str]] = None,
|
332
338
|
parent: Optional[pulumi.Input[str]] = None,
|
339
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
333
340
|
__props__=None):
|
334
341
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
335
342
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -346,6 +353,7 @@ class Folder(pulumi.CustomResource):
|
|
346
353
|
if parent is None and not opts.urn:
|
347
354
|
raise TypeError("Missing required property 'parent'")
|
348
355
|
__props__.__dict__["parent"] = parent
|
356
|
+
__props__.__dict__["tags"] = tags
|
349
357
|
__props__.__dict__["create_time"] = None
|
350
358
|
__props__.__dict__["folder_id"] = None
|
351
359
|
__props__.__dict__["lifecycle_state"] = None
|
@@ -366,7 +374,8 @@ class Folder(pulumi.CustomResource):
|
|
366
374
|
folder_id: Optional[pulumi.Input[str]] = None,
|
367
375
|
lifecycle_state: Optional[pulumi.Input[str]] = None,
|
368
376
|
name: Optional[pulumi.Input[str]] = None,
|
369
|
-
parent: Optional[pulumi.Input[str]] = None
|
377
|
+
parent: Optional[pulumi.Input[str]] = None,
|
378
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Folder':
|
370
379
|
"""
|
371
380
|
Get an existing Folder resource's state with the given name, id, and optional extra
|
372
381
|
properties used to qualify the lookup.
|
@@ -383,6 +392,7 @@ class Folder(pulumi.CustomResource):
|
|
383
392
|
:param pulumi.Input[str] name: The resource name of the Folder. Its format is folders/{folder_id}.
|
384
393
|
:param pulumi.Input[str] parent: The resource name of the parent Folder or Organization.
|
385
394
|
Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
|
395
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
386
396
|
"""
|
387
397
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
388
398
|
|
@@ -395,6 +405,7 @@ class Folder(pulumi.CustomResource):
|
|
395
405
|
__props__.__dict__["lifecycle_state"] = lifecycle_state
|
396
406
|
__props__.__dict__["name"] = name
|
397
407
|
__props__.__dict__["parent"] = parent
|
408
|
+
__props__.__dict__["tags"] = tags
|
398
409
|
return Folder(resource_name, opts=opts, __props__=__props__)
|
399
410
|
|
400
411
|
@property
|
@@ -453,3 +464,11 @@ class Folder(pulumi.CustomResource):
|
|
453
464
|
"""
|
454
465
|
return pulumi.get(self, "parent")
|
455
466
|
|
467
|
+
@property
|
468
|
+
@pulumi.getter
|
469
|
+
def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
470
|
+
"""
|
471
|
+
A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
472
|
+
"""
|
473
|
+
return pulumi.get(self, "tags")
|
474
|
+
|
@@ -26,7 +26,7 @@ class GetProjectResult:
|
|
26
26
|
"""
|
27
27
|
A collection of values returned by getProject.
|
28
28
|
"""
|
29
|
-
def __init__(__self__, auto_create_network=None, billing_account=None, deletion_policy=None, effective_labels=None, folder_id=None, id=None, labels=None, name=None, number=None, org_id=None, project_id=None, pulumi_labels=None):
|
29
|
+
def __init__(__self__, auto_create_network=None, billing_account=None, deletion_policy=None, effective_labels=None, folder_id=None, id=None, labels=None, name=None, number=None, org_id=None, project_id=None, pulumi_labels=None, tags=None):
|
30
30
|
if auto_create_network and not isinstance(auto_create_network, bool):
|
31
31
|
raise TypeError("Expected argument 'auto_create_network' to be a bool")
|
32
32
|
pulumi.set(__self__, "auto_create_network", auto_create_network)
|
@@ -63,6 +63,9 @@ class GetProjectResult:
|
|
63
63
|
if pulumi_labels and not isinstance(pulumi_labels, dict):
|
64
64
|
raise TypeError("Expected argument 'pulumi_labels' to be a dict")
|
65
65
|
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
66
|
+
if tags and not isinstance(tags, dict):
|
67
|
+
raise TypeError("Expected argument 'tags' to be a dict")
|
68
|
+
pulumi.set(__self__, "tags", tags)
|
66
69
|
|
67
70
|
@property
|
68
71
|
@pulumi.getter(name="autoCreateNetwork")
|
@@ -130,6 +133,11 @@ class GetProjectResult:
|
|
130
133
|
def pulumi_labels(self) -> Mapping[str, str]:
|
131
134
|
return pulumi.get(self, "pulumi_labels")
|
132
135
|
|
136
|
+
@property
|
137
|
+
@pulumi.getter
|
138
|
+
def tags(self) -> Mapping[str, str]:
|
139
|
+
return pulumi.get(self, "tags")
|
140
|
+
|
133
141
|
|
134
142
|
class AwaitableGetProjectResult(GetProjectResult):
|
135
143
|
# pylint: disable=using-constant-test
|
@@ -148,7 +156,8 @@ class AwaitableGetProjectResult(GetProjectResult):
|
|
148
156
|
number=self.number,
|
149
157
|
org_id=self.org_id,
|
150
158
|
project_id=self.project_id,
|
151
|
-
pulumi_labels=self.pulumi_labels
|
159
|
+
pulumi_labels=self.pulumi_labels,
|
160
|
+
tags=self.tags)
|
152
161
|
|
153
162
|
|
154
163
|
def get_project(project_id: Optional[str] = None,
|
@@ -188,7 +197,8 @@ def get_project(project_id: Optional[str] = None,
|
|
188
197
|
number=pulumi.get(__ret__, 'number'),
|
189
198
|
org_id=pulumi.get(__ret__, 'org_id'),
|
190
199
|
project_id=pulumi.get(__ret__, 'project_id'),
|
191
|
-
pulumi_labels=pulumi.get(__ret__, 'pulumi_labels')
|
200
|
+
pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
|
201
|
+
tags=pulumi.get(__ret__, 'tags'))
|
192
202
|
|
193
203
|
|
194
204
|
@_utilities.lift_output_func(get_project)
|
@@ -26,7 +26,8 @@ class ProjectArgs:
|
|
26
26
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
27
27
|
name: Optional[pulumi.Input[str]] = None,
|
28
28
|
org_id: Optional[pulumi.Input[str]] = None,
|
29
|
-
project_id: Optional[pulumi.Input[str]] = None
|
29
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
30
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
|
30
31
|
"""
|
31
32
|
The set of arguments for constructing a Project resource.
|
32
33
|
:param pulumi.Input[bool] auto_create_network: Create the 'default' network automatically. Default true. If set to false, the default network will be deleted. Note
|
@@ -53,6 +54,7 @@ class ProjectArgs:
|
|
53
54
|
this forces the project to be migrated to the newly specified
|
54
55
|
organization.
|
55
56
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
57
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
56
58
|
"""
|
57
59
|
if auto_create_network is not None:
|
58
60
|
pulumi.set(__self__, "auto_create_network", auto_create_network)
|
@@ -70,6 +72,8 @@ class ProjectArgs:
|
|
70
72
|
pulumi.set(__self__, "org_id", org_id)
|
71
73
|
if project_id is not None:
|
72
74
|
pulumi.set(__self__, "project_id", project_id)
|
75
|
+
if tags is not None:
|
76
|
+
pulumi.set(__self__, "tags", tags)
|
73
77
|
|
74
78
|
@property
|
75
79
|
@pulumi.getter(name="autoCreateNetwork")
|
@@ -181,6 +185,18 @@ class ProjectArgs:
|
|
181
185
|
def project_id(self, value: Optional[pulumi.Input[str]]):
|
182
186
|
pulumi.set(self, "project_id", value)
|
183
187
|
|
188
|
+
@property
|
189
|
+
@pulumi.getter
|
190
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
191
|
+
"""
|
192
|
+
A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
193
|
+
"""
|
194
|
+
return pulumi.get(self, "tags")
|
195
|
+
|
196
|
+
@tags.setter
|
197
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
198
|
+
pulumi.set(self, "tags", value)
|
199
|
+
|
184
200
|
|
185
201
|
@pulumi.input_type
|
186
202
|
class _ProjectState:
|
@@ -195,7 +211,8 @@ class _ProjectState:
|
|
195
211
|
number: Optional[pulumi.Input[str]] = None,
|
196
212
|
org_id: Optional[pulumi.Input[str]] = None,
|
197
213
|
project_id: Optional[pulumi.Input[str]] = None,
|
198
|
-
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None
|
214
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
215
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
|
199
216
|
"""
|
200
217
|
Input properties used for looking up and filtering Project resources.
|
201
218
|
:param pulumi.Input[bool] auto_create_network: Create the 'default' network automatically. Default true. If set to false, the default network will be deleted. Note
|
@@ -225,6 +242,7 @@ class _ProjectState:
|
|
225
242
|
organization.
|
226
243
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
227
244
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
|
245
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
228
246
|
"""
|
229
247
|
if auto_create_network is not None:
|
230
248
|
pulumi.set(__self__, "auto_create_network", auto_create_network)
|
@@ -248,6 +266,8 @@ class _ProjectState:
|
|
248
266
|
pulumi.set(__self__, "project_id", project_id)
|
249
267
|
if pulumi_labels is not None:
|
250
268
|
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
269
|
+
if tags is not None:
|
270
|
+
pulumi.set(__self__, "tags", tags)
|
251
271
|
|
252
272
|
@property
|
253
273
|
@pulumi.getter(name="autoCreateNetwork")
|
@@ -395,6 +415,18 @@ class _ProjectState:
|
|
395
415
|
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
396
416
|
pulumi.set(self, "pulumi_labels", value)
|
397
417
|
|
418
|
+
@property
|
419
|
+
@pulumi.getter
|
420
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
421
|
+
"""
|
422
|
+
A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
423
|
+
"""
|
424
|
+
return pulumi.get(self, "tags")
|
425
|
+
|
426
|
+
@tags.setter
|
427
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
428
|
+
pulumi.set(self, "tags", value)
|
429
|
+
|
398
430
|
|
399
431
|
class Project(pulumi.CustomResource):
|
400
432
|
@overload
|
@@ -409,6 +441,7 @@ class Project(pulumi.CustomResource):
|
|
409
441
|
name: Optional[pulumi.Input[str]] = None,
|
410
442
|
org_id: Optional[pulumi.Input[str]] = None,
|
411
443
|
project_id: Optional[pulumi.Input[str]] = None,
|
444
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
412
445
|
__props__=None):
|
413
446
|
"""
|
414
447
|
Allows creation and management of a Google Cloud Platform project.
|
@@ -423,6 +456,10 @@ class Project(pulumi.CustomResource):
|
|
423
456
|
|
424
457
|
> This resource reads the specified billing account on every pulumi up and plan operation so you must have permissions on the specified billing account.
|
425
458
|
|
459
|
+
> It is recommended to use the `constraints/compute.skipDefaultNetworkCreation` [constraint](https://www.terraform.io/docs/providers/google/r/google_organization_policy.html) to remove the default network instead of setting `auto_create_network` to false, when possible.
|
460
|
+
|
461
|
+
> It may take a while for the attached tag bindings to be deleted after the project is scheduled to be deleted.
|
462
|
+
|
426
463
|
To get more information about projects, see:
|
427
464
|
|
428
465
|
* [API documentation](https://cloud.google.com/resource-manager/reference/rest/v1/projects)
|
@@ -456,6 +493,21 @@ class Project(pulumi.CustomResource):
|
|
456
493
|
folder_id=department1.name)
|
457
494
|
```
|
458
495
|
|
496
|
+
To create a project with a tag
|
497
|
+
|
498
|
+
```python
|
499
|
+
import pulumi
|
500
|
+
import pulumi_gcp as gcp
|
501
|
+
|
502
|
+
my_project = gcp.organizations.Project("my_project",
|
503
|
+
name="My Project",
|
504
|
+
project_id="your-project-id",
|
505
|
+
org_id="1234567",
|
506
|
+
tags={
|
507
|
+
"1234567/env": "staging",
|
508
|
+
})
|
509
|
+
```
|
510
|
+
|
459
511
|
## Import
|
460
512
|
|
461
513
|
Projects can be imported using the `project_id`, e.g.
|
@@ -494,6 +546,7 @@ class Project(pulumi.CustomResource):
|
|
494
546
|
this forces the project to be migrated to the newly specified
|
495
547
|
organization.
|
496
548
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
549
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
497
550
|
"""
|
498
551
|
...
|
499
552
|
@overload
|
@@ -514,6 +567,10 @@ class Project(pulumi.CustomResource):
|
|
514
567
|
|
515
568
|
> This resource reads the specified billing account on every pulumi up and plan operation so you must have permissions on the specified billing account.
|
516
569
|
|
570
|
+
> It is recommended to use the `constraints/compute.skipDefaultNetworkCreation` [constraint](https://www.terraform.io/docs/providers/google/r/google_organization_policy.html) to remove the default network instead of setting `auto_create_network` to false, when possible.
|
571
|
+
|
572
|
+
> It may take a while for the attached tag bindings to be deleted after the project is scheduled to be deleted.
|
573
|
+
|
517
574
|
To get more information about projects, see:
|
518
575
|
|
519
576
|
* [API documentation](https://cloud.google.com/resource-manager/reference/rest/v1/projects)
|
@@ -547,6 +604,21 @@ class Project(pulumi.CustomResource):
|
|
547
604
|
folder_id=department1.name)
|
548
605
|
```
|
549
606
|
|
607
|
+
To create a project with a tag
|
608
|
+
|
609
|
+
```python
|
610
|
+
import pulumi
|
611
|
+
import pulumi_gcp as gcp
|
612
|
+
|
613
|
+
my_project = gcp.organizations.Project("my_project",
|
614
|
+
name="My Project",
|
615
|
+
project_id="your-project-id",
|
616
|
+
org_id="1234567",
|
617
|
+
tags={
|
618
|
+
"1234567/env": "staging",
|
619
|
+
})
|
620
|
+
```
|
621
|
+
|
550
622
|
## Import
|
551
623
|
|
552
624
|
Projects can be imported using the `project_id`, e.g.
|
@@ -582,6 +654,7 @@ class Project(pulumi.CustomResource):
|
|
582
654
|
name: Optional[pulumi.Input[str]] = None,
|
583
655
|
org_id: Optional[pulumi.Input[str]] = None,
|
584
656
|
project_id: Optional[pulumi.Input[str]] = None,
|
657
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
585
658
|
__props__=None):
|
586
659
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
587
660
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -599,6 +672,7 @@ class Project(pulumi.CustomResource):
|
|
599
672
|
__props__.__dict__["name"] = name
|
600
673
|
__props__.__dict__["org_id"] = org_id
|
601
674
|
__props__.__dict__["project_id"] = project_id
|
675
|
+
__props__.__dict__["tags"] = tags
|
602
676
|
__props__.__dict__["effective_labels"] = None
|
603
677
|
__props__.__dict__["number"] = None
|
604
678
|
__props__.__dict__["pulumi_labels"] = None
|
@@ -624,7 +698,8 @@ class Project(pulumi.CustomResource):
|
|
624
698
|
number: Optional[pulumi.Input[str]] = None,
|
625
699
|
org_id: Optional[pulumi.Input[str]] = None,
|
626
700
|
project_id: Optional[pulumi.Input[str]] = None,
|
627
|
-
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None
|
701
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
702
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Project':
|
628
703
|
"""
|
629
704
|
Get an existing Project resource's state with the given name, id, and optional extra
|
630
705
|
properties used to qualify the lookup.
|
@@ -659,6 +734,7 @@ class Project(pulumi.CustomResource):
|
|
659
734
|
organization.
|
660
735
|
:param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
|
661
736
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
|
737
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
662
738
|
"""
|
663
739
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
664
740
|
|
@@ -675,6 +751,7 @@ class Project(pulumi.CustomResource):
|
|
675
751
|
__props__.__dict__["org_id"] = org_id
|
676
752
|
__props__.__dict__["project_id"] = project_id
|
677
753
|
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
754
|
+
__props__.__dict__["tags"] = tags
|
678
755
|
return Project(resource_name, opts=opts, __props__=__props__)
|
679
756
|
|
680
757
|
@property
|
@@ -779,3 +856,11 @@ class Project(pulumi.CustomResource):
|
|
779
856
|
"""
|
780
857
|
return pulumi.get(self, "pulumi_labels")
|
781
858
|
|
859
|
+
@property
|
860
|
+
@pulumi.getter
|
861
|
+
def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
862
|
+
"""
|
863
|
+
A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. The field is immutable and causes resource replacement when mutated.
|
864
|
+
"""
|
865
|
+
return pulumi.get(self, "tags")
|
866
|
+
|