pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.0a1738391833__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,6 @@ __all__ = ['ClusterArgs', 'Cluster']
21
21
  @pulumi.input_type
22
22
  class ClusterArgs:
23
23
  def __init__(__self__, *,
24
- psc_configs: pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]],
25
24
  shard_count: pulumi.Input[int],
26
25
  authorization_mode: Optional[pulumi.Input[str]] = None,
27
26
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
@@ -31,6 +30,7 @@ class ClusterArgs:
31
30
  node_type: Optional[pulumi.Input[str]] = None,
32
31
  persistence_config: Optional[pulumi.Input['ClusterPersistenceConfigArgs']] = None,
33
32
  project: Optional[pulumi.Input[str]] = None,
33
+ psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]] = None,
34
34
  redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
35
35
  region: Optional[pulumi.Input[str]] = None,
36
36
  replica_count: Optional[pulumi.Input[int]] = None,
@@ -38,34 +38,45 @@ class ClusterArgs:
38
38
  zone_distribution_config: Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']] = None):
39
39
  """
40
40
  The set of arguments for constructing a Cluster resource.
41
- :param pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]] psc_configs: Required. Each PscConfig configures the consumer network where two
42
- network addresses will be designated to the cluster for client access.
43
- Currently, only one PscConfig is supported.
44
- Structure is documented below.
45
41
  :param pulumi.Input[int] shard_count: Required. Number of shards for the Redis cluster.
46
42
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
47
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
48
- "AUTH_MODE_DISABLED"]
43
+ Default value is `AUTH_MODE_DISABLED`.
44
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
49
45
  :param pulumi.Input['ClusterCrossClusterReplicationConfigArgs'] cross_cluster_replication_config: Cross cluster replication config
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
51
- operation will fail. Default value is true.
46
+ Structure is documented below.
47
+ :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
48
+ If the value if set to true, any delete cluster operation will fail.
49
+ Default value is true.
52
50
  :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
51
+ Structure is documented below.
53
52
  :param pulumi.Input[str] name: Unique name of the resource in this scope including project and location using the form:
54
53
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
55
- :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
56
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
54
+
55
+
56
+ - - -
57
+ :param pulumi.Input[str] node_type: The nodeType for the Redis cluster.
58
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
59
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
57
60
  :param pulumi.Input['ClusterPersistenceConfigArgs'] persistence_config: Persistence config (RDB, AOF) for the cluster.
58
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
59
- documentation for the list of supported parameters:
61
+ Structure is documented below.
62
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
63
+ If it is not provided, the provider project is used.
64
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]] psc_configs: Required. Each PscConfig configures the consumer network where two
65
+ network addresses will be designated to the cluster for client access.
66
+ Currently, only one PscConfig is supported.
67
+ Structure is documented below.
68
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
69
+ Please check Memorystore documentation for the list of supported parameters:
60
70
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
61
71
  :param pulumi.Input[str] region: The name of the region of the Redis cluster.
62
72
  :param pulumi.Input[int] replica_count: Optional. The number of replica nodes per shard.
63
- :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.
64
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
65
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
73
+ :param pulumi.Input[str] transit_encryption_mode: Optional. The in-transit encryption for the Redis cluster.
74
+ If not provided, encryption is disabled for the cluster.
75
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
76
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
66
77
  :param pulumi.Input['ClusterZoneDistributionConfigArgs'] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
78
+ Structure is documented below.
67
79
  """
68
- pulumi.set(__self__, "psc_configs", psc_configs)
69
80
  pulumi.set(__self__, "shard_count", shard_count)
70
81
  if authorization_mode is not None:
71
82
  pulumi.set(__self__, "authorization_mode", authorization_mode)
@@ -83,6 +94,8 @@ class ClusterArgs:
83
94
  pulumi.set(__self__, "persistence_config", persistence_config)
84
95
  if project is not None:
85
96
  pulumi.set(__self__, "project", project)
97
+ if psc_configs is not None:
98
+ pulumi.set(__self__, "psc_configs", psc_configs)
86
99
  if redis_configs is not None:
87
100
  pulumi.set(__self__, "redis_configs", redis_configs)
88
101
  if region is not None:
@@ -94,21 +107,6 @@ class ClusterArgs:
94
107
  if zone_distribution_config is not None:
95
108
  pulumi.set(__self__, "zone_distribution_config", zone_distribution_config)
96
109
 
