Skip to content

Commit e0aaa6a

Browse files
chore: wip
1 parent 339e501 commit e0aaa6a

112 files changed

Lines changed: 3488 additions & 1218 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bun.lock

Lines changed: 10 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@
6262
},
6363
"devDependencies": {
6464
"better-dx": "^0.2.3",
65-
"pickier": "^0.4.0"
65+
"pickier": "^0.1.10",
66+
"typescript": "^5.9.3"
6667
},
6768
"workspaces": [
6869
"packages/*"

packages/aws-types/src/cloudwatch.ts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ export interface CloudWatchAlarm extends CloudFormationResource {
2121
Value: string
2222
}>
2323
TreatMissingData?: 'breaching' | 'notBreaching' | 'ignore' | 'missing'
24+
/** Unit of the metric (e.g., 'Seconds', 'Bytes', 'Count') */
25+
Unit?: string
26+
/** Number of datapoints that must be breaching to trigger the alarm */
27+
DatapointsToAlarm?: number
2428
}
2529
}
2630

@@ -44,3 +48,51 @@ export interface CloudWatchDashboard extends CloudFormationResource {
4448
DashboardBody: string
4549
}
4650
}
51+
52+
export interface CloudWatchLogStream extends CloudFormationResource {
53+
Type: 'AWS::Logs::LogStream'
54+
Properties: {
55+
LogGroupName: string | { Ref: string }
56+
LogStreamName?: string
57+
}
58+
}
59+
60+
export interface CloudWatchMetricFilter extends CloudFormationResource {
61+
Type: 'AWS::Logs::MetricFilter'
62+
Properties: {
63+
LogGroupName: string | { Ref: string }
64+
FilterPattern: string
65+
MetricTransformations: Array<{
66+
MetricName: string
67+
MetricNamespace: string
68+
MetricValue: string
69+
DefaultValue?: number
70+
Unit?: string
71+
Dimensions?: Array<{
72+
Key: string
73+
Value: string
74+
}>
75+
}>
76+
FilterName?: string
77+
}
78+
}
79+
80+
export interface CloudWatchCompositeAlarm extends CloudFormationResource {
81+
Type: 'AWS::CloudWatch::CompositeAlarm'
82+
Properties: {
83+
AlarmName: string
84+
AlarmRule: string
85+
AlarmDescription?: string
86+
ActionsEnabled?: boolean
87+
AlarmActions?: string[]
88+
InsufficientDataActions?: string[]
89+
OKActions?: string[]
90+
ActionsSuppressor?: string
91+
ActionsSuppressorExtensionPeriod?: number
92+
ActionsSuppressorWaitPeriod?: number
93+
Tags?: Array<{
94+
Key: string
95+
Value: string
96+
}>
97+
}
98+
}
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
/**
2+
* AWS CodeDeploy Types
3+
* CloudFormation resource types for AWS CodeDeploy
4+
*/
5+
6+
import type { CloudFormationResource } from './index'
7+
8+
export interface CodeDeployApplication extends CloudFormationResource {
9+
Type: 'AWS::CodeDeploy::Application'
10+
Properties?: {
11+
ApplicationName?: string
12+
ComputePlatform?: 'Server' | 'Lambda' | 'ECS'
13+
Tags?: Array<{
14+
Key: string
15+
Value: string
16+
}>
17+
}
18+
}
19+
20+
export interface CodeDeployDeploymentGroup extends CloudFormationResource {
21+
Type: 'AWS::CodeDeploy::DeploymentGroup'
22+
Properties: {
23+
ApplicationName: string | { Ref: string }
24+
DeploymentGroupName?: string
25+
ServiceRoleArn: string | { Ref: string } | { 'Fn::GetAtt': [string, string] }
26+
AutoScalingGroups?: string[]
27+
Ec2TagFilters?: Array<{
28+
Key?: string
29+
Value?: string
30+
Type?: 'KEY_ONLY' | 'VALUE_ONLY' | 'KEY_AND_VALUE'
31+
}>
32+
Ec2TagSet?: {
33+
Ec2TagSetList?: Array<{
34+
Ec2TagGroup?: Array<{
35+
Key?: string
36+
Value?: string
37+
Type?: 'KEY_ONLY' | 'VALUE_ONLY' | 'KEY_AND_VALUE'
38+
}>
39+
}>
40+
}
41+
OnPremisesInstanceTagFilters?: Array<{
42+
Key?: string
43+
Value?: string
44+
Type?: 'KEY_ONLY' | 'VALUE_ONLY' | 'KEY_AND_VALUE'
45+
}>
46+
DeploymentConfigName?: string | { Ref: string }
47+
DeploymentStyle?: {
48+
DeploymentType?: 'IN_PLACE' | 'BLUE_GREEN'
49+
DeploymentOption?: 'WITH_TRAFFIC_CONTROL' | 'WITHOUT_TRAFFIC_CONTROL'
50+
}
51+
AutoRollbackConfiguration?: {
52+
Enabled?: boolean
53+
Events?: ('DEPLOYMENT_FAILURE' | 'DEPLOYMENT_STOP_ON_ALARM' | 'DEPLOYMENT_STOP_ON_REQUEST')[]
54+
}
55+
AlarmConfiguration?: {
56+
Enabled?: boolean
57+
Alarms?: Array<{
58+
Name?: string
59+
}>
60+
IgnorePollAlarmFailure?: boolean
61+
}
62+
LoadBalancerInfo?: {
63+
TargetGroupInfoList?: Array<{
64+
Name?: string
65+
}>
66+
ElbInfoList?: Array<{
67+
Name?: string
68+
}>
69+
TargetGroupPairInfoList?: Array<{
70+
TargetGroups?: Array<{
71+
Name?: string
72+
}>
73+
ProdTrafficRoute?: {
74+
ListenerArns?: string[]
75+
}
76+
TestTrafficRoute?: {
77+
ListenerArns?: string[]
78+
}
79+
}>
80+
}
81+
BlueGreenDeploymentConfiguration?: {
82+
TerminateBlueInstancesOnDeploymentSuccess?: {
83+
Action?: 'TERMINATE' | 'KEEP_ALIVE'
84+
TerminationWaitTimeInMinutes?: number
85+
}
86+
DeploymentReadyOption?: {
87+
ActionOnTimeout?: 'CONTINUE_DEPLOYMENT' | 'STOP_DEPLOYMENT'
88+
WaitTimeInMinutes?: number
89+
}
90+
GreenFleetProvisioningOption?: {
91+
Action?: 'DISCOVER_EXISTING' | 'COPY_AUTO_SCALING_GROUP'
92+
}
93+
}
94+
TriggerConfigurations?: Array<{
95+
TriggerName?: string
96+
TriggerTargetArn?: string
97+
TriggerEvents?: string[]
98+
}>
99+
ECSServices?: Array<{
100+
ClusterName: string
101+
ServiceName: string
102+
}>
103+
OutdatedInstancesStrategy?: 'UPDATE' | 'IGNORE'
104+
Tags?: Array<{
105+
Key: string
106+
Value: string
107+
}>
108+
}
109+
}
110+
111+
export interface CodeDeployDeploymentConfig extends CloudFormationResource {
112+
Type: 'AWS::CodeDeploy::DeploymentConfig'
113+
Properties?: {
114+
DeploymentConfigName?: string
115+
ComputePlatform?: 'Server' | 'Lambda' | 'ECS'
116+
MinimumHealthyHosts?: {
117+
Type: 'HOST_COUNT' | 'FLEET_PERCENT'
118+
Value: number
119+
}
120+
TrafficRoutingConfig?: {
121+
Type: 'TimeBasedCanary' | 'TimeBasedLinear' | 'AllAtOnce'
122+
TimeBasedCanary?: {
123+
CanaryPercentage: number
124+
CanaryInterval: number
125+
}
126+
TimeBasedLinear?: {
127+
LinearPercentage: number
128+
LinearInterval: number
129+
}
130+
}
131+
}
132+
}

0 commit comments

Comments
 (0)