@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.
@@ -114,46 +114,46 @@ export declare class Permissions {
114
114
  * AWS Managed Policies (common)
115
115
  */
116
116
  static readonly ManagedPolicies: {
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";
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: "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";
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
@@ -120,30 +120,30 @@ export declare class Queue {
120
120
  * Common cron expressions
121
121
  */
122
122
  static readonly CronExpressions: {
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 * ? *)";
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: "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)";
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?: "linear" | "exponential" | "fixed";
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, "backoff" | "backoffDelay" | "maxDelay" | "jitter">) => number;
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: "exponential";
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: "exponential";
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: "exponential";
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: "exponential";
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: "fixed";
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?: "http" | "https") => DomainRedirectOptions;
60
+ wwwToApex: (domain: string, protocol?: 'http' | 'https') => DomainRedirectOptions;
61
61
  /**
62
62
  * non-www to www redirect
63
63
  */
64
- apexToWww: (domain: string, protocol?: "http" | "https") => DomainRedirectOptions;
64
+ apexToWww: (domain: string, protocol?: 'http' | 'https') => DomainRedirectOptions;
65
65
  /**
66
66
  * HTTP to HTTPS redirect (handled at CloudFront/ALB level typically)
67
67
  */
@@ -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["vpc"]) => {
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["vpc"]) => {
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: "AWS";
105
- readonly ruleName: "AWSManagedRulesCommonRuleSet";
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: "AWS";
112
- readonly ruleName: "AWSManagedRulesKnownBadInputsRuleSet";
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: "AWS";
119
- readonly ruleName: "AWSManagedRulesSQLiRuleSet";
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: "AWS";
126
- readonly ruleName: "AWSManagedRulesLinuxRuleSet";
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: "AWS";
133
- readonly ruleName: "AWSManagedRulesUnixRuleSet";
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: "AWS";
140
- readonly ruleName: "AWSManagedRulesAmazonIpReputationList";
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: "AWS";
147
- readonly ruleName: "AWSManagedRulesAnonymousIpList";
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: "AWS";
154
- readonly ruleName: "AWSManagedRulesBotControlRuleSet";
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
- "Fn::GetAtt": [string, string];
94
+ 'Fn::GetAtt': [string, string];
95
95
  }) => {
96
96
  functionArn: string | {
97
- "Fn::GetAtt": [string, string];
97
+ 'Fn::GetAtt': [string, string];
98
98
  };
99
- events: readonly ["s3:ObjectCreated:*"];
99
+ events: readonly ['s3:ObjectCreated:*'];
100
100
  };
101
101
  /**
102
102
  * Trigger Lambda on object deletion
103
103
  */
104
104
  onObjectRemoved: (functionArn: string | {
105
- "Fn::GetAtt": [string, string];
105
+ 'Fn::GetAtt': [string, string];
106
106
  }) => {
107
107
  functionArn: string | {
108
- "Fn::GetAtt": [string, string];
108
+ 'Fn::GetAtt': [string, string];
109
109
  };
110
- events: readonly ["s3:ObjectRemoved:*"];
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
- "Fn::GetAtt": [string, string];
116
+ 'Fn::GetAtt': [string, string];
117
117
  }, prefix?: string) => {
118
118
  functionArn: string | {
119
- "Fn::GetAtt": [string, string];
119
+ 'Fn::GetAtt': [string, string];
120
120
  };
121
- events: readonly ["s3:ObjectCreated:*"];
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
- "Fn::GetAtt": [string, string];
131
+ 'Fn::GetAtt': [string, string];
132
132
  }, suffix: string, prefix?: string) => {
133
133
  functionArn: string | {
134
- "Fn::GetAtt": [string, string];
134
+ 'Fn::GetAtt': [string, string];
135
135
  };
136
- events: readonly ["s3:ObjectCreated:*"];
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
- "Fn::GetAtt": [string, string];
146
+ 'Fn::GetAtt': [string, string];
147
147
  }, folder: string) => {
148
148
  functionArn: string | {
149
- "Fn::GetAtt": [string, string];
149
+ 'Fn::GetAtt': [string, string];
150
150
  };
151
- events: readonly ["s3:ObjectCreated:*"];
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: "DenyRootUser";
43
- readonly Effect: "Deny";
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': "arn:aws:iam::*:root";
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: "RequireMFA";
61
- readonly Effect: "Deny";
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': "false";
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: "DenyNonApprovedRegions";
79
- readonly Effect: "Deny";
80
- readonly NotAction: readonly ["iam:*", "organizations:*", "route53:*", "cloudfront:*", "support:*", "s3:*"];
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 ["us-east-1", "us-west-2"];
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: "PreventLeaving";
97
- readonly Effect: "Deny";
98
- readonly Action: "organizations:LeaveOrganization";
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: "DenyUnencryptedS3Uploads";
110
- readonly Effect: "Deny";
111
- readonly Action: "s3:PutObject";
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 ["AES256", "aws:kms"];
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 ["cloudformation:*", "s3:*", "ec2:*", "ecs:*", "lambda:*", "iam:GetRole", "iam:PassRole", "logs:*", "events:*"];
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 ["cloudformation:Describe*", "cloudformation:List*", "ec2:Describe*", "ecs:Describe*", "lambda:Get*", "lambda:List*", "s3:Get*", "s3:List*", "logs:Get*", "logs:Describe*"];
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 ["iam:Get*", "iam:List*", "iam:Generate*", "access-analyzer:*", "guardduty:Get*", "guardduty:List*", "securityhub:Get*", "securityhub:List*", "config:Describe*", "config:Get*", "config:List*"];
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 ["18", "20", "22"];
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 ["image/jpeg", "image/png", "image/gif"];
48
- readonly video: readonly ["video/mp4", "video/3gpp"];
49
- readonly audio: readonly ["audio/mpeg", "audio/wav"];
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.12",
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.12"
34
+ "@ts-cloud/aws-types": "0.7.13"
35
35
  },
36
36
  "devDependencies": {
37
- "typescript": "^5.9.3"
37
+ "typescript": "^7.0.2"
38
38
  }
39
39
  }