@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,12 @@
|
|
|
1
|
+
import { SubmitJobCommandOutput } from '@aws-sdk/client-batch';
|
|
2
|
+
import { AwsBatchRatchet } from './aws-batch-ratchet';
|
|
3
|
+
/**
|
|
4
|
+
* Class to simplify using AWS batch as a background processor
|
|
5
|
+
* (Primarily used by Epsilon)
|
|
6
|
+
*/
|
|
7
|
+
export declare class AwsBatchBackgroundProcessor {
|
|
8
|
+
private batchRatchet;
|
|
9
|
+
private validTaskNames?;
|
|
10
|
+
constructor(batchRatchet: AwsBatchRatchet, validTaskNames?: string[]);
|
|
11
|
+
scheduleBackgroundTask(taskName: string, data?: Record<string, any>, meta?: Record<string, any>): Promise<SubmitJobCommandOutput>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BatchClient, JobStatus, JobSummary, SubmitJobCommandInput, SubmitJobCommandOutput } from '@aws-sdk/client-batch';
|
|
2
|
+
/**
|
|
3
|
+
* Ratchet for simplifying interacting with AWS Batch
|
|
4
|
+
*/
|
|
5
|
+
export declare class AwsBatchRatchet {
|
|
6
|
+
private _batchClient;
|
|
7
|
+
private _defaultQueueName?;
|
|
8
|
+
private _defaultJobDefinition?;
|
|
9
|
+
constructor(_batchClient: BatchClient, _defaultQueueName?: string, _defaultJobDefinition?: string);
|
|
10
|
+
get batchClient(): BatchClient;
|
|
11
|
+
get defaultQueueName(): string;
|
|
12
|
+
get defaultJobDefinition(): string;
|
|
13
|
+
scheduleJob(options: SubmitJobCommandInput): Promise<SubmitJobCommandOutput>;
|
|
14
|
+
jobCountInState(jobStatus: JobStatus, queueName?: string): Promise<number>;
|
|
15
|
+
listJobs(queueName?: string, jobStatus?: JobStatus): Promise<JobSummary[]>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
|
|
2
|
+
import { SimpleCacheStorageProvider } from './simple-cache-storage-provider';
|
|
3
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet';
|
|
4
|
+
export declare class DynamoDbStorageProvider implements SimpleCacheStorageProvider {
|
|
5
|
+
private dynamo;
|
|
6
|
+
private opts;
|
|
7
|
+
constructor(dynamo: DynamoRatchet, opts: DynamoDbSimpleCacheOptions);
|
|
8
|
+
static createDefaultOptions(): DynamoDbSimpleCacheOptions;
|
|
9
|
+
createKeyObject(cacheKey: string): any;
|
|
10
|
+
cleanDynamoFieldsFromObjectInPlace(rval: any): void;
|
|
11
|
+
extractKeysFromObject(rval: SimpleCacheObjectWrapper<any>): any;
|
|
12
|
+
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
|
|
13
|
+
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
|
|
14
|
+
removeFromCache(cacheKey: string): Promise<void>;
|
|
15
|
+
clearCache(): Promise<number>;
|
|
16
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
17
|
+
}
|
|
18
|
+
export interface DynamoDbSimpleCacheOptions {
|
|
19
|
+
tableName: string;
|
|
20
|
+
useRangeKeys: boolean;
|
|
21
|
+
hashKeyName: string;
|
|
22
|
+
rangeKeyName?: string;
|
|
23
|
+
hashKeyValue?: string;
|
|
24
|
+
dynamoExpiresColumnName?: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
|
|
2
|
+
import { SimpleCacheStorageProvider } from './simple-cache-storage-provider';
|
|
3
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
|
|
4
|
+
export declare class S3StorageProvider implements SimpleCacheStorageProvider {
|
|
5
|
+
private s3CacheRatchet;
|
|
6
|
+
private prefix;
|
|
7
|
+
constructor(s3CacheRatchet: S3CacheRatchet, prefix: string);
|
|
8
|
+
keyToPath(cacheKey: string): string;
|
|
9
|
+
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
|
|
10
|
+
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
|
|
11
|
+
removeFromCache(cacheKey: string): Promise<void>;
|
|
12
|
+
clearCache(): Promise<number>;
|
|
13
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
|
|
2
|
+
export interface SimpleCacheStorageProvider {
|
|
3
|
+
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
|
|
4
|
+
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
|
|
5
|
+
removeFromCache(cacheKey: string): Promise<void>;
|
|
6
|
+
clearCache(): Promise<number>;
|
|
7
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SimpleCacheStorageProvider } from './simple-cache-storage-provider';
|
|
2
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper';
|
|
3
|
+
import { SimpleCacheReadOptions } from './simple-cache-read-options';
|
|
4
|
+
export declare class SimpleCache {
|
|
5
|
+
private provider;
|
|
6
|
+
private defaultTimeToLiveMS;
|
|
7
|
+
constructor(provider: SimpleCacheStorageProvider, defaultTimeToLiveMS?: number);
|
|
8
|
+
createDefaultReadOptions(): SimpleCacheReadOptions;
|
|
9
|
+
fetchWrapper<T>(cacheKey: string, producer: () => Promise<T>, opts?: SimpleCacheReadOptions): Promise<SimpleCacheObjectWrapper<T>>;
|
|
10
|
+
fetch<T>(cacheKey: string, producer: () => Promise<T>, opts?: SimpleCacheReadOptions): Promise<T>;
|
|
11
|
+
removeFromCache<T>(cacheKey: string, returnOldValue?: boolean): Promise<SimpleCacheObjectWrapper<T>>;
|
|
12
|
+
clearCache(): Promise<number>;
|
|
13
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CloudWatchLogsClient, FilteredLogEvent, LogStream } from '@aws-sdk/client-cloudwatch-logs';
|
|
2
|
+
export declare class CloudWatchLogGroupRatchet {
|
|
3
|
+
private logGroup;
|
|
4
|
+
private awsCWLogs;
|
|
5
|
+
constructor(logGroup: string, awsCWLogs?: CloudWatchLogsClient);
|
|
6
|
+
readLogStreams(startTimestamp?: number, endTimestamp?: number): Promise<LogStream[]>;
|
|
7
|
+
readLogStreamNames(startTimestamp?: number, endTimestamp?: number): Promise<string[]>;
|
|
8
|
+
readEvents(filter: string, startTimestamp?: number, endTimestamp?: number, sortEvents?: boolean, maxEvents?: number): Promise<FilteredLogEvent[]>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CloudWatchLogsClient, GetQueryResultsCommandOutput, LogGroup, LogStream, StartQueryCommandInput, StopQueryCommandOutput } from '@aws-sdk/client-cloudwatch-logs';
|
|
2
|
+
export declare class CloudWatchLogsRatchet {
|
|
3
|
+
private static readonly MAX_DELETE_RETRIES;
|
|
4
|
+
private cwLogs;
|
|
5
|
+
constructor(cloudwatchLogs?: CloudWatchLogsClient);
|
|
6
|
+
removeEmptyOrOldLogStreams(logGroupName: string, maxToRemove?: number, oldestEventEpochMS?: number): Promise<LogStream[]>;
|
|
7
|
+
findOldestEventTimestampInGroup(logGroupName: string): Promise<number>;
|
|
8
|
+
findStreamWithOldestEventInGroup(logGroupName: string): Promise<LogStream>;
|
|
9
|
+
findLogGroups(prefix: string): Promise<LogGroup[]>;
|
|
10
|
+
removeLogGroups(groups: LogGroup[]): Promise<boolean[]>;
|
|
11
|
+
removeLogGroupsWithPrefix(prefix: string): Promise<boolean[]>;
|
|
12
|
+
fullyExecuteInsightsQuery(sqr: StartQueryCommandInput): Promise<GetQueryResultsCommandOutput>;
|
|
13
|
+
abortInsightsQuery(queryId: string): Promise<StopQueryCommandOutput>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CloudWatchClient } from '@aws-sdk/client-cloudwatch';
|
|
2
|
+
import { KeyValue } from '@bitblit/ratchet-common';
|
|
3
|
+
import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit';
|
|
4
|
+
import { CloudWatchMetricsMinuteLevelDynamoCountRequest } from '../model/cloud-watch-metrics-minute-level-dynamo-count-request';
|
|
5
|
+
export declare class CloudWatchMetricsRatchet {
|
|
6
|
+
private cw;
|
|
7
|
+
constructor(cloudWatch?: CloudWatchClient);
|
|
8
|
+
writeSingleMetric(namespace: string, metric: string, dims: KeyValue[], unit: CloudWatchMetricsUnit, value: number, timestampDate?: Date, highResolution?: boolean): Promise<any>;
|
|
9
|
+
writeDynamoCountAsMinuteLevelMetric(req: CloudWatchMetricsMinuteLevelDynamoCountRequest): Promise<number>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { DaemonProcessState } from './daemon-process-state';
|
|
3
|
+
import { DaemonProcessCreateOptions } from './daemon-process-create-options';
|
|
4
|
+
export interface DaemonLike {
|
|
5
|
+
get defaultGroup(): string;
|
|
6
|
+
keyToPublicToken(key: string, expirationSeconds: number): Promise<string>;
|
|
7
|
+
start(options: DaemonProcessCreateOptions): Promise<DaemonProcessState>;
|
|
8
|
+
clean(group?: string, olderThanSeconds?: number): Promise<DaemonProcessState[]>;
|
|
9
|
+
listKeys(group?: string): Promise<string[]>;
|
|
10
|
+
list(group?: string): Promise<DaemonProcessState[]>;
|
|
11
|
+
updateMessage(id: string, newMessage: string): Promise<DaemonProcessState>;
|
|
12
|
+
statFromPublicToken(publicToken: string): Promise<DaemonProcessState>;
|
|
13
|
+
stat(key: string): Promise<DaemonProcessState>;
|
|
14
|
+
abort(id: string): Promise<DaemonProcessState>;
|
|
15
|
+
error(id: string, error: string): Promise<DaemonProcessState>;
|
|
16
|
+
finalize(id: string, contents: Buffer): Promise<DaemonProcessState>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DaemonProcessState {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
targetFileName: string;
|
|
5
|
+
lastUpdatedEpochMS: number;
|
|
6
|
+
lastUpdatedMessage: string;
|
|
7
|
+
startedEpochMS: number;
|
|
8
|
+
completedEpochMS: number;
|
|
9
|
+
meta: any;
|
|
10
|
+
error: string;
|
|
11
|
+
link: string;
|
|
12
|
+
contentType: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { DaemonProcessState } from './daemon-process-state';
|
|
4
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
|
|
5
|
+
import { DaemonProcessCreateOptions } from './daemon-process-create-options';
|
|
6
|
+
import { Readable } from 'stream';
|
|
7
|
+
/**
|
|
8
|
+
* Internal utilities which are here for the USE OF THE DAEMON OBJECT ONLY - if you are trying to use this
|
|
9
|
+
* class outside of Ratchet, you are doing it wrong. Instantiate a Daemon object and use that instead.
|
|
10
|
+
*
|
|
11
|
+
* The details of storage and retrieval of a DaemonProcessState is meant to be transparent to the user
|
|
12
|
+
*/
|
|
13
|
+
export declare class DaemonUtil {
|
|
14
|
+
static DEFAULT_CONTENT: Buffer;
|
|
15
|
+
static DAEMON_METADATA_KEY: string;
|
|
16
|
+
static start(cache: S3CacheRatchet, id: string, s3Key: string, options: DaemonProcessCreateOptions): Promise<DaemonProcessState>;
|
|
17
|
+
static writeState(cache: S3CacheRatchet, s3Key: string, newState: DaemonProcessState, contents: Buffer): Promise<DaemonProcessState>;
|
|
18
|
+
static streamDataAndFinish(cache: S3CacheRatchet, s3Key: string, data: Readable): Promise<DaemonProcessState>;
|
|
19
|
+
static updateMessage(cache: S3CacheRatchet, s3Key: string, newMessage: string): Promise<DaemonProcessState>;
|
|
20
|
+
static stat(s3Cache: S3CacheRatchet, path: string): Promise<DaemonProcessState>;
|
|
21
|
+
static abort(s3Cache: S3CacheRatchet, path: string): Promise<DaemonProcessState>;
|
|
22
|
+
static error(s3Cache: S3CacheRatchet, path: string, error: string): Promise<DaemonProcessState>;
|
|
23
|
+
static finalize(s3Cache: S3CacheRatchet, path: string, contents: Buffer): Promise<DaemonProcessState>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { DaemonProcessState } from './daemon-process-state';
|
|
3
|
+
import { DaemonProcessCreateOptions } from './daemon-process-create-options';
|
|
4
|
+
import { DaemonLike } from './daemon-like';
|
|
5
|
+
import { JwtRatchetLike } from '@bitblit/ratchet-common';
|
|
6
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
7
|
+
export declare class Daemon implements DaemonLike {
|
|
8
|
+
private s3;
|
|
9
|
+
private bucket;
|
|
10
|
+
private prefix;
|
|
11
|
+
private _defaultGroup;
|
|
12
|
+
private jwtRatchet?;
|
|
13
|
+
static DEFAULT_DEFAULT_GROUP: string;
|
|
14
|
+
private cache;
|
|
15
|
+
constructor(s3: S3Client, bucket: string, prefix?: string, _defaultGroup?: string, jwtRatchet?: JwtRatchetLike);
|
|
16
|
+
get defaultGroup(): string;
|
|
17
|
+
keyToPublicToken(key: string, expirationSeconds: number): Promise<string>;
|
|
18
|
+
private keyToPath;
|
|
19
|
+
private pathToKey;
|
|
20
|
+
private generatePath;
|
|
21
|
+
private generatePrefix;
|
|
22
|
+
start(options: DaemonProcessCreateOptions): Promise<DaemonProcessState>;
|
|
23
|
+
private writeState;
|
|
24
|
+
clean(group?: string, olderThanSeconds?: number): Promise<DaemonProcessState[]>;
|
|
25
|
+
listKeys(group?: string): Promise<string[]>;
|
|
26
|
+
list(group?: string): Promise<DaemonProcessState[]>;
|
|
27
|
+
updateMessage(id: string, newMessage: string): Promise<DaemonProcessState>;
|
|
28
|
+
stat(key: string): Promise<DaemonProcessState>;
|
|
29
|
+
statFromPublicToken(publicToken: string): Promise<DaemonProcessState>;
|
|
30
|
+
abort(id: string): Promise<DaemonProcessState>;
|
|
31
|
+
error(id: string, error: string): Promise<DaemonProcessState>;
|
|
32
|
+
finalize(id: string, contents: Buffer): Promise<DaemonProcessState>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PrototypeDaoProvider } from './prototype-dao-provider';
|
|
2
|
+
import { PrototypeDaoConfig } from './prototype-dao-config';
|
|
3
|
+
export declare class PrototypeDao<T> {
|
|
4
|
+
private provider;
|
|
5
|
+
private cfg;
|
|
6
|
+
static defaultDaoConfig(): PrototypeDaoConfig;
|
|
7
|
+
constructor(provider: PrototypeDaoProvider<T>, cfg?: PrototypeDaoConfig);
|
|
8
|
+
fetchAll(): Promise<T[]>;
|
|
9
|
+
resetDatabase(): Promise<void>;
|
|
10
|
+
removeItems(guids: string[]): Promise<T[]>;
|
|
11
|
+
store(value: T): Promise<T>;
|
|
12
|
+
fetchById(guid: string): Promise<T>;
|
|
13
|
+
searchByField<R>(fieldDotPath: string, fieldValue: R): Promise<T[]>;
|
|
14
|
+
searchByFieldMap(input: Record<string, any>): Promise<T[]>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
|
|
2
|
+
import { PrototypeDaoProvider } from './prototype-dao-provider';
|
|
3
|
+
import { PrototypeDaoDb } from './prototype-dao-db';
|
|
4
|
+
export declare class S3PrototypeDaoProvider<T> implements PrototypeDaoProvider<T> {
|
|
5
|
+
private s3CacheRatchet;
|
|
6
|
+
private keyName;
|
|
7
|
+
constructor(s3CacheRatchet: S3CacheRatchet, keyName: string);
|
|
8
|
+
storeDatabase(inDb: PrototypeDaoDb<T>): Promise<boolean>;
|
|
9
|
+
loadDatabase(): Promise<PrototypeDaoDb<T>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet';
|
|
2
|
+
import { SimpleDaoItem } from './simple-dao-item';
|
|
3
|
+
export declare class S3SimpleDao<T extends SimpleDaoItem> {
|
|
4
|
+
private cache;
|
|
5
|
+
private prefix?;
|
|
6
|
+
constructor(cache: S3CacheRatchet, prefix?: string);
|
|
7
|
+
buildPathPrefix(path: string): string;
|
|
8
|
+
buildFullPath(id: string, path?: string): string;
|
|
9
|
+
exists(id: string, path?: string): Promise<boolean>;
|
|
10
|
+
fetch(id: string, path?: string): Promise<T>;
|
|
11
|
+
store(item: T, path?: string): Promise<T>;
|
|
12
|
+
listItems(path?: string): Promise<string[]>;
|
|
13
|
+
fetchItemsInPath(path?: string): Promise<T[]>;
|
|
14
|
+
delete(id: string, path?: string): Promise<boolean>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DynamoCountResult } from '../model/dynamo-count-result';
|
|
2
|
+
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
import { DeleteItemCommandOutput, PutItemOutput } from '@aws-sdk/client-dynamodb';
|
|
4
|
+
import { DocQueryCommandInput } from '../model/dynamo/doc-query-command-input';
|
|
5
|
+
import { DocScanCommandInput } from '../model/dynamo/doc-scan-command-input';
|
|
6
|
+
export interface DynamoRatchetLike {
|
|
7
|
+
getDDB(): DynamoDBDocumentClient;
|
|
8
|
+
tableIsEmpty(tableName: string): Promise<boolean>;
|
|
9
|
+
throughputSafeScanOrQuery<T, R>(proc: (T: any) => Promise<R>, input: T, maxTries?: number, inCurrentTry?: number): Promise<R>;
|
|
10
|
+
fullyExecuteQueryCount(qry: DocQueryCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
11
|
+
fullyExecuteQuery<T>(qry: DocQueryCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
12
|
+
fullyExecuteProcessOverQuery<T>(qry: DocQueryCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
13
|
+
fullyExecuteScanCount(scan: DocScanCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
14
|
+
fullyExecuteScan<T>(scan: DocScanCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
15
|
+
fullyExecuteProcessOverScan<T>(scan: DocScanCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
16
|
+
writeAllInBatches<T>(tableName: string, elements: T[], batchSize: number): Promise<number>;
|
|
17
|
+
fetchFullObjectsMatchingKeysOnlyIndexQuery<T>(qry: DocQueryCommandInput, keyNames: string[], batchSize?: number): Promise<T[]>;
|
|
18
|
+
fetchAllInBatches<T>(tableName: string, inKeys: any[], batchSize: number): Promise<T[]>;
|
|
19
|
+
deleteAllInBatches(tableName: string, keys: any[], batchSize: number): Promise<number>;
|
|
20
|
+
simplePut(tableName: string, value: any, autoRetryCount?: number): Promise<PutItemOutput>;
|
|
21
|
+
simplePutOnlyIfFieldIsNullOrUndefined(tableName: string, value: any, fieldName: string): Promise<boolean>;
|
|
22
|
+
simplePutWithCollisionAvoidance<T>(tableName: string, value: T, keyNames: string[], adjustFunction: (val: T) => T, maxAdjusts?: number, autoRetryCount?: number): Promise<T>;
|
|
23
|
+
simpleGet<T>(tableName: string, keys: any, autoRetryCount?: number): Promise<T>;
|
|
24
|
+
simpleGetWithCounterDecrement<T>(tableName: string, keys: any, counterAttributeName: string, deleteOnZero: boolean, autoRetryCount?: number): Promise<T>;
|
|
25
|
+
simpleDelete(tableName: string, keys: any): Promise<DeleteItemCommandOutput>;
|
|
26
|
+
atomicCounter(tableName: string, keys: any, counterFieldName: string, increment?: number): Promise<number>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import { DynamoCountResult } from '../model/dynamo-count-result';
|
|
3
|
+
import { DynamoRatchetLike } from './dynamo-ratchet-like';
|
|
4
|
+
import { DeleteItemCommandOutput, PutItemCommandOutput, QueryCommandOutput, ScanCommandOutput } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import { DocScanCommandInput } from '../model/dynamo/doc-scan-command-input';
|
|
6
|
+
import { DocQueryCommandInput } from '../model/dynamo/doc-query-command-input';
|
|
7
|
+
export declare class DynamoRatchet implements DynamoRatchetLike {
|
|
8
|
+
private awsDDB;
|
|
9
|
+
constructor(awsDDB: DynamoDBDocumentClient);
|
|
10
|
+
getDDB(): DynamoDBDocumentClient;
|
|
11
|
+
tableIsEmpty(tableName: string): Promise<boolean>;
|
|
12
|
+
scanPromise(input: DocScanCommandInput): Promise<ScanCommandOutput>;
|
|
13
|
+
queryPromise(input: DocQueryCommandInput): Promise<QueryCommandOutput>;
|
|
14
|
+
throughputSafeScanOrQuery<T, R>(proc: (T: any) => Promise<R>, input: T, maxTries?: number, inCurrentTry?: number): Promise<R>;
|
|
15
|
+
fullyExecuteQueryCount(qry: DocQueryCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
16
|
+
fullyExecuteQuery<T>(qry: DocQueryCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
17
|
+
fullyExecuteProcessOverQuery<T>(qry: DocQueryCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
18
|
+
fullyExecuteScanCount(scan: DocScanCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
19
|
+
fullyExecuteScan<T>(scan: DocScanCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
20
|
+
fullyExecuteProcessOverScan<T>(scan: DocScanCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
21
|
+
writeAllInBatches<T>(tableName: string, elements: T[], batchSize: number): Promise<number>;
|
|
22
|
+
fetchFullObjectsMatchingKeysOnlyIndexQuery<T>(qry: DocQueryCommandInput, keyNames: string[], batchSize?: number): Promise<T[]>;
|
|
23
|
+
fetchAllInBatches<T>(tableName: string, inKeys: Record<string, any>[], batchSize: number): Promise<T[]>;
|
|
24
|
+
deleteAllInBatches(tableName: string, keys: Record<string, any>[], batchSize: number): Promise<number>;
|
|
25
|
+
simplePut(tableName: string, value: Record<string, any>, autoRetryCount?: number): Promise<PutItemCommandOutput>;
|
|
26
|
+
simplePutOnlyIfFieldIsNullOrUndefined(tableName: string, value: Record<string, any>, fieldName: string): Promise<boolean>;
|
|
27
|
+
simplePutWithCollisionAvoidance<T>(tableName: string, value: T, keyNames: string[], adjustFunction: (val: T) => T, maxAdjusts?: number, autoRetryCount?: number): Promise<T>;
|
|
28
|
+
simpleGet<T>(tableName: string, keys: Record<string, any>, autoRetryCount?: number): Promise<T>;
|
|
29
|
+
static objectIsErrorWithProvisionedThroughputExceededExceptionCode(err: Record<string, any>): boolean;
|
|
30
|
+
simpleGetWithCounterDecrement<T>(tableName: string, keys: Record<string, any>, counterAttributeName: string, deleteOnZero: boolean, autoRetryCount?: number): Promise<T>;
|
|
31
|
+
simpleDelete(tableName: string, keys: Record<string, any>): Promise<DeleteItemCommandOutput>;
|
|
32
|
+
atomicCounter(tableName: string, keys: Record<string, any>, counterFieldName: string, increment?: number): Promise<number>;
|
|
33
|
+
static cleanObject(ob: Record<string, any>): void;
|
|
34
|
+
static stripToKeysOnly(input: Record<string, any>, keysNames: string[]): Record<string, any>;
|
|
35
|
+
static stripAllToKeysOnly(input: Record<string, any>[], keys: string[]): Record<string, any>[];
|
|
36
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CreateTableCommandInput, CreateTableCommandOutput, DeleteTableCommandOutput, DescribeTableCommandOutput, DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
export declare class DynamoTableRatchet {
|
|
3
|
+
private awsDDB;
|
|
4
|
+
constructor(awsDDB: DynamoDBClient);
|
|
5
|
+
deleteTable(tableName: string, waitForDelete?: boolean): Promise<DeleteTableCommandOutput>;
|
|
6
|
+
createTable(input: CreateTableCommandInput, waitForReady?: boolean, replaceIfExists?: boolean): Promise<CreateTableCommandOutput>;
|
|
7
|
+
waitForTableReady(tableName: string): Promise<boolean>;
|
|
8
|
+
waitForTableDelete(tableName: string): Promise<void>;
|
|
9
|
+
tableExists(tableName: string): Promise<boolean>;
|
|
10
|
+
safeDescribeTable(tableName: string): Promise<DescribeTableCommandOutput>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class HashSpreader {
|
|
2
|
+
private spots;
|
|
3
|
+
private buckets;
|
|
4
|
+
private separator;
|
|
5
|
+
private alphabet;
|
|
6
|
+
private _allSlots;
|
|
7
|
+
constructor(spots?: number, buckets?: number, separator?: string, alphabet?: string);
|
|
8
|
+
get allBuckets(): string[];
|
|
9
|
+
get randomBucket(): string;
|
|
10
|
+
allSpreadValues(input: string): string[];
|
|
11
|
+
allSpreadValuesForArray(inputs: string[]): string[];
|
|
12
|
+
addSpreader(input: string): string;
|
|
13
|
+
extractBucket(input: string): string;
|
|
14
|
+
removeBucket(input: string): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Instance } from '@aws-sdk/client-ec2';
|
|
2
|
+
import { SendSSHPublicKeyCommandOutput } from '@aws-sdk/client-ec2-instance-connect';
|
|
3
|
+
/**
|
|
4
|
+
* Service to simplify interacting with EC2 instances
|
|
5
|
+
*
|
|
6
|
+
* NOTE! If you are going to describe instances, you MUST use resource: '*' in your
|
|
7
|
+
* IAM priv - any other value will fail. See
|
|
8
|
+
* https://forums.aws.amazon.com/thread.jspa?threadID=142312 and
|
|
9
|
+
* https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* Really should combine start and stop below
|
|
13
|
+
*/
|
|
14
|
+
export declare class Ec2Ratchet {
|
|
15
|
+
private region;
|
|
16
|
+
private availabilityZone;
|
|
17
|
+
private ec2;
|
|
18
|
+
private ec2InstanceConnect;
|
|
19
|
+
constructor(region?: string, availabilityZone?: string);
|
|
20
|
+
stopInstance(instanceId: string, maxWaitForShutdownMS?: number): Promise<boolean>;
|
|
21
|
+
launchInstance(instanceId: string, maxWaitForStartupMS?: number): Promise<boolean>;
|
|
22
|
+
describeInstance(instanceId: string): Promise<Instance>;
|
|
23
|
+
listAllInstances(instanceIds?: string[]): Promise<Instance[]>;
|
|
24
|
+
sendPublicKeyToEc2Instance(instanceId: string, publicKeyString: string, instanceOsUser?: string): Promise<SendSSHPublicKeyCommandOutput>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider';
|
|
2
|
+
/**
|
|
3
|
+
* Reads a series of providers, returning the first non-null, non-error
|
|
4
|
+
*/
|
|
5
|
+
export declare class CascadeEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
6
|
+
private providers;
|
|
7
|
+
constructor(providers: EnvironmentServiceProvider<T>[]);
|
|
8
|
+
fetchConfig(name: string): Promise<T>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider';
|
|
2
|
+
/**
|
|
3
|
+
* Service for reading environmental variables
|
|
4
|
+
* Also hides the decryption detail from higher up servicess
|
|
5
|
+
*/
|
|
6
|
+
export declare class EnvVarEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
7
|
+
private envVarName;
|
|
8
|
+
constructor(envVarName: string);
|
|
9
|
+
fetchConfig(): Promise<T>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider';
|
|
2
|
+
import { EnvironmentServiceConfig } from './environment-service-config';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps up a EnvironmentServiceProvider and provides caching and retry-on-failure logic
|
|
5
|
+
*/
|
|
6
|
+
export declare class EnvironmentService<T> {
|
|
7
|
+
private provider;
|
|
8
|
+
private cfg;
|
|
9
|
+
private readPromiseCache;
|
|
10
|
+
static defaultEnvironmentServiceConfig(): EnvironmentServiceConfig;
|
|
11
|
+
constructor(provider: EnvironmentServiceProvider<T>, cfg?: EnvironmentServiceConfig);
|
|
12
|
+
getConfig(name: string): Promise<T>;
|
|
13
|
+
private getConfigUncached;
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider';
|
|
2
|
+
/**
|
|
3
|
+
* Forces in a single object as the environment
|
|
4
|
+
*/
|
|
5
|
+
export declare class FixedEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
6
|
+
private value;
|
|
7
|
+
constructor(value: Map<string, T>);
|
|
8
|
+
static fromRecord<T>(record: Record<string, T>): FixedEnvironmentServiceProvider<T>;
|
|
9
|
+
fetchConfig(name: string): Promise<T>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider';
|
|
2
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
3
|
+
/**
|
|
4
|
+
* Service for reading environmental variables from S3
|
|
5
|
+
*/
|
|
6
|
+
export declare class S3EnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
7
|
+
private cfg;
|
|
8
|
+
private ratchet;
|
|
9
|
+
constructor(cfg: S3EnvironmentServiceProviderConfig);
|
|
10
|
+
fetchConfig(name: string): Promise<T>;
|
|
11
|
+
}
|
|
12
|
+
export interface S3EnvironmentServiceProviderConfig {
|
|
13
|
+
s3Override?: S3Client;
|
|
14
|
+
bucketName: string;
|
|
15
|
+
region?: string;
|
|
16
|
+
pathPrefix?: string;
|
|
17
|
+
pathSuffix?: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider';
|
|
2
|
+
/**
|
|
3
|
+
* Service for reading environmental variables
|
|
4
|
+
* Also hides the decryption detail from higher up services
|
|
5
|
+
*/
|
|
6
|
+
export declare class SsmEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
7
|
+
private region;
|
|
8
|
+
private ssmEncrypted;
|
|
9
|
+
private ssm;
|
|
10
|
+
constructor(region?: string, ssmEncrypted?: boolean);
|
|
11
|
+
fetchConfig(name: string): Promise<T>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ExpiringCodeProvider } from './expiring-code-provider';
|
|
2
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet';
|
|
3
|
+
import { ExpiringCode } from './expiring-code';
|
|
4
|
+
import { DynamoTableRatchet } from '../dynamodb/dynamo-table-ratchet';
|
|
5
|
+
export declare class DynamoExpiringCodeProvider implements ExpiringCodeProvider {
|
|
6
|
+
private tableName;
|
|
7
|
+
private dynamoRatchet;
|
|
8
|
+
constructor(tableName: string, dynamoRatchet: DynamoRatchet);
|
|
9
|
+
checkCode(code: string, context: string, deleteOnMatch?: boolean): Promise<boolean>;
|
|
10
|
+
storeCode(code: ExpiringCode): Promise<boolean>;
|
|
11
|
+
createTableIfMissing(dtr: DynamoTableRatchet): Promise<any>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ExpiringCodeProvider } from './expiring-code-provider';
|
|
2
|
+
import { ExpiringCodeParams } from './expiring-code-params';
|
|
3
|
+
import { ExpiringCode } from './expiring-code';
|
|
4
|
+
/**
|
|
5
|
+
* Supports creating and checking single use codes
|
|
6
|
+
*/
|
|
7
|
+
export declare class ExpiringCodeRatchet {
|
|
8
|
+
private provider;
|
|
9
|
+
constructor(provider: ExpiringCodeProvider);
|
|
10
|
+
static generateCode(params: ExpiringCodeParams): ExpiringCode;
|
|
11
|
+
createNewCode(params: ExpiringCodeParams): Promise<ExpiringCode>;
|
|
12
|
+
checkCode(code: string, context: string, deleteOnMatch?: boolean): Promise<boolean>;
|
|
13
|
+
}
|