1.0.0 • Published 8 months ago

@effect-aws/client-kms v1.0.0

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

@effect-aws/client-kms

npm version npm downloads

Installation

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

Usage

With default KMSClient instance:

import { KMSService, DefaultKMSServiceLayer } from "@effect-aws/client-kms";

const program = KMSService.listKeys(args);

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

With custom KMSClient instance:

import {
  KMSService,
  BaseKMSServiceLayer,
  KMSClientInstance,
} from "@effect-aws/client-kms";

const program = KMSService.listKeys(args);

const KMSClientInstanceLayer = Layer.succeed(
  KMSClientInstance,
  new KMSClient({ region: "eu-central-1" }),
);

const result = await pipe(
  program,
  Effect.provide(BaseKMSServiceLayer),
  Effect.provide(KMSClientInstanceLayer),
  Effect.runPromise,
);

With custom KMSClient configuration:

import {
  KMSService,
  BaseKMSServiceLayer,
  DefaultKMSClientConfigLayer,
  KMSClientInstance,
  KMSClientInstanceConfig,
} from "@effect-aws/client-kms";

const program = KMSService.listKeys(args);

const KMSClientInstanceLayer = Layer.provide(
  Layer.effect(
    KMSClientInstance,
    KMSClientInstanceConfig.pipe(
      Effect.map(
        (config) => new KMSClient({ ...config, region: "eu-central-1" }),
      ),
    ),
  ),
  DefaultKMSClientConfigLayer,
);

const result = await pipe(
  program,
  Effect.provide(BaseKMSServiceLayer),
  Effect.provide(KMSClientInstanceLayer),
  Effect.runPromiseExit,
);

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

1.0.0

8 months ago