@floci/testcontainers 0.1.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 +260 -0
- package/dist/FlociContainer.d.ts +190 -0
- package/dist/FlociContainer.d.ts.map +1 -0
- package/dist/FlociContainer.js +447 -0
- package/dist/FlociContainer.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +46 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/services.d.ts +299 -0
- package/dist/config/services.d.ts.map +1 -0
- package/dist/config/services.js +526 -0
- package/dist/config/services.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
# @floci/testcontainers
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@floci/testcontainers)
|
|
4
|
+
[](https://www.npmjs.com/package/@floci/testcontainers)
|
|
5
|
+
[](https://github.com/floci-io/testcontainers-floci-node/actions/workflows/ci.yml)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
Node.js [Testcontainers](https://testcontainers.com) module for [Floci](https://github.com/floci-io/floci) — the open-source, drop-in replacement for LocalStack Community Edition.
|
|
9
|
+
|
|
10
|
+
Floci emulates **41 AWS services** in a single container with:
|
|
11
|
+
- **~24 ms** startup time (native image)
|
|
12
|
+
- **~13 MiB** idle memory
|
|
13
|
+
- **~90 MB** Docker image
|
|
14
|
+
- No auth tokens, no feature gates, MIT license
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# npm
|
|
20
|
+
npm install --save-dev @floci/testcontainers
|
|
21
|
+
|
|
22
|
+
# yarn
|
|
23
|
+
yarn add --dev @floci/testcontainers
|
|
24
|
+
|
|
25
|
+
# pnpm
|
|
26
|
+
pnpm add --save-dev @floci/testcontainers
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick start
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import { S3Client, CreateBucketCommand, ListBucketsCommand } from '@aws-sdk/client-s3';
|
|
33
|
+
import { FlociContainer } from '@floci/testcontainers';
|
|
34
|
+
|
|
35
|
+
describe('S3', () => {
|
|
36
|
+
let floci: Awaited<ReturnType<FlociContainer['start']>>;
|
|
37
|
+
|
|
38
|
+
beforeAll(async () => {
|
|
39
|
+
floci = await new FlociContainer().start();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
afterAll(async () => {
|
|
43
|
+
await floci.stop();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it('creates and lists a bucket', async () => {
|
|
47
|
+
const s3 = new S3Client({
|
|
48
|
+
endpoint: floci.getEndpoint(),
|
|
49
|
+
region: floci.getRegion(),
|
|
50
|
+
credentials: {
|
|
51
|
+
accessKeyId: floci.getAccessKey(),
|
|
52
|
+
secretAccessKey: floci.getSecretKey(),
|
|
53
|
+
},
|
|
54
|
+
forcePathStyle: true,
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
await s3.send(new CreateBucketCommand({ Bucket: 'my-bucket' }));
|
|
58
|
+
const { Buckets } = await s3.send(new ListBucketsCommand({}));
|
|
59
|
+
expect(Buckets?.map((b) => b.Name)).toContain('my-bucket');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Sharing a container across tests
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { FlociContainer, StartedFlociContainer } from '@floci/testcontainers';
|
|
68
|
+
|
|
69
|
+
let floci: StartedFlociContainer;
|
|
70
|
+
|
|
71
|
+
beforeAll(async () => {
|
|
72
|
+
floci = await new FlociContainer().start();
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
afterAll(async () => {
|
|
76
|
+
await floci.stop();
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Service configuration
|
|
81
|
+
|
|
82
|
+
Each of Floci's 41 services can be configured individually using typed config classes.
|
|
83
|
+
|
|
84
|
+
### S3
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
import { FlociContainer, S3Config } from '@floci/testcontainers';
|
|
88
|
+
|
|
89
|
+
const floci = await new FlociContainer()
|
|
90
|
+
.withS3Config(new S3Config(true, 7200))
|
|
91
|
+
.start();
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### SQS
|
|
95
|
+
|
|
96
|
+
```ts
|
|
97
|
+
import { SqsConfig } from '@floci/testcontainers';
|
|
98
|
+
|
|
99
|
+
const floci = await new FlociContainer()
|
|
100
|
+
.withSqsConfig(new SqsConfig(true, 60, 262144))
|
|
101
|
+
.start();
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### DynamoDB
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
import { DynamoDbConfig } from '@floci/testcontainers';
|
|
108
|
+
|
|
109
|
+
const floci = await new FlociContainer()
|
|
110
|
+
.withDynamoDbConfig(new DynamoDbConfig(true))
|
|
111
|
+
.start();
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Lambda
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
import { LambdaConfig } from '@floci/testcontainers';
|
|
118
|
+
|
|
119
|
+
const floci = await new FlociContainer()
|
|
120
|
+
.withLambdaConfig(new LambdaConfig(
|
|
121
|
+
true, // enabled
|
|
122
|
+
256, // defaultMemoryMb
|
|
123
|
+
30, // defaultTimeoutSeconds
|
|
124
|
+
false, // ephemeral
|
|
125
|
+
true, // hotReloadEnabled
|
|
126
|
+
))
|
|
127
|
+
.start();
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### RDS (PostgreSQL / MySQL / MariaDB)
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
import { RdsConfig } from '@floci/testcontainers';
|
|
134
|
+
|
|
135
|
+
const floci = await new FlociContainer()
|
|
136
|
+
.withRdsConfig(new RdsConfig(true, 7001, 99, 'postgres:16-alpine'))
|
|
137
|
+
.start();
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### ElastiCache (Redis / Valkey)
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
import { ElastiCacheConfig } from '@floci/testcontainers';
|
|
144
|
+
|
|
145
|
+
const floci = await new FlociContainer()
|
|
146
|
+
.withElastiCacheConfig(new ElastiCacheConfig(true, 'valkey/valkey:8'))
|
|
147
|
+
.start();
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### OpenSearch
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
import { OpenSearchConfig } from '@floci/testcontainers';
|
|
154
|
+
|
|
155
|
+
const floci = await new FlociContainer()
|
|
156
|
+
.withOpenSearchConfig(new OpenSearchConfig(true, false))
|
|
157
|
+
.start();
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### MSK (Kafka via Redpanda)
|
|
161
|
+
|
|
162
|
+
```ts
|
|
163
|
+
import { MskConfig } from '@floci/testcontainers';
|
|
164
|
+
|
|
165
|
+
const floci = await new FlociContainer()
|
|
166
|
+
.withMskConfig(new MskConfig(true, false, 'redpandadata/redpanda:latest'))
|
|
167
|
+
.start();
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### All available config classes
|
|
171
|
+
|
|
172
|
+
| Config class | AWS service |
|
|
173
|
+
|---|---|
|
|
174
|
+
| `AcmConfig` | AWS Certificate Manager |
|
|
175
|
+
| `ApiGatewayConfig` | API Gateway (v1) |
|
|
176
|
+
| `ApiGatewayV2Config` | API Gateway (v2) |
|
|
177
|
+
| `AppConfigConfig` | AppConfig |
|
|
178
|
+
| `AppConfigDataConfig` | AppConfig Data |
|
|
179
|
+
| `AthenaConfig` | Athena |
|
|
180
|
+
| `BedrockRuntimeConfig` | Bedrock Runtime |
|
|
181
|
+
| `CloudFormationConfig` | CloudFormation |
|
|
182
|
+
| `CloudWatchLogsConfig` | CloudWatch Logs |
|
|
183
|
+
| `CloudWatchMetricsConfig` | CloudWatch Metrics |
|
|
184
|
+
| `CodeBuildConfig` | CodeBuild |
|
|
185
|
+
| `CodeDeployConfig` | CodeDeploy |
|
|
186
|
+
| `CognitoConfig` | Cognito |
|
|
187
|
+
| `DynamoDbConfig` | DynamoDB |
|
|
188
|
+
| `Ec2Config` | EC2 |
|
|
189
|
+
| `EcrConfig` | ECR |
|
|
190
|
+
| `EcsConfig` | ECS |
|
|
191
|
+
| `EksConfig` | EKS |
|
|
192
|
+
| `ElastiCacheConfig` | ElastiCache |
|
|
193
|
+
| `ElbV2Config` | ELB v2 |
|
|
194
|
+
| `EventBridgeConfig` | EventBridge |
|
|
195
|
+
| `FirehoseConfig` | Kinesis Firehose |
|
|
196
|
+
| `GlueConfig` | Glue |
|
|
197
|
+
| `IamConfig` | IAM |
|
|
198
|
+
| `KinesisConfig` | Kinesis |
|
|
199
|
+
| `KmsConfig` | KMS |
|
|
200
|
+
| `LambdaConfig` | Lambda |
|
|
201
|
+
| `MskConfig` | MSK (Kafka) |
|
|
202
|
+
| `OpenSearchConfig` | OpenSearch |
|
|
203
|
+
| `PipesConfig` | EventBridge Pipes |
|
|
204
|
+
| `RdsConfig` | RDS |
|
|
205
|
+
| `ResourceGroupsTaggingConfig` | Resource Groups Tagging |
|
|
206
|
+
| `S3Config` | S3 |
|
|
207
|
+
| `SchedulerConfig` | EventBridge Scheduler |
|
|
208
|
+
| `SecretsManagerConfig` | Secrets Manager |
|
|
209
|
+
| `SesConfig` | SES |
|
|
210
|
+
| `SesV2Config` | SES v2 |
|
|
211
|
+
| `SnsConfig` | SNS |
|
|
212
|
+
| `SqsConfig` | SQS |
|
|
213
|
+
| `SsmConfig` | SSM Parameter Store |
|
|
214
|
+
| `StepFunctionsConfig` | Step Functions |
|
|
215
|
+
|
|
216
|
+
## Container options
|
|
217
|
+
|
|
218
|
+
```ts
|
|
219
|
+
const floci = await new FlociContainer('floci/floci:latest') // pin a specific tag
|
|
220
|
+
.withRegion('eu-west-1')
|
|
221
|
+
.withAccountId('111122223333')
|
|
222
|
+
.withAvailabilityZone('eu-west-1a')
|
|
223
|
+
.withDedicatedNetwork() // isolated Docker network for stateful services
|
|
224
|
+
.start();
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Connection details
|
|
228
|
+
|
|
229
|
+
| Method | Returns |
|
|
230
|
+
|---|---|
|
|
231
|
+
| `getEndpoint()` | `http://host:port` — pass as `endpoint` to AWS SDK clients |
|
|
232
|
+
| `getRegion()` | AWS region string |
|
|
233
|
+
| `getAccessKey()` | Access key (`"test"` by default) |
|
|
234
|
+
| `getSecretKey()` | Secret key (`"test"` by default) |
|
|
235
|
+
| `getAccountId()` | AWS account ID |
|
|
236
|
+
| `getMappedPort(port)` | Host port mapped from the given container port |
|
|
237
|
+
|
|
238
|
+
## Docker image variants
|
|
239
|
+
|
|
240
|
+
| Tag | Description |
|
|
241
|
+
|---|---|
|
|
242
|
+
| `floci/floci:latest` | Native image — sub-second startup (recommended) |
|
|
243
|
+
| `floci/floci:x.y.z` | Pinned release (native) |
|
|
244
|
+
|
|
245
|
+
## Requirements
|
|
246
|
+
|
|
247
|
+
- Node.js 18+
|
|
248
|
+
- Docker (running locally or in CI)
|
|
249
|
+
- `testcontainers >= 10.0.0`
|
|
250
|
+
|
|
251
|
+
## Related projects
|
|
252
|
+
|
|
253
|
+
- [Floci](https://github.com/floci-io/floci) — the emulator itself
|
|
254
|
+
- [testcontainers-floci](https://github.com/floci-io/testcontainers-floci) — Java / Spring Boot module
|
|
255
|
+
- [testcontainers-floci-python](https://github.com/floci-io/testcontainers-floci-python) — Python module
|
|
256
|
+
- [Testcontainers for Node.js](https://node.testcontainers.org)
|
|
257
|
+
|
|
258
|
+
## License
|
|
259
|
+
|
|
260
|
+
MIT
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { StartedTestContainer } from 'testcontainers';
|
|
2
|
+
import type { StartedNetwork } from 'testcontainers';
|
|
3
|
+
import { AcmConfig, ApiGatewayConfig, ApiGatewayV2Config, AppConfigConfig, AppConfigDataConfig, AthenaConfig, BedrockRuntimeConfig, CloudFormationConfig, CloudWatchLogsConfig, CloudWatchMetricsConfig, CodeBuildConfig, CodeDeployConfig, CognitoConfig, DynamoDbConfig, Ec2Config, EcrConfig, EcsConfig, EksConfig, ElastiCacheConfig, ElbV2Config, EventBridgeConfig, FirehoseConfig, GlueConfig, IamConfig, KinesisConfig, KmsConfig, LambdaConfig, MskConfig, OpenSearchConfig, PipesConfig, RdsConfig, ResourceGroupsTaggingConfig, S3Config, SchedulerConfig, SecretsManagerConfig, SesConfig, SesV2Config, SnsConfig, SqsConfig, SsmConfig, StepFunctionsConfig } from './config/services';
|
|
4
|
+
/**
|
|
5
|
+
* Testcontainers module for Floci — a free, open-source local AWS emulator.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const floci = await new FlociContainer().start();
|
|
10
|
+
* const s3 = new S3Client({
|
|
11
|
+
* endpoint: floci.getEndpoint(),
|
|
12
|
+
* region: floci.getRegion(),
|
|
13
|
+
* credentials: { accessKeyId: floci.getAccessKey(), secretAccessKey: floci.getSecretKey() },
|
|
14
|
+
* forcePathStyle: true,
|
|
15
|
+
* });
|
|
16
|
+
* await floci.stop();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class FlociContainer {
|
|
20
|
+
static readonly PORT = 4566;
|
|
21
|
+
static readonly DEFAULT_REGION = "us-east-1";
|
|
22
|
+
static readonly DEFAULT_AVAILABILITY_ZONE = "us-east-1a";
|
|
23
|
+
static readonly DEFAULT_ACCOUNT_ID = "000000000000";
|
|
24
|
+
static readonly DEFAULT_ACCESS_KEY = "test";
|
|
25
|
+
static readonly DEFAULT_SECRET_KEY = "test";
|
|
26
|
+
static readonly STARTUP_TIMEOUT_MS = 30000;
|
|
27
|
+
private readonly image;
|
|
28
|
+
private readonly envVars;
|
|
29
|
+
private readonly exposedPorts;
|
|
30
|
+
private dedicatedNetworkName?;
|
|
31
|
+
private acmConfig;
|
|
32
|
+
private apiGatewayConfig;
|
|
33
|
+
private apiGatewayV2Config;
|
|
34
|
+
private appConfigConfig;
|
|
35
|
+
private appConfigDataConfig;
|
|
36
|
+
private athenaConfig;
|
|
37
|
+
private bedrockRuntimeConfig;
|
|
38
|
+
private cloudFormationConfig;
|
|
39
|
+
private cloudWatchLogsConfig;
|
|
40
|
+
private cloudWatchMetricsConfig;
|
|
41
|
+
private codeBuildConfig;
|
|
42
|
+
private codeDeployConfig;
|
|
43
|
+
private cognitoConfig;
|
|
44
|
+
private dynamoDbConfig;
|
|
45
|
+
private ec2Config;
|
|
46
|
+
private ecrConfig;
|
|
47
|
+
private ecsConfig;
|
|
48
|
+
private eksConfig;
|
|
49
|
+
private elastiCacheConfig;
|
|
50
|
+
private elbV2Config;
|
|
51
|
+
private eventBridgeConfig;
|
|
52
|
+
private firehoseConfig;
|
|
53
|
+
private glueConfig;
|
|
54
|
+
private iamConfig;
|
|
55
|
+
private kinesisConfig;
|
|
56
|
+
private kmsConfig;
|
|
57
|
+
private lambdaConfig;
|
|
58
|
+
private mskConfig;
|
|
59
|
+
private openSearchConfig;
|
|
60
|
+
private pipesConfig;
|
|
61
|
+
private rdsConfig;
|
|
62
|
+
private resourceGroupsTaggingConfig;
|
|
63
|
+
private s3Config;
|
|
64
|
+
private schedulerConfig;
|
|
65
|
+
private secretsManagerConfig;
|
|
66
|
+
private sesConfig;
|
|
67
|
+
private sesV2Config;
|
|
68
|
+
private snsConfig;
|
|
69
|
+
private sqsConfig;
|
|
70
|
+
private ssmConfig;
|
|
71
|
+
private stepFunctionsConfig;
|
|
72
|
+
constructor(image?: string);
|
|
73
|
+
withEnv(key: string, value: string): this;
|
|
74
|
+
withExposedPort(port: number): this;
|
|
75
|
+
withRegion(region: string): this;
|
|
76
|
+
withAccountId(accountId: string): this;
|
|
77
|
+
withAvailabilityZone(zone: string): this;
|
|
78
|
+
withDedicatedNetwork(): this;
|
|
79
|
+
withAcmConfig(config: AcmConfig): this;
|
|
80
|
+
getAcmConfig(): AcmConfig;
|
|
81
|
+
withApiGatewayConfig(config: ApiGatewayConfig): this;
|
|
82
|
+
getApiGatewayConfig(): ApiGatewayConfig;
|
|
83
|
+
withApiGatewayV2Config(config: ApiGatewayV2Config): this;
|
|
84
|
+
getApiGatewayV2Config(): ApiGatewayV2Config;
|
|
85
|
+
withAppConfigConfig(config: AppConfigConfig): this;
|
|
86
|
+
getAppConfigConfig(): AppConfigConfig;
|
|
87
|
+
withAppConfigDataConfig(config: AppConfigDataConfig): this;
|
|
88
|
+
getAppConfigDataConfig(): AppConfigDataConfig;
|
|
89
|
+
withAthenaConfig(config: AthenaConfig): this;
|
|
90
|
+
getAthenaConfig(): AthenaConfig;
|
|
91
|
+
withBedrockRuntimeConfig(config: BedrockRuntimeConfig): this;
|
|
92
|
+
getBedrockRuntimeConfig(): BedrockRuntimeConfig;
|
|
93
|
+
withCloudFormationConfig(config: CloudFormationConfig): this;
|
|
94
|
+
getCloudFormationConfig(): CloudFormationConfig;
|
|
95
|
+
withCloudWatchLogsConfig(config: CloudWatchLogsConfig): this;
|
|
96
|
+
getCloudWatchLogsConfig(): CloudWatchLogsConfig;
|
|
97
|
+
withCloudWatchMetricsConfig(config: CloudWatchMetricsConfig): this;
|
|
98
|
+
getCloudWatchMetricsConfig(): CloudWatchMetricsConfig;
|
|
99
|
+
withCodeBuildConfig(config: CodeBuildConfig): this;
|
|
100
|
+
getCodeBuildConfig(): CodeBuildConfig;
|
|
101
|
+
withCodeDeployConfig(config: CodeDeployConfig): this;
|
|
102
|
+
getCodeDeployConfig(): CodeDeployConfig;
|
|
103
|
+
withCognitoConfig(config: CognitoConfig): this;
|
|
104
|
+
getCognitoConfig(): CognitoConfig;
|
|
105
|
+
withDynamoDbConfig(config: DynamoDbConfig): this;
|
|
106
|
+
getDynamoDbConfig(): DynamoDbConfig;
|
|
107
|
+
withEc2Config(config: Ec2Config): this;
|
|
108
|
+
getEc2Config(): Ec2Config;
|
|
109
|
+
withEcrConfig(config: EcrConfig): this;
|
|
110
|
+
getEcrConfig(): EcrConfig;
|
|
111
|
+
withEcsConfig(config: EcsConfig): this;
|
|
112
|
+
getEcsConfig(): EcsConfig;
|
|
113
|
+
withEksConfig(config: EksConfig): this;
|
|
114
|
+
getEksConfig(): EksConfig;
|
|
115
|
+
withElastiCacheConfig(config: ElastiCacheConfig): this;
|
|
116
|
+
getElastiCacheConfig(): ElastiCacheConfig;
|
|
117
|
+
withElbV2Config(config: ElbV2Config): this;
|
|
118
|
+
getElbV2Config(): ElbV2Config;
|
|
119
|
+
withEventBridgeConfig(config: EventBridgeConfig): this;
|
|
120
|
+
getEventBridgeConfig(): EventBridgeConfig;
|
|
121
|
+
withFirehoseConfig(config: FirehoseConfig): this;
|
|
122
|
+
getFirehoseConfig(): FirehoseConfig;
|
|
123
|
+
withGlueConfig(config: GlueConfig): this;
|
|
124
|
+
getGlueConfig(): GlueConfig;
|
|
125
|
+
withIamConfig(config: IamConfig): this;
|
|
126
|
+
getIamConfig(): IamConfig;
|
|
127
|
+
withKinesisConfig(config: KinesisConfig): this;
|
|
128
|
+
getKinesisConfig(): KinesisConfig;
|
|
129
|
+
withKmsConfig(config: KmsConfig): this;
|
|
130
|
+
getKmsConfig(): KmsConfig;
|
|
131
|
+
withLambdaConfig(config: LambdaConfig): this;
|
|
132
|
+
getLambdaConfig(): LambdaConfig;
|
|
133
|
+
withMskConfig(config: MskConfig): this;
|
|
134
|
+
getMskConfig(): MskConfig;
|
|
135
|
+
withOpenSearchConfig(config: OpenSearchConfig): this;
|
|
136
|
+
getOpenSearchConfig(): OpenSearchConfig;
|
|
137
|
+
withPipesConfig(config: PipesConfig): this;
|
|
138
|
+
getPipesConfig(): PipesConfig;
|
|
139
|
+
withRdsConfig(config: RdsConfig): this;
|
|
140
|
+
getRdsConfig(): RdsConfig;
|
|
141
|
+
withResourceGroupsTaggingConfig(config: ResourceGroupsTaggingConfig): this;
|
|
142
|
+
getResourceGroupsTaggingConfig(): ResourceGroupsTaggingConfig;
|
|
143
|
+
withS3Config(config: S3Config): this;
|
|
144
|
+
getS3Config(): S3Config;
|
|
145
|
+
withSchedulerConfig(config: SchedulerConfig): this;
|
|
146
|
+
getSchedulerConfig(): SchedulerConfig;
|
|
147
|
+
withSecretsManagerConfig(config: SecretsManagerConfig): this;
|
|
148
|
+
getSecretsManagerConfig(): SecretsManagerConfig;
|
|
149
|
+
withSesConfig(config: SesConfig): this;
|
|
150
|
+
getSesConfig(): SesConfig;
|
|
151
|
+
withSesV2Config(config: SesV2Config): this;
|
|
152
|
+
getSesV2Config(): SesV2Config;
|
|
153
|
+
withSnsConfig(config: SnsConfig): this;
|
|
154
|
+
getSnsConfig(): SnsConfig;
|
|
155
|
+
withSqsConfig(config: SqsConfig): this;
|
|
156
|
+
getSqsConfig(): SqsConfig;
|
|
157
|
+
withSsmConfig(config: SsmConfig): this;
|
|
158
|
+
getSsmConfig(): SsmConfig;
|
|
159
|
+
withStepFunctionsConfig(config: StepFunctionsConfig): this;
|
|
160
|
+
getStepFunctionsConfig(): StepFunctionsConfig;
|
|
161
|
+
getDedicatedNetworkName(): string | undefined;
|
|
162
|
+
start(): Promise<StartedFlociContainer>;
|
|
163
|
+
private applyAllConfigs;
|
|
164
|
+
private refreshExposedPorts;
|
|
165
|
+
}
|
|
166
|
+
export declare class StartedFlociContainer {
|
|
167
|
+
private readonly container;
|
|
168
|
+
private readonly region;
|
|
169
|
+
private readonly availabilityZone;
|
|
170
|
+
private readonly accountId;
|
|
171
|
+
private readonly _dedicatedNetworkName?;
|
|
172
|
+
private readonly network?;
|
|
173
|
+
constructor(container: StartedTestContainer, opts: {
|
|
174
|
+
region: string;
|
|
175
|
+
availabilityZone: string;
|
|
176
|
+
accountId: string;
|
|
177
|
+
dedicatedNetworkName?: string;
|
|
178
|
+
network?: StartedNetwork;
|
|
179
|
+
});
|
|
180
|
+
getEndpoint(): string;
|
|
181
|
+
getRegion(): string;
|
|
182
|
+
getAccessKey(): string;
|
|
183
|
+
getSecretKey(): string;
|
|
184
|
+
getAccountId(): string;
|
|
185
|
+
getAvailabilityZone(): string;
|
|
186
|
+
getDedicatedNetworkName(): string | undefined;
|
|
187
|
+
getMappedPort(port: number): number;
|
|
188
|
+
stop(): Promise<void>;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=FlociContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlociContainer.d.ts","sourceRoot":"","sources":["../src/FlociContainer.ts"],"names":[],"mappings":"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"}
|