@ts-cloud/core 0.7.12 → 0.7.13
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/cloudformation/types.d.ts +26 -26
- package/dist/email/advanced/rules.d.ts +24 -24
- package/dist/email/advanced/templates.d.ts +4 -4
- package/dist/errors/index.d.ts +52 -48
- package/dist/intrinsic-functions.d.ts +8 -8
- package/dist/modules/ai.d.ts +32 -32
- package/dist/modules/api.d.ts +8 -8
- package/dist/modules/auth.d.ts +6 -6
- package/dist/modules/cache.d.ts +16 -16
- package/dist/modules/cdn.d.ts +6 -6
- package/dist/modules/compute.d.ts +56 -56
- package/dist/modules/database.d.ts +13 -13
- package/dist/modules/deployment.d.ts +15 -15
- package/dist/modules/monitoring.d.ts +40 -39
- package/dist/modules/permissions.d.ts +35 -35
- package/dist/modules/queue.d.ts +26 -26
- package/dist/modules/redirects.d.ts +2 -2
- package/dist/modules/search.d.ts +2 -2
- package/dist/modules/security.d.ts +16 -16
- package/dist/modules/storage.d.ts +15 -15
- package/dist/multi-account/config.d.ts +28 -28
- package/dist/serverless/runtime-resolve.d.ts +1 -1
- package/dist/sms/advanced/mms.d.ts +3 -3
- package/package.json +3 -3
|
@@ -114,46 +114,46 @@ export declare class Permissions {
|
|
|
114
114
|
* AWS Managed Policies (common)
|
|
115
115
|
*/
|
|
116
116
|
static readonly ManagedPolicies: {
|
|
117
|
-
readonly AdministratorAccess:
|
|
118
|
-
readonly PowerUserAccess:
|
|
119
|
-
readonly ReadOnlyAccess:
|
|
120
|
-
readonly S3FullAccess:
|
|
121
|
-
readonly S3ReadOnlyAccess:
|
|
122
|
-
readonly DynamoDBFullAccess:
|
|
123
|
-
readonly DynamoDBReadOnlyAccess:
|
|
124
|
-
readonly RDSFullAccess:
|
|
125
|
-
readonly RDSReadOnlyAccess:
|
|
126
|
-
readonly LambdaFullAccess:
|
|
127
|
-
readonly LambdaReadOnlyAccess:
|
|
128
|
-
readonly LambdaBasicExecutionRole:
|
|
129
|
-
readonly LambdaVPCAccessExecutionRole:
|
|
130
|
-
readonly EC2FullAccess:
|
|
131
|
-
readonly EC2ReadOnlyAccess:
|
|
132
|
-
readonly EC2ContainerRegistryReadOnly:
|
|
133
|
-
readonly EC2ContainerRegistryPowerUser:
|
|
134
|
-
readonly ECSTaskExecutionRole:
|
|
135
|
-
readonly ECSFullAccess:
|
|
136
|
-
readonly CloudWatchFullAccess:
|
|
137
|
-
readonly CloudWatchLogsFullAccess:
|
|
138
|
-
readonly SESFullAccess:
|
|
139
|
-
readonly SNSFullAccess:
|
|
140
|
-
readonly SQSFullAccess:
|
|
141
|
-
readonly SecretsManagerReadWrite:
|
|
117
|
+
readonly AdministratorAccess: 'arn:aws:iam::aws:policy/AdministratorAccess';
|
|
118
|
+
readonly PowerUserAccess: 'arn:aws:iam::aws:policy/PowerUserAccess';
|
|
119
|
+
readonly ReadOnlyAccess: 'arn:aws:iam::aws:policy/ReadOnlyAccess';
|
|
120
|
+
readonly S3FullAccess: 'arn:aws:iam::aws:policy/AmazonS3FullAccess';
|
|
121
|
+
readonly S3ReadOnlyAccess: 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess';
|
|
122
|
+
readonly DynamoDBFullAccess: 'arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess';
|
|
123
|
+
readonly DynamoDBReadOnlyAccess: 'arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess';
|
|
124
|
+
readonly RDSFullAccess: 'arn:aws:iam::aws:policy/AmazonRDSFullAccess';
|
|
125
|
+
readonly RDSReadOnlyAccess: 'arn:aws:iam::aws:policy/AmazonRDSReadOnlyAccess';
|
|
126
|
+
readonly LambdaFullAccess: 'arn:aws:iam::aws:policy/AWSLambda_FullAccess';
|
|
127
|
+
readonly LambdaReadOnlyAccess: 'arn:aws:iam::aws:policy/AWSLambda_ReadOnlyAccess';
|
|
128
|
+
readonly LambdaBasicExecutionRole: 'arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole';
|
|
129
|
+
readonly LambdaVPCAccessExecutionRole: 'arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole';
|
|
130
|
+
readonly EC2FullAccess: 'arn:aws:iam::aws:policy/AmazonEC2FullAccess';
|
|
131
|
+
readonly EC2ReadOnlyAccess: 'arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess';
|
|
132
|
+
readonly EC2ContainerRegistryReadOnly: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly';
|
|
133
|
+
readonly EC2ContainerRegistryPowerUser: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPowerUser';
|
|
134
|
+
readonly ECSTaskExecutionRole: 'arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy';
|
|
135
|
+
readonly ECSFullAccess: 'arn:aws:iam::aws:policy/AmazonECS_FullAccess';
|
|
136
|
+
readonly CloudWatchFullAccess: 'arn:aws:iam::aws:policy/CloudWatchFullAccess';
|
|
137
|
+
readonly CloudWatchLogsFullAccess: 'arn:aws:iam::aws:policy/CloudWatchLogsFullAccess';
|
|
138
|
+
readonly SESFullAccess: 'arn:aws:iam::aws:policy/AmazonSESFullAccess';
|
|
139
|
+
readonly SNSFullAccess: 'arn:aws:iam::aws:policy/AmazonSNSFullAccess';
|
|
140
|
+
readonly SQSFullAccess: 'arn:aws:iam::aws:policy/AmazonSQSFullAccess';
|
|
141
|
+
readonly SecretsManagerReadWrite: 'arn:aws:iam::aws:policy/SecretsManagerReadWrite';
|
|
142
142
|
};
|
|
143
143
|
/**
|
|
144
144
|
* Common service principals
|
|
145
145
|
*/
|
|
146
146
|
static readonly ServicePrincipals: {
|
|
147
|
-
readonly Lambda:
|
|
148
|
-
readonly EC2:
|
|
149
|
-
readonly ECS:
|
|
150
|
-
readonly ECSTaskExecution:
|
|
151
|
-
readonly APIGateway:
|
|
152
|
-
readonly Events:
|
|
153
|
-
readonly States:
|
|
154
|
-
readonly CodeBuild:
|
|
155
|
-
readonly CodeDeploy:
|
|
156
|
-
readonly CloudFormation:
|
|
147
|
+
readonly Lambda: 'lambda.amazonaws.com';
|
|
148
|
+
readonly EC2: 'ec2.amazonaws.com';
|
|
149
|
+
readonly ECS: 'ecs.amazonaws.com';
|
|
150
|
+
readonly ECSTaskExecution: 'ecs-tasks.amazonaws.com';
|
|
151
|
+
readonly APIGateway: 'apigateway.amazonaws.com';
|
|
152
|
+
readonly Events: 'events.amazonaws.com';
|
|
153
|
+
readonly States: 'states.amazonaws.com';
|
|
154
|
+
readonly CodeBuild: 'codebuild.amazonaws.com';
|
|
155
|
+
readonly CodeDeploy: 'codedeploy.amazonaws.com';
|
|
156
|
+
readonly CloudFormation: 'cloudformation.amazonaws.com';
|
|
157
157
|
};
|
|
158
158
|
/**
|
|
159
159
|
* Create a CI/CD user with deployment permissions
|
package/dist/modules/queue.d.ts
CHANGED
|
@@ -120,30 +120,30 @@ export declare class Queue {
|
|
|
120
120
|
* Common cron expressions
|
|
121
121
|
*/
|
|
122
122
|
static readonly CronExpressions: {
|
|
123
|
-
readonly EveryMinute:
|
|
124
|
-
readonly Every5Minutes:
|
|
125
|
-
readonly Every15Minutes:
|
|
126
|
-
readonly Every30Minutes:
|
|
127
|
-
readonly Hourly:
|
|
128
|
-
readonly Daily:
|
|
129
|
-
readonly DailyAt9AM:
|
|
130
|
-
readonly DailyAtMidnight:
|
|
131
|
-
readonly Weekly:
|
|
132
|
-
readonly Monthly:
|
|
123
|
+
readonly EveryMinute: 'cron(* * * * ? *)';
|
|
124
|
+
readonly Every5Minutes: 'cron(*/5 * * * ? *)';
|
|
125
|
+
readonly Every15Minutes: 'cron(*/15 * * * ? *)';
|
|
126
|
+
readonly Every30Minutes: 'cron(*/30 * * * ? *)';
|
|
127
|
+
readonly Hourly: 'cron(0 * * * ? *)';
|
|
128
|
+
readonly Daily: 'cron(0 0 * * ? *)';
|
|
129
|
+
readonly DailyAt9AM: 'cron(0 9 * * ? *)';
|
|
130
|
+
readonly DailyAtMidnight: 'cron(0 0 * * ? *)';
|
|
131
|
+
readonly Weekly: 'cron(0 0 ? * SUN *)';
|
|
132
|
+
readonly Monthly: 'cron(0 0 1 * ? *)';
|
|
133
133
|
};
|
|
134
134
|
/**
|
|
135
135
|
* Common rate expressions
|
|
136
136
|
*/
|
|
137
137
|
static readonly RateExpressions: {
|
|
138
|
-
readonly Every1Minute:
|
|
139
|
-
readonly Every5Minutes:
|
|
140
|
-
readonly Every10Minutes:
|
|
141
|
-
readonly Every15Minutes:
|
|
142
|
-
readonly Every30Minutes:
|
|
143
|
-
readonly Every1Hour:
|
|
144
|
-
readonly Every6Hours:
|
|
145
|
-
readonly Every12Hours:
|
|
146
|
-
readonly Every1Day:
|
|
138
|
+
readonly Every1Minute: 'rate(1 minute)';
|
|
139
|
+
readonly Every5Minutes: 'rate(5 minutes)';
|
|
140
|
+
readonly Every10Minutes: 'rate(10 minutes)';
|
|
141
|
+
readonly Every15Minutes: 'rate(15 minutes)';
|
|
142
|
+
readonly Every30Minutes: 'rate(30 minutes)';
|
|
143
|
+
readonly Every1Hour: 'rate(1 hour)';
|
|
144
|
+
readonly Every6Hours: 'rate(6 hours)';
|
|
145
|
+
readonly Every12Hours: 'rate(12 hours)';
|
|
146
|
+
readonly Every1Day: 'rate(1 day)';
|
|
147
147
|
};
|
|
148
148
|
/**
|
|
149
149
|
* Convert a human-readable rate string to a cron/rate expression
|
|
@@ -161,7 +161,7 @@ export declare class Queue {
|
|
|
161
161
|
name: string;
|
|
162
162
|
handler: string;
|
|
163
163
|
retries?: number;
|
|
164
|
-
backoff?:
|
|
164
|
+
backoff?: 'linear' | 'exponential' | 'fixed';
|
|
165
165
|
backoffDelay?: number;
|
|
166
166
|
maxDelay?: number;
|
|
167
167
|
timeout?: number;
|
|
@@ -170,7 +170,7 @@ export declare class Queue {
|
|
|
170
170
|
/**
|
|
171
171
|
* Calculate delay for a given retry attempt
|
|
172
172
|
*/
|
|
173
|
-
calculateDelay: (attempt: number, config: Pick<JobConfiguration,
|
|
173
|
+
calculateDelay: (attempt: number, config: Pick<JobConfiguration, 'backoff' | 'backoffDelay' | 'maxDelay' | 'jitter'>) => number;
|
|
174
174
|
/**
|
|
175
175
|
* Common job configurations
|
|
176
176
|
*/
|
|
@@ -180,7 +180,7 @@ export declare class Queue {
|
|
|
180
180
|
*/
|
|
181
181
|
fastRetry: {
|
|
182
182
|
retries: number;
|
|
183
|
-
backoff:
|
|
183
|
+
backoff: 'exponential';
|
|
184
184
|
backoffDelay: number;
|
|
185
185
|
maxDelay: number;
|
|
186
186
|
jitter: boolean;
|
|
@@ -190,7 +190,7 @@ export declare class Queue {
|
|
|
190
190
|
*/
|
|
191
191
|
standard: {
|
|
192
192
|
retries: number;
|
|
193
|
-
backoff:
|
|
193
|
+
backoff: 'exponential';
|
|
194
194
|
backoffDelay: number;
|
|
195
195
|
maxDelay: number;
|
|
196
196
|
jitter: boolean;
|
|
@@ -200,7 +200,7 @@ export declare class Queue {
|
|
|
200
200
|
*/
|
|
201
201
|
longRunning: {
|
|
202
202
|
retries: number;
|
|
203
|
-
backoff:
|
|
203
|
+
backoff: 'exponential';
|
|
204
204
|
backoffDelay: number;
|
|
205
205
|
maxDelay: number;
|
|
206
206
|
timeout: number;
|
|
@@ -211,7 +211,7 @@ export declare class Queue {
|
|
|
211
211
|
*/
|
|
212
212
|
critical: {
|
|
213
213
|
retries: number;
|
|
214
|
-
backoff:
|
|
214
|
+
backoff: 'exponential';
|
|
215
215
|
backoffDelay: number;
|
|
216
216
|
maxDelay: number;
|
|
217
217
|
jitter: boolean;
|
|
@@ -221,7 +221,7 @@ export declare class Queue {
|
|
|
221
221
|
*/
|
|
222
222
|
noRetry: {
|
|
223
223
|
retries: number;
|
|
224
|
-
backoff:
|
|
224
|
+
backoff: 'fixed';
|
|
225
225
|
backoffDelay: number;
|
|
226
226
|
maxDelay: number;
|
|
227
227
|
jitter: boolean;
|
|
@@ -57,11 +57,11 @@ export declare class Redirects {
|
|
|
57
57
|
/**
|
|
58
58
|
* www to non-www redirect
|
|
59
59
|
*/
|
|
60
|
-
wwwToApex: (domain: string, protocol?:
|
|
60
|
+
wwwToApex: (domain: string, protocol?: 'http' | 'https') => DomainRedirectOptions;
|
|
61
61
|
/**
|
|
62
62
|
* non-www to www redirect
|
|
63
63
|
*/
|
|
64
|
-
apexToWww: (domain: string, protocol?:
|
|
64
|
+
apexToWww: (domain: string, protocol?: 'http' | 'https') => DomainRedirectOptions;
|
|
65
65
|
/**
|
|
66
66
|
* HTTP to HTTPS redirect (handled at CloudFront/ALB level typically)
|
|
67
67
|
*/
|
package/dist/modules/search.d.ts
CHANGED
|
@@ -86,7 +86,7 @@ export declare class Search {
|
|
|
86
86
|
/**
|
|
87
87
|
* Production domain (HA, multi-AZ)
|
|
88
88
|
*/
|
|
89
|
-
production: (slug: string, environment: string, vpc?: SearchDomainOptions[
|
|
89
|
+
production: (slug: string, environment: string, vpc?: SearchDomainOptions['vpc']) => {
|
|
90
90
|
domain: OpenSearchDomain;
|
|
91
91
|
logicalId: string;
|
|
92
92
|
};
|
|
@@ -100,7 +100,7 @@ export declare class Search {
|
|
|
100
100
|
/**
|
|
101
101
|
* High-performance domain (analytics, large datasets)
|
|
102
102
|
*/
|
|
103
|
-
highPerformance: (slug: string, environment: string, vpc: SearchDomainOptions[
|
|
103
|
+
highPerformance: (slug: string, environment: string, vpc: SearchDomainOptions['vpc']) => {
|
|
104
104
|
domain: OpenSearchDomain;
|
|
105
105
|
logicalId: string;
|
|
106
106
|
};
|
|
@@ -101,57 +101,57 @@ export declare class Security {
|
|
|
101
101
|
* AWS Core Rule Set - protects against common threats
|
|
102
102
|
*/
|
|
103
103
|
readonly CoreRuleSet: {
|
|
104
|
-
readonly vendorName:
|
|
105
|
-
readonly ruleName:
|
|
104
|
+
readonly vendorName: 'AWS';
|
|
105
|
+
readonly ruleName: 'AWSManagedRulesCommonRuleSet';
|
|
106
106
|
};
|
|
107
107
|
/**
|
|
108
108
|
* Known Bad Inputs - blocks patterns known to be invalid
|
|
109
109
|
*/
|
|
110
110
|
readonly KnownBadInputs: {
|
|
111
|
-
readonly vendorName:
|
|
112
|
-
readonly ruleName:
|
|
111
|
+
readonly vendorName: 'AWS';
|
|
112
|
+
readonly ruleName: 'AWSManagedRulesKnownBadInputsRuleSet';
|
|
113
113
|
};
|
|
114
114
|
/**
|
|
115
115
|
* SQL Database - protects against SQL injection
|
|
116
116
|
*/
|
|
117
117
|
readonly SqlDatabase: {
|
|
118
|
-
readonly vendorName:
|
|
119
|
-
readonly ruleName:
|
|
118
|
+
readonly vendorName: 'AWS';
|
|
119
|
+
readonly ruleName: 'AWSManagedRulesSQLiRuleSet';
|
|
120
120
|
};
|
|
121
121
|
/**
|
|
122
122
|
* Linux Operating System - protects against Linux-specific exploits
|
|
123
123
|
*/
|
|
124
124
|
readonly LinuxOS: {
|
|
125
|
-
readonly vendorName:
|
|
126
|
-
readonly ruleName:
|
|
125
|
+
readonly vendorName: 'AWS';
|
|
126
|
+
readonly ruleName: 'AWSManagedRulesLinuxRuleSet';
|
|
127
127
|
};
|
|
128
128
|
/**
|
|
129
129
|
* POSIX Operating System - protects against POSIX-specific exploits
|
|
130
130
|
*/
|
|
131
131
|
readonly PosixOS: {
|
|
132
|
-
readonly vendorName:
|
|
133
|
-
readonly ruleName:
|
|
132
|
+
readonly vendorName: 'AWS';
|
|
133
|
+
readonly ruleName: 'AWSManagedRulesUnixRuleSet';
|
|
134
134
|
};
|
|
135
135
|
/**
|
|
136
136
|
* Amazon IP Reputation List - blocks IPs with poor reputation
|
|
137
137
|
*/
|
|
138
138
|
readonly AmazonIpReputation: {
|
|
139
|
-
readonly vendorName:
|
|
140
|
-
readonly ruleName:
|
|
139
|
+
readonly vendorName: 'AWS';
|
|
140
|
+
readonly ruleName: 'AWSManagedRulesAmazonIpReputationList';
|
|
141
141
|
};
|
|
142
142
|
/**
|
|
143
143
|
* Anonymous IP List - blocks requests from anonymizing services
|
|
144
144
|
*/
|
|
145
145
|
readonly AnonymousIpList: {
|
|
146
|
-
readonly vendorName:
|
|
147
|
-
readonly ruleName:
|
|
146
|
+
readonly vendorName: 'AWS';
|
|
147
|
+
readonly ruleName: 'AWSManagedRulesAnonymousIpList';
|
|
148
148
|
};
|
|
149
149
|
/**
|
|
150
150
|
* Bot Control - protects against bots and scrapers
|
|
151
151
|
*/
|
|
152
152
|
readonly BotControl: {
|
|
153
|
-
readonly vendorName:
|
|
154
|
-
readonly ruleName:
|
|
153
|
+
readonly vendorName: 'AWS';
|
|
154
|
+
readonly ruleName: 'AWSManagedRulesBotControlRuleSet';
|
|
155
155
|
};
|
|
156
156
|
};
|
|
157
157
|
/**
|
|
@@ -91,34 +91,34 @@ export declare class Storage {
|
|
|
91
91
|
* Trigger Lambda on any object creation
|
|
92
92
|
*/
|
|
93
93
|
onObjectCreated: (functionArn: string | {
|
|
94
|
-
|
|
94
|
+
'Fn::GetAtt': [string, string];
|
|
95
95
|
}) => {
|
|
96
96
|
functionArn: string | {
|
|
97
|
-
|
|
97
|
+
'Fn::GetAtt': [string, string];
|
|
98
98
|
};
|
|
99
|
-
events: readonly [
|
|
99
|
+
events: readonly ['s3:ObjectCreated:*'];
|
|
100
100
|
};
|
|
101
101
|
/**
|
|
102
102
|
* Trigger Lambda on object deletion
|
|
103
103
|
*/
|
|
104
104
|
onObjectRemoved: (functionArn: string | {
|
|
105
|
-
|
|
105
|
+
'Fn::GetAtt': [string, string];
|
|
106
106
|
}) => {
|
|
107
107
|
functionArn: string | {
|
|
108
|
-
|
|
108
|
+
'Fn::GetAtt': [string, string];
|
|
109
109
|
};
|
|
110
|
-
events: readonly [
|
|
110
|
+
events: readonly ['s3:ObjectRemoved:*'];
|
|
111
111
|
};
|
|
112
112
|
/**
|
|
113
113
|
* Trigger Lambda on image uploads (jpg, png, gif)
|
|
114
114
|
*/
|
|
115
115
|
onImageUpload: (functionArn: string | {
|
|
116
|
-
|
|
116
|
+
'Fn::GetAtt': [string, string];
|
|
117
117
|
}, prefix?: string) => {
|
|
118
118
|
functionArn: string | {
|
|
119
|
-
|
|
119
|
+
'Fn::GetAtt': [string, string];
|
|
120
120
|
};
|
|
121
|
-
events: readonly [
|
|
121
|
+
events: readonly ['s3:ObjectCreated:*'];
|
|
122
122
|
filter: {
|
|
123
123
|
prefix: string | undefined;
|
|
124
124
|
suffix: string;
|
|
@@ -128,12 +128,12 @@ export declare class Storage {
|
|
|
128
128
|
* Trigger Lambda on specific file type
|
|
129
129
|
*/
|
|
130
130
|
onFileType: (functionArn: string | {
|
|
131
|
-
|
|
131
|
+
'Fn::GetAtt': [string, string];
|
|
132
132
|
}, suffix: string, prefix?: string) => {
|
|
133
133
|
functionArn: string | {
|
|
134
|
-
|
|
134
|
+
'Fn::GetAtt': [string, string];
|
|
135
135
|
};
|
|
136
|
-
events: readonly [
|
|
136
|
+
events: readonly ['s3:ObjectCreated:*'];
|
|
137
137
|
filter: {
|
|
138
138
|
prefix: string | undefined;
|
|
139
139
|
suffix: string;
|
|
@@ -143,12 +143,12 @@ export declare class Storage {
|
|
|
143
143
|
* Trigger Lambda on uploads to specific folder
|
|
144
144
|
*/
|
|
145
145
|
onFolderUpload: (functionArn: string | {
|
|
146
|
-
|
|
146
|
+
'Fn::GetAtt': [string, string];
|
|
147
147
|
}, folder: string) => {
|
|
148
148
|
functionArn: string | {
|
|
149
|
-
|
|
149
|
+
'Fn::GetAtt': [string, string];
|
|
150
150
|
};
|
|
151
|
-
events: readonly [
|
|
151
|
+
events: readonly ['s3:ObjectCreated:*'];
|
|
152
152
|
filter: {
|
|
153
153
|
prefix: string;
|
|
154
154
|
};
|
|
@@ -39,13 +39,13 @@ export declare const RECOMMENDED_SCPS: {
|
|
|
39
39
|
policyDocument: {
|
|
40
40
|
Version: string;
|
|
41
41
|
Statement: readonly [{
|
|
42
|
-
readonly Sid:
|
|
43
|
-
readonly Effect:
|
|
44
|
-
readonly Action:
|
|
45
|
-
readonly Resource:
|
|
42
|
+
readonly Sid: 'DenyRootUser';
|
|
43
|
+
readonly Effect: 'Deny';
|
|
44
|
+
readonly Action: '*';
|
|
45
|
+
readonly Resource: '*';
|
|
46
46
|
readonly Condition: {
|
|
47
47
|
readonly StringLike: {
|
|
48
|
-
readonly 'aws:PrincipalArn':
|
|
48
|
+
readonly 'aws:PrincipalArn': 'arn:aws:iam::*:root';
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
51
|
}];
|
|
@@ -57,13 +57,13 @@ export declare const RECOMMENDED_SCPS: {
|
|
|
57
57
|
policyDocument: {
|
|
58
58
|
Version: string;
|
|
59
59
|
Statement: readonly [{
|
|
60
|
-
readonly Sid:
|
|
61
|
-
readonly Effect:
|
|
62
|
-
readonly Action:
|
|
63
|
-
readonly Resource:
|
|
60
|
+
readonly Sid: 'RequireMFA';
|
|
61
|
+
readonly Effect: 'Deny';
|
|
62
|
+
readonly Action: '*';
|
|
63
|
+
readonly Resource: '*';
|
|
64
64
|
readonly Condition: {
|
|
65
65
|
readonly BoolIfExists: {
|
|
66
|
-
readonly 'aws:MultiFactorAuthPresent':
|
|
66
|
+
readonly 'aws:MultiFactorAuthPresent': 'false';
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
}];
|
|
@@ -75,13 +75,13 @@ export declare const RECOMMENDED_SCPS: {
|
|
|
75
75
|
policyDocument: {
|
|
76
76
|
Version: string;
|
|
77
77
|
Statement: readonly [{
|
|
78
|
-
readonly Sid:
|
|
79
|
-
readonly Effect:
|
|
80
|
-
readonly NotAction: readonly [
|
|
81
|
-
readonly Resource:
|
|
78
|
+
readonly Sid: 'DenyNonApprovedRegions';
|
|
79
|
+
readonly Effect: 'Deny';
|
|
80
|
+
readonly NotAction: readonly ['iam:*', 'organizations:*', 'route53:*', 'cloudfront:*', 'support:*', 's3:*'];
|
|
81
|
+
readonly Resource: '*';
|
|
82
82
|
readonly Condition: {
|
|
83
83
|
readonly StringNotEquals: {
|
|
84
|
-
readonly 'aws:RequestedRegion': readonly [
|
|
84
|
+
readonly 'aws:RequestedRegion': readonly ['us-east-1', 'us-west-2'];
|
|
85
85
|
};
|
|
86
86
|
};
|
|
87
87
|
}];
|
|
@@ -93,10 +93,10 @@ export declare const RECOMMENDED_SCPS: {
|
|
|
93
93
|
policyDocument: {
|
|
94
94
|
Version: string;
|
|
95
95
|
Statement: readonly [{
|
|
96
|
-
readonly Sid:
|
|
97
|
-
readonly Effect:
|
|
98
|
-
readonly Action:
|
|
99
|
-
readonly Resource:
|
|
96
|
+
readonly Sid: 'PreventLeaving';
|
|
97
|
+
readonly Effect: 'Deny';
|
|
98
|
+
readonly Action: 'organizations:LeaveOrganization';
|
|
99
|
+
readonly Resource: '*';
|
|
100
100
|
}];
|
|
101
101
|
};
|
|
102
102
|
};
|
|
@@ -106,13 +106,13 @@ export declare const RECOMMENDED_SCPS: {
|
|
|
106
106
|
policyDocument: {
|
|
107
107
|
Version: string;
|
|
108
108
|
Statement: readonly [{
|
|
109
|
-
readonly Sid:
|
|
110
|
-
readonly Effect:
|
|
111
|
-
readonly Action:
|
|
112
|
-
readonly Resource:
|
|
109
|
+
readonly Sid: 'DenyUnencryptedS3Uploads';
|
|
110
|
+
readonly Effect: 'Deny';
|
|
111
|
+
readonly Action: 's3:PutObject';
|
|
112
|
+
readonly Resource: '*';
|
|
113
113
|
readonly Condition: {
|
|
114
114
|
readonly StringNotEquals: {
|
|
115
|
-
readonly 's3:x-amz-server-side-encryption': readonly [
|
|
115
|
+
readonly 's3:x-amz-server-side-encryption': readonly ['AES256', 'aws:kms'];
|
|
116
116
|
};
|
|
117
117
|
};
|
|
118
118
|
}];
|
|
@@ -126,22 +126,22 @@ export declare const COMMON_CROSS_ACCOUNT_ROLES: {
|
|
|
126
126
|
deploymentRole: {
|
|
127
127
|
name: string;
|
|
128
128
|
description: string;
|
|
129
|
-
permissions: readonly [
|
|
129
|
+
permissions: readonly ['cloudformation:*', 's3:*', 'ec2:*', 'ecs:*', 'lambda:*', 'iam:GetRole', 'iam:PassRole', 'logs:*', 'events:*'];
|
|
130
130
|
};
|
|
131
131
|
readOnlyRole: {
|
|
132
132
|
name: string;
|
|
133
133
|
description: string;
|
|
134
|
-
permissions: readonly [
|
|
134
|
+
permissions: readonly ['cloudformation:Describe*', 'cloudformation:List*', 'ec2:Describe*', 'ecs:Describe*', 'lambda:Get*', 'lambda:List*', 's3:Get*', 's3:List*', 'logs:Get*', 'logs:Describe*'];
|
|
135
135
|
};
|
|
136
136
|
securityAuditRole: {
|
|
137
137
|
name: string;
|
|
138
138
|
description: string;
|
|
139
|
-
permissions: readonly [
|
|
139
|
+
permissions: readonly ['iam:Get*', 'iam:List*', 'iam:Generate*', 'access-analyzer:*', 'guardduty:Get*', 'guardduty:List*', 'securityhub:Get*', 'securityhub:List*', 'config:Describe*', 'config:Get*', 'config:List*'];
|
|
140
140
|
};
|
|
141
141
|
breakGlassRole: {
|
|
142
142
|
name: string;
|
|
143
143
|
description: string;
|
|
144
|
-
permissions: readonly [
|
|
144
|
+
permissions: readonly ['*'];
|
|
145
145
|
};
|
|
146
146
|
};
|
|
147
147
|
/**
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { ServerlessAppConfig } from '../types';
|
|
12
12
|
/** Node major versions AWS provides a managed runtime for (`nodejs{N}.x`). */
|
|
13
|
-
export declare const MANAGED_NODE_VERSIONS: readonly [
|
|
13
|
+
export declare const MANAGED_NODE_VERSIONS: readonly ['18', '20', '22'];
|
|
14
14
|
export type RuntimeLayerKind = 'node' | 'bun' | 'php';
|
|
15
15
|
export interface ResolvedRuntime {
|
|
16
16
|
/** The Lambda `Runtime` value (e.g. `nodejs22.x` or `provided.al2023`). */
|
|
@@ -44,9 +44,9 @@ export declare class MmsSupport {
|
|
|
44
44
|
* Supported media types
|
|
45
45
|
*/
|
|
46
46
|
static readonly SupportedMediaTypes: {
|
|
47
|
-
readonly image: readonly [
|
|
48
|
-
readonly video: readonly [
|
|
49
|
-
readonly audio: readonly [
|
|
47
|
+
readonly image: readonly ['image/jpeg', 'image/png', 'image/gif'];
|
|
48
|
+
readonly video: readonly ['video/mp4', 'video/3gpp'];
|
|
49
|
+
readonly audio: readonly ['audio/mpeg', 'audio/wav'];
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
52
|
* Media size limits (in bytes)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ts-cloud/core",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Core CloudFormation generation library for ts-cloud",
|
|
6
6
|
"author": "Chris Breuer <chris@stacksjs.com>",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"typecheck": "tsc --noEmit"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ts-cloud/aws-types": "0.7.
|
|
34
|
+
"@ts-cloud/aws-types": "0.7.13"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"typescript": "^
|
|
37
|
+
"typescript": "^7.0.2"
|
|
38
38
|
}
|
|
39
39
|
}
|