@aws-cdk/aws-redshift-alpha 2.12.0-alpha.0 → 2.15.0-alpha.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.
package/lib/cluster.d.ts CHANGED
@@ -9,356 +9,280 @@ import { Endpoint } from './endpoint';
9
9
  import { IClusterParameterGroup } from './parameter-group';
10
10
  import { IClusterSubnetGroup } from './subnet-group';
11
11
  /**
12
- * (experimental) Possible Node Types to use in the cluster used for defining {@link ClusterProps.nodeType}.
13
- *
14
- * @experimental
12
+ * Possible Node Types to use in the cluster
13
+ * used for defining {@link ClusterProps.nodeType}.
15
14
  */
16
15
  export declare enum NodeType {
17
16
  /**
18
- * (experimental) ds2.xlarge.
19
- *
20
- * @experimental
17
+ * ds2.xlarge
21
18
  */
22
19
  DS2_XLARGE = "ds2.xlarge",
23
20
  /**
24
- * (experimental) ds2.8xlarge.
25
- *
26
- * @experimental
21
+ * ds2.8xlarge
27
22
  */
28
23
  DS2_8XLARGE = "ds2.8xlarge",
29
24
  /**
30
- * (experimental) dc1.large.
31
- *
32
- * @experimental
25
+ * dc1.large
33
26
  */
34
27
  DC1_LARGE = "dc1.large",
35
28
  /**
36
- * (experimental) dc1.8xlarge.
37
- *
38
- * @experimental
29
+ * dc1.8xlarge
39
30
  */
40
31
  DC1_8XLARGE = "dc1.8xlarge",
41
32
  /**
42
- * (experimental) dc2.large.
43
- *
44
- * @experimental
33
+ * dc2.large
45
34
  */
46
35
  DC2_LARGE = "dc2.large",
47
36
  /**
48
- * (experimental) dc2.8xlarge.
49
- *
50
- * @experimental
37
+ * dc2.8xlarge
51
38
  */
52
39
  DC2_8XLARGE = "dc2.8xlarge",
53
40
  /**
54
- * (experimental) ra3.xlplus.
55
- *
56
- * @experimental
41
+ * ra3.xlplus
57
42
  */
58
43
  RA3_XLPLUS = "ra3.xlplus",
59
44
  /**
60
- * (experimental) ra3.4xlarge.
61
- *
62
- * @experimental
45
+ * ra3.4xlarge
63
46
  */
64
47
  RA3_4XLARGE = "ra3.4xlarge",
65
48
  /**
66
- * (experimental) ra3.16xlarge.
67
- *
68
- * @experimental
49
+ * ra3.16xlarge
69
50
  */
70
51
  RA3_16XLARGE = "ra3.16xlarge"
71
52
  }
72
53
  /**
73
- * (experimental) What cluster type to use.
74
- *
54
+ * What cluster type to use.
75
55
  * Used by {@link ClusterProps.clusterType}
76
- *
77
- * @experimental
78
56
  */
79
57
  export declare enum ClusterType {
80
58
  /**
81
- * (experimental) single-node cluster, the {@link ClusterProps.numberOfNodes} parameter is not required.
82
- *
83
- * @experimental
59
+ * single-node cluster, the {@link ClusterProps.numberOfNodes} parameter is not required
84
60
  */
85
61
  SINGLE_NODE = "single-node",
86
62
  /**
87
- * (experimental) multi-node cluster, set the amount of nodes using {@link ClusterProps.numberOfNodes} parameter.
88
- *
89
- * @experimental
63
+ * multi-node cluster, set the amount of nodes using {@link ClusterProps.numberOfNodes} parameter
90
64
  */
91
65
  MULTI_NODE = "multi-node"
92
66
  }
93
67
  /**
94
- * (experimental) Username and password combination.
95
- *
96
- * @experimental
68
+ * Username and password combination
97
69
  */
98
70
  export interface Login {
99
71
  /**
100
- * (experimental) Username.
101
- *
102
- * @experimental
72
+ * Username
103
73
  */
104
74
  readonly masterUsername: string;
105
75
  /**
106
- * (experimental) Password.
76
+ * Password
107
77
  *
108
78
  * Do not put passwords in your CDK code directly.
109
79
  *
110
80
  * @default a Secrets Manager generated password
111
- * @experimental
112
81
  */
113
82
  readonly masterPassword?: SecretValue;
114
83
  /**
115
- * (experimental) KMS encryption key to encrypt the generated secret.
84
+ * KMS encryption key to encrypt the generated secret.
116
85
  *
117
86
  * @default default master key
118
- * @experimental
119
87
  */
120
88
  readonly encryptionKey?: kms.IKey;
121
89
  }
