pulumi-gcp 8.21.0a1741070272__py3-none-any.whl → 8.21.0a1741156431__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 (50) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/alloydb/__init__.py +1 -0
  3. pulumi_gcp/alloydb/get_cluster.py +491 -0
  4. pulumi_gcp/alloydb/outputs.py +808 -0
  5. pulumi_gcp/appengine/_inputs.py +3 -3
  6. pulumi_gcp/appengine/outputs.py +2 -2
  7. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  8. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  9. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  10. pulumi_gcp/bigquery/_inputs.py +6 -8
  11. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  12. pulumi_gcp/bigquery/outputs.py +4 -5
  13. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  14. pulumi_gcp/composer/get_environment.py +12 -0
  15. pulumi_gcp/composer/get_image_versions.py +12 -0
  16. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  17. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  18. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  19. pulumi_gcp/datacatalog/entry_group.py +4 -0
  20. pulumi_gcp/datacatalog/tag_template.py +4 -0
  21. pulumi_gcp/developerconnect/_inputs.py +575 -0
  22. pulumi_gcp/developerconnect/connection.py +200 -0
  23. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  24. pulumi_gcp/developerconnect/outputs.py +461 -0
  25. pulumi_gcp/gemini/__init__.py +1 -0
  26. pulumi_gcp/gemini/data_sharing_with_google_setting.py +6 -0
  27. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  28. pulumi_gcp/gemini/logging_setting.py +4 -0
  29. pulumi_gcp/gemini/logging_setting_binding.py +12 -0
  30. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  31. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  32. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  33. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  34. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  35. pulumi_gcp/projects/__init__.py +1 -0
  36. pulumi_gcp/projects/get_ancestry.py +150 -0
  37. pulumi_gcp/projects/outputs.py +30 -0
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/redis/cluster.py +211 -94
  40. pulumi_gcp/secretmanager/secret_version.py +73 -23
  41. pulumi_gcp/spanner/__init__.py +1 -0
  42. pulumi_gcp/spanner/instance_partition.py +658 -0
  43. pulumi_gcp/sql/user.py +20 -14
  44. pulumi_gcp/tpu/_inputs.py +150 -1
  45. pulumi_gcp/tpu/outputs.py +114 -1
  46. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  47. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/METADATA +1 -1
  48. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/RECORD +50 -46
  49. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/WHEEL +0 -0
  50. {pulumi_gcp-8.21.0a1741070272.dist-info → pulumi_gcp-8.21.0a1741156431.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,7 @@ class ClusterArgs:
25
25
  authorization_mode: Optional[pulumi.Input[str]] = None,
26
26
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
27
27
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
28
+ kms_key: Optional[pulumi.Input[str]] = None,
28
29
  maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
29
30
  name: Optional[pulumi.Input[str]] = None,
30
31
  node_type: Optional[pulumi.Input[str]] = None,
@@ -47,6 +48,7 @@ class ClusterArgs:
47
48
  :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
48
49
  If the value if set to true, any delete cluster operation will fail.
49
50
  Default value is true.
51
+ :param pulumi.Input[str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
50
52
  :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
51
53
  Structure is documented below.
52
54
  :param pulumi.Input[str] name: Unique name of the resource in this scope including project and location using the form:
@@ -84,6 +86,8 @@ class ClusterArgs:
84
86
  pulumi.set(__self__, "cross_cluster_replication_config", cross_cluster_replication_config)
85
87
  if deletion_protection_enabled is not None:
86
88
  pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled)
89
+ if kms_key is not None:
90
+ pulumi.set(__self__, "kms_key", kms_key)
87
91
  if maintenance_policy is not None:
88
92
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
89
93
  if name is not None:
@@ -160,6 +164,18 @@ class ClusterArgs:
160
164
  def deletion_protection_enabled(self, value: Optional[pulumi.Input[bool]]):
161
165
  pulumi.set(self, "deletion_protection_enabled", value)
162
166
 
167
+ @property
168
+ @pulumi.getter(name="kmsKey")
169
+ def kms_key(self) -> Optional[pulumi.Input[str]]:
170
+ """
171
+ The KMS key used to encrypt the at-rest data of the cluster.
172
+ """
173
+ return pulumi.get(self, "kms_key")
174
+
175
+ @kms_key.setter
176
+ def kms_key(self, value: Optional[pulumi.Input[str]]):
177
+ pulumi.set(self, "kms_key", value)
178
+
163
179
  @property
164
180
  @pulumi.getter(name="maintenancePolicy")
165
181
  def maintenance_policy(self) -> Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]:
