@stacksjs/ts-cloud-aws-types 0.1.5 → 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 +10 -2
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { Tag } from './common';
|
|
2
|
+
export declare interface OpenSearchDomain {
|
|
3
|
+
Type: 'AWS::OpenSearchService::Domain'
|
|
4
|
+
Properties: {
|
|
5
|
+
DomainName?: string
|
|
6
|
+
EngineVersion?: string // e.g., 'OpenSearch_2.11', 'Elasticsearch_7.10'
|
|
7
|
+
|
|
8
|
+
// Cluster configuration
|
|
9
|
+
ClusterConfig?: {
|
|
10
|
+
InstanceType?: string // e.g., 't3.small.search', 'm6g.large.search'
|
|
11
|
+
InstanceCount?: number
|
|
12
|
+
DedicatedMasterEnabled?: boolean
|
|
13
|
+
DedicatedMasterType?: string
|
|
14
|
+
DedicatedMasterCount?: number
|
|
15
|
+
ZoneAwarenessEnabled?: boolean
|
|
16
|
+
ZoneAwarenessConfig?: {
|
|
17
|
+
AvailabilityZoneCount?: number
|
|
18
|
+
}
|
|
19
|
+
WarmEnabled?: boolean
|
|
20
|
+
WarmType?: string
|
|
21
|
+
WarmCount?: number
|
|
22
|
+
ColdStorageOptions?: {
|
|
23
|
+
Enabled?: boolean
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Storage
|
|
28
|
+
EBSOptions?: {
|
|
29
|
+
EBSEnabled?: boolean
|
|
30
|
+
VolumeType?: 'gp2' | 'gp3' | 'io1' | 'standard'
|
|
31
|
+
VolumeSize?: number // in GiB
|
|
32
|
+
Iops?: number
|
|
33
|
+
Throughput?: number
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Access control
|
|
37
|
+
AccessPolicies?: Record<string, any> | string
|
|
38
|
+
|
|
39
|
+
// Encryption
|
|
40
|
+
EncryptionAtRestOptions?: {
|
|
41
|
+
Enabled?: boolean
|
|
42
|
+
KmsKeyId?: string | { Ref: string }
|
|
43
|
+
}
|
|
44
|
+
NodeToNodeEncryptionOptions?: {
|
|
45
|
+
Enabled?: boolean
|
|
46
|
+
}
|
|
47
|
+
DomainEndpointOptions?: {
|
|
48
|
+
EnforceHTTPS?: boolean
|
|
49
|
+
TLSSecurityPolicy?: 'Policy-Min-TLS-1-0-2019-07' | 'Policy-Min-TLS-1-2-2019-07'
|
|
50
|
+
CustomEndpointEnabled?: boolean
|
|
51
|
+
CustomEndpoint?: string
|
|
52
|
+
CustomEndpointCertificateArn?: string | { Ref: string }
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Advanced security
|
|
56
|
+
AdvancedSecurityOptions?: {
|
|
57
|
+
Enabled?: boolean
|
|
58
|
+
InternalUserDatabaseEnabled?: boolean
|
|
59
|
+
MasterUserOptions?: {
|
|
60
|
+
MasterUserARN?: string | { Ref: string }
|
|
61
|
+
MasterUserName?: string
|
|
62
|
+
MasterUserPassword?: string
|
|
63
|
+
}
|
|
64
|
+
SAMLOptions?: {
|
|
65
|
+
Enabled?: boolean
|
|
66
|
+
Idp?: {
|
|
67
|
+
EntityId: string
|
|
68
|
+
MetadataContent: string
|
|
69
|
+
}
|
|
70
|
+
MasterBackendRole?: string
|
|
71
|
+
MasterUserName?: string
|
|
72
|
+
RolesKey?: string
|
|
73
|
+
SessionTimeoutMinutes?: number
|
|
74
|
+
SubjectKey?: string
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// VPC configuration
|
|
79
|
+
VPCOptions?: {
|
|
80
|
+
SubnetIds?: Array<string | { Ref: string }>
|
|
81
|
+
SecurityGroupIds?: Array<string | { Ref: string }>
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Snapshot configuration
|
|
85
|
+
SnapshotOptions?: {
|
|
86
|
+
AutomatedSnapshotStartHour?: number
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Advanced options
|
|
90
|
+
AdvancedOptions?: Record<string, string>
|
|
91
|
+
|
|
92
|
+
// Logging
|
|
93
|
+
LogPublishingOptions?: {
|
|
94
|
+
[key: string]: {
|
|
95
|
+
CloudWatchLogsLogGroupArn: string | { Ref: string }
|
|
96
|
+
Enabled?: boolean
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Auto-Tune
|
|
101
|
+
AutoTuneOptions?: {
|
|
102
|
+
DesiredState?: 'ENABLED' | 'DISABLED'
|
|
103
|
+
MaintenanceSchedules?: Array<{
|
|
104
|
+
StartAt?: string
|
|
105
|
+
Duration?: {
|
|
106
|
+
Value?: number
|
|
107
|
+
Unit?: 'HOURS'
|
|
108
|
+
}
|
|
109
|
+
CronExpressionForRecurrence?: string
|
|
110
|
+
}>
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Software update options
|
|
114
|
+
SoftwareUpdateOptions?: {
|
|
115
|
+
AutoSoftwareUpdateEnabled?: boolean
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Off-peak window
|
|
119
|
+
OffPeakWindowOptions?: {
|
|
120
|
+
Enabled?: boolean
|
|
121
|
+
OffPeakWindow?: {
|
|
122
|
+
WindowStartTime?: {
|
|
123
|
+
Hours: number
|
|
124
|
+
Minutes: number
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
Tags?: Tag[]
|
|
130
|
+
}
|
|
131
|
+
DeletionPolicy?: 'Delete' | 'Retain' | 'Snapshot'
|
|
132
|
+
UpdateReplacePolicy?: 'Delete' | 'Retain' | 'Snapshot'
|
|
133
|
+
}
|
|
134
|
+
export declare interface OpenSearchDomainPolicy {
|
|
135
|
+
Type: 'AWS::OpenSearchService::DomainPolicy'
|
|
136
|
+
Properties: {
|
|
137
|
+
DomainName: string | { Ref: string }
|
|
138
|
+
AccessPolicies: Record<string, any> | string
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
import type { ResourceBase, Tags } from './common';
|
|
2
|
+
/**
|
|
3
|
+
* Pinpoint Application
|
|
4
|
+
*/
|
|
5
|
+
export declare interface PinpointApp extends ResourceBase {
|
|
6
|
+
Type: 'AWS::Pinpoint::App'
|
|
7
|
+
Properties: {
|
|
8
|
+
Name: string
|
|
9
|
+
Tags?: Record<string, string>
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Pinpoint SMS Channel
|
|
14
|
+
*/
|
|
15
|
+
export declare interface PinpointSMSChannel extends ResourceBase {
|
|
16
|
+
Type: 'AWS::Pinpoint::SMSChannel'
|
|
17
|
+
Properties: {
|
|
18
|
+
ApplicationId: string
|
|
19
|
+
Enabled?: boolean
|
|
20
|
+
SenderId?: string
|
|
21
|
+
ShortCode?: string
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Pinpoint Email Channel
|
|
26
|
+
*/
|
|
27
|
+
export declare interface PinpointEmailChannel extends ResourceBase {
|
|
28
|
+
Type: 'AWS::Pinpoint::EmailChannel'
|
|
29
|
+
Properties: {
|
|
30
|
+
ApplicationId: string
|
|
31
|
+
FromAddress: string
|
|
32
|
+
Identity: string
|
|
33
|
+
ConfigurationSet?: string
|
|
34
|
+
Enabled?: boolean
|
|
35
|
+
RoleArn?: string
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Pinpoint Voice Channel
|
|
40
|
+
*/
|
|
41
|
+
export declare interface PinpointVoiceChannel extends ResourceBase {
|
|
42
|
+
Type: 'AWS::Pinpoint::VoiceChannel'
|
|
43
|
+
Properties: {
|
|
44
|
+
ApplicationId: string
|
|
45
|
+
Enabled?: boolean
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Pinpoint APNs Channel (Apple Push Notifications)
|
|
50
|
+
*/
|
|
51
|
+
export declare interface PinpointAPNsChannel extends ResourceBase {
|
|
52
|
+
Type: 'AWS::Pinpoint::APNsChannel'
|
|
53
|
+
Properties: {
|
|
54
|
+
ApplicationId: string
|
|
55
|
+
BundleId?: string
|
|
56
|
+
Certificate?: string
|
|
57
|
+
DefaultAuthenticationMethod?: string
|
|
58
|
+
Enabled?: boolean
|
|
59
|
+
PrivateKey?: string
|
|
60
|
+
TeamId?: string
|
|
61
|
+
TokenKey?: string
|
|
62
|
+
TokenKeyId?: string
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Pinpoint GCM Channel (Google Cloud Messaging / Firebase)
|
|
67
|
+
*/
|
|
68
|
+
export declare interface PinpointGCMChannel extends ResourceBase {
|
|
69
|
+
Type: 'AWS::Pinpoint::GCMChannel'
|
|
70
|
+
Properties: {
|
|
71
|
+
ApplicationId: string
|
|
72
|
+
ApiKey?: string
|
|
73
|
+
DefaultAuthenticationMethod?: string
|
|
74
|
+
Enabled?: boolean
|
|
75
|
+
ServiceJson?: string
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Pinpoint Baidu Channel
|
|
80
|
+
*/
|
|
81
|
+
export declare interface PinpointBaiduChannel extends ResourceBase {
|
|
82
|
+
Type: 'AWS::Pinpoint::BaiduChannel'
|
|
83
|
+
Properties: {
|
|
84
|
+
ApplicationId: string
|
|
85
|
+
ApiKey: string
|
|
86
|
+
SecretKey: string
|
|
87
|
+
Enabled?: boolean
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Pinpoint ADM Channel (Amazon Device Messaging)
|
|
92
|
+
*/
|
|
93
|
+
export declare interface PinpointADMChannel extends ResourceBase {
|
|
94
|
+
Type: 'AWS::Pinpoint::ADMChannel'
|
|
95
|
+
Properties: {
|
|
96
|
+
ApplicationId: string
|
|
97
|
+
ClientId: string
|
|
98
|
+
ClientSecret: string
|
|
99
|
+
Enabled?: boolean
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Pinpoint Campaign
|
|
104
|
+
*/
|
|
105
|
+
export declare interface PinpointCampaign extends ResourceBase {
|
|
106
|
+
Type: 'AWS::Pinpoint::Campaign'
|
|
107
|
+
Properties: {
|
|
108
|
+
ApplicationId: string
|
|
109
|
+
Name: string
|
|
110
|
+
SegmentId: string
|
|
111
|
+
MessageConfiguration: {
|
|
112
|
+
SMSMessage?: {
|
|
113
|
+
Body?: string
|
|
114
|
+
MessageType?: 'TRANSACTIONAL' | 'PROMOTIONAL'
|
|
115
|
+
OriginationNumber?: string
|
|
116
|
+
SenderId?: string
|
|
117
|
+
EntityId?: string
|
|
118
|
+
TemplateId?: string
|
|
119
|
+
}
|
|
120
|
+
EmailMessage?: {
|
|
121
|
+
Body?: string
|
|
122
|
+
FromAddress?: string
|
|
123
|
+
HtmlBody?: string
|
|
124
|
+
Title?: string
|
|
125
|
+
}
|
|
126
|
+
DefaultMessage?: {
|
|
127
|
+
Body?: string
|
|
128
|
+
Substitutions?: Record<string, string[]>
|
|
129
|
+
}
|
|
130
|
+
InAppMessage?: {
|
|
131
|
+
Content?: Array<{
|
|
132
|
+
BackgroundColor?: string
|
|
133
|
+
BodyConfig?: {
|
|
134
|
+
Alignment: 'LEFT' | 'CENTER' | 'RIGHT'
|
|
135
|
+
Body: string
|
|
136
|
+
TextColor: string
|
|
137
|
+
}
|
|
138
|
+
HeaderConfig?: {
|
|
139
|
+
Alignment: 'LEFT' | 'CENTER' | 'RIGHT'
|
|
140
|
+
Header: string
|
|
141
|
+
TextColor: string
|
|
142
|
+
}
|
|
143
|
+
ImageUrl?: string
|
|
144
|
+
PrimaryBtn?: {
|
|
145
|
+
DefaultConfig: {
|
|
146
|
+
BackgroundColor?: string
|
|
147
|
+
BorderRadius?: number
|
|
148
|
+
ButtonAction: 'LINK' | 'DEEP_LINK' | 'CLOSE'
|
|
149
|
+
Link?: string
|
|
150
|
+
Text: string
|
|
151
|
+
TextColor?: string
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
SecondaryBtn?: {
|
|
155
|
+
DefaultConfig: {
|
|
156
|
+
BackgroundColor?: string
|
|
157
|
+
BorderRadius?: number
|
|
158
|
+
ButtonAction: 'LINK' | 'DEEP_LINK' | 'CLOSE'
|
|
159
|
+
Link?: string
|
|
160
|
+
Text: string
|
|
161
|
+
TextColor?: string
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}>
|
|
165
|
+
Layout?: 'BOTTOM_BANNER' | 'TOP_BANNER' | 'OVERLAYS' | 'MOBILE_FEED' | 'MIDDLE_BANNER' | 'CAROUSEL'
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
Schedule: {
|
|
169
|
+
EndTime?: string
|
|
170
|
+
EventFilter?: {
|
|
171
|
+
Dimensions: {
|
|
172
|
+
Attributes?: Record<string, { AttributeType: string; Values: string[] }>
|
|
173
|
+
EventType?: { DimensionType: string; Values: string[] }
|
|
174
|
+
Metrics?: Record<string, { ComparisonOperator: string; Value: number }>
|
|
175
|
+
}
|
|
176
|
+
FilterType: 'SYSTEM' | 'ENDPOINT'
|
|
177
|
+
}
|
|
178
|
+
Frequency?: 'ONCE' | 'HOURLY' | 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'EVENT' | 'IN_APP_EVENT'
|
|
179
|
+
IsLocalTime?: boolean
|
|
180
|
+
QuietTime?: { End: string; Start: string }
|
|
181
|
+
StartTime?: string
|
|
182
|
+
Timezone?: string
|
|
183
|
+
}
|
|
184
|
+
AdditionalTreatments?: Array<{
|
|
185
|
+
MessageConfiguration: any
|
|
186
|
+
Schedule: any
|
|
187
|
+
SizePercent: number
|
|
188
|
+
TreatmentDescription?: string
|
|
189
|
+
TreatmentName?: string
|
|
190
|
+
}>
|
|
191
|
+
CampaignHook?: {
|
|
192
|
+
LambdaFunctionName?: string
|
|
193
|
+
Mode?: 'DELIVERY' | 'FILTER'
|
|
194
|
+
WebUrl?: string
|
|
195
|
+
}
|
|
196
|
+
CustomDeliveryConfiguration?: {
|
|
197
|
+
DeliveryUri: string
|
|
198
|
+
EndpointTypes?: string[]
|
|
199
|
+
}
|
|
200
|
+
Description?: string
|
|
201
|
+
HoldoutPercent?: number
|
|
202
|
+
IsPaused?: boolean
|
|
203
|
+
Limits?: {
|
|
204
|
+
Daily?: number
|
|
205
|
+
MaximumDuration?: number
|
|
206
|
+
MessagesPerSecond?: number
|
|
207
|
+
Session?: number
|
|
208
|
+
Total?: number
|
|
209
|
+
}
|
|
210
|
+
Priority?: number
|
|
211
|
+
SegmentVersion?: number
|
|
212
|
+
Tags?: Record<string, string>
|
|
213
|
+
TemplateConfiguration?: {
|
|
214
|
+
EmailTemplate?: { Name?: string; Version?: string }
|
|
215
|
+
PushTemplate?: { Name?: string; Version?: string }
|
|
216
|
+
SMSTemplate?: { Name?: string; Version?: string }
|
|
217
|
+
VoiceTemplate?: { Name?: string; Version?: string }
|
|
218
|
+
}
|
|
219
|
+
TreatmentDescription?: string
|
|
220
|
+
TreatmentName?: string
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Pinpoint Segment
|
|
225
|
+
*/
|
|
226
|
+
export declare interface PinpointSegment extends ResourceBase {
|
|
227
|
+
Type: 'AWS::Pinpoint::Segment'
|
|
228
|
+
Properties: {
|
|
229
|
+
ApplicationId: string
|
|
230
|
+
Name: string
|
|
231
|
+
Dimensions?: {
|
|
232
|
+
Attributes?: Record<string, { AttributeType: string; Values: string[] }>
|
|
233
|
+
Behavior?: {
|
|
234
|
+
Recency?: {
|
|
235
|
+
Duration: 'HR_24' | 'DAY_7' | 'DAY_14' | 'DAY_30'
|
|
236
|
+
RecencyType: 'ACTIVE' | 'INACTIVE'
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
Demographic?: {
|
|
240
|
+
AppVersion?: { DimensionType: string; Values: string[] }
|
|
241
|
+
Channel?: { DimensionType: string; Values: string[] }
|
|
242
|
+
DeviceType?: { DimensionType: string; Values: string[] }
|
|
243
|
+
Make?: { DimensionType: string; Values: string[] }
|
|
244
|
+
Model?: { DimensionType: string; Values: string[] }
|
|
245
|
+
Platform?: { DimensionType: string; Values: string[] }
|
|
246
|
+
}
|
|
247
|
+
Location?: {
|
|
248
|
+
Country?: { DimensionType: string; Values: string[] }
|
|
249
|
+
GPSPoint?: {
|
|
250
|
+
Coordinates: { Latitude: number; Longitude: number }
|
|
251
|
+
RangeInKilometers: number
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
Metrics?: Record<string, { ComparisonOperator: string; Value: number }>
|
|
255
|
+
UserAttributes?: Record<string, { AttributeType: string; Values: string[] }>
|
|
256
|
+
}
|
|
257
|
+
SegmentGroups?: {
|
|
258
|
+
Groups?: Array<{
|
|
259
|
+
Dimensions?: any[]
|
|
260
|
+
SourceSegments?: Array<{ Id: string; Version?: number }>
|
|
261
|
+
SourceType?: 'ALL' | 'ANY' | 'NONE'
|
|
262
|
+
Type?: 'ALL' | 'ANY' | 'NONE'
|
|
263
|
+
}>
|
|
264
|
+
Include?: 'ALL' | 'ANY' | 'NONE'
|
|
265
|
+
}
|
|
266
|
+
Tags?: Record<string, string>
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Pinpoint Email Template
|
|
271
|
+
*/
|
|
272
|
+
export declare interface PinpointEmailTemplate extends ResourceBase {
|
|
273
|
+
Type: 'AWS::Pinpoint::EmailTemplate'
|
|
274
|
+
Properties: {
|
|
275
|
+
TemplateName: string
|
|
276
|
+
Subject: string
|
|
277
|
+
DefaultSubstitutions?: string
|
|
278
|
+
HtmlPart?: string
|
|
279
|
+
Tags?: Record<string, string>
|
|
280
|
+
TemplateDescription?: string
|
|
281
|
+
TextPart?: string
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Pinpoint SMS Template
|
|
286
|
+
*/
|
|
287
|
+
export declare interface PinpointSmsTemplate extends ResourceBase {
|
|
288
|
+
Type: 'AWS::Pinpoint::SmsTemplate'
|
|
289
|
+
Properties: {
|
|
290
|
+
TemplateName: string
|
|
291
|
+
Body: string
|
|
292
|
+
DefaultSubstitutions?: string
|
|
293
|
+
Tags?: Record<string, string>
|
|
294
|
+
TemplateDescription?: string
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Pinpoint Push Template
|
|
299
|
+
*/
|
|
300
|
+
export declare interface PinpointPushTemplate extends ResourceBase {
|
|
301
|
+
Type: 'AWS::Pinpoint::PushTemplate'
|
|
302
|
+
Properties: {
|
|
303
|
+
TemplateName: string
|
|
304
|
+
ADM?: {
|
|
305
|
+
Action?: 'OPEN_APP' | 'DEEP_LINK' | 'URL'
|
|
306
|
+
Body?: string
|
|
307
|
+
ImageIconUrl?: string
|
|
308
|
+
ImageUrl?: string
|
|
309
|
+
SmallImageIconUrl?: string
|
|
310
|
+
Sound?: string
|
|
311
|
+
Title?: string
|
|
312
|
+
Url?: string
|
|
313
|
+
}
|
|
314
|
+
APNS?: {
|
|
315
|
+
Action?: 'OPEN_APP' | 'DEEP_LINK' | 'URL'
|
|
316
|
+
Body?: string
|
|
317
|
+
MediaUrl?: string
|
|
318
|
+
Sound?: string
|
|
319
|
+
Title?: string
|
|
320
|
+
Url?: string
|
|
321
|
+
}
|
|
322
|
+
Baidu?: {
|
|
323
|
+
Action?: 'OPEN_APP' | 'DEEP_LINK' | 'URL'
|
|
324
|
+
Body?: string
|
|
325
|
+
ImageIconUrl?: string
|
|
326
|
+
ImageUrl?: string
|
|
327
|
+
SmallImageIconUrl?: string
|
|
328
|
+
Sound?: string
|
|
329
|
+
Title?: string
|
|
330
|
+
Url?: string
|
|
331
|
+
}
|
|
332
|
+
Default?: {
|
|
333
|
+
Action?: 'OPEN_APP' | 'DEEP_LINK' | 'URL'
|
|
334
|
+
Body?: string
|
|
335
|
+
Sound?: string
|
|
336
|
+
Title?: string
|
|
337
|
+
Url?: string
|
|
338
|
+
}
|
|
339
|
+
DefaultSubstitutions?: string
|
|
340
|
+
GCM?: {
|
|
341
|
+
Action?: 'OPEN_APP' | 'DEEP_LINK' | 'URL'
|
|
342
|
+
Body?: string
|
|
343
|
+
ImageIconUrl?: string
|
|
344
|
+
ImageUrl?: string
|
|
345
|
+
SmallImageIconUrl?: string
|
|
346
|
+
Sound?: string
|
|
347
|
+
Title?: string
|
|
348
|
+
Url?: string
|
|
349
|
+
}
|
|
350
|
+
Tags?: Record<string, string>
|
|
351
|
+
TemplateDescription?: string
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Pinpoint In-App Template
|
|
356
|
+
*/
|
|
357
|
+
export declare interface PinpointInAppTemplate extends ResourceBase {
|
|
358
|
+
Type: 'AWS::Pinpoint::InAppTemplate'
|
|
359
|
+
Properties: {
|
|
360
|
+
TemplateName: string
|
|
361
|
+
Content?: Array<{
|
|
362
|
+
BackgroundColor?: string
|
|
363
|
+
BodyConfig?: {
|
|
364
|
+
Alignment: 'LEFT' | 'CENTER' | 'RIGHT'
|
|
365
|
+
Body: string
|
|
366
|
+
TextColor: string
|
|
367
|
+
}
|
|
368
|
+
HeaderConfig?: {
|
|
369
|
+
Alignment: 'LEFT' | 'CENTER' | 'RIGHT'
|
|
370
|
+
Header: string
|
|
371
|
+
TextColor: string
|
|
372
|
+
}
|
|
373
|
+
ImageUrl?: string
|
|
374
|
+
PrimaryBtn?: any
|
|
375
|
+
SecondaryBtn?: any
|
|
376
|
+
}>
|
|
377
|
+
CustomConfig?: Record<string, string>
|
|
378
|
+
Layout?: 'BOTTOM_BANNER' | 'TOP_BANNER' | 'OVERLAYS' | 'MOBILE_FEED' | 'MIDDLE_BANNER' | 'CAROUSEL'
|
|
379
|
+
Tags?: Record<string, string>
|
|
380
|
+
TemplateDescription?: string
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Pinpoint Event Stream
|
|
385
|
+
*/
|
|
386
|
+
export declare interface PinpointEventStream extends ResourceBase {
|
|
387
|
+
Type: 'AWS::Pinpoint::EventStream'
|
|
388
|
+
Properties: {
|
|
389
|
+
ApplicationId: string
|
|
390
|
+
DestinationStreamArn: string
|
|
391
|
+
RoleArn: string
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Pinpoint Application Settings
|
|
396
|
+
*/
|
|
397
|
+
export declare interface PinpointApplicationSettings extends ResourceBase {
|
|
398
|
+
Type: 'AWS::Pinpoint::ApplicationSettings'
|
|
399
|
+
Properties: {
|
|
400
|
+
ApplicationId: string
|
|
401
|
+
CampaignHook?: {
|
|
402
|
+
LambdaFunctionName?: string
|
|
403
|
+
Mode?: 'DELIVERY' | 'FILTER'
|
|
404
|
+
WebUrl?: string
|
|
405
|
+
}
|
|
406
|
+
CloudWatchMetricsEnabled?: boolean
|
|
407
|
+
Limits?: {
|
|
408
|
+
Daily?: number
|
|
409
|
+
MaximumDuration?: number
|
|
410
|
+
MessagesPerSecond?: number
|
|
411
|
+
Total?: number
|
|
412
|
+
}
|
|
413
|
+
QuietTime?: {
|
|
414
|
+
End: string
|
|
415
|
+
Start: string
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Tag } from './common';
|
|
2
|
+
export declare interface DBProxy {
|
|
3
|
+
Type: 'AWS::RDS::DBProxy'
|
|
4
|
+
Properties: {
|
|
5
|
+
DBProxyName: string
|
|
6
|
+
EngineFamily: 'MYSQL' | 'POSTGRESQL' | 'SQLSERVER'
|
|
7
|
+
Auth: Array<{
|
|
8
|
+
AuthScheme?: 'SECRETS'
|
|
9
|
+
ClientPasswordAuthType?: 'MYSQL_NATIVE_PASSWORD' | 'POSTGRES_SCRAM_SHA_256' | 'POSTGRES_MD5' | 'SQL_SERVER_AUTHENTICATION'
|
|
10
|
+
Description?: string
|
|
11
|
+
IAMAuth?: 'DISABLED' | 'REQUIRED' | 'ENABLED'
|
|
12
|
+
SecretArn?: string | { Ref: string }
|
|
13
|
+
}>
|
|
14
|
+
RoleArn: string | { Ref: string }
|
|
15
|
+
VpcSubnetIds: Array<string | { Ref: string }>
|
|
16
|
+
|
|
17
|
+
// Optional configurations
|
|
18
|
+
VpcSecurityGroupIds?: Array<string | { Ref: string }>
|
|
19
|
+
RequireTLS?: boolean
|
|
20
|
+
IdleClientTimeout?: number // in seconds (default: 1800, max: 28800)
|
|
21
|
+
DebugLogging?: boolean
|
|
22
|
+
|
|
23
|
+
Tags?: Tag[]
|
|
24
|
+
}
|
|
25
|
+
DeletionPolicy?: 'Delete' | 'Retain'
|
|
26
|
+
UpdateReplacePolicy?: 'Delete' | 'Retain'
|
|
27
|
+
}
|
|
28
|
+
export declare interface DBProxyTargetGroup {
|
|
29
|
+
Type: 'AWS::RDS::DBProxyTargetGroup'
|
|
30
|
+
Properties: {
|
|
31
|
+
DBProxyName: string | { Ref: string }
|
|
32
|
+
TargetGroupName: 'default' // Currently only 'default' is supported
|
|
33
|
+
DBInstanceIdentifiers?: Array<string | { Ref: string }>
|
|
34
|
+
DBClusterIdentifiers?: Array<string | { Ref: string }>
|
|
35
|
+
|
|
36
|
+
// Connection pool configuration
|
|
37
|
+
ConnectionPoolConfig?: {
|
|
38
|
+
MaxConnectionsPercent?: number // 1-100 (default: 100)
|
|
39
|
+
MaxIdleConnectionsPercent?: number // 0-MaxConnectionsPercent
|
|
40
|
+
ConnectionBorrowTimeout?: number // in seconds (default: 120)
|
|
41
|
+
SessionPinningFilters?: Array<string> // e.g., ['EXCLUDE_VARIABLE_SETS']
|
|
42
|
+
InitQuery?: string
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
DependsOn?: string | string[]
|
|
46
|
+
}
|
|
47
|
+
export declare interface DBProxyEndpoint {
|
|
48
|
+
Type: 'AWS::RDS::DBProxyEndpoint'
|
|
49
|
+
Properties: {
|
|
50
|
+
DBProxyName: string | { Ref: string }
|
|
51
|
+
DBProxyEndpointName: string
|
|
52
|
+
VpcSubnetIds: Array<string | { Ref: string }>
|
|
53
|
+
TargetRole?: 'READ_WRITE' | 'READ_ONLY'
|
|
54
|
+
VpcSecurityGroupIds?: Array<string | { Ref: string }>
|
|
55
|
+
|
|
56
|
+
Tags?: Tag[]
|
|
57
|
+
}
|
|
58
|
+
DependsOn?: string | string[]
|
|
59
|
+
}
|
package/dist/rds.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface RDSDBInstance extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::RDS::DBInstance'
|
|
4
|
+
Properties: {
|
|
5
|
+
DBInstanceIdentifier?: string
|
|
6
|
+
DBInstanceClass: string
|
|
7
|
+
Engine?: 'mysql' | 'postgres' | 'mariadb' | 'oracle-ee' | 'oracle-se2' | 'oracle-se1' | 'oracle-se' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web'
|
|
8
|
+
SourceDBInstanceIdentifier?: string
|
|
9
|
+
EngineVersion?: string
|
|
10
|
+
MasterUsername?: string
|
|
11
|
+
MasterUserPassword?: string
|
|
12
|
+
AllocatedStorage?: number
|
|
13
|
+
StorageType?: 'gp2' | 'gp3' | 'io1' | 'io2' | 'standard'
|
|
14
|
+
StorageEncrypted?: boolean
|
|
15
|
+
KmsKeyId?: string
|
|
16
|
+
DBName?: string
|
|
17
|
+
DBSubnetGroupName?: string | { Ref: string }
|
|
18
|
+
VPCSecurityGroups?: string[]
|
|
19
|
+
PubliclyAccessible?: boolean
|
|
20
|
+
BackupRetentionPeriod?: number
|
|
21
|
+
PreferredBackupWindow?: string
|
|
22
|
+
PreferredMaintenanceWindow?: string
|
|
23
|
+
MultiAZ?: boolean
|
|
24
|
+
AutoMinorVersionUpgrade?: boolean
|
|
25
|
+
DeletionProtection?: boolean
|
|
26
|
+
EnableCloudwatchLogsExports?: string[]
|
|
27
|
+
DBParameterGroupName?: string | { Ref: string }
|
|
28
|
+
Tags?: Array<{
|
|
29
|
+
Key: string
|
|
30
|
+
Value: string
|
|
31
|
+
}>
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export declare interface RDSDBSubnetGroup extends CloudFormationResource {
|
|
35
|
+
Type: 'AWS::RDS::DBSubnetGroup'
|
|
36
|
+
Properties: {
|
|
37
|
+
DBSubnetGroupName?: string
|
|
38
|
+
DBSubnetGroupDescription: string
|
|
39
|
+
SubnetIds: string[]
|
|
40
|
+
Tags?: Array<{
|
|
41
|
+
Key: string
|
|
42
|
+
Value: string
|
|
43
|
+
}>
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export declare interface RDSDBParameterGroup extends CloudFormationResource {
|
|
47
|
+
Type: 'AWS::RDS::DBParameterGroup'
|
|
48
|
+
Properties: {
|
|
49
|
+
DBParameterGroupName?: string
|
|
50
|
+
Description: string
|
|
51
|
+
Family: string
|
|
52
|
+
Parameters?: Record<string, string>
|
|
53
|
+
Tags?: Array<{
|
|
54
|
+
Key: string
|
|
55
|
+
Value: string
|
|
56
|
+
}>
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CloudFormationResource } from './index';
|
|
2
|
+
export declare interface Route53HostedZone extends CloudFormationResource {
|
|
3
|
+
Type: 'AWS::Route53::HostedZone'
|
|
4
|
+
Properties: {
|
|
5
|
+
Name: string
|
|
6
|
+
HostedZoneConfig?: {
|
|
7
|
+
Comment?: string
|
|
8
|
+
}
|
|
9
|
+
HostedZoneTags?: Array<{
|
|
10
|
+
Key: string
|
|
11
|
+
Value: string
|
|
12
|
+
}>
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export declare interface Route53RecordSet extends CloudFormationResource {
|
|
16
|
+
Type: 'AWS::Route53::RecordSet'
|
|
17
|
+
Properties: {
|
|
18
|
+
HostedZoneId?: string
|
|
19
|
+
HostedZoneName?: string
|
|
20
|
+
Name: string
|
|
21
|
+
Type: 'A' | 'AAAA' | 'CNAME' | 'MX' | 'NS' | 'PTR' | 'SOA' | 'SPF' | 'SRV' | 'TXT'
|
|
22
|
+
TTL?: number
|
|
23
|
+
ResourceRecords?: string[]
|
|
24
|
+
AliasTarget?: {
|
|
25
|
+
DNSName: string
|
|
26
|
+
EvaluateTargetHealth?: boolean
|
|
27
|
+
HostedZoneId: string
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|