97
- @property
98
- @pulumi.getter(name="pscConfigs")
99
- def psc_configs(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]:
100
- """
101
- Required. Each PscConfig configures the consumer network where two
102
- network addresses will be designated to the cluster for client access.
103
- Currently, only one PscConfig is supported.
104
- Structure is documented below.
105
- """
106
- return pulumi.get(self, "psc_configs")
107
-
108
- @psc_configs.setter
109
- def psc_configs(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]):
110
- pulumi.set(self, "psc_configs", value)
111
-
112
110
  @property
113
111
  @pulumi.getter(name="shardCount")
114
112
  def shard_count(self) -> pulumi.Input[int]:
@@ -126,8 +124,8 @@ class ClusterArgs:
126
124
  def authorization_mode(self) -> Optional[pulumi.Input[str]]:
127
125
  """
128
126
  Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
129
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
130
- "AUTH_MODE_DISABLED"]
127
+ Default value is `AUTH_MODE_DISABLED`.
128
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
131
129
  """
132
130
  return pulumi.get(self, "authorization_mode")
133
131
 
@@ -140,6 +138,7 @@ class ClusterArgs:
140
138
  def cross_cluster_replication_config(self) -> Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]:
141
139
  """
142
140
  Cross cluster replication config
141
+ Structure is documented below.
143
142
  """
144
143
  return pulumi.get(self, "cross_cluster_replication_config")
145
144
 
@@ -151,8 +150,9 @@ class ClusterArgs:
151
150
  @pulumi.getter(name="deletionProtectionEnabled")
152
151
  def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]:
153
152
  """
154
- Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
155
- operation will fail. Default value is true.
153
+ Optional. Indicates if the cluster is deletion protected or not.
154
+ If the value if set to true, any delete cluster operation will fail.
155
+ Default value is true.
156
156
  """
157
157
  return pulumi.get(self, "deletion_protection_enabled")
158
158
 
@@ -165,6 +165,7 @@ class ClusterArgs:
165
165
  def maintenance_policy(self) -> Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]:
166
166
  """
167
167
  Maintenance policy for a cluster
168
+ Structure is documented below.
168
169
  """
169
170
  return pulumi.get(self, "maintenance_policy")
170
171
 
@@ -178,6 +179,9 @@ class ClusterArgs:
178
179
  """
179
180
  Unique name of the resource in this scope including project and location using the form:
180
181
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
182
+
183
+
184
+ - - -
181
185
  """
182
186
  return pulumi.get(self, "name")
183
187
 
@@ -189,8 +193,9 @@ class ClusterArgs:
189
193
  @pulumi.getter(name="nodeType")
190
194
  def node_type(self) -> Optional[pulumi.Input[str]]:
191
195
  """
192
- The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
193
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
196
+ The nodeType for the Redis cluster.
197
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
198
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
194
199
  """
195
200
  return pulumi.get(self, "node_type")
196
201
 
@@ -203,6 +208,7 @@ class ClusterArgs:
203
208
  def persistence_config(self) -> Optional[pulumi.Input['ClusterPersistenceConfigArgs']]:
204
209
  """
205
210
  Persistence config (RDB, AOF) for the cluster.
211
+ Structure is documented below.
206
212
  """
207
213
  return pulumi.get(self, "persistence_config")
208
214
 
@@ -213,18 +219,37 @@ class ClusterArgs:
213
219
  @property
214
220
  @pulumi.getter
215
221
  def project(self) -> Optional[pulumi.Input[str]]:
222
+ """
223
+ The ID of the project in which the resource belongs.
224
+ If it is not provided, the provider project is used.
225
+ """
216
226
  return pulumi.get(self, "project")
217
227
 
218
228
  @project.setter
219
229
  def project(self, value: Optional[pulumi.Input[str]]):
220
230
  pulumi.set(self, "project", value)
221
231
 
232
+ @property
233
+ @pulumi.getter(name="pscConfigs")
234
+ def psc_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]]:
235
+ """
236
+ Required. Each PscConfig configures the consumer network where two
237
+ network addresses will be designated to the cluster for client access.
238
+ Currently, only one PscConfig is supported.
239
+ Structure is documented below.
240
+ """
241
+ return pulumi.get(self, "psc_configs")
242
+
243
+ @psc_configs.setter
244
+ def psc_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]]):
245
+ pulumi.set(self, "psc_configs", value)
246
+
222
247
  @property
223
248
  @pulumi.getter(name="redisConfigs")
224
249
  def redis_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
225
250
  """
226
- Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
227
- documentation for the list of supported parameters:
251
+ Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
252
+ Please check Memorystore documentation for the list of supported parameters:
228
253
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
229
254
  """
230
255
  return pulumi.get(self, "redis_configs")