@@ -319,6 +335,7 @@ class _ClusterState:
319
335
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
320
336
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
321
337
  discovery_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]]] = None,
338
+ kms_key: Optional[pulumi.Input[str]] = None,
322
339
  maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
323
340
  maintenance_schedules: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]]] = None,
324
341
  name: Optional[pulumi.Input[str]] = None,
@@ -356,6 +373,7 @@ class _ClusterState:
356
373
  for Redis clients to connect to the cluster.
357
374
  Currently only one endpoint is supported.
358
375
  Structure is documented below.
376
+ :param pulumi.Input[str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
359
377
  :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
360
378
  Structure is documented below.
361
379
  :param pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]] maintenance_schedules: Upcoming maintenance schedule.
@@ -409,6 +427,8 @@ class _ClusterState:
409
427
  pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled)
410
428
  if discovery_endpoints is not None:
411
429
  pulumi.set(__self__, "discovery_endpoints", discovery_endpoints)
430
+ if kms_key is not None:
431
+ pulumi.set(__self__, "kms_key", kms_key)
412
432
  if maintenance_policy is not None:
413
433
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
414
434
  if maintenance_schedules is not None:
@@ -520,6 +540,18 @@ class _ClusterState:
520
540
  def discovery_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]]]):
521
541
  pulumi.set(self, "discovery_endpoints", value)
522
542
 
543
+ @property
544
+ @pulumi.getter(name="kmsKey")
545
+ def kms_key(self) -> Optional[pulumi.Input[str]]:
546
+ """
547
+ The KMS key used to encrypt the at-rest data of the cluster.
548
+ """
549
+ return pulumi.get(self, "kms_key")
550
+
551
+ @kms_key.setter
552
+ def kms_key(self, value: Optional[pulumi.Input[str]]):
553
+ pulumi.set(self, "kms_key", value)
554
+
523
555
  @property
524
556
  @pulumi.getter(name="maintenancePolicy")
525
557
  def maintenance_policy(self) -> Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]:
@@ -791,6 +823,7 @@ class Cluster(pulumi.CustomResource):
791
823
  authorization_mode: Optional[pulumi.Input[str]] = None,
792
824
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
793
825
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
826
+ kms_key: Optional[pulumi.Input[str]] = None,
794
827
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
795
828
  name: Optional[pulumi.Input[str]] = None,
796
829
  node_type: Optional[pulumi.Input[str]] = None,
@@ -813,28 +846,28 @@ class Cluster(pulumi.CustomResource):
813
846
  import pulumi
814
847
  import pulumi_gcp as gcp
815
848
 
816
- producer_net = gcp.compute.Network("producer_net",
817
- name="mynetwork",
849
+ consumer_net = gcp.compute.Network("consumer_net",
850
+ name="my-network",
818
851
  auto_create_subnetworks=False)
819
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
820
- name="mysubnet",
852
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
853
+ name="my-subnet",
821
854
  ip_cidr_range="10.0.0.248/29",
822
855
  region="us-central1",
823
- network=producer_net.id)
856
+ network=consumer_net.id)
824
857
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
825
- name="mypolicy",
858
+ name="my-policy",
826
859
  location="us-central1",
827
860
  service_class="gcp-memorystore-redis",
828
861
  description="my basic service connection policy",
829
- network=producer_net.id,
862
+ network=consumer_net.id,
830
863
  psc_config={
831
- "subnetworks": [producer_subnet.id],
864
+ "subnetworks": [consumer_subnet.id],
832
865
  })
