@aws-mdaa/datawarehouse 1.4.0 → 1.6.0

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.
@@ -9,289 +9,321 @@ import { Stack } from 'aws-cdk-lib';
9
9
  import { ConfigurationElement } from '@aws-mdaa/config';
10
10
  export interface DataWarehouseConfigContents extends MdaaBaseConfigContents {
11
11
  /**
12
- * Q-ENHANCED-PROPERTY
13
- * Required admin username for the Redshift cluster providing administrative access to the data warehouse. Defines the master user account for cluster administration, database management, and initial user provisioning.
12
+ * Admin username for the Redshift cluster. A secret is automatically generated for the password.
14
13
  *
15
14
  * Use cases: Cluster administration; Database management; Initial user provisioning
16
15
  *
17
- * AWS: Amazon Redshift cluster master username for administrative access and database management
16
+ * AWS: Redshift cluster master username
18
17
  *
19
- * Validation: Must be valid Redshift username; required; used for cluster administrative access
20
- **/
18
+ * Validation: Required; valid Redshift username
19
+ */
21
20
  readonly adminUsername: string;
22
21
  /**
23
- * Q-ENHANCED-PROPERTY
24
- * Required number of days between automatic admin password rotations for enhanced security compliance. Enables automated credential management and compliance with password rotation policies for improved cluster security posture.
22
+ * Days between automatic admin password rotations via Secrets Manager.
25
23
  *
26
- * Use cases: Automated credential rotation; Security policy compliance; Password management automation
24
+ * Use cases: Automated credential rotation; Security compliance; Password policy enforcement
27
25
  *
28
- * AWS: Amazon Redshift automatic password rotation configuration for security management
26
+ * AWS: Redshift admin password rotation via Secrets Manager
29
27
  *
30
- * Validation: Must be positive integer; required; defines password rotation frequency for security compliance
31
- **/
28
+ * Validation: Required; positive integer
29
+ */
32
30
  readonly adminPasswordRotationDays: number;
33
31
  /**
34
- * Q-ENHANCED-PROPERTY
35
- * Optional array of federation configurations for SAML or OIDC identity provider integration with the data warehouse. Enables federated access to Redshift through external identity providers for centralized identity management and SSO capabilities.
32
+ * SAML or OIDC federation configurations for federated Redshift access.
33
+ * Each federation creates an IAM role with SAML trust for dynamic credential generation
34
+ * and group-based cluster access.
36
35
  *
37
- * Use cases: SAML federation setup; OIDC provider integration; Centralized identity management for data warehouse access
36
+ * Use cases: SAML federation setup; SSO integration; Federated cluster access
38
37
  *
39
- * AWS: AWS IAM identity provider configuration for federated Redshift access and SSO integration
38
+ * AWS: IAM SAML identity provider roles for Redshift federated access
40
39
  *
41
- * Validation: Must be array of valid FederationProps if provided; enables federated authentication when specified
42
- **/
40
+ * Validation: Optional; array of valid FederationProps
41
+ */
43
42
  readonly federations?: FederationProps[];
44
43
  /**
45
- * Q-ENHANCED-PROPERTY
46
- * Required array of admin role references with full access to cluster resources including KMS keys and S3 buckets. Provides administrative permissions for data warehouse management, security administration, and resource access control.
44
+ * Admin roles granted full access to cluster resources including KMS keys and S3 buckets.
47
45
  *
48
46
  * Use cases: Administrative access control; Security management; Resource administration
49
47
  *
50
- * AWS: AWS IAM roles with full Redshift cluster and resource access permissions
48
+ * AWS: IAM roles with full Redshift cluster and resource access
51
49
  *
52
- * Validation: Must be array of valid MdaaRoleRef objects; required; roles receive full cluster access
53
- **/
50
+ * Validation: Required; array of valid MdaaRoleRef
51
+ */
54
52
  readonly dataAdminRoles: MdaaRoleRef[];
55
53
  /**
56
- * Q-ENHANCED-PROPERTY
57
- * Optional array of user role references with access to data warehouse S3 buckets for data loading and unloading operations. Enables controlled access to warehouse storage resources for ETL operations and data management workflows.
54
+ * Roles granted read/write access to the data warehouse S3 bucket for data loading/unloading.
58
55
  *
59
- * Use cases: Data loading operations; ETL workflow access; Controlled storage access
56
+ * Use cases: ETL data loading; Data unloading operations; Bucket access for analytics
60
57
  *
61
- * AWS: AWS IAM roles with S3 bucket access for Redshift data operations
58
+ * AWS: IAM roles with S3 bucket access for Redshift data operations
62
59
  *
63
- * Validation: Must be array of valid MdaaRoleRef objects if provided; roles receive bucket access permissions
64
- **/
60
+ * Validation: Optional; array of valid MdaaRoleRef
61
+ */
65
62
  readonly warehouseBucketUserRoles?: MdaaRoleRef[];
66
63
  /**
67
- * Q-ENHANCED-PROPERTY
68
- * Optional array of external execution role references for Redshift cluster operations and integrations. Enables cluster to assume external roles for cross-service operations, data access, and integration with other AWS services.
64
+ * External execution roles associated with the Redshift cluster for cross-service operations.
65
+ * If a role also needs warehouse bucket access, add it to warehouseBucketUserRoles explicitly.
69
66
  *
70
- * Use cases: Cross-service operations; External data access; Service integration workflows
67
+ * Use cases: Cross-service integrations; External data access; Glue/Lambda integration
71
68
  *
72
- * AWS: AWS IAM roles for Redshift cluster cross-service operations and integrations
69
+ * AWS: IAM execution roles associated with the Redshift cluster
73
70
  *
74
- * Validation: Must be array of valid MdaaRoleRef objects if provided; roles must be assumable by Redshift service
75
- **/
71
+ * Validation: Optional; array of valid MdaaRoleRef; roles must be assumable by Redshift
72
+ */
76
73
  readonly executionRoles?: MdaaRoleRef[];
77
74
  /**
78
- * Q-ENHANCED-PROPERTY
79
- * Required VPC ID for Redshift cluster deployment providing network isolation and security controls. Ensures cluster operates within the specified VPC for secure networking and integration with other VPC resources.
75
+ * VPC ID for Redshift cluster deployment. The cluster is deployed within this VPC
76
+ * with network access controlled by security groups.
80
77
  *
81
- * Use cases: VPC network isolation; Secure networking; VPC resource integration
78
+ * Use cases: Network isolation; VPC-based deployment; Secure networking
82
79
  *
83
- * AWS: Amazon VPC for Redshift cluster network isolation and security controls
80
+ * AWS: VPC for Redshift cluster network configuration
84
81
  *
85
- * Validation: Must be valid VPC ID; required; VPC must exist and be accessible
86
- **/
82
+ * Validation: Required; valid VPC ID
83
+ */
87
84
  readonly vpcId: string;
88
85
  /**
89
- * Q-ENHANCED-PROPERTY
90
- * Required array of subnet IDs for Redshift cluster node placement within the VPC. Defines the network subnets where cluster nodes will be deployed for secure VPC connectivity and availability zone distribution.
86
+ * Subnet IDs for Redshift cluster node placement. For automatic cluster relocation,
87
+ * specify at least one subnet per AZ.
91
88
  *
92
- * Use cases: VPC network placement; Subnet-specific deployment; Multi-AZ cluster distribution
89
+ * Use cases: Multi-AZ placement; Subnet-specific deployment; Cluster relocation support
93
90
  *
94
- * AWS: Amazon VPC subnets for Redshift cluster node placement and network configuration
91
+ * AWS: VPC subnets for Redshift subnet group
95
92
  *
96
- * Validation: Must be array of valid subnet IDs; required; subnets must exist in specified VPC
97
- **/
93
+ * Validation: Required; array of valid subnet IDs in the specified VPC; must contain >= 3 subnets in different AZs when multiAz is true
94
+ */
98
95
  readonly subnetIds: string[];
99
96
  /**
100
- * Q-ENHANCED-PROPERTY
101
- * Required security group ingress configuration defining allowed inbound connections to the cluster. Specifies IPv4 CIDR blocks and security group IDs that can connect to the cluster port for controlled network access.
97
+ * Security group ingress rules defining allowed inbound connections to the cluster port.
98
+ * Supports IPv4 CIDR blocks and security group references. All other traffic is blocked.
102
99
  *
103
100
  * Use cases: Network access control; Client connectivity; Security group management
104
101
  *
105
- * AWS: Amazon VPC security group ingress rules for Redshift cluster access control
102
+ * AWS: VPC security group ingress rules for Redshift cluster
106
103
  *
107
- * Validation: Must be object with ipv4 and/or sg arrays; required; defines allowed inbound connections
108
- * **/
104
+ * Validation: Required; object with optional ipv4 and/or sg arrays
105
+ */
109
106
  readonly securityGroupIngress: {
110
107
  ipv4?: string[];
111
108
  sg?: string[];
112
109
  };
113
110
  /**
114
- * Q-ENHANCED-PROPERTY
115
- * Required node type specification determining compute and storage capacity for cluster nodes. Controls the underlying EC2 instance type and affects performance, storage, and cost characteristics of the data warehouse.
111
+ * Redshift node type determining compute and storage capacity (e.g., RA3_4XLARGE).
116
112
  *
117
- * Use cases: Performance optimization; Cost management; Workload-specific sizing
113
+ * Use cases: Performance sizing; Cost optimization; Workload-specific capacity
118
114
  *
119
- * AWS: Amazon Redshift node type for compute and storage capacity configuration
115
+ * AWS: Redshift node type (instance type)
120
116
  *
121
- * Validation: Must be valid Redshift node type; required; determines cluster compute and storage capacity
122
- **/
117
+ * Validation: Required; valid Redshift node type string
118
+ */
123
119
  readonly nodeType: string;
124
120
  /**
125
- * Q-ENHANCED-PROPERTY
126
- * Required number of nodes for the Redshift cluster determining total compute capacity and parallel processing capability. Controls cluster size and affects performance, cost, and data distribution characteristics.
121
+ * Number of nodes in the Redshift cluster.
127
122
  *
128
- * Use cases: Cluster sizing; Performance scaling; Cost optimization
123
+ * Use cases: Cluster sizing; Performance scaling; Cost management
129
124
  *
130
- * AWS: Amazon Redshift cluster node count for compute capacity and parallel processing
125
+ * AWS: Redshift cluster node count
131
126
  *
132
- * Validation: Must be positive integer; required; determines cluster size and processing capacity
133
- **/
127
+ * Validation: Required; positive integer; must be >= 2 when multiAz is true
128
+ */
134
129
  readonly numberOfNodes: number;
135
130
  /**
136
- * Q-ENHANCED-PROPERTY
137
- * Required flag enabling audit logging to S3 for compliance and security monitoring. When enabled, creates dedicated S3 bucket for Redshift audit logs with SSE-S3 encryption as required by Redshift audit logging constraints.
131
+ * Enable audit logging to a dedicated S3 bucket. The audit bucket uses SSE-S3 encryption
132
+ * (not KMS) due to Redshift audit logging requirements.
138
133
  *
139
- * Use cases: Compliance auditing; Security monitoring; Audit trail management
134
+ * Use cases: Compliance auditing; Security monitoring; User activity tracking
140
135
  *
141
- * AWS: Amazon Redshift audit logging to S3 for compliance and security monitoring
136
+ * AWS: Redshift audit logging to S3 with SSE-S3 encryption
142
137
  *
143
- * Validation: Boolean value; required; creates SSE-S3 encrypted audit bucket when enabled
144
- **/
138
+ * Validation: Required; boolean
139
+ */
145
140
  readonly enableAuditLoggingToS3: boolean;
146
141
  /**
147
- * Q-ENHANCED-PROPERTY
148
- * Optional cluster port number for client connections enabling custom port configuration and network security. Defines the TCP port on which the Redshift cluster accepts client connections, supporting custom networking requirements and security configurations.
142
+ * TCP port for client connections to the cluster.
149
143
  *
150
- * Use cases: Custom port configuration; Network security; Client connection management; Port standardization
144
+ * Use cases: Custom port configuration; Network security; Port standardization
151
145
  *
152
- * AWS: Amazon Redshift cluster port configuration for client connection management
146
+ * AWS: Redshift cluster listening port
153
147
  *
154
- * Validation: Must be valid port number if specified; defaults to 5440; must be accessible through security groups
155
- **/
148
+ * Validation: Optional; valid port number; must be in range 5431-5455 or 8191-8215 when multiAz is true
149
+ * @default 5440
150
+ */
156
151
  readonly clusterPort?: number;
157
152
  /**
158
- * Q-ENHANCED-PROPERTY
159
- * Optional flag controlling cluster node configuration for single-node or multi-node deployment. When true, creates multi-node cluster for distributed processing; when false, creates single-node cluster for development or small workloads.
153
+ * Multi-node cluster flag. When true, creates a multi-node cluster for distributed processing;
154
+ * when false, creates a single-node cluster for development or small workloads.
160
155
  *
161
- * Use cases: Cluster architecture selection; Development vs production deployment; Cost optimization; Performance scaling
156
+ * Use cases: Cluster architecture selection; Dev vs production deployment; Cost optimization
162
157
  *
163
- * AWS: Amazon Redshift cluster type configuration for single-node or multi-node deployment
158
+ * AWS: Redshift cluster type (single-node or multi-node)
164
159
  *
165
- * Validation: Boolean value; determines cluster architecture and node distribution; affects performance and cost
166
- **/
160
+ * Validation: Optional; boolean
161
+ */
167
162
  readonly multiNode?: boolean;
168
163
  /**
169
- * Q-ENHANCED-PROPERTY
170
- * Required preferred maintenance window for automated cluster maintenance operations. Specifies the weekly time range during which system maintenance can occur, minimizing impact on business operations and ensuring predictable maintenance scheduling.
164
+ * Weekly maintenance window in ddd:hh24:mi-ddd:hh24:mi format (UTC).
165
+ * Example: 'Sun:23:45-Mon:00:15'.
171
166
  *
172
- * Use cases: Maintenance scheduling; Business continuity; Operational planning; Downtime management
167
+ * Use cases: Maintenance scheduling; Business continuity; Downtime management
173
168
  *
174
- * AWS: Amazon Redshift preferred maintenance window for automated system maintenance
169
+ * AWS: Redshift preferred maintenance window
175
170
  *
176
- * Validation: Must be valid time window format (e.g., 'Sun:23:45-Mon:00:15'); required; defines maintenance scheduling
177
- **/
171
+ * Validation: Required; valid time window format
172
+ */
178
173
  readonly preferredMaintenanceWindow: string;
179
174
  /**
180
- * Q-ENHANCED-PROPERTY
181
- * Optional parameter group parameters for cluster configuration customization enabling performance tuning and operational optimization. Provides additional cluster parameters while security-sensitive values are automatically overridden for compliance and security.
175
+ * Additional cluster parameter group parameters for performance tuning.
176
+ * Security-sensitive values are automatically overridden for compliance (e.g., SSL enforcement).
182
177
  *
183
- * Use cases: Performance tuning; Operational optimization; Custom cluster configuration; Workload-specific settings
178
+ * Use cases: Performance tuning; Custom cluster configuration; Workload optimization
184
179
  *
185
- * AWS: Amazon Redshift parameter group configuration for cluster customization and optimization
180
+ * AWS: Redshift parameter group parameters
186
181
  *
187
- * Validation: Must be object with string key-value pairs if provided; security-sensitive values will be overridden
188
- * **/
189
- readonly parameterGroupParams?: Record<string, string>;
182
+ * Validation: Optional; string key-value pairs
183
+ */
184
+ readonly parameterGroupParams?: {
185
+ [key: string]: string;
186
+ };
190
187
  /**
191
- * Q-ENHANCED-PROPERTY
192
- * Optional workload management configuration for query performance optimization and resource allocation. Defines WLM configuration elements for managing query queues, memory allocation, and concurrency for optimal cluster performance.
188
+ * Workload management (WLM) configuration for query queue management and resource allocation.
193
189
  *
194
- * Use cases: Query performance optimization; Resource allocation; Workload management; Concurrency control
190
+ * Use cases: Query performance optimization; Concurrency control; Resource allocation
195
191
  *
196
- * AWS: Amazon Redshift workload management configuration for query optimization and resource control
192
+ * AWS: Redshift WLM configuration
197
193
  *
198
- * Validation: Must be array of valid ConfigurationElement objects if provided; defines WLM configuration
199
- **/
194
+ * Validation: Optional; array of valid ConfigurationElement
195
+ */
200
196
  readonly workloadManagement?: ConfigurationElement[];
201
197
  /**
202
- * Q-ENHANCED-PROPERTY
203
- * Optional additional KMS key ARNs for cluster bucket encryption enabling multi-key encryption scenarios and cross-account access. Provides additional KMS keys that can be used for writing to the cluster bucket beyond the default cluster encryption key.
198
+ * Additional KMS key ARNs allowed to write to the cluster bucket.
199
+ * Useful for allowing Glue jobs or other services to write encrypted data to the warehouse bucket.
204
200
  *
205
- * Use cases: Multi-key encryption; Cross-account access; Additional encryption keys; Flexible key management
201
+ * Use cases: Cross-service encryption; Glue job integration; Multi-key bucket access
206
202
  *
207
- * AWS: AWS KMS key ARNs for additional cluster bucket encryption and access control
203
+ * AWS: KMS key ARNs for warehouse bucket encryption
208
204
  *
209
- * Validation: Must be array of valid KMS key ARNs if provided; keys must be accessible for bucket operations
210
- **/
205
+ * Validation: Optional; array of valid KMS key ARNs
206
+ */
211
207
  readonly additionalBucketKmsKeyArns?: string[];
212
208
  /**
213
- * Q-ENHANCED-PROPERTY
214
- * Optional scheduled actions for automated cluster pause and resume operations enabling cost optimization and operational automation. Defines scheduled pause and resume actions for the cluster to optimize costs during non-business hours.
209
+ * Scheduled actions for automated cluster pause/resume operations.
210
+ * Each action specifies a target action (pauseCluster/resumeCluster), cron schedule,
211
+ * and active time window.
215
212
  *
216
- * Use cases: Cost optimization; Automated operations; Scheduled maintenance; Resource management
213
+ * Use cases: Cost optimization via scheduled pause; Automated operations; Business-hours scheduling
217
214
  *
218
- * AWS: Amazon Redshift scheduled actions for automated cluster pause and resume operations
215
+ * AWS: Redshift scheduled actions for cluster lifecycle management
219
216
  *
220
- * Validation: Must be array of valid ScheduledActionProps if provided; defines automated cluster operations
221
- **/
217
+ * Validation: Optional; array of valid ScheduledActionProps
218
+ */
222
219
  readonly scheduledActions?: ScheduledActionProps[];
223
220
  /**
224
- * Q-ENHANCED-PROPERTY
225
- * Optional database users for automated user creation and credential management enabling secure user provisioning and rotation. Creates database users in Redshift with automated credential storage and rotation through Secrets Manager and SSM.
221
+ * Database users created in Redshift with credentials stored in Secrets Manager.
222
+ * Supports automated secret rotation on a configurable cycle.
226
223
  *
227
- * Use cases: Automated user provisioning; Credential management; Security automation; User lifecycle management
224
+ * Use cases: Automated user provisioning; Credential management; Secret rotation
228
225
  *
229
- * AWS: Amazon Redshift database users with Secrets Manager and SSM integration for credential management
226
+ * AWS: Redshift database users with Secrets Manager credential storage and rotation
230
227
  *
231
- * Validation: Must be array of valid DatabaseUsersProps if provided; enables automated user and credential management
232
- * **/
228
+ * Validation: Optional; array of valid DatabaseUsersProps
229
+ */
233
230
  readonly databaseUsers?: DatabaseUsersProps[];
234
231
  /**
235
- * Q-ENHANCED-PROPERTY
236
- * Optional flag controlling data warehouse bucket creation for cluster storage operations. When enabled (default), creates dedicated S3 bucket for data warehouse operations including data loading, unloading, and backup storage.
232
+ * Control whether a dedicated S3 bucket is created for warehouse data operations
233
+ * (loading, unloading, backup).
237
234
  *
238
- * Use cases: Storage resource management; Data operations; Backup storage; ETL operations
235
+ * Use cases: Storage resource management; Data operations; Bucket lifecycle control
239
236
  *
240
- * AWS: Amazon S3 bucket creation for Redshift data warehouse storage operations
237
+ * AWS: S3 bucket for Redshift data warehouse operations
241
238
  *
242
- * Validation: Boolean value; defaults to true; creates dedicated warehouse bucket when enabled
243
- **/
239
+ * Validation: Optional; boolean
240
+ * @default true
241
+ */
244
242
  readonly createWarehouseBucket?: boolean;
245
243
  /**
246
- * Q-ENHANCED-PROPERTY
247
- * Optional retention period for automated snapshots enabling backup management and data protection. Specifies the number of days automated snapshots are retained for point-in-time recovery and data protection requirements.
244
+ * Number of days automated snapshots are retained (1-35). Set to 0 to disable.
248
245
  *
249
- * Use cases: Backup management; Data protection; Point-in-time recovery; Compliance requirements
246
+ * Use cases: Backup management; Point-in-time recovery; Data protection compliance
250
247
  *
251
- * AWS: Amazon Redshift automated snapshot retention for backup management and data protection
248
+ * AWS: Redshift automated snapshot retention
252
249
  *
253
- * Validation: Must be positive integer if specified; defines snapshot retention period for backup management
254
- **/
250
+ * Validation: Optional; integer 0-35
251
+ * @default 1
252
+ */
255
253
  readonly automatedSnapshotRetentionDays?: number;
256
254
  /**
257
- * Q-ENHANCED-PROPERTY
258
- * Optional event notification configuration for cluster and scheduled action monitoring enabling operational awareness and alerting. Configures SNS notifications for cluster events and scheduled action status for operational monitoring.
255
+ * Event notification configuration for cluster and scheduled action monitoring.
256
+ * Configures SNS notifications with email delivery, severity filtering, and event category selection.
259
257
  *
260
- * Use cases: Operational monitoring; Event alerting; Cluster status tracking; Automated notifications
258
+ * Use cases: Operational monitoring; Event alerting; Cluster status tracking
261
259
  *
262
- * AWS: Amazon SNS notifications for Redshift cluster events and operational monitoring
260
+ * AWS: SNS notifications for Redshift cluster events
263
261
  *
264
- * Validation: Must be valid EventNotificationsProps if provided; enables cluster event monitoring and alerting
265
- **/
262
+ * Validation: Optional; valid EventNotificationsProps
263
+ */
266
264
  readonly eventNotifications?: EventNotificationsProps;
267
265
  /**
268
- * Q-ENHANCED-PROPERTY
269
- * Optional database name for initial database creation enabling custom database naming and organization. Specifies the name of the initial database created in the cluster, supporting custom naming conventions and database organization.
266
+ * Initial database name created in the cluster.
270
267
  *
271
- * Use cases: Custom database naming; Database organization; Initial database setup; Naming conventions
268
+ * Use cases: Custom database naming; Initial database setup
272
269
  *
273
- * AWS: Amazon Redshift initial database name for cluster database creation and organization
270
+ * AWS: Redshift initial database
274
271
  *
275
- * Validation: Must be valid database name if specified; defaults to "default_db"; used for initial database creation
276
- **/
272
+ * Validation: Optional; valid database name
273
+ * @default "default_db"
274
+ */
277
275
  readonly dbName?: string;
278
276
  /**
279
- * Q-ENHANCED-PROPERTY
280
- * Optional snapshot identifier for cluster restoration from existing snapshot enabling disaster recovery and data migration. Specifies the snapshot ID to restore the cluster from, supporting disaster recovery scenarios and data migration operations.
277
+ * Snapshot identifier for cluster restoration. Only provide when restoring from an existing snapshot.
281
278
  *
282
- * Use cases: Disaster recovery; Data migration; Cluster restoration; Backup recovery
279
+ * Use cases: Disaster recovery; Data migration; Cluster restoration
283
280
  *
284
- * AWS: Amazon Redshift snapshot identifier for cluster restoration and disaster recovery
281
+ * AWS: Redshift snapshot for cluster restoration
285
282
  *
286
- * Validation: Must be valid snapshot identifier if specified; only provide when restoring from snapshot
287
- **/
283
+ * Validation: Optional; valid snapshot identifier
284
+ */
288
285
  readonly snapshotIdentifier?: string;
289
286
  /**
290
287
  * ownerAccount Refers to snapshot owner account. Applicable if restoring the cluster from snapshot and snapshot belongs to another account
291
288
  * Optional - By default, snapshots are searched within current account
292
289
  */
293
- readonly snapshotOwnerAccount?: number;
290
+ readonly snapshotOwnerAccount?: string | number;
294
291
  readonly redshiftManageMasterPassword?: boolean;
292
+ /**
293
+ * Enable multi-AZ deployment for high availability.
294
+ *
295
+ * Use cases: High availability; Fault tolerance; Production deployments
296
+ *
297
+ * AWS: Redshift multi-AZ deployment
298
+ *
299
+ * Validation: Optional; boolean. When true, requires: numberOfNodes >= 2, subnetIds in >= 3 AZs,
300
+ * clusterPort in range 5431-5455 or 8191-8215, and pause/resume scheduled actions are not supported.
301
+ */
302
+ readonly multiAz?: boolean;
303
+ /**
304
+ * Target region for cross-region snapshot copies. When set, enables cross-region snapshot copy to this region.
305
+ *
306
+ * Use cases: Disaster recovery; Cross-region backup; Business continuity
307
+ *
308
+ * AWS: Redshift snapshot copy destination region
309
+ *
310
+ * Validation: Optional; valid AWS region string, must differ from the deployment region
311
+ */
312
+ readonly backupRegion?: string;
313
+ /**
314
+ * When true, omits the explicit blockPublicAccess setting on S3 buckets so CDK does not emit
315
+ * a PutBucketPublicAccessBlock API call. Use when public access block is managed externally
316
+ * (e.g., by AWS account-level settings and/or SCPs that deny s3:PutBucketPublicAccessBlock).
317
+ *
318
+ * Use cases: SCP-restricted environments; Externally managed public access block;
319
+ * Organizations enforcing account-level S3 Block Public Access
320
+ *
321
+ * AWS: S3 PutBucketPublicAccessBlock
322
+ *
323
+ * Validation: Optional; boolean; default false
324
+ * @default false
325
+ */
326
+ readonly publicAccessBlockManagedExternally?: boolean;
295
327
  }