122
90
  /**
123
- * (experimental) Options to add the multi user rotation.
124
- *
125
- * @experimental
91
+ * Options to add the multi user rotation
126
92
  */
127
93
  export interface RotationMultiUserOptions {
128
94
  /**
129
- * (experimental) The secret to rotate.
130
- *
131
- * It must be a JSON string with the following format:
95
+ * The secret to rotate. It must be a JSON string with the following format:
132
96
  * ```
133
97
  * {
134
- * "engine": <required: database engine>,
135
- * "host": <required: instance host name>,
136
- * "username": <required: username>,
137
- * "password": <required: password>,
138
- * "dbname": <optional: database name>,
139
- * "port": <optional: if not specified, default port will be used>,
140
- * "masterarn": <required: the arn of the master secret which will be used to create users/change passwords>
98
+ * "engine": <required: database engine>,
99
+ * "host": <required: instance host name>,
100
+ * "username": <required: username>,
101
+ * "password": <required: password>,
102
+ * "dbname": <optional: database name>,
103
+ * "port": <optional: if not specified, default port will be used>,
104
+ * "masterarn": <required: the arn of the master secret which will be used to create users/change passwords>
141
105
  * }
142
106
  * ```
143
- *
144
- * @experimental
145
107
  */
146
108
  readonly secret: secretsmanager.ISecret;
147
109
  /**
148
- * (experimental) Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation.
110
+ * Specifies the number of days after the previous rotation before
111
+ * Secrets Manager triggers the next automatic rotation.
149
112
  *
150
113
  * @default Duration.days(30)
151
- * @experimental
152
114
  */
153
115
  readonly automaticallyAfter?: Duration;
154
116
  }
155
117
  /**
156
- * (experimental) Create a Redshift Cluster with a given number of nodes.
157
- *
118
+ * Create a Redshift Cluster with a given number of nodes.
158
119
  * Implemented by {@link Cluster} via {@link ClusterBase}.
159
- *
160
- * @experimental
161
120
  */
162
121
  export interface ICluster extends IResource, ec2.IConnectable, secretsmanager.ISecretAttachmentTarget {
163
122
  /**
164
- * (experimental) Name of the cluster.
123
+ * Name of the cluster
165
124
  *
166
- * @experimental
167
125
  * @attribute ClusterName
168
126
  */
169
127
  readonly clusterName: string;
170
128
  /**
171
- * (experimental) The endpoint to use for read/write operations.
129
+ * The endpoint to use for read/write operations
172
130
  *
173
- * @experimental
174
131
  * @attribute EndpointAddress,EndpointPort
175
132
  */
176
133
  readonly clusterEndpoint: Endpoint;
177
134
  }
178
135
  /**
179
- * (experimental) Properties that describe an existing cluster instance.
180
- *
181
- * @experimental
136
+ * Properties that describe an existing cluster instance
182
137
  */
183
138
  export interface ClusterAttributes {
184
139
  /**
185
- * (experimental) The security groups of the redshift cluster.
140
+ * The security groups of the redshift cluster
186
141
  *
187
142
  * @default no security groups will be attached to the import
188
- * @experimental
189
143
  */
190
144
  readonly securityGroups?: ec2.ISecurityGroup[];
191
145
  /**
192
- * (experimental) Identifier for the cluster.
193
- *
194
- * @experimental
146
+ * Identifier for the cluster
195
147
  */
196
148
  readonly clusterName: string;
197
149
  /**
198
- * (experimental) Cluster endpoint address.
199
- *
200
- * @experimental
150
+ * Cluster endpoint address
201
151
  */
202
152
  readonly clusterEndpointAddress: string;
203
153
  /**
204
- * (experimental) Cluster endpoint port.
205
- *
206
- * @experimental
154
+ * Cluster endpoint port
207
155
  */
208
156
  readonly clusterEndpointPort: number;
209
157
  }
210
158
  /**
211
- * (experimental) Properties for a new database cluster.
212
- *
213
- * @experimental
159
+ * Properties for a new database cluster
214
160
  */
