@bitblit/ratchet-aws 4.0.80-alpha
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/cjs/batch/aws-batch-background-processor.js +44 -0
- package/dist/cjs/batch/aws-batch-ratchet.js +55 -0
- package/dist/cjs/build/ratchet-aws-info.js +18 -0
- package/dist/cjs/cache/dynamo-db-storage-provider.js +111 -0
- package/dist/cjs/cache/s3-storage-provider.js +44 -0
- package/dist/cjs/cache/simple-cache-object-wrapper.js +2 -0
- package/dist/cjs/cache/simple-cache-read-options.js +2 -0
- package/dist/cjs/cache/simple-cache-storage-provider.js +2 -0
- package/dist/cjs/cache/simple-cache.js +66 -0
- package/dist/cjs/cloudwatch/cloud-watch-log-group-ratchet.js +73 -0
- package/dist/cjs/cloudwatch/cloud-watch-logs-ratchet.js +173 -0
- package/dist/cjs/cloudwatch/cloud-watch-metrics-ratchet.js +57 -0
- package/dist/cjs/daemon/daemon-like.js +2 -0
- package/dist/cjs/daemon/daemon-process-create-options.js +2 -0
- package/dist/cjs/daemon/daemon-process-state-public-token.js +2 -0
- package/dist/cjs/daemon/daemon-process-state.js +2 -0
- package/dist/cjs/daemon/daemon-util.js +152 -0
- package/dist/cjs/daemon/daemon.js +126 -0
- package/dist/cjs/dao/prototype-dao-config.js +2 -0
- package/dist/cjs/dao/prototype-dao-db.js +2 -0
- package/dist/cjs/dao/prototype-dao-provider.js +2 -0
- package/dist/cjs/dao/prototype-dao.js +88 -0
- package/dist/cjs/dao/s3-prototype-dao-provider.js +28 -0
- package/dist/cjs/dao/s3-simple-dao.js +78 -0
- package/dist/cjs/dao/simple-dao-item.js +2 -0
- package/dist/cjs/dynamodb/dynamo-ratchet-like.js +2 -0
- package/dist/cjs/dynamodb/dynamo-ratchet.js +667 -0
- package/dist/cjs/dynamodb/dynamo-table-ratchet.js +91 -0
- package/dist/cjs/dynamodb/hash-spreader.js +62 -0
- package/dist/cjs/ec2/ec2-ratchet.js +107 -0
- package/dist/cjs/environment/cascade-environment-service-provider.js +27 -0
- package/dist/cjs/environment/env-var-environment-service-provider.js +33 -0
- package/dist/cjs/environment/environment-service-config.js +2 -0
- package/dist/cjs/environment/environment-service-provider.js +2 -0
- package/dist/cjs/environment/environment-service.js +52 -0
- package/dist/cjs/environment/fixed-environment-service-provider.js +24 -0
- package/dist/cjs/environment/s3-environment-service-provider.js +29 -0
- package/dist/cjs/environment/ssm-environment-service-provider.js +61 -0
- package/dist/cjs/expiring-code/dynamo-expiring-code-provider.js +26 -0
- package/dist/cjs/expiring-code/expiring-code-params.js +2 -0
- package/dist/cjs/expiring-code/expiring-code-provider.js +2 -0
- package/dist/cjs/expiring-code/expiring-code-ratchet.js +37 -0
- package/dist/cjs/expiring-code/expiring-code.js +2 -0
- package/dist/cjs/expiring-code/s3-expiring-code-provider.js +49 -0
- package/dist/cjs/iam/aws-credentials-ratchet.js +21 -0
- package/dist/cjs/index.js +81 -0
- package/dist/cjs/lambda/lambda-event-detector.js +42 -0
- package/dist/cjs/lambda/lambda-event-type-guards.js +28 -0
- package/dist/cjs/model/cloud-watch-metrics-minute-level-dynamo-count-request.js +2 -0
- package/dist/cjs/model/cloud-watch-metrics-unit.js +33 -0
- package/dist/cjs/model/dynamo/doc-put-item-command-input.js +2 -0
- package/dist/cjs/model/dynamo/doc-query-command-input.js +2 -0
- package/dist/cjs/model/dynamo/doc-scan-command-input.js +2 -0
- package/dist/cjs/model/dynamo/doc-update-item-command-input.js +2 -0
- package/dist/cjs/model/dynamo-count-result.js +2 -0
- package/dist/cjs/route53/route-53-ratchet.js +57 -0
- package/dist/cjs/runtime-parameter/cached-stored-runtime-parameter.js +2 -0
- package/dist/cjs/runtime-parameter/dynamo-runtime-parameter-provider.js +38 -0
- package/dist/cjs/runtime-parameter/global-variable-override-runtime-parameter-provider.js +54 -0
- package/dist/cjs/runtime-parameter/memory-runtime-parameter-provider.js +30 -0
- package/dist/cjs/runtime-parameter/runtime-parameter-provider.js +2 -0
- package/dist/cjs/runtime-parameter/runtime-parameter-ratchet.js +74 -0
- package/dist/cjs/runtime-parameter/stored-runtime-parameter.js +2 -0
- package/dist/cjs/s3/s3-cache-ratchet.js +332 -0
- package/dist/cjs/s3/s3-cache-to-local-disk-ratchet.js +105 -0
- package/dist/cjs/s3/s3-location-sync-ratchet.js +142 -0
- package/dist/cjs/s3/s3-ratchet.js +26 -0
- package/dist/cjs/ses/email-attachment.js +2 -0
- package/dist/cjs/ses/mailer-config.js +2 -0
- package/dist/cjs/ses/mailer-like.js +2 -0
- package/dist/cjs/ses/mailer.js +208 -0
- package/dist/cjs/ses/ratchet-template-renderer.js +2 -0
- package/dist/cjs/ses/ready-to-send-email.js +2 -0
- package/dist/cjs/ses/remote-handlebars-template-renderer.js +79 -0
- package/dist/cjs/ses/resolved-ready-to-send-email.js +2 -0
- package/dist/cjs/sns/sns-ratchet.js +47 -0
- package/dist/cjs/sync-lock/dynamo-db-sync-lock.js +69 -0
- package/dist/cjs/sync-lock/memory-sync-lock.js +40 -0
- package/dist/cjs/sync-lock/sync-lock-provider.js +2 -0
- package/dist/es/batch/aws-batch-background-processor.js +40 -0
- package/dist/es/batch/aws-batch-ratchet.js +51 -0
- package/dist/es/build/ratchet-aws-info.js +14 -0
- package/dist/es/cache/dynamo-db-storage-provider.js +107 -0
- package/dist/es/cache/s3-storage-provider.js +40 -0
- package/dist/es/cache/simple-cache-object-wrapper.js +1 -0
- package/dist/es/cache/simple-cache-read-options.js +1 -0
- package/dist/es/cache/simple-cache-storage-provider.js +1 -0
- package/dist/es/cache/simple-cache.js +62 -0
- package/dist/es/cloudwatch/cloud-watch-log-group-ratchet.js +69 -0
- package/dist/es/cloudwatch/cloud-watch-logs-ratchet.js +169 -0
- package/dist/es/cloudwatch/cloud-watch-metrics-ratchet.js +53 -0
- package/dist/es/daemon/daemon-like.js +1 -0
- package/dist/es/daemon/daemon-process-create-options.js +1 -0
- package/dist/es/daemon/daemon-process-state-public-token.js +1 -0
- package/dist/es/daemon/daemon-process-state.js +1 -0
- package/dist/es/daemon/daemon-util.js +148 -0
- package/dist/es/daemon/daemon.js +122 -0
- package/dist/es/dao/prototype-dao-config.js +1 -0
- package/dist/es/dao/prototype-dao-db.js +1 -0
- package/dist/es/dao/prototype-dao-provider.js +1 -0
- package/dist/es/dao/prototype-dao.js +84 -0
- package/dist/es/dao/s3-prototype-dao-provider.js +24 -0
- package/dist/es/dao/s3-simple-dao.js +74 -0
- package/dist/es/dao/simple-dao-item.js +1 -0
- package/dist/es/dynamodb/dynamo-ratchet-like.js +1 -0
- package/dist/es/dynamodb/dynamo-ratchet.js +663 -0
- package/dist/es/dynamodb/dynamo-table-ratchet.js +87 -0
- package/dist/es/dynamodb/hash-spreader.js +58 -0
- package/dist/es/ec2/ec2-ratchet.js +103 -0
- package/dist/es/environment/cascade-environment-service-provider.js +23 -0
- package/dist/es/environment/env-var-environment-service-provider.js +29 -0
- package/dist/es/environment/environment-service-config.js +1 -0
- package/dist/es/environment/environment-service-provider.js +1 -0
- package/dist/es/environment/environment-service.js +48 -0
- package/dist/es/environment/fixed-environment-service-provider.js +20 -0
- package/dist/es/environment/s3-environment-service-provider.js +25 -0
- package/dist/es/environment/ssm-environment-service-provider.js +56 -0
- package/dist/es/expiring-code/dynamo-expiring-code-provider.js +22 -0
- package/dist/es/expiring-code/expiring-code-params.js +1 -0
- package/dist/es/expiring-code/expiring-code-provider.js +1 -0
- package/dist/es/expiring-code/expiring-code-ratchet.js +33 -0
- package/dist/es/expiring-code/expiring-code.js +1 -0
- package/dist/es/expiring-code/s3-expiring-code-provider.js +45 -0
- package/dist/es/iam/aws-credentials-ratchet.js +17 -0
- package/dist/es/index.js +78 -0
- package/dist/es/lambda/lambda-event-detector.js +38 -0
- package/dist/es/lambda/lambda-event-type-guards.js +24 -0
- package/dist/es/model/cloud-watch-metrics-minute-level-dynamo-count-request.js +1 -0
- package/dist/es/model/cloud-watch-metrics-unit.js +30 -0
- package/dist/es/model/dynamo/doc-put-item-command-input.js +1 -0
- package/dist/es/model/dynamo/doc-query-command-input.js +1 -0
- package/dist/es/model/dynamo/doc-scan-command-input.js +1 -0
- package/dist/es/model/dynamo/doc-update-item-command-input.js +1 -0
- package/dist/es/model/dynamo-count-result.js +1 -0
- package/dist/es/route53/route-53-ratchet.js +53 -0
- package/dist/es/runtime-parameter/cached-stored-runtime-parameter.js +1 -0
- package/dist/es/runtime-parameter/dynamo-runtime-parameter-provider.js +34 -0
- package/dist/es/runtime-parameter/global-variable-override-runtime-parameter-provider.js +49 -0
- package/dist/es/runtime-parameter/memory-runtime-parameter-provider.js +26 -0
- package/dist/es/runtime-parameter/runtime-parameter-provider.js +1 -0
- package/dist/es/runtime-parameter/runtime-parameter-ratchet.js +70 -0
- package/dist/es/runtime-parameter/stored-runtime-parameter.js +1 -0
- package/dist/es/s3/s3-cache-ratchet.js +328 -0
- package/dist/es/s3/s3-cache-to-local-disk-ratchet.js +100 -0
- package/dist/es/s3/s3-location-sync-ratchet.js +137 -0
- package/dist/es/s3/s3-ratchet.js +22 -0
- package/dist/es/ses/email-attachment.js +1 -0
- package/dist/es/ses/mailer-config.js +1 -0
- package/dist/es/ses/mailer-like.js +1 -0
- package/dist/es/ses/mailer.js +204 -0
- package/dist/es/ses/ratchet-template-renderer.js +1 -0
- package/dist/es/ses/ready-to-send-email.js +1 -0
- package/dist/es/ses/remote-handlebars-template-renderer.js +74 -0
- package/dist/es/ses/resolved-ready-to-send-email.js +1 -0
- package/dist/es/sns/sns-ratchet.js +43 -0
- package/dist/es/sync-lock/dynamo-db-sync-lock.js +65 -0
- package/dist/es/sync-lock/memory-sync-lock.js +36 -0
- package/dist/es/sync-lock/sync-lock-provider.js +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.es.tsbuildinfo +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/batch/aws-batch-background-processor.d.ts +12 -0
- package/dist/types/batch/aws-batch-ratchet.d.ts +16 -0
- package/dist/types/build/ratchet-aws-info.d.ts +5 -0
- package/dist/types/cache/dynamo-db-storage-provider.d.ts +25 -0
- package/dist/types/cache/s3-storage-provider.d.ts +14 -0
- package/dist/types/cache/simple-cache-object-wrapper.d.ts +7 -0
- package/dist/types/cache/simple-cache-read-options.d.ts +5 -0
- package/dist/types/cache/simple-cache-storage-provider.d.ts +8 -0
- package/dist/types/cache/simple-cache.d.ts +14 -0
- package/dist/types/cloudwatch/cloud-watch-log-group-ratchet.d.ts +9 -0
- package/dist/types/cloudwatch/cloud-watch-logs-ratchet.d.ts +14 -0
- package/dist/types/cloudwatch/cloud-watch-metrics-ratchet.d.ts +10 -0
- package/dist/types/daemon/daemon-like.d.ts +17 -0
- package/dist/types/daemon/daemon-process-create-options.d.ts +7 -0
- package/dist/types/daemon/daemon-process-state-public-token.d.ts +4 -0
- package/dist/types/daemon/daemon-process-state.d.ts +13 -0
- package/dist/types/daemon/daemon-util.d.ts +24 -0
- package/dist/types/daemon/daemon.d.ts +33 -0
- package/dist/types/dao/prototype-dao-config.d.ts +8 -0
- package/dist/types/dao/prototype-dao-db.d.ts +4 -0
- package/dist/types/dao/prototype-dao-provider.d.ts +5 -0
- package/dist/types/dao/prototype-dao.d.ts +15 -0
- package/dist/types/dao/s3-prototype-dao-provider.d.ts +10 -0
- package/dist/types/dao/s3-simple-dao.d.ts +15 -0
- package/dist/types/dao/simple-dao-item.d.ts +5 -0
- package/dist/types/dynamodb/dynamo-ratchet-like.d.ts +27 -0
- package/dist/types/dynamodb/dynamo-ratchet.d.ts +36 -0
- package/dist/types/dynamodb/dynamo-table-ratchet.d.ts +11 -0
- package/dist/types/dynamodb/hash-spreader.d.ts +15 -0
- package/dist/types/ec2/ec2-ratchet.d.ts +25 -0
- package/dist/types/environment/cascade-environment-service-provider.d.ts +9 -0
- package/dist/types/environment/env-var-environment-service-provider.d.ts +10 -0
- package/dist/types/environment/environment-service-config.d.ts +7 -0
- package/dist/types/environment/environment-service-provider.d.ts +7 -0
- package/dist/types/environment/environment-service.d.ts +14 -0
- package/dist/types/environment/fixed-environment-service-provider.d.ts +10 -0
- package/dist/types/environment/s3-environment-service-provider.d.ts +18 -0
- package/dist/types/environment/ssm-environment-service-provider.d.ts +12 -0
- package/dist/types/expiring-code/dynamo-expiring-code-provider.d.ts +12 -0
- package/dist/types/expiring-code/expiring-code-params.d.ts +7 -0
- package/dist/types/expiring-code/expiring-code-provider.d.ts +5 -0
- package/dist/types/expiring-code/expiring-code-ratchet.d.ts +13 -0
- package/dist/types/expiring-code/expiring-code.d.ts +6 -0
- package/dist/types/expiring-code/s3-expiring-code-provider.d.ts +17 -0
- package/dist/types/iam/aws-credentials-ratchet.d.ts +9 -0
- package/dist/types/index.d.ts +81 -0
- package/dist/types/lambda/lambda-event-detector.d.ts +14 -0
- package/dist/types/lambda/lambda-event-type-guards.d.ts +10 -0
- package/dist/types/model/cloud-watch-metrics-minute-level-dynamo-count-request.d.ts +12 -0
- package/dist/types/model/cloud-watch-metrics-unit.d.ts +29 -0
- package/dist/types/model/dynamo/doc-put-item-command-input.d.ts +4 -0
- package/dist/types/model/dynamo/doc-query-command-input.d.ts +5 -0
- package/dist/types/model/dynamo/doc-scan-command-input.d.ts +5 -0
- package/dist/types/model/dynamo/doc-update-item-command-input.d.ts +5 -0
- package/dist/types/model/dynamo-count-result.d.ts +5 -0
- package/dist/types/route53/route-53-ratchet.d.ts +7 -0
- package/dist/types/runtime-parameter/cached-stored-runtime-parameter.d.ts +4 -0
- package/dist/types/runtime-parameter/dynamo-runtime-parameter-provider.d.ts +11 -0
- package/dist/types/runtime-parameter/global-variable-override-runtime-parameter-provider.d.ts +24 -0
- package/dist/types/runtime-parameter/memory-runtime-parameter-provider.d.ts +13 -0
- package/dist/types/runtime-parameter/runtime-parameter-provider.d.ts +11 -0
- package/dist/types/runtime-parameter/runtime-parameter-ratchet.d.ts +15 -0
- package/dist/types/runtime-parameter/stored-runtime-parameter.d.ts +6 -0
- package/dist/types/s3/s3-cache-ratchet.d.ts +38 -0
- package/dist/types/s3/s3-cache-to-local-disk-ratchet.d.ts +21 -0
- package/dist/types/s3/s3-location-sync-ratchet.d.ts +21 -0
- package/dist/types/s3/s3-ratchet.d.ts +5 -0
- package/dist/types/ses/email-attachment.d.ts +23 -0
- package/dist/types/ses/mailer-config.d.ts +15 -0
- package/dist/types/ses/mailer-like.d.ts +18 -0
- package/dist/types/ses/mailer.d.ts +26 -0
- package/dist/types/ses/ratchet-template-renderer.d.ts +8 -0
- package/dist/types/ses/ready-to-send-email.d.ts +66 -0
- package/dist/types/ses/remote-handlebars-template-renderer.d.ts +15 -0
- package/dist/types/ses/resolved-ready-to-send-email.d.ts +16 -0
- package/dist/types/sns/sns-ratchet.d.ts +8 -0
- package/dist/types/sync-lock/dynamo-db-sync-lock.d.ts +10 -0
- package/dist/types/sync-lock/memory-sync-lock.d.ts +11 -0
- package/dist/types/sync-lock/sync-lock-provider.d.ts +5 -0
- package/package.json +112 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ExpiringCodeProvider } from './expiring-code-provider';
|
|
2
|
+
import { ExpiringCode } from './expiring-code';
|
|
3
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
|
|
4
|
+
import { PutObjectOutput } from '@aws-sdk/client-s3';
|
|
5
|
+
export declare class S3ExpiringCodeProvider implements ExpiringCodeProvider {
|
|
6
|
+
private s3CacheRatchet;
|
|
7
|
+
private keyName;
|
|
8
|
+
constructor(s3CacheRatchet: S3CacheRatchet, keyName: string);
|
|
9
|
+
fetchFile(): Promise<S3ExpiringCodeProviderFileWrapper>;
|
|
10
|
+
updateFile(vals: ExpiringCode[]): Promise<PutObjectOutput>;
|
|
11
|
+
checkCode(code: string, context: string, deleteOnMatch?: boolean): Promise<boolean>;
|
|
12
|
+
storeCode(code: ExpiringCode): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
export interface S3ExpiringCodeProviderFileWrapper {
|
|
15
|
+
data: ExpiringCode[];
|
|
16
|
+
lastModifiedEpochMS: number;
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ratchet for manipulating credentials
|
|
3
|
+
*
|
|
4
|
+
* Mainly here so I don't have to remember certain specific AWS environmental variable names
|
|
5
|
+
*/
|
|
6
|
+
export declare class AwsCredentialsRatchet {
|
|
7
|
+
private constructor();
|
|
8
|
+
static applySetProfileEnvironmentalVariable(newProfile: string): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from './batch/aws-batch-background-processor';
|
|
5
|
+
export * from './batch/aws-batch-ratchet';
|
|
6
|
+
export * from './build/ratchet-aws-info';
|
|
7
|
+
export * from './cache/dynamo-db-storage-provider';
|
|
8
|
+
export * from './cache/s3-storage-provider';
|
|
9
|
+
export * from './cache/simple-cache-object-wrapper';
|
|
10
|
+
export * from './cache/simple-cache-read-options';
|
|
11
|
+
export * from './cache/simple-cache-storage-provider';
|
|
12
|
+
export * from './cache/simple-cache';
|
|
13
|
+
export * from './cloudwatch/cloud-watch-log-group-ratchet';
|
|
14
|
+
export * from './cloudwatch/cloud-watch-logs-ratchet';
|
|
15
|
+
export * from './cloudwatch/cloud-watch-metrics-ratchet';
|
|
16
|
+
export * from './daemon/daemon-like';
|
|
17
|
+
export * from './daemon/daemon-process-create-options';
|
|
18
|
+
export * from './daemon/daemon-process-state-public-token';
|
|
19
|
+
export * from './daemon/daemon-process-state';
|
|
20
|
+
export * from './daemon/daemon-util';
|
|
21
|
+
export * from './daemon/daemon';
|
|
22
|
+
export * from './dao/prototype-dao-config';
|
|
23
|
+
export * from './dao/prototype-dao-db';
|
|
24
|
+
export * from './dao/prototype-dao-provider';
|
|
25
|
+
export * from './dao/prototype-dao';
|
|
26
|
+
export * from './dao/s3-prototype-dao-provider';
|
|
27
|
+
export * from './dao/s3-simple-dao';
|
|
28
|
+
export * from './dao/simple-dao-item';
|
|
29
|
+
export * from './dynamodb/dynamo-ratchet-like';
|
|
30
|
+
export * from './dynamodb/dynamo-ratchet';
|
|
31
|
+
export * from './dynamodb/dynamo-table-ratchet';
|
|
32
|
+
export * from './dynamodb/hash-spreader';
|
|
33
|
+
export * from './ec2/ec2-ratchet';
|
|
34
|
+
export * from './environment/cascade-environment-service-provider';
|
|
35
|
+
export * from './environment/env-var-environment-service-provider';
|
|
36
|
+
export * from './environment/environment-service-config';
|
|
37
|
+
export * from './environment/environment-service-provider';
|
|
38
|
+
export * from './environment/environment-service';
|
|
39
|
+
export * from './environment/fixed-environment-service-provider';
|
|
40
|
+
export * from './environment/s3-environment-service-provider';
|
|
41
|
+
export * from './environment/ssm-environment-service-provider';
|
|
42
|
+
export * from './expiring-code/dynamo-expiring-code-provider';
|
|
43
|
+
export * from './expiring-code/expiring-code-params';
|
|
44
|
+
export * from './expiring-code/expiring-code-provider';
|
|
45
|
+
export * from './expiring-code/expiring-code-ratchet';
|
|
46
|
+
export * from './expiring-code/expiring-code';
|
|
47
|
+
export * from './expiring-code/s3-expiring-code-provider';
|
|
48
|
+
export * from './iam/aws-credentials-ratchet';
|
|
49
|
+
export * from './lambda/lambda-event-detector';
|
|
50
|
+
export * from './lambda/lambda-event-type-guards';
|
|
51
|
+
export * from './model/cloud-watch-metrics-minute-level-dynamo-count-request';
|
|
52
|
+
export * from './model/cloud-watch-metrics-unit';
|
|
53
|
+
export * from './model/dynamo-count-result';
|
|
54
|
+
export * from './model/dynamo/doc-put-item-command-input';
|
|
55
|
+
export * from './model/dynamo/doc-query-command-input';
|
|
56
|
+
export * from './model/dynamo/doc-scan-command-input';
|
|
57
|
+
export * from './model/dynamo/doc-update-item-command-input';
|
|
58
|
+
export * from './route53/route-53-ratchet';
|
|
59
|
+
export * from './runtime-parameter/cached-stored-runtime-parameter';
|
|
60
|
+
export * from './runtime-parameter/dynamo-runtime-parameter-provider';
|
|
61
|
+
export * from './runtime-parameter/global-variable-override-runtime-parameter-provider';
|
|
62
|
+
export * from './runtime-parameter/memory-runtime-parameter-provider';
|
|
63
|
+
export * from './runtime-parameter/runtime-parameter-provider';
|
|
64
|
+
export * from './runtime-parameter/runtime-parameter-ratchet';
|
|
65
|
+
export * from './runtime-parameter/stored-runtime-parameter';
|
|
66
|
+
export * from './s3/s3-cache-ratchet';
|
|
67
|
+
export * from './s3/s3-cache-to-local-disk-ratchet';
|
|
68
|
+
export * from './s3/s3-location-sync-ratchet';
|
|
69
|
+
export * from './s3/s3-ratchet';
|
|
70
|
+
export * from './ses/email-attachment';
|
|
71
|
+
export * from './ses/mailer-config';
|
|
72
|
+
export * from './ses/mailer-like';
|
|
73
|
+
export * from './ses/mailer';
|
|
74
|
+
export * from './ses/ratchet-template-renderer';
|
|
75
|
+
export * from './ses/ready-to-send-email';
|
|
76
|
+
export * from './ses/remote-handlebars-template-renderer';
|
|
77
|
+
export * from './ses/resolved-ready-to-send-email';
|
|
78
|
+
export * from './sns/sns-ratchet';
|
|
79
|
+
export * from './sync-lock/dynamo-db-sync-lock';
|
|
80
|
+
export * from './sync-lock/memory-sync-lock';
|
|
81
|
+
export * from './sync-lock/sync-lock-provider';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class LambdaEventDetector {
|
|
2
|
+
static isValidCronEvent(event: any): boolean;
|
|
3
|
+
static isValidSnsEvent(event: any): boolean;
|
|
4
|
+
static isValidDynamoDBEvent(event: any): boolean;
|
|
5
|
+
static isValidS3Event(event: any): boolean;
|
|
6
|
+
static isValidApiGatewayV2WithRequestContextEvent(event: any): boolean;
|
|
7
|
+
static isValidApiGatewayEvent(event: any): boolean;
|
|
8
|
+
static isValidApiGatewayAuthorizerEvent(event: any): boolean;
|
|
9
|
+
static isSingleCronEvent(event: any): boolean;
|
|
10
|
+
static isSingleSnsEvent(event: any): boolean;
|
|
11
|
+
static isSingleDynamoDBEvent(event: any): boolean;
|
|
12
|
+
static isSingleS3Event(event: any): boolean;
|
|
13
|
+
static isSingleEntryEvent(event: any, entryName?: string): boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { APIGatewayEvent, APIGatewayProxyEventV2, DynamoDBStreamEvent, S3Event, ScheduledEvent, SNSEvent } from 'aws-lambda';
|
|
2
|
+
export declare class LambdaEventTypeGuards {
|
|
3
|
+
static isValidCronEvent(event: any): event is ScheduledEvent;
|
|
4
|
+
static isValidSnsEvent(event: any): event is SNSEvent;
|
|
5
|
+
static isValidDynamoDBEvent(event: any): event is DynamoDBStreamEvent;
|
|
6
|
+
static isValidS3Event(event: any): event is S3Event;
|
|
7
|
+
static isValidApiGatewayV2WithRequestContextEvent(event: any): event is APIGatewayProxyEventV2;
|
|
8
|
+
static isValidApiGatewayEvent(event: any): event is APIGatewayEvent;
|
|
9
|
+
static isValidApiGatewayAuthorizerEvent(event: any): boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KeyValue } from '@bitblit/ratchet-common';
|
|
2
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet';
|
|
3
|
+
import { QueryInput, ScanCommandInput } from '@aws-sdk/client-dynamodb';
|
|
4
|
+
export interface CloudWatchMetricsMinuteLevelDynamoCountRequest {
|
|
5
|
+
dynamoRatchet: DynamoRatchet;
|
|
6
|
+
query: QueryInput;
|
|
7
|
+
scan: ScanCommandInput;
|
|
8
|
+
minuteUTC: string;
|
|
9
|
+
namespace: string;
|
|
10
|
+
metric: string;
|
|
11
|
+
dims: KeyValue[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare enum CloudWatchMetricsUnit {
|
|
2
|
+
Seconds = "Seconds",
|
|
3
|
+
Microseconds = "Microseconds",
|
|
4
|
+
Milliseconds = "Milliseconds",
|
|
5
|
+
Bytes = "Bytes",
|
|
6
|
+
Kilobytes = "Kilobytes",
|
|
7
|
+
Megabytes = "Megabytes",
|
|
8
|
+
Gigabytes = "Gigabytes",
|
|
9
|
+
Terabytes = "Terabytes",
|
|
10
|
+
Bits = "Bits",
|
|
11
|
+
Kilobits = "Kilobits",
|
|
12
|
+
Megabits = "Megabits",
|
|
13
|
+
Gigabits = "Gigabits",
|
|
14
|
+
Terabits = "Terabits",
|
|
15
|
+
Percent = "Percent",
|
|
16
|
+
Count = "Count",
|
|
17
|
+
BytesPerSecond = "Bytes/Second",
|
|
18
|
+
KilobytesPerSecond = "Kilobytes/Second",
|
|
19
|
+
MegabytesPerSecond = "Megabytes/Second",
|
|
20
|
+
GigabytesPerSecond = "Gigabytes/Second",
|
|
21
|
+
TerabytesPerSecond = "Terabytes/Second",
|
|
22
|
+
BitsPerSecond = "Terabytes/Second",
|
|
23
|
+
KilobitsPerSecond = "Kilobits/Second",
|
|
24
|
+
MegabitsPerSecond = "Megabits/Second",
|
|
25
|
+
GigabitsPerSecond = "Gigabits/Second",
|
|
26
|
+
TerabitsPerSecond = "Terabits/Second",
|
|
27
|
+
CountPerSecond = "Count/Second",
|
|
28
|
+
None = "None"
|
|
29
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Route53Client } from '@aws-sdk/client-route-53';
|
|
2
|
+
export declare class Route53Ratchet {
|
|
3
|
+
private route53;
|
|
4
|
+
private hostedZoneId;
|
|
5
|
+
constructor(route53: Route53Client, hostedZoneId: string);
|
|
6
|
+
changeCnameRecordTarget(domainName: string, target: string, hostedZoneId?: string, ttlSeconds?: number): Promise<boolean>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RuntimeParameterProvider } from './runtime-parameter-provider';
|
|
2
|
+
import { StoredRuntimeParameter } from './stored-runtime-parameter';
|
|
3
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet';
|
|
4
|
+
export declare class DynamoRuntimeParameterProvider implements RuntimeParameterProvider {
|
|
5
|
+
private dynamo;
|
|
6
|
+
private tableName;
|
|
7
|
+
constructor(dynamo: DynamoRatchet, tableName: string);
|
|
8
|
+
readParameter(groupId: string, paramKey: string): Promise<StoredRuntimeParameter>;
|
|
9
|
+
readAllParametersForGroup(groupId: string): Promise<StoredRuntimeParameter[]>;
|
|
10
|
+
writeParameter(toStore: StoredRuntimeParameter): Promise<boolean>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RuntimeParameterProvider } from './runtime-parameter-provider';
|
|
2
|
+
import { StoredRuntimeParameter } from './stored-runtime-parameter';
|
|
3
|
+
/**
|
|
4
|
+
* Provides parameters for a runtime parameter from an global (ie, process.env or global.xx) variable, where the key follows
|
|
5
|
+
* a given format
|
|
6
|
+
*
|
|
7
|
+
* "Simple" because it forces all ttls to be the same value (ignores what is passed in) so that the
|
|
8
|
+
* envvar itself can be just a string instead of a complex value
|
|
9
|
+
*/
|
|
10
|
+
export declare class GlobalVariableOverrideRuntimeParameterProvider implements RuntimeParameterProvider {
|
|
11
|
+
private wrapped;
|
|
12
|
+
private options;
|
|
13
|
+
constructor(wrapped: RuntimeParameterProvider, opts?: GlobalVariableOverrideRuntimeParameterProviderOptions);
|
|
14
|
+
generateName(groupId: string, paramKey: string): string;
|
|
15
|
+
readParameter(groupId: string, paramKey: string): Promise<StoredRuntimeParameter>;
|
|
16
|
+
readAllParametersForGroup(groupId: string): Promise<StoredRuntimeParameter[]>;
|
|
17
|
+
writeParameter(toStore: StoredRuntimeParameter): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
export interface GlobalVariableOverrideRuntimeParameterProviderOptions {
|
|
20
|
+
globalTTL: number;
|
|
21
|
+
separator: string;
|
|
22
|
+
prefix?: string;
|
|
23
|
+
suffix?: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RuntimeParameterProvider } from './runtime-parameter-provider';
|
|
2
|
+
import { StoredRuntimeParameter } from './stored-runtime-parameter';
|
|
3
|
+
/**
|
|
4
|
+
* Very simple class, basically here just for unit testing although I suppose you could
|
|
5
|
+
* use it for something else
|
|
6
|
+
*/
|
|
7
|
+
export declare class MemoryRuntimeParameterProvider implements RuntimeParameterProvider {
|
|
8
|
+
private data;
|
|
9
|
+
constructor(data?: Promise<Record<string, StoredRuntimeParameter>>);
|
|
10
|
+
readParameter(groupId: string, paramKey: string): Promise<StoredRuntimeParameter>;
|
|
11
|
+
readAllParametersForGroup(groupId: string): Promise<StoredRuntimeParameter[]>;
|
|
12
|
+
writeParameter(toStore: StoredRuntimeParameter): Promise<boolean>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classes implementing RuntimeParameterProvider offer the ability to fetch a runtime parameter
|
|
3
|
+
* object from _somewhere_
|
|
4
|
+
* They do NOT handle local caching - the RuntimeParameterRatchet does that
|
|
5
|
+
*/
|
|
6
|
+
import { StoredRuntimeParameter } from './stored-runtime-parameter';
|
|
7
|
+
export interface RuntimeParameterProvider {
|
|
8
|
+
readParameter(groupId: string, paramKey: string): Promise<StoredRuntimeParameter>;
|
|
9
|
+
readAllParametersForGroup(groupId: string): Promise<StoredRuntimeParameter[]>;
|
|
10
|
+
writeParameter(param: StoredRuntimeParameter): Promise<boolean>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RuntimeParameterProvider } from './runtime-parameter-provider';
|
|
2
|
+
import { StoredRuntimeParameter } from './stored-runtime-parameter';
|
|
3
|
+
export declare class RuntimeParameterRatchet {
|
|
4
|
+
private provider;
|
|
5
|
+
private cache;
|
|
6
|
+
constructor(provider: RuntimeParameterProvider);
|
|
7
|
+
fetchParameter<T>(groupId: string, paramKey: string, defaultValue?: T, forceFreshRead?: boolean): Promise<T>;
|
|
8
|
+
fetchAllParametersForGroup(groupId: string): Promise<Map<string, any>>;
|
|
9
|
+
readUnderlyingEntry(groupId: string, paramKey: string): Promise<StoredRuntimeParameter>;
|
|
10
|
+
readUnderlyingEntries(groupId: string): Promise<StoredRuntimeParameter[]>;
|
|
11
|
+
storeParameter(groupId: string, paramKey: string, paramValue: any, ttlSeconds: number): Promise<StoredRuntimeParameter>;
|
|
12
|
+
private static toCacheStoreKey;
|
|
13
|
+
private addToCache;
|
|
14
|
+
clearCache(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { CompleteMultipartUploadCommandOutput, CopyObjectCommandOutput, DeleteObjectCommandOutput, GetObjectCommandOutput, HeadObjectCommandOutput, PutObjectCommandInput, S3Client } from '@aws-sdk/client-s3';
|
|
4
|
+
import { Readable } from 'stream';
|
|
5
|
+
export declare class S3CacheRatchet {
|
|
6
|
+
private s3;
|
|
7
|
+
private defaultBucket;
|
|
8
|
+
constructor(s3: S3Client, defaultBucket?: string);
|
|
9
|
+
static applyCacheControlMaxAge(input: PutObjectCommandInput, seconds: number): PutObjectCommandInput;
|
|
10
|
+
static applyUserMetaData(input: PutObjectCommandInput, key: string, value: string): PutObjectCommandInput;
|
|
11
|
+
getDefaultBucket(): string;
|
|
12
|
+
getS3Client(): S3Client;
|
|
13
|
+
fileExists(key: string, bucket?: string): Promise<boolean>;
|
|
14
|
+
fetchCacheFileAsS3GetObjectCommandOutput(key: string, bucket?: string): Promise<GetObjectCommandOutput>;
|
|
15
|
+
fetchCacheFileAsReadableStream(key: string, bucket?: string): Promise<ReadableStream>;
|
|
16
|
+
fetchCacheFileAsBuffer(key: string, bucket?: string): Promise<Buffer>;
|
|
17
|
+
fetchCacheFileAsString(key: string, bucket?: string): Promise<string>;
|
|
18
|
+
fetchCacheFileAsObject<T>(key: string, bucket?: string): Promise<T>;
|
|
19
|
+
removeCacheFile(key: string, bucket?: string): Promise<DeleteObjectCommandOutput>;
|
|
20
|
+
writeObjectToCacheFile(key: string, dataObject: any, // eslint-disable-line @typescript-eslint/explicit-module-boundary-types
|
|
21
|
+
template?: PutObjectCommandInput, bucket?: string): Promise<CompleteMultipartUploadCommandOutput>;
|
|
22
|
+
writeStringToCacheFile(key: string, dataString: string, template?: PutObjectCommandInput, bucket?: string): Promise<CompleteMultipartUploadCommandOutput>;
|
|
23
|
+
writeStreamToCacheFile(key: string, data: ReadableStream | Readable, template?: PutObjectCommandInput, bucket?: string): Promise<CompleteMultipartUploadCommandOutput>;
|
|
24
|
+
synchronize(srcPrefix: string, targetPrefix: string, targetRatchet?: S3CacheRatchet, recurseSubFolders?: boolean): Promise<string[]>;
|
|
25
|
+
fetchMetaForCacheFile(key: string, bucket?: string): Promise<HeadObjectCommandOutput>;
|
|
26
|
+
cacheFileAgeInSeconds(key: string, bucket?: string): Promise<number>;
|
|
27
|
+
copyFile(srcKey: string, dstKey: string, srcBucket?: string, dstBucket?: string): Promise<CopyObjectCommandOutput>;
|
|
28
|
+
quietCopyFile(srcKey: string, dstKey: string, srcBucket?: string, dstBucket?: string): Promise<boolean>;
|
|
29
|
+
preSignedDownloadUrlForCacheFile(key: string, expirationSeconds?: number, bucket?: string): Promise<string>;
|
|
30
|
+
directChildrenOfPrefix(prefix: string, expandFiles?: boolean, bucket?: string, maxToReturn?: number): Promise<string[]>;
|
|
31
|
+
allSubFoldersOfPrefix(prefix: string, bucket?: string): Promise<string[]>;
|
|
32
|
+
private bucketVal;
|
|
33
|
+
}
|
|
34
|
+
export interface ExpandedFileChildren {
|
|
35
|
+
link: string;
|
|
36
|
+
name: string;
|
|
37
|
+
size: number;
|
|
38
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { S3CacheRatchet } from './s3-cache-ratchet';
|
|
3
|
+
/**
|
|
4
|
+
* Use this when you want a lambda to cache a remote S3 bucket locally on disk for faster access
|
|
5
|
+
*/
|
|
6
|
+
export declare class S3CacheToLocalDiskRatchet {
|
|
7
|
+
private s3;
|
|
8
|
+
private tmpFolder;
|
|
9
|
+
private cacheTimeoutSeconds;
|
|
10
|
+
private static readonly DEFAULT_CACHE_TIMEOUT_SEC;
|
|
11
|
+
private currentlyLoading;
|
|
12
|
+
constructor(s3: S3CacheRatchet, tmpFolder: string, cacheTimeoutSeconds?: number);
|
|
13
|
+
getFileString(key: string): Promise<string>;
|
|
14
|
+
private keyToLocalCachePath;
|
|
15
|
+
removeCacheFileForKey(key: string): void;
|
|
16
|
+
getFileBuffer(key: string): Promise<Buffer>;
|
|
17
|
+
private updateLocalCacheFile;
|
|
18
|
+
getCacheFileAsString(filePath: string): string;
|
|
19
|
+
getCacheFileAsBuffer(filePath: string): Buffer;
|
|
20
|
+
private generateCacheHash;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
2
|
+
export interface S3LocationSyncRatchetConfig {
|
|
3
|
+
srcS3: S3Client;
|
|
4
|
+
srcBucket: string;
|
|
5
|
+
srcPrefix: string;
|
|
6
|
+
dstS3: S3Client;
|
|
7
|
+
dstBucket: string;
|
|
8
|
+
dstPrefix: string;
|
|
9
|
+
maxNumThreads?: number;
|
|
10
|
+
maxRetries?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class S3LocationSyncRatchet {
|
|
13
|
+
private config;
|
|
14
|
+
constructor(config: S3LocationSyncRatchetConfig);
|
|
15
|
+
updateSrcPrefix(prefix: string): void;
|
|
16
|
+
updateDstPrefix(prefix: string): void;
|
|
17
|
+
copyObject(key: string, size: number, express?: boolean): Promise<void>;
|
|
18
|
+
listObjects(bucket: string, prefix: string, s3: S3Client): Promise<any>;
|
|
19
|
+
startSyncing(): Promise<boolean>;
|
|
20
|
+
private compareSrcAndDst;
|
|
21
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tbd
|
|
3
|
+
* @interface EmailAttachment
|
|
4
|
+
*/
|
|
5
|
+
export interface EmailAttachment {
|
|
6
|
+
/**
|
|
7
|
+
* @type {string}
|
|
8
|
+
* @memberof EmailAttachment
|
|
9
|
+
*/
|
|
10
|
+
filename?: string;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @type {string}
|
|
14
|
+
* @memberof EmailAttachment
|
|
15
|
+
*/
|
|
16
|
+
contentType?: string;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @type {string}
|
|
20
|
+
* @memberof EmailAttachment
|
|
21
|
+
*/
|
|
22
|
+
base64Data?: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RatchetTemplateRenderer } from './ratchet-template-renderer';
|
|
2
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for generic mailer
|
|
5
|
+
*/
|
|
6
|
+
export interface MailerConfig {
|
|
7
|
+
defaultSendingAddress?: string;
|
|
8
|
+
autoBccAddresses?: string[];
|
|
9
|
+
templateRenderer?: RatchetTemplateRenderer;
|
|
10
|
+
allowedDestinationEmails?: RegExp[];
|
|
11
|
+
archive?: S3CacheRatchet;
|
|
12
|
+
archivePrefix?: string;
|
|
13
|
+
maxMessageBodySizeInBytes?: number;
|
|
14
|
+
maxAttachmentSizeInBase64Bytes?: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReadyToSendEmail } from './ready-to-send-email';
|
|
2
|
+
import { SendRawEmailResponse } from '@aws-sdk/client-ses';
|
|
3
|
+
import { ResolvedReadyToSendEmail } from './resolved-ready-to-send-email';
|
|
4
|
+
/**
|
|
5
|
+
* Generic Mail Sender for AWS.
|
|
6
|
+
*
|
|
7
|
+
* Params:
|
|
8
|
+
* ses: AWS SES handler, properly configured
|
|
9
|
+
* defaultSendingAddress:
|
|
10
|
+
*/
|
|
11
|
+
export interface MailerLike {
|
|
12
|
+
fillEmailBody(rts: ReadyToSendEmail, context: any, htmlTemplateName: string, txtTemplateName?: string, layoutName?: string, partialNames?: string[]): Promise<ReadyToSendEmail>;
|
|
13
|
+
fillEmailBodyAndSend(rts: ReadyToSendEmail, context: any, htmlTemplateName: string, txtTemplateName?: string, layoutName?: string, partialNames?: string[]): Promise<SendRawEmailResponse>;
|
|
14
|
+
filterEmailsToValid(emails: string[]): string[];
|
|
15
|
+
applyLimitsToBodySizesIfAnyInPlace(rts: ResolvedReadyToSendEmail): void;
|
|
16
|
+
applyLimitsToAttachmentSizesIfAnyInPlace(rts: ResolvedReadyToSendEmail): void;
|
|
17
|
+
sendEmail(inRts: ReadyToSendEmail): Promise<SendRawEmailResponse>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReadyToSendEmail } from './ready-to-send-email';
|
|
2
|
+
import { SendRawEmailCommandOutput, SendRawEmailResponse, SESClient } from '@aws-sdk/client-ses';
|
|
3
|
+
import { MailerConfig } from './mailer-config';
|
|
4
|
+
import { ResolvedReadyToSendEmail } from './resolved-ready-to-send-email';
|
|
5
|
+
import { MailerLike } from './mailer-like';
|
|
6
|
+
/**
|
|
7
|
+
* Generic Mail Sender for AWS.
|
|
8
|
+
*
|
|
9
|
+
* Params:
|
|
10
|
+
* ses: AWS SES handler, properly configured
|
|
11
|
+
* defaultSendingAddress:
|
|
12
|
+
*/
|
|
13
|
+
export declare class Mailer implements MailerLike {
|
|
14
|
+
private ses;
|
|
15
|
+
private config;
|
|
16
|
+
static readonly EMAIL: RegExp;
|
|
17
|
+
constructor(ses: SESClient, config?: MailerConfig);
|
|
18
|
+
fillEmailBody(rts: ReadyToSendEmail, context: any, htmlTemplateName: string, txtTemplateName?: string, layoutName?: string, partialNames?: string[]): Promise<ReadyToSendEmail>;
|
|
19
|
+
fillEmailBodyAndSend(rts: ReadyToSendEmail, context: any, htmlTemplateName: string, txtTemplateName?: string, layoutName?: string, partialNames?: string[]): Promise<SendRawEmailResponse>;
|
|
20
|
+
filterEmailsToValid(emails: string[]): string[];
|
|
21
|
+
private archiveEmailIfConfigured;
|
|
22
|
+
applyLimitsToBodySizesIfAnyInPlace(rts: ResolvedReadyToSendEmail): void;
|
|
23
|
+
applyLimitsToAttachmentSizesIfAnyInPlace(rts: ResolvedReadyToSendEmail): void;
|
|
24
|
+
sendEmail(inRts: ReadyToSendEmail): Promise<SendRawEmailCommandOutput>;
|
|
25
|
+
static validEmail(email: string): boolean;
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tbd
|
|
3
|
+
* @interface RatchetTemplateRenderer
|
|
4
|
+
*/
|
|
5
|
+
export interface RatchetTemplateRenderer {
|
|
6
|
+
renderTemplate(templateName: string, context: any, layoutName?: string, partialNames?: string[]): Promise<string>;
|
|
7
|
+
renderTemplateDirect(templateValue: string, context: any, layoutName?: string): Promise<string>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @interface ReadyToSendEmail
|
|
3
|
+
*/
|
|
4
|
+
import { EmailAttachment } from './email-attachment';
|
|
5
|
+
export interface ReadyToSendEmail {
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @type {Array<string>}
|
|
9
|
+
* @memberof ReadyToSendEmail
|
|
10
|
+
*/
|
|
11
|
+
destinationAddresses?: Array<string>;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @type {Array<string>}
|
|
15
|
+
* @memberof ReadyToSendEmail
|
|
16
|
+
*/
|
|
17
|
+
bccAddresses?: Array<string>;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {Array<EmailAttachment>}
|
|
21
|
+
* @memberof ReadyToSendEmail
|
|
22
|
+
*/
|
|
23
|
+
attachments?: Array<EmailAttachment>;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof ReadyToSendEmail
|
|
28
|
+
*/
|
|
29
|
+
fromAddress?: string;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof ReadyToSendEmail
|
|
34
|
+
*/
|
|
35
|
+
txtMessage?: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof ReadyToSendEmail
|
|
40
|
+
*/
|
|
41
|
+
htmlMessage?: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof ReadyToSendEmail
|
|
46
|
+
*/
|
|
47
|
+
subject?: string;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof ReadyToSendEmail
|
|
52
|
+
*/
|
|
53
|
+
fromName?: string;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {boolean}
|
|
57
|
+
* @memberof ReadyToSendEmail
|
|
58
|
+
*/
|
|
59
|
+
doNotAutoBcc?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {boolean}
|
|
63
|
+
* @memberof ReadyToSendEmail
|
|
64
|
+
*/
|
|
65
|
+
doNotArchive?: boolean;
|
|
66
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RatchetTemplateRenderer } from './ratchet-template-renderer';
|
|
2
|
+
/**
|
|
3
|
+
*/
|
|
4
|
+
export declare class RemoteHandlebarsTemplateRenderer implements RatchetTemplateRenderer {
|
|
5
|
+
private prefix;
|
|
6
|
+
private suffix;
|
|
7
|
+
private maxCacheTemplates;
|
|
8
|
+
private cache;
|
|
9
|
+
constructor(prefix?: string, suffix?: string, maxCacheTemplates?: number);
|
|
10
|
+
renderTemplate(templateName: string, context: any, layoutName?: string): Promise<string>;
|
|
11
|
+
renderRemoteTemplate(templateName: string, inContext: any, layoutName?: string): Promise<string>;
|
|
12
|
+
renderTemplateDirect(templateText: string, context: any, layoutName?: string): Promise<string>;
|
|
13
|
+
private fetchTemplate;
|
|
14
|
+
private fetchTemplateText;
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @interface ResolvedReadyToSendEmail
|
|
3
|
+
*/
|
|
4
|
+
import { ReadyToSendEmail } from './ready-to-send-email';
|
|
5
|
+
export interface ResolvedReadyToSendEmail extends ReadyToSendEmail {
|
|
6
|
+
/**
|
|
7
|
+
* The list of destination addresses before any sending/filtering rules were applied
|
|
8
|
+
* @type {Array<string>}
|
|
9
|
+
* @memberof ReadyToSendEmail
|
|
10
|
+
*/
|
|
11
|
+
srcDestinationAddresses?: string[];
|
|
12
|
+
/**
|
|
13
|
+
* The original list of bcc addresses before any auto-bcc were added
|
|
14
|
+
*/
|
|
15
|
+
srcBccAddresses?: string[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PublishCommandOutput, SNSClient } from '@aws-sdk/client-sns';
|
|
2
|
+
export declare class SnsRatchet {
|
|
3
|
+
private sns;
|
|
4
|
+
private topicArn;
|
|
5
|
+
constructor(sns: SNSClient, topicArn: string);
|
|
6
|
+
sendMessage(inMsg: any, suppressErrors?: boolean): Promise<PublishCommandOutput>;
|
|
7
|
+
conditionallySendMessage(inMsg: any, condition: boolean, suppressErrors?: boolean): Promise<PublishCommandOutput>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet';
|
|
2
|
+
import { SyncLockProvider } from './sync-lock-provider';
|
|
3
|
+
export declare class DynamoDbSyncLock implements SyncLockProvider {
|
|
4
|
+
private ratchet;
|
|
5
|
+
private tableName;
|
|
6
|
+
constructor(ratchet: DynamoRatchet, tableName: string);
|
|
7
|
+
acquireLock(lockKey: string, expirationSeconds?: number): Promise<boolean>;
|
|
8
|
+
releaseLock(lockKey: string): Promise<void>;
|
|
9
|
+
clearExpiredSyncLocks(): Promise<number>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SyncLockProvider } from './sync-lock-provider';
|
|
2
|
+
/**
|
|
3
|
+
* Simple in-memory implementation of the SyncLockProvider interface
|
|
4
|
+
*/
|
|
5
|
+
export declare class MemorySyncLock implements SyncLockProvider {
|
|
6
|
+
private _locks;
|
|
7
|
+
constructor();
|
|
8
|
+
acquireLock(lockKey: string, expirationSeconds?: number): Promise<boolean>;
|
|
9
|
+
releaseLock(lockKey: string): Promise<void>;
|
|
10
|
+
clearExpiredSyncLocks(): Promise<number>;
|
|
11
|
+
}
|