Skip to content
RELKIT
Esc
↑↓navigate↵open⌘Jpreview
On this page

AWS API

Generated public TypeScript reference for @relkit/aws.

Common APIs

For configuration and examples, read deployment, aws.

Public imports

  • @relkit/aws — 5 exports
  • @relkit/aws/host — 2 exports
  • @relkit/aws/infrastructure — 2 exports
  • @relkit/aws/access — 2 exports

All exported APIs

Names link to their complete contracts. Re-exports share their original contract; legacy exports keep their separate identity. Examples link to the API’s inline sample, a maintained repository usage, or the shared module walkthrough.

API Kind Import from Example
aws Value @relkit/aws API example
awsAccess Value @relkit/aws/access Source example
AwsAdapter Type @relkit/aws Module example
awsHost Value @relkit/aws/host Source example
awsInfrastructure Value @relkit/aws/infrastructure Source example
AwsOptions Type @relkit/aws Module example
AwsRedisOptions Type @relkit/aws Module example
AwsS3Options Type @relkit/aws Module example
deploymentIntegration Value @relkit/aws/host Module example
deploymentIntegration Value @relkit/aws/infrastructure Module example
deploymentIntegration Value @relkit/aws/access Module example

index.ts

awsAccess

Signature

declare const awsAccess: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "aws";
  role: "access";
  materialize: (input: {
    readonly plan: DeploymentPlan;
    readonly stackName: string;
    readonly operation: AccessOperationPlan;
    readonly host: DeploymentHostMaterialization;
    readonly infrastructure: DeploymentInfrastructureMaterialization;
  }) => DeploymentAccessMaterialization;
}>;

Source

deploymentIntegration

Signature

declare const deploymentIntegration: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "aws";
  role: "access";
  materialize: (input: {
    readonly plan: DeploymentPlan;
    readonly stackName: string;
    readonly operation: AccessOperationPlan;
    readonly host: DeploymentHostMaterialization;
    readonly infrastructure: DeploymentInfrastructureMaterialization;
  }) => DeploymentAccessMaterialization;
}>;

Source

materialize.ts

materializeAwsAccess

Signature

declare const materializeAwsAccess: (input: {
  readonly plan: DeploymentPlan;
  readonly stackName: string;
  readonly operation: AccessOperationPlan;
  readonly host: DeploymentHostMaterialization;
  readonly infrastructure: DeploymentInfrastructureMaterialization;
}) => DeploymentAccessMaterialization;

Source

aws.ts

aws

Provisions a supported S3 or Redis adapter on AWS and grants only its workload access.

Example

import { aws } from "@relkit/aws";
import { s3 } from "@relkit/s3";
const receipts = aws(s3(), { versioning: true });

Signature

declare const aws: <const Adapter extends AwsAdapter>(
  adapter: Adapter,
  options?: AwsOptions<Adapter>,
) => InfrastructureProviderSource<Adapter>;

Source

Since v0.2.0

AwsAdapter (type alias)

Signature

type AwsAdapter = S3Adapter | RedisAdapter;

Source

AwsOptions (type alias)

Signature

type AwsOptions<Adapter extends AwsAdapter> = Adapter extends S3Adapter
  ? AwsS3Options
  : AwsRedisOptions;

Source

AwsRedisOptions (interface)

Signature

export interface AwsRedisOptions {
  readonly engine?: "valkey" | "redis";
  readonly nodeType?: string;
  readonly replicas?: number;
}

Source

AwsS3Options (interface)

Signature

export interface AwsS3Options {
  readonly versioning?: boolean;
  readonly forceDestroy?: boolean;
}

Source

environment.ts

containerEnvironment

Signature

declare const containerEnvironment: (
  plan: DeploymentPlan,
) => readonly Readonly<{ name: string; value: DeploymentInput }>[];

Source

index.ts

awsHost

Signature

declare const awsHost: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "aws";
  role: "host";
  materialize: (input: {
    readonly plan: DeploymentPlan;
    readonly stackName: string;
  }) => DeploymentHostMaterialization;
}>;

Source

deploymentIntegration

Signature

declare const deploymentIntegration: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "aws";
  role: "host";
  materialize: (input: {
    readonly plan: DeploymentPlan;
    readonly stackName: string;
  }) => DeploymentHostMaterialization;
}>;

Source

materialize.ts

materializeAwsHost

Signature

declare const materializeAwsHost: (input: {
  readonly plan: DeploymentPlan;
  readonly stackName: string;
}) => DeploymentHostMaterialization;

Source

network.ts

network

Signature