215
161
  export interface ClusterProps {
216
162
  /**
217
- * (experimental) An optional identifier for the cluster.
163
+ * An optional identifier for the cluster
218
164
  *
219
165
  * @default - A name is automatically generated.
220
- * @experimental
221
166
  */
222
167
  readonly clusterName?: string;
223
168
  /**
224
- * (experimental) Additional parameters to pass to the database engine https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html.
169
+ * Additional parameters to pass to the database engine
170
+ * https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html
225
171
  *
226
172
  * @default - No parameter group.
227
- * @experimental
228
173
  */
229
174
  readonly parameterGroup?: IClusterParameterGroup;
230
175
  /**
231
- * (experimental) Number of compute nodes in the cluster. Only specify this property for multi-node clusters.
176
+ * Number of compute nodes in the cluster. Only specify this property for multi-node clusters.
232
177
  *
233
178
  * Value must be at least 2 and no more than 100.
234
179
  *
235
180
  * @default - 2 if `clusterType` is ClusterType.MULTI_NODE, undefined otherwise
236
- * @experimental
237
181
  */
238
182
  readonly numberOfNodes?: number;
239
183
  /**
240
- * (experimental) The node type to be provisioned for the cluster.
184
+ * The node type to be provisioned for the cluster.
241
185
  *
242
186
  * @default {@link NodeType.DC2_LARGE}
243
- * @experimental
244
187
  */
245
188
  readonly nodeType?: NodeType;
246
189
  /**
247
- * (experimental) Settings for the individual instances that are launched.
190
+ * Settings for the individual instances that are launched
248
191
  *
249
192
  * @default {@link ClusterType.MULTI_NODE}
250
- * @experimental
251
193
  */
252
194
  readonly clusterType?: ClusterType;
253
195
  /**
254
- * (experimental) What port to listen on.
196
+ * What port to listen on
255
197
  *
256
198
  * @default - The default for the engine is used.
257
- * @experimental
258
199
  */
259
200
  readonly port?: number;
260
201
  /**
261
- * (experimental) Whether to enable encryption of data at rest in the cluster.
202
+ * Whether to enable encryption of data at rest in the cluster.
262
203
  *
263
204
  * @default true
264
- * @experimental
265
205
  */
266
206
  readonly encrypted?: boolean;
267
207
  /**
268
- * (experimental) The KMS key to use for encryption of data at rest.
208
+ * The KMS key to use for encryption of data at rest.
269
209
  *
270
210
  * @default - AWS-managed key, if encryption at rest is enabled
271
- * @experimental
272
211
  */
273
212
  readonly encryptionKey?: kms.IKey;
274
213
  /**
275
- * (experimental) A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).
214
+ * A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC).
276
215
  *
277
216
  * Example: 'Sun:23:45-Mon:00:15'
278
217
  *
279
218
  * @default - 30-minute window selected at random from an 8-hour block of time for
280
219
  * each AWS Region, occurring on a random day of the week.
281
220
  * @see https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance
282
- * @experimental
283
221
  */
284
222
  readonly preferredMaintenanceWindow?: string;
285
223
  /**
286
- * (experimental) The VPC to place the cluster in.
287
- *
288
- * @experimental
224
+ * The VPC to place the cluster in.
289
225
  */
290
226
  readonly vpc: ec2.IVpc;
291
227
  /**
292
- * (experimental) Where to place the instances within the VPC.
228
+ * Where to place the instances within the VPC
293
229
  *
294
230
  * @default - private subnets
295
- * @experimental
296
231
  */
297
232
  readonly vpcSubnets?: ec2.SubnetSelection;
298
233
  /**
299
- * (experimental) Security group.
234
+ * Security group.
300
235
  *
301
236
  * @default - a new security group is created.
302
- * @experimental
303
237
  */
304
238
  readonly securityGroups?: ec2.ISecurityGroup[];
305
239
  /**
306
- * (experimental) A cluster subnet group to use with this cluster.
240
+ * A cluster subnet group to use with this cluster.
307
241
  *
308
242
  * @default - a new subnet group will be created.
309
- * @experimental
310
243
  */
311
244
  readonly subnetGroup?: IClusterSubnetGroup;
312
245
  /**
313
- * (experimental) Username and password for the administrative user.
314
- *
315
- * @experimental
246
+ * Username and password for the administrative user
316
247
  */
317
248
  readonly masterUser: Login;
318
249
  /**
319
- * (experimental) A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.
320
- *
250
+ * A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.
321
251
  * Specify a maximum of 10 roles.
322
252
  *
323
253
  * @default - No role is attached to the cluster.
324
- * @experimental
325
254
  */
326
255
  readonly roles?: iam.IRole[];
327
256
  /**
328
- * (experimental) Name of a database which is automatically created inside the cluster.
257
+ * Name of a database which is automatically created inside the cluster
329
258
  *
330
259
  * @default - default_db
331
- * @experimental
332
260
  */
333
261
  readonly defaultDatabaseName?: string;
334
262
  /**
335
- * (experimental) Bucket to send logs to.
336
- *
263
+ * Bucket to send logs to.
337
264
  * Logging information includes queries and connection attempts, for the specified Amazon Redshift cluster.
338
265
  *
339
266
  * @default - No Logs
340
- * @experimental
341
267
  */
342
268
  readonly loggingBucket?: s3.IBucket;
343
269
  /**
344
- * (experimental) Prefix used for logging.
270
+ * Prefix used for logging
345
271
  *
346
272
  * @default - no prefix
347
- * @experimental
348
273
  */
349
274
  readonly loggingKeyPrefix?: string;
350
275
  /**
351
- * (experimental) The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.
276
+ * The removal policy to apply when the cluster and its instances are removed
277
+ * from the stack or replaced during an update.
352
278
  *
353
279
  * @default RemovalPolicy.RETAIN
354
- * @experimental
355
280
  */
356
281
  readonly removalPolicy?: RemovalPolicy;
357
282
  /**
358
- * (experimental) Whether to make cluster publicly accessible.
283
+ * Whether to make cluster publicly accessible.
359
284
  *
360
285
  * @default false
361
- * @experimental
362
286
  */
363
287
  readonly publiclyAccessible?: boolean;
364
288
  }
