the-moby-effect
Version:
Moby/Docker API client built using effect-ts
805 lines • 43 kB
TypeScript
import * as Context from "effect/Context";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";
import * as Schema from "effect/Schema";
import * as Stream from "effect/Stream";
import * as HttpClient from "effect/unstable/http/HttpClient";
import * as HttpApi from "effect/unstable/httpapi/HttpApi";
import * as HttpApiEndpoint from "effect/unstable/httpapi/HttpApiEndpoint";
import * as HttpApiGroup from "effect/unstable/httpapi/HttpApiGroup";
import * as HttpApiSchema from "effect/unstable/httpapi/HttpApiSchema";
import { ContainerCreateRequest, ImageDeleteResponse, ImageHistoryResponseItem, ImageInspectResponse, ImageSummary, JSONMessage, RegistrySearchResult } from "../generated/index.ts";
import { DockerError } from "./circular.ts";
import { BadRequest, Conflict, InternalServerError, NotFound } from "./errors.ts";
/** @since 1.0.0 */
export declare const ListFilters: Schema.fromJsonString<Schema.Struct<{
readonly before: Schema.optional<Schema.$Array<Schema.String>>;
readonly dangling: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly label: Schema.optional<Schema.$Array<Schema.String>>;
readonly reference: Schema.optional<Schema.$Array<Schema.String>>;
readonly since: Schema.optional<Schema.$Array<Schema.String>>;
readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
}>>;
/** @since 1.0.0 */
export declare const SearchFilters: Schema.fromJsonString<Schema.Struct<{
readonly "is-official": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly "is-automated": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly stars: Schema.optional<Schema.decodeTo<Schema.Number, Schema.Tuple<readonly [Schema.NumberFromString]>, never, never>>;
}>>;
/** @since 1.0.0 */
export declare const BuildPruneFilters: Schema.fromJsonString<Schema.Struct<{
readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly id: Schema.optional<Schema.$Array<Schema.String>>;
readonly parent: Schema.optional<Schema.$Array<Schema.String>>;
readonly type: Schema.optional<Schema.$Array<Schema.String>>;
readonly description: Schema.optional<Schema.$Array<Schema.String>>;
readonly inuse: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly shared: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly private: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
}>>;
/**
* @since 1.0.0
* @category HttpApi
* @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
*/
export declare const ImagesApi: HttpApi.HttpApi<"ImagesApi", HttpApiGroup.HttpApiGroup<"images", HttpApiEndpoint.HttpApiEndpoint<"build", "POST", "/build", never, Schema.toCodecStringTree<Schema.Struct<{
dockerfile: Schema.optional<Schema.String>;
t: Schema.optional<Schema.String>;
extrahosts: Schema.optional<Schema.String>;
remote: Schema.optional<Schema.String>;
q: Schema.optional<Schema.Boolean>;
nocache: Schema.optional<Schema.Boolean>;
cachefrom: Schema.optional<Schema.String>;
pull: Schema.optional<Schema.String>;
rm: Schema.optional<Schema.Boolean>;
forcerm: Schema.optional<Schema.Boolean>;
memory: Schema.optional<Schema.Number>;
memswap: Schema.optional<Schema.Number>;
cpushares: Schema.optional<Schema.Number>;
cpusetcpus: Schema.optional<Schema.String>;
cpuperiod: Schema.optional<Schema.Number>;
cpuquota: Schema.optional<Schema.Number>;
buildargs: Schema.optional<Schema.fromJsonString<Schema.$Record<Schema.String, Schema.NullishOr<Schema.String>>>>;
shmsize: Schema.optional<Schema.Number>;
squash: Schema.optional<Schema.Boolean>;
labels: Schema.optional<Schema.String>;
networkmode: Schema.optional<Schema.String>;
platform: Schema.optional<Schema.String>;
target: Schema.optional<Schema.String>;
outputs: Schema.optional<Schema.String>;
version: Schema.optional<Schema.Literal<"1">>;
}>>, Schema.toCodecJson<HttpApiSchema.StreamUint8Array>, Schema.toCodecStringTree<Schema.Struct<{
"Content-type": Schema.optional<Schema.String>;
"X-Registry-Config": Schema.optional<Schema.String>;
}>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"buildPrune", "POST", "/build/prune", never, Schema.toCodecStringTree<Schema.Struct<{
"keep-storage": Schema.optional<Schema.Number>;
all: Schema.optional<Schema.Boolean>;
filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{
readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly id: Schema.optional<Schema.$Array<Schema.String>>;
readonly parent: Schema.optional<Schema.$Array<Schema.String>>;
readonly type: Schema.optional<Schema.$Array<Schema.String>>;
readonly description: Schema.optional<Schema.$Array<Schema.String>>;
readonly inuse: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly shared: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly private: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
}>>>;
}>>, never, never, Schema.toCodecJson<Schema.Struct<{
readonly SpaceReclaimed: Schema.BigIntFromString;
readonly CachesDeleted: Schema.NullishOr<Schema.$Array<Schema.String>>;
}>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"commit", "POST", "/images/commit", never, Schema.toCodecStringTree<Schema.Struct<{
container: Schema.String;
repo: Schema.optional<Schema.String>;
tag: Schema.optional<Schema.String>;
comment: Schema.optional<Schema.String>;
author: Schema.optional<Schema.String>;
pause: Schema.optional<Schema.Boolean>;
changes: Schema.optional<Schema.String>;
}>>, Schema.toCodecJson<typeof ContainerCreateRequest>, never, Schema.toCodecJson<Schema.decodeTo<Schema.declareConstructor<ImageInspectResponse, {
readonly Id: string;
readonly RepoTags: readonly string[] | null;
readonly RepoDigests: readonly string[] | null;
readonly Parent?: string | undefined;
readonly Comment: string;
readonly Created?: string | undefined;
readonly Container?: string | undefined;
readonly ContainerConfig?: {
readonly Hostname: string;
readonly Domainname: string;
readonly User: string;
readonly AttachStdin: boolean;
readonly AttachStdout: boolean;
readonly AttachStderr: boolean;
readonly ExposedPorts?: {
readonly [x: `${number}`]: object;
readonly [x: `${number}/tcp`]: object;
readonly [x: `${number}/udp`]: object;
} | null | undefined;
readonly Tty: boolean;
readonly OpenStdin: boolean;
readonly StdinOnce: boolean;
readonly Env: readonly string[] | null;
readonly Cmd: readonly string[] | null;
readonly Healthcheck?: {
readonly Test?: readonly string[] | null | undefined;
readonly Interval?: string | undefined;
readonly Timeout?: string | undefined;
readonly StartPeriod?: string | undefined;
readonly StartInterval?: string | undefined;
readonly Retries?: string | undefined;
} | null | undefined;
readonly ArgsEscaped?: boolean | undefined;
readonly Image: string;
readonly Volumes: {
readonly [x: string]: object;
} | null;
readonly WorkingDir: string;
readonly Entrypoint: readonly string[] | null;
readonly NetworkDisabled?: boolean | undefined;
readonly MacAddress?: string | undefined;
readonly OnBuild?: readonly string[] | null | undefined;
readonly Labels: {
readonly [x: string]: string;
} | null;
readonly StopSignal?: string | undefined;
readonly StopTimeout?: string | null | undefined;
readonly Shell?: readonly string[] | null | undefined;
} | null | undefined;
readonly DockerVersion?: string | undefined;
readonly Author?: string | undefined;
readonly Config: {
readonly User?: string | undefined;
readonly ExposedPorts?: {
readonly [x: string]: object;
} | null | undefined;
readonly Env?: readonly string[] | null | undefined;
readonly Entrypoint?: readonly string[] | null | undefined;
readonly Cmd?: readonly string[] | null | undefined;
readonly Volumes?: {
readonly [x: string]: object;
} | null | undefined;
readonly WorkingDir?: string | undefined;
readonly Labels?: {
readonly [x: string]: string;
} | null | undefined;
readonly StopSignal?: string | undefined;
readonly ArgsEscaped?: boolean | undefined;
readonly Healthcheck?: {
readonly Test?: readonly string[] | null | undefined;
readonly Interval?: string | undefined;
readonly Timeout?: string | undefined;
readonly StartPeriod?: string | undefined;
readonly StartInterval?: string | undefined;
readonly Retries?: string | undefined;
} | null | undefined;
readonly OnBuild?: readonly string[] | null | undefined;
readonly Shell?: readonly string[] | null | undefined;
} | null;
readonly Architecture: string;
readonly Variant?: string | undefined;
readonly Os: string;
readonly OsVersion?: string | undefined;
readonly Size: string;
readonly VirtualSize?: string | undefined;
readonly GraphDriver?: {
readonly Data: {
readonly [x: string]: string;
} | null;
readonly Name: string;
} | null | undefined;
readonly RootFS: {
readonly Type?: string | undefined;
readonly Layers?: readonly string[] | null | undefined;
} | null;
readonly Metadata: {
readonly LastTagTime?: string | null | undefined;
} | null;
readonly Descriptor?: {
readonly mediaType: string;
readonly digest: string;
readonly size: string;
readonly urls?: readonly string[] | null | undefined;
readonly annotations?: {
readonly [x: string]: string;
} | null | undefined;
readonly data?: string | null | undefined;
readonly platform?: {
readonly architecture: string;
readonly os: string;
readonly "os.version"?: string | undefined;
readonly "os.features"?: readonly string[] | null | undefined;
readonly variant?: string | undefined;
} | null | undefined;
readonly artifactType?: string | undefined;
} | null | undefined;
readonly Manifests?: readonly ({
readonly ID: string;
readonly Descriptor: {
readonly mediaType: string;
readonly digest: string;
readonly size: string;
readonly urls?: readonly string[] | null | undefined;
readonly annotations?: {
readonly [x: string]: string;
} | null | undefined;
readonly data?: string | null | undefined;
readonly platform?: {
readonly architecture: string;
readonly os: string;
readonly "os.version"?: string | undefined;
readonly "os.features"?: readonly string[] | null | undefined;
readonly variant?: string | undefined;
} | null | undefined;
readonly artifactType?: string | undefined;
} | null;
readonly Available: boolean;
readonly Size: {
readonly Content: string;
readonly Total: string;
};
readonly Kind: "attestation" | "image" | "unknown";
readonly ImageData?: {
readonly Platform: {
readonly architecture: string;
readonly os: string;
readonly "os.version"?: string | undefined;
readonly "os.features"?: readonly string[] | null | undefined;
readonly variant?: string | undefined;
} | null;
readonly Size: {
readonly Unpacked: string;
};
readonly Containers: readonly string[] | null;
} | null | undefined;
readonly AttestationData?: {
readonly For: string;
} | null | undefined;
} | null)[] | null | undefined;
}, readonly [Schema.Struct<{
readonly Id: Schema.brand<Schema.String, "ImageId">;
readonly RepoTags: Schema.NullOr<Schema.$Array<Schema.String>>;
readonly RepoDigests: Schema.NullOr<Schema.$Array<Schema.brand<Schema.String, "Digest">>>;
readonly Parent: Schema.optional<Schema.String>;
readonly Comment: Schema.String;
readonly Created: Schema.optional<Schema.String>;
readonly Container: Schema.optional<Schema.String>;
readonly ContainerConfig: Schema.optional<Schema.NullOr<typeof import("../generated/ContainerConfig.generated.ts").ContainerConfig>>;
readonly DockerVersion: Schema.optional<Schema.String>;
readonly Author: Schema.optional<Schema.String>;
readonly Config: Schema.NullOr<typeof import("../generated/V1DockerOCIImageConfig.generated.ts").V1DockerOCIImageConfig>;
readonly Architecture: Schema.String;
readonly Variant: Schema.optional<Schema.String>;
readonly Os: Schema.String;
readonly OsVersion: Schema.optional<Schema.String>;
readonly Size: Schema.decodeTo<Schema.BigInt, Schema.String, never, never>;
readonly VirtualSize: Schema.optional<Schema.decodeTo<Schema.BigInt, Schema.String, never, never>>;
readonly GraphDriver: Schema.optional<Schema.NullOr<typeof import("../generated/StorageDriverData.generated.ts").StorageDriverData>>;
readonly RootFS: Schema.NullOr<typeof import("../generated/ImageRootFS.generated.ts").ImageRootFS>;
readonly Metadata: Schema.NullOr<typeof import("../generated/ImageMetadata.generated.ts").ImageMetadata>;
readonly Descriptor: Schema.optional<Schema.NullOr<typeof import("../generated/V1Descriptor.generated.ts").V1Descriptor>>;
readonly Manifests: Schema.optional<Schema.NullOr<Schema.$Array<Schema.NullOr<typeof import("../generated/ImageManifestSummary.generated.ts").ImageManifestSummary>>>>;
}>], {
readonly Id: string & import("effect/Brand").Brand<"ImageId">;
readonly RepoTags: readonly string[] | null;
readonly RepoDigests: readonly (string & import("effect/Brand").Brand<"Digest">)[] | null;
readonly Parent?: string | undefined;
readonly Comment: string;
readonly Created?: string | undefined;
readonly Container?: string | undefined;
readonly ContainerConfig?: {
readonly Hostname: string;
readonly Domainname: string;
readonly User: string;
readonly AttachStdin: boolean;
readonly AttachStdout: boolean;
readonly AttachStderr: boolean;
readonly ExposedPorts?: {
readonly [x: `${number}`]: object;
readonly [x: `${number}/tcp`]: object;
readonly [x: `${number}/udp`]: object;
} | null | undefined;
readonly Tty: boolean;
readonly OpenStdin: boolean;
readonly StdinOnce: boolean;
readonly Env: readonly string[] | null;
readonly Cmd: readonly string[] | null;
readonly Healthcheck?: {
readonly Test?: readonly string[] | null | undefined;
readonly Interval?: bigint | undefined;
readonly Timeout?: bigint | undefined;
readonly StartPeriod?: bigint | undefined;
readonly StartInterval?: bigint | undefined;
readonly Retries?: bigint | undefined;
} | null | undefined;
readonly ArgsEscaped?: boolean | undefined;
readonly Image: string;
readonly Volumes: {
readonly [x: string]: object;
} | null;
readonly WorkingDir: string;
readonly Entrypoint: readonly string[] | null;
readonly NetworkDisabled?: boolean | undefined;
readonly MacAddress?: string | undefined;
readonly OnBuild?: readonly string[] | null | undefined;
readonly Labels: {
readonly [x: string]: string;
} | null;
readonly StopSignal?: string | undefined;
readonly StopTimeout?: bigint | null | undefined;
readonly Shell?: readonly string[] | null | undefined;
} | null | undefined;
readonly DockerVersion?: string | undefined;
readonly Author?: string | undefined;
readonly Config: {
readonly User?: string | undefined;
readonly ExposedPorts?: {
readonly [x: string]: object;
} | null | undefined;
readonly Env?: readonly string[] | null | undefined;
readonly Entrypoint?: readonly string[] | null | undefined;
readonly Cmd?: readonly string[] | null | undefined;
readonly Volumes?: {
readonly [x: string]: object;
} | null | undefined;
readonly WorkingDir?: string | undefined;
readonly Labels?: {
readonly [x: string]: string;
} | null | undefined;
readonly StopSignal?: string | undefined;
readonly ArgsEscaped?: boolean | undefined;
readonly Healthcheck?: {
readonly Test?: readonly string[] | null | undefined;
readonly Interval?: bigint | undefined;
readonly Timeout?: bigint | undefined;
readonly StartPeriod?: bigint | undefined;
readonly StartInterval?: bigint | undefined;
readonly Retries?: bigint | undefined;
} | null | undefined;
readonly OnBuild?: readonly string[] | null | undefined;
readonly Shell?: readonly string[] | null | undefined;
} | null;
readonly Architecture: string;
readonly Variant?: string | undefined;
readonly Os: string;
readonly OsVersion?: string | undefined;
readonly Size: bigint;
readonly VirtualSize?: bigint | undefined;
readonly GraphDriver?: {
readonly Data: {
readonly [x: string]: string;
} | null;
readonly Name: string;
} | null | undefined;
readonly RootFS: {
readonly Type?: string | undefined;
readonly Layers?: readonly string[] | null | undefined;
} | null;
readonly Metadata: {
readonly LastTagTime?: Date | null | undefined;
} | null;
readonly Descriptor?: {
readonly mediaType: string;
readonly digest: string & import("effect/Brand").Brand<"Digest">;
readonly size: bigint;
readonly urls?: readonly string[] | null | undefined;
readonly annotations?: {
readonly [x: string]: string;
} | null | undefined;
readonly data?: Uint8Array<ArrayBufferLike> | null | undefined;
readonly platform?: {
readonly architecture: string;
readonly os: string;
readonly "os.version"?: string | undefined;
readonly "os.features"?: readonly string[] | null | undefined;
readonly variant?: string | undefined;
} | null | undefined;
readonly artifactType?: string | undefined;
} | null | undefined;
readonly Manifests?: readonly ({
readonly ID: string;
readonly Descriptor: {
readonly mediaType: string;
readonly digest: string & import("effect/Brand").Brand<"Digest">;
readonly size: bigint;
readonly urls?: readonly string[] | null | undefined;
readonly annotations?: {
readonly [x: string]: string;
} | null | undefined;
readonly data?: Uint8Array<ArrayBufferLike> | null | undefined;
readonly platform?: {
readonly architecture: string;
readonly os: string;
readonly "os.version"?: string | undefined;
readonly "os.features"?: readonly string[] | null | undefined;
readonly variant?: string | undefined;
} | null | undefined;
readonly artifactType?: string | undefined;
} | null;
readonly Available: boolean;
readonly Size: {
readonly Content: bigint;
readonly Total: bigint;
};
readonly Kind: "attestation" | "image" | "unknown";
readonly ImageData?: {
readonly Platform: {
readonly architecture: string;
readonly os: string;
readonly "os.version"?: string | undefined;
readonly "os.features"?: readonly string[] | null | undefined;
readonly variant?: string | undefined;
} | null;
readonly Size: {
readonly Unpacked: bigint;
};
readonly Containers: readonly string[] | null;
} | null | undefined;
readonly AttestationData?: {
readonly For: string & import("effect/Brand").Brand<"Digest">;
} | null | undefined;
} | null)[] | null | undefined;
}>, Schema.Struct<{
readonly Id: Schema.brand<Schema.String, "ImageId">;
readonly RepoTags: Schema.NullOr<Schema.$Array<Schema.String>>;
readonly RepoDigests: Schema.NullOr<Schema.$Array<Schema.brand<Schema.String, "Digest">>>;
readonly Parent: Schema.optional<Schema.String>;
readonly Comment: Schema.String;
readonly Created: Schema.optional<Schema.String>;
readonly Container: Schema.optional<Schema.String>;
readonly ContainerConfig: Schema.optional<Schema.NullOr<typeof import("../generated/ContainerConfig.generated.ts").ContainerConfig>>;
readonly DockerVersion: Schema.optional<Schema.String>;
readonly Author: Schema.optional<Schema.String>;
readonly Config: Schema.NullOr<typeof import("../generated/V1DockerOCIImageConfig.generated.ts").V1DockerOCIImageConfig>;
readonly Architecture: Schema.String;
readonly Variant: Schema.optional<Schema.String>;
readonly Os: Schema.String;
readonly OsVersion: Schema.optional<Schema.String>;
readonly Size: Schema.decodeTo<Schema.BigInt, Schema.String, never, never>;
readonly VirtualSize: Schema.optional<Schema.decodeTo<Schema.BigInt, Schema.String, never, never>>;
readonly GraphDriver: Schema.optional<Schema.NullOr<typeof import("../generated/StorageDriverData.generated.ts").StorageDriverData>>;
readonly RootFS: Schema.NullOr<typeof import("../generated/ImageRootFS.generated.ts").ImageRootFS>;
readonly Metadata: Schema.NullOr<typeof import("../generated/ImageMetadata.generated.ts").ImageMetadata>;
readonly Descriptor: Schema.optional<Schema.NullOr<typeof import("../generated/V1Descriptor.generated.ts").V1Descriptor>>;
readonly Manifests: Schema.optional<Schema.NullOr<Schema.$Array<Schema.NullOr<typeof import("../generated/ImageManifestSummary.generated.ts").ImageManifestSummary>>>>;
}>, never, never>>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"create", "POST", "/images/create", never, Schema.toCodecStringTree<Schema.Struct<{
fromImage: Schema.optional<Schema.String>;
fromSrc: Schema.optional<Schema.String>;
repo: Schema.optional<Schema.String>;
tag: Schema.optional<Schema.String>;
message: Schema.optional<Schema.String>;
changes: Schema.optional<Schema.String>;
platform: Schema.optional<Schema.String>;
}>>, never, Schema.toCodecStringTree<Schema.Struct<{
"X-Registry-Auth": Schema.optional<Schema.String>;
}>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", "/images/:name", Schema.toCodecStringTree<Schema.Struct<{
name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
force: Schema.optional<Schema.Boolean>;
noprune: Schema.optional<Schema.Boolean>;
platforms: Schema.optional<Schema.$Array<Schema.String>>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof ImageDeleteResponse>>, Schema.toCodecJson<typeof NotFound | typeof Conflict | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"export", "GET", "/images/:name/get", Schema.toCodecStringTree<Schema.Struct<{
name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
platform: Schema.optional<Schema.String>;
}>>, never, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"exportMany", "GET", "/images/get", never, Schema.toCodecStringTree<Schema.Struct<{
names: Schema.optional<Schema.String>;
platform: Schema.optional<Schema.String>;
}>>, never, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"history", "GET", "/images/:name/history", Schema.toCodecStringTree<Schema.Struct<{
name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
platform: Schema.optional<Schema.String>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof ImageHistoryResponseItem>>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"import", "POST", "/images/load", never, Schema.toCodecStringTree<Schema.Struct<{
platform: Schema.optional<Schema.String>;
quiet: Schema.optional<Schema.Boolean>;
}>>, Schema.toCodecJson<HttpApiSchema.StreamUint8Array>, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", "/images/:name/json", Schema.toCodecStringTree<Schema.Struct<{
name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
manifests: Schema.optional<Schema.Boolean>;
}>>, never, never, Schema.toCodecJson<typeof ImageInspectResponse>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"list", "GET", "/images/json", never, Schema.toCodecStringTree<Schema.Struct<{
filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{
readonly before: Schema.optional<Schema.$Array<Schema.String>>;
readonly dangling: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly label: Schema.optional<Schema.$Array<Schema.String>>;
readonly reference: Schema.optional<Schema.$Array<Schema.String>>;
readonly since: Schema.optional<Schema.$Array<Schema.String>>;
readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
}>>>;
all: Schema.optional<Schema.Boolean>;
digests: Schema.optional<Schema.Boolean>;
"shared-size": Schema.optional<Schema.Boolean>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof ImageSummary>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"prune", "POST", "/images/prune", never, Schema.toCodecStringTree<Schema.Struct<{
filters: Schema.optional<Schema.String>;
}>>, never, never, Schema.toCodecJson<Schema.Struct<{
readonly SpaceReclaimed: Schema.BigIntFromString;
readonly ImagesDeleted: Schema.NullishOr<Schema.$Array<typeof ImageDeleteResponse>>;
}>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"push", "POST", "/images/:name/push", Schema.toCodecStringTree<Schema.Struct<{
name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
tag: Schema.optional<Schema.String>;
platform: Schema.optional<Schema.String>;
}>>, never, Schema.toCodecStringTree<Schema.Struct<{
"X-Registry-Auth": Schema.optional<Schema.String>;
}>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"search", "GET", "/images/search", never, Schema.toCodecStringTree<Schema.Struct<{
term: Schema.String;
limit: Schema.optional<Schema.Number>;
filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{
readonly "is-official": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly "is-automated": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
readonly stars: Schema.optional<Schema.decodeTo<Schema.Number, Schema.Tuple<readonly [Schema.NumberFromString]>, never, never>>;
}>>>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof RegistrySearchResult>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"tag", "POST", "/images/:name/tag", Schema.toCodecStringTree<Schema.Struct<{
name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
repo: Schema.optional<Schema.String>;
tag: Schema.optional<Schema.String>;
}>>, never, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof BadRequest | typeof NotFound | typeof Conflict | typeof InternalServerError>, never, never>, false>>;
declare const Images_base: Context.ServiceClass<Images, "@the-moby-effect/endpoints/Images", {
list: (options?: {
readonly filters?: {
readonly before?: readonly string[] | undefined;
readonly dangling?: boolean | undefined;
readonly label?: readonly string[] | undefined;
readonly reference?: readonly string[] | undefined;
readonly since?: readonly string[] | undefined;
readonly until?: string | undefined;
} | undefined;
readonly all?: boolean | undefined;
readonly digests?: boolean | undefined;
readonly "shared-size"?: boolean | undefined;
}) => Effect.Effect<readonly ImageSummary[], DockerError, never>;
build: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
readonly dockerfile?: string | undefined;
readonly t?: string | undefined;
readonly extrahosts?: string | undefined;
readonly remote?: string | undefined;
readonly q?: boolean | undefined;
readonly nocache?: boolean | undefined;
readonly cachefrom?: string | undefined;
readonly pull?: string | undefined;
readonly rm?: boolean | undefined;
readonly forcerm?: boolean | undefined;
readonly memory?: number | undefined;
readonly memswap?: number | undefined;
readonly cpushares?: number | undefined;
readonly cpusetcpus?: string | undefined;
readonly cpuperiod?: number | undefined;
readonly cpuquota?: number | undefined;
readonly buildargs?: {
readonly [x: string]: string | null | undefined;
} | undefined;
readonly shmsize?: number | undefined;
readonly squash?: boolean | undefined;
readonly labels?: string | undefined;
readonly networkmode?: string | undefined;
readonly platform?: string | undefined;
readonly target?: string | undefined;
readonly outputs?: string | undefined;
readonly version?: "1" | undefined;
}) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
buildPrune: (options?: {
readonly "keep-storage"?: number | undefined;
readonly all?: boolean | undefined;
readonly filters?: {
readonly until?: string | undefined;
readonly id?: readonly string[] | undefined;
readonly parent?: readonly string[] | undefined;
readonly type?: readonly string[] | undefined;
readonly description?: readonly string[] | undefined;
readonly inuse?: boolean | undefined;
readonly shared?: boolean | undefined;
readonly private?: boolean | undefined;
} | undefined;
}) => Effect.Effect<{
readonly SpaceReclaimed: bigint;
readonly CachesDeleted: readonly string[] | null | undefined;
}, DockerError, never>;
create: (options?: {
readonly fromImage?: string | undefined;
readonly fromSrc?: string | undefined;
readonly repo?: string | undefined;
readonly tag?: string | undefined;
readonly message?: string | undefined;
readonly changes?: string | undefined;
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
inspect: (name: string, options?: {
readonly manifests?: boolean | undefined;
}) => Effect.Effect<ImageInspectResponse, DockerError, never>;
history: (name: string, options?: {
readonly platform?: string | undefined;
}) => Effect.Effect<readonly ImageHistoryResponseItem[], DockerError, never>;
push: (name: string, options?: {
readonly tag?: string | undefined;
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
tag: (name: string, options?: {
readonly repo?: string | undefined;
readonly tag?: string | undefined;
}) => Effect.Effect<void, DockerError, never>;
delete: (name: string, options?: {
readonly force?: boolean | undefined;
readonly noprune?: boolean | undefined;
readonly platforms?: readonly string[] | undefined;
}) => Effect.Effect<readonly ImageDeleteResponse[], DockerError, never>;
search: (options: {
readonly term: string;
readonly limit?: number | undefined;
readonly filters?: {
readonly "is-official"?: boolean | undefined;
readonly "is-automated"?: boolean | undefined;
readonly stars?: number | undefined;
} | undefined;
}) => Effect.Effect<readonly RegistrySearchResult[], DockerError, never>;
prune: (options?: {
readonly filters?: string | undefined;
}) => Effect.Effect<{
readonly SpaceReclaimed: bigint;
readonly ImagesDeleted: readonly ImageDeleteResponse[] | null | undefined;
}, DockerError, never>;
commit: (payload: (typeof ContainerCreateRequest)["~type.make.in"], options: {
readonly container: string;
readonly repo?: string | undefined;
readonly tag?: string | undefined;
readonly comment?: string | undefined;
readonly author?: string | undefined;
readonly pause?: boolean | undefined;
readonly changes?: string | undefined;
}) => Effect.Effect<ImageInspectResponse, DockerError, never>;
export: (name: string, options?: {
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
exportMany: (options?: {
readonly names?: string | undefined;
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
import: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
readonly platform?: string | undefined;
readonly quiet?: boolean | undefined;
}) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
}> & {
readonly make: Effect.Effect<{
list: (options?: {
readonly filters?: {
readonly before?: readonly string[] | undefined;
readonly dangling?: boolean | undefined;
readonly label?: readonly string[] | undefined;
readonly reference?: readonly string[] | undefined;
readonly since?: readonly string[] | undefined;
readonly until?: string | undefined;
} | undefined;
readonly all?: boolean | undefined;
readonly digests?: boolean | undefined;
readonly "shared-size"?: boolean | undefined;
}) => Effect.Effect<readonly ImageSummary[], DockerError, never>;
build: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
readonly dockerfile?: string | undefined;
readonly t?: string | undefined;
readonly extrahosts?: string | undefined;
readonly remote?: string | undefined;
readonly q?: boolean | undefined;
readonly nocache?: boolean | undefined;
readonly cachefrom?: string | undefined;
readonly pull?: string | undefined;
readonly rm?: boolean | undefined;
readonly forcerm?: boolean | undefined;
readonly memory?: number | undefined;
readonly memswap?: number | undefined;
readonly cpushares?: number | undefined;
readonly cpusetcpus?: string | undefined;
readonly cpuperiod?: number | undefined;
readonly cpuquota?: number | undefined;
readonly buildargs?: {
readonly [x: string]: string | null | undefined;
} | undefined;
readonly shmsize?: number | undefined;
readonly squash?: boolean | undefined;
readonly labels?: string | undefined;
readonly networkmode?: string | undefined;
readonly platform?: string | undefined;
readonly target?: string | undefined;
readonly outputs?: string | undefined;
readonly version?: "1" | undefined;
}) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
buildPrune: (options?: {
readonly "keep-storage"?: number | undefined;
readonly all?: boolean | undefined;
readonly filters?: {
readonly until?: string | undefined;
readonly id?: readonly string[] | undefined;
readonly parent?: readonly string[] | undefined;
readonly type?: readonly string[] | undefined;
readonly description?: readonly string[] | undefined;
readonly inuse?: boolean | undefined;
readonly shared?: boolean | undefined;
readonly private?: boolean | undefined;
} | undefined;
}) => Effect.Effect<{
readonly SpaceReclaimed: bigint;
readonly CachesDeleted: readonly string[] | null | undefined;
}, DockerError, never>;
create: (options?: {
readonly fromImage?: string | undefined;
readonly fromSrc?: string | undefined;
readonly repo?: string | undefined;
readonly tag?: string | undefined;
readonly message?: string | undefined;
readonly changes?: string | undefined;
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
inspect: (name: string, options?: {
readonly manifests?: boolean | undefined;
}) => Effect.Effect<ImageInspectResponse, DockerError, never>;
history: (name: string, options?: {
readonly platform?: string | undefined;
}) => Effect.Effect<readonly ImageHistoryResponseItem[], DockerError, never>;
push: (name: string, options?: {
readonly tag?: string | undefined;
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
tag: (name: string, options?: {
readonly repo?: string | undefined;
readonly tag?: string | undefined;
}) => Effect.Effect<void, DockerError, never>;
delete: (name: string, options?: {
readonly force?: boolean | undefined;
readonly noprune?: boolean | undefined;
readonly platforms?: readonly string[] | undefined;
}) => Effect.Effect<readonly ImageDeleteResponse[], DockerError, never>;
search: (options: {
readonly term: string;
readonly limit?: number | undefined;
readonly filters?: {
readonly "is-official"?: boolean | undefined;
readonly "is-automated"?: boolean | undefined;
readonly stars?: number | undefined;
} | undefined;
}) => Effect.Effect<readonly RegistrySearchResult[], DockerError, never>;
prune: (options?: {
readonly filters?: string | undefined;
}) => Effect.Effect<{
readonly SpaceReclaimed: bigint;
readonly ImagesDeleted: readonly ImageDeleteResponse[] | null | undefined;
}, DockerError, never>;
commit: (payload: (typeof ContainerCreateRequest)["~type.make.in"], options: {
readonly container: string;
readonly repo?: string | undefined;
readonly tag?: string | undefined;
readonly comment?: string | undefined;
readonly author?: string | undefined;
readonly pause?: boolean | undefined;
readonly changes?: string | undefined;
}) => Effect.Effect<ImageInspectResponse, DockerError, never>;
export: (name: string, options?: {
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
exportMany: (options?: {
readonly names?: string | undefined;
readonly platform?: string | undefined;
}) => Stream.Stream<JSONMessage, DockerError, never>;
import: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
readonly platform?: string | undefined;
readonly quiet?: boolean | undefined;
}) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
}, never, HttpClient.HttpClient>;
};
/**
* @since 1.0.0
* @category Services
* @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
*/
export declare class Images extends Images_base {
}
/**
* @since 1.0.0
* @category Services
* @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
*/
export declare const ImagesLayer: Layer.Layer<Images, never, HttpClient.HttpClient>;
/**
* @since 1.0.0
* @category Services
* @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
*/
export declare const ImagesLayerLocalSocket: Layer.Layer<Images, never, HttpClient.HttpClient>;
export {};
//# sourceMappingURL=images.d.ts.map