@@ -261,9 +286,10 @@ class ClusterArgs:
261
286
  @pulumi.getter(name="transitEncryptionMode")
262
287
  def transit_encryption_mode(self) -> Optional[pulumi.Input[str]]:
263
288
  """
264
- Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.
265
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
266
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
289
+ Optional. The in-transit encryption for the Redis cluster.
290
+ If not provided, encryption is disabled for the cluster.
291
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
292
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
267
293
  """
268
294
  return pulumi.get(self, "transit_encryption_mode")
269
295
 
@@ -276,6 +302,7 @@ class ClusterArgs:
276
302
  def zone_distribution_config(self) -> Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']]:
277
303
  """
278
304
  Immutable. Zone distribution config for Memorystore Redis cluster.
305
+ Structure is documented below.
279
306
  """
280
307
  return pulumi.get(self, "zone_distribution_config")
281
308
 
@@ -301,6 +328,7 @@ class _ClusterState:
301
328
  project: Optional[pulumi.Input[str]] = None,
302
329
  psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]] = None,
303
330
  psc_connections: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConnectionArgs']]]] = None,
331
+ psc_service_attachments: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscServiceAttachmentArgs']]]] = None,
304
332
  redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
305
333
  region: Optional[pulumi.Input[str]] = None,
306
334
  replica_count: Optional[pulumi.Input[int]] = None,
@@ -314,35 +342,47 @@ class _ClusterState:
314
342
  """
315
343
  Input properties used for looking up and filtering Cluster resources.
316
344
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
317
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
318
- "AUTH_MODE_DISABLED"]
345
+ Default value is `AUTH_MODE_DISABLED`.
346
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
319
347
  :param pulumi.Input[str] create_time: The timestamp associated with the cluster creation request. A timestamp in
320
348
  RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
321
349
  digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
322
350
  :param pulumi.Input['ClusterCrossClusterReplicationConfigArgs'] cross_cluster_replication_config: Cross cluster replication config
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
324
- operation will fail. Default value is true.
351
+ Structure is documented below.
352
+ :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
353
+ If the value if set to true, any delete cluster operation will fail.
354
+ Default value is true.
325
355
  :param pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]] discovery_endpoints: Output only. Endpoints created on each given network,
326
356
  for Redis clients to connect to the cluster.
327
357
  Currently only one endpoint is supported.
328
358
  Structure is documented below.
329
359
  :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
360
+ Structure is documented below.
330
361
  :param pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]] maintenance_schedules: Upcoming maintenance schedule.
331
362
  Structure is documented below.
332
363
  :param pulumi.Input[str] name: Unique name of the resource in this scope including project and location using the form:
333
364
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
334
- :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
335
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
365
+
366
+
367
+ - - -
368
+ :param pulumi.Input[str] node_type: The nodeType for the Redis cluster.
369
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
370
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
336
371
  :param pulumi.Input['ClusterPersistenceConfigArgs'] persistence_config: Persistence config (RDB, AOF) for the cluster.
372
+ Structure is documented below.
337
373
  :param pulumi.Input[float] precise_size_gb: Output only. Redis memory precise size in GB for the entire cluster.
374
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
375
+ If it is not provided, the provider project is used.
338
376
  :param pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]] psc_configs: Required. Each PscConfig configures the consumer network where two
339
377
  network addresses will be designated to the cluster for client access.
340
378
  Currently, only one PscConfig is supported.
341
379
  Structure is documented below.
342
380
  :param pulumi.Input[Sequence[pulumi.Input['ClusterPscConnectionArgs']]] psc_connections: Output only. PSC connections for discovery of the cluster topology and accessing the cluster.
343
381
  Structure is documented below.
344
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
345
- documentation for the list of supported parameters:
382
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterPscServiceAttachmentArgs']]] psc_service_attachments: Service attachment details to configure Psc connections.
383
+ Structure is documented below.
384
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
385
+ Please check Memorystore documentation for the list of supported parameters:
346
386
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
347
387
  :param pulumi.Input[str] region: The name of the region of the Redis cluster.
348
388
  :param pulumi.Input[int] replica_count: Optional. The number of replica nodes per shard.
@@ -351,11 +391,13 @@ class _ClusterState:
351
391
  :param pulumi.Input[str] state: The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
352
392
  :param pulumi.Input[Sequence[pulumi.Input['ClusterStateInfoArgs']]] state_infos: Output only. Additional information about the current state of the cluster.
353
393
  Structure is documented below.
354
- :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.
355
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
356
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
394
+ :param pulumi.Input[str] transit_encryption_mode: Optional. The in-transit encryption for the Redis cluster.
395
+ If not provided, encryption is disabled for the cluster.
396
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
397
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
357
398
  :param pulumi.Input[str] uid: System assigned, unique identifier for the cluster.
358
399
  :param pulumi.Input['ClusterZoneDistributionConfigArgs'] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
400
+ Structure is documented below.
359
401
  """
