the-moby-effect
Version:
Moby/Docker API client built using effect-ts
128 lines • 9.21 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 { 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