833
866
  cluster_ha = gcp.redis.Cluster("cluster-ha",
834
867
  name="ha-cluster",
835
868
  shard_count=3,
836
869
  psc_configs=[{
837
- "network": producer_net.id,
870
+ "network": consumer_net.id,
838
871
  }],
839
872
  region="us-central1",
840
873
  replica_count=1,
@@ -867,28 +900,28 @@ class Cluster(pulumi.CustomResource):
867
900
  import pulumi
868
901
  import pulumi_gcp as gcp
869
902
 
870
- producer_net = gcp.compute.Network("producer_net",
871
- name="mynetwork",
903
+ consumer_net = gcp.compute.Network("consumer_net",
904
+ name="my-network",
872
905
  auto_create_subnetworks=False)
873
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
874
- name="mysubnet",
906
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
907
+ name="my-subnet",
875
908
  ip_cidr_range="10.0.0.248/29",
876
909
  region="us-central1",
877
- network=producer_net.id)
910
+ network=consumer_net.id)
878
911
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
879
- name="mypolicy",
912
+ name="my-policy",
880
913
  location="us-central1",
881
914
  service_class="gcp-memorystore-redis",
882
915
  description="my basic service connection policy",
883
- network=producer_net.id,
916
+ network=consumer_net.id,
884
917
  psc_config={
885
- "subnetworks": [producer_subnet.id],
918
+ "subnetworks": [consumer_subnet.id],
886
919
  })
887
920
  cluster_ha_single_zone = gcp.redis.Cluster("cluster-ha-single-zone",
888
921
  name="ha-cluster-single-zone",
889
922
  shard_count=3,
890
923
  psc_configs=[{
891
- "network": producer_net.id,
924
+ "network": consumer_net.id,
892
925
  }],
893
926
  region="us-central1",
894
927
  zone_distribution_config={
@@ -915,29 +948,29 @@ class Cluster(pulumi.CustomResource):
915
948
  import pulumi
916
949
  import pulumi_gcp as gcp
917
950
 
918
- producer_net = gcp.compute.Network("producer_net",
951
+ consumer_net = gcp.compute.Network("consumer_net",
919
952
  name="mynetwork",
920
953
  auto_create_subnetworks=False)
921
- primary_cluster_producer_subnet = gcp.compute.Subnetwork("primary_cluster_producer_subnet",
954
+ primary_cluster_consumer_subnet = gcp.compute.Subnetwork("primary_cluster_consumer_subnet",
922
955
  name="mysubnet-primary-cluster",
923
956
  ip_cidr_range="10.0.1.0/29",
924
957
  region="us-east1",
925
- network=producer_net.id)
958
+ network=consumer_net.id)
926
959
  primary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("primary_cluster_region_scp",
927
960
  name="mypolicy-primary-cluster",
928
961
  location="us-east1",
929
962
  service_class="gcp-memorystore-redis",
930
963
  description="Primary cluster service connection policy",
931
- network=producer_net.id,
964
+ network=consumer_net.id,
932
965
  psc_config={
933
- "subnetworks": [primary_cluster_producer_subnet.id],
966
+ "subnetworks": [primary_cluster_consumer_subnet.id],
934
967
  })
935
968
  # Primary cluster
936
969
  primary_cluster = gcp.redis.Cluster("primary_cluster",
937
970
  name="my-primary-cluster",
938
971
  region="us-east1",
939
972
  psc_configs=[{
940
- "network": producer_net.id,
973
+ "network": consumer_net.id,
941
974
  }],
942
975
  authorization_mode="AUTH_MODE_DISABLED",
943
976
  transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
@@ -970,26 +1003,26 @@ class Cluster(pulumi.CustomResource):
970
1003
  },
971
1004
  deletion_protection_enabled=True,
972
1005
  opts = pulumi.ResourceOptions(depends_on=[primary_cluster_region_scp]))
973
- secondary_cluster_producer_subnet = gcp.compute.Subnetwork("secondary_cluster_producer_subnet",
1006
+ secondary_cluster_consumer_subnet = gcp.compute.Subnetwork("secondary_cluster_consumer_subnet",
974
1007
  name="mysubnet-secondary-cluster",
975
1008
  ip_cidr_range="10.0.2.0/29",
976
1009
  region="europe-west1",
977
- network=producer_net.id)
1010
+ network=consumer_net.id)
978
1011
  secondary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp",
979
1012
  name="mypolicy-secondary-cluster",
980
1013
  location="europe-west1",
981
1014
  service_class="gcp-memorystore-redis",
982
1015
  description="Secondary cluster service connection policy",
983
- network=producer_net.id,
1016
+ network=consumer_net.id,
984
1017
  psc_config={
985
- "subnetworks": [secondary_cluster_producer_subnet.id],
1018
+ "subnetworks": [secondary_cluster_consumer_subnet.id],
986
1019
  })
987
1020
  # Secondary cluster
988
1021
  secondary_cluster = gcp.redis.Cluster("secondary_cluster",
989
1022
  name="my-secondary-cluster",
990
1023
  region="europe-west1",
991
1024
  psc_configs=[{
992
- "network": producer_net.id,
1025
+ "network": consumer_net.id,
993
1026
  }],
994
1027
  authorization_mode="AUTH_MODE_DISABLED",
995
1028
  transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
@@ -1035,28 +1068,28 @@ class Cluster(pulumi.CustomResource):
1035
1068
  import pulumi
1036
1069
  import pulumi_gcp as gcp
1037
1070
 
1038
- producer_net = gcp.compute.Network("producer_net",
1039
- name="mynetwork",
1071
+ consumer_net = gcp.compute.Network("consumer_net",
1072
+ name="my-network",
1040
1073
  auto_create_subnetworks=False)
1041
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1042
- name="mysubnet",
1074
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1075
+ name="my-subnet",
1043
1076
  ip_cidr_range="10.0.0.248/29",
1044
1077
  region="us-central1",
1045
- network=producer_net.id)
1078
+ network=consumer_net.id)
1046
1079
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1047
- name="mypolicy",
1080
+ name="my-policy",
1048
1081
  location="us-central1",
1049
1082
  service_class="gcp-memorystore-redis",
1050
1083
  description="my basic service connection policy",
1051
- network=producer_net.id,
1084
+ network=consumer_net.id,
1052
1085
  psc_config={
1053
- "subnetworks": [producer_subnet.id],
1086
+ "subnetworks": [consumer_subnet.id],
1054
1087
  })
