-
Notifications
You must be signed in to change notification settings - Fork 573
/
models_0.ts
2403 lines (2050 loc) · 57.1 KB
/
models_0.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// smithy-typescript generated code
import { ExceptionOptionType as __ExceptionOptionType, SENSITIVE_STRING } from "@aws-sdk/smithy-client";
import { RedshiftServerlessServiceException as __BaseException } from "./RedshiftServerlessServiceException";
/**
* <p>You do not have sufficient access to perform this action.</p>
*/
export class AccessDeniedException extends __BaseException {
readonly name: "AccessDeniedException" = "AccessDeniedException";
readonly $fault: "client" = "client";
code?: string;
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>) {
super({
name: "AccessDeniedException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, AccessDeniedException.prototype);
this.code = opts.code;
}
}
/**
* <p>An array of key-value pairs to set for advanced control over Amazon Redshift Serverless.</p>
*/
export interface ConfigParameter {
/**
* <p>The key of the parameter. The
* options are <code>datestyle</code>, <code>enable_user_activity_logging</code>,
* <code>query_group</code>, <code>search_path</code>, and <code>max_query_execution_time</code>.</p>
*/
parameterKey?: string;
/**
* <p>The value of the parameter to set.</p>
*/
parameterValue?: string;
}
/**
* <p>The submitted action has conflicts.</p>
*/
export class ConflictException extends __BaseException {
readonly name: "ConflictException" = "ConflictException";
readonly $fault: "client" = "client";
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>) {
super({
name: "ConflictException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, ConflictException.prototype);
}
}
export interface ConvertRecoveryPointToSnapshotRequest {
/**
* <p>The unique identifier of the recovery point.</p>
*/
recoveryPointId: string | undefined;
/**
* <p>The name of the snapshot.</p>
*/
snapshotName: string | undefined;
/**
* <p>How long to retain the snapshot.</p>
*/
retentionPeriod?: number;
}
export enum SnapshotStatus {
AVAILABLE = "AVAILABLE",
CANCELLED = "CANCELLED",
COPYING = "COPYING",
CREATING = "CREATING",
DELETED = "DELETED",
FAILED = "FAILED",
}
/**
* <p>A snapshot object that contains databases.</p>
*/
export interface Snapshot {
/**
* <p>The name of the namepsace.</p>
*/
namespaceName?: string;
/**
* <p>The Amazon Resource Name (ARN) of the namespace the snapshot was created from.</p>
*/
namespaceArn?: string;
/**
* <p>The name of the snapshot.</p>
*/
snapshotName?: string;
/**
* <p>The timestamp of when the snapshot was created.</p>
*/
snapshotCreateTime?: Date;
/**
* <p>The username of the database within a snapshot.</p>
*/
adminUsername?: string;
/**
* <p>The status of the snapshot.</p>
*/
status?: SnapshotStatus | string;
/**
* <p>The unique identifier of the KMS key used to encrypt the snapshot.</p>
*/
kmsKeyId?: string;
/**
* <p>The owner Amazon Web Services; account of the snapshot.</p>
*/
ownerAccount?: string;
/**
* <p>The total size, in megabytes, of how big the snapshot is.</p>
*/
totalBackupSizeInMegaBytes?: number;
/**
* <p>The size of the incremental backup in megabytes.</p>
*/
actualIncrementalBackupSizeInMegaBytes?: number;
/**
* <p>The size in megabytes of the data that has been backed up to a snapshot.</p>
*/
backupProgressInMegaBytes?: number;
/**
* <p>The rate at which data is backed up into a snapshot in megabytes per second.</p>
*/
currentBackupRateInMegaBytesPerSecond?: number;
/**
* <p>The estimated amount of seconds until the snapshot completes backup.</p>
*/
estimatedSecondsToCompletion?: number;
/**
* <p>The amount of time it took to back up data into a snapshot.</p>
*/
elapsedTimeInSeconds?: number;
/**
* <p>The period of time, in days, of how long the snapshot is retained.</p>
*/
snapshotRetentionPeriod?: number;
/**
* <p>The amount of days until the snapshot is deleted.</p>
*/
snapshotRemainingDays?: number;
/**
* <p>The timestamp of when data within the snapshot started getting retained.</p>
*/
snapshotRetentionStartTime?: Date;
/**
* <p>The Amazon Resource Name (ARN) of the snapshot.</p>
*/
snapshotArn?: string;
/**
* <p>All of the Amazon Web Services accounts that have access to
* restore a snapshot to a namespace.</p>
*/
accountsWithRestoreAccess?: string[];
/**
* <p>All of the Amazon Web Services accounts that have access to restore a snapshot to a provisioned cluster.</p>
*/
accountsWithProvisionedRestoreAccess?: string[];
}
export interface ConvertRecoveryPointToSnapshotResponse {
/**
* <p>The snapshot converted from the recovery point.</p>
*/
snapshot?: Snapshot;
}
/**
* <p>The request processing has failed because of an unknown error, exception or failure.</p>
*/
export class InternalServerException extends __BaseException {
readonly name: "InternalServerException" = "InternalServerException";
readonly $fault: "server" = "server";
$retryable = {};
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>) {
super({
name: "InternalServerException",
$fault: "server",
...opts,
});
Object.setPrototypeOf(this, InternalServerException.prototype);
}
}
/**
* <p>The resource could not be found.</p>
*/
export class ResourceNotFoundException extends __BaseException {
readonly name: "ResourceNotFoundException" = "ResourceNotFoundException";
readonly $fault: "client" = "client";
/**
* <p>The name of the resource that could not be found.</p>
*/
resourceName?: string;
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>) {
super({
name: "ResourceNotFoundException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
this.resourceName = opts.resourceName;
}
}
/**
* <p>The service limit was exceeded.</p>
*/
export class ServiceQuotaExceededException extends __BaseException {
readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException";
readonly $fault: "client" = "client";
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<ServiceQuotaExceededException, __BaseException>) {
super({
name: "ServiceQuotaExceededException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype);
}
}
/**
* <p>The input failed to satisfy the constraints specified by an AWS service.</p>
*/
export class ValidationException extends __BaseException {
readonly name: "ValidationException" = "ValidationException";
readonly $fault: "client" = "client";
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>) {
super({
name: "ValidationException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, ValidationException.prototype);
}
}
export interface CreateEndpointAccessRequest {
/**
* <p>The name of the VPC endpoint. An endpoint name must contain 1-30 characters.
* Valid characters are A-Z, a-z, 0-9, and hyphen(-). The first character must be a letter.
* The name can't contain two consecutive hyphens or end with a hyphen.</p>
*/
endpointName: string | undefined;
/**
* <p>The unique identifers of subnets from which
* Amazon Redshift Serverless chooses one to deploy a VPC endpoint.</p>
*/
subnetIds: string[] | undefined;
/**
* <p>The name of the workgroup to associate with the VPC endpoint.</p>
*/
workgroupName: string | undefined;
/**
* <p>The unique identifiers of the security group that defines the ports,
* protocols, and sources for inbound traffic that you are authorizing into your endpoint.</p>
*/
vpcSecurityGroupIds?: string[];
}
/**
* <p>Contains information about a network interface
* in an Amazon Redshift Serverless managed VPC endpoint.
* </p>
*/
export interface NetworkInterface {
/**
* <p>The unique identifier of the network interface.</p>
*/
networkInterfaceId?: string;
/**
* <p>The unique identifier of the subnet.</p>
*/
subnetId?: string;
/**
* <p>The IPv4 address of the network interface within the subnet.</p>
*/
privateIpAddress?: string;
/**
* <p>The availability Zone.</p>
*/
availabilityZone?: string;
}
/**
* <p>The connection endpoint for connecting to Amazon Redshift Serverless through the proxy.</p>
*/
export interface VpcEndpoint {
/**
* <p>The connection endpoint ID for connecting to Amazon Redshift Serverless.</p>
*/
vpcEndpointId?: string;
/**
* <p>The VPC identifier that the endpoint is associated with.</p>
*/
vpcId?: string;
/**
* <p>One or more network interfaces of the endpoint. Also known as an interface endpoint.</p>
*/
networkInterfaces?: NetworkInterface[];
}
/**
* <p>Describes the members of a VPC security group.</p>
*/
export interface VpcSecurityGroupMembership {
/**
* <p>The unique identifier of the VPC security group.</p>
*/
vpcSecurityGroupId?: string;
/**
* <p>The status of the VPC security group.</p>
*/
status?: string;
}
/**
* <p>Information about an Amazon Redshift Serverless VPC endpoint.</p>
*/
export interface EndpointAccess {
/**
* <p>The name of the VPC endpoint.</p>
*/
endpointName?: string;
/**
* <p>The status of the VPC endpoint.</p>
*/
endpointStatus?: string;
/**
* <p>The name of the workgroup associated with the endpoint.</p>
*/
workgroupName?: string;
/**
* <p>The time that the endpoint was created.</p>
*/
endpointCreateTime?: Date;
/**
* <p>The port number on which Amazon Redshift Serverless accepts incoming connections.</p>
*/
port?: number;
/**
* <p>The DNS address of the endpoint.</p>
*/
address?: string;
/**
* <p>The unique identifier of subnets
* where Amazon Redshift Serverless choose to deploy the VPC endpoint.</p>
*/
subnetIds?: string[];
/**
* <p>The security groups associated with the endpoint.</p>
*/
vpcSecurityGroups?: VpcSecurityGroupMembership[];
/**
* <p>The connection endpoint for connecting to Amazon Redshift Serverless.</p>
*/
vpcEndpoint?: VpcEndpoint;
/**
* <p>The Amazon Resource Name (ARN) of the VPC endpoint.</p>
*/
endpointArn?: string;
}
export interface CreateEndpointAccessResponse {
/**
* <p>The created VPC endpoint.</p>
*/
endpoint?: EndpointAccess;
}
export enum LogExport {
CONNECTION_LOG = "connectionlog",
USER_ACTIVITY_LOG = "useractivitylog",
USER_LOG = "userlog",
}
/**
* <p>A map of key-value pairs.</p>
*/
export interface Tag {
/**
* <p>The key to use in the tag.</p>
*/
key: string | undefined;
/**
* <p>The value of the tag.</p>
*/
value: string | undefined;
}
export interface CreateNamespaceRequest {
/**
* <p>The name of the namespace.</p>
*/
namespaceName: string | undefined;
/**
* <p>The username of the administrator for the first database created in the namespace.</p>
*/
adminUsername?: string;
/**
* <p>The password of the administrator for the first database created in the namespace.</p>
*/
adminUserPassword?: string;
/**
* <p>The name of the first database created in the namespace.</p>
*/
dbName?: string;
/**
* <p>The ID of the Amazon Web Services Key Management Service key used to encrypt your data.</p>
*/
kmsKeyId?: string;
/**
* <p>The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.</p>
*/
defaultIamRoleArn?: string;
/**
* <p>A list of IAM roles to associate with the namespace.</p>
*/
iamRoles?: string[];
/**
* <p>The types of logs the namespace can export.
* Available export types are <code>userlog</code>, <code>connectionlog</code>, and <code>useractivitylog</code>.</p>
*/
logExports?: (LogExport | string)[];
/**
* <p>A list of tag instances.</p>
*/
tags?: Tag[];
}
export enum NamespaceStatus {
AVAILABLE = "AVAILABLE",
DELETING = "DELETING",
MODIFYING = "MODIFYING",
}
/**
* <p>A collection of database objects and users.</p>
*/
export interface Namespace {
/**
* <p>The Amazon Resource Name (ARN) associated with a namespace.</p>
*/
namespaceArn?: string;
/**
* <p>The unique identifier of a namespace.</p>
*/
namespaceId?: string;
/**
* <p>The name of the namespace.
* Must be between 3-64 alphanumeric characters in lowercase,
* and it cannot be a reserved word. A list of reserved words can be found
* in <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html">Reserved Words</a> in the Amazon Redshift Database Developer Guide.</p>
*/
namespaceName?: string;
/**
* <p>The username of the administrator for the first database created in the namespace.</p>
*/
adminUsername?: string;
/**
* <p>The name of the first database created in the namespace.</p>
*/
dbName?: string;
/**
* <p>The ID of the Amazon Web Services Key Management Service key used to encrypt your data.</p>
*/
kmsKeyId?: string;
/**
* <p>The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.</p>
*/
defaultIamRoleArn?: string;
/**
* <p>A list of IAM roles to associate with the namespace.</p>
*/
iamRoles?: string[];
/**
* <p>The types of logs the namespace can export. Available export types are User log, Connection log, and User activity log.</p>
*/
logExports?: (LogExport | string)[];
/**
* <p>The status of the namespace.</p>
*/
status?: NamespaceStatus | string;
/**
* <p>The date of when the namespace was created.</p>
*/
creationDate?: Date;
}
export interface CreateNamespaceResponse {
/**
* <p>The created namespace object.</p>
*/
namespace?: Namespace;
}
/**
* <p>The request exceeded the number of tags allowed for a resource.</p>
*/
export class TooManyTagsException extends __BaseException {
readonly name: "TooManyTagsException" = "TooManyTagsException";
readonly $fault: "client" = "client";
/**
* <p>The name of the resource that exceeded the number of tags allowed for a resource.</p>
*/
resourceName?: string;
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<TooManyTagsException, __BaseException>) {
super({
name: "TooManyTagsException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, TooManyTagsException.prototype);
this.resourceName = opts.resourceName;
}
}
export interface CreateSnapshotRequest {
/**
* <p>The namespace to create a snapshot for.</p>
*/
namespaceName: string | undefined;
/**
* <p>The name of the snapshot.</p>
*/
snapshotName: string | undefined;
/**
* <p>How long to retain the created snapshot.</p>
*/
retentionPeriod?: number;
}
export interface CreateSnapshotResponse {
/**
* <p>The created snapshot object.</p>
*/
snapshot?: Snapshot;
}
export enum UsageLimitBreachAction {
DEACTIVATE = "deactivate",
EMIT_METRIC = "emit-metric",
LOG = "log",
}
export enum UsageLimitPeriod {
DAILY = "daily",
MONTHLY = "monthly",
WEEKLY = "weekly",
}
export enum UsageLimitUsageType {
CROSS_REGION_DATASHARING = "cross-region-datasharing",
SERVERLESS_COMPUTE = "serverless-compute",
}
export interface CreateUsageLimitRequest {
/**
* <p>The Amazon Resource Name (ARN) of the Amazon Redshift Serverless resource to create the usage limit for.</p>
*/
resourceArn: string | undefined;
/**
* <p>The type of Amazon Redshift Serverless usage to create a usage limit for.</p>
*/
usageType: UsageLimitUsageType | string | undefined;
/**
* <p>The limit amount. If time-based, this amount is in Redshift Processing Units (RPU) consumed per hour. If data-based, this amount is in terabytes (TB) of data
* transferred between Regions in cross-account sharing. The value must be a positive number.</p>
*/
amount: number | undefined;
/**
* <p>The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.</p>
*/
period?: UsageLimitPeriod | string;
/**
* <p>The action that Amazon Redshift Serverless takes when the limit is reached. The default is log.</p>
*/
breachAction?: UsageLimitBreachAction | string;
}
/**
* <p>The usage limit object.</p>
*/
export interface UsageLimit {
/**
* <p>The identifier of the usage limit.</p>
*/
usageLimitId?: string;
/**
* <p>The Amazon Resource Name (ARN) of the resource associated with the usage limit.</p>
*/
usageLimitArn?: string;
/**
* <p>The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless resource.</p>
*/
resourceArn?: string;
/**
* <p>The Amazon Redshift Serverless feature to limit.</p>
*/
usageType?: UsageLimitUsageType | string;
/**
* <p>The limit amount. If time-based, this amount is in RPUs consumed per hour. If data-based, this amount is in terabytes (TB). The value must be a positive number.</p>
*/
amount?: number;
/**
* <p>The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.</p>
*/
period?: UsageLimitPeriod | string;
/**
* <p>The action that Amazon Redshift Serverless takes when the limit is reached.</p>
*/
breachAction?: UsageLimitBreachAction | string;
}
export interface CreateUsageLimitResponse {
/**
* <p>The returned usage limit object.</p>
*/
usageLimit?: UsageLimit;
}
export interface CreateWorkgroupRequest {
/**
* <p>The name of the created workgroup.</p>
*/
workgroupName: string | undefined;
/**
* <p>The name of the namespace to associate with the workgroup.</p>
*/
namespaceName: string | undefined;
/**
* <p>The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).</p>
*/
baseCapacity?: number;
/**
* <p>The value that specifies whether to turn on enhanced virtual
* private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet.</p>
*/
enhancedVpcRouting?: boolean;
/**
* <p>An array of parameters to set for more control over a serverless database. The
* options are <code>datestyle</code>, <code>enable_user_activity_logging</code>,
* <code>query_group</code>, <code>search_path</code>, and <code>max_query_execution_time</code>.</p>
*/
configParameters?: ConfigParameter[];
/**
* <p>An array of security group IDs to associate with the workgroup.</p>
*/
securityGroupIds?: string[];
/**
* <p>An array of VPC subnet IDs to associate with the workgroup.</p>
*/
subnetIds?: string[];
/**
* <p>A value that specifies whether the workgroup can be accessed from a public network.</p>
*/
publiclyAccessible?: boolean;
/**
* <p>A array of tag instances.</p>
*/
tags?: Tag[];
}
/**
* <p>The VPC endpoint object.</p>
*/
export interface Endpoint {
/**
* <p>The DNS address of the VPC endpoint.</p>
*/
address?: string;
/**
* <p>The port that Amazon Redshift Serverless listens on.</p>
*/
port?: number;
/**
* <p>An array of <code>VpcEndpoint</code> objects.</p>
*/
vpcEndpoints?: VpcEndpoint[];
}
export enum WorkgroupStatus {
AVAILABLE = "AVAILABLE",
CREATING = "CREATING",
DELETING = "DELETING",
MODIFYING = "MODIFYING",
}
/**
* <p>The collection of computing resources from which an endpoint is created.</p>
*/
export interface Workgroup {
/**
* <p>The unique identifier of the workgroup.</p>
*/
workgroupId?: string;
/**
* <p>The Amazon Resource Name (ARN) that links to the workgroup.</p>
*/
workgroupArn?: string;
/**
* <p>The name of the workgroup.</p>
*/
workgroupName?: string;
/**
* <p>The namespace the workgroup is associated with.</p>
*/
namespaceName?: string;
/**
* <p>The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).</p>
*/
baseCapacity?: number;
/**
* <p>The value that specifies whether to enable enhanced virtual
* private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.</p>
*/
enhancedVpcRouting?: boolean;
/**
* <p>An array of parameters to set for finer control over a database. The
* options are <code>datestyle</code>, <code>enable_user_activity_logging</code>,
* <code>query_group</code>, <code>search_path</code>, and <code>max_query_execution_time</code>.</p>
*/
configParameters?: ConfigParameter[];
/**
* <p>An array of security group IDs to associate with the workgroup.</p>
*/
securityGroupIds?: string[];
/**
* <p>An array of subnet IDs the workgroup is associated with.</p>
*/
subnetIds?: string[];
/**
* <p>The status of the workgroup.</p>
*/
status?: WorkgroupStatus | string;
/**
* <p>The endpoint that is created from the workgroup.</p>
*/
endpoint?: Endpoint;
/**
* <p>A value that specifies whether the workgroup
* can be accessible from a public network</p>
*/
publiclyAccessible?: boolean;
/**
* <p>The creation date of the workgroup.</p>
*/
creationDate?: Date;
}
export interface CreateWorkgroupResponse {
/**
* <p>The created workgroup object.</p>
*/
workgroup?: Workgroup;
}
/**
* <p>There is an insufficient capacity to perform the action.</p>
*/
export class InsufficientCapacityException extends __BaseException {
readonly name: "InsufficientCapacityException" = "InsufficientCapacityException";
readonly $fault: "client" = "client";
$retryable = {};
/**
* @internal
*/
constructor(opts: __ExceptionOptionType<InsufficientCapacityException, __BaseException>) {
super({
name: "InsufficientCapacityException",
$fault: "client",
...opts,
});
Object.setPrototypeOf(this, InsufficientCapacityException.prototype);
}
}
export interface DeleteEndpointAccessRequest {
/**
* <p>The name of the VPC endpoint to delete.</p>
*/
endpointName: string | undefined;
}
export interface DeleteEndpointAccessResponse {
/**
* <p>The deleted VPC endpoint.</p>
*/
endpoint?: EndpointAccess;
}
export interface GetEndpointAccessRequest {
/**
* <p>The name of the VPC endpoint to return information for.</p>
*/
endpointName: string | undefined;
}
export interface GetEndpointAccessResponse {
/**
* <p>The returned VPC endpoint.</p>
*/
endpoint?: EndpointAccess;
}
export interface ListEndpointAccessRequest {
/**
* <p>If your initial <code>ListEndpointAccess</code> operation returns a <code>nextToken</code>,
* you can include the returned <code>nextToken</code> in subsequent <code>ListEndpointAccess</code> operations,
* which returns results in the next page.</p>
*/
nextToken?: string;
/**
* <p>An optional parameter that specifies the maximum number of results to return.
* You can use <code>nextToken</code> to get the next page of results.</p>
*/
maxResults?: number;
/**
* <p>The name of the workgroup associated with the VPC endpoint to return.</p>
*/
workgroupName?: string;
/**
* <p>The unique identifier of the virtual private cloud with access to Amazon Redshift Serverless.</p>
*/
vpcId?: string;
}
export interface ListEndpointAccessResponse {
/**
* <p>When <code>nextToken</code> is returned, there are more results available.
* The value of <code>nextToken</code> is a unique pagination token for each page.
* Make the call again using the returned token to retrieve the next page.</p>
*/
nextToken?: string;
/**
* <p>The returned VPC endpoints.</p>
*/
endpoints: EndpointAccess[] | undefined;
}
export interface UpdateEndpointAccessRequest {
/**
* <p>The name of the VPC endpoint to update.</p>
*/
endpointName: string | undefined;
/**
* <p>The list of VPC security groups associated with the endpoint after the endpoint is modified.</p>
*/
vpcSecurityGroupIds?: string[];
}
export interface UpdateEndpointAccessResponse {
/**
* <p>The updated VPC endpoint.</p>
*/
endpoint?: EndpointAccess;
}
export interface DeleteNamespaceRequest {
/**
* <p>The name of the namespace to delete.</p>
*/
namespaceName: string | undefined;
/**
* <p>The name of the snapshot to be created before the namespace is deleted.</p>
*/
finalSnapshotName?: string;
/**
* <p>How long to retain the final snapshot.</p>
*/
finalSnapshotRetentionPeriod?: number;