UNPKG

the-moby-effect

Version:
128 lines 9.21 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 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 { JSONMessage, TypesPlugin as Plugin, RuntimePluginPrivilege as PluginPrivilege } from "../generated/index.ts"; import { DockerError } from "./circular.ts"; import { InternalServerError, NotFound } from "./errors.ts"; /** @since 1.0.0 */ export declare const ListFilters: Schema.fromJsonString<Schema.Struct<{ readonly capability: Schema.optional<Schema.$Array<Schema.String>>; readonly enabled: 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/Plugin */ export declare const PluginsApi: HttpApi.HttpApi<"PluginsApi", HttpApiGroup.HttpApiGroup<"plugins", HttpApiEndpoint.HttpApiEndpoint<"create", "POST", "/plugins/create", never, Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, Schema.toCodecJson<HttpApiSchema.StreamUint8Array>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", "/plugins/:name", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, Schema.toCodecStringTree<Schema.Struct<{ force: Schema.optional<Schema.Boolean>; }>>, never, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"disable", "POST", "/plugins/:name/disable", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, Schema.toCodecStringTree<Schema.Struct<{ force: Schema.optional<Schema.Boolean>; }>>, never, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"enable", "POST", "/plugins/:name/enable", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, Schema.toCodecStringTree<Schema.Struct<{ timeout: Schema.optional<Schema.Number>; }>>, never, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"getPrivileges", "GET", "/plugins/privileges", never, Schema.toCodecStringTree<Schema.Struct<{ remote: Schema.String; }>>, never, never, Schema.toCodecJson<Schema.$Array<typeof PluginPrivilege>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", "/plugins/:name/json", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, never, never, never, Schema.toCodecJson<typeof Plugin>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"list", "GET", "/plugins/", never, Schema.toCodecStringTree<Schema.Struct<{ filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{ readonly capability: Schema.optional<Schema.$Array<Schema.String>>; readonly enabled: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>; }>>>; }>>, never, never, Schema.toCodecJson<Schema.$Array<typeof Plugin>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"pull", "POST", "/plugins/pull", never, Schema.toCodecStringTree<Schema.Struct<{ remote: Schema.String; name: Schema.optional<Schema.String>; }>>, Schema.toCodecJson<Schema.$Array<typeof PluginPrivilege>>, Schema.toCodecStringTree<Schema.Struct<{ "X-Registry-Auth": Schema.optional<Schema.String>; }>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"push", "POST", "/plugins/:name/push", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, never, never, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"set", "POST", "/plugins/:name/set", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, never, Schema.toCodecJson<Schema.$Array<Schema.String>>, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"upgrade", "POST", "/plugins/:name/upgrade", Schema.toCodecStringTree<Schema.Struct<{ name: Schema.String; }>>, Schema.toCodecStringTree<Schema.Struct<{ remote: Schema.String; }>>, Schema.toCodecJson<Schema.$Array<typeof PluginPrivilege>>, Schema.toCodecStringTree<Schema.Struct<{ "X-Registry-Auth": Schema.optional<Schema.String>; }>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never>, false>>; declare const Plugins_base: Context.ServiceClass<Plugins, "@the-moby-effect/endpoints/Plugins", { list: (filters?: Schema.Schema.Type<typeof ListFilters> | undefined) => Effect.Effect<readonly Plugin[], DockerError, never>; getPrivileges: (remote: string) => Effect.Effect<readonly PluginPrivilege[], DockerError, never>; pull: (remote: string, options?: { name?: string | undefined; privileges?: Array<(typeof PluginPrivilege)["~type.make.in"]> | undefined; }) => Stream.Stream<JSONMessage, DockerError, never>; inspect: (name: string) => Effect.Effect<Plugin, DockerError, never>; delete: (name: string, options?: { readonly force?: boolean | undefined; }) => Effect.Effect<Stream.Stream<Uint8Array<ArrayBufferLike>, import("effect/unstable/http/HttpClientError").HttpClientError, never>, DockerError, never>; enable: (name: string, options?: { readonly timeout?: number | undefined; }) => Effect.Effect<void, DockerError, never>; disable: (name: string, options?: { readonly force?: boolean | undefined; }) => Effect.Effect<void, DockerError, never>; upgrade: (name: string, remote: string, privileges?: Array<(typeof PluginPrivilege)["~type.make.in"]> | undefined) => Effect.Effect<void, DockerError, never>; create: <E, R>(name: string, tar: Stream.Stream<Uint8Array, E, R>) => Effect.Effect<void, DockerError, R>; push: (name: string) => Effect.Effect<void, DockerError, never>; set: (name: string, body: ReadonlyArray<string>) => Effect.Effect<void, DockerError, never>; }> & { readonly make: Effect.Effect<{ list: (filters?: Schema.Schema.Type<typeof ListFilters> | undefined) => Effect.Effect<readonly Plugin[], DockerError, never>; getPrivileges: (remote: string) => Effect.Effect<readonly PluginPrivilege[], DockerError, never>; pull: (remote: string, options?: { name?: string | undefined; privileges?: Array<(typeof PluginPrivilege)["~type.make.in"]> | undefined; }) => Stream.Stream<JSONMessage, DockerError, never>; inspect: (name: string) => Effect.Effect<Plugin, DockerError, never>; delete: (name: string, options?: { readonly force?: boolean | undefined; }) => Effect.Effect<Stream.Stream<Uint8Array<ArrayBufferLike>, import("effect/unstable/http/HttpClientError").HttpClientError, never>, DockerError, never>; enable: (name: string, options?: { readonly timeout?: number | undefined; }) => Effect.Effect<void, DockerError, never>; disable: (name: string, options?: { readonly force?: boolean | undefined; }) => Effect.Effect<void, DockerError, never>; upgrade: (name: string, remote: string, privileges?: Array<(typeof PluginPrivilege)["~type.make.in"]> | undefined) => Effect.Effect<void, DockerError, never>; create: <E, R>(name: string, tar: Stream.Stream<Uint8Array, E, R>) => Effect.Effect<void, DockerError, R>; push: (name: string) => Effect.Effect<void, DockerError, never>; set: (name: string, body: ReadonlyArray<string>) => Effect.Effect<void, DockerError, never>; }, never, HttpClient.HttpClient>; }; /** * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Plugin */ export declare class Plugins extends Plugins_base { } /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Plugin */ export declare const PluginsLayer: Layer.Layer<Plugins, never, HttpClient.HttpClient>; /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Plugin */ export declare const PluginsLayerLocalSocket: Layer.Layer<Plugins, never, HttpClient.HttpClient>; export {}; //# sourceMappingURL=plugins.d.ts.map