1055
1088
  cluster_rdb = gcp.redis.Cluster("cluster-rdb",
1056
1089
  name="rdb-cluster",
1057
1090
  shard_count=3,
1058
1091
  psc_configs=[{
1059
- "network": producer_net.id,
1092
+ "network": consumer_net.id,
1060
1093
  }],
1061
1094
  region="us-central1",
1062
1095
  replica_count=0,
@@ -1096,28 +1129,28 @@ class Cluster(pulumi.CustomResource):
1096
1129
  import pulumi
1097
1130
  import pulumi_gcp as gcp
1098
1131
 
1099
- producer_net = gcp.compute.Network("producer_net",
1100
- name="mynetwork",
1132
+ consumer_net = gcp.compute.Network("consumer_net",
1133
+ name="my-network",
1101
1134
  auto_create_subnetworks=False)
1102
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1103
- name="mysubnet",
1135
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1136
+ name="my-subnet",
1104
1137
  ip_cidr_range="10.0.0.248/29",
1105
1138
  region="us-central1",
1106
- network=producer_net.id)
1139
+ network=consumer_net.id)
1107
1140
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1108
- name="mypolicy",
1141
+ name="my-policy",
1109
1142
  location="us-central1",
1110
1143
  service_class="gcp-memorystore-redis",
1111
1144
  description="my basic service connection policy",
1112
- network=producer_net.id,
1145
+ network=consumer_net.id,
1113
1146
  psc_config={
1114
- "subnetworks": [producer_subnet.id],
1147
+ "subnetworks": [consumer_subnet.id],
1115
1148
  })
1116
1149
  cluster_aof = gcp.redis.Cluster("cluster-aof",
1117
1150
  name="aof-cluster",
1118
1151
  shard_count=3,
1119
1152
  psc_configs=[{
1120
- "network": producer_net.id,
1153
+ "network": consumer_net.id,
1121
1154
  }],
1122
1155
  region="us-central1",
1123
1156
  replica_count=0,
@@ -1150,6 +1183,41 @@ class Cluster(pulumi.CustomResource):
1150
1183
  },
1151
1184
  opts = pulumi.ResourceOptions(depends_on=[default]))
