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.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +102 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  10. pulumi_gcp/apphub/__init__.py +15 -0
  11. pulumi_gcp/apphub/_inputs.py +1016 -0
  12. pulumi_gcp/apphub/application.py +775 -0
  13. pulumi_gcp/apphub/get_discovered_service.py +180 -0
  14. pulumi_gcp/apphub/get_discovered_workload.py +180 -0
  15. pulumi_gcp/apphub/outputs.py +1206 -0
  16. pulumi_gcp/apphub/service.py +1121 -0
  17. pulumi_gcp/apphub/service_project_attachment.py +516 -0
  18. pulumi_gcp/apphub/workload.py +1197 -0
  19. pulumi_gcp/cloudquota/__init__.py +10 -0
  20. pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
  21. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  22. pulumi_gcp/cloudquota/outputs.py +375 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +85 -4
  24. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  25. pulumi_gcp/cloudrunv2/outputs.py +165 -6
  26. pulumi_gcp/cloudrunv2/service.py +60 -6
  27. pulumi_gcp/composer/_inputs.py +16 -0
  28. pulumi_gcp/composer/outputs.py +23 -0
  29. pulumi_gcp/compute/_inputs.py +109 -11
  30. pulumi_gcp/compute/outputs.py +144 -13
  31. pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
  32. pulumi_gcp/compute/region_url_map.py +152 -0
  33. pulumi_gcp/config/__init__.pyi +4 -0
  34. pulumi_gcp/config/vars.py +8 -0
  35. pulumi_gcp/dataform/repository.py +4 -74
  36. pulumi_gcp/firebase/__init__.py +1 -0
  37. pulumi_gcp/firebase/android_app.py +41 -40
  38. pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
  39. pulumi_gcp/firestore/_inputs.py +69 -0
  40. pulumi_gcp/firestore/database.py +206 -0
  41. pulumi_gcp/firestore/index.py +34 -48
  42. pulumi_gcp/firestore/outputs.py +80 -0
  43. pulumi_gcp/gkeonprem/_inputs.py +1 -3
  44. pulumi_gcp/gkeonprem/outputs.py +1 -3
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
  46. pulumi_gcp/iap/__init__.py +5 -0
  47. pulumi_gcp/iap/_inputs.py +100 -0
  48. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
  49. pulumi_gcp/iap/outputs.py +76 -0
  50. pulumi_gcp/iap/tunnel_dest_group.py +524 -0
  51. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
  52. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
  53. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/_inputs.py +246 -0
  56. pulumi_gcp/kms/ekm_connection.py +610 -0
  57. pulumi_gcp/kms/outputs.py +242 -0
  58. pulumi_gcp/monitoring/_inputs.py +2 -0
  59. pulumi_gcp/monitoring/outputs.py +2 -0
  60. pulumi_gcp/networksecurity/__init__.py +1 -0
  61. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  62. pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
  63. pulumi_gcp/notebooks/instance.py +8 -0
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +40 -0
  66. pulumi_gcp/pubsub/_inputs.py +108 -0
  67. pulumi_gcp/pubsub/get_topic.py +11 -1
  68. pulumi_gcp/pubsub/outputs.py +213 -0
  69. pulumi_gcp/pubsub/subscription.py +4 -4
  70. pulumi_gcp/pubsub/topic.py +92 -0
  71. pulumi_gcp/securityposture/posture.py +2 -2
  72. pulumi_gcp/securityposture/posture_deployment.py +2 -2
  73. pulumi_gcp/storage/_inputs.py +72 -15
  74. pulumi_gcp/storage/bucket.py +54 -0
  75. pulumi_gcp/storage/get_bucket.py +11 -1
  76. pulumi_gcp/storage/outputs.py +110 -14
  77. pulumi_gcp/workstations/_inputs.py +247 -4
  78. pulumi_gcp/workstations/outputs.py +261 -5
  79. pulumi_gcp/workstations/workstation_config.py +160 -0
  80. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
  82. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -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]:
@@ -320,32 +320,18 @@ class Index(pulumi.CustomResource):
320
320
  ```python
321
321
  import pulumi
322
322
  import pulumi_gcp as gcp
323
- import pulumi_time as time
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.project_id,
335
- name="(default)",
325
+ project="my-project-name",
326
+ name="database-id",
336
327
  location_id="nam5",
337
- type="FIRESTORE_NATIVE")
338
- # Creating a document also creates its collection
339
- document = gcp.firestore.Document("document",
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.project_id,
332
+ project="my-project-name",
347
333
  database=database.name,
348
- collection=document.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="(default)",
371
- collection="chatrooms",
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
- import pulumi_time as time
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.project_id,
464
- name="(default)",
447
+ project="my-project-name",
448
+ name="database-id",
465
449
  location_id="nam5",
466
- type="FIRESTORE_NATIVE")
467
- # Creating a document also creates its collection
468
- document = gcp.firestore.Document("document",
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.project_id,
454
+ project="my-project-name",
476
455
  database=database.name,
477
- collection=document.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="(default)",
500
- collection="chatrooms",
485
+ database=database.name,
486
+ collection="atestcollection",
501
487
  query_scope="COLLECTION_RECURSIVE",
502
488
  api_scope="DATASTORE_MODE_API",
503
489
  fields=[
@@ -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__, *,
@@ -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: (Output)
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")
@@ -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: (Output)
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,
@@ -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 *