@stacksjs/ts-cloud-aws-types 0.1.1
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/LICENSE.md +21 -0
- package/README.md +321 -0
- package/package.json +27 -0
- package/src/acm.ts +20 -0
- package/src/alb.ts +73 -0
- package/src/apigateway.ts +85 -0
- package/src/appsync.ts +246 -0
- package/src/athena.ts +102 -0
- package/src/autoscaling.ts +201 -0
- package/src/backup.ts +187 -0
- package/src/cloudwatch.ts +98 -0
- package/src/codedeploy.ts +132 -0
- package/src/cognito.ts +216 -0
- package/src/common.ts +20 -0
- package/src/connect.ts +243 -0
- package/src/dynamodb.ts +64 -0
- package/src/ec2.ts +171 -0
- package/src/ecr.ts +129 -0
- package/src/ecs.ts +129 -0
- package/src/efs.ts +57 -0
- package/src/elasticache.ts +92 -0
- package/src/eventbridge.ts +140 -0
- package/src/globalaccelerator.ts +57 -0
- package/src/glue.ts +241 -0
- package/src/iam.ts +142 -0
- package/src/index.ts +328 -0
- package/src/kinesis.ts +261 -0
- package/src/kms.ts +35 -0
- package/src/lambda.ts +42 -0
- package/src/opensearch.ts +147 -0
- package/src/pinpoint.ts +438 -0
- package/src/rds-proxy.ts +67 -0
- package/src/rds.ts +61 -0
- package/src/route53.ts +32 -0
- package/src/secrets-manager.ts +110 -0
- package/src/ses.ts +66 -0
- package/src/sns.ts +45 -0
- package/src/sqs.ts +54 -0
- package/src/ssm.ts +268 -0
- package/src/waf.ts +81 -0
- package/tsconfig.json +12 -0
package/src/ses.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index'
|
|
2
|
+
|
|
3
|
+
export interface SESEmailIdentity extends CloudFormationResource {
|
|
4
|
+
Type: 'AWS::SES::EmailIdentity'
|
|
5
|
+
Properties: {
|
|
6
|
+
EmailIdentity: string
|
|
7
|
+
DkimSigningAttributes?: {
|
|
8
|
+
NextSigningKeyLength?: 'RSA_1024_BIT' | 'RSA_2048_BIT'
|
|
9
|
+
}
|
|
10
|
+
FeedbackAttributes?: {
|
|
11
|
+
EmailForwardingEnabled?: boolean
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SESConfigurationSet extends CloudFormationResource {
|
|
17
|
+
Type: 'AWS::SES::ConfigurationSet'
|
|
18
|
+
Properties: {
|
|
19
|
+
Name?: string
|
|
20
|
+
ReputationOptions?: {
|
|
21
|
+
ReputationMetricsEnabled?: boolean
|
|
22
|
+
}
|
|
23
|
+
SendingOptions?: {
|
|
24
|
+
SendingEnabled?: boolean
|
|
25
|
+
}
|
|
26
|
+
SuppressionOptions?: {
|
|
27
|
+
SuppressedReasons?: ('BOUNCE' | 'COMPLAINT')[]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface SESReceiptRuleSet extends CloudFormationResource {
|
|
33
|
+
Type: 'AWS::SES::ReceiptRuleSet'
|
|
34
|
+
Properties?: {
|
|
35
|
+
RuleSetName?: string
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface SESReceiptRule extends CloudFormationResource {
|
|
40
|
+
Type: 'AWS::SES::ReceiptRule'
|
|
41
|
+
Properties: {
|
|
42
|
+
RuleSetName: string | { Ref: string }
|
|
43
|
+
Rule: {
|
|
44
|
+
Name?: string
|
|
45
|
+
Enabled?: boolean
|
|
46
|
+
Recipients?: string[]
|
|
47
|
+
ScanEnabled?: boolean
|
|
48
|
+
TlsPolicy?: 'Optional' | 'Require'
|
|
49
|
+
Actions?: Array<{
|
|
50
|
+
S3Action?: {
|
|
51
|
+
BucketName: string
|
|
52
|
+
ObjectKeyPrefix?: string
|
|
53
|
+
KmsKeyArn?: string
|
|
54
|
+
}
|
|
55
|
+
LambdaAction?: {
|
|
56
|
+
FunctionArn: string
|
|
57
|
+
InvocationType?: 'Event' | 'RequestResponse'
|
|
58
|
+
}
|
|
59
|
+
SNSAction?: {
|
|
60
|
+
TopicArn: string
|
|
61
|
+
Encoding?: 'UTF-8' | 'Base64'
|
|
62
|
+
}
|
|
63
|
+
}>
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
package/src/sns.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index'
|
|
2
|
+
|
|
3
|
+
export interface SNSTopic extends CloudFormationResource {
|
|
4
|
+
Type: 'AWS::SNS::Topic'
|
|
5
|
+
Properties?: {
|
|
6
|
+
TopicName?: string
|
|
7
|
+
DisplayName?: string
|
|
8
|
+
Subscription?: Array<{
|
|
9
|
+
Endpoint: string
|
|
10
|
+
Protocol: 'http' | 'https' | 'email' | 'email-json' | 'sms' | 'sqs' | 'application' | 'lambda' | 'firehose'
|
|
11
|
+
}>
|
|
12
|
+
KmsMasterKeyId?: string
|
|
13
|
+
Tags?: Array<{
|
|
14
|
+
Key: string
|
|
15
|
+
Value: string
|
|
16
|
+
}>
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface SNSSubscription extends CloudFormationResource {
|
|
21
|
+
Type: 'AWS::SNS::Subscription'
|
|
22
|
+
Properties: {
|
|
23
|
+
TopicArn: string | { Ref: string }
|
|
24
|
+
Protocol: 'http' | 'https' | 'email' | 'email-json' | 'sms' | 'sqs' | 'application' | 'lambda' | 'firehose'
|
|
25
|
+
Endpoint: string
|
|
26
|
+
FilterPolicy?: unknown
|
|
27
|
+
RawMessageDelivery?: boolean
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface SNSTopicPolicy extends CloudFormationResource {
|
|
32
|
+
Type: 'AWS::SNS::TopicPolicy'
|
|
33
|
+
Properties: {
|
|
34
|
+
Topics: (string | { Ref: string })[]
|
|
35
|
+
PolicyDocument: {
|
|
36
|
+
Version: '2012-10-17'
|
|
37
|
+
Statement: Array<{
|
|
38
|
+
Effect: 'Allow' | 'Deny'
|
|
39
|
+
Principal: unknown
|
|
40
|
+
Action: string | string[]
|
|
41
|
+
Resource: string | string[]
|
|
42
|
+
}>
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
package/src/sqs.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AWS SQS (Simple Queue Service) Types
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export interface SQSQueue extends CloudFormationResource {
|
|
8
|
+
Type: 'AWS::SQS::Queue'
|
|
9
|
+
Properties?: {
|
|
10
|
+
QueueName?: string
|
|
11
|
+
DelaySeconds?: number
|
|
12
|
+
MaximumMessageSize?: number
|
|
13
|
+
MessageRetentionPeriod?: number
|
|
14
|
+
ReceiveMessageWaitTimeSeconds?: number
|
|
15
|
+
VisibilityTimeout?: number
|
|
16
|
+
KmsMasterKeyId?: string
|
|
17
|
+
KmsDataKeyReusePeriodSeconds?: number
|
|
18
|
+
SqsManagedSseEnabled?: boolean
|
|
19
|
+
FifoQueue?: boolean
|
|
20
|
+
ContentBasedDeduplication?: boolean
|
|
21
|
+
DeduplicationScope?: 'messageGroup' | 'queue'
|
|
22
|
+
FifoThroughputLimit?: 'perQueue' | 'perMessageGroupId'
|
|
23
|
+
RedrivePolicy?: {
|
|
24
|
+
deadLetterTargetArn: string
|
|
25
|
+
maxReceiveCount: number
|
|
26
|
+
}
|
|
27
|
+
RedriveAllowPolicy?: {
|
|
28
|
+
redrivePermission: 'allowAll' | 'denyAll' | 'byQueue'
|
|
29
|
+
sourceQueueArns?: string[]
|
|
30
|
+
}
|
|
31
|
+
Tags?: Array<{
|
|
32
|
+
Key: string
|
|
33
|
+
Value: string
|
|
34
|
+
}>
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface SQSQueuePolicy extends CloudFormationResource {
|
|
39
|
+
Type: 'AWS::SQS::QueuePolicy'
|
|
40
|
+
Properties: {
|
|
41
|
+
Queues: Array<string | { Ref: string }>
|
|
42
|
+
PolicyDocument: {
|
|
43
|
+
Version: '2012-10-17'
|
|
44
|
+
Statement: Array<{
|
|
45
|
+
Sid?: string
|
|
46
|
+
Effect: 'Allow' | 'Deny'
|
|
47
|
+
Principal: unknown
|
|
48
|
+
Action: string | string[]
|
|
49
|
+
Resource: string | string[]
|
|
50
|
+
Condition?: unknown
|
|
51
|
+
}>
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
package/src/ssm.ts
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Systems Manager (SSM) Types
|
|
3
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSM.html
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { Tag } from './common'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* AWS::SSM::Parameter
|
|
10
|
+
*/
|
|
11
|
+
export interface SSMParameter {
|
|
12
|
+
Type: 'AWS::SSM::Parameter'
|
|
13
|
+
Properties: {
|
|
14
|
+
Name?: string
|
|
15
|
+
Type: 'String' | 'StringList' | 'SecureString'
|
|
16
|
+
Value: string
|
|
17
|
+
Description?: string
|
|
18
|
+
AllowedPattern?: string
|
|
19
|
+
DataType?: 'text' | 'aws:ec2:image'
|
|
20
|
+
Tier?: 'Standard' | 'Advanced' | 'Intelligent-Tiering'
|
|
21
|
+
Policies?: string
|
|
22
|
+
Tags?: Record<string, string>
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* AWS::SSM::Association
|
|
28
|
+
*/
|
|
29
|
+
export interface SSMAssociation {
|
|
30
|
+
Type: 'AWS::SSM::Association'
|
|
31
|
+
Properties: {
|
|
32
|
+
Name: string
|
|
33
|
+
AssociationName?: string
|
|
34
|
+
DocumentVersion?: string
|
|
35
|
+
InstanceId?: string
|
|
36
|
+
Parameters?: Record<string, string[]>
|
|
37
|
+
ScheduleExpression?: string
|
|
38
|
+
Targets?: Array<{
|
|
39
|
+
Key: string
|
|
40
|
+
Values: string[]
|
|
41
|
+
}>
|
|
42
|
+
OutputLocation?: {
|
|
43
|
+
S3Location?: {
|
|
44
|
+
OutputS3BucketName?: string
|
|
45
|
+
OutputS3KeyPrefix?: string
|
|
46
|
+
OutputS3Region?: string
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
AutomationTargetParameterName?: string
|
|
50
|
+
MaxErrors?: string
|
|
51
|
+
MaxConcurrency?: string
|
|
52
|
+
ComplianceSeverity?: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'UNSPECIFIED'
|
|
53
|
+
SyncCompliance?: 'AUTO' | 'MANUAL'
|
|
54
|
+
WaitForSuccessTimeoutSeconds?: number
|
|
55
|
+
ApplyOnlyAtCronInterval?: boolean
|
|
56
|
+
CalendarNames?: string[]
|
|
57
|
+
ScheduleOffset?: number
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* AWS::SSM::Document
|
|
63
|
+
*/
|
|
64
|
+
export interface SSMDocument {
|
|
65
|
+
Type: 'AWS::SSM::Document'
|
|
66
|
+
Properties: {
|
|
67
|
+
Name?: string
|
|
68
|
+
Content: any
|
|
69
|
+
DocumentType?: 'Command' | 'Policy' | 'Automation' | 'Session' | 'Package' | 'ApplicationConfiguration' | 'ApplicationConfigurationSchema' | 'DeploymentStrategy' | 'ChangeCalendar' | 'Automation.ChangeTemplate' | 'ProblemAnalysis' | 'ProblemAnalysisTemplate' | 'CloudFormation' | 'ConformancePackTemplate' | 'QuickSetup'
|
|
70
|
+
DocumentFormat?: 'YAML' | 'JSON' | 'TEXT'
|
|
71
|
+
TargetType?: string
|
|
72
|
+
VersionName?: string
|
|
73
|
+
Requires?: Array<{
|
|
74
|
+
Name: string
|
|
75
|
+
Version?: string
|
|
76
|
+
}>
|
|
77
|
+
Attachments?: Array<{
|
|
78
|
+
Key?: 'SourceUrl' | 'S3FileUrl' | 'AttachmentReference'
|
|
79
|
+
Name?: string
|
|
80
|
+
Values?: string[]
|
|
81
|
+
}>
|
|
82
|
+
Tags?: Tag[]
|
|
83
|
+
UpdateMethod?: 'Replace' | 'NewVersion'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* AWS::SSM::MaintenanceWindow
|
|
89
|
+
*/
|
|
90
|
+
export interface SSMMaintenanceWindow {
|
|
91
|
+
Type: 'AWS::SSM::MaintenanceWindow'
|
|
92
|
+
Properties: {
|
|
93
|
+
Name: string
|
|
94
|
+
Description?: string
|
|
95
|
+
AllowUnassociatedTargets: boolean
|
|
96
|
+
Cutoff: number
|
|
97
|
+
Duration: number
|
|
98
|
+
Schedule: string
|
|
99
|
+
ScheduleTimezone?: string
|
|
100
|
+
ScheduleOffset?: number
|
|
101
|
+
StartDate?: string
|
|
102
|
+
EndDate?: string
|
|
103
|
+
Tags?: Tag[]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* AWS::SSM::MaintenanceWindowTarget
|
|
109
|
+
*/
|
|
110
|
+
export interface SSMMaintenanceWindowTarget {
|
|
111
|
+
Type: 'AWS::SSM::MaintenanceWindowTarget'
|
|
112
|
+
Properties: {
|
|
113
|
+
WindowId: string | { Ref: string }
|
|
114
|
+
ResourceType: 'INSTANCE' | 'RESOURCE_GROUP'
|
|
115
|
+
Targets: Array<{
|
|
116
|
+
Key: string
|
|
117
|
+
Values: string[]
|
|
118
|
+
}>
|
|
119
|
+
OwnerInformation?: string
|
|
120
|
+
Name?: string
|
|
121
|
+
Description?: string
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* AWS::SSM::MaintenanceWindowTask
|
|
127
|
+
*/
|
|
128
|
+
export interface SSMMaintenanceWindowTask {
|
|
129
|
+
Type: 'AWS::SSM::MaintenanceWindowTask'
|
|
130
|
+
Properties: {
|
|
131
|
+
WindowId: string | { Ref: string }
|
|
132
|
+
TaskType: 'RUN_COMMAND' | 'AUTOMATION' | 'LAMBDA' | 'STEP_FUNCTIONS'
|
|
133
|
+
TaskArn: string
|
|
134
|
+
ServiceRoleArn?: string
|
|
135
|
+
Targets?: Array<{
|
|
136
|
+
Key: string
|
|
137
|
+
Values: string[]
|
|
138
|
+
}>
|
|
139
|
+
MaxConcurrency?: string
|
|
140
|
+
MaxErrors?: string
|
|
141
|
+
Priority?: number
|
|
142
|
+
LoggingInfo?: {
|
|
143
|
+
S3Bucket: string
|
|
144
|
+
S3Prefix?: string
|
|
145
|
+
S3Region: string
|
|
146
|
+
}
|
|
147
|
+
Name?: string
|
|
148
|
+
Description?: string
|
|
149
|
+
TaskInvocationParameters?: {
|
|
150
|
+
RunCommand?: {
|
|
151
|
+
Comment?: string
|
|
152
|
+
DocumentHash?: string
|
|
153
|
+
DocumentHashType?: 'Sha256' | 'Sha1'
|
|
154
|
+
NotificationConfig?: {
|
|
155
|
+
NotificationArn?: string
|
|
156
|
+
NotificationEvents?: string[]
|
|
157
|
+
NotificationType?: 'Command' | 'Invocation'
|
|
158
|
+
}
|
|
159
|
+
OutputS3BucketName?: string
|
|
160
|
+
OutputS3KeyPrefix?: string
|
|
161
|
+
Parameters?: Record<string, string[]>
|
|
162
|
+
ServiceRoleArn?: string
|
|
163
|
+
TimeoutSeconds?: number
|
|
164
|
+
}
|
|
165
|
+
Automation?: {
|
|
166
|
+
DocumentVersion?: string
|
|
167
|
+
Parameters?: Record<string, string[]>
|
|
168
|
+
}
|
|
169
|
+
Lambda?: {
|
|
170
|
+
ClientContext?: string
|
|
171
|
+
Payload?: string
|
|
172
|
+
Qualifier?: string
|
|
173
|
+
}
|
|
174
|
+
StepFunctions?: {
|
|
175
|
+
Input?: string
|
|
176
|
+
Name?: string
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* AWS::SSM::PatchBaseline
|
|
184
|
+
*/
|
|
185
|
+
export interface SSMPatchBaseline {
|
|
186
|
+
Type: 'AWS::SSM::PatchBaseline'
|
|
187
|
+
Properties: {
|
|
188
|
+
Name: string
|
|
189
|
+
Description?: string
|
|
190
|
+
OperatingSystem?: 'WINDOWS' | 'AMAZON_LINUX' | 'AMAZON_LINUX_2' | 'UBUNTU' | 'REDHAT_ENTERPRISE_LINUX' | 'SUSE' | 'CENTOS' | 'ORACLE_LINUX' | 'DEBIAN' | 'MACOS'
|
|
191
|
+
ApprovedPatches?: string[]
|
|
192
|
+
ApprovedPatchesComplianceLevel?: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'INFORMATIONAL' | 'UNSPECIFIED'
|
|
193
|
+
ApprovedPatchesEnableNonSecurity?: boolean
|
|
194
|
+
RejectedPatches?: string[]
|
|
195
|
+
RejectedPatchesAction?: 'ALLOW_AS_DEPENDENCY' | 'BLOCK'
|
|
196
|
+
ApprovalRules?: {
|
|
197
|
+
PatchRules: Array<{
|
|
198
|
+
PatchFilterGroup: {
|
|
199
|
+
PatchFilters: Array<{
|
|
200
|
+
Key: string
|
|
201
|
+
Values: string[]
|
|
202
|
+
}>
|
|
203
|
+
}
|
|
204
|
+
ComplianceLevel?: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'INFORMATIONAL' | 'UNSPECIFIED'
|
|
205
|
+
ApproveAfterDays?: number
|
|
206
|
+
ApproveUntilDate?: string
|
|
207
|
+
EnableNonSecurity?: boolean
|
|
208
|
+
}>
|
|
209
|
+
}
|
|
210
|
+
GlobalFilters?: {
|
|
211
|
+
PatchFilters: Array<{
|
|
212
|
+
Key: string
|
|
213
|
+
Values: string[]
|
|
214
|
+
}>
|
|
215
|
+
}
|
|
216
|
+
Sources?: Array<{
|
|
217
|
+
Name: string
|
|
218
|
+
Products: string[]
|
|
219
|
+
Configuration: string
|
|
220
|
+
}>
|
|
221
|
+
Tags?: Tag[]
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* AWS::SSM::ResourceDataSync
|
|
227
|
+
*/
|
|
228
|
+
export interface SSMResourceDataSync {
|
|
229
|
+
Type: 'AWS::SSM::ResourceDataSync'
|
|
230
|
+
Properties: {
|
|
231
|
+
SyncName: string
|
|
232
|
+
SyncType?: string
|
|
233
|
+
BucketName?: string
|
|
234
|
+
BucketPrefix?: string
|
|
235
|
+
BucketRegion?: string
|
|
236
|
+
KMSKeyArn?: string
|
|
237
|
+
SyncFormat?: string
|
|
238
|
+
S3Destination?: {
|
|
239
|
+
BucketName: string
|
|
240
|
+
BucketPrefix?: string
|
|
241
|
+
BucketRegion: string
|
|
242
|
+
KMSKeyArn?: string
|
|
243
|
+
SyncFormat: string
|
|
244
|
+
DestinationDataSharing?: {
|
|
245
|
+
DestinationDataSharingType: string
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
SyncSource?: {
|
|
249
|
+
SourceType: string
|
|
250
|
+
SourceRegions: string[]
|
|
251
|
+
IncludeFutureRegions?: boolean
|
|
252
|
+
AwsOrganizationsSource?: {
|
|
253
|
+
OrganizationSourceType: string
|
|
254
|
+
OrganizationalUnits?: string[]
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
export type SSMResource =
|
|
261
|
+
| SSMParameter
|
|
262
|
+
| SSMAssociation
|
|
263
|
+
| SSMDocument
|
|
264
|
+
| SSMMaintenanceWindow
|
|
265
|
+
| SSMMaintenanceWindowTarget
|
|
266
|
+
| SSMMaintenanceWindowTask
|
|
267
|
+
| SSMPatchBaseline
|
|
268
|
+
| SSMResourceDataSync
|
package/src/waf.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index'
|
|
2
|
+
|
|
3
|
+
export interface WAFv2WebACL extends CloudFormationResource {
|
|
4
|
+
Type: 'AWS::WAFv2::WebACL'
|
|
5
|
+
Properties: {
|
|
6
|
+
Name: string
|
|
7
|
+
Scope: 'CLOUDFRONT' | 'REGIONAL'
|
|
8
|
+
DefaultAction: {
|
|
9
|
+
Allow?: Record<string, unknown>
|
|
10
|
+
Block?: Record<string, unknown>
|
|
11
|
+
}
|
|
12
|
+
Description?: string
|
|
13
|
+
Rules?: Array<{
|
|
14
|
+
Name: string
|
|
15
|
+
Priority: number
|
|
16
|
+
Statement: {
|
|
17
|
+
ByteMatchStatement?: {
|
|
18
|
+
SearchString: string
|
|
19
|
+
FieldToMatch: unknown
|
|
20
|
+
TextTransformations: Array<{
|
|
21
|
+
Priority: number
|
|
22
|
+
Type: string
|
|
23
|
+
}>
|
|
24
|
+
PositionalConstraint: 'EXACTLY' | 'STARTS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'CONTAINS_WORD'
|
|
25
|
+
}
|
|
26
|
+
GeoMatchStatement?: {
|
|
27
|
+
CountryCodes: string[]
|
|
28
|
+
}
|
|
29
|
+
IPSetReferenceStatement?: {
|
|
30
|
+
Arn: string
|
|
31
|
+
}
|
|
32
|
+
RateBasedStatement?: {
|
|
33
|
+
Limit: number
|
|
34
|
+
AggregateKeyType: 'IP' | 'FORWARDED_IP'
|
|
35
|
+
ScopeDownStatement?: unknown
|
|
36
|
+
}
|
|
37
|
+
ManagedRuleGroupStatement?: {
|
|
38
|
+
VendorName: string
|
|
39
|
+
Name: string
|
|
40
|
+
ExcludedRules?: Array<{
|
|
41
|
+
Name: string
|
|
42
|
+
}>
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
Action?: {
|
|
46
|
+
Allow?: Record<string, unknown>
|
|
47
|
+
Block?: Record<string, unknown>
|
|
48
|
+
Count?: Record<string, unknown>
|
|
49
|
+
}
|
|
50
|
+
VisibilityConfig: {
|
|
51
|
+
SampledRequestsEnabled: boolean
|
|
52
|
+
CloudWatchMetricsEnabled: boolean
|
|
53
|
+
MetricName: string
|
|
54
|
+
}
|
|
55
|
+
}>
|
|
56
|
+
VisibilityConfig: {
|
|
57
|
+
SampledRequestsEnabled: boolean
|
|
58
|
+
CloudWatchMetricsEnabled: boolean
|
|
59
|
+
MetricName: string
|
|
60
|
+
}
|
|
61
|
+
Tags?: Array<{
|
|
62
|
+
Key: string
|
|
63
|
+
Value: string
|
|
64
|
+
}>
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface WAFv2IPSet extends CloudFormationResource {
|
|
69
|
+
Type: 'AWS::WAFv2::IPSet'
|
|
70
|
+
Properties: {
|
|
71
|
+
Name: string
|
|
72
|
+
Scope: 'CLOUDFRONT' | 'REGIONAL'
|
|
73
|
+
IPAddressVersion: 'IPV4' | 'IPV6'
|
|
74
|
+
Addresses: string[]
|
|
75
|
+
Description?: string
|
|
76
|
+
Tags?: Array<{
|
|
77
|
+
Key: string
|
|
78
|
+
Value: string
|
|
79
|
+
}>
|
|
80
|
+
}
|
|
81
|
+
}
|
package/tsconfig.json
ADDED