1152
1185
  ```
1186
+ ### Redis Cluster Cmek
1187
+
1188
+ ```python
1189
+ import pulumi
1190
+ import pulumi_gcp as gcp
1191
+
1192
+ consumer_net = gcp.compute.Network("consumer_net",
1193
+ name="my-network",
1194
+ auto_create_subnetworks=False)
1195
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1196
+ name="my-subnet",
1197
+ ip_cidr_range="10.0.0.248/29",
1198
+ region="us-central1",
1199
+ network=consumer_net.id)
1200
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1201
+ name="my-policy",
1202
+ location="us-central1",
1203
+ service_class="gcp-memorystore-redis",
1204
+ description="my basic service connection policy",
1205
+ network=consumer_net.id,
1206
+ psc_config={
1207
+ "subnetworks": [consumer_subnet.id],
1208
+ })
1209
+ cluster_cmek = gcp.redis.Cluster("cluster-cmek",
1210
+ name="cmek-cluster",
1211
+ shard_count=3,
1212
+ psc_configs=[{
1213
+ "network": consumer_net.id,
1214
+ }],
1215
+ kms_key="my-key",
1216
+ region="us-central1",
1217
+ deletion_protection_enabled=True,
1218
+ opts = pulumi.ResourceOptions(depends_on=[default]))
1219
+ project = gcp.organizations.get_project()
1220
+ ```
1153
1221
 
1154
1222
  ## Import
1155
1223
 
@@ -1191,6 +1259,7 @@ class Cluster(pulumi.CustomResource):
1191
1259
  :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
1192
1260
  If the value if set to true, any delete cluster operation will fail.
1193
1261
  Default value is true.
1262
+ :param pulumi.Input[str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
1194
1263
  :param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
1195
1264
  Structure is documented below.
1196
1265
  :param pulumi.Input[str] name: Unique name of the resource in this scope including project and location using the form:
@@ -1237,28 +1306,28 @@ class Cluster(pulumi.CustomResource):
1237
1306
  import pulumi
1238
1307
  import pulumi_gcp as gcp
1239
1308
 
1240
- producer_net = gcp.compute.Network("producer_net",
1241
- name="mynetwork",
1309
+ consumer_net = gcp.compute.Network("consumer_net",
1310
+ name="my-network",
1242
1311
  auto_create_subnetworks=False)
1243
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1244
- name="mysubnet",
1312
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1313
+ name="my-subnet",
1245
1314
  ip_cidr_range="10.0.0.248/29",
1246
1315
  region="us-central1",
1247
- network=producer_net.id)
1316
+ network=consumer_net.id)
1248
1317
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1249
- name="mypolicy",
1318
+ name="my-policy",
1250
1319
  location="us-central1",
1251
1320
  service_class="gcp-memorystore-redis",
1252
1321
  description="my basic service connection policy",
1253
- network=producer_net.id,
1322
+ network=consumer_net.id,
1254
1323
  psc_config={
1255
- "subnetworks": [producer_subnet.id],
1324
+ "subnetworks": [consumer_subnet.id],
1256
1325
  })
1257
1326
  cluster_ha = gcp.redis.Cluster("cluster-ha",
1258
1327
  name="ha-cluster",
1259
1328
  shard_count=3,
1260
1329
  psc_configs=[{
1261
- "network": producer_net.id,
1330
+ "network": consumer_net.id,
1262
1331
  }],
1263
1332
  region="us-central1",
1264
1333
  replica_count=1,
@@ -1291,28 +1360,28 @@ class Cluster(pulumi.CustomResource):
1291
1360
  import pulumi
1292
1361
  import pulumi_gcp as gcp
1293
1362
 
1294
- producer_net = gcp.compute.Network("producer_net",
1295
- name="mynetwork",
1363
+ consumer_net = gcp.compute.Network("consumer_net",
1364
+ name="my-network",
1296
1365
  auto_create_subnetworks=False)
1297
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1298
- name="mysubnet",
1366
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1367
+ name="my-subnet",
1299
1368
  ip_cidr_range="10.0.0.248/29",
1300
1369
  region="us-central1",
1301
- network=producer_net.id)
1370
+ network=consumer_net.id)
1302
1371
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1303
- name="mypolicy",
1372
+ name="my-policy",
1304
1373
  location="us-central1",
1305
1374
  service_class="gcp-memorystore-redis",
1306
1375
  description="my basic service connection policy",
1307
- network=producer_net.id,
1376
+ network=consumer_net.id,
1308
1377
  psc_config={
1309
- "subnetworks": [producer_subnet.id],
1378
+ "subnetworks": [consumer_subnet.id],
1310
1379
  })
1311
1380
  cluster_ha_single_zone = gcp.redis.Cluster("cluster-ha-single-zone",
1312
1381
  name="ha-cluster-single-zone",
1313
1382
  shard_count=3,
1314
1383
  psc_configs=[{
1315
- "network": producer_net.id,
1384
+ "network": consumer_net.id,
1316
1385
  }],
1317
1386
  region="us-central1",
1318
1387
  zone_distribution_config={
@@ -1339,29 +1408,29 @@ class Cluster(pulumi.CustomResource):
1339
1408
  import pulumi
1340
1409
  import pulumi_gcp as gcp
1341
1410
 
1342
- producer_net = gcp.compute.Network("producer_net",
1411
+ consumer_net = gcp.compute.Network("consumer_net",
1343
1412
  name="mynetwork",
1344
1413
  auto_create_subnetworks=False)
1345
- primary_cluster_producer_subnet = gcp.compute.Subnetwork("primary_cluster_producer_subnet",
1414
+ primary_cluster_consumer_subnet = gcp.compute.Subnetwork("primary_cluster_consumer_subnet",
1346
1415
  name="mysubnet-primary-cluster",
1347
1416
  ip_cidr_range="10.0.1.0/29",
1348
1417
  region="us-east1",
1349
- network=producer_net.id)
1418
+ network=consumer_net.id)
1350
1419
  primary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("primary_cluster_region_scp",
1351
1420
  name="mypolicy-primary-cluster",
1352
1421
  location="us-east1",
1353
1422
  service_class="gcp-memorystore-redis",
1354
1423
  description="Primary cluster service connection policy",
1355
- network=producer_net.id,
1424
+ network=consumer_net.id,
1356
1425
  psc_config={
1357
- "subnetworks": [primary_cluster_producer_subnet.id],
1426
+ "subnetworks": [primary_cluster_consumer_subnet.id],
1358
1427
  })
1359
1428
  # Primary cluster
1360
1429
  primary_cluster = gcp.redis.Cluster("primary_cluster",
1361
1430
  name="my-primary-cluster",
1362
1431
  region="us-east1",
1363
1432
  psc_configs=[{
1364
- "network": producer_net.id,
1433
+ "network": consumer_net.id,
1365
1434
  }],
1366
1435
  authorization_mode="AUTH_MODE_DISABLED",
1367
1436
  transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
@@ -1394,26 +1463,26 @@ class Cluster(pulumi.CustomResource):
1394
1463
  },
1395
1464
  deletion_protection_enabled=True,
1396
1465
  opts = pulumi.ResourceOptions(depends_on=[primary_cluster_region_scp]))
1397
- secondary_cluster_producer_subnet = gcp.compute.Subnetwork("secondary_cluster_producer_subnet",
1466
+ secondary_cluster_consumer_subnet = gcp.compute.Subnetwork("secondary_cluster_consumer_subnet",
1398
1467
  name="mysubnet-secondary-cluster",
1399
1468
  ip_cidr_range="10.0.2.0/29",
1400
1469
  region="europe-west1",
1401
- network=producer_net.id)
1470
+ network=consumer_net.id)
1402
1471
  secondary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp",
1403
1472
  name="mypolicy-secondary-cluster",
1404
1473
  location="europe-west1",
1405
1474
  service_class="gcp-memorystore-redis",
1406
1475
  description="Secondary cluster service connection policy",
1407
- network=producer_net.id,
1476
+ network=consumer_net.id,
1408
1477
  psc_config={
1409
- "subnetworks": [secondary_cluster_producer_subnet.id],
1478
+ "subnetworks": [secondary_cluster_consumer_subnet.id],
1410
1479
  })
1411
1480
  # Secondary cluster
1412
1481
  secondary_cluster = gcp.redis.Cluster("secondary_cluster",
1413
1482
  name="my-secondary-cluster",
1414
1483
  region="europe-west1",
1415
1484
  psc_configs=[{
1416
- "network": producer_net.id,
1485
+ "network": consumer_net.id,
1417
1486
  }],
1418
1487
  authorization_mode="AUTH_MODE_DISABLED",
1419
1488
  transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
@@ -1459,28 +1528,28 @@ class Cluster(pulumi.CustomResource):
1459
1528
  import pulumi
1460
1529
  import pulumi_gcp as gcp
1461
1530
 
1462
- producer_net = gcp.compute.Network("producer_net",
1463
- name="mynetwork",
1531
+ consumer_net = gcp.compute.Network("consumer_net",
1532
+ name="my-network",
1464
1533
  auto_create_subnetworks=False)
1465
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1466
- name="mysubnet",
1534
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1535
+ name="my-subnet",
1467
1536
  ip_cidr_range="10.0.0.248/29",
1468
1537
  region="us-central1",
1469
- network=producer_net.id)
1538
+ network=consumer_net.id)
1470
1539
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1471
- name="mypolicy",
1540
+ name="my-policy",
1472
1541
  location="us-central1",
1473
1542
  service_class="gcp-memorystore-redis",
1474
1543
  description="my basic service connection policy",
1475
- network=producer_net.id,
1544
+ network=consumer_net.id,
1476
1545
  psc_config={
1477
- "subnetworks": [producer_subnet.id],
1546
+ "subnetworks": [consumer_subnet.id],
1478
1547
  })
1479
1548
  cluster_rdb = gcp.redis.Cluster("cluster-rdb",
1480
1549
  name="rdb-cluster",
1481
1550
  shard_count=3,
1482
1551
  psc_configs=[{
1483
- "network": producer_net.id,
1552
+ "network": consumer_net.id,
1484
1553
  }],
1485
1554
  region="us-central1",
1486
1555
  replica_count=0,
@@ -1520,28 +1589,28 @@ class Cluster(pulumi.CustomResource):
1520
1589
  import pulumi
1521
1590
  import pulumi_gcp as gcp
1522
1591
 
1523
- producer_net = gcp.compute.Network("producer_net",
1524
- name="mynetwork",
1592
+ consumer_net = gcp.compute.Network("consumer_net",
1593
+ name="my-network",
1525
1594
  auto_create_subnetworks=False)
1526
- producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1527
- name="mysubnet",
1595
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1596
+ name="my-subnet",
1528
1597
  ip_cidr_range="10.0.0.248/29",
1529
1598
  region="us-central1",
1530
- network=producer_net.id)
1599
+ network=consumer_net.id)
1531
1600
  default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1532
- name="mypolicy",
1601
+ name="my-policy",
1533
1602
  location="us-central1",
1534
1603
  service_class="gcp-memorystore-redis",
1535
1604
  description="my basic service connection policy",
1536
- network=producer_net.id,
1605
+ network=consumer_net.id,
1537
1606
  psc_config={
1538
- "subnetworks": [producer_subnet.id],
1607
+ "subnetworks": [consumer_subnet.id],
1539
1608
  })
1540
1609
  cluster_aof = gcp.redis.Cluster("cluster-aof",
1541
1610
  name="aof-cluster",
1542
1611
  shard_count=3,
1543
1612
  psc_configs=[{
1544
- "network": producer_net.id,
1613
+ "network": consumer_net.id,
1545
1614
  }],
1546
1615
  region="us-central1",
1547
1616
  replica_count=0,
@@ -1574,6 +1643,41 @@ class Cluster(pulumi.CustomResource):
1574
1643
  },
1575
1644
  opts = pulumi.ResourceOptions(depends_on=[default]))
1576
1645
  ```