360
402
  if authorization_mode is not None:
361
403
  pulumi.set(__self__, "authorization_mode", authorization_mode)
@@ -385,6 +427,8 @@ class _ClusterState:
385
427
  pulumi.set(__self__, "psc_configs", psc_configs)
386
428
  if psc_connections is not None:
387
429
  pulumi.set(__self__, "psc_connections", psc_connections)
430
+ if psc_service_attachments is not None:
431
+ pulumi.set(__self__, "psc_service_attachments", psc_service_attachments)
388
432
  if redis_configs is not None:
389
433
  pulumi.set(__self__, "redis_configs", redis_configs)
390
434
  if region is not None:
@@ -411,8 +455,8 @@ class _ClusterState:
411
455
  def authorization_mode(self) -> Optional[pulumi.Input[str]]:
412
456
  """
413
457
  Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
414
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
415
- "AUTH_MODE_DISABLED"]
458
+ Default value is `AUTH_MODE_DISABLED`.
459
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
416
460
  """
417
461
  return pulumi.get(self, "authorization_mode")
418
462
 
@@ -439,6 +483,7 @@ class _ClusterState:
439
483
  def cross_cluster_replication_config(self) -> Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]:
440
484
  """
441
485
  Cross cluster replication config
486
+ Structure is documented below.
442
487
  """
443
488
  return pulumi.get(self, "cross_cluster_replication_config")
444
489
 
@@ -450,8 +495,9 @@ class _ClusterState:
450
495
  @pulumi.getter(name="deletionProtectionEnabled")
451
496
  def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]:
452
497
  """
453
- Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
454
- operation will fail. Default value is true.
498
+ Optional. Indicates if the cluster is deletion protected or not.
499
+ If the value if set to true, any delete cluster operation will fail.
500
+ Default value is true.
455
501
  """
456
502
  return pulumi.get(self, "deletion_protection_enabled")
457
503
 
@@ -479,6 +525,7 @@ class _ClusterState:
479
525
  def maintenance_policy(self) -> Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]:
480
526
  """
481
527
  Maintenance policy for a cluster
528
+ Structure is documented below.
482
529
  """
483
530
  return pulumi.get(self, "maintenance_policy")
484
531
 
@@ -505,6 +552,9 @@ class _ClusterState:
505
552
  """
506
553
  Unique name of the resource in this scope including project and location using the form:
507
554
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
555
+
556
+
557
+ - - -
508
558
  """
509
559
  return pulumi.get(self, "name")
510
560
 
@@ -516,8 +566,9 @@ class _ClusterState:
516
566
  @pulumi.getter(name="nodeType")
517
567
  def node_type(self) -> Optional[pulumi.Input[str]]:
518
568
  """
519
- The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
520
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
569
+ The nodeType for the Redis cluster.
570
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
571
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
521
572
  """
522
573
  return pulumi.get(self, "node_type")
523
574
 
@@ -530,6 +581,7 @@ class _ClusterState:
530
581
  def persistence_config(self) -> Optional[pulumi.Input['ClusterPersistenceConfigArgs']]:
531
582
  """
532
583
  Persistence config (RDB, AOF) for the cluster.
584
+ Structure is documented below.
533
585
  """
534
586
  return pulumi.get(self, "persistence_config")
535
587
 
@@ -552,6 +604,10 @@ class _ClusterState:
552
604
  @property
553
605
  @pulumi.getter
554
606
  def project(self) -> Optional[pulumi.Input[str]]:
607
+ """
608
+ The ID of the project in which the resource belongs.
609
+ If it is not provided, the provider project is used.
610
+ """
555
611
  return pulumi.get(self, "project")
556
612
 
557
613
  @project.setter
@@ -586,12 +642,25 @@ class _ClusterState:
586
642
  def psc_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConnectionArgs']]]]):
587
643
  pulumi.set(self, "psc_connections", value)
588
644
 
645
+ @property
646
+ @pulumi.getter(name="pscServiceAttachments")
647
+ def psc_service_attachments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscServiceAttachmentArgs']]]]:
648
+ """
649
+ Service attachment details to configure Psc connections.
650
+ Structure is documented below.
651
+ """
652
+ return pulumi.get(self, "psc_service_attachments")
653
+
654
+ @psc_service_attachments.setter
655
+ def psc_service_attachments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscServiceAttachmentArgs']]]]):
656
+ pulumi.set(self, "psc_service_attachments", value)
657
+
589
658
  @property
