@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
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import type { ResourceBase, Tags } from './common';
|
|
2
|
+
/**
|
|
3
|
+
* Amazon Connect Instance
|
|
4
|
+
*/
|
|
5
|
+
export declare interface ConnectInstance extends ResourceBase {
|
|
6
|
+
Type: 'AWS::Connect::Instance'
|
|
7
|
+
Properties: {
|
|
8
|
+
InstanceAlias: string
|
|
9
|
+
IdentityManagementType: 'SAML' | 'CONNECT_MANAGED' | 'EXISTING_DIRECTORY'
|
|
10
|
+
Attributes: {
|
|
11
|
+
InboundCalls: boolean
|
|
12
|
+
OutboundCalls: boolean
|
|
13
|
+
ContactflowLogs?: boolean
|
|
14
|
+
ContactLens?: boolean
|
|
15
|
+
AutoResolveBestVoices?: boolean
|
|
16
|
+
UseCustomTTSVoices?: boolean
|
|
17
|
+
EarlyMedia?: boolean
|
|
18
|
+
}
|
|
19
|
+
DirectoryId?: string
|
|
20
|
+
Tags?: Tags
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Amazon Connect Hours of Operation
|
|
25
|
+
*/
|
|
26
|
+
export declare interface ConnectHoursOfOperation extends ResourceBase {
|
|
27
|
+
Type: 'AWS::Connect::HoursOfOperation'
|
|
28
|
+
Properties: {
|
|
29
|
+
InstanceArn: string
|
|
30
|
+
Name: string
|
|
31
|
+
TimeZone: string
|
|
32
|
+
Config: Array<{
|
|
33
|
+
Day: 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY'
|
|
34
|
+
StartTime: { Hours: number; Minutes: number }
|
|
35
|
+
EndTime: { Hours: number; Minutes: number }
|
|
36
|
+
}>
|
|
37
|
+
Description?: string
|
|
38
|
+
Tags?: Tags
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Amazon Connect Queue
|
|
43
|
+
*/
|
|
44
|
+
export declare interface ConnectQueue extends ResourceBase {
|
|
45
|
+
Type: 'AWS::Connect::Queue'
|
|
46
|
+
Properties: {
|
|
47
|
+
InstanceArn: string
|
|
48
|
+
Name: string
|
|
49
|
+
HoursOfOperationArn: string
|
|
50
|
+
Description?: string
|
|
51
|
+
MaxContacts?: number
|
|
52
|
+
OutboundCallerConfig?: {
|
|
53
|
+
OutboundCallerIdName?: string
|
|
54
|
+
OutboundCallerIdNumberId?: string
|
|
55
|
+
OutboundFlowId?: string
|
|
56
|
+
}
|
|
57
|
+
QuickConnectArns?: string[]
|
|
58
|
+
Status?: 'ENABLED' | 'DISABLED'
|
|
59
|
+
Tags?: Tags
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Amazon Connect Contact Flow
|
|
64
|
+
*/
|
|
65
|
+
export declare interface ConnectContactFlow extends ResourceBase {
|
|
66
|
+
Type: 'AWS::Connect::ContactFlow'
|
|
67
|
+
Properties: {
|
|
68
|
+
InstanceArn: string
|
|
69
|
+
Name: string
|
|
70
|
+
Type: 'CONTACT_FLOW' | 'CUSTOMER_QUEUE' | 'CUSTOMER_HOLD' | 'CUSTOMER_WHISPER' | 'AGENT_HOLD' | 'AGENT_WHISPER' | 'OUTBOUND_WHISPER' | 'AGENT_TRANSFER' | 'QUEUE_TRANSFER'
|
|
71
|
+
Content: string
|
|
72
|
+
Description?: string
|
|
73
|
+
State?: 'ACTIVE' | 'ARCHIVED'
|
|
74
|
+
Tags?: Tags
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Amazon Connect Contact Flow Module
|
|
79
|
+
*/
|
|
80
|
+
export declare interface ConnectContactFlowModule extends ResourceBase {
|
|
81
|
+
Type: 'AWS::Connect::ContactFlowModule'
|
|
82
|
+
Properties: {
|
|
83
|
+
InstanceArn: string
|
|
84
|
+
Name: string
|
|
85
|
+
Content: string
|
|
86
|
+
Description?: string
|
|
87
|
+
State?: 'ACTIVE' | 'ARCHIVED'
|
|
88
|
+
Tags?: Tags
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Amazon Connect Phone Number
|
|
93
|
+
*/
|
|
94
|
+
export declare interface ConnectPhoneNumber extends ResourceBase {
|
|
95
|
+
Type: 'AWS::Connect::PhoneNumber'
|
|
96
|
+
Properties: {
|
|
97
|
+
TargetArn: string
|
|
98
|
+
Type: 'TOLL_FREE' | 'DID' | 'UIFN' | 'SHARED' | 'THIRD_PARTY_TF' | 'THIRD_PARTY_DID'
|
|
99
|
+
CountryCode: string
|
|
100
|
+
Description?: string
|
|
101
|
+
Prefix?: string
|
|
102
|
+
Tags?: Tags
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Amazon Connect Routing Profile
|
|
107
|
+
*/
|
|
108
|
+
export declare interface ConnectRoutingProfile extends ResourceBase {
|
|
109
|
+
Type: 'AWS::Connect::RoutingProfile'
|
|
110
|
+
Properties: {
|
|
111
|
+
InstanceArn: string
|
|
112
|
+
Name: string
|
|
113
|
+
DefaultOutboundQueueArn: string
|
|
114
|
+
MediaConcurrencies: Array<{
|
|
115
|
+
Channel: 'VOICE' | 'CHAT' | 'TASK'
|
|
116
|
+
Concurrency: number
|
|
117
|
+
CrossChannelBehavior?: {
|
|
118
|
+
BehaviorType: 'ROUTE_CURRENT_CHANNEL_ONLY' | 'ROUTE_ANY_CHANNEL'
|
|
119
|
+
}
|
|
120
|
+
}>
|
|
121
|
+
Description?: string
|
|
122
|
+
QueueConfigs?: Array<{
|
|
123
|
+
QueueReference: {
|
|
124
|
+
QueueArn: string
|
|
125
|
+
Channel: 'VOICE' | 'CHAT' | 'TASK'
|
|
126
|
+
}
|
|
127
|
+
Priority: number
|
|
128
|
+
Delay: number
|
|
129
|
+
}>
|
|
130
|
+
Tags?: Tags
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Amazon Connect User
|
|
135
|
+
*/
|
|
136
|
+
export declare interface ConnectUser extends ResourceBase {
|
|
137
|
+
Type: 'AWS::Connect::User'
|
|
138
|
+
Properties: {
|
|
139
|
+
InstanceArn: string
|
|
140
|
+
Username: string
|
|
141
|
+
PhoneConfig: {
|
|
142
|
+
PhoneType: 'SOFT_PHONE' | 'DESK_PHONE'
|
|
143
|
+
AutoAccept?: boolean
|
|
144
|
+
AfterContactWorkTimeLimit?: number
|
|
145
|
+
DeskPhoneNumber?: string
|
|
146
|
+
}
|
|
147
|
+
RoutingProfileArn: string
|
|
148
|
+
SecurityProfileArns: string[]
|
|
149
|
+
DirectoryUserId?: string
|
|
150
|
+
HierarchyGroupArn?: string
|
|
151
|
+
IdentityInfo?: {
|
|
152
|
+
Email?: string
|
|
153
|
+
FirstName?: string
|
|
154
|
+
LastName?: string
|
|
155
|
+
Mobile?: string
|
|
156
|
+
SecondaryEmail?: string
|
|
157
|
+
}
|
|
158
|
+
Password?: string
|
|
159
|
+
Tags?: Tags
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Amazon Connect Quick Connect
|
|
164
|
+
*/
|
|
165
|
+
export declare interface ConnectQuickConnect extends ResourceBase {
|
|
166
|
+
Type: 'AWS::Connect::QuickConnect'
|
|
167
|
+
Properties: {
|
|
168
|
+
InstanceArn: string
|
|
169
|
+
Name: string
|
|
170
|
+
QuickConnectConfig: {
|
|
171
|
+
QuickConnectType: 'USER' | 'QUEUE' | 'PHONE_NUMBER'
|
|
172
|
+
UserConfig?: {
|
|
173
|
+
ContactFlowArn: string
|
|
174
|
+
UserArn: string
|
|
175
|
+
}
|
|
176
|
+
QueueConfig?: {
|
|
177
|
+
ContactFlowArn: string
|
|
178
|
+
QueueArn: string
|
|
179
|
+
}
|
|
180
|
+
PhoneConfig?: {
|
|
181
|
+
PhoneNumber: string
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
Description?: string
|
|
185
|
+
Tags?: Tags
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Amazon Connect Integration Association
|
|
190
|
+
*/
|
|
191
|
+
export declare interface ConnectIntegrationAssociation extends ResourceBase {
|
|
192
|
+
Type: 'AWS::Connect::IntegrationAssociation'
|
|
193
|
+
Properties: {
|
|
194
|
+
InstanceId: string
|
|
195
|
+
IntegrationArn: string
|
|
196
|
+
IntegrationType: 'LEX_BOT' | 'LAMBDA_FUNCTION' | 'APPLICATION'
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Amazon Connect Task Template
|
|
201
|
+
*/
|
|
202
|
+
export declare interface ConnectTaskTemplate extends ResourceBase {
|
|
203
|
+
Type: 'AWS::Connect::TaskTemplate'
|
|
204
|
+
Properties: {
|
|
205
|
+
InstanceArn: string
|
|
206
|
+
Name: string
|
|
207
|
+
Fields?: Array<{
|
|
208
|
+
Id: { Name: string }
|
|
209
|
+
Type: 'NAME' | 'DESCRIPTION' | 'SCHEDULED_TIME' | 'QUICK_CONNECT' | 'URL' | 'NUMBER' | 'TEXT' | 'TEXT_AREA' | 'DATE_TIME' | 'BOOLEAN' | 'SINGLE_SELECT' | 'EMAIL'
|
|
210
|
+
Description?: string
|
|
211
|
+
SingleSelectOptions?: string[]
|
|
212
|
+
}>
|
|
213
|
+
Constraints?: {
|
|
214
|
+
RequiredFields?: Array<{ Id: { Name: string } }>
|
|
215
|
+
ReadOnlyFields?: Array<{ Id: { Name: string } }>
|
|
216
|
+
InvisibleFields?: Array<{ Id: { Name: string } }>
|
|
217
|
+
}
|
|
218
|
+
Defaults?: Array<{
|
|
219
|
+
Id: { Name: string }
|
|
220
|
+
DefaultValue: string
|
|
221
|
+
}>
|
|
222
|
+
Description?: string
|
|
223
|
+
ContactFlowArn?: string
|
|
224
|
+
Status?: 'ACTIVE' | 'INACTIVE'
|
|
225
|
+
ClientToken?: string
|
|
226
|
+
Tags?: Tags
|
|
227
|
+
}
|
|
228
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface DynamoDBKeySchemaElement {
|
|
3
|
+
AttributeName: string
|
|
4
|
+
KeyType: 'HASH' | 'RANGE'
|
|
5
|
+
}
|
|
6
|
+
export declare interface DynamoDBProjection {
|
|
7
|
+
ProjectionType: 'ALL' | 'KEYS_ONLY' | 'INCLUDE'
|
|
8
|
+
NonKeyAttributes?: string[]
|
|
9
|
+
}
|
|
10
|
+
export declare interface DynamoDBProvisionedThroughput {
|
|
11
|
+
ReadCapacityUnits: number
|
|
12
|
+
WriteCapacityUnits: number
|
|
13
|
+
}
|
|
14
|
+
export declare interface DynamoDBGlobalSecondaryIndex {
|
|
15
|
+
IndexName: string
|
|
16
|
+
KeySchema: DynamoDBKeySchemaElement[]
|
|
17
|
+
Projection: DynamoDBProjection
|
|
18
|
+
ProvisionedThroughput?: DynamoDBProvisionedThroughput
|
|
19
|
+
}
|
|
20
|
+
export declare interface DynamoDBLocalSecondaryIndex {
|
|
21
|
+
IndexName: string
|
|
22
|
+
KeySchema: DynamoDBKeySchemaElement[]
|
|
23
|
+
Projection: DynamoDBProjection
|
|
24
|
+
}
|
|
25
|
+
export declare interface DynamoDBTable extends CloudFormationResource {
|
|
26
|
+
Type: 'AWS::DynamoDB::Table'
|
|
27
|
+
Properties: {
|
|
28
|
+
TableName?: string
|
|
29
|
+
BillingMode?: 'PROVISIONED' | 'PAY_PER_REQUEST'
|
|
30
|
+
AttributeDefinitions: Array<{
|
|
31
|
+
AttributeName: string
|
|
32
|
+
AttributeType: 'S' | 'N' | 'B'
|
|
33
|
+
}>
|
|
34
|
+
KeySchema: DynamoDBKeySchemaElement[]
|
|
35
|
+
ProvisionedThroughput?: DynamoDBProvisionedThroughput
|
|
36
|
+
GlobalSecondaryIndexes?: DynamoDBGlobalSecondaryIndex[]
|
|
37
|
+
LocalSecondaryIndexes?: DynamoDBLocalSecondaryIndex[]
|
|
38
|
+
StreamSpecification?: {
|
|
39
|
+
StreamViewType: 'NEW_IMAGE' | 'OLD_IMAGE' | 'NEW_AND_OLD_IMAGES' | 'KEYS_ONLY'
|
|
40
|
+
}
|
|
41
|
+
SSESpecification?: {
|
|
42
|
+
SSEEnabled: boolean
|
|
43
|
+
SSEType?: 'AES256' | 'KMS'
|
|
44
|
+
KMSMasterKeyId?: string
|
|
45
|
+
}
|
|
46
|
+
PointInTimeRecoverySpecification?: {
|
|
47
|
+
PointInTimeRecoveryEnabled: boolean
|
|
48
|
+
}
|
|
49
|
+
TimeToLiveSpecification?: {
|
|
50
|
+
AttributeName: string
|
|
51
|
+
Enabled: boolean
|
|
52
|
+
}
|
|
53
|
+
Tags?: Array<{
|
|
54
|
+
Key: string
|
|
55
|
+
Value: string
|
|
56
|
+
}>
|
|
57
|
+
}
|
|
58
|
+
}
|
package/dist/ec2.d.ts
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface EC2Instance extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::EC2::Instance'
|
|
4
|
+
Properties: {
|
|
5
|
+
ImageId: string
|
|
6
|
+
InstanceType: string
|
|
7
|
+
KeyName?: string
|
|
8
|
+
SecurityGroupIds?: string[]
|
|
9
|
+
SubnetId?: string
|
|
10
|
+
IamInstanceProfile?: string
|
|
11
|
+
UserData?: string
|
|
12
|
+
Tags?: Array<{
|
|
13
|
+
Key: string
|
|
14
|
+
Value: string
|
|
15
|
+
}>
|
|
16
|
+
BlockDeviceMappings?: Array<{
|
|
17
|
+
DeviceName: string
|
|
18
|
+
Ebs?: {
|
|
19
|
+
VolumeSize?: number
|
|
20
|
+
VolumeType?: 'gp2' | 'gp3' | 'io1' | 'io2' | 'sc1' | 'st1'
|
|
21
|
+
Encrypted?: boolean
|
|
22
|
+
DeleteOnTermination?: boolean
|
|
23
|
+
}
|
|
24
|
+
}>
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export declare interface EC2SecurityGroup extends CloudFormationResource {
|
|
28
|
+
Type: 'AWS::EC2::SecurityGroup'
|
|
29
|
+
Properties: {
|
|
30
|
+
GroupName?: string
|
|
31
|
+
GroupDescription: string
|
|
32
|
+
VpcId?: string
|
|
33
|
+
SecurityGroupIngress?: Array<{
|
|
34
|
+
IpProtocol: string
|
|
35
|
+
FromPort?: number
|
|
36
|
+
ToPort?: number
|
|
37
|
+
CidrIp?: string
|
|
38
|
+
SourceSecurityGroupId?: string
|
|
39
|
+
Description?: string
|
|
40
|
+
}>
|
|
41
|
+
SecurityGroupEgress?: Array<{
|
|
42
|
+
IpProtocol: string
|
|
43
|
+
FromPort?: number
|
|
44
|
+
ToPort?: number
|
|
45
|
+
CidrIp?: string
|
|
46
|
+
DestinationSecurityGroupId?: string
|
|
47
|
+
Description?: string
|
|
48
|
+
}>
|
|
49
|
+
Tags?: Array<{
|
|
50
|
+
Key: string
|
|
51
|
+
Value: string
|
|
52
|
+
}>
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export declare interface EC2VPC extends CloudFormationResource {
|
|
56
|
+
Type: 'AWS::EC2::VPC'
|
|
57
|
+
Properties: {
|
|
58
|
+
CidrBlock: string
|
|
59
|
+
EnableDnsHostnames?: boolean
|
|
60
|
+
EnableDnsSupport?: boolean
|
|
61
|
+
Tags?: Array<{
|
|
62
|
+
Key: string
|
|
63
|
+
Value: string
|
|
64
|
+
}>
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export declare interface EC2Subnet extends CloudFormationResource {
|
|
68
|
+
Type: 'AWS::EC2::Subnet'
|
|
69
|
+
Properties: {
|
|
70
|
+
VpcId: string | { Ref: string }
|
|
71
|
+
CidrBlock: string
|
|
72
|
+
AvailabilityZone?: string
|
|
73
|
+
MapPublicIpOnLaunch?: boolean
|
|
74
|
+
Tags?: Array<{
|
|
75
|
+
Key: string
|
|
76
|
+
Value: string
|
|
77
|
+
}>
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export declare interface EC2InternetGateway extends CloudFormationResource {
|
|
81
|
+
Type: 'AWS::EC2::InternetGateway'
|
|
82
|
+
Properties?: {
|
|
83
|
+
Tags?: Array<{
|
|
84
|
+
Key: string
|
|
85
|
+
Value: string
|
|
86
|
+
}>
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export declare interface EC2NatGateway extends CloudFormationResource {
|
|
90
|
+
Type: 'AWS::EC2::NatGateway'
|
|
91
|
+
Properties: {
|
|
92
|
+
AllocationId: string | { 'Fn::GetAtt': [string, string] }
|
|
93
|
+
SubnetId: string | { Ref: string }
|
|
94
|
+
Tags?: Array<{
|
|
95
|
+
Key: string
|
|
96
|
+
Value: string
|
|
97
|
+
}>
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export declare interface EC2RouteTable extends CloudFormationResource {
|
|
101
|
+
Type: 'AWS::EC2::RouteTable'
|
|
102
|
+
Properties: {
|
|
103
|
+
VpcId: string | { Ref: string }
|
|
104
|
+
Tags?: Array<{
|
|
105
|
+
Key: string
|
|
106
|
+
Value: string
|
|
107
|
+
}>
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export declare interface EC2Route extends CloudFormationResource {
|
|
111
|
+
Type: 'AWS::EC2::Route'
|
|
112
|
+
Properties: {
|
|
113
|
+
RouteTableId: string | { Ref: string }
|
|
114
|
+
DestinationCidrBlock: string
|
|
115
|
+
GatewayId?: string | { Ref: string }
|
|
116
|
+
NatGatewayId?: string | { Ref: string }
|
|
117
|
+
InstanceId?: string | { Ref: string }
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export declare interface EC2SubnetRouteTableAssociation extends CloudFormationResource {
|
|
121
|
+
Type: 'AWS::EC2::SubnetRouteTableAssociation'
|
|
122
|
+
Properties: {
|
|
123
|
+
SubnetId: string | { Ref: string }
|
|
124
|
+
RouteTableId: string | { Ref: string }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
export declare interface EC2VPCGatewayAttachment extends CloudFormationResource {
|
|
128
|
+
Type: 'AWS::EC2::VPCGatewayAttachment'
|
|
129
|
+
Properties: {
|
|
130
|
+
VpcId: string | { Ref: string }
|
|
131
|
+
InternetGatewayId: string | { Ref: string }
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export declare interface EC2EIP extends CloudFormationResource {
|
|
135
|
+
Type: 'AWS::EC2::EIP'
|
|
136
|
+
Properties: {
|
|
137
|
+
Domain?: 'vpc' | 'standard'
|
|
138
|
+
Tags?: Array<{
|
|
139
|
+
Key: string
|
|
140
|
+
Value: string
|
|
141
|
+
}>
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export declare interface EC2FlowLog extends CloudFormationResource {
|
|
145
|
+
Type: 'AWS::EC2::FlowLog'
|
|
146
|
+
Properties: {
|
|
147
|
+
ResourceType: 'VPC' | 'Subnet' | 'NetworkInterface'
|
|
148
|
+
ResourceIds: string[] | Array<{ Ref: string }>
|
|
149
|
+
TrafficType: 'ACCEPT' | 'REJECT' | 'ALL'
|
|
150
|
+
LogDestinationType?: 'cloud-watch-logs' | 's3'
|
|
151
|
+
LogDestination?: string
|
|
152
|
+
LogGroupName?: string
|
|
153
|
+
DeliverLogsPermissionArn?: string
|
|
154
|
+
Tags?: Array<{
|
|
155
|
+
Key: string
|
|
156
|
+
Value: string
|
|
157
|
+
}>
|
|
158
|
+
}
|
|
159
|
+
}
|
package/dist/ecr.d.ts
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
/**
|
|
3
|
+
* IAM Principal type for ECR policies
|
|
4
|
+
* Supports AWS accounts, services, or wildcard
|
|
5
|
+
*/
|
|
6
|
+
export declare interface ECRPrincipal {
|
|
7
|
+
AWS?: string | string[]
|
|
8
|
+
Service?: string | string[]
|
|
9
|
+
}
|
|
10
|
+
export declare interface ECRRepository extends CloudFormationResource {
|
|
11
|
+
Type: 'AWS::ECR::Repository'
|
|
12
|
+
Properties?: {
|
|
13
|
+
RepositoryName?: string
|
|
14
|
+
ImageTagMutability?: 'MUTABLE' | 'IMMUTABLE'
|
|
15
|
+
ImageScanningConfiguration?: {
|
|
16
|
+
ScanOnPush?: boolean
|
|
17
|
+
}
|
|
18
|
+
EncryptionConfiguration?: {
|
|
19
|
+
EncryptionType: 'AES256' | 'KMS'
|
|
20
|
+
KmsKey?: string
|
|
21
|
+
}
|
|
22
|
+
LifecyclePolicy?: {
|
|
23
|
+
LifecyclePolicyText?: string
|
|
24
|
+
RegistryId?: string
|
|
25
|
+
}
|
|
26
|
+
RepositoryPolicyText?: {
|
|
27
|
+
Version: string
|
|
28
|
+
Statement: Array<{
|
|
29
|
+
Sid?: string
|
|
30
|
+
Effect: 'Allow' | 'Deny'
|
|
31
|
+
Principal: '*' | ECRPrincipal
|
|
32
|
+
Action: string | string[]
|
|
33
|
+
Condition?: Record<string, any>
|
|
34
|
+
}>
|
|
35
|
+
}
|
|
36
|
+
Tags?: Array<{
|
|
37
|
+
Key: string
|
|
38
|
+
Value: string
|
|
39
|
+
}>
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export declare interface ECRLifecyclePolicy {
|
|
43
|
+
rules: Array<{
|
|
44
|
+
rulePriority: number
|
|
45
|
+
description?: string
|
|
46
|
+
selection: {
|
|
47
|
+
tagStatus: 'tagged' | 'untagged' | 'any'
|
|
48
|
+
tagPrefixList?: string[]
|
|
49
|
+
countType: 'imageCountMoreThan' | 'sinceImagePushed'
|
|
50
|
+
countNumber: number
|
|
51
|
+
countUnit?: 'days'
|
|
52
|
+
}
|
|
53
|
+
action: {
|
|
54
|
+
type: 'expire'
|
|
55
|
+
}
|
|
56
|
+
}>
|
|
57
|
+
}
|
|
58
|
+
export declare interface ECRReplicationConfiguration extends CloudFormationResource {
|
|
59
|
+
Type: 'AWS::ECR::ReplicationConfiguration'
|
|
60
|
+
Properties: {
|
|
61
|
+
ReplicationConfiguration: {
|
|
62
|
+
Rules: Array<{
|
|
63
|
+
Destinations: Array<{
|
|
64
|
+
Region: string
|
|
65
|
+
RegistryId: string
|
|
66
|
+
}>
|
|
67
|
+
RepositoryFilters?: Array<{
|
|
68
|
+
Filter: string
|
|
69
|
+
FilterType: 'PREFIX_MATCH'
|
|
70
|
+
}>
|
|
71
|
+
}>
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export declare interface ECRRegistryPolicy extends CloudFormationResource {
|
|
76
|
+
Type: 'AWS::ECR::RegistryPolicy'
|
|
77
|
+
Properties: {
|
|
78
|
+
PolicyText: {
|
|
79
|
+
Version: string
|
|
80
|
+
Statement: Array<{
|
|
81
|
+
Sid?: string
|
|
82
|
+
Effect: 'Allow' | 'Deny'
|
|
83
|
+
Principal: '*' | { AWS: string | string[] }
|
|
84
|
+
Action: string | string[]
|
|
85
|
+
Resource?: string | string[]
|
|
86
|
+
}>
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export declare interface ECRPullThroughCacheRule extends CloudFormationResource {
|
|
91
|
+
Type: 'AWS::ECR::PullThroughCacheRule'
|
|
92
|
+
Properties: {
|
|
93
|
+
EcrRepositoryPrefix?: string
|
|
94
|
+
UpstreamRegistryUrl?: string
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export declare interface ECRPublicRepository extends CloudFormationResource {
|
|
98
|
+
Type: 'AWS::ECR::PublicRepository'
|
|
99
|
+
Properties?: {
|
|
100
|
+
RepositoryName?: string
|
|
101
|
+
RepositoryCatalogData?: {
|
|
102
|
+
UsageText?: string
|
|
103
|
+
AboutText?: string
|
|
104
|
+
OperatingSystems?: string[]
|
|
105
|
+
Architectures?: string[]
|
|
106
|
+
RepositoryDescription?: string
|
|
107
|
+
}
|
|
108
|
+
RepositoryPolicyText?: {
|
|
109
|
+
Version: string
|
|
110
|
+
Statement: Array<{
|
|
111
|
+
Sid?: string
|
|
112
|
+
Effect: 'Allow' | 'Deny'
|
|
113
|
+
Principal: '*' | { AWS: string | string[] }
|
|
114
|
+
Action: string | string[]
|
|
115
|
+
}>
|
|
116
|
+
}
|
|
117
|
+
Tags?: Array<{
|
|
118
|
+
Key: string
|
|
119
|
+
Value: string
|
|
120
|
+
}>
|
|
121
|
+
}
|
|
122
|
+
}
|
package/dist/ecs.d.ts
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface ECSCluster extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::ECS::Cluster'
|
|
4
|
+
Properties?: {
|
|
5
|
+
ClusterName?: string
|
|
6
|
+
CapacityProviders?: string[]
|
|
7
|
+
DefaultCapacityProviderStrategy?: Array<{
|
|
8
|
+
CapacityProvider: string
|
|
9
|
+
Weight?: number
|
|
10
|
+
Base?: number
|
|
11
|
+
}>
|
|
12
|
+
Configuration?: {
|
|
13
|
+
ExecuteCommandConfiguration?: {
|
|
14
|
+
Logging?: string
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
Tags?: Array<{
|
|
18
|
+
Key: string
|
|
19
|
+
Value: string
|
|
20
|
+
}>
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export declare interface ECSTaskDefinition extends CloudFormationResource {
|
|
24
|
+
Type: 'AWS::ECS::TaskDefinition'
|
|
25
|
+
Properties: {
|
|
26
|
+
Family: string
|
|
27
|
+
TaskRoleArn?: string
|
|
28
|
+
ExecutionRoleArn?: string
|
|
29
|
+
NetworkMode?: 'bridge' | 'host' | 'awsvpc' | 'none'
|
|
30
|
+
RequiresCompatibilities?: ('EC2' | 'FARGATE')[]
|
|
31
|
+
Cpu?: string
|
|
32
|
+
Memory?: string
|
|
33
|
+
ContainerDefinitions: Array<{
|
|
34
|
+
Name: string
|
|
35
|
+
Image: string
|
|
36
|
+
Cpu?: number
|
|
37
|
+
Memory?: number
|
|
38
|
+
MemoryReservation?: number
|
|
39
|
+
Essential?: boolean
|
|
40
|
+
PortMappings?: Array<{
|
|
41
|
+
ContainerPort: number
|
|
42
|
+
HostPort?: number
|
|
43
|
+
Protocol?: 'tcp' | 'udp'
|
|
44
|
+
}>
|
|
45
|
+
Environment?: Array<{
|
|
46
|
+
Name: string
|
|
47
|
+
Value: string
|
|
48
|
+
}>
|
|
49
|
+
Secrets?: Array<{
|
|
50
|
+
Name: string
|
|
51
|
+
ValueFrom: string
|
|
52
|
+
}>
|
|
53
|
+
LogConfiguration?: {
|
|
54
|
+
LogDriver: 'awslogs' | 'fluentd' | 'gelf' | 'json-file' | 'journald' | 'logentries' | 'splunk' | 'syslog'
|
|
55
|
+
Options?: Record<string, string>
|
|
56
|
+
}
|
|
57
|
+
HealthCheck?: {
|
|
58
|
+
Command: string[]
|
|
59
|
+
Interval?: number
|
|
60
|
+
Timeout?: number
|
|
61
|
+
Retries?: number
|
|
62
|
+
StartPeriod?: number
|
|
63
|
+
}
|
|
64
|
+
MountPoints?: Array<{
|
|
65
|
+
SourceVolume: string
|
|
66
|
+
ContainerPath: string
|
|
67
|
+
ReadOnly?: boolean
|
|
68
|
+
}>
|
|
69
|
+
}>
|
|
70
|
+
Volumes?: Array<{
|
|
71
|
+
Name: string
|
|
72
|
+
Host?: {
|
|
73
|
+
SourcePath?: string
|
|
74
|
+
}
|
|
75
|
+
EFSVolumeConfiguration?: {
|
|
76
|
+
FileSystemId: string
|
|
77
|
+
RootDirectory?: string
|
|
78
|
+
TransitEncryption?: 'ENABLED' | 'DISABLED'
|
|
79
|
+
AuthorizationConfig?: {
|
|
80
|
+
AccessPointId?: string
|
|
81
|
+
IAM?: 'ENABLED' | 'DISABLED'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}>
|
|
85
|
+
Tags?: Array<{
|
|
86
|
+
Key: string
|
|
87
|
+
Value: string
|
|
88
|
+
}>
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export declare interface ECSService extends CloudFormationResource {
|
|
92
|
+
Type: 'AWS::ECS::Service'
|
|
93
|
+
Properties: {
|
|
94
|
+
ServiceName?: string
|
|
95
|
+
Cluster?: string | { Ref: string }
|
|
96
|
+
TaskDefinition: string | { Ref: string }
|
|
97
|
+
DesiredCount?: number
|
|
98
|
+
LaunchType?: 'EC2' | 'FARGATE' | 'EXTERNAL'
|
|
99
|
+
PlatformVersion?: string
|
|
100
|
+
NetworkConfiguration?: {
|
|
101
|
+
AwsvpcConfiguration: {
|
|
102
|
+
Subnets: string[]
|
|
103
|
+
SecurityGroups?: string[]
|
|
104
|
+
AssignPublicIp?: 'ENABLED' | 'DISABLED'
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
LoadBalancers?: Array<{
|
|
108
|
+
TargetGroupArn: string | { Ref: string }
|
|
109
|
+
ContainerName: string
|
|
110
|
+
ContainerPort: number
|
|
111
|
+
}>
|
|
112
|
+
HealthCheckGracePeriodSeconds?: number
|
|
113
|
+
DeploymentConfiguration?: {
|
|
114
|
+
MaximumPercent?: number
|
|
115
|
+
MinimumHealthyPercent?: number
|
|
116
|
+
DeploymentCircuitBreaker?: {
|
|
117
|
+
Enable: boolean
|
|
118
|
+
Rollback: boolean
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
Tags?: Array<{
|
|
122
|
+
Key: string
|
|
123
|
+
Value: string
|
|
124
|
+
}>
|
|
125
|
+
}
|
|
126
|
+
}
|