UNPKG

the-moby-effect

Version:
110 lines 6.97 kB
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 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 { SwarmSwarm as SwarmData, SwarmInitRequest, SwarmJoinRequest, SwarmSpec } from "../generated/index.ts"; import { DockerError } from "./circular.ts"; import { BadRequest, InternalServerError, NotFound } from "./errors.ts"; declare const NodeNotPartOfSwarm_base: Schema.Class<NodeNotPartOfSwarm, Schema.Struct<{ readonly _tag: Schema.withDecodingDefaultKey<Schema.tag<"NodeNotPartOfSwarm">, never>; readonly message: Schema.optionalKey<Schema.String>; }>, import("effect/Cause").YieldableError>; /** @since 1.0.0 */ export declare class NodeNotPartOfSwarm extends NodeNotPartOfSwarm_base { } declare const NodeAlreadyPartOfSwarm_base: Schema.Class<NodeAlreadyPartOfSwarm, Schema.Struct<{ readonly _tag: Schema.withDecodingDefaultKey<Schema.tag<"NodeAlreadyPartOfSwarm">, never>; readonly message: Schema.optionalKey<Schema.String>; }>, import("effect/Cause").YieldableError>; /** @since 1.0.0 */ export declare class NodeAlreadyPartOfSwarm extends NodeAlreadyPartOfSwarm_base { } /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category HttpApi * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare const SwarmApi: HttpApi.HttpApi<"SwarmApi", HttpApiGroup.HttpApiGroup<"swarm", HttpApiEndpoint.HttpApiEndpoint<"init", "POST", "/swarm/init", never, never, Schema.toCodecJson<typeof SwarmInitRequest>, never, Schema.toCodecJson<Schema.String>, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError | typeof NodeAlreadyPartOfSwarm>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", "/swarm/", never, never, never, never, Schema.toCodecJson<typeof SwarmData>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError | typeof NodeNotPartOfSwarm>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"join", "POST", "/swarm/join", never, never, Schema.toCodecJson<typeof SwarmJoinRequest>, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError | typeof NodeAlreadyPartOfSwarm>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"leave", "POST", "/swarm/leave", never, Schema.toCodecStringTree<Schema.Struct<{ force: Schema.optional<Schema.Boolean>; }>>, never, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof InternalServerError | typeof NodeNotPartOfSwarm>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"unlock", "POST", "/swarm/unlock", never, never, Schema.toCodecJson<Schema.Struct<{ readonly UnlockKey: Schema.String; }>>, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof InternalServerError | typeof NodeNotPartOfSwarm>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"unlockkey", "GET", "/swarm/unlockkey", never, never, never, never, Schema.toCodecJson<Schema.Struct<{ readonly UnlockKey: Schema.String; }>>, Schema.toCodecJson<typeof InternalServerError | typeof NodeNotPartOfSwarm>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"update", "POST", "/swarm/update", never, Schema.toCodecStringTree<Schema.Struct<{ version: Schema.BigIntFromString; rotateWorkerToken: Schema.optional<Schema.Boolean>; rotateManagerToken: Schema.optional<Schema.Boolean>; rotateManagerUnlockKey: Schema.optional<Schema.Boolean>; }>>, Schema.toCodecJson<typeof SwarmSpec>, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError | typeof NodeNotPartOfSwarm>, never, never>, false>>; declare const Swarm_base: Context.ServiceClass<Swarm, "@the-moby-effect/endpoints/Swarm", { inspect: () => Effect.Effect<SwarmData, DockerError, never>; init: (payload: (typeof SwarmInitRequest)["~type.make.in"]) => Effect.Effect<string, DockerError, never>; join: (payload: (typeof SwarmJoinRequest)["~type.make.in"]) => Effect.Effect<void, DockerError, never>; leave: (options?: { force?: boolean | undefined; } | undefined) => Effect.Effect<void, DockerError, never>; update: (spec: (typeof SwarmSpec)["~type.make.in"], version: bigint, rotate?: { readonly rotateWorkerToken?: boolean | undefined; readonly rotateManagerToken?: boolean | undefined; readonly rotateManagerUnlockKey?: boolean | undefined; } | undefined) => Effect.Effect<void, DockerError, never>; unlockkey: () => Effect.Effect<{ readonly UnlockKey: string; }, DockerError, never>; unlock: (unlockKey: string) => Effect.Effect<void, DockerError, never>; }> & { readonly make: Effect.Effect<{ inspect: () => Effect.Effect<SwarmData, DockerError, never>; init: (payload: (typeof SwarmInitRequest)["~type.make.in"]) => Effect.Effect<string, DockerError, never>; join: (payload: (typeof SwarmJoinRequest)["~type.make.in"]) => Effect.Effect<void, DockerError, never>; leave: (options?: { force?: boolean | undefined; } | undefined) => Effect.Effect<void, DockerError, never>; update: (spec: (typeof SwarmSpec)["~type.make.in"], version: bigint, rotate?: { readonly rotateWorkerToken?: boolean | undefined; readonly rotateManagerToken?: boolean | undefined; readonly rotateManagerUnlockKey?: boolean | undefined; } | undefined) => Effect.Effect<void, DockerError, never>; unlockkey: () => Effect.Effect<{ readonly UnlockKey: string; }, DockerError, never>; unlock: (unlockKey: string) => Effect.Effect<void, DockerError, never>; }, never, HttpClient.HttpClient>; }; /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare class Swarm extends Swarm_base { } /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare const SwarmLayer: Layer.Layer<Swarm, never, HttpClient.HttpClient>; /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare const SwarmLayerLocalSocket: Layer.Layer<Swarm, never, HttpClient.HttpClient>; export {}; //# sourceMappingURL=swarm.d.ts.map