296
328
  export declare class DataWarehouseConfigParser extends MdaaAppConfigParser<DataWarehouseConfigContents> {
297
329
  readonly adminUsername: string;
@@ -313,7 +345,9 @@ export declare class DataWarehouseConfigParser extends MdaaAppConfigParser<DataW
313
345
  ipv4?: string[];
314
346
  sg?: string[];
315
347
  };
316
- readonly parameterGroupParams: Record<string, string>;
348
+ readonly parameterGroupParams: {
349
+ [key: string]: string;
350
+ };
317
351
  readonly workloadManagement: ConfigurationElement[];
318
352
  readonly additionalBucketKmsKeyArns?: string[];
319
353
  static readonly defaultClusterPort = 5440;
@@ -323,7 +357,10 @@ export declare class DataWarehouseConfigParser extends MdaaAppConfigParser<DataW
323
357
  readonly eventNotifications?: EventNotificationsProps;
324
358
  readonly dbName?: string;
325
359
  readonly snapshotIdentifier?: string;
326
- readonly snapshotOwnerAccount?: number;
360
+ readonly snapshotOwnerAccount?: string;
327
361
  readonly redshiftManageMasterPassword?: boolean;
362
+ readonly multiAz?: boolean;
363
+ readonly backupRegion?: string;
364
+ readonly publicAccessBlockManagedExternally?: boolean;
328
365
  constructor(stack: Stack, props: MdaaAppConfigParserProps);
329
366
  }