Skip to content

Commit d758c53

Browse files
committed
chore: wip
1 parent 48d1b7c commit d758c53

8 files changed

Lines changed: 1969 additions & 0 deletions

File tree

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
import type { CloudFormationResource } from './index'
2+
3+
/**
4+
* AWS EventBridge Types
5+
*/
6+
7+
export interface EventBridgeRule extends CloudFormationResource {
8+
Type: 'AWS::Events::Rule'
9+
Properties: {
10+
Name?: string
11+
Description?: string
12+
State?: 'ENABLED' | 'DISABLED' | 'ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS'
13+
ScheduleExpression?: string
14+
EventPattern?: {
15+
source?: string[]
16+
'detail-type'?: string[]
17+
detail?: Record<string, unknown>
18+
account?: string[]
19+
region?: string[]
20+
resources?: string[]
21+
}
22+
EventBusName?: string
23+
RoleArn?: string
24+
Targets?: Array<{
25+
Id: string
26+
Arn: string
27+
RoleArn?: string
28+
Input?: string
29+
InputPath?: string
30+
InputTransformer?: {
31+
InputPathsMap?: Record<string, string>
32+
InputTemplate: string
33+
}
34+
KinesisParameters?: {
35+
PartitionKeyPath: string
36+
}
37+
EcsParameters?: {
38+
TaskDefinitionArn: string
39+
TaskCount?: number
40+
LaunchType?: 'EC2' | 'FARGATE' | 'EXTERNAL'
41+
NetworkConfiguration?: {
42+
awsvpcConfiguration: {
43+
Subnets: string[]
44+
SecurityGroups?: string[]
45+
AssignPublicIp?: 'ENABLED' | 'DISABLED'
46+
}
47+
}
48+
PlatformVersion?: string
49+
Group?: string
50+
CapacityProviderStrategy?: Array<{
51+
capacityProvider: string
52+
weight?: number
53+
base?: number
54+
}>
55+
EnableECSManagedTags?: boolean
56+
EnableExecuteCommand?: boolean
57+
PlacementConstraints?: Array<{
58+
type?: string
59+
expression?: string
60+
}>
61+
PlacementStrategy?: Array<{
62+
type?: string
63+
field?: string
64+
}>
65+
PropagateTags?: 'TASK_DEFINITION'
66+
ReferenceId?: string
67+
Tags?: Array<{
68+
Key: string
69+
Value: string
70+
}>
71+
}
72+
SqsParameters?: {
73+
MessageGroupId: string
74+
}
75+
HttpParameters?: {
76+
PathParameterValues?: string[]
77+
HeaderParameters?: Record<string, string>
78+
QueryStringParameters?: Record<string, string>
79+
}
80+
RedshiftDataParameters?: {
81+
Database: string
82+
Sql: string
83+
DbUser?: string
84+
SecretManagerArn?: string
85+
StatementName?: string
86+
WithEvent?: boolean
87+
}
88+
SageMakerPipelineParameters?: {
89+
PipelineParameterList?: Array<{
90+
Name: string
91+
Value: string
92+
}>
93+
}
94+
DeadLetterConfig?: {
95+
Arn: string
96+
}
97+
RetryPolicy?: {
98+
MaximumRetryAttempts?: number
99+
MaximumEventAge?: number
100+
}
101+
}>
102+
}
103+
}
104+
105+
export interface EventBridgeEventBus extends CloudFormationResource {
106+
Type: 'AWS::Events::EventBus'
107+
Properties: {
108+
Name: string
109+
EventSourceName?: string
110+
Tags?: Array<{
111+
Key: string
112+
Value: string
113+
}>
114+
}
115+
}
116+
117+
export interface EventBridgeArchive extends CloudFormationResource {
118+
Type: 'AWS::Events::Archive'
119+
Properties: {
120+
ArchiveName?: string
121+
Description?: string
122+
EventPattern?: {
123+
source?: string[]
124+
'detail-type'?: string[]
125+
detail?: Record<string, unknown>
126+
}
127+
RetentionDays?: number
128+
SourceArn: string
129+
}
130+
}

packages/aws-types/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ export * from './dynamodb'
206206
export * from './apigateway'
207207
export * from './sns'
208208
export * from './ses'
209+
export * from './sqs'
210+
export * from './eventbridge'
209211
export * from './cloudwatch'
210212
export * from './kms'
211213
export * from './acm'

packages/aws-types/src/sqs.ts

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
}

0 commit comments

Comments
 (0)