590
659
  @pulumi.getter(name="redisConfigs")
591
660
  def redis_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
592
661
  """
593
- Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
594
- documentation for the list of supported parameters:
662
+ Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
663
+ Please check Memorystore documentation for the list of supported parameters:
595
664
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
596
665
  """
597
666
  return pulumi.get(self, "redis_configs")
@@ -677,9 +746,10 @@ class _ClusterState:
677
746
  @pulumi.getter(name="transitEncryptionMode")
678
747
  def transit_encryption_mode(self) -> Optional[pulumi.Input[str]]:
679
748
  """
680
- Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.
681
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
682
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
749
+ Optional. The in-transit encryption for the Redis cluster.
750
+ If not provided, encryption is disabled for the cluster.
751
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
752
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
683
753
  """
684
754
  return pulumi.get(self, "transit_encryption_mode")
685
755
 
@@ -704,6 +774,7 @@ class _ClusterState:
704
774
  def zone_distribution_config(self) -> Optional[pulumi.Input['ClusterZoneDistributionConfigArgs']]:
705
775
  """
706
776
  Immutable. Zone distribution config for Memorystore Redis cluster.
777
+ Structure is documented below.
707
778
  """
708
779
  return pulumi.get(self, "zone_distribution_config")
709
780
 
@@ -1113,31 +1184,43 @@ class Cluster(pulumi.CustomResource):
1113
1184
  :param str resource_name: The name of the resource.
1114
1185
  :param pulumi.ResourceOptions opts: Options for the resource.
1115
1186
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
1116
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
1117
- "AUTH_MODE_DISABLED"]
1187
+ Default value is `AUTH_MODE_DISABLED`.
1188
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
1118
1189
  :param pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']] cross_cluster_replication_config: Cross cluster replication config
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
1120
- operation will fail. Default value is true.
1190
+ Structure is documented below.
1191
+ :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
1192
+ If the value if set to true, any delete cluster operation will fail.
1193
+ Default value is true.
1121
1194
  :param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
1195
+ Structure is documented below.
1122
1196
  :param pulumi.Input[str] name: Unique name of the resource in this scope including project and location using the form:
1123
1197
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
1124
- :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
1125
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
1198
+
1199
+
1200
+ - - -
1201
+ :param pulumi.Input[str] node_type: The nodeType for the Redis cluster.
1202
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
1203
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
1126
1204
  :param pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']] persistence_config: Persistence config (RDB, AOF) for the cluster.
1205
+ Structure is documented below.
1206
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1207
+ If it is not provided, the provider project is used.
1127
1208
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]] psc_configs: Required. Each PscConfig configures the consumer network where two
1128
1209
  network addresses will be designated to the cluster for client access.
1129
1210
  Currently, only one PscConfig is supported.
1130
1211
  Structure is documented below.
1131
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
1132
- documentation for the list of supported parameters:
1212
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
1213
+ Please check Memorystore documentation for the list of supported parameters:
1133
1214
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
1134
1215
  :param pulumi.Input[str] region: The name of the region of the Redis cluster.
1135
1216
  :param pulumi.Input[int] replica_count: Optional. The number of replica nodes per shard.
1136
1217
  :param pulumi.Input[int] shard_count: Required. Number of shards for the Redis cluster.
1137
- :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.
1138
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
1139
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
1218
+ :param pulumi.Input[str] transit_encryption_mode: Optional. The in-transit encryption for the Redis cluster.
1219
+ If not provided, encryption is disabled for the cluster.
1220
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
1221
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
1140
1222
  :param pulumi.Input[Union['ClusterZoneDistributionConfigArgs', 'ClusterZoneDistributionConfigArgsDict']] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