1646
+ ### Redis Cluster Cmek
1647
+
1648
+ ```python
1649
+ import pulumi
1650
+ import pulumi_gcp as gcp
1651
+
1652
+ consumer_net = gcp.compute.Network("consumer_net",
1653
+ name="my-network",
1654
+ auto_create_subnetworks=False)
1655
+ consumer_subnet = gcp.compute.Subnetwork("consumer_subnet",
1656
+ name="my-subnet",
1657
+ ip_cidr_range="10.0.0.248/29",
1658
+ region="us-central1",
1659
+ network=consumer_net.id)
1660
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1661
+ name="my-policy",
1662
+ location="us-central1",
1663
+ service_class="gcp-memorystore-redis",
1664
+ description="my basic service connection policy",
1665
+ network=consumer_net.id,
1666
+ psc_config={
1667
+ "subnetworks": [consumer_subnet.id],
1668
+ })
1669
+ cluster_cmek = gcp.redis.Cluster("cluster-cmek",
1670
+ name="cmek-cluster",
1671
+ shard_count=3,
1672
+ psc_configs=[{
1673
+ "network": consumer_net.id,
1674
+ }],
1675
+ kms_key="my-key",
1676
+ region="us-central1",
1677
+ deletion_protection_enabled=True,
1678
+ opts = pulumi.ResourceOptions(depends_on=[default]))
1679
+ project = gcp.organizations.get_project()
1680
+ ```
1577
1681
 
