@stacksjs/ts-cloud-aws-types 0.1.6 → 0.1.7
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/dist/acm.d.ts +19 -0
- package/dist/alb.d.ts +70 -0
- package/dist/apigateway.d.ts +80 -0
- package/dist/appsync.d.ts +233 -0
- package/dist/athena.d.ts +92 -0
- package/dist/autoscaling.d.ts +188 -0
- package/dist/backup.d.ts +174 -0
- package/dist/cloudwatch.d.ts +92 -0
- package/dist/codedeploy.d.ts +124 -0
- package/dist/cognito.d.ts +203 -0
- package/dist/common.d.ts +17 -0
- package/dist/connect.d.ts +228 -0
- package/dist/dynamodb.d.ts +58 -0
- package/dist/ec2.d.ts +159 -0
- package/dist/ecr.d.ts +122 -0
- package/dist/ecs.d.ts +126 -0
- package/dist/efs.d.ts +54 -0
- package/dist/elasticache.d.ts +87 -0
- package/dist/eventbridge.d.ts +134 -0
- package/dist/globalaccelerator.d.ts +49 -0
- package/dist/glue.d.ts +227 -0
- package/dist/iam.d.ts +135 -0
- package/dist/index.d.ts +310 -0
- package/dist/index.js +0 -0
- package/dist/kinesis.d.ts +252 -0
- package/dist/kms.d.ts +33 -0
- package/dist/lambda.d.ts +40 -0
- package/dist/opensearch.d.ts +140 -0
- package/dist/pinpoint.d.ts +418 -0
- package/dist/rds-proxy.d.ts +59 -0
- package/dist/rds.d.ts +58 -0
- package/dist/route53.d.ts +30 -0
- package/dist/secrets-manager.d.ts +99 -0
- package/dist/ses.d.ts +62 -0
- package/dist/sns.d.ts +42 -0
- package/dist/sqs.d.ts +51 -0
- package/dist/ssm.d.ts +253 -0
- package/dist/waf.d.ts +79 -0
- package/package.json +2 -2
package/dist/acm.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface ACMCertificate extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::CertificateManager::Certificate'
|
|
4
|
+
Properties: {
|
|
5
|
+
DomainName: string
|
|
6
|
+
SubjectAlternativeNames?: string[]
|
|
7
|
+
DomainValidationOptions?: Array<{
|
|
8
|
+
DomainName: string
|
|
9
|
+
HostedZoneId?: string
|
|
10
|
+
ValidationDomain?: string
|
|
11
|
+
}>
|
|
12
|
+
ValidationMethod?: 'DNS' | 'EMAIL'
|
|
13
|
+
CertificateTransparencyLoggingPreference?: 'ENABLED' | 'DISABLED'
|
|
14
|
+
Tags?: Array<{
|
|
15
|
+
Key: string
|
|
16
|
+
Value: string
|
|
17
|
+
}>
|
|
18
|
+
}
|
|
19
|
+
}
|
package/dist/alb.d.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface ApplicationLoadBalancer extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
|
|
4
|
+
Properties: {
|
|
5
|
+
Name?: string
|
|
6
|
+
Scheme?: 'internet-facing' | 'internal'
|
|
7
|
+
Type?: 'application' | 'network' | 'gateway'
|
|
8
|
+
IpAddressType?: 'ipv4' | 'dualstack'
|
|
9
|
+
Subnets?: string[]
|
|
10
|
+
SecurityGroups?: string[]
|
|
11
|
+
Tags?: Array<{
|
|
12
|
+
Key: string
|
|
13
|
+
Value: string
|
|
14
|
+
}>
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export declare interface TargetGroup extends CloudFormationResource {
|
|
18
|
+
Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
|
|
19
|
+
Properties: {
|
|
20
|
+
Name?: string
|
|
21
|
+
Port: number
|
|
22
|
+
Protocol: 'HTTP' | 'HTTPS' | 'TCP' | 'TLS' | 'UDP' | 'TCP_UDP'
|
|
23
|
+
VpcId: string | { Ref: string }
|
|
24
|
+
TargetType?: 'instance' | 'ip' | 'lambda' | 'alb'
|
|
25
|
+
HealthCheckEnabled?: boolean
|
|
26
|
+
HealthCheckProtocol?: 'HTTP' | 'HTTPS' | 'TCP' | 'TLS' | 'UDP' | 'TCP_UDP'
|
|
27
|
+
HealthCheckPath?: string
|
|
28
|
+
HealthCheckIntervalSeconds?: number
|
|
29
|
+
HealthCheckTimeoutSeconds?: number
|
|
30
|
+
HealthyThresholdCount?: number
|
|
31
|
+
UnhealthyThresholdCount?: number
|
|
32
|
+
Matcher?: {
|
|
33
|
+
HttpCode?: string
|
|
34
|
+
GrpcCode?: string
|
|
35
|
+
}
|
|
36
|
+
Tags?: Array<{
|
|
37
|
+
Key: string
|
|
38
|
+
Value: string
|
|
39
|
+
}>
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export declare interface Listener extends CloudFormationResource {
|
|
43
|
+
Type: 'AWS::ElasticLoadBalancingV2::Listener'
|
|
44
|
+
Properties: {
|
|
45
|
+
LoadBalancerArn: string | { Ref: string }
|
|
46
|
+
Port: number
|
|
47
|
+
Protocol: 'HTTP' | 'HTTPS' | 'TCP' | 'TLS' | 'UDP' | 'TCP_UDP'
|
|
48
|
+
Certificates?: Array<{
|
|
49
|
+
CertificateArn: string
|
|
50
|
+
}>
|
|
51
|
+
SslPolicy?: string
|
|
52
|
+
DefaultActions: Array<{
|
|
53
|
+
Type: 'forward' | 'redirect' | 'fixed-response' | 'authenticate-cognito' | 'authenticate-oidc'
|
|
54
|
+
TargetGroupArn?: string | { Ref: string }
|
|
55
|
+
RedirectConfig?: {
|
|
56
|
+
Protocol?: string
|
|
57
|
+
Port?: string
|
|
58
|
+
Host?: string
|
|
59
|
+
Path?: string
|
|
60
|
+
Query?: string
|
|
61
|
+
StatusCode: 'HTTP_301' | 'HTTP_302'
|
|
62
|
+
}
|
|
63
|
+
FixedResponseConfig?: {
|
|
64
|
+
StatusCode: string
|
|
65
|
+
ContentType?: string
|
|
66
|
+
MessageBody?: string
|
|
67
|
+
}
|
|
68
|
+
}>
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface ApiGatewayRestApi extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::ApiGateway::RestApi'
|
|
4
|
+
Properties: {
|
|
5
|
+
Name: string
|
|
6
|
+
Description?: string
|
|
7
|
+
EndpointConfiguration?: {
|
|
8
|
+
Types: ('EDGE' | 'REGIONAL' | 'PRIVATE')[]
|
|
9
|
+
}
|
|
10
|
+
Policy?: unknown
|
|
11
|
+
BinaryMediaTypes?: string[]
|
|
12
|
+
MinimumCompressionSize?: number
|
|
13
|
+
Tags?: Array<{
|
|
14
|
+
Key: string
|
|
15
|
+
Value: string
|
|
16
|
+
}>
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export declare interface ApiGatewayHttpApi extends CloudFormationResource {
|
|
20
|
+
Type: 'AWS::ApiGatewayV2::Api'
|
|
21
|
+
Properties: {
|
|
22
|
+
Name: string
|
|
23
|
+
Description?: string
|
|
24
|
+
ProtocolType: 'HTTP' | 'WEBSOCKET'
|
|
25
|
+
CorsConfiguration?: {
|
|
26
|
+
AllowOrigins?: string[]
|
|
27
|
+
AllowMethods?: string[]
|
|
28
|
+
AllowHeaders?: string[]
|
|
29
|
+
ExposeHeaders?: string[]
|
|
30
|
+
MaxAge?: number
|
|
31
|
+
AllowCredentials?: boolean
|
|
32
|
+
}
|
|
33
|
+
Tags?: Record<string, string>
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export declare interface ApiGatewayStage extends CloudFormationResource {
|
|
37
|
+
Type: 'AWS::ApiGateway::Stage'
|
|
38
|
+
Properties: {
|
|
39
|
+
StageName: string
|
|
40
|
+
RestApiId: string | { Ref: string }
|
|
41
|
+
DeploymentId: string | { Ref: string }
|
|
42
|
+
Description?: string
|
|
43
|
+
CacheClusterEnabled?: boolean
|
|
44
|
+
CacheClusterSize?: string
|
|
45
|
+
Variables?: Record<string, string>
|
|
46
|
+
MethodSettings?: Array<{
|
|
47
|
+
HttpMethod: string
|
|
48
|
+
ResourcePath: string
|
|
49
|
+
CachingEnabled?: boolean
|
|
50
|
+
CacheTtlInSeconds?: number
|
|
51
|
+
ThrottlingBurstLimit?: number
|
|
52
|
+
ThrottlingRateLimit?: number
|
|
53
|
+
}>
|
|
54
|
+
Tags?: Array<{
|
|
55
|
+
Key: string
|
|
56
|
+
Value: string
|
|
57
|
+
}>
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export declare interface ApiGatewayDeployment extends CloudFormationResource {
|
|
61
|
+
Type: 'AWS::ApiGateway::Deployment'
|
|
62
|
+
Properties: {
|
|
63
|
+
RestApiId: string | { Ref: string }
|
|
64
|
+
Description?: string
|
|
65
|
+
StageName?: string
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export declare interface ApiGatewayAuthorizer extends CloudFormationResource {
|
|
69
|
+
Type: 'AWS::ApiGateway::Authorizer'
|
|
70
|
+
Properties: {
|
|
71
|
+
Name: string
|
|
72
|
+
Type: 'TOKEN' | 'REQUEST' | 'COGNITO_USER_POOLS'
|
|
73
|
+
RestApiId: string | { Ref: string }
|
|
74
|
+
AuthorizerUri?: string
|
|
75
|
+
AuthorizerCredentials?: string
|
|
76
|
+
IdentitySource?: string
|
|
77
|
+
ProviderARNs?: string[]
|
|
78
|
+
AuthorizerResultTtlInSeconds?: number
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { Tag } from './common';
|
|
2
|
+
export declare interface GraphQLApi {
|
|
3
|
+
Type: 'AWS::AppSync::GraphQLApi'
|
|
4
|
+
Properties: {
|
|
5
|
+
Name: string
|
|
6
|
+
AuthenticationType: 'API_KEY' | 'AWS_IAM' | 'AMAZON_COGNITO_USER_POOLS' | 'OPENID_CONNECT' | 'AWS_LAMBDA'
|
|
7
|
+
|
|
8
|
+
// Optional authentication providers
|
|
9
|
+
AdditionalAuthenticationProviders?: Array<{
|
|
10
|
+
AuthenticationType: 'API_KEY' | 'AWS_IAM' | 'AMAZON_COGNITO_USER_POOLS' | 'OPENID_CONNECT' | 'AWS_LAMBDA'
|
|
11
|
+
UserPoolConfig?: {
|
|
12
|
+
UserPoolId: string | { Ref: string }
|
|
13
|
+
AwsRegion?: string
|
|
14
|
+
AppIdClientRegex?: string
|
|
15
|
+
}
|
|
16
|
+
OpenIDConnectConfig?: {
|
|
17
|
+
Issuer: string
|
|
18
|
+
ClientId?: string
|
|
19
|
+
IatTTL?: number
|
|
20
|
+
AuthTTL?: number
|
|
21
|
+
}
|
|
22
|
+
LambdaAuthorizerConfig?: {
|
|
23
|
+
AuthorizerUri: string | { Ref: string }
|
|
24
|
+
AuthorizerResultTtlInSeconds?: number
|
|
25
|
+
IdentityValidationExpression?: string
|
|
26
|
+
}
|
|
27
|
+
}>
|
|
28
|
+
|
|
29
|
+
// Cognito User Pool config (if using AMAZON_COGNITO_USER_POOLS)
|
|
30
|
+
UserPoolConfig?: {
|
|
31
|
+
UserPoolId: string | { Ref: string }
|
|
32
|
+
AwsRegion?: string
|
|
33
|
+
DefaultAction: 'ALLOW' | 'DENY'
|
|
34
|
+
AppIdClientRegex?: string
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// OpenID Connect config (if using OPENID_CONNECT)
|
|
38
|
+
OpenIDConnectConfig?: {
|
|
39
|
+
Issuer: string
|
|
40
|
+
ClientId?: string
|
|
41
|
+
IatTTL?: number
|
|
42
|
+
AuthTTL?: number
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Lambda authorizer config (if using AWS_LAMBDA)
|
|
46
|
+
LambdaAuthorizerConfig?: {
|
|
47
|
+
AuthorizerUri: string | { Ref: string }
|
|
48
|
+
AuthorizerResultTtlInSeconds?: number
|
|
49
|
+
IdentityValidationExpression?: string
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Logging
|
|
53
|
+
LogConfig?: {
|
|
54
|
+
CloudWatchLogsRoleArn: string | { Ref: string }
|
|
55
|
+
FieldLogLevel: 'NONE' | 'ERROR' | 'ALL'
|
|
56
|
+
ExcludeVerboseContent?: boolean
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// X-Ray tracing
|
|
60
|
+
XrayEnabled?: boolean
|
|
61
|
+
|
|
62
|
+
Tags?: Tag[]
|
|
63
|
+
}
|
|
64
|
+
DeletionPolicy?: 'Delete' | 'Retain'
|
|
65
|
+
UpdateReplacePolicy?: 'Delete' | 'Retain'
|
|
66
|
+
}
|
|
67
|
+
export declare interface GraphQLSchema {
|
|
68
|
+
Type: 'AWS::AppSync::GraphQLSchema'
|
|
69
|
+
Properties: {
|
|
70
|
+
ApiId: string | { Ref: string }
|
|
71
|
+
Definition?: string
|
|
72
|
+
DefinitionS3Location?: string
|
|
73
|
+
}
|
|
74
|
+
DependsOn?: string | string[]
|
|
75
|
+
}
|
|
76
|
+
export declare interface DataSource {
|
|
77
|
+
Type: 'AWS::AppSync::DataSource'
|
|
78
|
+
Properties: {
|
|
79
|
+
ApiId: string | { Ref: string }
|
|
80
|
+
Name: string
|
|
81
|
+
Type: 'AWS_LAMBDA' | 'AMAZON_DYNAMODB' | 'AMAZON_ELASTICSEARCH' | 'AMAZON_OPENSEARCH_SERVICE' | 'HTTP' | 'RELATIONAL_DATABASE' | 'NONE'
|
|
82
|
+
ServiceRoleArn?: string | { Ref: string }
|
|
83
|
+
|
|
84
|
+
// Lambda config (if Type = AWS_LAMBDA)
|
|
85
|
+
LambdaConfig?: {
|
|
86
|
+
LambdaFunctionArn: string | { Ref: string }
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// DynamoDB config (if Type = AMAZON_DYNAMODB)
|
|
90
|
+
DynamoDBConfig?: {
|
|
91
|
+
TableName: string | { Ref: string }
|
|
92
|
+
AwsRegion: string
|
|
93
|
+
UseCallerCredentials?: boolean
|
|
94
|
+
DeltaSyncConfig?: {
|
|
95
|
+
BaseTableTTL: number
|
|
96
|
+
DeltaSyncTableName: string | { Ref: string }
|
|
97
|
+
DeltaSyncTableTTL: number
|
|
98
|
+
}
|
|
99
|
+
Versioned?: boolean
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// OpenSearch config (if Type = AMAZON_OPENSEARCH_SERVICE)
|
|
103
|
+
OpenSearchServiceConfig?: {
|
|
104
|
+
AwsRegion: string
|
|
105
|
+
Endpoint: string | { 'Fn::GetAtt': [string, string] }
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// HTTP config (if Type = HTTP)
|
|
109
|
+
HttpConfig?: {
|
|
110
|
+
Endpoint: string
|
|
111
|
+
AuthorizationConfig?: {
|
|
112
|
+
AuthorizationType: 'AWS_IAM'
|
|
113
|
+
AwsIamConfig?: {
|
|
114
|
+
SigningRegion?: string
|
|
115
|
+
SigningServiceName?: string
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// RDS config (if Type = RELATIONAL_DATABASE)
|
|
121
|
+
RelationalDatabaseConfig?: {
|
|
122
|
+
RelationalDatabaseSourceType: 'RDS_HTTP_ENDPOINT'
|
|
123
|
+
RdsHttpEndpointConfig?: {
|
|
124
|
+
AwsRegion: string
|
|
125
|
+
DbClusterIdentifier: string | { Ref: string }
|
|
126
|
+
DatabaseName?: string
|
|
127
|
+
Schema?: string
|
|
128
|
+
AwsSecretStoreArn: string | { Ref: string }
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
Description?: string
|
|
133
|
+
}
|
|
134
|
+
DependsOn?: string | string[]
|
|
135
|
+
}
|
|
136
|
+
export declare interface Resolver {
|
|
137
|
+
Type: 'AWS::AppSync::Resolver'
|
|
138
|
+
Properties: {
|
|
139
|
+
ApiId: string | { Ref: string }
|
|
140
|
+
TypeName: string // e.g., 'Query', 'Mutation', 'Subscription'
|
|
141
|
+
FieldName: string
|
|
142
|
+
DataSourceName?: string | { Ref: string }
|
|
143
|
+
|
|
144
|
+
// Request/Response mapping templates (VTL)
|
|
145
|
+
RequestMappingTemplate?: string
|
|
146
|
+
ResponseMappingTemplate?: string
|
|
147
|
+
|
|
148
|
+
// Or use S3 location
|
|
149
|
+
RequestMappingTemplateS3Location?: string
|
|
150
|
+
ResponseMappingTemplateS3Location?: string
|
|
151
|
+
|
|
152
|
+
// Pipeline resolvers
|
|
153
|
+
Kind?: 'UNIT' | 'PIPELINE'
|
|
154
|
+
PipelineConfig?: {
|
|
155
|
+
Functions?: Array<string | { Ref: string }>
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Caching
|
|
159
|
+
CachingConfig?: {
|
|
160
|
+
CachingKeys?: string[]
|
|
161
|
+
Ttl?: number
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Sync config (for subscriptions)
|
|
165
|
+
SyncConfig?: {
|
|
166
|
+
ConflictDetection: 'VERSION' | 'NONE'
|
|
167
|
+
ConflictHandler?: 'OPTIMISTIC_CONCURRENCY' | 'LAMBDA' | 'AUTOMERGE'
|
|
168
|
+
LambdaConflictHandlerConfig?: {
|
|
169
|
+
LambdaConflictHandlerArn: string | { Ref: string }
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Code (for JavaScript resolvers)
|
|
174
|
+
Code?: string
|
|
175
|
+
CodeS3Location?: string
|
|
176
|
+
Runtime?: {
|
|
177
|
+
Name: 'APPSYNC_JS'
|
|
178
|
+
RuntimeVersion: string
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
DependsOn?: string | string[]
|
|
182
|
+
}
|
|
183
|
+
export declare interface FunctionConfiguration {
|
|
184
|
+
Type: 'AWS::AppSync::FunctionConfiguration'
|
|
185
|
+
Properties: {
|
|
186
|
+
ApiId: string | { Ref: string }
|
|
187
|
+
Name: string
|
|
188
|
+
DataSourceName: string | { Ref: string }
|
|
189
|
+
FunctionVersion?: string
|
|
190
|
+
|
|
191
|
+
// Request/Response mapping templates
|
|
192
|
+
RequestMappingTemplate?: string
|
|
193
|
+
ResponseMappingTemplate?: string
|
|
194
|
+
RequestMappingTemplateS3Location?: string
|
|
195
|
+
ResponseMappingTemplateS3Location?: string
|
|
196
|
+
|
|
197
|
+
// Code (for JavaScript functions)
|
|
198
|
+
Code?: string
|
|
199
|
+
CodeS3Location?: string
|
|
200
|
+
Runtime?: {
|
|
201
|
+
Name: 'APPSYNC_JS'
|
|
202
|
+
RuntimeVersion: string
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
Description?: string
|
|
206
|
+
}
|
|
207
|
+
DependsOn?: string | string[]
|
|
208
|
+
}
|
|
209
|
+
export declare interface ApiKey {
|
|
210
|
+
Type: 'AWS::AppSync::ApiKey'
|
|
211
|
+
Properties: {
|
|
212
|
+
ApiId: string | { Ref: string }
|
|
213
|
+
Description?: string
|
|
214
|
+
Expires?: number // Unix timestamp
|
|
215
|
+
}
|
|
216
|
+
DependsOn?: string | string[]
|
|
217
|
+
}
|
|
218
|
+
export declare interface DomainName {
|
|
219
|
+
Type: 'AWS::AppSync::DomainName'
|
|
220
|
+
Properties: {
|
|
221
|
+
DomainName: string
|
|
222
|
+
CertificateArn: string | { Ref: string }
|
|
223
|
+
Description?: string
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export declare interface DomainNameApiAssociation {
|
|
227
|
+
Type: 'AWS::AppSync::DomainNameApiAssociation'
|
|
228
|
+
Properties: {
|
|
229
|
+
DomainName: string | { Ref: string }
|
|
230
|
+
ApiId: string | { Ref: string }
|
|
231
|
+
}
|
|
232
|
+
DependsOn?: string | string[]
|
|
233
|
+
}
|
package/dist/athena.d.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { Tag } from './common';
|
|
2
|
+
export declare interface WorkGroup {
|
|
3
|
+
Type: 'AWS::Athena::WorkGroup'
|
|
4
|
+
Properties: {
|
|
5
|
+
Name: string
|
|
6
|
+
Description?: string
|
|
7
|
+
State?: 'ENABLED' | 'DISABLED'
|
|
8
|
+
|
|
9
|
+
WorkGroupConfiguration?: {
|
|
10
|
+
// Query result location
|
|
11
|
+
ResultConfiguration?: {
|
|
12
|
+
OutputLocation?: string
|
|
13
|
+
EncryptionConfiguration?: {
|
|
14
|
+
EncryptionOption: 'SSE_S3' | 'SSE_KMS' | 'CSE_KMS'
|
|
15
|
+
KmsKey?: string | { Ref: string }
|
|
16
|
+
}
|
|
17
|
+
ExpectedBucketOwner?: string
|
|
18
|
+
AclConfiguration?: {
|
|
19
|
+
S3AclOption: 'BUCKET_OWNER_FULL_CONTROL'
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Performance settings
|
|
24
|
+
EnforceWorkGroupConfiguration?: boolean
|
|
25
|
+
PublishCloudWatchMetricsEnabled?: boolean
|
|
26
|
+
BytesScannedCutoffPerQuery?: number
|
|
27
|
+
RequesterPaysEnabled?: boolean
|
|
28
|
+
|
|
29
|
+
// Engine version
|
|
30
|
+
EngineVersion?: {
|
|
31
|
+
SelectedEngineVersion?: string
|
|
32
|
+
EffectiveEngineVersion?: string
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Execution role (for federated queries)
|
|
36
|
+
ExecutionRole?: string | { Ref: string }
|
|
37
|
+
|
|
38
|
+
// Additional configurations
|
|
39
|
+
AdditionalConfiguration?: string
|
|
40
|
+
CustomerContentEncryptionConfiguration?: {
|
|
41
|
+
KmsKey: string | { Ref: string }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
Tags?: Tag[]
|
|
46
|
+
}
|
|
47
|
+
DeletionPolicy?: 'Delete' | 'Retain'
|
|
48
|
+
UpdateReplacePolicy?: 'Delete' | 'Retain'
|
|
49
|
+
}
|
|
50
|
+
export declare interface DataCatalog {
|
|
51
|
+
Type: 'AWS::Athena::DataCatalog'
|
|
52
|
+
Properties: {
|
|
53
|
+
Name: string
|
|
54
|
+
Type: 'LAMBDA' | 'GLUE' | 'HIVE'
|
|
55
|
+
Description?: string
|
|
56
|
+
Parameters?: Record<string, string>
|
|
57
|
+
Tags?: Tag[]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export declare interface NamedQuery {
|
|
61
|
+
Type: 'AWS::Athena::NamedQuery'
|
|
62
|
+
Properties: {
|
|
63
|
+
Name?: string
|
|
64
|
+
Database: string
|
|
65
|
+
QueryString: string
|
|
66
|
+
Description?: string
|
|
67
|
+
WorkGroup?: string
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export declare interface PreparedStatement {
|
|
71
|
+
Type: 'AWS::Athena::PreparedStatement'
|
|
72
|
+
Properties: {
|
|
73
|
+
StatementName: string
|
|
74
|
+
WorkGroup: string
|
|
75
|
+
QueryStatement: string
|
|
76
|
+
Description?: string
|
|
77
|
+
}
|
|
78
|
+
DependsOn?: string | string[]
|
|
79
|
+
}
|
|
80
|
+
export declare interface CapacityReservation {
|
|
81
|
+
Type: 'AWS::Athena::CapacityReservation'
|
|
82
|
+
Properties: {
|
|
83
|
+
Name: string
|
|
84
|
+
TargetDpus: number
|
|
85
|
+
CapacityAssignmentConfiguration?: {
|
|
86
|
+
CapacityAssignments?: Array<{
|
|
87
|
+
WorkGroupNames?: string[]
|
|
88
|
+
}>
|
|
89
|
+
}
|
|
90
|
+
Tags?: Tag[]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { Tag } from './common';
|
|
2
|
+
/**
|
|
3
|
+
* AWS::AutoScaling::AutoScalingGroup
|
|
4
|
+
*/
|
|
5
|
+
export declare interface AutoScalingGroup {
|
|
6
|
+
Type: 'AWS::AutoScaling::AutoScalingGroup'
|
|
7
|
+
Properties: {
|
|
8
|
+
AutoScalingGroupName?: string
|
|
9
|
+
MinSize: string | number
|
|
10
|
+
MaxSize: string | number
|
|
11
|
+
DesiredCapacity?: string | number
|
|
12
|
+
DefaultInstanceWarmup?: number
|
|
13
|
+
HealthCheckType?: 'EC2' | 'ELB'
|
|
14
|
+
HealthCheckGracePeriod?: number
|
|
15
|
+
LaunchTemplate?: {
|
|
16
|
+
LaunchTemplateId?: string | { Ref: string }
|
|
17
|
+
LaunchTemplateName?: string
|
|
18
|
+
Version: string | { 'Fn::GetAtt': [string, string] }
|
|
19
|
+
}
|
|
20
|
+
LaunchConfigurationName?: string | { Ref: string }
|
|
21
|
+
AvailabilityZones?: string[] | { 'Fn::GetAZs': string }
|
|
22
|
+
VPCZoneIdentifier?: string[] | { Ref: string }
|
|
23
|
+
TargetGroupARNs?: Array<string | { Ref: string }>
|
|
24
|
+
LoadBalancerNames?: Array<string | { Ref: string }>
|
|
25
|
+
TerminationPolicies?: Array<'OldestInstance' | 'NewestInstance' | 'OldestLaunchConfiguration' | 'ClosestToNextInstanceHour' | 'Default' | 'OldestLaunchTemplate' | 'AllocationStrategy'>
|
|
26
|
+
NewInstancesProtectedFromScaleIn?: boolean
|
|
27
|
+
Tags?: Array<Tag & { PropagateAtLaunch: boolean }>
|
|
28
|
+
MetricsCollection?: Array<{
|
|
29
|
+
Granularity: string
|
|
30
|
+
Metrics?: string[]
|
|
31
|
+
}>
|
|
32
|
+
Cooldown?: string | number
|
|
33
|
+
CapacityRebalance?: boolean
|
|
34
|
+
}
|
|
35
|
+
DependsOn?: string | string[]
|
|
36
|
+
CreationPolicy?: {
|
|
37
|
+
ResourceSignal?: {
|
|
38
|
+
Count?: number
|
|
39
|
+
Timeout?: string
|
|
40
|
+
}
|
|
41
|
+
AutoScalingCreationPolicy?: {
|
|
42
|
+
MinSuccessfulInstancesPercent?: number
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
UpdatePolicy?: {
|
|
46
|
+
AutoScalingReplacingUpdate?: {
|
|
47
|
+
WillReplace?: boolean
|
|
48
|
+
}
|
|
49
|
+
AutoScalingRollingUpdate?: {
|
|
50
|
+
MaxBatchSize?: number
|
|
51
|
+
MinInstancesInService?: number
|
|
52
|
+
MinSuccessfulInstancesPercent?: number
|
|
53
|
+
PauseTime?: string
|
|
54
|
+
SuspendProcesses?: string[]
|
|
55
|
+
WaitOnResourceSignals?: boolean
|
|
56
|
+
}
|
|
57
|
+
AutoScalingScheduledAction?: {
|
|
58
|
+
IgnoreUnmodifiedGroupSizeProperties?: boolean
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* AWS::AutoScaling::LaunchConfiguration
|
|
64
|
+
*/
|
|
65
|
+
export declare interface AutoScalingLaunchConfiguration {
|
|
66
|
+
Type: 'AWS::AutoScaling::LaunchConfiguration'
|
|
67
|
+
Properties: {
|
|
68
|
+
LaunchConfigurationName?: string
|
|
69
|
+
ImageId: string
|
|
70
|
+
InstanceType: string
|
|
71
|
+
KeyName?: string
|
|
72
|
+
SecurityGroups?: Array<string | { Ref: string }>
|
|
73
|
+
UserData?: string | { 'Fn::Base64': any }
|
|
74
|
+
IamInstanceProfile?: string | { Ref: string } | { 'Fn::GetAtt': [string, string] }
|
|
75
|
+
BlockDeviceMappings?: Array<{
|
|
76
|
+
DeviceName: string
|
|
77
|
+
Ebs?: {
|
|
78
|
+
DeleteOnTermination?: boolean
|
|
79
|
+
Encrypted?: boolean
|
|
80
|
+
Iops?: number
|
|
81
|
+
SnapshotId?: string
|
|
82
|
+
Throughput?: number
|
|
83
|
+
VolumeSize?: number
|
|
84
|
+
VolumeType?: 'gp2' | 'gp3' | 'io1' | 'io2' | 'sc1' | 'st1' | 'standard'
|
|
85
|
+
}
|
|
86
|
+
NoDevice?: boolean
|
|
87
|
+
VirtualName?: string
|
|
88
|
+
}>
|
|
89
|
+
AssociatePublicIpAddress?: boolean
|
|
90
|
+
EbsOptimized?: boolean
|
|
91
|
+
InstanceMonitoring?: boolean
|
|
92
|
+
PlacementTenancy?: 'default' | 'dedicated'
|
|
93
|
+
SpotPrice?: string
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* AWS::AutoScaling::ScalingPolicy
|
|
98
|
+
*/
|
|
99
|
+
export declare interface AutoScalingScalingPolicy {
|
|
100
|
+
Type: 'AWS::AutoScaling::ScalingPolicy'
|
|
101
|
+
Properties: {
|
|
102
|
+
PolicyName?: string
|
|
103
|
+
PolicyType?: 'TargetTrackingScaling' | 'StepScaling' | 'SimpleScaling'
|
|
104
|
+
AutoScalingGroupName: string | { Ref: string }
|
|
105
|
+
AdjustmentType?: 'ChangeInCapacity' | 'ExactCapacity' | 'PercentChangeInCapacity'
|
|
106
|
+
ScalingAdjustment?: number
|
|
107
|
+
Cooldown?: string | number
|
|
108
|
+
MinAdjustmentMagnitude?: number
|
|
109
|
+
MetricAggregationType?: 'Minimum' | 'Maximum' | 'Average'
|
|
110
|
+
EstimatedInstanceWarmup?: number
|
|
111
|
+
TargetTrackingConfiguration?: {
|
|
112
|
+
PredefinedMetricSpecification?: {
|
|
113
|
+
PredefinedMetricType: 'ASGAverageCPUUtilization' | 'ASGAverageNetworkIn' | 'ASGAverageNetworkOut' | 'ALBRequestCountPerTarget'
|
|
114
|
+
ResourceLabel?: string
|
|
115
|
+
}
|
|
116
|
+
CustomizedMetricSpecification?: {
|
|
117
|
+
MetricName: string
|
|
118
|
+
Namespace: string
|
|
119
|
+
Statistic: 'Average' | 'Minimum' | 'Maximum' | 'SampleCount' | 'Sum'
|
|
120
|
+
Unit?: string
|
|
121
|
+
Dimensions?: Array<{
|
|
122
|
+
Name: string
|
|
123
|
+
Value: string
|
|
124
|
+
}>
|
|
125
|
+
}
|
|
126
|
+
TargetValue: number
|
|
127
|
+
DisableScaleIn?: boolean
|
|
128
|
+
}
|
|
129
|
+
StepAdjustments?: Array<{
|
|
130
|
+
MetricIntervalLowerBound?: number
|
|
131
|
+
MetricIntervalUpperBound?: number
|
|
132
|
+
ScalingAdjustment: number
|
|
133
|
+
}>
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* AWS::AutoScaling::ScheduledAction
|
|
138
|
+
*/
|
|
139
|
+
export declare interface AutoScalingScheduledAction {
|
|
140
|
+
Type: 'AWS::AutoScaling::ScheduledAction'
|
|
141
|
+
Properties: {
|
|
142
|
+
AutoScalingGroupName: string | { Ref: string }
|
|
143
|
+
DesiredCapacity?: number
|
|
144
|
+
MinSize?: number
|
|
145
|
+
MaxSize?: number
|
|
146
|
+
Recurrence?: string
|
|
147
|
+
StartTime?: string
|
|
148
|
+
EndTime?: string
|
|
149
|
+
TimeZone?: string
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* AWS::AutoScaling::LifecycleHook
|
|
154
|
+
*/
|
|
155
|
+
export declare interface AutoScalingLifecycleHook {
|
|
156
|
+
Type: 'AWS::AutoScaling::LifecycleHook'
|
|
157
|
+
Properties: {
|
|
158
|
+
LifecycleHookName?: string
|
|
159
|
+
AutoScalingGroupName: string | { Ref: string }
|
|
160
|
+
LifecycleTransition: 'autoscaling:EC2_INSTANCE_LAUNCHING' | 'autoscaling:EC2_INSTANCE_TERMINATING'
|
|
161
|
+
DefaultResult?: 'CONTINUE' | 'ABANDON'
|
|
162
|
+
HeartbeatTimeout?: number
|
|
163
|
+
NotificationTargetARN?: string | { Ref: string } | { 'Fn::GetAtt': [string, string] }
|
|
164
|
+
RoleARN?: string | { 'Fn::GetAtt': [string, string] }
|
|
165
|
+
NotificationMetadata?: string
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* AWS::AutoScaling::WarmPool
|
|
170
|
+
*/
|
|
171
|
+
export declare interface AutoScalingWarmPool {
|
|
172
|
+
Type: 'AWS::AutoScaling::WarmPool'
|
|
173
|
+
Properties: {
|
|
174
|
+
AutoScalingGroupName: string | { Ref: string }
|
|
175
|
+
MaxGroupPreparedCapacity?: number
|
|
176
|
+
MinSize?: number
|
|
177
|
+
PoolState?: 'Hibernated' | 'Running' | 'Stopped'
|
|
178
|
+
InstanceReusePolicy?: {
|
|
179
|
+
ReuseOnScaleIn?: boolean
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
export type AutoScalingResource = | AutoScalingGroup
|
|
184
|
+
| AutoScalingLaunchConfiguration
|
|
185
|
+
| AutoScalingScalingPolicy
|
|
186
|
+
| AutoScalingScheduledAction
|
|
187
|
+
| AutoScalingLifecycleHook
|
|
188
|
+
| AutoScalingWarmPool
|