the-moby-effect
Version:
Moby/Docker API client built using effect-ts
43 lines (40 loc) • 2.08 kB
text/typescript
import * as Schema from "effect/Schema";
import * as MobyIdentifiers from "../schemas/id.ts";
import * as NetworkConfigReference from "./NetworkConfigReference.generated.ts";
import * as NetworkEndpointResource from "./NetworkEndpointResource.generated.ts";
import * as NetworkIPAM from "./NetworkIPAM.generated.ts";
import * as NetworkPeerInfo from "./NetworkPeerInfo.generated.ts";
import * as NetworkServiceInfo from "./NetworkServiceInfo.generated.ts";
export class NetworkInspect extends Schema.Class<NetworkInspect>("NetworkInspect")(
{
Name: Schema.String,
Id: MobyIdentifiers.NetworkIdentifier,
Created: Schema.NullOr(Schema.DateFromString),
Scope: Schema.String,
Driver: Schema.String,
// optional for docker.io/library/docker:26-dind-rootless and 27 (added in docker v28)
EnableIPv4: Schema.optional(Schema.Boolean),
EnableIPv6: Schema.Boolean,
IPAM: Schema.NullOr(NetworkIPAM.NetworkIPAM),
Internal: Schema.Boolean,
Attachable: Schema.Boolean,
Ingress: Schema.Boolean,
ConfigFrom: Schema.NullOr(NetworkConfigReference.NetworkConfigReference),
ConfigOnly: Schema.Boolean,
// optional for docker list responses which omit it on some daemon versions
Containers: Schema.optional(
Schema.NullOr(Schema.Record(Schema.String, Schema.NullOr(NetworkEndpointResource.NetworkEndpointResource)))
),
Options: Schema.NullOr(Schema.Record(Schema.String, Schema.String)),
Labels: Schema.NullOr(Schema.Record(Schema.String, Schema.String)),
Peers: Schema.optional(Schema.NullOr(Schema.Array(Schema.NullOr(NetworkPeerInfo.NetworkPeerInfo)))),
Services: Schema.optional(
Schema.NullOr(Schema.Record(Schema.String, Schema.NullOr(NetworkServiceInfo.NetworkServiceInfo)))
),
},
{
identifier: "NetworkInspect",
title: "network.Inspect",
documentation: "https://pkg.go.dev/github.com/docker/docker@v28.4.0+incompatible/api/types/network#Inspect",
}
) {}