1578
1682
  ## Import
1579
1683
 
@@ -1623,6 +1727,7 @@ class Cluster(pulumi.CustomResource):
1623
1727
  authorization_mode: Optional[pulumi.Input[str]] = None,
1624
1728
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
1625
1729
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
1730
+ kms_key: Optional[pulumi.Input[str]] = None,
1626
1731
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
1627
1732
  name: Optional[pulumi.Input[str]] = None,
1628
1733
  node_type: Optional[pulumi.Input[str]] = None,
@@ -1647,6 +1752,7 @@ class Cluster(pulumi.CustomResource):
1647
1752
  __props__.__dict__["authorization_mode"] = authorization_mode
1648
1753
  __props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
1649
1754
  __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
1755
+ __props__.__dict__["kms_key"] = kms_key
1650
1756
  __props__.__dict__["maintenance_policy"] = maintenance_policy
1651
1757
  __props__.__dict__["name"] = name
1652
1758
  __props__.__dict__["node_type"] = node_type
@@ -1686,6 +1792,7 @@ class Cluster(pulumi.CustomResource):
1686
1792
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
1687
1793
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
1688
1794
  discovery_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterDiscoveryEndpointArgs', 'ClusterDiscoveryEndpointArgsDict']]]]] = None,
1795
+ kms_key: Optional[pulumi.Input[str]] = None,
1689
1796
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
1690
1797
  maintenance_schedules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterMaintenanceScheduleArgs', 'ClusterMaintenanceScheduleArgsDict']]]]] = None,