declare const network: (
  context: HostContext,
) => Pick<DeploymentHostMaterialization, "resources" | "network">;

Source

service-support.ts

container

Signature

declare const container: (context: HostContext) => Readonly<Record<string, DeploymentInput>>;

Source

role

Signature

declare const role: (context: HostContext, id: string) => DeploymentResourceOperation;

Source

service.ts

service

Signature

declare const service: (
  context: HostContext,
  network: DeploymentHostMaterialization["network"],
) => Pick<DeploymentHostMaterialization, "resources" | "workload" | "outputs">;

Source

shared.ts

HostContext (interface)

Signature

export interface HostContext {
  readonly plan: DeploymentPlan;
  readonly stackName: string;
  readonly prefix: string;
  readonly tags: Readonly<Record<string, string>>;
  readonly region: DeploymentInput;
}

Source

hostContext

Signature

declare const hostContext: (plan: DeploymentPlan, stackName: string) => HostContext;

Source

hostId

Signature

declare const hostId: (id: string) => string;

Source

name

Signature

declare const name: (value: string, max?: number) => string;

Source

output

Signature

declare const output: (id: string, property: string) => DeploymentInput;

Source

resource

Signature

declare const resource: (
  context: HostContext,
  id: string,
  type: string,
  inputs: Readonly<Record<string, DeploymentInput>>,
  outputs?: readonly string[],
  dependsOn?: readonly string[],
) => DeploymentResourceOperation;

Source

index.ts

“./aws.js” (namespace export)

Re-exports all named exports from the “./aws.js” module.

Signature

export * from "./aws.js";

Source

index.ts

awsInfrastructure

Signature

declare const awsInfrastructure: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "aws";
  role: "infrastructure";
  materialize: (input: {
    readonly plan: DeploymentPlan;
    readonly stackName: string;
    readonly operation: InfrastructureOperationPlan;
    readonly host: DeploymentHostMaterialization;
  }) => DeploymentInfrastructureMaterialization;
}>;

Source

deploymentIntegration

Signature

declare const deploymentIntegration: Readonly<{
  kind: "deployment-integration";
  protocolVersion: 1;
  integrationId: "aws";
  role: "infrastructure";
  materialize: (input: {
    readonly plan: DeploymentPlan;
    readonly stackName: string;
    readonly operation: InfrastructureOperationPlan;
    readonly host: DeploymentHostMaterialization;
  }) => DeploymentInfrastructureMaterialization;
}>;

Source

materialize.ts

materializeAwsInfrastructure

Signature

declare const materializeAwsInfrastructure: (input: {
  readonly plan: DeploymentPlan;
  readonly stackName: string;
  readonly operation: InfrastructureOperationPlan;
  readonly host: DeploymentHostMaterialization;
}) => DeploymentInfrastructureMaterialization;

Source

redis.ts

materializeRedis

Signature

declare const materializeRedis: (
  plan: DeploymentPlan,
  stackName: string,
  operation: InfrastructureOperationPlan,
  host: DeploymentHostMaterialization,
) => DeploymentInfrastructureMaterialization;

Source

s3.ts

materializeS3

Signature

declare const materializeS3: (
  plan: DeploymentPlan,
  stackName: string,
  operation: InfrastructureOperationPlan,
) => DeploymentInfrastructureMaterialization;

Source

shared.ts

InfrastructureContext (interface)

Signature

export interface InfrastructureContext {
  readonly stackName: string;
  readonly operation: InfrastructureOperationPlan;
  readonly prefix: string;
  readonly tags: Readonly<Record<string, string>>;
  readonly region: DeploymentInput;
}

Source

assertAdapter

Signature

declare const assertAdapter: (
  operation: InfrastructureOperationPlan,
  capability: string,
  adapterId: string,
  features: readonly string[],
) => void;

Source

context

Signature

declare const context: (
  appId: string,
  graphHash: string,
  stackName: string,
  operation: InfrastructureOperationPlan,
) => InfrastructureContext;

Source

id

Signature

declare const id: (context: InfrastructureContext, suffix: string) => string;

Source

name

Signature

declare const name: (value: string, max?: number) => string;

Source

output

Signature

declare const output: (
  context: InfrastructureContext,
  suffix: string,
  property: string,
) => DeploymentInput;

Source

resource

Signature

declare const resource: (
  context: InfrastructureContext,
  suffix: string,
  type: string,
  inputs: Readonly<Record<string, DeploymentInput>>,
  outputs?: readonly string[],
) => DeploymentResourceOperation;

Source

settings

Signature

declare const settings: (value: unknown) => Readonly<Record<string, unknown>>;

Source