1223
+ Structure is documented below.
1141
1224
  """
1142
1225
  ...
1143
1226
  @overload
@@ -1569,8 +1652,6 @@ class Cluster(pulumi.CustomResource):
1569
1652
  __props__.__dict__["node_type"] = node_type
1570
1653
  __props__.__dict__["persistence_config"] = persistence_config
1571
1654
  __props__.__dict__["project"] = project
1572
- if psc_configs is None and not opts.urn:
1573
- raise TypeError("Missing required property 'psc_configs'")
1574
1655
  __props__.__dict__["psc_configs"] = psc_configs
1575
1656
  __props__.__dict__["redis_configs"] = redis_configs
1576
1657
  __props__.__dict__["region"] = region
@@ -1585,6 +1666,7 @@ class Cluster(pulumi.CustomResource):
1585
1666
  __props__.__dict__["maintenance_schedules"] = None
1586
1667
  __props__.__dict__["precise_size_gb"] = None
1587
1668
  __props__.__dict__["psc_connections"] = None
1669
+ __props__.__dict__["psc_service_attachments"] = None
1588
1670
  __props__.__dict__["size_gb"] = None
1589
1671
  __props__.__dict__["state"] = None
1590
1672
  __props__.__dict__["state_infos"] = None
@@ -1613,6 +1695,7 @@ class Cluster(pulumi.CustomResource):
1613
1695
  project: Optional[pulumi.Input[str]] = None,
1614
1696
  psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]]] = None,
1615
1697
  psc_connections: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConnectionArgs', 'ClusterPscConnectionArgsDict']]]]] = None,
1698
+ psc_service_attachments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscServiceAttachmentArgs', 'ClusterPscServiceAttachmentArgsDict']]]]] = None,
1616
1699
  redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1617
1700
  region: Optional[pulumi.Input[str]] = None,
1618
1701
  replica_count: Optional[pulumi.Input[int]] = None,
@@ -1631,35 +1714,47 @@ class Cluster(pulumi.CustomResource):
1631
1714
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1632
1715
  :param pulumi.ResourceOptions opts: Options for the resource.
1633
1716
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
1634
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
1635
- "AUTH_MODE_DISABLED"]
1717
+ Default value is `AUTH_MODE_DISABLED`.
1718
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
1636
1719
  :param pulumi.Input[str] create_time: The timestamp associated with the cluster creation request. A timestamp in
1637
1720
  RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
1638
1721
  digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
1639
1722
  :param pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']] cross_cluster_replication_config: Cross cluster replication config
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
1641
- operation will fail. Default value is true.
1723
+ Structure is documented below.
1724
+ :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
1725
+ If the value if set to true, any delete cluster operation will fail.
1726
+ Default value is true.
1642
1727
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterDiscoveryEndpointArgs', 'ClusterDiscoveryEndpointArgsDict']]]] discovery_endpoints: Output only. Endpoints created on each given network,
1643
1728
  for Redis clients to connect to the cluster.
1644
1729
  Currently only one endpoint is supported.
1645
1730
  Structure is documented below.
1646
1731
  :param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
1732
+ Structure is documented below.
1647
1733
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterMaintenanceScheduleArgs', 'ClusterMaintenanceScheduleArgsDict']]]] maintenance_schedules: Upcoming maintenance schedule.
1648
1734
  Structure is documented below.
1649
1735
  :param pulumi.Input[str] name: Unique name of the resource in this scope including project and location using the form:
1650
1736
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
1651
- :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
1652
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
1737
+
1738
+
1739
+ - - -
1740
+ :param pulumi.Input[str] node_type: The nodeType for the Redis cluster.
1741
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
1742
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
1653
1743
  :param pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']] persistence_config: Persistence config (RDB, AOF) for the cluster.
1744
+ Structure is documented below.
1654
1745
  :param pulumi.Input[float] precise_size_gb: Output only. Redis memory precise size in GB for the entire cluster.
1746
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1747
+ If it is not provided, the provider project is used.
1655
1748
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]] psc_configs: Required. Each PscConfig configures the consumer network where two
1656
1749
  network addresses will be designated to the cluster for client access.
1657
1750
  Currently, only one PscConfig is supported.
1658
1751
  Structure is documented below.
1659
1752
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConnectionArgs', 'ClusterPscConnectionArgsDict']]]] psc_connections: Output only. PSC connections for discovery of the cluster topology and accessing the cluster.
1660
1753
  Structure is documented below.
1661
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
1662
- documentation for the list of supported parameters:
1754
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscServiceAttachmentArgs', 'ClusterPscServiceAttachmentArgsDict']]]] psc_service_attachments: Service attachment details to configure Psc connections.
1755
+ Structure is documented below.
1756
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
1757
+ Please check Memorystore documentation for the list of supported parameters:
1663
1758
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
1664
1759
  :param pulumi.Input[str] region: The name of the region of the Redis cluster.
1665
1760
  :param pulumi.Input[int] replica_count: Optional. The number of replica nodes per shard.
@@ -1668,11 +1763,13 @@ class Cluster(pulumi.CustomResource):
1668
1763
  :param pulumi.Input[str] state: The current state of this cluster. Can be CREATING, READY, UPDATING, DELETING and SUSPENDED
1669
1764
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterStateInfoArgs', 'ClusterStateInfoArgsDict']]]] state_infos: Output only. Additional information about the current state of the cluster.
1670
1765
  Structure is documented below.
1671
- :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.
1672
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
1673
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
1766
+ :param pulumi.Input[str] transit_encryption_mode: Optional. The in-transit encryption for the Redis cluster.
1767
+ If not provided, encryption is disabled for the cluster.
1768
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
1769
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
1674
1770
  :param pulumi.Input[str] uid: System assigned, unique identifier for the cluster.
1675
1771
  :param pulumi.Input[Union['ClusterZoneDistributionConfigArgs', 'ClusterZoneDistributionConfigArgsDict']] zone_distribution_config: Immutable. Zone distribution config for Memorystore Redis cluster.
1772
+ Structure is documented below.
1676
1773
  """
