UNPKG

the-moby-effect

Version:
94 lines 5.85 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 * as HttpApiSchema from "effect/unstable/httpapi/HttpApiSchema"; import { SwarmSecret, SwarmSecretSpec } from "../generated/index.ts"; import { DockerError } from "./circular.ts"; import { BadRequest, Conflict, InternalServerError, NotFound, ServiceUnavailable } from "./errors.ts"; /** @since 1.0.0 */ export declare const ListFilters: Schema.fromJsonString<Schema.Struct<{ readonly id: Schema.optional<Schema.$Array<Schema.String>>; readonly label: Schema.optional<Schema.$Array<Schema.String>>; readonly name: Schema.optional<Schema.$Array<Schema.String>>; }>>; /** * Secrets are sensitive data that can be used by services. 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/Secret */ export declare const SecretsApi: HttpApi.HttpApi<"SecretsApi", HttpApiGroup.HttpApiGroup<"secrets", HttpApiEndpoint.HttpApiEndpoint<"create", "POST", "/secrets/create", never, never, Schema.toCodecJson<typeof SwarmSecretSpec>, never, Schema.toCodecJson<Schema.decodeTo<Schema.Struct<{ readonly Id: Schema.brand<Schema.String, "SecretId">; }>, Schema.Struct<{ readonly ID: Schema.toEncoded<Schema.brand<Schema.String, "SecretId">>; }>, never, never>>, Schema.toCodecJson<typeof Conflict | typeof InternalServerError | typeof ServiceUnavailable>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", "/secrets/:id", Schema.toCodecStringTree<Schema.Struct<{ id: Schema.String; }>>, never, never, never, Schema.toCodecJson<HttpApiSchema.NoContent>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError | typeof ServiceUnavailable>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", "/secrets/:id", Schema.toCodecStringTree<Schema.Struct<{ id: Schema.String; }>>, never, never, never, Schema.toCodecJson<typeof SwarmSecret>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError | typeof ServiceUnavailable>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"list", "GET", "/secrets/", never, Schema.toCodecStringTree<Schema.Struct<{ filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{ readonly id: Schema.optional<Schema.$Array<Schema.String>>; readonly label: Schema.optional<Schema.$Array<Schema.String>>; readonly name: Schema.optional<Schema.$Array<Schema.String>>; }>>>; }>>, never, never, Schema.toCodecJson<Schema.$Array<typeof SwarmSecret>>, Schema.toCodecJson<typeof InternalServerError | typeof ServiceUnavailable>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"update", "POST", "/secrets/:id/update", Schema.toCodecStringTree<Schema.Struct<{ id: Schema.String; }>>, Schema.toCodecStringTree<Schema.Struct<{ version: Schema.BigIntFromString; }>>, Schema.toCodecJson<typeof SwarmSecretSpec>, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof BadRequest | typeof NotFound | typeof InternalServerError | typeof ServiceUnavailable>, never, never>, false>>; declare const Secrets_base: Context.ServiceClass<Secrets, "@the-moby-effect/endpoints/Secrets", { list: (filters?: Schema.Schema.Type<typeof ListFilters>) => Effect.Effect<readonly SwarmSecret[], DockerError, never>; create: (payload: (typeof SwarmSecretSpec)["~type.make.in"]) => Effect.Effect<{ readonly Id: string & import("effect/Brand").Brand<"SecretId">; }, DockerError, never>; inspect: (id: string) => Effect.Effect<SwarmSecret, DockerError, never>; delete: (id: string) => Effect.Effect<void, DockerError, never>; update: (id: string, version: bigint, payload: (typeof SwarmSecretSpec)["~type.make.in"]) => Effect.Effect<void, DockerError, never>; }> & { readonly make: Effect.Effect<{ list: (filters?: Schema.Schema.Type<typeof ListFilters>) => Effect.Effect<readonly SwarmSecret[], DockerError, never>; create: (payload: (typeof SwarmSecretSpec)["~type.make.in"]) => Effect.Effect<{ readonly Id: string & import("effect/Brand").Brand<"SecretId">; }, DockerError, never>; inspect: (id: string) => Effect.Effect<SwarmSecret, DockerError, never>; delete: (id: string) => Effect.Effect<void, DockerError, never>; update: (id: string, version: bigint, payload: (typeof SwarmSecretSpec)["~type.make.in"]) => Effect.Effect<void, DockerError, never>; }, never, HttpClient.HttpClient>; }; /** * Secrets are sensitive data that can be used by services. 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/Secret */ export declare class Secrets extends Secrets_base { } /** * Secrets are sensitive data that can be used by services. 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/Secret */ export declare const SecretsLayer: Layer.Layer<Secrets, never, HttpClient.HttpClient>; /** * Secrets are sensitive data that can be used by services. 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/Secret */ export declare const SecretsLayerLocalSocket: Layer.Layer<Secrets, never, HttpClient.HttpClient>; export {}; //# sourceMappingURL=secrets.d.ts.map