1691
1798
  name: Optional[pulumi.Input[str]] = None,
@@ -1728,6 +1835,7 @@ class Cluster(pulumi.CustomResource):
1728
1835
  for Redis clients to connect to the cluster.
1729
1836
  Currently only one endpoint is supported.
1730
1837
  Structure is documented below.
1838
+ :param pulumi.Input[str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
1731
1839
  :param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
1732
1840
  Structure is documented below.
1733
1841
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterMaintenanceScheduleArgs', 'ClusterMaintenanceScheduleArgsDict']]]] maintenance_schedules: Upcoming maintenance schedule.
@@ -1780,6 +1888,7 @@ class Cluster(pulumi.CustomResource):
1780
1888
  __props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
1781
1889
  __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
1782
1890
  __props__.__dict__["discovery_endpoints"] = discovery_endpoints
1891
+ __props__.__dict__["kms_key"] = kms_key
1783
1892
  __props__.__dict__["maintenance_policy"] = maintenance_policy
1784
1893
  __props__.__dict__["maintenance_schedules"] = maintenance_schedules
1785
1894
  __props__.__dict__["name"] = name
@@ -1852,6 +1961,14 @@ class Cluster(pulumi.CustomResource):
1852
1961
  """
1853
1962
  return pulumi.get(self, "discovery_endpoints")
1854
1963
 
1964
+ @property
1965
+ @pulumi.getter(name="kmsKey")
1966
+ def kms_key(self) -> pulumi.Output[Optional[str]]:
1967
+ """
1968
+ The KMS key used to encrypt the at-rest data of the cluster.
1969
+ """
1970
+ return pulumi.get(self, "kms_key")
1971
+
1855
1972
  @property
1856
1973
  @pulumi.getter(name="maintenancePolicy")
1857
1974
  def maintenance_policy(self) -> pulumi.Output[Optional['outputs.ClusterMaintenancePolicy']]: