pulumi-gcp 7.27.0a1718103841__py3-none-any.whl → 7.27.0a1718247696__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 +32 -0
- pulumi_gcp/appengine/_inputs.py +40 -0
- pulumi_gcp/appengine/flexible_app_version.py +47 -0
- pulumi_gcp/appengine/outputs.py +51 -0
- pulumi_gcp/bigtable/instance.py +47 -0
- pulumi_gcp/clouddeploy/_inputs.py +16 -0
- pulumi_gcp/clouddeploy/outputs.py +12 -0
- pulumi_gcp/compute/__init__.py +2 -0
- pulumi_gcp/compute/_inputs.py +84 -0
- pulumi_gcp/compute/backend_service.py +54 -0
- pulumi_gcp/compute/disk.py +68 -0
- pulumi_gcp/compute/get_backend_service.py +11 -1
- pulumi_gcp/compute/get_disk.py +11 -1
- pulumi_gcp/compute/get_instance.py +11 -1
- pulumi_gcp/compute/get_instance_group_manager.py +31 -1
- pulumi_gcp/compute/get_instance_template.py +11 -1
- pulumi_gcp/compute/get_region_instance_template.py +11 -1
- pulumi_gcp/compute/get_security_policy.py +214 -0
- pulumi_gcp/compute/instance.py +47 -0
- pulumi_gcp/compute/instance_from_machine_image.py +47 -0
- pulumi_gcp/compute/instance_from_template.py +47 -0
- pulumi_gcp/compute/instance_group_manager.py +185 -0
- pulumi_gcp/compute/instance_template.py +47 -0
- pulumi_gcp/compute/outputs.py +1039 -0
- pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
- pulumi_gcp/compute/region_instance_group_manager.py +185 -0
- pulumi_gcp/compute/region_instance_template.py +47 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +33 -4
- pulumi_gcp/container/cluster.py +61 -0
- pulumi_gcp/container/get_cluster.py +11 -1
- pulumi_gcp/container/outputs.py +48 -4
- pulumi_gcp/dataloss/_inputs.py +185 -19
- pulumi_gcp/dataloss/outputs.py +206 -17
- pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
- pulumi_gcp/gkebackup/_inputs.py +282 -7
- pulumi_gcp/gkebackup/backup_plan.py +100 -0
- pulumi_gcp/gkebackup/outputs.py +312 -7
- pulumi_gcp/gkebackup/restore_plan.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
- pulumi_gcp/healthcare/_inputs.py +17 -1
- pulumi_gcp/healthcare/dicom_store.py +2 -0
- pulumi_gcp/healthcare/fhir_store.py +44 -60
- pulumi_gcp/healthcare/outputs.py +15 -1
- pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
- pulumi_gcp/kms/crypto_key.py +14 -7
- pulumi_gcp/netapp/_inputs.py +58 -0
- pulumi_gcp/netapp/outputs.py +67 -0
- pulumi_gcp/netapp/volume.py +54 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +47 -0
- pulumi_gcp/networkservices/outputs.py +56 -0
- pulumi_gcp/networkservices/service_lb_policies.py +782 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +44 -0
- pulumi_gcp/redis/cluster.py +128 -3
- pulumi_gcp/redis/outputs.py +36 -0
- pulumi_gcp/secretmanager/_inputs.py +20 -0
- pulumi_gcp/secretmanager/outputs.py +20 -0
- pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +68 -0
- pulumi_gcp/spanner/instance_config.py +569 -0
- pulumi_gcp/spanner/outputs.py +73 -0
- pulumi_gcp/sql/_inputs.py +8 -2
- pulumi_gcp/sql/outputs.py +9 -6
- pulumi_gcp/workstations/_inputs.py +51 -1
- pulumi_gcp/workstations/outputs.py +46 -2
- pulumi_gcp/workstations/workstation_config.py +10 -4
- {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718247696.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718247696.dist-info}/RECORD +81 -76
- {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718247696.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718247696.dist-info}/top_level.txt +0 -0
pulumi_gcp/provider.py
CHANGED
@@ -158,6 +158,7 @@ class ProviderArgs:
|
|
158
158
|
secret_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
159
159
|
secure_source_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
160
160
|
security_center_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
161
|
+
security_center_management_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
161
162
|
security_scanner_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
162
163
|
securityposture_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
163
164
|
service_directory_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
@@ -477,6 +478,8 @@ class ProviderArgs:
|
|
477
478
|
pulumi.set(__self__, "secure_source_manager_custom_endpoint", secure_source_manager_custom_endpoint)
|
478
479
|
if security_center_custom_endpoint is not None:
|
479
480
|
pulumi.set(__self__, "security_center_custom_endpoint", security_center_custom_endpoint)
|
481
|
+
if security_center_management_custom_endpoint is not None:
|
482
|
+
pulumi.set(__self__, "security_center_management_custom_endpoint", security_center_management_custom_endpoint)
|
480
483
|
if security_scanner_custom_endpoint is not None:
|
481
484
|
pulumi.set(__self__, "security_scanner_custom_endpoint", security_scanner_custom_endpoint)
|
482
485
|
if securityposture_custom_endpoint is not None:
|
@@ -1819,6 +1822,15 @@ class ProviderArgs:
|
|
1819
1822
|
def security_center_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
|
1820
1823
|
pulumi.set(self, "security_center_custom_endpoint", value)
|
1821
1824
|
|
1825
|
+
@property
|
1826
|
+
@pulumi.getter(name="securityCenterManagementCustomEndpoint")
|
1827
|
+
def security_center_management_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
|
1828
|
+
return pulumi.get(self, "security_center_management_custom_endpoint")
|
1829
|
+
|
1830
|
+
@security_center_management_custom_endpoint.setter
|
1831
|
+
def security_center_management_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
|
1832
|
+
pulumi.set(self, "security_center_management_custom_endpoint", value)
|
1833
|
+
|
1822
1834
|
@property
|
1823
1835
|
@pulumi.getter(name="securityScannerCustomEndpoint")
|
1824
1836
|
def security_scanner_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
|
@@ -2202,6 +2214,7 @@ class Provider(pulumi.ProviderResource):
|
|
2202
2214
|
secret_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2203
2215
|
secure_source_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2204
2216
|
security_center_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2217
|
+
security_center_management_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2205
2218
|
security_scanner_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2206
2219
|
securityposture_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2207
2220
|
service_directory_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
@@ -2408,6 +2421,7 @@ class Provider(pulumi.ProviderResource):
|
|
2408
2421
|
secret_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2409
2422
|
secure_source_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2410
2423
|
security_center_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2424
|
+
security_center_management_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2411
2425
|
security_scanner_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2412
2426
|
securityposture_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2413
2427
|
service_directory_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
@@ -2590,6 +2604,7 @@ class Provider(pulumi.ProviderResource):
|
|
2590
2604
|
__props__.__dict__["secret_manager_custom_endpoint"] = secret_manager_custom_endpoint
|
2591
2605
|
__props__.__dict__["secure_source_manager_custom_endpoint"] = secure_source_manager_custom_endpoint
|
2592
2606
|
__props__.__dict__["security_center_custom_endpoint"] = security_center_custom_endpoint
|
2607
|
+
__props__.__dict__["security_center_management_custom_endpoint"] = security_center_management_custom_endpoint
|
2593
2608
|
__props__.__dict__["security_scanner_custom_endpoint"] = security_scanner_custom_endpoint
|
2594
2609
|
__props__.__dict__["securityposture_custom_endpoint"] = securityposture_custom_endpoint
|
2595
2610
|
__props__.__dict__["service_directory_custom_endpoint"] = service_directory_custom_endpoint
|
@@ -3311,6 +3326,11 @@ class Provider(pulumi.ProviderResource):
|
|
3311
3326
|
def security_center_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
|
3312
3327
|
return pulumi.get(self, "security_center_custom_endpoint")
|
3313
3328
|
|
3329
|
+
@property
|
3330
|
+
@pulumi.getter(name="securityCenterManagementCustomEndpoint")
|
3331
|
+
def security_center_management_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
|
3332
|
+
return pulumi.get(self, "security_center_management_custom_endpoint")
|
3333
|
+
|
3314
3334
|
@property
|
3315
3335
|
@pulumi.getter(name="securityScannerCustomEndpoint")
|
3316
3336
|
def security_scanner_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
|
pulumi_gcp/pulumi-plugin.json
CHANGED
pulumi_gcp/redis/_inputs.py
CHANGED
@@ -16,6 +16,7 @@ __all__ = [
|
|
16
16
|
'ClusterPscConnectionArgs',
|
17
17
|
'ClusterStateInfoArgs',
|
18
18
|
'ClusterStateInfoUpdateInfoArgs',
|
19
|
+
'ClusterZoneDistributionConfigArgs',
|
19
20
|
'InstanceMaintenancePolicyArgs',
|
20
21
|
'InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs',
|
21
22
|
'InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs',
|
@@ -288,6 +289,49 @@ class ClusterStateInfoUpdateInfoArgs:
|
|
288
289
|
pulumi.set(self, "target_shard_count", value)
|
289
290
|
|
290
291
|
|
292
|
+
@pulumi.input_type
|
293
|
+
class ClusterZoneDistributionConfigArgs:
|
294
|
+
def __init__(__self__, *,
|
295
|
+
mode: Optional[pulumi.Input[str]] = None,
|
296
|
+
zone: Optional[pulumi.Input[str]] = None):
|
297
|
+
"""
|
298
|
+
:param pulumi.Input[str] mode: Immutable. The mode for zone distribution for Memorystore Redis cluster.
|
299
|
+
If not provided, MULTI_ZONE will be used as default
|
300
|
+
Possible values are: `MULTI_ZONE`, `SINGLE_ZONE`.
|
301
|
+
:param pulumi.Input[str] zone: Immutable. The zone for single zone Memorystore Redis cluster.
|
302
|
+
"""
|
303
|
+
if mode is not None:
|
304
|
+
pulumi.set(__self__, "mode", mode)
|
305
|
+
if zone is not None:
|
306
|
+
pulumi.set(__self__, "zone", zone)
|
307
|
+
|
308
|
+
@property
|
309
|
+
@pulumi.getter
|
310
|
+
def mode(self) -> Optional[pulumi.Input[str]]:
|
311
|
+
"""
|
312
|
+
Immutable. The mode for zone distribution for Memorystore Redis cluster.
|
313
|
+
If not provided, MULTI_ZONE will be used as default
|
314
|
+
Possible values are: `MULTI_ZONE`, `SINGLE_ZONE`.
|
315
|
+
"""
|
316
|
+
return pulumi.get(self, "mode")
|
317
|
+
|
318
|
+
@mode.setter
|
319
|
+
def mode(self, value: Optional[pulumi.Input[str]]):
|
320
|
+
pulumi.set(self, "mode", value)
|
321
|
+
|
322
|
+
@property
|
323
|
+
@pulumi.getter
|
324
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
325
|
+
"""
|
326
|
+
Immutable. The zone for single zone Memorystore Redis cluster.
|
327
|
+
"""
|
328
|
+
return pulumi.get(self, "zone")
|
329
|
+
|
330
|
+
@zone.setter
|
331
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
332
|
+
pulumi.set(self, "zone", value)
|
333
|
+
|
334
|
+
|
291
335
|
@pulumi.input_type
|
292
336
|
class InstanceMaintenancePolicyArgs:
|
293
337
|
def __init__(__self__, *,
|
pulumi_gcp/redis/cluster.py
CHANGED
@@ -25,7 +25,8 @@ class ClusterArgs:
|
|
25
25
|
redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
26
26
|
region: Optional[pulumi.Input[str]] = None,
|
27
27
|
replica_count: Optional[pulumi.Input[int]] = None,
|
28
|
-
transit_encryption_mode: Optional[pulumi.Input[str]] = None
|
28
|
+
transit_encryption_mode: Optional[pulumi.Input[str]] = None,
|
29
|
+
zone_distribution_config: Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']] = None):
|
29
30
|
"""
|
30
31
|
The set of arguments for constructing a Cluster resource.
|
31
32
|
:param pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]] psc_configs: Required. Each PscConfig configures the consumer network where two
|
@@ -48,6 +49,7 @@ class ClusterArgs:
|
|
48
49
|
:param pulumi.Input[str] transit_encryption_mode: Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.
|
49
50
|
Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
|
50
51
|
"TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
|
52
|
+
:param pulumi.Input['ClusterZoneDistributionConfigArgs'] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
|
51
53
|
"""
|
52
54
|
pulumi.set(__self__, "psc_configs", psc_configs)
|
53
55
|
pulumi.set(__self__, "shard_count", shard_count)
|
@@ -67,6 +69,8 @@ class ClusterArgs:
|
|
67
69
|
pulumi.set(__self__, "replica_count", replica_count)
|
68
70
|
if transit_encryption_mode is not None:
|
69
71
|
pulumi.set(__self__, "transit_encryption_mode", transit_encryption_mode)
|
72
|
+
if zone_distribution_config is not None:
|
73
|
+
pulumi.set(__self__, "zone_distribution_config", zone_distribution_config)
|
70
74
|
|
71
75
|
@property
|
72
76
|
@pulumi.getter(name="pscConfigs")
|
@@ -196,6 +200,18 @@ class ClusterArgs:
|
|
196
200
|
def transit_encryption_mode(self, value: Optional[pulumi.Input[str]]):
|
197
201
|
pulumi.set(self, "transit_encryption_mode", value)
|
198
202
|
|
203
|
+
@property
|
204
|
+
@pulumi.getter(name="zoneDistributionConfig")
|
205
|
+
def zone_distribution_config(self) -> Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']]:
|
206
|
+
"""
|
207
|
+
Immutable. Zone distribution config for Memorystore Redis cluster.
|
208
|
+
"""
|
209
|
+
return pulumi.get(self, "zone_distribution_config")
|
210
|
+
|
211
|
+
@zone_distribution_config.setter
|
212
|
+
def zone_distribution_config(self, value: Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']]):
|
213
|
+
pulumi.set(self, "zone_distribution_config", value)
|
214
|
+
|
199
215
|
|
200
216
|
@pulumi.input_type
|
201
217
|
class _ClusterState:
|
@@ -217,7 +233,8 @@ class _ClusterState:
|
|
217
233
|
state: Optional[pulumi.Input[str]] = None,
|
218
234
|
state_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterStateInfoArgs']]]] = None,
|
219
235
|
transit_encryption_mode: Optional[pulumi.Input[str]] = None,
|
220
|
-
uid: Optional[pulumi.Input[str]] = None
|
236
|
+
uid: Optional[pulumi.Input[str]] = None,
|
237
|
+
zone_distribution_config: Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']] = None):
|
221
238
|
"""
|
222
239
|
Input properties used for looking up and filtering Cluster resources.
|
223
240
|
:param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
|
@@ -255,6 +272,7 @@ class _ClusterState:
|
|
255
272
|
Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
|
256
273
|
"TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
|
257
274
|
:param pulumi.Input[str] uid: System assigned, unique identifier for the cluster.
|
275
|
+
:param pulumi.Input['ClusterZoneDistributionConfigArgs'] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
|
258
276
|
"""
|
259
277
|
if authorization_mode is not None:
|
260
278
|
pulumi.set(__self__, "authorization_mode", authorization_mode)
|
@@ -292,6 +310,8 @@ class _ClusterState:
|
|
292
310
|
pulumi.set(__self__, "transit_encryption_mode", transit_encryption_mode)
|
293
311
|
if uid is not None:
|
294
312
|
pulumi.set(__self__, "uid", uid)
|
313
|
+
if zone_distribution_config is not None:
|
314
|
+
pulumi.set(__self__, "zone_distribution_config", zone_distribution_config)
|
295
315
|
|
296
316
|
@property
|
297
317
|
@pulumi.getter(name="authorizationMode")
|
@@ -524,6 +544,18 @@ class _ClusterState:
|
|
524
544
|
def uid(self, value: Optional[pulumi.Input[str]]):
|
525
545
|
pulumi.set(self, "uid", value)
|
526
546
|
|
547
|
+
@property
|
548
|
+
@pulumi.getter(name="zoneDistributionConfig")
|
549
|
+
def zone_distribution_config(self) -> Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']]:
|
550
|
+
"""
|
551
|
+
Immutable. Zone distribution config for Memorystore Redis cluster.
|
552
|
+
"""
|
553
|
+
return pulumi.get(self, "zone_distribution_config")
|
554
|
+
|
555
|
+
@zone_distribution_config.setter
|
556
|
+
def zone_distribution_config(self, value: Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']]):
|
557
|
+
pulumi.set(self, "zone_distribution_config", value)
|
558
|
+
|
527
559
|
|
528
560
|
class Cluster(pulumi.CustomResource):
|
529
561
|
@overload
|
@@ -540,6 +572,7 @@ class Cluster(pulumi.CustomResource):
|
|
540
572
|
replica_count: Optional[pulumi.Input[int]] = None,
|
541
573
|
shard_count: Optional[pulumi.Input[int]] = None,
|
542
574
|
transit_encryption_mode: Optional[pulumi.Input[str]] = None,
|
575
|
+
zone_distribution_config: Optional[pulumi.Input[pulumi.InputType['ClusterZoneDistributionConfigArgs']]] = None,
|
543
576
|
__props__=None):
|
544
577
|
"""
|
545
578
|
A Google Cloud Redis Cluster instance.
|
@@ -589,6 +622,45 @@ class Cluster(pulumi.CustomResource):
|
|
589
622
|
redis_configs={
|
590
623
|
"maxmemory-policy": "volatile-ttl",
|
591
624
|
},
|
625
|
+
zone_distribution_config=gcp.redis.ClusterZoneDistributionConfigArgs(
|
626
|
+
mode="MULTI_ZONE",
|
627
|
+
),
|
628
|
+
opts=pulumi.ResourceOptions(depends_on=[default]))
|
629
|
+
```
|
630
|
+
### Redis Cluster Ha Single Zone
|
631
|
+
|
632
|
+
```python
|
633
|
+
import pulumi
|
634
|
+
import pulumi_gcp as gcp
|
635
|
+
|
636
|
+
producer_net = gcp.compute.Network("producer_net",
|
637
|
+
name="mynetwork",
|
638
|
+
auto_create_subnetworks=False)
|
639
|
+
producer_subnet = gcp.compute.Subnetwork("producer_subnet",
|
640
|
+
name="mysubnet",
|
641
|
+
ip_cidr_range="10.0.0.248/29",
|
642
|
+
region="us-central1",
|
643
|
+
network=producer_net.id)
|
644
|
+
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
|
645
|
+
name="mypolicy",
|
646
|
+
location="us-central1",
|
647
|
+
service_class="gcp-memorystore-redis",
|
648
|
+
description="my basic service connection policy",
|
649
|
+
network=producer_net.id,
|
650
|
+
psc_config=gcp.networkconnectivity.ServiceConnectionPolicyPscConfigArgs(
|
651
|
+
subnetworks=[producer_subnet.id],
|
652
|
+
))
|
653
|
+
cluster_ha_single_zone = gcp.redis.Cluster("cluster-ha-single-zone",
|
654
|
+
name="ha-cluster-single-zone",
|
655
|
+
shard_count=3,
|
656
|
+
psc_configs=[gcp.redis.ClusterPscConfigArgs(
|
657
|
+
network=producer_net.id,
|
658
|
+
)],
|
659
|
+
region="us-central1",
|
660
|
+
zone_distribution_config=gcp.redis.ClusterZoneDistributionConfigArgs(
|
661
|
+
mode="SINGLE_ZONE",
|
662
|
+
zone="us-central1-f",
|
663
|
+
),
|
592
664
|
opts=pulumi.ResourceOptions(depends_on=[default]))
|
593
665
|
```
|
594
666
|
|
@@ -644,6 +716,7 @@ class Cluster(pulumi.CustomResource):
|
|
644
716
|
:param pulumi.Input[str] transit_encryption_mode: Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.
|
645
717
|
Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
|
646
718
|
"TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
|
719
|
+
:param pulumi.Input[pulumi.InputType['ClusterZoneDistributionConfigArgs']] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
|
647
720
|
"""
|
648
721
|
...
|
649
722
|
@overload
|
@@ -699,6 +772,45 @@ class Cluster(pulumi.CustomResource):
|
|
699
772
|
redis_configs={
|
700
773
|
"maxmemory-policy": "volatile-ttl",
|
701
774
|
},
|
775
|
+
zone_distribution_config=gcp.redis.ClusterZoneDistributionConfigArgs(
|
776
|
+
mode="MULTI_ZONE",
|
777
|
+
),
|
778
|
+
opts=pulumi.ResourceOptions(depends_on=[default]))
|
779
|
+
```
|
780
|
+
### Redis Cluster Ha Single Zone
|
781
|
+
|
782
|
+
```python
|
783
|
+
import pulumi
|
784
|
+
import pulumi_gcp as gcp
|
785
|
+
|
786
|
+
producer_net = gcp.compute.Network("producer_net",
|
787
|
+
name="mynetwork",
|
788
|
+
auto_create_subnetworks=False)
|
789
|
+
producer_subnet = gcp.compute.Subnetwork("producer_subnet",
|
790
|
+
name="mysubnet",
|
791
|
+
ip_cidr_range="10.0.0.248/29",
|
792
|
+
region="us-central1",
|
793
|
+
network=producer_net.id)
|
794
|
+
default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
|
795
|
+
name="mypolicy",
|
796
|
+
location="us-central1",
|
797
|
+
service_class="gcp-memorystore-redis",
|
798
|
+
description="my basic service connection policy",
|
799
|
+
network=producer_net.id,
|
800
|
+
psc_config=gcp.networkconnectivity.ServiceConnectionPolicyPscConfigArgs(
|
801
|
+
subnetworks=[producer_subnet.id],
|
802
|
+
))
|
803
|
+
cluster_ha_single_zone = gcp.redis.Cluster("cluster-ha-single-zone",
|
804
|
+
name="ha-cluster-single-zone",
|
805
|
+
shard_count=3,
|
806
|
+
psc_configs=[gcp.redis.ClusterPscConfigArgs(
|
807
|
+
network=producer_net.id,
|
808
|
+
)],
|
809
|
+
region="us-central1",
|
810
|
+
zone_distribution_config=gcp.redis.ClusterZoneDistributionConfigArgs(
|
811
|
+
mode="SINGLE_ZONE",
|
812
|
+
zone="us-central1-f",
|
813
|
+
),
|
702
814
|
opts=pulumi.ResourceOptions(depends_on=[default]))
|
703
815
|
```
|
704
816
|
|
@@ -757,6 +869,7 @@ class Cluster(pulumi.CustomResource):
|
|
757
869
|
replica_count: Optional[pulumi.Input[int]] = None,
|
758
870
|
shard_count: Optional[pulumi.Input[int]] = None,
|
759
871
|
transit_encryption_mode: Optional[pulumi.Input[str]] = None,
|
872
|
+
zone_distribution_config: Optional[pulumi.Input[pulumi.InputType['ClusterZoneDistributionConfigArgs']]] = None,
|
760
873
|
__props__=None):
|
761
874
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
762
875
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -780,6 +893,7 @@ class Cluster(pulumi.CustomResource):
|
|
780
893
|
raise TypeError("Missing required property 'shard_count'")
|
781
894
|
__props__.__dict__["shard_count"] = shard_count
|
782
895
|
__props__.__dict__["transit_encryption_mode"] = transit_encryption_mode
|
896
|
+
__props__.__dict__["zone_distribution_config"] = zone_distribution_config
|
783
897
|
__props__.__dict__["create_time"] = None
|
784
898
|
__props__.__dict__["discovery_endpoints"] = None
|
785
899
|
__props__.__dict__["precise_size_gb"] = None
|
@@ -815,7 +929,8 @@ class Cluster(pulumi.CustomResource):
|
|
815
929
|
state: Optional[pulumi.Input[str]] = None,
|
816
930
|
state_infos: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterStateInfoArgs']]]]] = None,
|
817
931
|
transit_encryption_mode: Optional[pulumi.Input[str]] = None,
|
818
|
-
uid: Optional[pulumi.Input[str]] = None
|
932
|
+
uid: Optional[pulumi.Input[str]] = None,
|
933
|
+
zone_distribution_config: Optional[pulumi.Input[pulumi.InputType['ClusterZoneDistributionConfigArgs']]] = None) -> 'Cluster':
|
819
934
|
"""
|
820
935
|
Get an existing Cluster resource's state with the given name, id, and optional extra
|
821
936
|
properties used to qualify the lookup.
|
@@ -858,6 +973,7 @@ class Cluster(pulumi.CustomResource):
|
|
858
973
|
Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
|
859
974
|
"TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
|
860
975
|
:param pulumi.Input[str] uid: System assigned, unique identifier for the cluster.
|
976
|
+
:param pulumi.Input[pulumi.InputType['ClusterZoneDistributionConfigArgs']] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
|
861
977
|
"""
|
862
978
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
863
979
|
|
@@ -881,6 +997,7 @@ class Cluster(pulumi.CustomResource):
|
|
881
997
|
__props__.__dict__["state_infos"] = state_infos
|
882
998
|
__props__.__dict__["transit_encryption_mode"] = transit_encryption_mode
|
883
999
|
__props__.__dict__["uid"] = uid
|
1000
|
+
__props__.__dict__["zone_distribution_config"] = zone_distribution_config
|
884
1001
|
return Cluster(resource_name, opts=opts, __props__=__props__)
|
885
1002
|
|
886
1003
|
@property
|
@@ -1042,3 +1159,11 @@ class Cluster(pulumi.CustomResource):
|
|
1042
1159
|
"""
|
1043
1160
|
return pulumi.get(self, "uid")
|
1044
1161
|
|
1162
|
+
@property
|
1163
|
+
@pulumi.getter(name="zoneDistributionConfig")
|
1164
|
+
def zone_distribution_config(self) -> pulumi.Output[Optional['outputs.ClusterZoneDistributionConfig']]:
|
1165
|
+
"""
|
1166
|
+
Immutable. Zone distribution config for Memorystore Redis cluster.
|
1167
|
+
"""
|
1168
|
+
return pulumi.get(self, "zone_distribution_config")
|
1169
|
+
|
pulumi_gcp/redis/outputs.py
CHANGED
@@ -17,6 +17,7 @@ __all__ = [
|
|
17
17
|
'ClusterPscConnection',
|
18
18
|
'ClusterStateInfo',
|
19
19
|
'ClusterStateInfoUpdateInfo',
|
20
|
+
'ClusterZoneDistributionConfig',
|
20
21
|
'InstanceMaintenancePolicy',
|
21
22
|
'InstanceMaintenancePolicyWeeklyMaintenanceWindow',
|
22
23
|
'InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTime',
|
@@ -318,6 +319,41 @@ class ClusterStateInfoUpdateInfo(dict):
|
|
318
319
|
return pulumi.get(self, "target_shard_count")
|
319
320
|
|
320
321
|
|
322
|
+
@pulumi.output_type
|
323
|
+
class ClusterZoneDistributionConfig(dict):
|
324
|
+
def __init__(__self__, *,
|
325
|
+
mode: Optional[str] = None,
|
326
|
+
zone: Optional[str] = None):
|
327
|
+
"""
|
328
|
+
:param str mode: Immutable. The mode for zone distribution for Memorystore Redis cluster.
|
329
|
+
If not provided, MULTI_ZONE will be used as default
|
330
|
+
Possible values are: `MULTI_ZONE`, `SINGLE_ZONE`.
|
331
|
+
:param str zone: Immutable. The zone for single zone Memorystore Redis cluster.
|
332
|
+
"""
|
333
|
+
if mode is not None:
|
334
|
+
pulumi.set(__self__, "mode", mode)
|
335
|
+
if zone is not None:
|
336
|
+
pulumi.set(__self__, "zone", zone)
|
337
|
+
|
338
|
+
@property
|
339
|
+
@pulumi.getter
|
340
|
+
def mode(self) -> Optional[str]:
|
341
|
+
"""
|
342
|
+
Immutable. The mode for zone distribution for Memorystore Redis cluster.
|
343
|
+
If not provided, MULTI_ZONE will be used as default
|
344
|
+
Possible values are: `MULTI_ZONE`, `SINGLE_ZONE`.
|
345
|
+
"""
|
346
|
+
return pulumi.get(self, "mode")
|
347
|
+
|
348
|
+
@property
|
349
|
+
@pulumi.getter
|
350
|
+
def zone(self) -> Optional[str]:
|
351
|
+
"""
|
352
|
+
Immutable. The zone for single zone Memorystore Redis cluster.
|
353
|
+
"""
|
354
|
+
return pulumi.get(self, "zone")
|
355
|
+
|
356
|
+
|
321
357
|
@pulumi.output_type
|
322
358
|
class InstanceMaintenancePolicy(dict):
|
323
359
|
@staticmethod
|
@@ -28,6 +28,10 @@ class SecretIamBindingConditionArgs:
|
|
28
28
|
expression: pulumi.Input[str],
|
29
29
|
title: pulumi.Input[str],
|
30
30
|
description: Optional[pulumi.Input[str]] = None):
|
31
|
+
"""
|
32
|
+
:param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
|
33
|
+
:param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
|
34
|
+
"""
|
31
35
|
pulumi.set(__self__, "expression", expression)
|
32
36
|
pulumi.set(__self__, "title", title)
|
33
37
|
if description is not None:
|
@@ -36,6 +40,9 @@ class SecretIamBindingConditionArgs:
|
|
36
40
|
@property
|
37
41
|
@pulumi.getter
|
38
42
|
def expression(self) -> pulumi.Input[str]:
|
43
|
+
"""
|
44
|
+
Textual representation of an expression in Common Expression Language syntax.
|
45
|
+
"""
|
39
46
|
return pulumi.get(self, "expression")
|
40
47
|
|
41
48
|
@expression.setter
|
@@ -45,6 +52,9 @@ class SecretIamBindingConditionArgs:
|
|
45
52
|
@property
|
46
53
|
@pulumi.getter
|
47
54
|
def title(self) -> pulumi.Input[str]:
|
55
|
+
"""
|
56
|
+
A title for the expression, i.e. a short string describing its purpose.
|
57
|
+
"""
|
48
58
|
return pulumi.get(self, "title")
|
49
59
|
|
50
60
|
@title.setter
|
@@ -67,6 +77,10 @@ class SecretIamMemberConditionArgs:
|
|
67
77
|
expression: pulumi.Input[str],
|
68
78
|
title: pulumi.Input[str],
|
69
79
|
description: Optional[pulumi.Input[str]] = None):
|
80
|
+
"""
|
81
|
+
:param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
|
82
|
+
:param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
|
83
|
+
"""
|
70
84
|
pulumi.set(__self__, "expression", expression)
|
71
85
|
pulumi.set(__self__, "title", title)
|
72
86
|
if description is not None:
|
@@ -75,6 +89,9 @@ class SecretIamMemberConditionArgs:
|
|
75
89
|
@property
|
76
90
|
@pulumi.getter
|
77
91
|
def expression(self) -> pulumi.Input[str]:
|
92
|
+
"""
|
93
|
+
Textual representation of an expression in Common Expression Language syntax.
|
94
|
+
"""
|
78
95
|
return pulumi.get(self, "expression")
|
79
96
|
|
80
97
|
@expression.setter
|
@@ -84,6 +101,9 @@ class SecretIamMemberConditionArgs:
|
|
84
101
|
@property
|
85
102
|
@pulumi.getter
|
86
103
|
def title(self) -> pulumi.Input[str]:
|
104
|
+
"""
|
105
|
+
A title for the expression, i.e. a short string describing its purpose.
|
106
|
+
"""
|
87
107
|
return pulumi.get(self, "title")
|
88
108
|
|
89
109
|
@title.setter
|
@@ -46,6 +46,10 @@ class SecretIamBindingCondition(dict):
|
|
46
46
|
expression: str,
|
47
47
|
title: str,
|
48
48
|
description: Optional[str] = None):
|
49
|
+
"""
|
50
|
+
:param str expression: Textual representation of an expression in Common Expression Language syntax.
|
51
|
+
:param str title: A title for the expression, i.e. a short string describing its purpose.
|
52
|
+
"""
|
49
53
|
pulumi.set(__self__, "expression", expression)
|
50
54
|
pulumi.set(__self__, "title", title)
|
51
55
|
if description is not None:
|
@@ -54,11 +58,17 @@ class SecretIamBindingCondition(dict):
|
|
54
58
|
@property
|
55
59
|
@pulumi.getter
|
56
60
|
def expression(self) -> str:
|
61
|
+
"""
|
62
|
+
Textual representation of an expression in Common Expression Language syntax.
|
63
|
+
"""
|
57
64
|
return pulumi.get(self, "expression")
|
58
65
|
|
59
66
|
@property
|
60
67
|
@pulumi.getter
|
61
68
|
def title(self) -> str:
|
69
|
+
"""
|
70
|
+
A title for the expression, i.e. a short string describing its purpose.
|
71
|
+
"""
|
62
72
|
return pulumi.get(self, "title")
|
63
73
|
|
64
74
|
@property
|
@@ -73,6 +83,10 @@ class SecretIamMemberCondition(dict):
|
|
73
83
|
expression: str,
|
74
84
|
title: str,
|
75
85
|
description: Optional[str] = None):
|
86
|
+
"""
|
87
|
+
:param str expression: Textual representation of an expression in Common Expression Language syntax.
|
88
|
+
:param str title: A title for the expression, i.e. a short string describing its purpose.
|
89
|
+
"""
|
76
90
|
pulumi.set(__self__, "expression", expression)
|
77
91
|
pulumi.set(__self__, "title", title)
|
78
92
|
if description is not None:
|
@@ -81,11 +95,17 @@ class SecretIamMemberCondition(dict):
|
|
81
95
|
@property
|
82
96
|
@pulumi.getter
|
83
97
|
def expression(self) -> str:
|
98
|
+
"""
|
99
|
+
Textual representation of an expression in Common Expression Language syntax.
|
100
|
+
"""
|
84
101
|
return pulumi.get(self, "expression")
|
85
102
|
|
86
103
|
@property
|
87
104
|
@pulumi.getter
|
88
105
|
def title(self) -> str:
|
106
|
+
"""
|
107
|
+
A title for the expression, i.e. a short string describing its purpose.
|
108
|
+
"""
|
89
109
|
return pulumi.get(self, "title")
|
90
110
|
|
91
111
|
@property
|