@kensio/yulin 0.11.0 → 0.13.0
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/README.md +1 -5
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +15 -14
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +12 -11
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +18 -9
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +19 -9
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +17 -8
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +15 -5
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +30 -36
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +52 -52
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +84 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.js +2 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +3 -3
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/install/install-sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/install/install-sim-cloudfront.js +3 -3
- package/dist/service/cloudfront/install/install-sim-cloudfront.js.map +1 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts +2 -2
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js +10 -3
- package/dist/service/cloudfront/origin/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts +2 -2
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.cmd.d.ts +61 -0
- package/dist/service/dynamodb/command/create-table/create-table.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/create-table/create-table.cmd.js +2 -0
- package/dist/service/dynamodb/command/create-table/create-table.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts +3 -3
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.js +2 -5
- package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.d.ts +21 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.js +2 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts +3 -3
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js +3 -5
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.d.ts +22 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.js +2 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts +3 -3
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +1 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts +45 -0
- package/dist/service/dynamodb/command/put-item/put-item.cmd.d.ts.map +1 -0
- package/dist/service/dynamodb/command/put-item/put-item.cmd.js +2 -0
- package/dist/service/dynamodb/command/put-item/put-item.cmd.js.map +1 -0
- package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts +3 -3
- package/dist/service/dynamodb/command/put-item/put-item.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/put-item/put-item.handler.js +2 -5
- package/dist/service/dynamodb/command/put-item/put-item.handler.js.map +1 -1
- package/dist/service/dynamodb/error/dynamodb.error.d.ts +28 -0
- package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -0
- package/dist/service/dynamodb/error/dynamodb.error.js +29 -0
- package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -0
- package/dist/service/dynamodb/index.d.ts +0 -1
- package/dist/service/dynamodb/index.d.ts.map +1 -1
- package/dist/service/dynamodb/index.js +0 -1
- package/dist/service/dynamodb/index.js.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts +3 -3
- package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js +10 -10
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item.d.ts +3 -3
- package/dist/service/dynamodb/item/dynamodb-item.d.ts.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item.js.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.d.ts +8 -5
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts +9 -15
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.js +29 -35
- package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.d.ts +5 -5
- package/dist/service/dynamodb/table/dynamodb-table.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-table.js +3 -3
- package/dist/service/dynamodb/table/dynamodb-table.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/bucket/website/s3-bucket-website.d.ts +2 -2
- package/dist/service/s3/bucket/website/s3-bucket-website.d.ts.map +1 -1
- package/dist/service/s3/bucket/website/s3-bucket-website.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.d.ts +21 -0
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.js +2 -0
- package/dist/service/s3/command/create-bucket/create-bucket.cmd.js.map +1 -0
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +3 -3
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +4 -13
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.cmd.d.ts +23 -0
- package/dist/service/s3/command/get-object/get-object.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/get-object/get-object.cmd.js +2 -0
- package/dist/service/s3/command/get-object/get-object.cmd.js.map +1 -0
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +3 -3
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +3 -9
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.d.ts +30 -0
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.js +2 -0
- package/dist/service/s3/command/list-buckets/list-buckets.cmd.js.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +3 -3
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts +36 -0
- package/dist/service/s3/command/list-objects/list-objects.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects.cmd.js +2 -0
- package/dist/service/s3/command/list-objects/list-objects.cmd.js.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +3 -3
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +2 -5
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.d.ts +72 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.js +2 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.cmd.js.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +3 -3
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +2 -5
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.cmd.d.ts +27 -0
- package/dist/service/s3/command/put-object/put-object.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/put-object/put-object.cmd.js +2 -0
- package/dist/service/s3/command/put-object/put-object.cmd.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +3 -3
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -5
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/error/s3.error.d.ts +42 -0
- package/dist/service/s3/error/s3.error.d.ts.map +1 -0
- package/dist/service/s3/error/s3.error.js +47 -0
- package/dist/service/s3/error/s3.error.js.map +1 -0
- package/dist/service/s3/index.d.ts +0 -1
- package/dist/service/s3/index.d.ts.map +1 -1
- package/dist/service/s3/index.js +0 -1
- package/dist/service/s3/index.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.d.ts +1 -2
- package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-req-router.d.ts +1 -2
- package/dist/service/s3/serve/sim-s3-req-router.d.ts.map +1 -1
- package/dist/service/s3/serve/sim-s3-req-router.js +2 -2
- package/dist/service/s3/serve/sim-s3-req-router.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +12 -7
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,11 +16,9 @@ Create and interact directly with a simulated AWS:
|
|
|
16
16
|
|
|
17
17
|
```typescript
|
|
18
18
|
import { SimAws } from "@kensio/yulin";
|
|
19
|
-
import { installSimDynamoDb } from "@kensio/yulin/dynamodb"
|
|
20
19
|
import { CreateTableCommand } from "@aws-sdk/client-dynamodb";
|
|
21
20
|
|
|
22
21
|
const simAws = new SimAws();
|
|
23
|
-
installSimDynamoDb(simAws);
|
|
24
22
|
|
|
25
23
|
// Default Account and Region.
|
|
26
24
|
await simAws.service("dynamoDb").createTable(
|
|
@@ -65,7 +63,6 @@ You can listen on a port to serve your simulated AWS on localhost:
|
|
|
65
63
|
|
|
66
64
|
```typescript
|
|
67
65
|
import { SimAws } from "@kensio/yulin";
|
|
68
|
-
import { installSimS3 } from "@kensio/yulin/s3";
|
|
69
66
|
import { serveSimAws } from "@kensio/yulin/serve";
|
|
70
67
|
import {
|
|
71
68
|
CreateBucketCommand,
|
|
@@ -74,10 +71,9 @@ import {
|
|
|
74
71
|
} from "@aws-sdk/client-s3";
|
|
75
72
|
|
|
76
73
|
const simAws = new SimAws();
|
|
77
|
-
installSimS3(simAws);
|
|
78
74
|
const srv = await serveSimAws(simAws); // Chooses available port on localhost.
|
|
79
75
|
|
|
80
|
-
const simS3 = simAws.region("eu-west-2").
|
|
76
|
+
const simS3 = simAws.region("eu-west-2").s3();
|
|
81
77
|
await simS3.createBucket(new CreateBucketCommand({ Bucket: "foo-site" }));
|
|
82
78
|
await simS3.putBucketWebsite(new PutBucketWebsiteCommand({
|
|
83
79
|
Bucket: "foo-site",
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export { SimAws } from "./service/aws/sim-aws.js";
|
|
|
2
2
|
export { SimAwsAccount } from "./service/aws/sim-aws-account.js";
|
|
3
3
|
export { SimAwsRegion } from "./service/aws/sim-aws-region.js";
|
|
4
4
|
export { SimAwsAccountRegionContainer } from "./service/aws/sim-aws-account-region-scope.js";
|
|
5
|
-
export type { NoSimAwsServices, SimAwsAccountRegionScopes, SimAwsServiceMap, } from "./service/aws/sim-aws-services.js";
|
|
6
5
|
export type { AwsRegionName } from "./service/aws/sim-aws-region.js";
|
|
7
6
|
export type { SimAwsAccountId } from "./service/aws/sim-aws-account.js";
|
|
8
7
|
export type { SimAwsAccountRegionScope } from "./service/aws/sim-aws-account-region-scope.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,YAAY,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC"}
|
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
import { type SimAwsAccount, type SimAwsAccountId } from "./sim-aws-account.js";
|
|
2
2
|
import { type AwsRegionName, type SimAwsRegion } from "./sim-aws-region.js";
|
|
3
|
-
import type { NoSimAwsServices, SimAwsServiceMap } from "./sim-aws-services.js";
|
|
4
3
|
import { SimAws } from "./sim-aws.js";
|
|
5
4
|
import { DynamicFactory } from "@kensio/part-factory";
|
|
5
|
+
import type { SimS3 } from "../s3/sim-s3.js";
|
|
6
|
+
import type { SimCloudFront } from "../cloudfront/sim-cloudfront.js";
|
|
7
|
+
import type { SimDynamoDb } from "../dynamodb/index.js";
|
|
6
8
|
export type SimAccountRegionScopeKey = `${SimAwsAccountId}:${AwsRegionName}`;
|
|
7
9
|
/**
|
|
8
10
|
* Combined simulated AWS Account and Region scope.
|
|
9
11
|
* This is the real Account/Region scope container for simulated services.
|
|
10
12
|
*/
|
|
11
|
-
export declare class SimAwsAccountRegionContainer
|
|
13
|
+
export declare class SimAwsAccountRegionContainer {
|
|
12
14
|
private readonly simAws;
|
|
13
|
-
readonly account: SimAwsAccount
|
|
14
|
-
readonly region: SimAwsRegion
|
|
15
|
+
readonly account: SimAwsAccount;
|
|
16
|
+
readonly region: SimAwsRegion;
|
|
15
17
|
private readonly memo;
|
|
16
18
|
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
17
|
-
constructor(simAws?: SimAws
|
|
19
|
+
constructor(simAws?: SimAws, account?: SimAwsAccount, region?: SimAwsRegion);
|
|
18
20
|
/**
|
|
19
|
-
* Get
|
|
20
|
-
* The service must be installed with the appropriate installer function
|
|
21
|
-
* first.
|
|
21
|
+
* Get simulated S3 for this account and region.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
s3(): SimS3;
|
|
24
24
|
/**
|
|
25
|
-
* Get
|
|
26
|
-
*
|
|
27
|
-
* This is useful for optional cross-service dependencies, where one simulated
|
|
28
|
-
* service can use another if it has been independently installed.
|
|
25
|
+
* Get simulated CloudFront for this account.
|
|
29
26
|
*/
|
|
30
|
-
|
|
27
|
+
cloudFront(): SimCloudFront;
|
|
28
|
+
/**
|
|
29
|
+
* Get simulated DynamoDB for this account and region.
|
|
30
|
+
*/
|
|
31
|
+
dynamoDb(): SimDynamoDb;
|
|
31
32
|
}
|
|
32
33
|
export interface SimAwsAccountRegionScope {
|
|
33
34
|
accountId: SimAwsAccountId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-account-region-scope.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account-region-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-aws-account-region-scope.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account-region-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,wBAAwB,GAAG,GAAG,eAAe,IAAI,aAAa,EAAE,CAAC;AAE7E;;;GAGG;AACH,qBAAa,4BAA4B;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,OAAO,EAAE,aAAa;aACtB,MAAM,EAAE,YAAY;IAPtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAE5C,SAAgB,kBAAkB,EAAE,wBAAwB,CAAC;gBAG1C,MAAM,GAAE,MAAqB,EAC9B,OAAO,GAAE,aAAqC,EAC9C,MAAM,GAAE,YAAmC;IAQ7D;;OAEG;IACH,EAAE,IAAI,KAAK;IAIX;;OAEG;IACH,UAAU,IAAI,aAAa;IAM3B;;OAEG;IACH,QAAQ,IAAI,WAAW;CAKxB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,0CAIvC,CAAC"}
|
|
@@ -23,21 +23,22 @@ export class SimAwsAccountRegionContainer {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Get
|
|
27
|
-
* The service must be installed with the appropriate installer function
|
|
28
|
-
* first.
|
|
26
|
+
* Get simulated S3 for this account and region.
|
|
29
27
|
*/
|
|
30
|
-
|
|
31
|
-
return this.memo.getOrCreate(
|
|
28
|
+
s3() {
|
|
29
|
+
return this.memo.getOrCreate("s3", () => this.simAws.createS3(this));
|
|
32
30
|
}
|
|
33
31
|
/**
|
|
34
|
-
* Get
|
|
35
|
-
*
|
|
36
|
-
* This is useful for optional cross-service dependencies, where one simulated
|
|
37
|
-
* service can use another if it has been independently installed.
|
|
32
|
+
* Get simulated CloudFront for this account.
|
|
38
33
|
*/
|
|
39
|
-
|
|
40
|
-
return this.memo.getOrCreate(
|
|
34
|
+
cloudFront() {
|
|
35
|
+
return this.memo.getOrCreate("cloudFront", () => this.simAws.createCloudFront(this));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get simulated DynamoDB for this account and region.
|
|
39
|
+
*/
|
|
40
|
+
dynamoDb() {
|
|
41
|
+
return this.memo.getOrCreate("dynamoDb", () => this.simAws.createDynamoDb(this));
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-account-region-scope.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account-region-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-aws-account-region-scope.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account-region-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IAMpB;IACD;IACA;IAPD,IAAI,GAAG,IAAI,IAAI,EAAW,CAAC;IAE5B,kBAAkB,CAA2B;IAE7D,YACmB,SAAiB,IAAI,MAAM,EAAE,EAC9B,UAAyB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAC9C,SAAuB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QAF1C,WAAM,GAAN,MAAM,CAAuB;QAC9B,YAAO,GAAP,OAAO,CAAuC;QAC9C,WAAM,GAAN,MAAM,CAAqC;QAE3D,IAAI,CAAC,kBAAkB,GAAG;YACxB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,EAAE;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,CAC9C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAC5C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CACjC,CAAC;IACJ,CAAC;CACF;AAOD;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,IAAI,cAAc,CAA2B,GAAG,EAAE,CAAC,CAAC;IAClD,SAAS,EAAE,mBAAmB,EAAE;IAChC,UAAU,EAAE,iBAAiB,EAAE;CAChC,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { AwsRegionName } from "./sim-aws-region.js";
|
|
2
2
|
import type { Brand } from "../../util/brand.type.js";
|
|
3
|
-
import type { NoSimAwsServices, SimAwsAccountRegionScopes, SimAwsServiceMap } from "./sim-aws-services.js";
|
|
4
3
|
import type { SimAwsAccountRegionContainer } from "./sim-aws-account-region-scope.js";
|
|
4
|
+
import type { SimS3 } from "../s3/sim-s3.js";
|
|
5
|
+
import type { SimCloudFront } from "../cloudfront/sim-cloudfront.js";
|
|
6
|
+
import type { SimDynamoDb } from "../dynamodb/sim-dynamodb.js";
|
|
7
|
+
import type { SimAws } from "./sim-aws.js";
|
|
5
8
|
export type SimAwsAccountId = Brand<string, "SimAwsAccountId">;
|
|
6
9
|
export declare const DEFAULT_SIM_AWS_ACCOUNT_ID: SimAwsAccountId;
|
|
7
10
|
/**
|
|
@@ -10,20 +13,26 @@ export declare const DEFAULT_SIM_AWS_ACCOUNT_ID: SimAwsAccountId;
|
|
|
10
13
|
* So SimAwsAccount is like an intermediate navigation handler on the way to a
|
|
11
14
|
* full Account/Region scope.
|
|
12
15
|
*/
|
|
13
|
-
export declare class SimAwsAccount
|
|
14
|
-
private readonly
|
|
16
|
+
export declare class SimAwsAccount {
|
|
17
|
+
private readonly simAws;
|
|
15
18
|
readonly accountId: SimAwsAccountId;
|
|
16
|
-
constructor(
|
|
19
|
+
constructor(simAws: Pick<SimAws, "accountRegionScope">, accountId?: SimAwsAccountId);
|
|
17
20
|
/**
|
|
18
21
|
* Get a simulated AWS Region scoped for this Account.
|
|
19
22
|
*/
|
|
20
|
-
region(regionName?: AwsRegionName): SimAwsAccountRegionContainer
|
|
23
|
+
region(regionName?: AwsRegionName): SimAwsAccountRegionContainer;
|
|
21
24
|
/**
|
|
22
|
-
* Get
|
|
23
|
-
* The service must be installed with the appropriate installer function
|
|
24
|
-
* first.
|
|
25
|
+
* Get simulated S3 for this Account's default Region.
|
|
25
26
|
*/
|
|
26
|
-
|
|
27
|
+
s3(): SimS3;
|
|
28
|
+
/**
|
|
29
|
+
* Get simulated CloudFront for this Account.
|
|
30
|
+
*/
|
|
31
|
+
cloudFront(): SimCloudFront;
|
|
32
|
+
/**
|
|
33
|
+
* Get simulated DynamoDB for this Account's default Region.
|
|
34
|
+
*/
|
|
35
|
+
dynamoDb(): SimDynamoDb;
|
|
27
36
|
}
|
|
28
37
|
/**
|
|
29
38
|
* Generate a fake AWS Account ID.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-account.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sim-aws-account.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE/D,eAAO,MAAM,0BAA0B,EAAqB,eAAe,CAAC;AAE5E;;;;;GAKG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,SAAS,EAAE,eAAe;gBADzB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC3C,SAAS,GAAE,eAA4C;IAGzE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,4BAA4B;IAIhE;;OAEG;IACH,EAAE,IAAI,KAAK;IAIX;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;OAEG;IACH,QAAQ,IAAI,WAAW;CAGxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAErD"}
|
|
@@ -7,25 +7,35 @@ export const DEFAULT_SIM_AWS_ACCOUNT_ID = "888888888888";
|
|
|
7
7
|
* full Account/Region scope.
|
|
8
8
|
*/
|
|
9
9
|
export class SimAwsAccount {
|
|
10
|
-
|
|
10
|
+
simAws;
|
|
11
11
|
accountId;
|
|
12
|
-
constructor(
|
|
13
|
-
this.
|
|
12
|
+
constructor(simAws, accountId = DEFAULT_SIM_AWS_ACCOUNT_ID) {
|
|
13
|
+
this.simAws = simAws;
|
|
14
14
|
this.accountId = accountId;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Get a simulated AWS Region scoped for this Account.
|
|
18
18
|
*/
|
|
19
19
|
region(regionName) {
|
|
20
|
-
return this.
|
|
20
|
+
return this.simAws.accountRegionScope(this.accountId, regionName);
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Get
|
|
24
|
-
* The service must be installed with the appropriate installer function
|
|
25
|
-
* first.
|
|
23
|
+
* Get simulated S3 for this Account's default Region.
|
|
26
24
|
*/
|
|
27
|
-
|
|
28
|
-
return this.region().
|
|
25
|
+
s3() {
|
|
26
|
+
return this.region().s3();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get simulated CloudFront for this Account.
|
|
30
|
+
*/
|
|
31
|
+
cloudFront() {
|
|
32
|
+
return this.region().cloudFront();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get simulated DynamoDB for this Account's default Region.
|
|
36
|
+
*/
|
|
37
|
+
dynamoDb() {
|
|
38
|
+
return this.region().dynamoDb();
|
|
29
39
|
}
|
|
30
40
|
}
|
|
31
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-account.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-aws-account.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-account.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAQxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAiC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAEL;IACD;IAFlB,YACmB,MAA0C,EAC3C,YAA6B,0BAA0B;QADtD,WAAM,GAAN,MAAM,CAAoC;QAC3C,cAAS,GAAT,SAAS,CAA8C;IACtE,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,UAA0B;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,EAAE;QACA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAoB,CAAC;AACjE,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { SimAwsAccountId } from "./sim-aws-account.js";
|
|
2
2
|
import type { SimAwsAccountRegionContainer } from "./sim-aws-account-region-scope.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimS3 } from "../s3/sim-s3.js";
|
|
4
|
+
import type { SimCloudFront } from "../cloudfront/sim-cloudfront.js";
|
|
5
|
+
import type { SimDynamoDb } from "../dynamodb/index.js";
|
|
6
|
+
import type { SimAws } from "./sim-aws.js";
|
|
4
7
|
export declare const AWS_REGION_NAMES: readonly ["us-east-1", "us-east-2", "us-west-1", "us-west-2", "af-south-1", "ap-east-1", "ap-south-2", "ap-southeast-3", "ap-southeast-5", "ap-southeast-4", "ap-south-1", "ap-southeast-6", "ap-northeast-3", "ap-northeast-2", "ap-southeast-1", "ap-southeast-2", "ap-east-2", "ap-southeast-7", "ap-northeast-1", "ca-central-1", "ca-west-1", "eu-central-1", "eu-west-1", "eu-west-2", "eu-south-1", "eu-west-3", "eu-south-2", "eu-north-1", "eu-central-2", "il-central-1", "mx-central-1", "me-south-1", "me-central-1", "sa-east-1"];
|
|
5
8
|
export type AwsRegionName = (typeof AWS_REGION_NAMES)[number];
|
|
6
9
|
export declare const DEFAULT_SIM_AWS_REGION_NAME: "us-east-1";
|
|
@@ -10,20 +13,26 @@ export declare const DEFAULT_SIM_AWS_REGION_NAME: "us-east-1";
|
|
|
10
13
|
* So SimAwsRegion is like an intermediate navigation handler on the way to a
|
|
11
14
|
* full Account/Region scope.
|
|
12
15
|
*/
|
|
13
|
-
export declare class SimAwsRegion
|
|
16
|
+
export declare class SimAwsRegion {
|
|
14
17
|
private readonly accountRegionScopes;
|
|
15
18
|
readonly regionName: AwsRegionName;
|
|
16
|
-
constructor(accountRegionScopes:
|
|
19
|
+
constructor(accountRegionScopes: Pick<SimAws, "accountRegionScope">, regionName?: AwsRegionName);
|
|
17
20
|
/**
|
|
18
21
|
* Get a simulated AWS Account scoped for this Region.
|
|
19
22
|
*/
|
|
20
|
-
account(accountId?: SimAwsAccountId | string): SimAwsAccountRegionContainer
|
|
23
|
+
account(accountId?: SimAwsAccountId | string): SimAwsAccountRegionContainer;
|
|
21
24
|
/**
|
|
22
|
-
* Get
|
|
23
|
-
* The service must be installed with the appropriate installer function
|
|
24
|
-
* first.
|
|
25
|
+
* Get simulated S3 for this Region's default Account.
|
|
25
26
|
*/
|
|
26
|
-
|
|
27
|
+
s3(): SimS3;
|
|
28
|
+
/**
|
|
29
|
+
* Get simulated CloudFront for this Region's default Account.
|
|
30
|
+
*/
|
|
31
|
+
cloudFront(): SimCloudFront;
|
|
32
|
+
/**
|
|
33
|
+
* Get simulated DynamoDB for this Region's default Account.
|
|
34
|
+
*/
|
|
35
|
+
dynamoDb(): SimDynamoDb;
|
|
27
36
|
}
|
|
28
37
|
/**
|
|
29
38
|
* Choose a random AWS Region name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-region.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-aws-region.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,eAAO,MAAM,gBAAgB,ghBAmCnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B,EAAG,WAAoB,CAAC;AAEhE;;;;;GAKG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;aACpB,UAAU,EAAE,aAAa;gBADxB,mBAAmB,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACxD,UAAU,GAAE,aAA2C;IAGzE;;OAEG;IACH,OAAO,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,4BAA4B;IAO3E;;OAEG;IACH,EAAE,IAAI,KAAK;IAIX;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;OAEG;IACH,QAAQ,IAAI,WAAW;CAGxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD"}
|
|
@@ -56,12 +56,22 @@ export class SimAwsRegion {
|
|
|
56
56
|
return this.accountRegionScopes.accountRegionScope(accountId, this.regionName);
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
|
-
* Get
|
|
60
|
-
* The service must be installed with the appropriate installer function
|
|
61
|
-
* first.
|
|
59
|
+
* Get simulated S3 for this Region's default Account.
|
|
62
60
|
*/
|
|
63
|
-
|
|
64
|
-
return this.account().
|
|
61
|
+
s3() {
|
|
62
|
+
return this.account().s3();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get simulated CloudFront for this Region's default Account.
|
|
66
|
+
*/
|
|
67
|
+
cloudFront() {
|
|
68
|
+
return this.account().cloudFront();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get simulated DynamoDB for this Region's default Account.
|
|
72
|
+
*/
|
|
73
|
+
dynamoDb() {
|
|
74
|
+
return this.account().dynamoDb();
|
|
65
75
|
}
|
|
66
76
|
}
|
|
67
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws-region.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-aws-region.js","sourceRoot":"","sources":["../../../src/service/aws/sim-aws-region.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMxC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,cAAc;IACd,WAAW;CACH,CAAC;AAIX,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAoB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IAEJ;IACD;IAFlB,YACmB,mBAAuD,EACxD,aAA4B,2BAA2B;QADtD,wBAAmB,GAAnB,mBAAmB,CAAoC;QACxD,eAAU,GAAV,UAAU,CAA6C;IACtE,CAAC;IAEJ;;OAEG;IACH,OAAO,CAAC,SAAoC;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,SAA4B,EAC5B,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,EAAE;QACA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1,73 +1,67 @@
|
|
|
1
1
|
import { SimAwsAccount, type SimAwsAccountId } from "./sim-aws-account.js";
|
|
2
2
|
import { type BackgroundCompleter, type BackgroundScheduler } from "../../util/background/background.js";
|
|
3
|
-
import {
|
|
4
|
-
import type { NoSimAwsServices, SimAwsAccountRegionScopes, SimAwsServiceFactory, SimAwsServiceMap } from "./sim-aws-services.js";
|
|
3
|
+
import { type AwsRegionName, SimAwsRegion } from "./sim-aws-region.js";
|
|
5
4
|
import { SimAwsAccountRegionContainer } from "./sim-aws-account-region-scope.js";
|
|
6
|
-
import type { SimAwsServiceController
|
|
5
|
+
import type { SimAwsServiceController } from "../../serve/controller/sim-service-controller.js";
|
|
6
|
+
import { SimS3 } from "../s3/sim-s3.js";
|
|
7
|
+
import { SimCloudFront } from "../cloudfront/sim-cloudfront.js";
|
|
8
|
+
import { SimDynamoDb } from "../dynamodb/index.js";
|
|
7
9
|
/**
|
|
8
10
|
* Top-level container for simulated AWS.
|
|
9
|
-
* Contains Account scopes, Region scopes, Account/Region scopes
|
|
10
|
-
*
|
|
11
|
-
* container.
|
|
12
|
-
* This allows for individual services to be installed as necessary, without
|
|
13
|
-
* importing all of them from the root and requiring every AWS SDK to be
|
|
14
|
-
* installed.
|
|
11
|
+
* Contains Account scopes, Region scopes, Account/Region scopes, and built-in
|
|
12
|
+
* simulated AWS services.
|
|
15
13
|
*/
|
|
16
|
-
export declare class SimAws
|
|
14
|
+
export declare class SimAws {
|
|
17
15
|
readonly defaultAccountId: SimAwsAccountId;
|
|
18
16
|
readonly defaultRegionName: "us-east-1";
|
|
19
17
|
readonly background: BackgroundScheduler & BackgroundCompleter;
|
|
20
18
|
private readonly accounts;
|
|
21
19
|
private readonly regions;
|
|
22
20
|
private readonly accountRegionScopes;
|
|
23
|
-
private readonly
|
|
24
|
-
private readonly
|
|
21
|
+
private readonly s3GlobalRegistry;
|
|
22
|
+
private readonly cloudFrontRegistry;
|
|
23
|
+
private readonly cloudFrontServices;
|
|
25
24
|
constructor(defaultAccountId?: SimAwsAccountId, defaultRegionName?: "us-east-1", background?: BackgroundScheduler & BackgroundCompleter);
|
|
26
25
|
/**
|
|
27
26
|
* Get a simulated AWS Account.
|
|
28
27
|
*/
|
|
29
|
-
account(accountId?: string): SimAwsAccount
|
|
28
|
+
account(accountId?: string): SimAwsAccount;
|
|
30
29
|
/**
|
|
31
30
|
* Get a simulated AWS Account Region scope.
|
|
32
31
|
*/
|
|
33
|
-
region(regionName?: AwsRegionName): SimAwsRegion
|
|
32
|
+
region(regionName?: AwsRegionName): SimAwsRegion;
|
|
34
33
|
/**
|
|
35
34
|
* Get an Account Region scope in this simulated AWS.
|
|
36
35
|
*/
|
|
37
|
-
accountRegionScope(accountId?: SimAwsAccountId, regionName?: AwsRegionName): SimAwsAccountRegionContainer
|
|
36
|
+
accountRegionScope(accountId?: SimAwsAccountId, regionName?: AwsRegionName): SimAwsAccountRegionContainer;
|
|
38
37
|
/**
|
|
39
|
-
*
|
|
38
|
+
* Get simulated S3 in the default Account Region scope.
|
|
40
39
|
*/
|
|
41
|
-
|
|
40
|
+
s3(): SimS3;
|
|
42
41
|
/**
|
|
43
|
-
*
|
|
42
|
+
* Get simulated CloudFront in the default Account scope.
|
|
44
43
|
*/
|
|
45
|
-
|
|
44
|
+
cloudFront(): SimCloudFront;
|
|
46
45
|
/**
|
|
47
|
-
*
|
|
46
|
+
* Get simulated DynamoDB in the default Account Region scope.
|
|
48
47
|
*/
|
|
49
|
-
|
|
48
|
+
dynamoDb(): SimDynamoDb;
|
|
50
49
|
/**
|
|
51
|
-
* Create
|
|
52
|
-
*
|
|
53
|
-
* This is intended for optional cross-service dependencies where TypeScript
|
|
54
|
-
* cannot know that another independently installed service is available.
|
|
55
|
-
*
|
|
56
|
-
* E.g. sim CloudFront needs sim S3 for S3 Origins. This pattern throws a more
|
|
57
|
-
* helpful error message when the user tries to do that without installing
|
|
58
|
-
* both sim services.
|
|
50
|
+
* Create simulated S3 for an Account Region scope.
|
|
59
51
|
*/
|
|
60
|
-
|
|
52
|
+
createS3(scope: SimAwsAccountRegionContainer): SimS3;
|
|
61
53
|
/**
|
|
62
|
-
* Create
|
|
54
|
+
* Create or get simulated CloudFront for an Account scope.
|
|
63
55
|
*/
|
|
64
|
-
|
|
56
|
+
createCloudFront(scope: SimAwsAccountRegionContainer): SimCloudFront;
|
|
57
|
+
/**
|
|
58
|
+
* Create simulated DynamoDB for an Account Region scope.
|
|
59
|
+
*/
|
|
60
|
+
createDynamoDb(scope: SimAwsAccountRegionContainer): SimDynamoDb;
|
|
65
61
|
/**
|
|
66
|
-
*
|
|
67
|
-
* The service must be installed with the appropriate installer function
|
|
68
|
-
* first.
|
|
62
|
+
* Create a simulated AWS HTTP service controller.
|
|
69
63
|
*/
|
|
70
|
-
|
|
64
|
+
createServiceController(serviceName: string): SimAwsServiceController;
|
|
71
65
|
/**
|
|
72
66
|
* Wait for all outstanding background tasks to complete.
|
|
73
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-aws.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"sim-aws.d.ts","sourceRoot":"","sources":["../../../src/service/aws/sim-aws.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,aAAa,EAElB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,4BAA4B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIhE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,MAAM;aAoBC,gBAAgB;aAChB,iBAAiB;aACjB,UAAU,EAAE,mBAAmB,GAC7C,mBAAmB;IAtBvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IAEtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGhC;IAEJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAE9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAElE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAG/B;gBAGc,gBAAgB,kBAA6B,EAC7C,iBAAiB,cAA8B,EAC/C,UAAU,GAAE,mBAAmB,GAC7C,mBAA2C;IAG/C;;OAEG;IACH,OAAO,CAAC,SAAS,GAAE,MAA8B,GAAG,aAAa;IAWjE;;OAEG;IACH,MAAM,CAAC,UAAU,GAAE,aAAsC,GAAG,YAAY;IAWxE;;OAEG;IACH,kBAAkB,CAChB,SAAS,GAAE,eAAuC,EAClD,UAAU,GAAE,aAAsC,GACjD,4BAA4B;IAgB/B;;OAEG;IACH,EAAE,IAAI,KAAK;IAIX;;OAEG;IACH,UAAU,IAAI,aAAa;IAI3B;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,KAAK;IAIpD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,GAAG,aAAa;IAiBpE;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,4BAA4B,GAAG,WAAW;IAIhE;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB;IAkBrE;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/C"}
|
|
@@ -2,14 +2,18 @@ import { DEFAULT_SIM_AWS_ACCOUNT_ID, SimAwsAccount, } from "./sim-aws-account.js
|
|
|
2
2
|
import { BackgroundTasks, } from "../../util/background/background.js";
|
|
3
3
|
import { DEFAULT_SIM_AWS_REGION_NAME, SimAwsRegion, } from "./sim-aws-region.js";
|
|
4
4
|
import { SimAwsAccountRegionContainer, } from "./sim-aws-account-region-scope.js";
|
|
5
|
+
import { SimS3 } from "../s3/sim-s3.js";
|
|
6
|
+
import { SimS3GlobalRegistry } from "../s3/sim-s3-global-registry.js";
|
|
7
|
+
import { SimS3ServiceController } from "../s3/serve/sim-s3-controller.js";
|
|
8
|
+
import { SimCloudFront } from "../cloudfront/sim-cloudfront.js";
|
|
9
|
+
import { SimCloudFrontRegistry } from "../cloudfront/sim-cloud-front-registry.js";
|
|
10
|
+
import { createSimCloudFrontS3OriginResolver } from "../cloudfront/origin/sim-cloudfront-s3-origin.js";
|
|
11
|
+
import { SimCloudFrontServiceController } from "../cloudfront/controller/sim-cloudfront-controller.js";
|
|
12
|
+
import { SimDynamoDb } from "../dynamodb/index.js";
|
|
5
13
|
/**
|
|
6
14
|
* Top-level container for simulated AWS.
|
|
7
|
-
* Contains Account scopes, Region scopes, Account/Region scopes
|
|
8
|
-
*
|
|
9
|
-
* container.
|
|
10
|
-
* This allows for individual services to be installed as necessary, without
|
|
11
|
-
* importing all of them from the root and requiring every AWS SDK to be
|
|
12
|
-
* installed.
|
|
15
|
+
* Contains Account scopes, Region scopes, Account/Region scopes, and built-in
|
|
16
|
+
* simulated AWS services.
|
|
13
17
|
*/
|
|
14
18
|
export class SimAws {
|
|
15
19
|
defaultAccountId;
|
|
@@ -18,8 +22,9 @@ export class SimAws {
|
|
|
18
22
|
accounts = new Map();
|
|
19
23
|
regions = new Map();
|
|
20
24
|
accountRegionScopes = new Map();
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
s3GlobalRegistry = new SimS3GlobalRegistry();
|
|
26
|
+
cloudFrontRegistry = new SimCloudFrontRegistry();
|
|
27
|
+
cloudFrontServices = new Map();
|
|
23
28
|
constructor(defaultAccountId = DEFAULT_SIM_AWS_ACCOUNT_ID, defaultRegionName = DEFAULT_SIM_AWS_REGION_NAME, background = new BackgroundTasks()) {
|
|
24
29
|
this.defaultAccountId = defaultAccountId;
|
|
25
30
|
this.defaultRegionName = defaultRegionName;
|
|
@@ -60,67 +65,62 @@ export class SimAws {
|
|
|
60
65
|
return accountRegionScope;
|
|
61
66
|
}
|
|
62
67
|
/**
|
|
63
|
-
*
|
|
68
|
+
* Get simulated S3 in the default Account Region scope.
|
|
64
69
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
throw new Error(`Sim AWS service is already installed: ${String(serviceName)}`);
|
|
68
|
-
}
|
|
69
|
-
this.serviceFactories.set(serviceName, factory);
|
|
70
|
+
s3() {
|
|
71
|
+
return this.accountRegionScope().s3();
|
|
70
72
|
}
|
|
71
73
|
/**
|
|
72
|
-
*
|
|
74
|
+
* Get simulated CloudFront in the default Account scope.
|
|
73
75
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
throw new Error(`Sim AWS service controller is already installed: ${serviceName}`);
|
|
77
|
-
}
|
|
78
|
-
this.serviceControllerFactories.set(serviceName, factory);
|
|
76
|
+
cloudFront() {
|
|
77
|
+
return this.accountRegionScope().cloudFront();
|
|
79
78
|
}
|
|
80
79
|
/**
|
|
81
|
-
*
|
|
80
|
+
* Get simulated DynamoDB in the default Account Region scope.
|
|
82
81
|
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (factory === undefined) {
|
|
86
|
-
throw new Error(`Sim AWS service is not installed: ${String(serviceName)}. Call installer function to install it.`);
|
|
87
|
-
}
|
|
88
|
-
return factory(scope);
|
|
82
|
+
dynamoDb() {
|
|
83
|
+
return this.accountRegionScope().dynamoDb();
|
|
89
84
|
}
|
|
90
85
|
/**
|
|
91
|
-
* Create
|
|
92
|
-
*
|
|
93
|
-
* This is intended for optional cross-service dependencies where TypeScript
|
|
94
|
-
* cannot know that another independently installed service is available.
|
|
95
|
-
*
|
|
96
|
-
* E.g. sim CloudFront needs sim S3 for S3 Origins. This pattern throws a more
|
|
97
|
-
* helpful error message when the user tries to do that without installing
|
|
98
|
-
* both sim services.
|
|
86
|
+
* Create simulated S3 for an Account Region scope.
|
|
99
87
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (factory === undefined) {
|
|
103
|
-
throw new Error(`Sim AWS service is not installed: ${String(serviceName)}. Call installer function to install it.`);
|
|
104
|
-
}
|
|
105
|
-
return factory(scope);
|
|
88
|
+
createS3(scope) {
|
|
89
|
+
return new SimS3(scope.accountRegionScope, this.s3GlobalRegistry);
|
|
106
90
|
}
|
|
107
91
|
/**
|
|
108
|
-
* Create
|
|
92
|
+
* Create or get simulated CloudFront for an Account scope.
|
|
109
93
|
*/
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
94
|
+
createCloudFront(scope) {
|
|
95
|
+
const { accountId } = scope.accountRegionScope;
|
|
96
|
+
let cloudFront = this.cloudFrontServices.get(accountId);
|
|
97
|
+
if (cloudFront === undefined) {
|
|
98
|
+
cloudFront = new SimCloudFront(scope.accountRegionScope, this.cloudFrontRegistry, createSimCloudFrontS3OriginResolver(this, scope));
|
|
99
|
+
this.cloudFrontServices.set(accountId, cloudFront);
|
|
114
100
|
}
|
|
115
|
-
return
|
|
101
|
+
return cloudFront;
|
|
116
102
|
}
|
|
117
103
|
/**
|
|
118
|
-
*
|
|
119
|
-
* The service must be installed with the appropriate installer function
|
|
120
|
-
* first.
|
|
104
|
+
* Create simulated DynamoDB for an Account Region scope.
|
|
121
105
|
*/
|
|
122
|
-
|
|
123
|
-
return
|
|
106
|
+
createDynamoDb(scope) {
|
|
107
|
+
return new SimDynamoDb(scope.accountRegionScope, this.background);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Create a simulated AWS HTTP service controller.
|
|
111
|
+
*/
|
|
112
|
+
createServiceController(serviceName) {
|
|
113
|
+
switch (serviceName) {
|
|
114
|
+
case "s3": {
|
|
115
|
+
return new SimS3ServiceController(this);
|
|
116
|
+
}
|
|
117
|
+
case "cloudFront": {
|
|
118
|
+
return new SimCloudFrontServiceController(this.cloudFront());
|
|
119
|
+
}
|
|
120
|
+
default: {
|
|
121
|
+
throw new Error(`No controller for simulated AWS service ${serviceName}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
126
|
* Wait for all outstanding background tasks to complete.
|