1677
1774
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1678
1775
 
@@ -1692,6 +1789,7 @@ class Cluster(pulumi.CustomResource):
1692
1789
  __props__.__dict__["project"] = project
1693
1790
  __props__.__dict__["psc_configs"] = psc_configs
1694
1791
  __props__.__dict__["psc_connections"] = psc_connections
1792
+ __props__.__dict__["psc_service_attachments"] = psc_service_attachments
1695
1793
  __props__.__dict__["redis_configs"] = redis_configs
1696
1794
  __props__.__dict__["region"] = region
1697
1795
  __props__.__dict__["replica_count"] = replica_count
@@ -1709,8 +1807,8 @@ class Cluster(pulumi.CustomResource):
1709
1807
  def authorization_mode(self) -> pulumi.Output[Optional[str]]:
1710
1808
  """
1711
1809
  Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
1712
- Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH",
1713
- "AUTH_MODE_DISABLED"]
1810
+ Default value is `AUTH_MODE_DISABLED`.
1811
+ Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
1714
1812
  """
1715
1813
  return pulumi.get(self, "authorization_mode")
1716
1814
 
@@ -1729,6 +1827,7 @@ class Cluster(pulumi.CustomResource):
1729
1827
  def cross_cluster_replication_config(self) -> pulumi.Output['outputs.ClusterCrossClusterReplicationConfig']:
1730
1828
  """
1731
1829
  Cross cluster replication config
1830
+ Structure is documented below.
1732
1831
  """
1733
1832
  return pulumi.get(self, "cross_cluster_replication_config")
1734
1833
 
@@ -1736,8 +1835,9 @@ class Cluster(pulumi.CustomResource):
1736
1835
  @pulumi.getter(name="deletionProtectionEnabled")
1737
1836
  def deletion_protection_enabled(self) -> pulumi.Output[Optional[bool]]:
1738
1837
  """
1739
- Optional. Indicates if the cluster is deletion protected or not. If the value if set to true, any delete cluster
1740
- operation will fail. Default value is true.
1838
+ Optional. Indicates if the cluster is deletion protected or not.
1839
+ If the value if set to true, any delete cluster operation will fail.
1840
+ Default value is true.
1741
1841
  """
1742
1842
  return pulumi.get(self, "deletion_protection_enabled")
1743
1843
 
@@ -1757,6 +1857,7 @@ class Cluster(pulumi.CustomResource):
1757
1857
  def maintenance_policy(self) -> pulumi.Output[Optional['outputs.ClusterMaintenancePolicy']]:
1758
1858
  """
1759
1859
  Maintenance policy for a cluster
1860
+ Structure is documented below.
1760
1861
  """
1761
1862
  return pulumi.get(self, "maintenance_policy")
1762
1863
 
@@ -1775,6 +1876,9 @@ class Cluster(pulumi.CustomResource):
1775
1876
  """
1776
1877
  Unique name of the resource in this scope including project and location using the form:
1777
1878
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
1879
+
1880
+
1881
+ - - -
1778
1882
  """
1779
1883
  return pulumi.get(self, "name")
1780
1884
 
@@ -1782,8 +1886,9 @@ class Cluster(pulumi.CustomResource):
1782
1886
  @pulumi.getter(name="nodeType")
1783
1887
  def node_type(self) -> pulumi.Output[str]:
1784
1888
  """
1785
- The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
1786
- ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
1889
+ The nodeType for the Redis cluster.
1890
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default
1891
+ Possible values are: `REDIS_SHARED_CORE_NANO`, `REDIS_HIGHMEM_MEDIUM`, `REDIS_HIGHMEM_XLARGE`, `REDIS_STANDARD_SMALL`.
1787
1892
  """
