import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpClient } from "@effect/platform"; import { Effect, Schema, Stream, type Layer } from "effect"; import { SwarmService, SwarmServiceSpec } from "../generated/index.js"; import { DockerError } from "./circular.ts"; import { BadRequest, Conflict, Forbidden, InternalServerError, NotFound } from "./httpApiHacks.js"; import { NodeNotPartOfSwarm } from "./swarm.js"; declare const ListFilters_base: Schema.transform, Schema.Struct<{ id: Schema.optional>; label: Schema.optional>; mode: Schema.optional>>; }>>; /** @since 1.0.0 */ export declare class ListFilters extends ListFilters_base { } /** * Services are the definitions of tasks to run on a swarm. Swarm mode must be * enabled for these endpoints to work. * * @since 1.0.0 * @category HttpApi * @see https://docs.docker.com/reference/api/engine/latest/#tag/Service */ export declare const ServicesApi: HttpApi.HttpApi<"ServicesApi", HttpApiGroup.HttpApiGroup<"services", HttpApiEndpoint.HttpApiEndpoint<"list", "GET", never, { readonly status?: boolean | undefined; readonly filters?: { readonly mode?: readonly ("replicated" | "global")[] | undefined; readonly id?: readonly string[] | undefined; readonly label?: readonly string[] | undefined; } | undefined; }, never, never, readonly SwarmService[], NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"create", "POST", never, never, SwarmServiceSpec, { readonly "X-Registry-Auth"?: string | undefined; }, { readonly ID: string; readonly Warnings?: readonly string[] | undefined; }, BadRequest | Forbidden | Conflict | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", { readonly id: string; }, never, never, never, void, NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", { readonly id: string; }, { readonly insertDefaults?: boolean | undefined; }, never, never, SwarmService, NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"update", "POST", { readonly id: string; }, { readonly version: number; readonly rollback?: string | undefined; readonly registryAuthFrom?: string | undefined; }, SwarmServiceSpec, { readonly "X-Registry-Auth"?: string | undefined; }, { readonly Warnings?: readonly string[] | undefined; }, BadRequest | NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"logs", "GET", { readonly id: string; }, { readonly stdout?: boolean | undefined; readonly stderr?: boolean | undefined; readonly since?: number | undefined; readonly follow?: boolean | undefined; readonly timestamps?: boolean | undefined; readonly tail?: string | undefined; readonly details?: boolean | undefined; }, never, never, void, NotFound | NodeNotPartOfSwarm, never, never>, InternalServerError, never, false>, import("@effect/platform/HttpApiError").HttpApiDecodeError, never>; declare const Services_base: Effect.Service.Class]; readonly effect: Effect.Effect<{ list: (options?: { readonly status?: boolean | undefined; readonly filters?: { readonly mode?: readonly ("replicated" | "global")[] | undefined; readonly id?: readonly string[] | undefined; readonly label?: readonly string[] | undefined; } | undefined; }) => Effect.Effect; create: (props: { readonly Labels: { readonly [x: string]: string; } | null; readonly Name?: string | undefined; readonly Mode?: import("../generated/SwarmServiceMode.generated.ts").SwarmServiceMode | undefined; readonly Networks?: readonly (import("../generated/SwarmNetworkAttachmentConfig.generated.ts").SwarmNetworkAttachmentConfig | null)[] | undefined; readonly TaskTemplate?: import("../generated/SwarmTaskSpec.generated.ts").SwarmTaskSpec | undefined; readonly UpdateConfig?: import("../generated/SwarmUpdateConfig.generated.ts").SwarmUpdateConfig | undefined; readonly RollbackConfig?: import("../generated/SwarmUpdateConfig.generated.ts").SwarmUpdateConfig | undefined; readonly EndpointSpec?: import("../generated/SwarmEndpointSpec.generated.ts").SwarmEndpointSpec | undefined; }, options?: Schema.MakeOptions | undefined) => Effect.Effect<{ readonly ID: string; readonly Warnings?: readonly string[] | undefined; }, DockerError, never>; delete: (id: string) => Effect.Effect; inspect: (id: string, options?: { readonly insertDefaults?: boolean | undefined; }) => Effect.Effect; update: (id: string, options: { readonly version: number; readonly rollback?: string | undefined; readonly registryAuthFrom?: string | undefined; }, props: { readonly Labels: { readonly [x: string]: string; } | null; readonly Name?: string | undefined; readonly Mode?: import("../generated/SwarmServiceMode.generated.ts").SwarmServiceMode | undefined; readonly Networks?: readonly (import("../generated/SwarmNetworkAttachmentConfig.generated.ts").SwarmNetworkAttachmentConfig | null)[] | undefined; readonly TaskTemplate?: import("../generated/SwarmTaskSpec.generated.ts").SwarmTaskSpec | undefined; readonly UpdateConfig?: import("../generated/SwarmUpdateConfig.generated.ts").SwarmUpdateConfig | undefined; readonly RollbackConfig?: import("../generated/SwarmUpdateConfig.generated.ts").SwarmUpdateConfig | undefined; readonly EndpointSpec?: import("../generated/SwarmEndpointSpec.generated.ts").SwarmEndpointSpec | undefined; }, options?: Schema.MakeOptions | undefined) => Effect.Effect<{ readonly Warnings?: readonly string[] | undefined; }, DockerError, never>; logs: (id: string, options?: { readonly stdout?: boolean | undefined; readonly stderr?: boolean | undefined; readonly since?: number | undefined; readonly follow?: boolean | undefined; readonly timestamps?: boolean | undefined; readonly tail?: string | undefined; readonly details?: boolean | undefined; }) => Stream.Stream; }, never, HttpClient.HttpClient>; }>; /** * Services are the definitions of tasks to run on a swarm. Swarm mode must be * enabled for these endpoints to work. * * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Service */ export declare class Services extends Services_base { } /** * Services are the definitions of tasks to run on a swarm. Swarm mode must be * enabled for these endpoints to work. * * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Service */ export declare const ServicesLayerLocalSocket: Layer.Layer; /** * Services are the definitions of tasks to run on a swarm. Swarm mode must be * enabled for these endpoints to work. * * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Service */ export declare const ServicesLayer: Layer.Layer; export {};