@@ -379,47 +303,34 @@ declare abstract class ClusterBase extends Resource implements ICluster {
379
303
  */
380
304
  abstract readonly connections: ec2.Connections;
381
305
  /**
382
- * (experimental) Renders the secret attachment target specifications.
383
- *
384
- * @experimental
306
+ * Renders the secret attachment target specifications.
385
307
  */
386
308
  asSecretAttachmentTarget(): secretsmanager.SecretAttachmentTargetProps;
387
309
  }
388
310
  /**
389
- * (experimental) Create a Redshift cluster a given number of nodes.
311
+ * Create a Redshift cluster a given number of nodes.
390
312
  *
391
- * @experimental
392
313
  * @resource AWS::Redshift::Cluster
393
314
  */
394
315
  export declare class Cluster extends ClusterBase {
395
316
  /**
396
- * (experimental) Import an existing DatabaseCluster from properties.
397
- *
398
- * @experimental
317
+ * Import an existing DatabaseCluster from properties
399
318
  */
400
319
  static fromClusterAttributes(scope: Construct, id: string, attrs: ClusterAttributes): ICluster;
401
320
  /**
402
- * (experimental) Identifier of the cluster.
403
- *
404
- * @experimental
321
+ * Identifier of the cluster
405
322
  */
406
323
  readonly clusterName: string;
407
324
  /**
408
- * (experimental) The endpoint to use for read/write operations.
409
- *
410
- * @experimental
325
+ * The endpoint to use for read/write operations
411
326
  */
412
327
  readonly clusterEndpoint: Endpoint;
413
328
  /**
414
- * (experimental) Access to the network connections.
415
- *
416
- * @experimental
329
+ * Access to the network connections
417
330
  */
418
331
  readonly connections: ec2.Connections;
419
332
  /**
420
- * (experimental) The secret attached to this cluster.
421
- *
422
- * @experimental
333
+ * The secret attached to this cluster
423
334
  */
424
335
  readonly secret?: secretsmanager.ISecret;
425
336
  private readonly singleUserRotationApplication;
@@ -432,21 +343,16 @@ export declare class Cluster extends ClusterBase {
432
343
  * The subnets used by the DB subnet group.
433
344
  */
434
345
  private readonly vpcSubnets?;
435
- /**
436
- * @experimental
437
- */
438
346
  constructor(scope: Construct, id: string, props: ClusterProps);
439
347
  /**
440
- * (experimental) Adds the single user rotation of the master password to this cluster.
348
+ * Adds the single user rotation of the master password to this cluster.
441
349
  *
442
- * @param automaticallyAfter Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation.
443
- * @experimental
350
+ * @param [automaticallyAfter=Duration.days(30)] Specifies the number of days after the previous rotation
351
+ * before Secrets Manager triggers the next automatic rotation.
444
352
  */
445
353
  addRotationSingleUser(automaticallyAfter?: Duration): secretsmanager.SecretRotation;
446
354
  /**
447
- * (experimental) Adds the multi user rotation to this cluster.
448
- *
449
- * @experimental
355
+ * Adds the multi user rotation to this cluster.
450
356
  */
451
357
  addRotationMultiUser(id: string, options: RotationMultiUserOptions): secretsmanager.SecretRotation;
452
358
  private validateNodeCount;