1.0.0 • Published 9 months ago

@effect-aws/client-cloudtrail v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

@effect-aws/client-cloudtrail

npm version npm downloads

Installation

npm install --save @effect-aws/client-cloudtrail

Usage

With default CloudTrailClient instance:

import { CloudTrailService, DefaultCloudTrailServiceLayer } from "@effect-aws/client-cloudtrail";

const program = CloudTrailService.listTrails(args);

const result = pipe(
  program,
  Effect.provide(DefaultCloudTrailServiceLayer),
  Effect.runPromise,
);

With custom CloudTrailClient instance:

import {
  CloudTrailService,
  BaseCloudTrailServiceLayer,
  CloudTrailClientInstance,
} from "@effect-aws/client-cloudtrail";

const program = CloudTrailService.listTrails(args);

const CloudTrailClientInstanceLayer = Layer.succeed(
  CloudTrailClientInstance,
  new CloudTrailClient({ region: "eu-central-1" }),
);

const result = await pipe(
  program,
  Effect.provide(BaseCloudTrailServiceLayer),
  Effect.provide(CloudTrailClientInstanceLayer),
  Effect.runPromise,
);

With custom CloudTrailClient configuration:

import {
  CloudTrailService,
  BaseCloudTrailServiceLayer,
  DefaultCloudTrailClientConfigLayer,
  CloudTrailClientInstance,
  CloudTrailClientInstanceConfig,
} from "@effect-aws/client-cloudtrail";

const program = CloudTrailService.listTrails(args);

const CloudTrailClientInstanceLayer = Layer.provide(
  Layer.effect(
    CloudTrailClientInstance,
    CloudTrailClientInstanceConfig.pipe(
      Effect.map(
        (config) => new CloudTrailClient({ ...config, region: "eu-central-1" }),
      ),
    ),
  ),
  DefaultCloudTrailClientConfigLayer,
);

const result = await pipe(
  program,
  Effect.provide(BaseCloudTrailServiceLayer),
  Effect.provide(CloudTrailClientInstanceLayer),
  Effect.runPromiseExit,
);

or map over DefaultCloudTrailClientConfigLayer layer context and update the configuration...

1.0.0

9 months ago