pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.12.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 +123 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
- pulumi_gcp/apigee/app_group.py +7 -7
- pulumi_gcp/applicationintegration/client.py +8 -6
- pulumi_gcp/artifactregistry/_inputs.py +24 -15
- pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
- pulumi_gcp/artifactregistry/outputs.py +32 -20
- pulumi_gcp/artifactregistry/repository.py +214 -39
- pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
- pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
- pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
- pulumi_gcp/assuredworkloads/workload.py +7 -7
- pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
- pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
- pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
- pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
- pulumi_gcp/bigquery/app_profile.py +75 -0
- pulumi_gcp/billing/_inputs.py +6 -6
- pulumi_gcp/billing/outputs.py +4 -4
- pulumi_gcp/certificateauthority/_inputs.py +9 -9
- pulumi_gcp/certificateauthority/outputs.py +8 -8
- pulumi_gcp/cloudbuild/_inputs.py +53 -0
- pulumi_gcp/cloudbuild/outputs.py +50 -0
- pulumi_gcp/cloudbuild/worker_pool.py +47 -0
- pulumi_gcp/clouddeploy/_inputs.py +254 -0
- pulumi_gcp/clouddeploy/outputs.py +211 -0
- pulumi_gcp/clouddeploy/target.py +47 -0
- pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
- pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
- pulumi_gcp/cloudrunv2/job.py +4 -4
- pulumi_gcp/cloudrunv2/service.py +4 -4
- pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
- pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
- pulumi_gcp/composer/user_workloads_config_map.py +14 -0
- pulumi_gcp/composer/user_workloads_secret.py +6 -0
- pulumi_gcp/compute/_inputs.py +566 -25
- pulumi_gcp/compute/disk.py +21 -7
- pulumi_gcp/compute/firewall_policy_rule.py +12 -0
- pulumi_gcp/compute/get_forwarding_rules.py +2 -2
- pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
- pulumi_gcp/compute/get_instance_group_manager.py +12 -1
- pulumi_gcp/compute/get_network.py +35 -1
- pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
- pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
- pulumi_gcp/compute/global_forwarding_rule.py +142 -2
- pulumi_gcp/compute/instance_group_manager.py +28 -0
- pulumi_gcp/compute/network.py +75 -0
- pulumi_gcp/compute/outputs.py +655 -26
- pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
- pulumi_gcp/compute/region_health_check.py +28 -0
- pulumi_gcp/compute/region_instance_group_manager.py +28 -0
- pulumi_gcp/compute/region_network_endpoint.py +28 -0
- pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
- pulumi_gcp/compute/subnetwork.py +30 -2
- pulumi_gcp/compute/url_map.py +7 -7
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +201 -3
- pulumi_gcp/container/cluster.py +68 -14
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/outputs.py +249 -3
- pulumi_gcp/dataproc/_inputs.py +209 -1
- pulumi_gcp/dataproc/batch.py +76 -0
- pulumi_gcp/dataproc/outputs.py +169 -3
- pulumi_gcp/diagflow/_inputs.py +3 -3
- pulumi_gcp/diagflow/outputs.py +2 -2
- pulumi_gcp/discoveryengine/search_engine.py +7 -7
- pulumi_gcp/firebase/_inputs.py +99 -0
- pulumi_gcp/firebase/database_instance.py +24 -6
- pulumi_gcp/firebase/hosting_version.py +96 -0
- pulumi_gcp/firebase/outputs.py +59 -0
- pulumi_gcp/firebase/project.py +6 -6
- pulumi_gcp/firebaserules/release.py +76 -0
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/gemini/__init__.py +15 -0
- pulumi_gcp/gemini/_inputs.py +183 -0
- pulumi_gcp/gemini/code_repository_index.py +659 -0
- pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
- pulumi_gcp/gemini/outputs.py +130 -0
- pulumi_gcp/gemini/repository_group.py +586 -0
- pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
- pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
- pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
- pulumi_gcp/gkehub/_inputs.py +30 -10
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/outputs.py +21 -7
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iam/__init__.py +1 -0
- pulumi_gcp/iam/_inputs.py +137 -0
- pulumi_gcp/iam/folders_policy_binding.py +16 -0
- pulumi_gcp/iam/organizations_policy_binding.py +16 -0
- pulumi_gcp/iam/outputs.py +99 -0
- pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
- pulumi_gcp/iam/projects_policy_binding.py +917 -0
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/identityplatform/_inputs.py +6 -6
- pulumi_gcp/identityplatform/config.py +2 -2
- pulumi_gcp/identityplatform/outputs.py +4 -4
- pulumi_gcp/integrationconnectors/_inputs.py +15 -15
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/integrationconnectors/outputs.py +10 -10
- pulumi_gcp/looker/instance.py +35 -14
- pulumi_gcp/monitoring/_inputs.py +13 -6
- pulumi_gcp/monitoring/outputs.py +10 -4
- pulumi_gcp/netapp/_inputs.py +3 -3
- pulumi_gcp/netapp/active_directory.py +7 -7
- pulumi_gcp/netapp/outputs.py +2 -2
- pulumi_gcp/netapp/volume.py +11 -11
- pulumi_gcp/networkconnectivity/_inputs.py +10 -12
- pulumi_gcp/networkconnectivity/outputs.py +6 -8
- pulumi_gcp/networkconnectivity/spoke.py +10 -10
- pulumi_gcp/networksecurity/__init__.py +7 -0
- pulumi_gcp/networksecurity/_inputs.py +2018 -0
- pulumi_gcp/networksecurity/authz_policy.py +1008 -0
- pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
- pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
- pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
- pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
- pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
- pulumi_gcp/networksecurity/outputs.py +1463 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/authz_extension.py +1080 -0
- pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
- pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
- pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
- pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
- pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
- pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
- pulumi_gcp/oracledatabase/outputs.py +21 -0
- pulumi_gcp/orgpolicy/_inputs.py +40 -0
- pulumi_gcp/orgpolicy/outputs.py +24 -0
- pulumi_gcp/orgpolicy/policy.py +66 -10
- pulumi_gcp/parallelstore/instance.py +4 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +435 -3
- pulumi_gcp/redis/cluster.py +287 -16
- pulumi_gcp/redis/outputs.py +304 -2
- pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
- pulumi_gcp/serviceaccount/get_account_key.py +2 -2
- pulumi_gcp/sql/_inputs.py +3 -3
- pulumi_gcp/sql/database_instance.py +14 -14
- pulumi_gcp/sql/outputs.py +2 -2
- pulumi_gcp/storage/_inputs.py +53 -6
- pulumi_gcp/storage/get_bucket.py +2 -2
- pulumi_gcp/storage/get_bucket_object_content.py +2 -2
- pulumi_gcp/storage/outputs.py +33 -4
- pulumi_gcp/tpu/__init__.py +1 -0
- pulumi_gcp/tpu/_inputs.py +214 -24
- pulumi_gcp/tpu/outputs.py +182 -16
- pulumi_gcp/tpu/v2_queued_resource.py +434 -0
- pulumi_gcp/tpu/v2_vm.py +63 -0
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/redis/cluster.py
CHANGED
@@ -24,6 +24,7 @@ class ClusterArgs:
|
|
24
24
|
psc_configs: pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]],
|
25
25
|
shard_count: pulumi.Input[int],
|
26
26
|
authorization_mode: Optional[pulumi.Input[str]] = None,
|
27
|
+
cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
|
27
28
|
deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
|
28
29
|
maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
|
29
30
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -45,6 +46,7 @@ class ClusterArgs:
|
|
45
46
|
:param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
|
46
47
|
Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
|
47
48
|
"AUTH_MODE_DISABLED"]
|
49
|
+
:param pulumi.Input['ClusterCrossClusterReplicationConfigArgs'] cross_cluster_replication_config: Cross cluster replication config
|
48
50
|
:param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
|
49
51
|
operation will fail. Default value is true.
|
50
52
|
:param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
|
@@ -67,6 +69,8 @@ class ClusterArgs:
|
|
67
69
|
pulumi.set(__self__, "shard_count", shard_count)
|
68
70
|
if authorization_mode is not None:
|
69
71
|
pulumi.set(__self__, "authorization_mode", authorization_mode)
|
72
|
+
if cross_cluster_replication_config is not None:
|
73
|
+
pulumi.set(__self__, "cross_cluster_replication_config", cross_cluster_replication_config)
|
70
74
|
if deletion_protection_enabled is not None:
|
71
75
|
pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled)
|
72
76
|
if maintenance_policy is not None:
|
@@ -131,6 +135,18 @@ class ClusterArgs:
|
|
131
135
|
def authorization_mode(self, value: Optional[pulumi.Input[str]]):
|
132
136
|
pulumi.set(self, "authorization_mode", value)
|
133
137
|
|
138
|
+
@property
|
139
|
+
@pulumi.getter(name="crossClusterReplicationConfig")
|
140
|
+
def cross_cluster_replication_config(self) -> Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]:
|
141
|
+
"""
|
142
|
+
Cross cluster replication config
|
143
|
+
"""
|
144
|
+
return pulumi.get(self, "cross_cluster_replication_config")
|
145
|
+
|
146
|
+
@cross_cluster_replication_config.setter
|
147
|
+
def cross_cluster_replication_config(self, value: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]):
|
148
|
+
pulumi.set(self, "cross_cluster_replication_config", value)
|
149
|
+
|
134
150
|
@property
|
135
151
|
@pulumi.getter(name="deletionProtectionEnabled")
|
136
152
|
def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]:
|
@@ -273,6 +289,7 @@ class _ClusterState:
|
|
273
289
|
def __init__(__self__, *,
|
274
290
|
authorization_mode: Optional[pulumi.Input[str]] = None,
|
275
291
|
create_time: Optional[pulumi.Input[str]] = None,
|
292
|
+
cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
|
276
293
|
deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
|
277
294
|
discovery_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]]] = None,
|
278
295
|
maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
|
@@ -302,6 +319,7 @@ class _ClusterState:
|
|
302
319
|
:param pulumi.Input[str] create_time: The timestamp associated with the cluster creation request. A timestamp in
|
303
320
|
RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
|
304
321
|
digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
322
|
+
:param pulumi.Input['ClusterCrossClusterReplicationConfigArgs'] cross_cluster_replication_config: Cross cluster replication config
|
305
323
|
:param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
|
306
324
|
operation will fail. Default value is true.
|
307
325
|
:param pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]] discovery_endpoints: Output only. Endpoints created on each given network,
|
@@ -343,6 +361,8 @@ class _ClusterState:
|
|
343
361
|
pulumi.set(__self__, "authorization_mode", authorization_mode)
|
344
362
|
if create_time is not None:
|
345
363
|
pulumi.set(__self__, "create_time", create_time)
|
364
|
+
if cross_cluster_replication_config is not None:
|
365
|
+
pulumi.set(__self__, "cross_cluster_replication_config", cross_cluster_replication_config)
|
346
366
|
if deletion_protection_enabled is not None:
|
347
367
|
pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled)
|
348
368
|
if discovery_endpoints is not None:
|
@@ -414,6 +434,18 @@ class _ClusterState:
|
|
414
434
|
def create_time(self, value: Optional[pulumi.Input[str]]):
|
415
435
|
pulumi.set(self, "create_time", value)
|
416
436
|
|
437
|
+
@property
|
438
|
+
@pulumi.getter(name="crossClusterReplicationConfig")
|
439
|
+
def cross_cluster_replication_config(self) -> Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]:
|
440
|
+
"""
|
441
|
+
Cross cluster replication config
|
442
|
+
"""
|
443
|
+
return pulumi.get(self, "cross_cluster_replication_config")
|
444
|
+
|
445
|
+
@cross_cluster_replication_config.setter
|
446
|
+
def cross_cluster_replication_config(self, value: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]):
|
447
|
+
pulumi.set(self, "cross_cluster_replication_config", value)
|
448
|
+
|
417
449
|
@property
|
418
450
|
@pulumi.getter(name="deletionProtectionEnabled")
|
419
451
|
def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]:
|
@@ -686,6 +718,7 @@ class Cluster(pulumi.CustomResource):
|
|
686
718
|
resource_name: str,
|
687
719
|
opts: Optional[pulumi.ResourceOptions] = None,
|
688
720
|
authorization_mode: Optional[pulumi.Input[str]] = None,
|
721
|
+
cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
|
689
722
|
deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
|
690
723
|
maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
|
691
724
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -701,14 +734,6 @@ class Cluster(pulumi.CustomResource):
|
|
701
734
|
zone_distribution_config: Optional[pulumi.Input[Union['ClusterZoneDistributionConfigArgs', 'ClusterZoneDistributionConfigArgsDict']]] = None,
|
702
735
|
__props__=None):
|
703
736
|
"""
|
704
|
-
A Google Cloud Redis Cluster instance.
|
705
|
-
|
706
|
-
To get more information about Cluster, see:
|
707
|
-
|
708
|
-
* [API documentation](https://cloud.google.com/memorystore/docs/cluster/reference/rest/v1/projects.locations.clusters)
|
709
|
-
* How-to Guides
|
710
|
-
* [Official Documentation](https://cloud.google.com/memorystore/docs/cluster/)
|
711
|
-
|
712
737
|
## Example Usage
|
713
738
|
|
714
739
|
### Redis Cluster Ha
|
@@ -813,6 +838,126 @@ class Cluster(pulumi.CustomResource):
|
|
813
838
|
deletion_protection_enabled=True,
|
814
839
|
opts = pulumi.ResourceOptions(depends_on=[default]))
|
815
840
|
```
|
841
|
+
### Redis Cluster Secondary
|
842
|
+
|
843
|
+
```python
|
844
|
+
import pulumi
|
845
|
+
import pulumi_gcp as gcp
|
846
|
+
|
847
|
+
producer_net = gcp.compute.Network("producer_net",
|
848
|
+
name="mynetwork",
|
849
|
+
auto_create_subnetworks=False)
|
850
|
+
primary_cluster_producer_subnet = gcp.compute.Subnetwork("primary_cluster_producer_subnet",
|
851
|
+
name="mysubnet-primary-cluster",
|
852
|
+
ip_cidr_range="10.0.1.0/29",
|
853
|
+
region="us-east1",
|
854
|
+
network=producer_net.id)
|
855
|
+
primary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("primary_cluster_region_scp",
|
856
|
+
name="mypolicy-primary-cluster",
|
857
|
+
location="us-east1",
|
858
|
+
service_class="gcp-memorystore-redis",
|
859
|
+
description="Primary cluster service connection policy",
|
860
|
+
network=producer_net.id,
|
861
|
+
psc_config={
|
862
|
+
"subnetworks": [primary_cluster_producer_subnet.id],
|
863
|
+
})
|
864
|
+
# Primary cluster
|
865
|
+
primary_cluster = gcp.redis.Cluster("primary_cluster",
|
866
|
+
name="my-primary-cluster",
|
867
|
+
region="us-east1",
|
868
|
+
psc_configs=[{
|
869
|
+
"network": producer_net.id,
|
870
|
+
}],
|
871
|
+
authorization_mode="AUTH_MODE_DISABLED",
|
872
|
+
transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
|
873
|
+
shard_count=3,
|
874
|
+
redis_configs={
|
875
|
+
"maxmemory-policy": "volatile-ttl",
|
876
|
+
},
|
877
|
+
node_type="REDIS_HIGHMEM_MEDIUM",
|
878
|
+
persistence_config={
|
879
|
+
"mode": "RDB",
|
880
|
+
"rdb_config": {
|
881
|
+
"rdb_snapshot_period": "ONE_HOUR",
|
882
|
+
"rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
|
883
|
+
},
|
884
|
+
},
|
885
|
+
zone_distribution_config={
|
886
|
+
"mode": "MULTI_ZONE",
|
887
|
+
},
|
888
|
+
replica_count=1,
|
889
|
+
maintenance_policy={
|
890
|
+
"weekly_maintenance_windows": [{
|
891
|
+
"day": "MONDAY",
|
892
|
+
"start_time": {
|
893
|
+
"hours": 1,
|
894
|
+
"minutes": 0,
|
895
|
+
"seconds": 0,
|
896
|
+
"nanos": 0,
|
897
|
+
},
|
898
|
+
}],
|
899
|
+
},
|
900
|
+
deletion_protection_enabled=True,
|
901
|
+
opts = pulumi.ResourceOptions(depends_on=[primary_cluster_region_scp]))
|
902
|
+
secondary_cluster_producer_subnet = gcp.compute.Subnetwork("secondary_cluster_producer_subnet",
|
903
|
+
name="mysubnet-secondary-cluster",
|
904
|
+
ip_cidr_range="10.0.2.0/29",
|
905
|
+
region="europe-west1",
|
906
|
+
network=producer_net.id)
|
907
|
+
secondary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp",
|
908
|
+
name="mypolicy-secondary-cluster",
|
909
|
+
location="europe-west1",
|
910
|
+
service_class="gcp-memorystore-redis",
|
911
|
+
description="Secondary cluster service connection policy",
|
912
|
+
network=producer_net.id,
|
913
|
+
psc_config={
|
914
|
+
"subnetworks": [secondary_cluster_producer_subnet.id],
|
915
|
+
})
|
916
|
+
# Secondary cluster
|
917
|
+
secondary_cluster = gcp.redis.Cluster("secondary_cluster",
|
918
|
+
name="my-secondary-cluster",
|
919
|
+
region="europe-west1",
|
920
|
+
psc_configs=[{
|
921
|
+
"network": producer_net.id,
|
922
|
+
}],
|
923
|
+
authorization_mode="AUTH_MODE_DISABLED",
|
924
|
+
transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
|
925
|
+
shard_count=3,
|
926
|
+
redis_configs={
|
927
|
+
"maxmemory-policy": "volatile-ttl",
|
928
|
+
},
|
929
|
+
node_type="REDIS_HIGHMEM_MEDIUM",
|
930
|
+
persistence_config={
|
931
|
+
"mode": "RDB",
|
932
|
+
"rdb_config": {
|
933
|
+
"rdb_snapshot_period": "ONE_HOUR",
|
934
|
+
"rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
|
935
|
+
},
|
936
|
+
},
|
937
|
+
zone_distribution_config={
|
938
|
+
"mode": "MULTI_ZONE",
|
939
|
+
},
|
940
|
+
replica_count=2,
|
941
|
+
maintenance_policy={
|
942
|
+
"weekly_maintenance_windows": [{
|
943
|
+
"day": "WEDNESDAY",
|
944
|
+
"start_time": {
|
945
|
+
"hours": 1,
|
946
|
+
"minutes": 0,
|
947
|
+
"seconds": 0,
|
948
|
+
"nanos": 0,
|
949
|
+
},
|
950
|
+
}],
|
951
|
+
},
|
952
|
+
deletion_protection_enabled=True,
|
953
|
+
cross_cluster_replication_config={
|
954
|
+
"cluster_role": "SECONDARY",
|
955
|
+
"primary_cluster": {
|
956
|
+
"cluster": primary_cluster.id,
|
957
|
+
},
|
958
|
+
},
|
959
|
+
opts = pulumi.ResourceOptions(depends_on=[secondary_cluster_region_scp]))
|
960
|
+
```
|
816
961
|
### Redis Cluster Rdb
|
817
962
|
|
818
963
|
```python
|
@@ -970,6 +1115,7 @@ class Cluster(pulumi.CustomResource):
|
|
970
1115
|
:param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
|
971
1116
|
Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
|
972
1117
|
"AUTH_MODE_DISABLED"]
|
1118
|
+
:param pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']] cross_cluster_replication_config: Cross cluster replication config
|
973
1119
|
:param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
|
974
1120
|
operation will fail. Default value is true.
|
975
1121
|
:param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
|
@@ -1000,14 +1146,6 @@ class Cluster(pulumi.CustomResource):
|
|
1000
1146
|
args: ClusterArgs,
|
1001
1147
|
opts: Optional[pulumi.ResourceOptions] = None):
|
1002
1148
|
"""
|
1003
|
-
A Google Cloud Redis Cluster instance.
|
1004
|
-
|
1005
|
-
To get more information about Cluster, see:
|
1006
|
-
|
1007
|
-
* [API documentation](https://cloud.google.com/memorystore/docs/cluster/reference/rest/v1/projects.locations.clusters)
|
1008
|
-
* How-to Guides
|
1009
|
-
* [Official Documentation](https://cloud.google.com/memorystore/docs/cluster/)
|
1010
|
-
|
1011
1149
|
## Example Usage
|
1012
1150
|
|
1013
1151
|
### Redis Cluster Ha
|
@@ -1112,6 +1250,126 @@ class Cluster(pulumi.CustomResource):
|
|
1112
1250
|
deletion_protection_enabled=True,
|
1113
1251
|
opts = pulumi.ResourceOptions(depends_on=[default]))
|
1114
1252
|
```
|
1253
|
+
### Redis Cluster Secondary
|
1254
|
+
|
1255
|
+
```python
|
1256
|
+
import pulumi
|
1257
|
+
import pulumi_gcp as gcp
|
1258
|
+
|
1259
|
+
producer_net = gcp.compute.Network("producer_net",
|
1260
|
+
name="mynetwork",
|
1261
|
+
auto_create_subnetworks=False)
|
1262
|
+
primary_cluster_producer_subnet = gcp.compute.Subnetwork("primary_cluster_producer_subnet",
|
1263
|
+
name="mysubnet-primary-cluster",
|
1264
|
+
ip_cidr_range="10.0.1.0/29",
|
1265
|
+
region="us-east1",
|
1266
|
+
network=producer_net.id)
|
1267
|
+
primary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("primary_cluster_region_scp",
|
1268
|
+
name="mypolicy-primary-cluster",
|
1269
|
+
location="us-east1",
|
1270
|
+
service_class="gcp-memorystore-redis",
|
1271
|
+
description="Primary cluster service connection policy",
|
1272
|
+
network=producer_net.id,
|
1273
|
+
psc_config={
|
1274
|
+
"subnetworks": [primary_cluster_producer_subnet.id],
|
1275
|
+
})
|
1276
|
+
# Primary cluster
|
1277
|
+
primary_cluster = gcp.redis.Cluster("primary_cluster",
|
1278
|
+
name="my-primary-cluster",
|
1279
|
+
region="us-east1",
|
1280
|
+
psc_configs=[{
|
1281
|
+
"network": producer_net.id,
|
1282
|
+
}],
|
1283
|
+
authorization_mode="AUTH_MODE_DISABLED",
|
1284
|
+
transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
|
1285
|
+
shard_count=3,
|
1286
|
+
redis_configs={
|
1287
|
+
"maxmemory-policy": "volatile-ttl",
|
1288
|
+
},
|
1289
|
+
node_type="REDIS_HIGHMEM_MEDIUM",
|
1290
|
+
persistence_config={
|
1291
|
+
"mode": "RDB",
|
1292
|
+
"rdb_config": {
|
1293
|
+
"rdb_snapshot_period": "ONE_HOUR",
|
1294
|
+
"rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
|
1295
|
+
},
|
1296
|
+
},
|
1297
|
+
zone_distribution_config={
|
1298
|
+
"mode": "MULTI_ZONE",
|
1299
|
+
},
|
1300
|
+
replica_count=1,
|
1301
|
+
maintenance_policy={
|
1302
|
+
"weekly_maintenance_windows": [{
|
1303
|
+
"day": "MONDAY",
|
1304
|
+
"start_time": {
|
1305
|
+
"hours": 1,
|
1306
|
+
"minutes": 0,
|
1307
|
+
"seconds": 0,
|
1308
|
+
"nanos": 0,
|
1309
|
+
},
|
1310
|
+
}],
|
1311
|
+
},
|
1312
|
+
deletion_protection_enabled=True,
|
1313
|
+
opts = pulumi.ResourceOptions(depends_on=[primary_cluster_region_scp]))
|
1314
|
+
secondary_cluster_producer_subnet = gcp.compute.Subnetwork("secondary_cluster_producer_subnet",
|
1315
|
+
name="mysubnet-secondary-cluster",
|
1316
|
+
ip_cidr_range="10.0.2.0/29",
|
1317
|
+
region="europe-west1",
|
1318
|
+
network=producer_net.id)
|
1319
|
+
secondary_cluster_region_scp = gcp.networkconnectivity.ServiceConnectionPolicy("secondary_cluster_region_scp",
|
1320
|
+
name="mypolicy-secondary-cluster",
|
1321
|
+
location="europe-west1",
|
1322
|
+
service_class="gcp-memorystore-redis",
|
1323
|
+
description="Secondary cluster service connection policy",
|
1324
|
+
network=producer_net.id,
|
1325
|
+
psc_config={
|
1326
|
+
"subnetworks": [secondary_cluster_producer_subnet.id],
|
1327
|
+
})
|
1328
|
+
# Secondary cluster
|
1329
|
+
secondary_cluster = gcp.redis.Cluster("secondary_cluster",
|
1330
|
+
name="my-secondary-cluster",
|
1331
|
+
region="europe-west1",
|
1332
|
+
psc_configs=[{
|
1333
|
+
"network": producer_net.id,
|
1334
|
+
}],
|
1335
|
+
authorization_mode="AUTH_MODE_DISABLED",
|
1336
|
+
transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
|
1337
|
+
shard_count=3,
|
1338
|
+
redis_configs={
|
1339
|
+
"maxmemory-policy": "volatile-ttl",
|
1340
|
+
},
|
1341
|
+
node_type="REDIS_HIGHMEM_MEDIUM",
|
1342
|
+
persistence_config={
|
1343
|
+
"mode": "RDB",
|
1344
|
+
"rdb_config": {
|
1345
|
+
"rdb_snapshot_period": "ONE_HOUR",
|
1346
|
+
"rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
|
1347
|
+
},
|
1348
|
+
},
|
1349
|
+
zone_distribution_config={
|
1350
|
+
"mode": "MULTI_ZONE",
|
1351
|
+
},
|
1352
|
+
replica_count=2,
|
1353
|
+
maintenance_policy={
|
1354
|
+
"weekly_maintenance_windows": [{
|
1355
|
+
"day": "WEDNESDAY",
|
1356
|
+
"start_time": {
|
1357
|
+
"hours": 1,
|
1358
|
+
"minutes": 0,
|
1359
|
+
"seconds": 0,
|
1360
|
+
"nanos": 0,
|
1361
|
+
},
|
1362
|
+
}],
|
1363
|
+
},
|
1364
|
+
deletion_protection_enabled=True,
|
1365
|
+
cross_cluster_replication_config={
|
1366
|
+
"cluster_role": "SECONDARY",
|
1367
|
+
"primary_cluster": {
|
1368
|
+
"cluster": primary_cluster.id,
|
1369
|
+
},
|
1370
|
+
},
|
1371
|
+
opts = pulumi.ResourceOptions(depends_on=[secondary_cluster_region_scp]))
|
1372
|
+
```
|
1115
1373
|
### Redis Cluster Rdb
|
1116
1374
|
|
1117
1375
|
```python
|
@@ -1280,6 +1538,7 @@ class Cluster(pulumi.CustomResource):
|
|
1280
1538
|
resource_name: str,
|
1281
1539
|
opts: Optional[pulumi.ResourceOptions] = None,
|
1282
1540
|
authorization_mode: Optional[pulumi.Input[str]] = None,
|
1541
|
+
cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
|
1283
1542
|
deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
|
1284
1543
|
maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
|
1285
1544
|
name: Optional[pulumi.Input[str]] = None,
|
@@ -1303,6 +1562,7 @@ class Cluster(pulumi.CustomResource):
|
|
1303
1562
|
__props__ = ClusterArgs.__new__(ClusterArgs)
|
1304
1563
|
|
1305
1564
|
__props__.__dict__["authorization_mode"] = authorization_mode
|
1565
|
+
__props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
|
1306
1566
|
__props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
|
1307
1567
|
__props__.__dict__["maintenance_policy"] = maintenance_policy
|
1308
1568
|
__props__.__dict__["name"] = name
|
@@ -1341,6 +1601,7 @@ class Cluster(pulumi.CustomResource):
|
|
1341
1601
|
opts: Optional[pulumi.ResourceOptions] = None,
|
1342
1602
|
authorization_mode: Optional[pulumi.Input[str]] = None,
|
1343
1603
|
create_time: Optional[pulumi.Input[str]] = None,
|
1604
|
+
cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
|
1344
1605
|
deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
|
1345
1606
|
discovery_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterDiscoveryEndpointArgs', 'ClusterDiscoveryEndpointArgsDict']]]]] = None,
|
1346
1607
|
maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
|
@@ -1375,6 +1636,7 @@ class Cluster(pulumi.CustomResource):
|
|
1375
1636
|
:param pulumi.Input[str] create_time: The timestamp associated with the cluster creation request. A timestamp in
|
1376
1637
|
RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
|
1377
1638
|
digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
1639
|
+
:param pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']] cross_cluster_replication_config: Cross cluster replication config
|
1378
1640
|
:param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
|
1379
1641
|
operation will fail. Default value is true.
|
1380
1642
|
:param pulumi.Input[Sequence[pulumi.Input[Union['ClusterDiscoveryEndpointArgs', 'ClusterDiscoveryEndpointArgsDict']]]] discovery_endpoints: Output only. Endpoints created on each given network,
|
@@ -1418,6 +1680,7 @@ class Cluster(pulumi.CustomResource):
|
|
1418
1680
|
|
1419
1681
|
__props__.__dict__["authorization_mode"] = authorization_mode
|
1420
1682
|
__props__.__dict__["create_time"] = create_time
|
1683
|
+
__props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
|
1421
1684
|
__props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
|
1422
1685
|
__props__.__dict__["discovery_endpoints"] = discovery_endpoints
|
1423
1686
|
__props__.__dict__["maintenance_policy"] = maintenance_policy
|
@@ -1461,6 +1724,14 @@ class Cluster(pulumi.CustomResource):
|
|
1461
1724
|
"""
|
1462
1725
|
return pulumi.get(self, "create_time")
|
1463
1726
|
|
1727
|
+
@property
|
1728
|
+
@pulumi.getter(name="crossClusterReplicationConfig")
|
1729
|
+
def cross_cluster_replication_config(self) -> pulumi.Output['outputs.ClusterCrossClusterReplicationConfig']:
|
1730
|
+
"""
|
1731
|
+
Cross cluster replication config
|
1732
|
+
"""
|
1733
|
+
return pulumi.get(self, "cross_cluster_replication_config")
|
1734
|
+
|
1464
1735
|
@property
|
1465
1736
|
@pulumi.getter(name="deletionProtectionEnabled")
|
1466
1737
|
def deletion_protection_enabled(self) -> pulumi.Output[Optional[bool]]:
|