1788
1893
  return pulumi.get(self, "node_type")
1789
1894
 
@@ -1792,6 +1897,7 @@ class Cluster(pulumi.CustomResource):
1792
1897
  def persistence_config(self) -> pulumi.Output['outputs.ClusterPersistenceConfig']:
1793
1898
  """
1794
1899
  Persistence config (RDB, AOF) for the cluster.
1900
+ Structure is documented below.
1795
1901
  """
1796
1902
  return pulumi.get(self, "persistence_config")
1797
1903
 
@@ -1806,11 +1912,15 @@ class Cluster(pulumi.CustomResource):
1806
1912
  @property
1807
1913
  @pulumi.getter
1808
1914
  def project(self) -> pulumi.Output[str]:
1915
+ """
1916
+ The ID of the project in which the resource belongs.
1917
+ If it is not provided, the provider project is used.
1918
+ """
1809
1919
  return pulumi.get(self, "project")
1810
1920
 
1811
1921
  @property
1812
1922
  @pulumi.getter(name="pscConfigs")
1813
- def psc_configs(self) -> pulumi.Output[Sequence['outputs.ClusterPscConfig']]:
1923
+ def psc_configs(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterPscConfig']]]:
1814
1924
  """
1815
1925
  Required. Each PscConfig configures the consumer network where two
1816
1926
  network addresses will be designated to the cluster for client access.
@@ -1828,12 +1938,21 @@ class Cluster(pulumi.CustomResource):
1828
1938
  """
1829
1939
  return pulumi.get(self, "psc_connections")
1830
1940
 
1941
+ @property
1942
+ @pulumi.getter(name="pscServiceAttachments")
1943
+ def psc_service_attachments(self) -> pulumi.Output[Sequence['outputs.ClusterPscServiceAttachment']]:
1944
+ """
1945
+ Service attachment details to configure Psc connections.
1946
+ Structure is documented below.
1947
+ """
1948
+ return pulumi.get(self, "psc_service_attachments")
1949
+
1831
1950
  @property
1832
1951
  @pulumi.getter(name="redisConfigs")
1833
1952
  def redis_configs(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1834
1953
  """
1835
- Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
1836
- documentation for the list of supported parameters:
1954
+ Configure Redis Cluster behavior using a subset of native Redis configuration parameters.
1955
+ Please check Memorystore documentation for the list of supported parameters:
1837
1956
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
1838
1957
  """
1839
1958
  return pulumi.get(self, "redis_configs")
@@ -1891,9 +2010,10 @@ class Cluster(pulumi.CustomResource):
1891
2010
  @pulumi.getter(name="transitEncryptionMode")
1892
2011
  def transit_encryption_mode(self) -> pulumi.Output[Optional[str]]:
1893
2012
  """
1894
- Optional. The in-transit encryption for the Redis cluster. If not provided, encryption is disabled for the cluster.
1895
- Default value: "TRANSIT_ENCRYPTION_MODE_DISABLED" Possible values: ["TRANSIT_ENCRYPTION_MODE_UNSPECIFIED",
1896
- "TRANSIT_ENCRYPTION_MODE_DISABLED", "TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION"]
2013
+ Optional. The in-transit encryption for the Redis cluster.
2014
+ If not provided, encryption is disabled for the cluster.
2015
+ Default value is `TRANSIT_ENCRYPTION_MODE_DISABLED`.
2016
+ Possible values are: `TRANSIT_ENCRYPTION_MODE_UNSPECIFIED`, `TRANSIT_ENCRYPTION_MODE_DISABLED`, `TRANSIT_ENCRYPTION_MODE_SERVER_AUTHENTICATION`.
1897
2017
  """
1898
2018
  return pulumi.get(self, "transit_encryption_mode")
1899
2019
 
@@ -1907,9 +2027,10 @@ class Cluster(pulumi.CustomResource):
1907
2027
 
1908
2028
  @property
1909
2029
  @pulumi.getter(name="zoneDistributionConfig")
1910
- def zone_distribution_config(self) -> pulumi.Output[Optional['outputs.ClusterZoneDistributionConfig']]:
2030
+ def zone_distribution_config(self) -> pulumi.Output['outputs.ClusterZoneDistributionConfig']:
1911
2031
  """
1912
2032
  Immutable. Zone distribution config for Memorystore Redis cluster.
2033
+ Structure is documented below.
1913
2034
  """
1914
2035
  return pulumi.get(self, "zone_distribution_config")
1915
2036