pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.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 +102 -0
- pulumi_gcp/accesscontextmanager/__init__.py +1 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
- pulumi_gcp/accesscontextmanager/outputs.py +74 -58
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
- pulumi_gcp/apphub/__init__.py +15 -0
- pulumi_gcp/apphub/_inputs.py +1016 -0
- pulumi_gcp/apphub/application.py +775 -0
- pulumi_gcp/apphub/get_discovered_service.py +180 -0
- pulumi_gcp/apphub/get_discovered_workload.py +180 -0
- pulumi_gcp/apphub/outputs.py +1206 -0
- pulumi_gcp/apphub/service.py +1121 -0
- pulumi_gcp/apphub/service_project_attachment.py +516 -0
- pulumi_gcp/apphub/workload.py +1197 -0
- pulumi_gcp/cloudquota/__init__.py +10 -0
- pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
- pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
- pulumi_gcp/cloudquota/outputs.py +375 -0
- pulumi_gcp/cloudrunv2/_inputs.py +85 -4
- pulumi_gcp/cloudrunv2/get_service.py +11 -1
- pulumi_gcp/cloudrunv2/outputs.py +165 -6
- pulumi_gcp/cloudrunv2/service.py +60 -6
- pulumi_gcp/composer/_inputs.py +16 -0
- pulumi_gcp/composer/outputs.py +23 -0
- pulumi_gcp/compute/_inputs.py +109 -11
- pulumi_gcp/compute/outputs.py +144 -13
- pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
- pulumi_gcp/compute/region_url_map.py +152 -0
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/dataform/repository.py +4 -74
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/android_app.py +41 -40
- pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
- pulumi_gcp/firestore/_inputs.py +69 -0
- pulumi_gcp/firestore/database.py +206 -0
- pulumi_gcp/firestore/index.py +34 -48
- pulumi_gcp/firestore/outputs.py +80 -0
- pulumi_gcp/gkeonprem/_inputs.py +1 -3
- pulumi_gcp/gkeonprem/outputs.py +1 -3
- pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
- pulumi_gcp/iap/__init__.py +5 -0
- pulumi_gcp/iap/_inputs.py +100 -0
- pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
- pulumi_gcp/iap/outputs.py +76 -0
- pulumi_gcp/iap/tunnel_dest_group.py +524 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/_inputs.py +246 -0
- pulumi_gcp/kms/ekm_connection.py +610 -0
- pulumi_gcp/kms/outputs.py +242 -0
- pulumi_gcp/monitoring/_inputs.py +2 -0
- pulumi_gcp/monitoring/outputs.py +2 -0
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
- pulumi_gcp/notebooks/instance.py +8 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +108 -0
- pulumi_gcp/pubsub/get_topic.py +11 -1
- pulumi_gcp/pubsub/outputs.py +213 -0
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/pubsub/topic.py +92 -0
- pulumi_gcp/securityposture/posture.py +2 -2
- pulumi_gcp/securityposture/posture_deployment.py +2 -2
- pulumi_gcp/storage/_inputs.py +72 -15
- pulumi_gcp/storage/bucket.py +54 -0
- pulumi_gcp/storage/get_bucket.py +11 -1
- pulumi_gcp/storage/outputs.py +110 -14
- pulumi_gcp/workstations/_inputs.py +247 -4
- pulumi_gcp/workstations/outputs.py +261 -5
- pulumi_gcp/workstations/workstation_config.py +160 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/firestore/database.py
CHANGED
@@ -8,6 +8,8 @@ import pulumi
|
|
8
8
|
import pulumi.runtime
|
9
9
|
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
10
|
from .. import _utilities
|
11
|
+
from . import outputs
|
12
|
+
from ._inputs import *
|
11
13
|
|
12
14
|
__all__ = ['DatabaseArgs', 'Database']
|
13
15
|
|
@@ -17,6 +19,7 @@ class DatabaseArgs:
|
|
17
19
|
location_id: pulumi.Input[str],
|
18
20
|
type: pulumi.Input[str],
|
19
21
|
app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
|
22
|
+
cmek_config: Optional[pulumi.Input['DatabaseCmekConfigArgs']] = None,
|
20
23
|
concurrency_mode: Optional[pulumi.Input[str]] = None,
|
21
24
|
delete_protection_state: Optional[pulumi.Input[str]] = None,
|
22
25
|
deletion_policy: Optional[pulumi.Input[str]] = None,
|
@@ -36,6 +39,10 @@ class DatabaseArgs:
|
|
36
39
|
- - -
|
37
40
|
:param pulumi.Input[str] app_engine_integration_mode: The App Engine integration mode to use for this database.
|
38
41
|
Possible values are: `ENABLED`, `DISABLED`.
|
42
|
+
:param pulumi.Input['DatabaseCmekConfigArgs'] cmek_config: The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
43
|
+
database. If not present, the database is secured by the default Google
|
44
|
+
encryption key.
|
45
|
+
Structure is documented below.
|
39
46
|
:param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
|
40
47
|
Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
|
41
48
|
:param pulumi.Input[str] delete_protection_state: State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
|
@@ -66,6 +73,8 @@ class DatabaseArgs:
|
|
66
73
|
pulumi.set(__self__, "type", type)
|
67
74
|
if app_engine_integration_mode is not None:
|
68
75
|
pulumi.set(__self__, "app_engine_integration_mode", app_engine_integration_mode)
|
76
|
+
if cmek_config is not None:
|
77
|
+
pulumi.set(__self__, "cmek_config", cmek_config)
|
69
78
|
if concurrency_mode is not None:
|
70
79
|
pulumi.set(__self__, "concurrency_mode", concurrency_mode)
|
71
80
|
if delete_protection_state is not None:
|
@@ -123,6 +132,21 @@ class DatabaseArgs:
|
|
123
132
|
def app_engine_integration_mode(self, value: Optional[pulumi.Input[str]]):
|
124
133
|
pulumi.set(self, "app_engine_integration_mode", value)
|
125
134
|
|
135
|
+
@property
|
136
|
+
@pulumi.getter(name="cmekConfig")
|
137
|
+
def cmek_config(self) -> Optional[pulumi.Input['DatabaseCmekConfigArgs']]:
|
138
|
+
"""
|
139
|
+
The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
140
|
+
database. If not present, the database is secured by the default Google
|
141
|
+
encryption key.
|
142
|
+
Structure is documented below.
|
143
|
+
"""
|
144
|
+
return pulumi.get(self, "cmek_config")
|
145
|
+
|
146
|
+
@cmek_config.setter
|
147
|
+
def cmek_config(self, value: Optional[pulumi.Input['DatabaseCmekConfigArgs']]):
|
148
|
+
pulumi.set(self, "cmek_config", value)
|
149
|
+
|
126
150
|
@property
|
127
151
|
@pulumi.getter(name="concurrencyMode")
|
128
152
|
def concurrency_mode(self) -> Optional[pulumi.Input[str]]:
|
@@ -219,6 +243,7 @@ class DatabaseArgs:
|
|
219
243
|
class _DatabaseState:
|
220
244
|
def __init__(__self__, *,
|
221
245
|
app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
|
246
|
+
cmek_config: Optional[pulumi.Input['DatabaseCmekConfigArgs']] = None,
|
222
247
|
concurrency_mode: Optional[pulumi.Input[str]] = None,
|
223
248
|
create_time: Optional[pulumi.Input[str]] = None,
|
224
249
|
delete_protection_state: Optional[pulumi.Input[str]] = None,
|
@@ -238,6 +263,10 @@ class _DatabaseState:
|
|
238
263
|
Input properties used for looking up and filtering Database resources.
|
239
264
|
:param pulumi.Input[str] app_engine_integration_mode: The App Engine integration mode to use for this database.
|
240
265
|
Possible values are: `ENABLED`, `DISABLED`.
|
266
|
+
:param pulumi.Input['DatabaseCmekConfigArgs'] cmek_config: The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
267
|
+
database. If not present, the database is secured by the default Google
|
268
|
+
encryption key.
|
269
|
+
Structure is documented below.
|
241
270
|
:param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
|
242
271
|
Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
|
243
272
|
:param pulumi.Input[str] create_time: Output only. The timestamp at which this database was created.
|
@@ -292,6 +321,8 @@ class _DatabaseState:
|
|
292
321
|
"""
|
293
322
|
if app_engine_integration_mode is not None:
|
294
323
|
pulumi.set(__self__, "app_engine_integration_mode", app_engine_integration_mode)
|
324
|
+
if cmek_config is not None:
|
325
|
+
pulumi.set(__self__, "cmek_config", cmek_config)
|
295
326
|
if concurrency_mode is not None:
|
296
327
|
pulumi.set(__self__, "concurrency_mode", concurrency_mode)
|
297
328
|
if create_time is not None:
|
@@ -336,6 +367,21 @@ class _DatabaseState:
|
|
336
367
|
def app_engine_integration_mode(self, value: Optional[pulumi.Input[str]]):
|
337
368
|
pulumi.set(self, "app_engine_integration_mode", value)
|
338
369
|
|
370
|
+
@property
|
371
|
+
@pulumi.getter(name="cmekConfig")
|
372
|
+
def cmek_config(self) -> Optional[pulumi.Input['DatabaseCmekConfigArgs']]:
|
373
|
+
"""
|
374
|
+
The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
375
|
+
database. If not present, the database is secured by the default Google
|
376
|
+
encryption key.
|
377
|
+
Structure is documented below.
|
378
|
+
"""
|
379
|
+
return pulumi.get(self, "cmek_config")
|
380
|
+
|
381
|
+
@cmek_config.setter
|
382
|
+
def cmek_config(self, value: Optional[pulumi.Input['DatabaseCmekConfigArgs']]):
|
383
|
+
pulumi.set(self, "cmek_config", value)
|
384
|
+
|
339
385
|
@property
|
340
386
|
@pulumi.getter(name="concurrencyMode")
|
341
387
|
def concurrency_mode(self) -> Optional[pulumi.Input[str]]:
|
@@ -559,6 +605,7 @@ class Database(pulumi.CustomResource):
|
|
559
605
|
resource_name: str,
|
560
606
|
opts: Optional[pulumi.ResourceOptions] = None,
|
561
607
|
app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
|
608
|
+
cmek_config: Optional[pulumi.Input[pulumi.InputType['DatabaseCmekConfigArgs']]] = None,
|
562
609
|
concurrency_mode: Optional[pulumi.Input[str]] = None,
|
563
610
|
delete_protection_state: Optional[pulumi.Input[str]] = None,
|
564
611
|
deletion_policy: Optional[pulumi.Input[str]] = None,
|
@@ -618,6 +665,40 @@ class Database(pulumi.CustomResource):
|
|
618
665
|
deletion_policy="DELETE")
|
619
666
|
```
|
620
667
|
<!--End PulumiCodeChooser -->
|
668
|
+
### Firestore Cmek Database
|
669
|
+
|
670
|
+
<!--Start PulumiCodeChooser -->
|
671
|
+
```python
|
672
|
+
import pulumi
|
673
|
+
import pulumi_gcp as gcp
|
674
|
+
|
675
|
+
project = gcp.organizations.get_project()
|
676
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
677
|
+
name="kms-key-ring",
|
678
|
+
location="us")
|
679
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
680
|
+
name="kms-key",
|
681
|
+
key_ring=key_ring.id,
|
682
|
+
purpose="ENCRYPT_DECRYPT")
|
683
|
+
database = gcp.firestore.Database("database",
|
684
|
+
project="my-project-name",
|
685
|
+
name="cmek-database-id",
|
686
|
+
location_id="nam5",
|
687
|
+
type="FIRESTORE_NATIVE",
|
688
|
+
concurrency_mode="OPTIMISTIC",
|
689
|
+
app_engine_integration_mode="DISABLED",
|
690
|
+
point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
|
691
|
+
delete_protection_state="DELETE_PROTECTION_ENABLED",
|
692
|
+
deletion_policy="DELETE",
|
693
|
+
cmek_config=gcp.firestore.DatabaseCmekConfigArgs(
|
694
|
+
kms_key_name=crypto_key.id,
|
695
|
+
))
|
696
|
+
firestore_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("firestore_cmek_keyuser",
|
697
|
+
crypto_key_id=crypto_key.id,
|
698
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
699
|
+
members=[f"serviceAccount:service-{project.number}@gcp-sa-firestore.iam.gserviceaccount.com"])
|
700
|
+
```
|
701
|
+
<!--End PulumiCodeChooser -->
|
621
702
|
### Firestore Default Database In Datastore Mode
|
622
703
|
|
623
704
|
<!--Start PulumiCodeChooser -->
|
@@ -651,6 +732,40 @@ class Database(pulumi.CustomResource):
|
|
651
732
|
deletion_policy="DELETE")
|
652
733
|
```
|
653
734
|
<!--End PulumiCodeChooser -->
|
735
|
+
### Firestore Cmek Database In Datastore Mode
|
736
|
+
|
737
|
+
<!--Start PulumiCodeChooser -->
|
738
|
+
```python
|
739
|
+
import pulumi
|
740
|
+
import pulumi_gcp as gcp
|
741
|
+
|
742
|
+
project = gcp.organizations.get_project()
|
743
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
744
|
+
name="kms-key-ring",
|
745
|
+
location="us")
|
746
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
747
|
+
name="kms-key",
|
748
|
+
key_ring=key_ring.id,
|
749
|
+
purpose="ENCRYPT_DECRYPT")
|
750
|
+
database = gcp.firestore.Database("database",
|
751
|
+
project="my-project-name",
|
752
|
+
name="cmek-database-id",
|
753
|
+
location_id="nam5",
|
754
|
+
type="DATASTORE_MODE",
|
755
|
+
concurrency_mode="OPTIMISTIC",
|
756
|
+
app_engine_integration_mode="DISABLED",
|
757
|
+
point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
|
758
|
+
delete_protection_state="DELETE_PROTECTION_ENABLED",
|
759
|
+
deletion_policy="DELETE",
|
760
|
+
cmek_config=gcp.firestore.DatabaseCmekConfigArgs(
|
761
|
+
kms_key_name=crypto_key.id,
|
762
|
+
))
|
763
|
+
firestore_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("firestore_cmek_keyuser",
|
764
|
+
crypto_key_id=crypto_key.id,
|
765
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
766
|
+
members=[f"serviceAccount:service-{project.number}@gcp-sa-firestore.iam.gserviceaccount.com"])
|
767
|
+
```
|
768
|
+
<!--End PulumiCodeChooser -->
|
654
769
|
|
655
770
|
## Import
|
656
771
|
|
@@ -680,6 +795,10 @@ class Database(pulumi.CustomResource):
|
|
680
795
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
681
796
|
:param pulumi.Input[str] app_engine_integration_mode: The App Engine integration mode to use for this database.
|
682
797
|
Possible values are: `ENABLED`, `DISABLED`.
|
798
|
+
:param pulumi.Input[pulumi.InputType['DatabaseCmekConfigArgs']] cmek_config: The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
799
|
+
database. If not present, the database is secured by the default Google
|
800
|
+
encryption key.
|
801
|
+
Structure is documented below.
|
683
802
|
:param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
|
684
803
|
Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
|
685
804
|
:param pulumi.Input[str] delete_protection_state: State of delete protection for the database. When delete protection is enabled, this database cannot be deleted. The
|
@@ -771,6 +890,40 @@ class Database(pulumi.CustomResource):
|
|
771
890
|
deletion_policy="DELETE")
|
772
891
|
```
|
773
892
|
<!--End PulumiCodeChooser -->
|
893
|
+
### Firestore Cmek Database
|
894
|
+
|
895
|
+
<!--Start PulumiCodeChooser -->
|
896
|
+
```python
|
897
|
+
import pulumi
|
898
|
+
import pulumi_gcp as gcp
|
899
|
+
|
900
|
+
project = gcp.organizations.get_project()
|
901
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
902
|
+
name="kms-key-ring",
|
903
|
+
location="us")
|
904
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
905
|
+
name="kms-key",
|
906
|
+
key_ring=key_ring.id,
|
907
|
+
purpose="ENCRYPT_DECRYPT")
|
908
|
+
database = gcp.firestore.Database("database",
|
909
|
+
project="my-project-name",
|
910
|
+
name="cmek-database-id",
|
911
|
+
location_id="nam5",
|
912
|
+
type="FIRESTORE_NATIVE",
|
913
|
+
concurrency_mode="OPTIMISTIC",
|
914
|
+
app_engine_integration_mode="DISABLED",
|
915
|
+
point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
|
916
|
+
delete_protection_state="DELETE_PROTECTION_ENABLED",
|
917
|
+
deletion_policy="DELETE",
|
918
|
+
cmek_config=gcp.firestore.DatabaseCmekConfigArgs(
|
919
|
+
kms_key_name=crypto_key.id,
|
920
|
+
))
|
921
|
+
firestore_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("firestore_cmek_keyuser",
|
922
|
+
crypto_key_id=crypto_key.id,
|
923
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
924
|
+
members=[f"serviceAccount:service-{project.number}@gcp-sa-firestore.iam.gserviceaccount.com"])
|
925
|
+
```
|
926
|
+
<!--End PulumiCodeChooser -->
|
774
927
|
### Firestore Default Database In Datastore Mode
|
775
928
|
|
776
929
|
<!--Start PulumiCodeChooser -->
|
@@ -804,6 +957,40 @@ class Database(pulumi.CustomResource):
|
|
804
957
|
deletion_policy="DELETE")
|
805
958
|
```
|
806
959
|
<!--End PulumiCodeChooser -->
|
960
|
+
### Firestore Cmek Database In Datastore Mode
|
961
|
+
|
962
|
+
<!--Start PulumiCodeChooser -->
|
963
|
+
```python
|
964
|
+
import pulumi
|
965
|
+
import pulumi_gcp as gcp
|
966
|
+
|
967
|
+
project = gcp.organizations.get_project()
|
968
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
969
|
+
name="kms-key-ring",
|
970
|
+
location="us")
|
971
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
972
|
+
name="kms-key",
|
973
|
+
key_ring=key_ring.id,
|
974
|
+
purpose="ENCRYPT_DECRYPT")
|
975
|
+
database = gcp.firestore.Database("database",
|
976
|
+
project="my-project-name",
|
977
|
+
name="cmek-database-id",
|
978
|
+
location_id="nam5",
|
979
|
+
type="DATASTORE_MODE",
|
980
|
+
concurrency_mode="OPTIMISTIC",
|
981
|
+
app_engine_integration_mode="DISABLED",
|
982
|
+
point_in_time_recovery_enablement="POINT_IN_TIME_RECOVERY_ENABLED",
|
983
|
+
delete_protection_state="DELETE_PROTECTION_ENABLED",
|
984
|
+
deletion_policy="DELETE",
|
985
|
+
cmek_config=gcp.firestore.DatabaseCmekConfigArgs(
|
986
|
+
kms_key_name=crypto_key.id,
|
987
|
+
))
|
988
|
+
firestore_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("firestore_cmek_keyuser",
|
989
|
+
crypto_key_id=crypto_key.id,
|
990
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
991
|
+
members=[f"serviceAccount:service-{project.number}@gcp-sa-firestore.iam.gserviceaccount.com"])
|
992
|
+
```
|
993
|
+
<!--End PulumiCodeChooser -->
|
807
994
|
|
808
995
|
## Import
|
809
996
|
|
@@ -845,6 +1032,7 @@ class Database(pulumi.CustomResource):
|
|
845
1032
|
resource_name: str,
|
846
1033
|
opts: Optional[pulumi.ResourceOptions] = None,
|
847
1034
|
app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
|
1035
|
+
cmek_config: Optional[pulumi.Input[pulumi.InputType['DatabaseCmekConfigArgs']]] = None,
|
848
1036
|
concurrency_mode: Optional[pulumi.Input[str]] = None,
|
849
1037
|
delete_protection_state: Optional[pulumi.Input[str]] = None,
|
850
1038
|
deletion_policy: Optional[pulumi.Input[str]] = None,
|
@@ -863,6 +1051,7 @@ class Database(pulumi.CustomResource):
|
|
863
1051
|
__props__ = DatabaseArgs.__new__(DatabaseArgs)
|
864
1052
|
|
865
1053
|
__props__.__dict__["app_engine_integration_mode"] = app_engine_integration_mode
|
1054
|
+
__props__.__dict__["cmek_config"] = cmek_config
|
866
1055
|
__props__.__dict__["concurrency_mode"] = concurrency_mode
|
867
1056
|
__props__.__dict__["delete_protection_state"] = delete_protection_state
|
868
1057
|
__props__.__dict__["deletion_policy"] = deletion_policy
|
@@ -893,6 +1082,7 @@ class Database(pulumi.CustomResource):
|
|
893
1082
|
id: pulumi.Input[str],
|
894
1083
|
opts: Optional[pulumi.ResourceOptions] = None,
|
895
1084
|
app_engine_integration_mode: Optional[pulumi.Input[str]] = None,
|
1085
|
+
cmek_config: Optional[pulumi.Input[pulumi.InputType['DatabaseCmekConfigArgs']]] = None,
|
896
1086
|
concurrency_mode: Optional[pulumi.Input[str]] = None,
|
897
1087
|
create_time: Optional[pulumi.Input[str]] = None,
|
898
1088
|
delete_protection_state: Optional[pulumi.Input[str]] = None,
|
@@ -917,6 +1107,10 @@ class Database(pulumi.CustomResource):
|
|
917
1107
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
918
1108
|
:param pulumi.Input[str] app_engine_integration_mode: The App Engine integration mode to use for this database.
|
919
1109
|
Possible values are: `ENABLED`, `DISABLED`.
|
1110
|
+
:param pulumi.Input[pulumi.InputType['DatabaseCmekConfigArgs']] cmek_config: The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
1111
|
+
database. If not present, the database is secured by the default Google
|
1112
|
+
encryption key.
|
1113
|
+
Structure is documented below.
|
920
1114
|
:param pulumi.Input[str] concurrency_mode: The concurrency control mode to use for this database.
|
921
1115
|
Possible values are: `OPTIMISTIC`, `PESSIMISTIC`, `OPTIMISTIC_WITH_ENTITY_GROUPS`.
|
922
1116
|
:param pulumi.Input[str] create_time: Output only. The timestamp at which this database was created.
|
@@ -974,6 +1168,7 @@ class Database(pulumi.CustomResource):
|
|
974
1168
|
__props__ = _DatabaseState.__new__(_DatabaseState)
|
975
1169
|
|
976
1170
|
__props__.__dict__["app_engine_integration_mode"] = app_engine_integration_mode
|
1171
|
+
__props__.__dict__["cmek_config"] = cmek_config
|
977
1172
|
__props__.__dict__["concurrency_mode"] = concurrency_mode
|
978
1173
|
__props__.__dict__["create_time"] = create_time
|
979
1174
|
__props__.__dict__["delete_protection_state"] = delete_protection_state
|
@@ -1000,6 +1195,17 @@ class Database(pulumi.CustomResource):
|
|
1000
1195
|
"""
|
1001
1196
|
return pulumi.get(self, "app_engine_integration_mode")
|
1002
1197
|
|
1198
|
+
@property
|
1199
|
+
@pulumi.getter(name="cmekConfig")
|
1200
|
+
def cmek_config(self) -> pulumi.Output[Optional['outputs.DatabaseCmekConfig']]:
|
1201
|
+
"""
|
1202
|
+
The CMEK (Customer Managed Encryption Key) configuration for a Firestore
|
1203
|
+
database. If not present, the database is secured by the default Google
|
1204
|
+
encryption key.
|
1205
|
+
Structure is documented below.
|
1206
|
+
"""
|
1207
|
+
return pulumi.get(self, "cmek_config")
|
1208
|
+
|
1003
1209
|
@property
|
1004
1210
|
@pulumi.getter(name="concurrencyMode")
|
1005
1211
|
def concurrency_mode(self) -> pulumi.Output[str]:
|
pulumi_gcp/firestore/index.py
CHANGED
@@ -320,32 +320,18 @@ class Index(pulumi.CustomResource):
|
|
320
320
|
```python
|
321
321
|
import pulumi
|
322
322
|
import pulumi_gcp as gcp
|
323
|
-
|
324
|
-
|
325
|
-
project = gcp.organizations.Project("project",
|
326
|
-
project_id="project-id",
|
327
|
-
name="project-id",
|
328
|
-
org_id="123456789")
|
329
|
-
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s)
|
330
|
-
firestore = gcp.projects.Service("firestore",
|
331
|
-
project=project.project_id,
|
332
|
-
service="firestore.googleapis.com")
|
323
|
+
|
333
324
|
database = gcp.firestore.Database("database",
|
334
|
-
project=project
|
335
|
-
name="
|
325
|
+
project="my-project-name",
|
326
|
+
name="database-id",
|
336
327
|
location_id="nam5",
|
337
|
-
type="FIRESTORE_NATIVE"
|
338
|
-
|
339
|
-
|
340
|
-
project=project.project_id,
|
341
|
-
database=database.name,
|
342
|
-
collection="somenewcollection",
|
343
|
-
document_id="",
|
344
|
-
fields="{\\"something\\":{\\"mapValue\\":{\\"fields\\":{\\"akey\\":{\\"stringValue\\":\\"avalue\\"}}}}}")
|
328
|
+
type="FIRESTORE_NATIVE",
|
329
|
+
delete_protection_state="DELETE_PROTECTION_DISABLED",
|
330
|
+
deletion_policy="DELETE")
|
345
331
|
my_index = gcp.firestore.Index("my-index",
|
346
|
-
project=project
|
332
|
+
project="my-project-name",
|
347
333
|
database=database.name,
|
348
|
-
collection=
|
334
|
+
collection="atestcollection",
|
349
335
|
fields=[
|
350
336
|
gcp.firestore.IndexFieldArgs(
|
351
337
|
field_path="name",
|
@@ -365,10 +351,17 @@ class Index(pulumi.CustomResource):
|
|
365
351
|
import pulumi
|
366
352
|
import pulumi_gcp as gcp
|
367
353
|
|
354
|
+
database = gcp.firestore.Database("database",
|
355
|
+
project="my-project-name",
|
356
|
+
name="database-id-dm",
|
357
|
+
location_id="nam5",
|
358
|
+
type="DATASTORE_MODE",
|
359
|
+
delete_protection_state="DELETE_PROTECTION_DISABLED",
|
360
|
+
deletion_policy="DELETE")
|
368
361
|
my_index = gcp.firestore.Index("my-index",
|
369
362
|
project="my-project-name",
|
370
|
-
database=
|
371
|
-
collection="
|
363
|
+
database=database.name,
|
364
|
+
collection="atestcollection",
|
372
365
|
query_scope="COLLECTION_RECURSIVE",
|
373
366
|
api_scope="DATASTORE_MODE_API",
|
374
367
|
fields=[
|
@@ -449,32 +442,18 @@ class Index(pulumi.CustomResource):
|
|
449
442
|
```python
|
450
443
|
import pulumi
|
451
444
|
import pulumi_gcp as gcp
|
452
|
-
|
453
|
-
|
454
|
-
project = gcp.organizations.Project("project",
|
455
|
-
project_id="project-id",
|
456
|
-
name="project-id",
|
457
|
-
org_id="123456789")
|
458
|
-
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s)
|
459
|
-
firestore = gcp.projects.Service("firestore",
|
460
|
-
project=project.project_id,
|
461
|
-
service="firestore.googleapis.com")
|
445
|
+
|
462
446
|
database = gcp.firestore.Database("database",
|
463
|
-
project=project
|
464
|
-
name="
|
447
|
+
project="my-project-name",
|
448
|
+
name="database-id",
|
465
449
|
location_id="nam5",
|
466
|
-
type="FIRESTORE_NATIVE"
|
467
|
-
|
468
|
-
|
469
|
-
project=project.project_id,
|
470
|
-
database=database.name,
|
471
|
-
collection="somenewcollection",
|
472
|
-
document_id="",
|
473
|
-
fields="{\\"something\\":{\\"mapValue\\":{\\"fields\\":{\\"akey\\":{\\"stringValue\\":\\"avalue\\"}}}}}")
|
450
|
+
type="FIRESTORE_NATIVE",
|
451
|
+
delete_protection_state="DELETE_PROTECTION_DISABLED",
|
452
|
+
deletion_policy="DELETE")
|
474
453
|
my_index = gcp.firestore.Index("my-index",
|
475
|
-
project=project
|
454
|
+
project="my-project-name",
|
476
455
|
database=database.name,
|
477
|
-
collection=
|
456
|
+
collection="atestcollection",
|
478
457
|
fields=[
|
479
458
|
gcp.firestore.IndexFieldArgs(
|
480
459
|
field_path="name",
|
@@ -494,10 +473,17 @@ class Index(pulumi.CustomResource):
|
|
494
473
|
import pulumi
|
495
474
|
import pulumi_gcp as gcp
|
496
475
|
|
476
|
+
database = gcp.firestore.Database("database",
|
477
|
+
project="my-project-name",
|
478
|
+
name="database-id-dm",
|
479
|
+
location_id="nam5",
|
480
|
+
type="DATASTORE_MODE",
|
481
|
+
delete_protection_state="DELETE_PROTECTION_DISABLED",
|
482
|
+
deletion_policy="DELETE")
|
497
483
|
my_index = gcp.firestore.Index("my-index",
|
498
484
|
project="my-project-name",
|
499
|
-
database=
|
500
|
-
collection="
|
485
|
+
database=database.name,
|
486
|
+
collection="atestcollection",
|
501
487
|
query_scope="COLLECTION_RECURSIVE",
|
502
488
|
api_scope="DATASTORE_MODE_API",
|
503
489
|
fields=[
|
pulumi_gcp/firestore/outputs.py
CHANGED
@@ -13,6 +13,7 @@ from . import outputs
|
|
13
13
|
__all__ = [
|
14
14
|
'BackupScheduleDailyRecurrence',
|
15
15
|
'BackupScheduleWeeklyRecurrence',
|
16
|
+
'DatabaseCmekConfig',
|
16
17
|
'FieldIndexConfig',
|
17
18
|
'FieldIndexConfigIndex',
|
18
19
|
'FieldTtlConfig',
|
@@ -46,6 +47,85 @@ class BackupScheduleWeeklyRecurrence(dict):
|
|
46
47
|
return pulumi.get(self, "day")
|
47
48
|
|
48
49
|
|
50
|
+
@pulumi.output_type
|
51
|
+
class DatabaseCmekConfig(dict):
|
52
|
+
@staticmethod
|
53
|
+
def __key_warning(key: str):
|
54
|
+
suggest = None
|
55
|
+
if key == "kmsKeyName":
|
56
|
+
suggest = "kms_key_name"
|
57
|
+
elif key == "activeKeyVersions":
|
58
|
+
suggest = "active_key_versions"
|
59
|
+
|
60
|
+
if suggest:
|
61
|
+
pulumi.log.warn(f"Key '{key}' not found in DatabaseCmekConfig. Access the value via the '{suggest}' property getter instead.")
|
62
|
+
|
63
|
+
def __getitem__(self, key: str) -> Any:
|
64
|
+
DatabaseCmekConfig.__key_warning(key)
|
65
|
+
return super().__getitem__(key)
|
66
|
+
|
67
|
+
def get(self, key: str, default = None) -> Any:
|
68
|
+
DatabaseCmekConfig.__key_warning(key)
|
69
|
+
return super().get(key, default)
|
70
|
+
|
71
|
+
def __init__(__self__, *,
|
72
|
+
kms_key_name: str,
|
73
|
+
active_key_versions: Optional[Sequence[str]] = None):
|
74
|
+
"""
|
75
|
+
:param str kms_key_name: The resource ID of a Cloud KMS key. If set, the database created will
|
76
|
+
be a Customer-managed Encryption Key (CMEK) database encrypted with
|
77
|
+
this key. This feature is allowlist only in initial launch.
|
78
|
+
Only keys in the same location as this database are allowed to be used
|
79
|
+
for encryption. For Firestore's nam5 multi-region, this corresponds to Cloud KMS
|
80
|
+
multi-region us. For Firestore's eur3 multi-region, this corresponds to
|
81
|
+
Cloud KMS multi-region europe. See https://cloud.google.com/kms/docs/locations.
|
82
|
+
This value should be the KMS key resource ID in the format of
|
83
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
|
84
|
+
How to retrive this resource ID is listed at
|
85
|
+
https://cloud.google.com/kms/docs/getting-resource-ids#getting_the_id_for_a_key_and_version.
|
86
|
+
:param Sequence[str] active_key_versions: (Output)
|
87
|
+
Currently in-use KMS key versions (https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
|
88
|
+
During key rotation (https://cloud.google.com/kms/docs/key-rotation), there can be
|
89
|
+
multiple in-use key versions.
|
90
|
+
The expected format is
|
91
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
|
92
|
+
"""
|
93
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
94
|
+
if active_key_versions is not None:
|
95
|
+
pulumi.set(__self__, "active_key_versions", active_key_versions)
|
96
|
+
|
97
|
+
@property
|
98
|
+
@pulumi.getter(name="kmsKeyName")
|
99
|
+
def kms_key_name(self) -> str:
|
100
|
+
"""
|
101
|
+
The resource ID of a Cloud KMS key. If set, the database created will
|
102
|
+
be a Customer-managed Encryption Key (CMEK) database encrypted with
|
103
|
+
this key. This feature is allowlist only in initial launch.
|
104
|
+
Only keys in the same location as this database are allowed to be used
|
105
|
+
for encryption. For Firestore's nam5 multi-region, this corresponds to Cloud KMS
|
106
|
+
multi-region us. For Firestore's eur3 multi-region, this corresponds to
|
107
|
+
Cloud KMS multi-region europe. See https://cloud.google.com/kms/docs/locations.
|
108
|
+
This value should be the KMS key resource ID in the format of
|
109
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
|
110
|
+
How to retrive this resource ID is listed at
|
111
|
+
https://cloud.google.com/kms/docs/getting-resource-ids#getting_the_id_for_a_key_and_version.
|
112
|
+
"""
|
113
|
+
return pulumi.get(self, "kms_key_name")
|
114
|
+
|
115
|
+
@property
|
116
|
+
@pulumi.getter(name="activeKeyVersions")
|
117
|
+
def active_key_versions(self) -> Optional[Sequence[str]]:
|
118
|
+
"""
|
119
|
+
(Output)
|
120
|
+
Currently in-use KMS key versions (https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
|
121
|
+
During key rotation (https://cloud.google.com/kms/docs/key-rotation), there can be
|
122
|
+
multiple in-use key versions.
|
123
|
+
The expected format is
|
124
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
|
125
|
+
"""
|
126
|
+
return pulumi.get(self, "active_key_versions")
|
127
|
+
|
128
|
+
|
49
129
|
@pulumi.output_type
|
50
130
|
class FieldIndexConfig(dict):
|
51
131
|
def __init__(__self__, *,
|
pulumi_gcp/gkeonprem/_inputs.py
CHANGED
@@ -4904,8 +4904,7 @@ class VMwareClusterNetworkConfigArgs:
|
|
4904
4904
|
Structure is documented below.
|
4905
4905
|
:param pulumi.Input['VMwareClusterNetworkConfigStaticIpConfigArgs'] static_ip_config: Configuration settings for a static IP configuration.
|
4906
4906
|
Structure is documented below.
|
4907
|
-
:param pulumi.Input[str] vcenter_network:
|
4908
|
-
vcenter_network specifies vCenter network name. Inherited from the admin cluster.
|
4907
|
+
:param pulumi.Input[str] vcenter_network: vcenter_network specifies vCenter network name. Inherited from the admin cluster.
|
4909
4908
|
"""
|
4910
4909
|
pulumi.set(__self__, "pod_address_cidr_blocks", pod_address_cidr_blocks)
|
4911
4910
|
pulumi.set(__self__, "service_address_cidr_blocks", service_address_cidr_blocks)
|
@@ -5003,7 +5002,6 @@ class VMwareClusterNetworkConfigArgs:
|
|
5003
5002
|
@pulumi.getter(name="vcenterNetwork")
|
5004
5003
|
def vcenter_network(self) -> Optional[pulumi.Input[str]]:
|
5005
5004
|
"""
|
5006
|
-
(Output)
|
5007
5005
|
vcenter_network specifies vCenter network name. Inherited from the admin cluster.
|
5008
5006
|
"""
|
5009
5007
|
return pulumi.get(self, "vcenter_network")
|
pulumi_gcp/gkeonprem/outputs.py
CHANGED
@@ -5361,8 +5361,7 @@ class VMwareClusterNetworkConfig(dict):
|
|
5361
5361
|
Structure is documented below.
|
5362
5362
|
:param 'VMwareClusterNetworkConfigStaticIpConfigArgs' static_ip_config: Configuration settings for a static IP configuration.
|
5363
5363
|
Structure is documented below.
|
5364
|
-
:param str vcenter_network:
|
5365
|
-
vcenter_network specifies vCenter network name. Inherited from the admin cluster.
|
5364
|
+
:param str vcenter_network: vcenter_network specifies vCenter network name. Inherited from the admin cluster.
|
5366
5365
|
"""
|
5367
5366
|
pulumi.set(__self__, "pod_address_cidr_blocks", pod_address_cidr_blocks)
|
5368
5367
|
pulumi.set(__self__, "service_address_cidr_blocks", service_address_cidr_blocks)
|
@@ -5436,7 +5435,6 @@ class VMwareClusterNetworkConfig(dict):
|
|
5436
5435
|
@pulumi.getter(name="vcenterNetwork")
|
5437
5436
|
def vcenter_network(self) -> Optional[str]:
|
5438
5437
|
"""
|
5439
|
-
(Output)
|
5440
5438
|
vcenter_network specifies vCenter network name. Inherited from the admin cluster.
|
5441
5439
|
"""
|
5442
5440
|
return pulumi.get(self, "vcenter_network")
|
@@ -1093,6 +1093,7 @@ class VMwareCluster(pulumi.CustomResource):
|
|
1093
1093
|
gateway="test-gateway",
|
1094
1094
|
),
|
1095
1095
|
),
|
1096
|
+
vcenter_network="test-vcenter-network",
|
1096
1097
|
),
|
1097
1098
|
control_plane_node=gcp.gkeonprem.VMwareClusterControlPlaneNodeArgs(
|
1098
1099
|
cpus=4,
|
@@ -1399,6 +1400,7 @@ class VMwareCluster(pulumi.CustomResource):
|
|
1399
1400
|
gateway="test-gateway",
|
1400
1401
|
),
|
1401
1402
|
),
|
1403
|
+
vcenter_network="test-vcenter-network",
|
1402
1404
|
),
|
1403
1405
|
control_plane_node=gcp.gkeonprem.VMwareClusterControlPlaneNodeArgs(
|
1404
1406
|
cpus=4,
|
pulumi_gcp/iap/__init__.py
CHANGED
@@ -16,6 +16,7 @@ from .client import *
|
|
16
16
|
from .get_app_engine_service_iam_policy import *
|
17
17
|
from .get_app_engine_version_iam_policy import *
|
18
18
|
from .get_client import *
|
19
|
+
from .get_tunnel_dest_group_iam_policy import *
|
19
20
|
from .get_tunnel_iam_policy import *
|
20
21
|
from .get_tunnel_instance_iam_policy import *
|
21
22
|
from .get_web_backend_service_iam_policy import *
|
@@ -23,6 +24,10 @@ from .get_web_iam_policy import *
|
|
23
24
|
from .get_web_region_backend_service_iam_policy import *
|
24
25
|
from .get_web_type_app_engine_iam_policy import *
|
25
26
|
from .get_web_type_compute_iam_policy import *
|
27
|
+
from .tunnel_dest_group import *
|
28
|
+
from .tunnel_dest_group_iam_binding import *
|
29
|
+
from .tunnel_dest_group_iam_member import *
|
30
|
+
from .tunnel_dest_group_iam_policy import *
|
26
31
|
from .tunnel_iam_binding import *
|
27
32
|
from .tunnel_iam_member import *
|
28
33
|
from .tunnel_iam_policy import *
|