diff --git a/src/Docker.DotNet/Models/Actor.Generated.cs b/src/Docker.DotNet/Models/Actor.Generated.cs
index 6704d520..d108c49b 100644
--- a/src/Docker.DotNet/Models/Actor.Generated.cs
+++ b/src/Docker.DotNet/Models/Actor.Generated.cs
@@ -1,6 +1,13 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Actor describes something that generates events,
+ /// like a container, or a network, or a volume.
+ /// It has a defined name and a set of attributes.
+ /// The container attributes are its labels, other actors
+ /// can generate these attributes from other properties.
+ ///
public class Actor // (events.Actor)
{
[JsonPropertyName("ID")]
diff --git a/src/Docker.DotNet/Models/Annotations.Generated.cs b/src/Docker.DotNet/Models/Annotations.Generated.cs
index 3ef51fc6..272c1bce 100644
--- a/src/Docker.DotNet/Models/Annotations.Generated.cs
+++ b/src/Docker.DotNet/Models/Annotations.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Annotations represents how to describe an object.
+ ///
public class Annotations // (swarm.Annotations)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/AppArmorOpts.Generated.cs b/src/Docker.DotNet/Models/AppArmorOpts.Generated.cs
index 2a075c3b..c81cbd2a 100644
--- a/src/Docker.DotNet/Models/AppArmorOpts.Generated.cs
+++ b/src/Docker.DotNet/Models/AppArmorOpts.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// AppArmorOpts defines the options for configuring AppArmor on a swarm-managed
+ /// container. Currently, custom AppArmor profiles are not supported.
+ ///
public class AppArmorOpts // (swarm.AppArmorOpts)
{
[JsonPropertyName("Mode")]
diff --git a/src/Docker.DotNet/Models/AttestationProperties.Generated.cs b/src/Docker.DotNet/Models/AttestationProperties.Generated.cs
index bfe316d7..1d7f84a2 100644
--- a/src/Docker.DotNet/Models/AttestationProperties.Generated.cs
+++ b/src/Docker.DotNet/Models/AttestationProperties.Generated.cs
@@ -3,6 +3,9 @@ namespace Docker.DotNet.Models
{
public class AttestationProperties // (image.AttestationProperties)
{
+ ///
+ /// For is the digest of the image manifest that this attestation is for.
+ ///
[JsonPropertyName("For")]
public string For { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/AuthConfig.Generated.cs b/src/Docker.DotNet/Models/AuthConfig.Generated.cs
index 0d2059ec..1e7edf89 100644
--- a/src/Docker.DotNet/Models/AuthConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/AuthConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// AuthConfig contains authorization information for connecting to a Registry.
+ ///
public class AuthConfig // (registry.AuthConfig)
{
[JsonPropertyName("username")]
@@ -15,9 +18,16 @@ public class AuthConfig // (registry.AuthConfig)
[JsonPropertyName("serveraddress")]
public string? ServerAddress { get; set; }
+ ///
+ /// IdentityToken is used to authenticate the user and get
+ /// an access token for the registry.
+ ///
[JsonPropertyName("identitytoken")]
public string? IdentityToken { get; set; }
+ ///
+ /// RegistryToken is a bearer token to be sent to a registry
+ ///
[JsonPropertyName("registrytoken")]
public string? RegistryToken { get; set; }
}
diff --git a/src/Docker.DotNet/Models/AuthResponse.Generated.cs b/src/Docker.DotNet/Models/AuthResponse.Generated.cs
index d8bdc9da..5ca07162 100644
--- a/src/Docker.DotNet/Models/AuthResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/AuthResponse.Generated.cs
@@ -1,11 +1,25 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// AuthResponse An identity token was generated successfully.
+ ///
+ /// swagger:model AuthResponse
+ ///
public class AuthResponse // (registry.AuthResponse)
{
+ ///
+ /// An opaque token used to authenticate a user after a successful login
+ /// Example: 9cbaf023786cd7...
+ ///
[JsonPropertyName("IdentityToken")]
public string? IdentityToken { get; set; }
+ ///
+ /// The status of the authentication
+ /// Example: Login Succeeded
+ /// Required: true
+ ///
[JsonPropertyName("Status")]
public string Status { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/BindOptions.Generated.cs b/src/Docker.DotNet/Models/BindOptions.Generated.cs
index 6f193fb8..b9afbbeb 100644
--- a/src/Docker.DotNet/Models/BindOptions.Generated.cs
+++ b/src/Docker.DotNet/Models/BindOptions.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// BindOptions defines options specific to mounts of type "bind".
+ ///
public class BindOptions // (mount.BindOptions)
{
[JsonPropertyName("Propagation")]
@@ -12,9 +15,16 @@ public class BindOptions // (mount.BindOptions)
[JsonPropertyName("CreateMountpoint")]
public bool? CreateMountpoint { get; set; }
+ ///
+ /// ReadOnlyNonRecursive makes the mount non-recursively read-only, but still leaves the mount recursive
+ /// (unless NonRecursive is set to true in conjunction).
+ ///
[JsonPropertyName("ReadOnlyNonRecursive")]
public bool? ReadOnlyNonRecursive { get; set; }
+ ///
+ /// ReadOnlyForceRecursive raises an error if the mount cannot be made recursively read-only.
+ ///
[JsonPropertyName("ReadOnlyForceRecursive")]
public bool? ReadOnlyForceRecursive { get; set; }
}
diff --git a/src/Docker.DotNet/Models/BlkioStatEntry.Generated.cs b/src/Docker.DotNet/Models/BlkioStatEntry.Generated.cs
index 88c95f66..698ea2a0 100644
--- a/src/Docker.DotNet/Models/BlkioStatEntry.Generated.cs
+++ b/src/Docker.DotNet/Models/BlkioStatEntry.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// BlkioStatEntry is one small entity to store a piece of Blkio stats
+ /// Not used on Windows.
+ ///
public class BlkioStatEntry // (container.BlkioStatEntry)
{
[JsonPropertyName("major")]
diff --git a/src/Docker.DotNet/Models/BlkioStats.Generated.cs b/src/Docker.DotNet/Models/BlkioStats.Generated.cs
index 220bb9ba..5213823f 100644
--- a/src/Docker.DotNet/Models/BlkioStats.Generated.cs
+++ b/src/Docker.DotNet/Models/BlkioStats.Generated.cs
@@ -1,8 +1,17 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// BlkioStats stores All IO service stats for data read and write.
+ /// This is a Linux specific structure as the differences between expressing
+ /// block I/O on Windows and Linux are sufficiently significant to make
+ /// little sense attempting to morph into a combined structure.
+ ///
public class BlkioStats // (container.BlkioStats)
{
+ ///
+ /// number of bytes transferred to and from the block device
+ ///
[JsonPropertyName("io_service_bytes_recursive")]
public IList IoServiceBytesRecursive { get; set; } = default!;
diff --git a/src/Docker.DotNet/Models/CAConfig.Generated.cs b/src/Docker.DotNet/Models/CAConfig.Generated.cs
index 5b528984..ea9b83df 100644
--- a/src/Docker.DotNet/Models/CAConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/CAConfig.Generated.cs
@@ -1,20 +1,39 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CAConfig represents CA configuration.
+ ///
public class CAConfig // (swarm.CAConfig)
{
+ ///
+ /// NodeCertExpiry is the duration certificates should be issued for
+ ///
[JsonPropertyName("NodeCertExpiry")]
public long? NodeCertExpiry { get; set; }
+ ///
+ /// ExternalCAs is a list of CAs to which a manager node will make
+ /// certificate signing requests for node certificates.
+ ///
[JsonPropertyName("ExternalCAs")]
public IList? ExternalCAs { get; set; }
+ ///
+ /// SigningCACert and SigningCAKey specify the desired signing root CA and
+ /// root CA key for the swarm. When inspecting the cluster, the key will
+ /// be redacted.
+ ///
[JsonPropertyName("SigningCACert")]
public string? SigningCACert { get; set; }
[JsonPropertyName("SigningCAKey")]
public string? SigningCAKey { get; set; }
+ ///
+ /// If this value changes, and there is no specified signing cert and key,
+ /// then the swarm is forced to generate a new root certificate and key.
+ ///
[JsonPropertyName("ForceRotate")]
public ulong? ForceRotate { get; set; }
}
diff --git a/src/Docker.DotNet/Models/CPUStats.Generated.cs b/src/Docker.DotNet/Models/CPUStats.Generated.cs
index d955b0ba..c46fad8c 100644
--- a/src/Docker.DotNet/Models/CPUStats.Generated.cs
+++ b/src/Docker.DotNet/Models/CPUStats.Generated.cs
@@ -1,17 +1,32 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CPUStats aggregates and wraps all CPU related info of container
+ ///
public class CPUStats // (container.CPUStats)
{
+ ///
+ /// CPU Usage. Linux and Windows.
+ ///
[JsonPropertyName("cpu_usage")]
public CPUUsage CPUUsage { get; set; } = default!;
+ ///
+ /// System Usage. Linux only.
+ ///
[JsonPropertyName("system_cpu_usage")]
public ulong? SystemUsage { get; set; }
+ ///
+ /// Online CPUs. Linux only.
+ ///
[JsonPropertyName("online_cpus")]
public uint? OnlineCPUs { get; set; }
+ ///
+ /// Throttling Data. Linux only.
+ ///
[JsonPropertyName("throttling_data")]
public ThrottlingData? ThrottlingData { get; set; }
}
diff --git a/src/Docker.DotNet/Models/CPUUsage.Generated.cs b/src/Docker.DotNet/Models/CPUUsage.Generated.cs
index 57e3f0e4..10901f6b 100644
--- a/src/Docker.DotNet/Models/CPUUsage.Generated.cs
+++ b/src/Docker.DotNet/Models/CPUUsage.Generated.cs
@@ -1,17 +1,41 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CPUUsage stores All CPU stats aggregated since container inception.
+ ///
public class CPUUsage // (container.CPUUsage)
{
+ ///
+ /// Total CPU time consumed.
+ /// Units: nanoseconds (Linux)
+ /// Units: 100's of nanoseconds (Windows)
+ ///
[JsonPropertyName("total_usage")]
public ulong TotalUsage { get; set; } = default!;
+ ///
+ /// Total CPU time consumed per core (Linux). Not used on Windows.
+ /// Units: nanoseconds.
+ ///
[JsonPropertyName("percpu_usage")]
public IList? PercpuUsage { get; set; }
+ ///
+ /// Time spent by tasks of the cgroup in kernel mode (Linux).
+ /// Time spent by all container processes in kernel mode (Windows).
+ /// Units: nanoseconds (Linux).
+ /// Units: 100's of nanoseconds (Windows). Not populated for Hyper-V Containers.
+ ///
[JsonPropertyName("usage_in_kernelmode")]
public ulong UsageInKernelmode { get; set; } = default!;
+ ///
+ /// Time spent by tasks of the cgroup in user mode (Linux).
+ /// Time spent by all container processes in user mode (Windows).
+ /// Units: nanoseconds (Linux).
+ /// Units: 100's of nanoseconds (Windows). Not populated for Hyper-V Containers
+ ///
[JsonPropertyName("usage_in_usermode")]
public ulong UsageInUsermode { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/CapacityRange.Generated.cs b/src/Docker.DotNet/Models/CapacityRange.Generated.cs
index 3b713a35..8bb62e2f 100644
--- a/src/Docker.DotNet/Models/CapacityRange.Generated.cs
+++ b/src/Docker.DotNet/Models/CapacityRange.Generated.cs
@@ -1,11 +1,23 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CapacityRange describes the minimum and maximum capacity a volume should be
+ /// created with
+ ///
public class CapacityRange // (volume.CapacityRange)
{
+ ///
+ /// RequiredBytes specifies that a volume must be at least this big. The
+ /// value of 0 indicates an unspecified minimum.
+ ///
[JsonPropertyName("RequiredBytes")]
public long RequiredBytes { get; set; } = default!;
+ ///
+ /// LimitBytes specifies that a volume must not be bigger than this. The
+ /// value of 0 indicates an unspecified maximum
+ ///
[JsonPropertyName("LimitBytes")]
public long LimitBytes { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ClusterInfo.Generated.cs b/src/Docker.DotNet/Models/ClusterInfo.Generated.cs
index 541cbdb9..a329dbf8 100644
--- a/src/Docker.DotNet/Models/ClusterInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/ClusterInfo.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ClusterInfo represents info about the cluster for outputting in "info"
+ /// it contains the same information as "Swarm", but without the JoinTokens
+ ///
public class ClusterInfo // (swarm.ClusterInfo)
{
public ClusterInfo()
diff --git a/src/Docker.DotNet/Models/ClusterOptions.Generated.cs b/src/Docker.DotNet/Models/ClusterOptions.Generated.cs
index b85361a4..953551eb 100644
--- a/src/Docker.DotNet/Models/ClusterOptions.Generated.cs
+++ b/src/Docker.DotNet/Models/ClusterOptions.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ClusterOptions specifies options for a Cluster volume.
+ ///
public class ClusterOptions // (mount.ClusterOptions)
{
}
diff --git a/src/Docker.DotNet/Models/ClusterVolume.Generated.cs b/src/Docker.DotNet/Models/ClusterVolume.Generated.cs
index 300630af..7fb5904f 100644
--- a/src/Docker.DotNet/Models/ClusterVolume.Generated.cs
+++ b/src/Docker.DotNet/Models/ClusterVolume.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ClusterVolume contains options and information specific to, and only present
+ /// on, Swarm CSI cluster volumes.
+ ///
public class ClusterVolume // (volume.ClusterVolume)
{
public ClusterVolume()
@@ -17,6 +21,11 @@ public ClusterVolume(Meta Meta)
}
}
+ ///
+ /// ID is the Swarm ID of the volume. Because cluster volumes are Swarm
+ /// objects, they have an ID, unlike non-cluster volumes, which only have a
+ /// Name. This ID can be used to refer to the cluster volume.
+ ///
[JsonPropertyName("ID")]
public string ID { get; set; } = default!;
@@ -29,12 +38,22 @@ public ClusterVolume(Meta Meta)
[JsonPropertyName("UpdatedAt")]
public DateTime? UpdatedAt { get; set; }
+ ///
+ /// Spec is the cluster-specific options from which this volume is derived.
+ ///
[JsonPropertyName("Spec")]
public ClusterVolumeSpec Spec { get; set; } = default!;
+ ///
+ /// PublishStatus contains the status of the volume as it pertains to its
+ /// publishing on Nodes.
+ ///
[JsonPropertyName("PublishStatus")]
public IList? PublishStatus { get; set; }
+ ///
+ /// Info is information about the global status of the volume.
+ ///
[JsonPropertyName("Info")]
public VolumeInfo? Info { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ClusterVolumeSpec.Generated.cs b/src/Docker.DotNet/Models/ClusterVolumeSpec.Generated.cs
index 2c7dd222..d27cff97 100644
--- a/src/Docker.DotNet/Models/ClusterVolumeSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/ClusterVolumeSpec.Generated.cs
@@ -1,23 +1,62 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ClusterVolumeSpec contains the spec used to create this volume.
+ ///
public class ClusterVolumeSpec // (volume.ClusterVolumeSpec)
{
+ ///
+ /// Group defines the volume group of this volume. Volumes belonging to the
+ /// same group can be referred to by group name when creating Services.
+ /// Referring to a volume by group instructs swarm to treat volumes in that
+ /// group interchangeably for the purpose of scheduling. Volumes with an
+ /// empty string for a group technically all belong to the same, emptystring
+ /// group.
+ ///
[JsonPropertyName("Group")]
public string? Group { get; set; }
+ ///
+ /// AccessMode defines how the volume is used by tasks.
+ ///
[JsonPropertyName("AccessMode")]
public VolumeAccessMode? AccessMode { get; set; }
+ ///
+ /// AccessibilityRequirements specifies where in the cluster a volume must
+ /// be accessible from.
+ ///
+ /// This field must be empty if the plugin does not support
+ /// VOLUME_ACCESSIBILITY_CONSTRAINTS capabilities. If it is present but the
+ /// plugin does not support it, volume will not be created.
+ ///
+ /// If AccessibilityRequirements is empty, but the plugin does support
+ /// VOLUME_ACCESSIBILITY_CONSTRAINTS, then Swarmkit will assume the entire
+ /// cluster is a valid target for the volume.
+ ///
[JsonPropertyName("AccessibilityRequirements")]
public TopologyRequirement? AccessibilityRequirements { get; set; }
+ ///
+ /// CapacityRange defines the desired capacity that the volume should be
+ /// created with. If nil, the plugin will decide the capacity.
+ ///
[JsonPropertyName("CapacityRange")]
public CapacityRange? CapacityRange { get; set; }
+ ///
+ /// Secrets defines Swarm Secrets that are passed to the CSI storage plugin
+ /// when operating on this volume.
+ ///
[JsonPropertyName("Secrets")]
public IList? Secrets { get; set; }
+ ///
+ /// Availability is the Volume's desired availability. Analogous to Node
+ /// Availability, this allows the user to take volumes offline in order to
+ /// update or delete them.
+ ///
[JsonPropertyName("Availability")]
public string? Availability { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Commit.Generated.cs b/src/Docker.DotNet/Models/Commit.Generated.cs
index 1f947adb..fa81eeac 100644
--- a/src/Docker.DotNet/Models/Commit.Generated.cs
+++ b/src/Docker.DotNet/Models/Commit.Generated.cs
@@ -1,8 +1,15 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Commit holds the Git-commit (SHA1) that a binary was built from, as reported
+ /// in the version-string of external tools, such as containerd, or runC.
+ ///
public class Commit // (system.Commit)
{
+ ///
+ /// ID is the actual commit ID or version of external tool.
+ ///
[JsonPropertyName("ID")]
public string ID { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ComponentVersion.Generated.cs b/src/Docker.DotNet/Models/ComponentVersion.Generated.cs
index bb818a13..1579e6b9 100644
--- a/src/Docker.DotNet/Models/ComponentVersion.Generated.cs
+++ b/src/Docker.DotNet/Models/ComponentVersion.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ComponentVersion describes the version information for a specific component.
+ ///
public class ComponentVersion // (system.ComponentVersion)
{
[JsonPropertyName("Name")]
@@ -9,6 +12,14 @@ public class ComponentVersion // (system.ComponentVersion)
[JsonPropertyName("Version")]
public string Version { get; set; } = default!;
+ ///
+ /// Details contains Key/value pairs of strings with additional information
+ /// about the component. These values are intended for informational purposes
+ /// only, and their content is not defined, and not part of the API
+ /// specification.
+ ///
+ /// These messages can be printed by the client as information to the user.
+ ///
[JsonPropertyName("Details")]
public IDictionary? Details { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ConfigReference.Generated.cs b/src/Docker.DotNet/Models/ConfigReference.Generated.cs
index 59370350..159a85b3 100644
--- a/src/Docker.DotNet/Models/ConfigReference.Generated.cs
+++ b/src/Docker.DotNet/Models/ConfigReference.Generated.cs
@@ -1,8 +1,21 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ConfigReference The config-only network source to provide the configuration for
+ /// this network.
+ ///
+ /// swagger:model ConfigReference
+ ///
public class ConfigReference // (network.ConfigReference)
{
+ ///
+ /// The name of the config-only network that provides the network's
+ /// configuration. The specified network must be an existing config-only
+ /// network. Only network names are allowed, not network IDs.
+ ///
+ /// Example: config_only_network_01
+ ///
[JsonPropertyName("Network")]
public string Network { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ConfigReferenceFileTarget.Generated.cs b/src/Docker.DotNet/Models/ConfigReferenceFileTarget.Generated.cs
index 43edc6fb..b23b3120 100644
--- a/src/Docker.DotNet/Models/ConfigReferenceFileTarget.Generated.cs
+++ b/src/Docker.DotNet/Models/ConfigReferenceFileTarget.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ConfigReferenceFileTarget is a file target in a config reference
+ ///
public class ConfigReferenceFileTarget // (swarm.ConfigReferenceFileTarget)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/ConfigReferenceRuntimeTarget.Generated.cs b/src/Docker.DotNet/Models/ConfigReferenceRuntimeTarget.Generated.cs
index 7dbb0b8b..f44024dd 100644
--- a/src/Docker.DotNet/Models/ConfigReferenceRuntimeTarget.Generated.cs
+++ b/src/Docker.DotNet/Models/ConfigReferenceRuntimeTarget.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ConfigReferenceRuntimeTarget is a target for a config specifying that it
+ /// isn't mounted into the container but instead has some other purpose.
+ ///
public class ConfigReferenceRuntimeTarget // (swarm.ConfigReferenceRuntimeTarget)
{
}
diff --git a/src/Docker.DotNet/Models/ContainerConfig.Generated.cs b/src/Docker.DotNet/Models/ContainerConfig.Generated.cs
index 30171446..cd5f80c4 100644
--- a/src/Docker.DotNet/Models/ContainerConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerConfig.Generated.cs
@@ -1,6 +1,14 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Config contains the configuration data about a container.
+ /// It should hold only portable information about the container.
+ /// Here, "portable" means "independent from the host we are running on".
+ /// Non-portable information *should* appear in HostConfig.
+ /// All fields added to this struct must be marked `omitempty` to keep getting
+ /// predictable hashes from the old `v1Compatibility` configuration.
+ ///
public class ContainerConfig // (container.Config)
{
[JsonPropertyName("Hostname")]
diff --git a/src/Docker.DotNet/Models/ContainerExecInspectResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerExecInspectResponse.Generated.cs
index 4cc25646..6db57012 100644
--- a/src/Docker.DotNet/Models/ContainerExecInspectResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerExecInspectResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ExecInspectResponse is the API response for the "GET /exec/{id}/json"
+ /// endpoint and holds information about and exec.
+ ///
public class ContainerExecInspectResponse // (container.ExecInspectResponse)
{
[JsonPropertyName("ID")]
diff --git a/src/Docker.DotNet/Models/ContainerFileSystemChangeResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerFileSystemChangeResponse.Generated.cs
index 13b56aed..a633ea04 100644
--- a/src/Docker.DotNet/Models/ContainerFileSystemChangeResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerFileSystemChangeResponse.Generated.cs
@@ -1,11 +1,25 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// FilesystemChange Change in the container's filesystem.
+ ///
+ /// swagger:model FilesystemChange
+ ///
public class ContainerFileSystemChangeResponse // (container.FilesystemChange)
{
+ ///
+ /// kind
+ /// Required: true
+ ///
[JsonPropertyName("Kind")]
public FileSystemChangeKind Kind { get; set; } = default!;
+ ///
+ /// Path to file or directory that has changed.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Path")]
public string Path { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ContainerInspectResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerInspectResponse.Generated.cs
index 1c1fb53f..f87cb597 100644
--- a/src/Docker.DotNet/Models/ContainerInspectResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerInspectResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// InspectResponse is the response for the GET "/containers/{name:.*}/json"
+ /// endpoint.
+ ///
public class ContainerInspectResponse // (container.InspectResponse)
{
[JsonPropertyName("Id")]
@@ -60,9 +64,15 @@ public class ContainerInspectResponse // (container.InspectResponse)
[JsonPropertyName("HostConfig")]
public HostConfig? HostConfig { get; set; }
+ ///
+ /// GraphDriver contains information about the container's graph driver.
+ ///
[JsonPropertyName("GraphDriver")]
public DriverData? GraphDriver { get; set; }
+ ///
+ /// Storage contains information about the storage used for the container's filesystem.
+ ///
[JsonPropertyName("Storage")]
public Storage? Storage { get; set; }
@@ -81,6 +91,9 @@ public class ContainerInspectResponse // (container.InspectResponse)
[JsonPropertyName("NetworkSettings")]
public NetworkSettings? NetworkSettings { get; set; }
+ ///
+ /// ImageManifestDescriptor is the descriptor of a platform-specific manifest of the image used to create the container.
+ ///
[JsonPropertyName("ImageManifestDescriptor")]
public Descriptor? ImageManifestDescriptor { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ContainerListResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerListResponse.Generated.cs
index 1c3f51b5..bbf69ac4 100644
--- a/src/Docker.DotNet/Models/ContainerListResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerListResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Summary contains response of Engine API:
+ /// GET "/containers/json"
+ ///
public class ContainerListResponse // (container.Summary)
{
[JsonPropertyName("Id")]
diff --git a/src/Docker.DotNet/Models/ContainerPathStatResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerPathStatResponse.Generated.cs
index 64f86cf0..f78ca1e7 100644
--- a/src/Docker.DotNet/Models/ContainerPathStatResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerPathStatResponse.Generated.cs
@@ -1,6 +1,11 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PathStat is used to encode the header from
+ /// GET "/containers/{name:.*}/archive"
+ /// "Name" is the file or directory name.
+ ///
public class ContainerPathStatResponse // (container.PathStat)
{
[JsonPropertyName("name")]
diff --git a/src/Docker.DotNet/Models/ContainerProcessesResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerProcessesResponse.Generated.cs
index 1a77f04b..3c4f1940 100644
--- a/src/Docker.DotNet/Models/ContainerProcessesResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerProcessesResponse.Generated.cs
@@ -1,11 +1,27 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TopResponse ContainerTopResponse
+ ///
+ /// Container "top" response.
+ ///
+ /// swagger:model TopResponse
+ ///
public class ContainerProcessesResponse // (container.TopResponse)
{
+ ///
+ /// Each process running in the container, where each process
+ /// is an array of values corresponding to the titles.
+ /// Example: {"Processes":[["root","13642","882","0","17:03","pts/0","00:00:00","/bin/bash"],["root","13735","13642","0","17:06","pts/0","00:00:00","sleep 10"]]}
+ ///
[JsonPropertyName("Processes")]
public IList> Processes { get; set; } = default!;
+ ///
+ /// The ps column titles
+ /// Example: {"Titles":["UID","PID","PPID","C","STIME","TTY","TIME","CMD"]}
+ ///
[JsonPropertyName("Titles")]
public IList Titles { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ContainerSpec.Generated.cs b/src/Docker.DotNet/Models/ContainerSpec.Generated.cs
index 6a365f26..acfe0d2d 100644
--- a/src/Docker.DotNet/Models/ContainerSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ContainerSpec represents the spec of a container.
+ ///
public class ContainerSpec // (swarm.ContainerSpec)
{
[JsonPropertyName("Image")]
@@ -57,6 +60,11 @@ public class ContainerSpec // (swarm.ContainerSpec)
[JsonPropertyName("Healthcheck")]
public HealthcheckConfig? Healthcheck { get; set; }
+ ///
+ /// The format of extra hosts on swarmkit is specified in:
+ /// http://man7.org/linux/man-pages/man5/hosts.5.html
+ /// IP_address canonical_hostname [aliases...]
+ ///
[JsonPropertyName("Hosts")]
public IList? Hosts { get; set; }
diff --git a/src/Docker.DotNet/Models/ContainerStatsResponse.Generated.cs b/src/Docker.DotNet/Models/ContainerStatsResponse.Generated.cs
index dd1f5117..4c9d91f4 100644
--- a/src/Docker.DotNet/Models/ContainerStatsResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerStatsResponse.Generated.cs
@@ -1,44 +1,107 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// StatsResponse aggregates all types of stats of one container.
+ ///
public class ContainerStatsResponse // (container.StatsResponse)
{
+ ///
+ /// ID is the ID of the container for which the stats were collected.
+ ///
[JsonPropertyName("id")]
public string? ID { get; set; }
+ ///
+ /// Name is the name of the container for which the stats were collected.
+ ///
[JsonPropertyName("name")]
public string? Name { get; set; }
+ ///
+ /// OSType is the OS of the container ("linux" or "windows") to allow
+ /// platform-specific handling of stats.
+ ///
[JsonPropertyName("os_type")]
public string? OSType { get; set; }
+ ///
+ /// Read is the date and time at which this sample was collected.
+ ///
[JsonPropertyName("read")]
public DateTime Read { get; set; } = default!;
+ ///
+ /// CPUStats contains CPU related info of the container.
+ ///
[JsonPropertyName("cpu_stats")]
public CPUStats? CPUStats { get; set; }
+ ///
+ /// MemoryStats aggregates all memory stats since container inception on Linux.
+ /// Windows returns stats for commit and private working set only.
+ ///
[JsonPropertyName("memory_stats")]
public MemoryStats? MemoryStats { get; set; }
+ ///
+ /// Networks contains Nntwork statistics for the container per interface.
+ ///
+ /// This field is omitted if the container has no networking enabled.
+ ///
[JsonPropertyName("networks")]
public IDictionary? Networks { get; set; }
+ ///
+ /// PidsStats contains Linux-specific stats of a container's process-IDs (PIDs).
+ ///
+ /// This field is Linux-specific and omitted for Windows containers.
+ ///
[JsonPropertyName("pids_stats")]
public PidsStats? PidsStats { get; set; }
+ ///
+ /// BlkioStats stores all IO service stats for data read and write.
+ ///
+ /// This type is Linux-specific and holds many fields that are specific
+ /// to cgroups v1.
+ ///
+ /// On a cgroup v2 host, all fields other than "io_service_bytes_recursive"
+ /// are omitted or "null".
+ ///
+ /// This type is only populated on Linux and omitted for Windows containers.
+ ///
[JsonPropertyName("blkio_stats")]
public BlkioStats? BlkioStats { get; set; }
+ ///
+ /// NumProcs is the number of processors on the system.
+ ///
+ /// This field is Windows-specific and always zero for Linux containers.
+ ///
[JsonPropertyName("num_procs")]
public uint NumProcs { get; set; } = default!;
+ ///
+ /// StorageStats is the disk I/O stats for read/write on Windows.
+ ///
+ /// This type is Windows-specific and omitted for Linux containers.
+ ///
[JsonPropertyName("storage_stats")]
public StorageStats? StorageStats { get; set; }
+ ///
+ /// PreRead is the date and time at which this first sample was collected.
+ /// This field is not propagated if the "one-shot" option is set. If the
+ /// "one-shot" option is set, this field may be omitted, empty, or set
+ /// to a default date (`0001-01-01T00:00:00Z`).
+ ///
[JsonPropertyName("preread")]
public DateTime PreRead { get; set; } = default!;
+ ///
+ /// PreCPUStats contains the CPUStats of the previous sample.
+ ///
[JsonPropertyName("precpu_stats")]
public CPUStats? PreCPUStats { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ContainerStatus.Generated.cs b/src/Docker.DotNet/Models/ContainerStatus.Generated.cs
index 77a54d49..16da8f43 100644
--- a/src/Docker.DotNet/Models/ContainerStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerStatus.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ContainerStatus represents the status of a container.
+ ///
public class ContainerStatus // (swarm.ContainerStatus)
{
[JsonPropertyName("ContainerID")]
diff --git a/src/Docker.DotNet/Models/ContainerUpdateParameters.Generated.cs b/src/Docker.DotNet/Models/ContainerUpdateParameters.Generated.cs
index 7b411c8c..d5a5814b 100644
--- a/src/Docker.DotNet/Models/ContainerUpdateParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerUpdateParameters.Generated.cs
@@ -44,6 +44,9 @@ public ContainerUpdateParameters(UpdateConfig UpdateConfig)
}
}
+ ///
+ /// Applicable to all platforms
+ ///
[JsonPropertyName("CpuShares")]
public long CPUShares { get; set; } = default!;
@@ -53,6 +56,9 @@ public ContainerUpdateParameters(UpdateConfig UpdateConfig)
[JsonPropertyName("NanoCpus")]
public long NanoCPUs { get; set; } = default!;
+ ///
+ /// Applicable to UNIX platforms
+ ///
[JsonPropertyName("CgroupParent")]
public string CgroupParent { get; set; } = default!;
@@ -119,6 +125,9 @@ public ContainerUpdateParameters(UpdateConfig UpdateConfig)
[JsonPropertyName("Ulimits")]
public IList Ulimits { get; set; } = default!;
+ ///
+ /// Applicable to Windows
+ ///
[JsonPropertyName("CpuCount")]
public long CPUCount { get; set; } = default!;
diff --git a/src/Docker.DotNet/Models/ContainerdInfo.Generated.cs b/src/Docker.DotNet/Models/ContainerdInfo.Generated.cs
index ae7892e7..2870d8e2 100644
--- a/src/Docker.DotNet/Models/ContainerdInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerdInfo.Generated.cs
@@ -1,11 +1,20 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ContainerdInfo holds information about the containerd instance used by the daemon.
+ ///
public class ContainerdInfo // (system.ContainerdInfo)
{
+ ///
+ /// Address is the path to the containerd socket.
+ ///
[JsonPropertyName("Address")]
public string? Address { get; set; }
+ ///
+ /// Namespaces is the containerd namespaces used by the daemon.
+ ///
[JsonPropertyName("Namespaces")]
public ContainerdNamespaces Namespaces { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ContainerdNamespaces.Generated.cs b/src/Docker.DotNet/Models/ContainerdNamespaces.Generated.cs
index 15102d62..e1323c3a 100644
--- a/src/Docker.DotNet/Models/ContainerdNamespaces.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainerdNamespaces.Generated.cs
@@ -1,11 +1,40 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ContainerdNamespaces reflects the containerd namespaces used by the daemon.
+ ///
+ /// These namespaces can be configured in the daemon configuration, and are
+ /// considered to be used exclusively by the daemon,
+ ///
+ /// As these namespaces are considered to be exclusively accessed
+ /// by the daemon, it is not recommended to change these values,
+ /// or to change them to a value that is used by other systems,
+ /// such as cri-containerd.
+ ///
public class ContainerdNamespaces // (system.ContainerdNamespaces)
{
+ ///
+ /// Containers holds the default containerd namespace used for
+ /// containers managed by the daemon.
+ ///
+ /// The default namespace for containers is "moby", but will be
+ /// suffixed with the `<uid>.<gid>` of the remapped `root` if
+ /// user-namespaces are enabled and the containerd image-store
+ /// is used.
+ ///
[JsonPropertyName("Containers")]
public string Containers { get; set; } = default!;
+ ///
+ /// Plugins holds the default containerd namespace used for
+ /// plugins managed by the daemon.
+ ///
+ /// The default namespace for plugins is "moby", but will be
+ /// suffixed with the `<uid>.<gid>` of the remapped `root` if
+ /// user-namespaces are enabled and the containerd image-store
+ /// is used.
+ ///
[JsonPropertyName("Plugins")]
public string Plugins { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ContainersPruneResponse.Generated.cs b/src/Docker.DotNet/Models/ContainersPruneResponse.Generated.cs
index cfcd6d27..2ed63e0a 100644
--- a/src/Docker.DotNet/Models/ContainersPruneResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ContainersPruneResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PruneReport contains the response for Engine API:
+ /// POST "/containers/prune"
+ ///
public class ContainersPruneResponse // (container.PruneReport)
{
[JsonPropertyName("ContainersDeleted")]
diff --git a/src/Docker.DotNet/Models/CreateContainerResponse.Generated.cs b/src/Docker.DotNet/Models/CreateContainerResponse.Generated.cs
index 94b69b10..8ce8f2b1 100644
--- a/src/Docker.DotNet/Models/CreateContainerResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/CreateContainerResponse.Generated.cs
@@ -1,11 +1,28 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CreateResponse ContainerCreateResponse
+ ///
+ /// # OK response to ContainerCreate operation
+ ///
+ /// swagger:model CreateResponse
+ ///
public class CreateContainerResponse // (container.CreateResponse)
{
+ ///
+ /// The ID of the created container
+ /// Example: ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743
+ /// Required: true
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// Warnings encountered when creating the container
+ /// Example: []
+ /// Required: true
+ ///
[JsonPropertyName("Warnings")]
public IList Warnings { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/CredentialSpec.Generated.cs b/src/Docker.DotNet/Models/CredentialSpec.Generated.cs
index 1c0610b8..49f787d3 100644
--- a/src/Docker.DotNet/Models/CredentialSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/CredentialSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CredentialSpec for managed service account (Windows only)
+ ///
public class CredentialSpec // (swarm.CredentialSpec)
{
[JsonPropertyName("Config")]
diff --git a/src/Docker.DotNet/Models/DNSConfig.Generated.cs b/src/Docker.DotNet/Models/DNSConfig.Generated.cs
index cfca8cea..846d0dae 100644
--- a/src/Docker.DotNet/Models/DNSConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/DNSConfig.Generated.cs
@@ -1,14 +1,30 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DNSConfig specifies DNS related configurations in resolver configuration file (resolv.conf)
+ /// Detailed documentation is available in:
+ /// http://man7.org/linux/man-pages/man5/resolv.conf.5.html
+ /// `nameserver`, `search`, `options` have been supported.
+ /// TODO: `domain` is not supported yet.
+ ///
public class DNSConfig // (swarm.DNSConfig)
{
+ ///
+ /// Nameservers specifies the IP addresses of the name servers
+ ///
[JsonPropertyName("Nameservers")]
public IList? Nameservers { get; set; }
+ ///
+ /// Search specifies the search list for host-name lookup
+ ///
[JsonPropertyName("Search")]
public IList? Search { get; set; }
+ ///
+ /// Options allows certain internal resolver variables to be modified
+ ///
[JsonPropertyName("Options")]
public IList? Options { get; set; }
}
diff --git a/src/Docker.DotNet/Models/DeviceInfo.Generated.cs b/src/Docker.DotNet/Models/DeviceInfo.Generated.cs
index f6850b5d..62438f90 100644
--- a/src/Docker.DotNet/Models/DeviceInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/DeviceInfo.Generated.cs
@@ -1,11 +1,21 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DeviceInfo represents a discoverable device from a device driver.
+ ///
public class DeviceInfo // (system.DeviceInfo)
{
+ ///
+ /// Source indicates the origin device driver.
+ ///
[JsonPropertyName("Source")]
public string Source { get; set; } = default!;
+ ///
+ /// ID is the unique identifier for the device.
+ /// Example: CDI FQDN like "vendor.com/gpu=0", or other driver-specific device ID
+ ///
[JsonPropertyName("ID")]
public string ID { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/DeviceMapping.Generated.cs b/src/Docker.DotNet/Models/DeviceMapping.Generated.cs
index f82df0ac..6a23d9ca 100644
--- a/src/Docker.DotNet/Models/DeviceMapping.Generated.cs
+++ b/src/Docker.DotNet/Models/DeviceMapping.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DeviceMapping represents the device mapping between the host and the container.
+ ///
public class DeviceMapping // (container.DeviceMapping)
{
[JsonPropertyName("PathOnHost")]
diff --git a/src/Docker.DotNet/Models/DeviceRequest.Generated.cs b/src/Docker.DotNet/Models/DeviceRequest.Generated.cs
index 30d8650b..a999eadc 100644
--- a/src/Docker.DotNet/Models/DeviceRequest.Generated.cs
+++ b/src/Docker.DotNet/Models/DeviceRequest.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DeviceRequest represents a request for devices from a device driver.
+ /// Used by GPU device drivers.
+ ///
public class DeviceRequest // (container.DeviceRequest)
{
[JsonPropertyName("Driver")]
diff --git a/src/Docker.DotNet/Models/DiscreteGenericResource.Generated.cs b/src/Docker.DotNet/Models/DiscreteGenericResource.Generated.cs
index fed998c4..6988c297 100644
--- a/src/Docker.DotNet/Models/DiscreteGenericResource.Generated.cs
+++ b/src/Docker.DotNet/Models/DiscreteGenericResource.Generated.cs
@@ -1,6 +1,12 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DiscreteGenericResource represents a "user defined" resource which is defined
+ /// as an integer
+ /// "Kind" is used to describe the Kind of a resource (e.g: "GPU", "FPGA", "SSD", ...)
+ /// Value is used to count the resource (SSD=5, HDD=3, ...)
+ ///
public class DiscreteGenericResource // (swarm.DiscreteGenericResource)
{
[JsonPropertyName("Kind")]
diff --git a/src/Docker.DotNet/Models/DispatcherConfig.Generated.cs b/src/Docker.DotNet/Models/DispatcherConfig.Generated.cs
index edfb8ce5..b1e92909 100644
--- a/src/Docker.DotNet/Models/DispatcherConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/DispatcherConfig.Generated.cs
@@ -1,8 +1,15 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DispatcherConfig represents dispatcher configuration.
+ ///
public class DispatcherConfig // (swarm.DispatcherConfig)
{
+ ///
+ /// HeartbeatPeriod defines how often agent should send heartbeats to
+ /// dispatcher.
+ ///
[JsonPropertyName("HeartbeatPeriod")]
public long? HeartbeatPeriod { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Driver.Generated.cs b/src/Docker.DotNet/Models/Driver.Generated.cs
index ead43844..53c4dc39 100644
--- a/src/Docker.DotNet/Models/Driver.Generated.cs
+++ b/src/Docker.DotNet/Models/Driver.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Driver represents a volume driver.
+ ///
public class Driver // (mount.Driver)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/DriverData.Generated.cs b/src/Docker.DotNet/Models/DriverData.Generated.cs
index f2e6a430..86ca6034 100644
--- a/src/Docker.DotNet/Models/DriverData.Generated.cs
+++ b/src/Docker.DotNet/Models/DriverData.Generated.cs
@@ -1,11 +1,31 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DriverData Information about the storage driver used to store the container's and
+ /// image's filesystem.
+ ///
+ /// swagger:model DriverData
+ ///
public class DriverData // (storage.DriverData)
{
+ ///
+ /// Low-level storage metadata, provided as key/value pairs.
+ ///
+ /// This information is driver-specific, and depends on the storage-driver
+ /// in use, and should be used for informational purposes only.
+ ///
+ /// Example: {"MergedDir":"/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/merged","UpperDir":"/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/diff","WorkDir":"/var/lib/docker/overlay2/ef749362d13333e65fc95c572eb525abbe0052e16e086cb64bc3b98ae9aa6d74/work"}
+ /// Required: true
+ ///
[JsonPropertyName("Data")]
public IDictionary Data { get; set; } = default!;
+ ///
+ /// Name of the storage driver.
+ /// Example: overlay2
+ /// Required: true
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/EncryptionConfig.Generated.cs b/src/Docker.DotNet/Models/EncryptionConfig.Generated.cs
index b8d6a593..81012678 100644
--- a/src/Docker.DotNet/Models/EncryptionConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/EncryptionConfig.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EncryptionConfig controls at-rest encryption of data and keys.
+ ///
public class EncryptionConfig // (swarm.EncryptionConfig)
{
+ ///
+ /// AutoLockManagers specifies whether or not managers TLS keys and raft data
+ /// should be encrypted at rest in such a way that they must be unlocked
+ /// before the manager node starts up again.
+ ///
[JsonPropertyName("AutoLockManagers")]
public bool AutoLockManagers { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Endpoint.Generated.cs b/src/Docker.DotNet/Models/Endpoint.Generated.cs
index 63278c90..30e94bbd 100644
--- a/src/Docker.DotNet/Models/Endpoint.Generated.cs
+++ b/src/Docker.DotNet/Models/Endpoint.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Endpoint represents an endpoint.
+ ///
public class Endpoint // (swarm.Endpoint)
{
[JsonPropertyName("Spec")]
diff --git a/src/Docker.DotNet/Models/EndpointIPAMConfig.Generated.cs b/src/Docker.DotNet/Models/EndpointIPAMConfig.Generated.cs
index 8a2e2afa..8e565e17 100644
--- a/src/Docker.DotNet/Models/EndpointIPAMConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/EndpointIPAMConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EndpointIPAMConfig represents IPAM configurations for the endpoint
+ ///
public class EndpointIPAMConfig // (network.EndpointIPAMConfig)
{
[JsonPropertyName("IPv4Address")]
diff --git a/src/Docker.DotNet/Models/EndpointResource.Generated.cs b/src/Docker.DotNet/Models/EndpointResource.Generated.cs
index 54a47c8c..61b66103 100644
--- a/src/Docker.DotNet/Models/EndpointResource.Generated.cs
+++ b/src/Docker.DotNet/Models/EndpointResource.Generated.cs
@@ -1,20 +1,44 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EndpointResource contains network resources allocated and used for a container in a network.
+ ///
+ /// swagger:model EndpointResource
+ ///
public class EndpointResource // (network.EndpointResource)
{
+ ///
+ /// name
+ /// Example: container_1
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// endpoint ID
+ /// Example: 628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a
+ ///
[JsonPropertyName("EndpointID")]
public string EndpointID { get; set; } = default!;
+ ///
+ /// mac address
+ /// Example: 02:42:ac:13:00:02
+ ///
[JsonPropertyName("MacAddress")]
public string MacAddress { get; set; } = default!;
+ ///
+ /// IPv4 address
+ /// Example: 172.19.0.2/16
+ ///
[JsonPropertyName("IPv4Address")]
public string IPv4Address { get; set; } = default!;
+ ///
+ /// IPv6 address
+ ///
[JsonPropertyName("IPv6Address")]
public string IPv6Address { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/EndpointSettings.Generated.cs b/src/Docker.DotNet/Models/EndpointSettings.Generated.cs
index c2a4fea2..414ca14c 100644
--- a/src/Docker.DotNet/Models/EndpointSettings.Generated.cs
+++ b/src/Docker.DotNet/Models/EndpointSettings.Generated.cs
@@ -1,8 +1,14 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EndpointSettings stores the network endpoint details
+ ///
public class EndpointSettings // (network.EndpointSettings)
{
+ ///
+ /// Configuration data
+ ///
[JsonPropertyName("IPAMConfig")]
public EndpointIPAMConfig? IPAMConfig { get; set; }
@@ -15,6 +21,12 @@ public class EndpointSettings // (network.EndpointSettings)
[JsonPropertyName("DriverOpts")]
public IDictionary DriverOpts { get; set; } = default!;
+ ///
+ /// GwPriority determines which endpoint will provide the default gateway
+ /// for the container. The endpoint with the highest priority will be used.
+ /// If multiple endpoints have the same priority, they are lexicographically
+ /// sorted based on their network name, and the one that sorts first is picked.
+ ///
[JsonPropertyName("GwPriority")]
public long GwPriority { get; set; } = default!;
@@ -30,6 +42,11 @@ public class EndpointSettings // (network.EndpointSettings)
[JsonPropertyName("IPAddress")]
public string IPAddress { get; set; } = default!;
+ ///
+ /// MacAddress may be used to specify a MAC address when the container is created.
+ /// Once the container is running, it becomes operational data (it may contain a
+ /// generated address).
+ ///
[JsonPropertyName("MacAddress")]
public string MacAddress { get; set; } = default!;
@@ -45,6 +62,10 @@ public class EndpointSettings // (network.EndpointSettings)
[JsonPropertyName("GlobalIPv6PrefixLen")]
public long GlobalIPv6PrefixLen { get; set; } = default!;
+ ///
+ /// DNSNames holds all the (non fully qualified) DNS names associated to this
+ /// endpoint. The first entry is used to generate PTR records.
+ ///
[JsonPropertyName("DNSNames")]
public IList DNSNames { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/EndpointSpec.Generated.cs b/src/Docker.DotNet/Models/EndpointSpec.Generated.cs
index de5610f9..71138607 100644
--- a/src/Docker.DotNet/Models/EndpointSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/EndpointSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EndpointSpec represents the spec of an endpoint.
+ ///
public class EndpointSpec // (swarm.EndpointSpec)
{
[JsonPropertyName("Mode")]
diff --git a/src/Docker.DotNet/Models/EndpointVirtualIP.Generated.cs b/src/Docker.DotNet/Models/EndpointVirtualIP.Generated.cs
index 9b72f3a4..10c71ccb 100644
--- a/src/Docker.DotNet/Models/EndpointVirtualIP.Generated.cs
+++ b/src/Docker.DotNet/Models/EndpointVirtualIP.Generated.cs
@@ -1,11 +1,19 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EndpointVirtualIP represents the virtual ip of a port.
+ ///
public class EndpointVirtualIP // (swarm.EndpointVirtualIP)
{
[JsonPropertyName("NetworkID")]
public string? NetworkID { get; set; }
+ ///
+ /// Addr is the virtual ip address.
+ /// This field accepts CIDR notation, for example `10.0.0.1/24`, to maintain backwards
+ /// compatibility, but only the IP address is used.
+ ///
[JsonPropertyName("Addr")]
public string? Addr { get; set; }
}
diff --git a/src/Docker.DotNet/Models/EngineDescription.Generated.cs b/src/Docker.DotNet/Models/EngineDescription.Generated.cs
index 39a1967f..e988ddfc 100644
--- a/src/Docker.DotNet/Models/EngineDescription.Generated.cs
+++ b/src/Docker.DotNet/Models/EngineDescription.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// EngineDescription represents the description of an engine.
+ ///
public class EngineDescription // (swarm.EngineDescription)
{
[JsonPropertyName("EngineVersion")]
diff --git a/src/Docker.DotNet/Models/ExecProcessConfig.Generated.cs b/src/Docker.DotNet/Models/ExecProcessConfig.Generated.cs
index 1becb701..dc9d9607 100644
--- a/src/Docker.DotNet/Models/ExecProcessConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/ExecProcessConfig.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ExecProcessConfig holds information about the exec process
+ /// running on the host.
+ ///
public class ExecProcessConfig // (container.ExecProcessConfig)
{
[JsonPropertyName("tty")]
diff --git a/src/Docker.DotNet/Models/ExternalCA.Generated.cs b/src/Docker.DotNet/Models/ExternalCA.Generated.cs
index 4e939175..53cc8bfb 100644
--- a/src/Docker.DotNet/Models/ExternalCA.Generated.cs
+++ b/src/Docker.DotNet/Models/ExternalCA.Generated.cs
@@ -1,17 +1,34 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ExternalCA defines external CA to be used by the cluster.
+ ///
public class ExternalCA // (swarm.ExternalCA)
{
+ ///
+ /// Protocol is the protocol used by this external CA.
+ ///
[JsonPropertyName("Protocol")]
public string Protocol { get; set; } = default!;
+ ///
+ /// URL is the URL where the external CA can be reached.
+ ///
[JsonPropertyName("URL")]
public string URL { get; set; } = default!;
+ ///
+ /// Options is a set of additional key/value pairs whose interpretation
+ /// depends on the specified CA type.
+ ///
[JsonPropertyName("Options")]
public IDictionary? Options { get; set; }
+ ///
+ /// CACert specifies which root CA is used by this external CA. This certificate must
+ /// be in PEM format.
+ ///
[JsonPropertyName("CACert")]
public string CACert { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/FirewallInfo.Generated.cs b/src/Docker.DotNet/Models/FirewallInfo.Generated.cs
index 0bd541e8..7d5a2fa4 100644
--- a/src/Docker.DotNet/Models/FirewallInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/FirewallInfo.Generated.cs
@@ -1,11 +1,20 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// FirewallInfo describes the firewall backend.
+ ///
public class FirewallInfo // (system.FirewallInfo)
{
+ ///
+ /// Driver is the name of the firewall backend driver.
+ ///
[JsonPropertyName("Driver")]
public string Driver { get; set; } = default!;
+ ///
+ /// Info is a list of label/value pairs, containing information related to the firewall.
+ ///
[JsonPropertyName("Info")]
public IList? Info { get; set; }
}
diff --git a/src/Docker.DotNet/Models/GenericResource.Generated.cs b/src/Docker.DotNet/Models/GenericResource.Generated.cs
index c1336935..819ea77a 100644
--- a/src/Docker.DotNet/Models/GenericResource.Generated.cs
+++ b/src/Docker.DotNet/Models/GenericResource.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// GenericResource represents a "user defined" resource which can
+ /// be either an integer (e.g: SSD=3) or a string (e.g: SSD=sda1)
+ ///
public class GenericResource // (swarm.GenericResource)
{
[JsonPropertyName("NamedResourceSpec")]
diff --git a/src/Docker.DotNet/Models/GlobalJob.Generated.cs b/src/Docker.DotNet/Models/GlobalJob.Generated.cs
index 554e68aa..296f0fd6 100644
--- a/src/Docker.DotNet/Models/GlobalJob.Generated.cs
+++ b/src/Docker.DotNet/Models/GlobalJob.Generated.cs
@@ -1,6 +1,13 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// GlobalJob is the type of a Service which executes a Task on every Node
+ /// matching the Service's placement constraints. These tasks run to completion
+ /// and then exit.
+ ///
+ /// This type is deliberately empty.
+ ///
public class GlobalJob // (swarm.GlobalJob)
{
}
diff --git a/src/Docker.DotNet/Models/GlobalService.Generated.cs b/src/Docker.DotNet/Models/GlobalService.Generated.cs
index 78ffb29c..12092e6e 100644
--- a/src/Docker.DotNet/Models/GlobalService.Generated.cs
+++ b/src/Docker.DotNet/Models/GlobalService.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// GlobalService is a kind of ServiceMode.
+ ///
public class GlobalService // (swarm.GlobalService)
{
}
diff --git a/src/Docker.DotNet/Models/Health.Generated.cs b/src/Docker.DotNet/Models/Health.Generated.cs
index 003e2d58..087f2e93 100644
--- a/src/Docker.DotNet/Models/Health.Generated.cs
+++ b/src/Docker.DotNet/Models/Health.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Health stores information about the container's healthcheck results
+ ///
public class Health // (container.Health)
{
[JsonPropertyName("Status")]
diff --git a/src/Docker.DotNet/Models/HealthSummary.Generated.cs b/src/Docker.DotNet/Models/HealthSummary.Generated.cs
index b66a969e..61df8112 100644
--- a/src/Docker.DotNet/Models/HealthSummary.Generated.cs
+++ b/src/Docker.DotNet/Models/HealthSummary.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// HealthSummary stores a summary of the container's healthcheck results.
+ ///
public class HealthSummary // (container.HealthSummary)
{
[JsonPropertyName("Status")]
diff --git a/src/Docker.DotNet/Models/HealthcheckResult.Generated.cs b/src/Docker.DotNet/Models/HealthcheckResult.Generated.cs
index aa5dbd4a..c9b2f224 100644
--- a/src/Docker.DotNet/Models/HealthcheckResult.Generated.cs
+++ b/src/Docker.DotNet/Models/HealthcheckResult.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// HealthcheckResult stores information about a single run of a healthcheck probe
+ ///
public class HealthcheckResult // (container.HealthcheckResult)
{
[JsonPropertyName("Start")]
diff --git a/src/Docker.DotNet/Models/HostConfig.Generated.cs b/src/Docker.DotNet/Models/HostConfig.Generated.cs
index f912cffc..2d61a90d 100644
--- a/src/Docker.DotNet/Models/HostConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/HostConfig.Generated.cs
@@ -1,6 +1,11 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// HostConfig the non-portable Config structure of a container.
+ /// Here, "non-portable" means "dependent of the host we are running on".
+ /// Portable information *should* appear in Config.
+ ///
public class HostConfig // (container.HostConfig)
{
public HostConfig()
@@ -43,6 +48,9 @@ public HostConfig(Resources Resources)
}
}
+ ///
+ /// Applicable to all platforms
+ ///
[JsonPropertyName("Binds")]
public IList Binds { get; set; } = default!;
@@ -77,6 +85,9 @@ public HostConfig(Resources Resources)
[JsonPropertyName("Annotations")]
public IDictionary? Annotations { get; set; }
+ ///
+ /// Applicable to UNIX platforms
+ ///
[JsonPropertyName("CapAdd")]
public IList CapAdd { get; set; } = default!;
@@ -149,9 +160,15 @@ public HostConfig(Resources Resources)
[JsonPropertyName("Runtime")]
public string? Runtime { get; set; }
+ ///
+ /// Applicable to Windows
+ ///
[JsonPropertyName("Isolation")]
public string Isolation { get; set; } = default!;
+ ///
+ /// Applicable to all platforms
+ ///
[JsonPropertyName("CpuShares")]
public long CPUShares { get; set; } = default!;
@@ -161,6 +178,9 @@ public HostConfig(Resources Resources)
[JsonPropertyName("NanoCpus")]
public long NanoCPUs { get; set; } = default!;
+ ///
+ /// Applicable to UNIX platforms
+ ///
[JsonPropertyName("CgroupParent")]
public string CgroupParent { get; set; } = default!;
@@ -227,6 +247,9 @@ public HostConfig(Resources Resources)
[JsonPropertyName("Ulimits")]
public IList Ulimits { get; set; } = default!;
+ ///
+ /// Applicable to Windows
+ ///
[JsonPropertyName("CpuCount")]
public long CPUCount { get; set; } = default!;
@@ -239,15 +262,27 @@ public HostConfig(Resources Resources)
[JsonPropertyName("IOMaximumBandwidth")]
public ulong IOMaximumBandwidth { get; set; } = default!;
+ ///
+ /// Mounts specs used by the container
+ ///
[JsonPropertyName("Mounts")]
public IList? Mounts { get; set; }
+ ///
+ /// MaskedPaths is the list of paths to be masked inside the container (this overrides the default set of paths)
+ ///
[JsonPropertyName("MaskedPaths")]
public IList MaskedPaths { get; set; } = default!;
+ ///
+ /// ReadonlyPaths is the list of paths to be set as read-only inside the container (this overrides the default set of paths)
+ ///
[JsonPropertyName("ReadonlyPaths")]
public IList ReadonlyPaths { get; set; } = default!;
+ ///
+ /// Run a custom init inside the container, if null, use the daemon's configured settings
+ ///
[JsonPropertyName("Init")]
public bool? Init { get; set; }
}
diff --git a/src/Docker.DotNet/Models/IPAM.Generated.cs b/src/Docker.DotNet/Models/IPAM.Generated.cs
index 226db27c..fdef99ac 100644
--- a/src/Docker.DotNet/Models/IPAM.Generated.cs
+++ b/src/Docker.DotNet/Models/IPAM.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// IPAM represents IP Address Management
+ ///
public class IPAM // (network.IPAM)
{
[JsonPropertyName("Driver")]
diff --git a/src/Docker.DotNet/Models/IPAMConfig.Generated.cs b/src/Docker.DotNet/Models/IPAMConfig.Generated.cs
index 2cd2f79b..7262ff9c 100644
--- a/src/Docker.DotNet/Models/IPAMConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/IPAMConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// IPAMConfig represents IPAM configurations
+ ///
public class IPAMConfig // (network.IPAMConfig)
{
[JsonPropertyName("Subnet")]
diff --git a/src/Docker.DotNet/Models/IPAMOptions.Generated.cs b/src/Docker.DotNet/Models/IPAMOptions.Generated.cs
index a3594050..382bbdaa 100644
--- a/src/Docker.DotNet/Models/IPAMOptions.Generated.cs
+++ b/src/Docker.DotNet/Models/IPAMOptions.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// IPAMOptions represents ipam options.
+ ///
public class IPAMOptions // (swarm.IPAMOptions)
{
[JsonPropertyName("Driver")]
diff --git a/src/Docker.DotNet/Models/IPAMStatus.Generated.cs b/src/Docker.DotNet/Models/IPAMStatus.Generated.cs
index 7530e2b2..e40855d2 100644
--- a/src/Docker.DotNet/Models/IPAMStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/IPAMStatus.Generated.cs
@@ -1,8 +1,17 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// IPAMStatus IPAM status
+ ///
+ /// swagger:model IPAMStatus
+ ///
public class IPAMStatus // (network.IPAMStatus)
{
+ ///
+ /// subnets
+ /// Example: {"172.16.0.0/16":{"DynamicIPsAvailable":65533,"IPsInUse":3},"2001:db8:abcd:0012::0/96":{"DynamicIPsAvailable":4294967291,"IPsInUse":5}}
+ ///
[JsonPropertyName("Subnets")]
public IDictionary? Subnets { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ImageBuildResult.Generated.cs b/src/Docker.DotNet/Models/ImageBuildResult.Generated.cs
index 291fb945..5ec6570c 100644
--- a/src/Docker.DotNet/Models/ImageBuildResult.Generated.cs
+++ b/src/Docker.DotNet/Models/ImageBuildResult.Generated.cs
@@ -1,6 +1,11 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ImageBuildResult holds information
+ /// returned by a server after building
+ /// an image.
+ ///
public class ImageBuildResult // (client.ImageBuildResult)
{
[JsonPropertyName("Body")]
diff --git a/src/Docker.DotNet/Models/ImageDeleteResponse.Generated.cs b/src/Docker.DotNet/Models/ImageDeleteResponse.Generated.cs
index c445a50f..72f05b40 100644
--- a/src/Docker.DotNet/Models/ImageDeleteResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ImageDeleteResponse.Generated.cs
@@ -1,11 +1,22 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// DeleteResponse delete response
+ ///
+ /// swagger:model DeleteResponse
+ ///
public class ImageDeleteResponse // (image.DeleteResponse)
{
+ ///
+ /// The image ID of an image that was deleted
+ ///
[JsonPropertyName("Deleted")]
public string? Deleted { get; set; }
+ ///
+ /// The image ID of an image that was untagged
+ ///
[JsonPropertyName("Untagged")]
public string? Untagged { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ImageHistoryResponse.Generated.cs b/src/Docker.DotNet/Models/ImageHistoryResponse.Generated.cs
index 94dad48a..4deb6dbd 100644
--- a/src/Docker.DotNet/Models/ImageHistoryResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ImageHistoryResponse.Generated.cs
@@ -1,23 +1,52 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// HistoryResponseItem individual image layer information in response to ImageHistory operation
+ ///
+ /// swagger:model HistoryResponseItem
+ ///
public class ImageHistoryResponse // (image.HistoryResponseItem)
{
+ ///
+ /// comment
+ /// Required: true
+ ///
[JsonPropertyName("Comment")]
public string Comment { get; set; } = default!;
+ ///
+ /// created
+ /// Required: true
+ ///
[JsonPropertyName("Created")]
public DateTime Created { get; set; } = default!;
+ ///
+ /// created by
+ /// Required: true
+ ///
[JsonPropertyName("CreatedBy")]
public string CreatedBy { get; set; } = default!;
+ ///
+ /// Id
+ /// Required: true
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// size
+ /// Required: true
+ ///
[JsonPropertyName("Size")]
public long Size { get; set; } = default!;
+ ///
+ /// tags
+ /// Required: true
+ ///
[JsonPropertyName("Tags")]
public IList Tags { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ImageInspectResponse.Generated.cs b/src/Docker.DotNet/Models/ImageInspectResponse.Generated.cs
index 6da9fe35..000fbebc 100644
--- a/src/Docker.DotNet/Models/ImageInspectResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ImageInspectResponse.Generated.cs
@@ -1,56 +1,150 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// InspectResponse contains response of Engine API:
+ /// GET "/images/{name:.*}/json"
+ ///
public class ImageInspectResponse // (image.InspectResponse)
{
+ ///
+ /// ID is the content-addressable ID of an image.
+ ///
+ /// This identifier is a content-addressable digest calculated from the
+ /// image's configuration (which includes the digests of layers used by
+ /// the image).
+ ///
+ /// Note that this digest differs from the `RepoDigests` below, which
+ /// holds digests of image manifests that reference the image.
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// RepoTags is a list of image names/tags in the local image cache that
+ /// reference this image.
+ ///
+ /// Multiple image tags can refer to the same image, and this list may be
+ /// empty if no tags reference the image, in which case the image is
+ /// "untagged", in which case it can still be referenced by its ID.
+ ///
[JsonPropertyName("RepoTags")]
public IList RepoTags { get; set; } = default!;
+ ///
+ /// RepoDigests is a list of content-addressable digests of locally available
+ /// image manifests that the image is referenced from. Multiple manifests can
+ /// refer to the same image.
+ ///
+ /// These digests are usually only available if the image was either pulled
+ /// from a registry, or if the image was pushed to a registry, which is when
+ /// the manifest is generated and its digest calculated.
+ ///
[JsonPropertyName("RepoDigests")]
public IList RepoDigests { get; set; } = default!;
+ ///
+ /// Comment is an optional message that can be set when committing or
+ /// importing the image. This field is omitted if not set.
+ ///
[JsonPropertyName("Comment")]
public string? Comment { get; set; }
+ ///
+ /// Created is the date and time at which the image was created, formatted in
+ /// RFC 3339 nano-seconds (time.RFC3339Nano).
+ ///
+ /// This information is only available if present in the image,
+ /// and omitted otherwise.
+ ///
[JsonPropertyName("Created")]
public DateTime? Created { get; set; }
+ ///
+ /// Author is the name of the author that was specified when committing the
+ /// image, or as specified through MAINTAINER (deprecated) in the Dockerfile.
+ /// This field is omitted if not set.
+ ///
[JsonPropertyName("Author")]
public string? Author { get; set; }
[JsonPropertyName("Config")]
public DockerOCIImageConfig? Config { get; set; }
+ ///
+ /// Architecture is the hardware CPU architecture that the image runs on.
+ ///
[JsonPropertyName("Architecture")]
public string Architecture { get; set; } = default!;
+ ///
+ /// Variant is the CPU architecture variant (presently ARM-only).
+ ///
[JsonPropertyName("Variant")]
public string? Variant { get; set; }
+ ///
+ /// OS is the Operating System the image is built to run on.
+ ///
[JsonPropertyName("Os")]
public string Os { get; set; } = default!;
+ ///
+ /// OsVersion is the version of the Operating System the image is built to
+ /// run on (especially for Windows).
+ ///
[JsonPropertyName("OsVersion")]
public string? OsVersion { get; set; }
+ ///
+ /// Size is the total size of the image including all layers it is composed of.
+ ///
[JsonPropertyName("Size")]
public long Size { get; set; } = default!;
+ ///
+ /// GraphDriver holds information about the storage driver used to store the
+ /// container's and image's filesystem.
+ ///
[JsonPropertyName("GraphDriver")]
public DriverData? GraphDriver { get; set; }
+ ///
+ /// RootFS contains information about the image's RootFS, including the
+ /// layer IDs.
+ ///
[JsonPropertyName("RootFS")]
public RootFS RootFS { get; set; } = default!;
+ ///
+ /// Metadata of the image in the local cache.
+ ///
+ /// This information is local to the daemon, and not part of the image itself.
+ ///
[JsonPropertyName("Metadata")]
public Metadata Metadata { get; set; } = default!;
+ ///
+ /// Descriptor is the OCI descriptor of the image target.
+ /// It's only set if the daemon provides a multi-platform image store.
+ ///
+ /// WARNING: This is experimental and may change at any time without any backward
+ /// compatibility.
+ ///
[JsonPropertyName("Descriptor")]
public Descriptor? Descriptor { get; set; }
+ ///
+ /// Manifests is a list of image manifests available in this image. It
+ /// provides a more detailed view of the platform-specific image manifests or
+ /// other image-attached data like build attestations.
+ ///
+ /// Only available if the daemon provides a multi-platform image store, the client
+ /// requests manifests AND does not request a specific platform.
+ ///
+ /// WARNING: This is experimental and may change at any time without any backward
+ /// compatibility.
+ ///
[JsonPropertyName("Manifests")]
public IList? Manifests { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ImageProperties.Generated.cs b/src/Docker.DotNet/Models/ImageProperties.Generated.cs
index dc27d5f5..ebd0d62e 100644
--- a/src/Docker.DotNet/Models/ImageProperties.Generated.cs
+++ b/src/Docker.DotNet/Models/ImageProperties.Generated.cs
@@ -3,12 +3,23 @@ namespace Docker.DotNet.Models
{
public class ImageProperties // (image.ImageProperties)
{
+ ///
+ /// Platform is the OCI platform object describing the platform of the image.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Platform")]
public Platform Platform { get; set; } = default!;
[JsonPropertyName("Size")]
public ImagePropertiesSize Size { get; set; } = default!;
+ ///
+ /// Containers is an array containing the IDs of the containers that are
+ /// using this image.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Containers")]
public IList Containers { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ImageSearchResponse.Generated.cs b/src/Docker.DotNet/Models/ImageSearchResponse.Generated.cs
index e7411d50..38f12c47 100644
--- a/src/Docker.DotNet/Models/ImageSearchResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ImageSearchResponse.Generated.cs
@@ -1,20 +1,40 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SearchResult describes a search result returned from a registry
+ ///
public class ImageSearchResponse // (registry.SearchResult)
{
+ ///
+ /// StarCount indicates the number of stars this repository has
+ ///
[JsonPropertyName("star_count")]
public long StarCount { get; set; } = default!;
+ ///
+ /// IsOfficial is true if the result is from an official repository.
+ ///
[JsonPropertyName("is_official")]
public bool IsOfficial { get; set; } = default!;
+ ///
+ /// Name is the name of the repository
+ ///
[JsonPropertyName("name")]
public string Name { get; set; } = default!;
+ ///
+ /// IsAutomated indicates whether the result is automated.
+ ///
+ /// Deprecated: the "is_automated" field is deprecated and will always be "false".
+ ///
[JsonPropertyName("is_automated")]
public bool IsAutomated { get; set; } = default!;
+ ///
+ /// Description is a textual description of the repository
+ ///
[JsonPropertyName("description")]
public string Description { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ImagesListResponse.Generated.cs b/src/Docker.DotNet/Models/ImagesListResponse.Generated.cs
index dd2b53da..82b14675 100644
--- a/src/Docker.DotNet/Models/ImagesListResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ImagesListResponse.Generated.cs
@@ -3,36 +3,126 @@ namespace Docker.DotNet.Models
{
public class ImagesListResponse // (image.Summary)
{
+ ///
+ /// Number of containers using this image. Includes both stopped and running
+ /// containers.
+ ///
+ /// This size is not calculated by default, and depends on which API endpoint
+ /// is used. `-1` indicates that the value has not been set / calculated.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Containers")]
public long Containers { get; set; } = default!;
+ ///
+ /// Date and time at which the image was created as a Unix timestamp
+ /// (number of seconds since EPOCH).
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Created")]
public DateTime Created { get; set; } = default!;
+ ///
+ /// ID is the content-addressable ID of an image.
+ ///
+ /// This identifier is a content-addressable digest calculated from the
+ /// image's configuration (which includes the digests of layers used by
+ /// the image).
+ ///
+ /// Note that this digest differs from the `RepoDigests` below, which
+ /// holds digests of image manifests that reference the image.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// User-defined key/value metadata.
+ /// Required: true
+ ///
[JsonPropertyName("Labels")]
public IDictionary Labels { get; set; } = default!;
+ ///
+ /// ID of the parent image.
+ ///
+ /// Depending on how the image was created, this field may be empty and
+ /// is only set for images that were built/created locally. This field
+ /// is empty if the image was pulled from an image registry.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("ParentId")]
public string ParentID { get; set; } = default!;
+ ///
+ /// Descriptor is the OCI descriptor of the image target.
+ /// It's only set if the daemon provides a multi-platform image store.
+ ///
+ /// WARNING: This is experimental and may change at any time without any backward
+ /// compatibility.
+ ///
[JsonPropertyName("Descriptor")]
public Descriptor? Descriptor { get; set; }
+ ///
+ /// Manifests is a list of image manifests available in this image. It
+ /// provides a more detailed view of the platform-specific image manifests or
+ /// other image-attached data like build attestations.
+ ///
+ /// WARNING: This is experimental and may change at any time without any backward
+ /// compatibility.
+ ///
[JsonPropertyName("Manifests")]
public IList? Manifests { get; set; }
+ ///
+ /// List of content-addressable digests of locally available image manifests
+ /// that the image is referenced from. Multiple manifests can refer to the
+ /// same image.
+ ///
+ /// These digests are usually only available if the image was either pulled
+ /// from a registry, or if the image was pushed to a registry, which is when
+ /// the manifest is generated and its digest calculated.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("RepoDigests")]
public IList RepoDigests { get; set; } = default!;
+ ///
+ /// List of image names/tags in the local image cache that reference this
+ /// image.
+ ///
+ /// Multiple image tags can refer to the same image, and this list may be
+ /// empty if no tags reference the image, in which case the image is
+ /// "untagged", in which case it can still be referenced by its ID.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("RepoTags")]
public IList RepoTags { get; set; } = default!;
+ ///
+ /// Total size of image layers that are shared between this image and other
+ /// images.
+ ///
+ /// This size is not calculated by default. `-1` indicates that the value
+ /// has not been set / calculated.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("SharedSize")]
public long SharedSize { get; set; } = default!;
+ ///
+ /// Total size of the image including all layers it is composed of.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Size")]
public long Size { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ImagesPruneResponse.Generated.cs b/src/Docker.DotNet/Models/ImagesPruneResponse.Generated.cs
index dd2047c6..fbedfedb 100644
--- a/src/Docker.DotNet/Models/ImagesPruneResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ImagesPruneResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PruneReport contains the response for Engine API:
+ /// POST "/images/prune"
+ ///
public class ImagesPruneResponse // (image.PruneReport)
{
[JsonPropertyName("ImagesDeleted")]
diff --git a/src/Docker.DotNet/Models/IndexInfo.Generated.cs b/src/Docker.DotNet/Models/IndexInfo.Generated.cs
index fd413e24..65fc2f2e 100644
--- a/src/Docker.DotNet/Models/IndexInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/IndexInfo.Generated.cs
@@ -1,17 +1,62 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// IndexInfo contains information about a registry
+ ///
+ /// RepositoryInfo Examples:
+ ///
+ /// {
+ /// "Index" : {
+ /// "Name" : "docker.io",
+ /// "Mirrors" : ["https://registry-2.docker.io/v1/", "https://registry-3.docker.io/v1/"],
+ /// "Secure" : true,
+ /// "Official" : true,
+ /// },
+ /// "RemoteName" : "library/debian",
+ /// "LocalName" : "debian",
+ /// "CanonicalName" : "docker.io/debian"
+ /// "Official" : true,
+ /// }
+ ///
+ /// {
+ /// "Index" : {
+ /// "Name" : "127.0.0.1:5000",
+ /// "Mirrors" : [],
+ /// "Secure" : false,
+ /// "Official" : false,
+ /// },
+ /// "RemoteName" : "user/repo",
+ /// "LocalName" : "127.0.0.1:5000/user/repo",
+ /// "CanonicalName" : "127.0.0.1:5000/user/repo",
+ /// "Official" : false,
+ /// }
+ ///
public class IndexInfo // (registry.IndexInfo)
{
+ ///
+ /// Name is the name of the registry, such as "docker.io"
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// Mirrors is a list of mirrors, expressed as URIs
+ ///
[JsonPropertyName("Mirrors")]
public IList Mirrors { get; set; } = default!;
+ ///
+ /// Secure is set to false if the registry is part of the list of
+ /// insecure registries. Insecure registries accept HTTP and/or accept
+ /// HTTPS with certificates from unknown CAs.
+ ///
[JsonPropertyName("Secure")]
public bool Secure { get; set; } = default!;
+ ///
+ /// Official indicates whether this is an official registry
+ ///
[JsonPropertyName("Official")]
public bool Official { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Info.Generated.cs b/src/Docker.DotNet/Models/Info.Generated.cs
index 7aa84639..2cdf0158 100644
--- a/src/Docker.DotNet/Models/Info.Generated.cs
+++ b/src/Docker.DotNet/Models/Info.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Info represents generic information about swarm.
+ ///
public class Info // (swarm.Info)
{
[JsonPropertyName("NodeID")]
diff --git a/src/Docker.DotNet/Models/JSONError.Generated.cs b/src/Docker.DotNet/Models/JSONError.Generated.cs
index 249dba3b..9cb93c6e 100644
--- a/src/Docker.DotNet/Models/JSONError.Generated.cs
+++ b/src/Docker.DotNet/Models/JSONError.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Error wraps a concrete Code and Message, Code is
+ /// an integer error code, Message is the error message.
+ ///
public class JSONError // (jsonstream.Error)
{
[JsonPropertyName("code")]
diff --git a/src/Docker.DotNet/Models/JSONMessage.Generated.cs b/src/Docker.DotNet/Models/JSONMessage.Generated.cs
index 17bb3884..39de3134 100644
--- a/src/Docker.DotNet/Models/JSONMessage.Generated.cs
+++ b/src/Docker.DotNet/Models/JSONMessage.Generated.cs
@@ -1,6 +1,11 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// JSONMessage defines a message struct. It describes
+ /// the created time, where it from, status, ID of the
+ /// message. It's used for docker events.
+ ///
public class JSONMessage // (jsonstream.Message)
{
[JsonPropertyName("stream")]
diff --git a/src/Docker.DotNet/Models/JSONProgress.Generated.cs b/src/Docker.DotNet/Models/JSONProgress.Generated.cs
index 93fe7628..aca0d112 100644
--- a/src/Docker.DotNet/Models/JSONProgress.Generated.cs
+++ b/src/Docker.DotNet/Models/JSONProgress.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Progress describes a progress message in a JSON stream.
+ ///
public class JSONProgress // (jsonstream.Progress)
{
[JsonPropertyName("current")]
diff --git a/src/Docker.DotNet/Models/JobStatus.Generated.cs b/src/Docker.DotNet/Models/JobStatus.Generated.cs
index 5617f948..eb7ca511 100644
--- a/src/Docker.DotNet/Models/JobStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/JobStatus.Generated.cs
@@ -1,11 +1,29 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// JobStatus is the status of a job-type service.
+ ///
public class JobStatus // (swarm.JobStatus)
{
+ ///
+ /// JobIteration is a value increased each time a Job is executed,
+ /// successfully or otherwise. "Executed", in this case, means the job as a
+ /// whole has been started, not that an individual Task has been launched. A
+ /// job is "Executed" when its ServiceSpec is updated. JobIteration can be
+ /// used to disambiguate Tasks belonging to different executions of a job.
+ ///
+ /// Though JobIteration will increase with each subsequent execution, it may
+ /// not necessarily increase by 1, and so JobIteration should not be used to
+ /// keep track of the number of times a job has been executed.
+ ///
[JsonPropertyName("JobIteration")]
public Version JobIteration { get; set; } = default!;
+ ///
+ /// LastExecution is the time that the job was last executed, as observed by
+ /// Swarm manager.
+ ///
[JsonPropertyName("LastExecution")]
public DateTime? LastExecution { get; set; }
}
diff --git a/src/Docker.DotNet/Models/JoinTokens.Generated.cs b/src/Docker.DotNet/Models/JoinTokens.Generated.cs
index b0194a8a..c3ab5fbf 100644
--- a/src/Docker.DotNet/Models/JoinTokens.Generated.cs
+++ b/src/Docker.DotNet/Models/JoinTokens.Generated.cs
@@ -1,11 +1,20 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// JoinTokens contains the tokens workers and managers need to join the swarm.
+ ///
public class JoinTokens // (swarm.JoinTokens)
{
+ ///
+ /// Worker is the join token workers may use to join the swarm.
+ ///
[JsonPropertyName("Worker")]
public string Worker { get; set; } = default!;
+ ///
+ /// Manager is the join token managers may use to join the swarm.
+ ///
[JsonPropertyName("Manager")]
public string Manager { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/LogConfig.Generated.cs b/src/Docker.DotNet/Models/LogConfig.Generated.cs
index 52410b2a..8796c0af 100644
--- a/src/Docker.DotNet/Models/LogConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/LogConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// LogConfig represents the logging configuration of the container.
+ ///
public class LogConfig // (container.LogConfig)
{
[JsonPropertyName("Type")]
diff --git a/src/Docker.DotNet/Models/ManagerStatus.Generated.cs b/src/Docker.DotNet/Models/ManagerStatus.Generated.cs
index 6c63a630..bbfcc2af 100644
--- a/src/Docker.DotNet/Models/ManagerStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/ManagerStatus.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ManagerStatus represents the status of a manager.
+ ///
public class ManagerStatus // (swarm.ManagerStatus)
{
[JsonPropertyName("Leader")]
diff --git a/src/Docker.DotNet/Models/ManifestSummary.Generated.cs b/src/Docker.DotNet/Models/ManifestSummary.Generated.cs
index 57761b48..ec8f023c 100644
--- a/src/Docker.DotNet/Models/ManifestSummary.Generated.cs
+++ b/src/Docker.DotNet/Models/ManifestSummary.Generated.cs
@@ -3,24 +3,58 @@ namespace Docker.DotNet.Models
{
public class ManifestSummary // (image.ManifestSummary)
{
+ ///
+ /// ID is the content-addressable ID of an image and is the same as the
+ /// digest of the image manifest.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("ID")]
public string ID { get; set; } = default!;
+ ///
+ /// Descriptor is the OCI descriptor of the image.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Descriptor")]
public Descriptor Descriptor { get; set; } = default!;
+ ///
+ /// Indicates whether all the child content (image config, layers) is
+ /// fully available locally
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Available")]
public bool Available { get; set; } = default!;
+ ///
+ /// Size is the size information of the content related to this manifest.
+ /// Note: These sizes only take the locally available content into account.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Size")]
public ManifestSummarySize Size { get; set; } = default!;
+ ///
+ /// Kind is the kind of the image manifest.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Kind")]
public string Kind { get; set; } = default!;
+ ///
+ /// Present only if Kind == ManifestKindImage.
+ ///
[JsonPropertyName("ImageData")]
public ImageProperties? ImageData { get; set; }
+ ///
+ /// Present only if Kind == ManifestKindAttestation.
+ ///
[JsonPropertyName("AttestationData")]
public AttestationProperties? AttestationData { get; set; }
}
diff --git a/src/Docker.DotNet/Models/MemoryStats.Generated.cs b/src/Docker.DotNet/Models/MemoryStats.Generated.cs
index b8f2c84c..d2daa78a 100644
--- a/src/Docker.DotNet/Models/MemoryStats.Generated.cs
+++ b/src/Docker.DotNet/Models/MemoryStats.Generated.cs
@@ -1,29 +1,55 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// MemoryStats aggregates all memory stats since container inception on Linux.
+ /// Windows returns stats for commit and private working set only.
+ ///
public class MemoryStats // (container.MemoryStats)
{
+ ///
+ /// current res_counter usage for memory
+ ///
[JsonPropertyName("usage")]
public ulong? Usage { get; set; }
+ ///
+ /// maximum usage ever recorded.
+ ///
[JsonPropertyName("max_usage")]
public ulong? MaxUsage { get; set; }
+ ///
+ /// TODO(vishh): Export these as stronger types.
+ /// all the stats exported via memory.stat.
+ ///
[JsonPropertyName("stats")]
public IDictionary? Stats { get; set; }
+ ///
+ /// number of times memory usage hits limits.
+ ///
[JsonPropertyName("failcnt")]
public ulong? Failcnt { get; set; }
[JsonPropertyName("limit")]
public ulong? Limit { get; set; }
+ ///
+ /// committed bytes
+ ///
[JsonPropertyName("commitbytes")]
public ulong? Commit { get; set; }
+ ///
+ /// peak committed bytes
+ ///
[JsonPropertyName("commitpeakbytes")]
public ulong? CommitPeak { get; set; }
+ ///
+ /// private working set
+ ///
[JsonPropertyName("privateworkingset")]
public ulong? PrivateWorkingSet { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Message.Generated.cs b/src/Docker.DotNet/Models/Message.Generated.cs
index b8fc044b..a0aa2e47 100644
--- a/src/Docker.DotNet/Models/Message.Generated.cs
+++ b/src/Docker.DotNet/Models/Message.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Message represents the information an event contains
+ ///
public class Message // (events.Message)
{
[JsonPropertyName("Type")]
@@ -12,6 +15,9 @@ public class Message // (events.Message)
[JsonPropertyName("Actor")]
public Actor Actor { get; set; } = default!;
+ ///
+ /// Engine events are local scope. Cluster events are swarm scope.
+ ///
[JsonPropertyName("scope")]
public string? Scope { get; set; }
diff --git a/src/Docker.DotNet/Models/Meta.Generated.cs b/src/Docker.DotNet/Models/Meta.Generated.cs
index da3d9d5a..55ccf616 100644
--- a/src/Docker.DotNet/Models/Meta.Generated.cs
+++ b/src/Docker.DotNet/Models/Meta.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Meta is a base object inherited by most of the other once.
+ ///
public class Meta // (swarm.Meta)
{
[JsonPropertyName("Version")]
diff --git a/src/Docker.DotNet/Models/Metadata.Generated.cs b/src/Docker.DotNet/Models/Metadata.Generated.cs
index 226f18d8..aad3fa3c 100644
--- a/src/Docker.DotNet/Models/Metadata.Generated.cs
+++ b/src/Docker.DotNet/Models/Metadata.Generated.cs
@@ -1,8 +1,14 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Metadata contains engine-local data about the image.
+ ///
public class Metadata // (image.Metadata)
{
+ ///
+ /// LastTagTime is the date and time at which the image was last tagged.
+ ///
[JsonPropertyName("LastTagTime")]
public DateTime? LastTagTime { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Mount.Generated.cs b/src/Docker.DotNet/Models/Mount.Generated.cs
index 227fcd64..a64d0d20 100644
--- a/src/Docker.DotNet/Models/Mount.Generated.cs
+++ b/src/Docker.DotNet/Models/Mount.Generated.cs
@@ -1,11 +1,19 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Mount represents a mount (volume).
+ ///
public class Mount // (mount.Mount)
{
[JsonPropertyName("Type")]
public string? Type { get; set; }
+ ///
+ /// Source specifies the name of the mount. Depending on mount type, this
+ /// may be a volume name or a host path, or even ignored.
+ /// Source is not supported for tmpfs (must be an empty value)
+ ///
[JsonPropertyName("Source")]
public string? Source { get; set; }
diff --git a/src/Docker.DotNet/Models/MountPoint.Generated.cs b/src/Docker.DotNet/Models/MountPoint.Generated.cs
index 5ceff8cd..2b9f3aa9 100644
--- a/src/Docker.DotNet/Models/MountPoint.Generated.cs
+++ b/src/Docker.DotNet/Models/MountPoint.Generated.cs
@@ -1,29 +1,72 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// MountPoint represents a mount point configuration inside the container.
+ /// This is used for reporting the mountpoints in use by a container.
+ ///
public class MountPoint // (container.MountPoint)
{
+ ///
+ /// Type is the type of mount, see [mount.Type] definitions for details.
+ ///
[JsonPropertyName("Type")]
public string? Type { get; set; }
+ ///
+ /// Name is the name reference to the underlying data defined by `Source`
+ /// e.g., the volume name.
+ ///
[JsonPropertyName("Name")]
public string? Name { get; set; }
+ ///
+ /// Source is the source location of the mount.
+ ///
+ /// For volumes, this contains the storage location of the volume (within
+ /// `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains
+ /// the source (host) part of the bind-mount. For `tmpfs` mount points, this
+ /// field is empty.
+ ///
[JsonPropertyName("Source")]
public string Source { get; set; } = default!;
+ ///
+ /// Destination is the path relative to the container root (`/`) where the
+ /// Source is mounted inside the container.
+ ///
[JsonPropertyName("Destination")]
public string Destination { get; set; } = default!;
+ ///
+ /// Driver is the volume driver used to create the volume (if it is a volume).
+ ///
[JsonPropertyName("Driver")]
public string? Driver { get; set; }
+ ///
+ /// Mode is a comma separated list of options supplied by the user when
+ /// creating the bind/volume mount.
+ ///
+ /// The default is platform-specific (`"z"` on Linux, empty on Windows).
+ ///
[JsonPropertyName("Mode")]
public string Mode { get; set; } = default!;
+ ///
+ /// RW indicates whether the mount is mounted writable (read-write).
+ ///
[JsonPropertyName("RW")]
public bool RW { get; set; } = default!;
+ ///
+ /// Propagation describes how mounts are propagated from the host into the
+ /// mount point, and vice-versa. Refer to the Linux kernel documentation
+ /// for details:
+ /// https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt
+ ///
+ /// This field is not used on Windows.
+ ///
[JsonPropertyName("Propagation")]
public string Propagation { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/NamedGenericResource.Generated.cs b/src/Docker.DotNet/Models/NamedGenericResource.Generated.cs
index 135a3f1a..f164fa49 100644
--- a/src/Docker.DotNet/Models/NamedGenericResource.Generated.cs
+++ b/src/Docker.DotNet/Models/NamedGenericResource.Generated.cs
@@ -1,6 +1,12 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NamedGenericResource represents a "user defined" resource which is defined
+ /// as a string.
+ /// "Kind" is used to describe the Kind of a resource (e.g: "GPU", "FPGA", "SSD", ...)
+ /// Value is used to identify the resource (GPU="UUID-1", FPGA="/dev/sdb5", ...)
+ ///
public class NamedGenericResource // (swarm.NamedGenericResource)
{
[JsonPropertyName("Kind")]
diff --git a/src/Docker.DotNet/Models/Network.Generated.cs b/src/Docker.DotNet/Models/Network.Generated.cs
index 0655c5aa..8f361307 100644
--- a/src/Docker.DotNet/Models/Network.Generated.cs
+++ b/src/Docker.DotNet/Models/Network.Generated.cs
@@ -1,53 +1,139 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Network network
+ ///
+ /// swagger:model Network
+ ///
public class Network // (network.Network)
{
+ ///
+ /// Name of the network.
+ ///
+ /// Example: my_network
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// ID that uniquely identifies a network on a single machine.
+ ///
+ /// Example: 7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// Date and time at which the network was created in
+ /// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
+ ///
+ /// Example: 2016-10-19T04:33:30.360899459Z
+ ///
[JsonPropertyName("Created")]
public DateTime Created { get; set; } = default!;
+ ///
+ /// The level at which the network exists (e.g. `swarm` for cluster-wide
+ /// or `local` for machine level)
+ ///
+ /// Example: local
+ ///
[JsonPropertyName("Scope")]
public string Scope { get; set; } = default!;
+ ///
+ /// The name of the driver used to create the network (e.g. `bridge`,
+ /// `overlay`).
+ ///
+ /// Example: overlay
+ ///
[JsonPropertyName("Driver")]
public string Driver { get; set; } = default!;
+ ///
+ /// Whether the network was created with IPv4 enabled.
+ ///
+ /// Example: true
+ ///
[JsonPropertyName("EnableIPv4")]
public bool EnableIPv4 { get; set; } = default!;
+ ///
+ /// Whether the network was created with IPv6 enabled.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("EnableIPv6")]
public bool EnableIPv6 { get; set; } = default!;
+ ///
+ /// The network's IP Address Management.
+ ///
[JsonPropertyName("IPAM")]
public IPAM IPAM { get; set; } = default!;
+ ///
+ /// Whether the network is created to only allow internal networking
+ /// connectivity.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("Internal")]
public bool Internal { get; set; } = default!;
+ ///
+ /// Whether a global / swarm scope network is manually attachable by regular
+ /// containers from workers in swarm mode.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("Attachable")]
public bool Attachable { get; set; } = default!;
+ ///
+ /// Whether the network is providing the routing-mesh for the swarm cluster.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("Ingress")]
public bool Ingress { get; set; } = default!;
+ ///
+ /// config from
+ ///
[JsonPropertyName("ConfigFrom")]
public ConfigReference ConfigFrom { get; set; } = default!;
+ ///
+ /// Whether the network is a config-only network. Config-only networks are
+ /// placeholder networks for network configurations to be used by other
+ /// networks. Config-only networks cannot be used directly to run containers
+ /// or services.
+ ///
[JsonPropertyName("ConfigOnly")]
public bool ConfigOnly { get; set; } = default!;
+ ///
+ /// Network-specific options uses when creating the network.
+ ///
+ /// Example: {"com.docker.network.bridge.default_bridge":"true","com.docker.network.bridge.enable_icc":"true","com.docker.network.bridge.enable_ip_masquerade":"true","com.docker.network.bridge.host_binding_ipv4":"0.0.0.0","com.docker.network.bridge.name":"docker0","com.docker.network.driver.mtu":"1500"}
+ ///
[JsonPropertyName("Options")]
public IDictionary Options { get; set; } = default!;
+ ///
+ /// Metadata specific to the network being created.
+ ///
+ /// Example: {"com.example.some-label":"some-value","com.example.some-other-label":"some-other-value"}
+ ///
[JsonPropertyName("Labels")]
public IDictionary Labels { get; set; } = default!;
+ ///
+ /// List of peer nodes for an overlay network. This field is only present
+ /// for overlay networks, and omitted for other network types.
+ ///
[JsonPropertyName("Peers")]
public IList? Peers { get; set; }
}
diff --git a/src/Docker.DotNet/Models/NetworkAddressPool.Generated.cs b/src/Docker.DotNet/Models/NetworkAddressPool.Generated.cs
index 41718448..a12c5ff8 100644
--- a/src/Docker.DotNet/Models/NetworkAddressPool.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkAddressPool.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkAddressPool is a temp struct used by [Info] struct.
+ ///
public class NetworkAddressPool // (system.NetworkAddressPool)
{
[JsonPropertyName("Base")]
diff --git a/src/Docker.DotNet/Models/NetworkAttachment.Generated.cs b/src/Docker.DotNet/Models/NetworkAttachment.Generated.cs
index bfaef16f..3cf3d20a 100644
--- a/src/Docker.DotNet/Models/NetworkAttachment.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkAttachment.Generated.cs
@@ -1,11 +1,19 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkAttachment represents a network attachment.
+ ///
public class NetworkAttachment // (swarm.NetworkAttachment)
{
[JsonPropertyName("Network")]
public SwarmNetwork? Network { get; set; }
+ ///
+ /// Addresses contains the IP addresses associated with the endpoint in the network.
+ /// This field accepts CIDR notation, for example `10.0.0.1/24`, to maintain backwards
+ /// compatibility, but only the IP address is used.
+ ///
[JsonPropertyName("Addresses")]
public IList? Addresses { get; set; }
}
diff --git a/src/Docker.DotNet/Models/NetworkAttachmentConfig.Generated.cs b/src/Docker.DotNet/Models/NetworkAttachmentConfig.Generated.cs
index 8ee573ba..ba1ad01d 100644
--- a/src/Docker.DotNet/Models/NetworkAttachmentConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkAttachmentConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkAttachmentConfig represents the configuration of a network attachment.
+ ///
public class NetworkAttachmentConfig // (swarm.NetworkAttachmentConfig)
{
[JsonPropertyName("Target")]
diff --git a/src/Docker.DotNet/Models/NetworkAttachmentSpec.Generated.cs b/src/Docker.DotNet/Models/NetworkAttachmentSpec.Generated.cs
index 7bdc9382..39e3dd04 100644
--- a/src/Docker.DotNet/Models/NetworkAttachmentSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkAttachmentSpec.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkAttachmentSpec represents the runtime spec type for network
+ /// attachment tasks
+ ///
public class NetworkAttachmentSpec // (swarm.NetworkAttachmentSpec)
{
[JsonPropertyName("ContainerID")]
diff --git a/src/Docker.DotNet/Models/NetworkConnectParameters.Generated.cs b/src/Docker.DotNet/Models/NetworkConnectParameters.Generated.cs
index 5f8768e2..9a2d6607 100644
--- a/src/Docker.DotNet/Models/NetworkConnectParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkConnectParameters.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkConnectOptions represents the data to be used to connect a container to the
+ /// network.
+ ///
public class NetworkConnectParameters // (client.NetworkConnectOptions)
{
[JsonPropertyName("Container")]
diff --git a/src/Docker.DotNet/Models/NetworkDisconnectParameters.Generated.cs b/src/Docker.DotNet/Models/NetworkDisconnectParameters.Generated.cs
index d7d084ba..9e2a0079 100644
--- a/src/Docker.DotNet/Models/NetworkDisconnectParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkDisconnectParameters.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkDisconnectOptions represents the data to be used to disconnect a container
+ /// from the network.
+ ///
public class NetworkDisconnectParameters // (client.NetworkDisconnectOptions)
{
[JsonPropertyName("Container")]
diff --git a/src/Docker.DotNet/Models/NetworkResponse.Generated.cs b/src/Docker.DotNet/Models/NetworkResponse.Generated.cs
index e8e91e87..f4d428b3 100644
--- a/src/Docker.DotNet/Models/NetworkResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkResponse.Generated.cs
@@ -1,6 +1,11 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Inspect The body of the "get network" http response message.
+ ///
+ /// swagger:model Inspect
+ ///
public class NetworkResponse // (network.Inspect)
{
public NetworkResponse()
@@ -30,60 +35,153 @@ public NetworkResponse(Network Network)
}
}
+ ///
+ /// Name of the network.
+ ///
+ /// Example: my_network
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// ID that uniquely identifies a network on a single machine.
+ ///
+ /// Example: 7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// Date and time at which the network was created in
+ /// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
+ ///
+ /// Example: 2016-10-19T04:33:30.360899459Z
+ ///
[JsonPropertyName("Created")]
public DateTime Created { get; set; } = default!;
+ ///
+ /// The level at which the network exists (e.g. `swarm` for cluster-wide
+ /// or `local` for machine level)
+ ///
+ /// Example: local
+ ///
[JsonPropertyName("Scope")]
public string Scope { get; set; } = default!;
+ ///
+ /// The name of the driver used to create the network (e.g. `bridge`,
+ /// `overlay`).
+ ///
+ /// Example: overlay
+ ///
[JsonPropertyName("Driver")]
public string Driver { get; set; } = default!;
+ ///
+ /// Whether the network was created with IPv4 enabled.
+ ///
+ /// Example: true
+ ///
[JsonPropertyName("EnableIPv4")]
public bool EnableIPv4 { get; set; } = default!;
+ ///
+ /// Whether the network was created with IPv6 enabled.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("EnableIPv6")]
public bool EnableIPv6 { get; set; } = default!;
+ ///
+ /// The network's IP Address Management.
+ ///
[JsonPropertyName("IPAM")]
public IPAM IPAM { get; set; } = default!;
+ ///
+ /// Whether the network is created to only allow internal networking
+ /// connectivity.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("Internal")]
public bool Internal { get; set; } = default!;
+ ///
+ /// Whether a global / swarm scope network is manually attachable by regular
+ /// containers from workers in swarm mode.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("Attachable")]
public bool Attachable { get; set; } = default!;
+ ///
+ /// Whether the network is providing the routing-mesh for the swarm cluster.
+ ///
+ /// Example: false
+ ///
[JsonPropertyName("Ingress")]
public bool Ingress { get; set; } = default!;
+ ///
+ /// config from
+ ///
[JsonPropertyName("ConfigFrom")]
public ConfigReference ConfigFrom { get; set; } = default!;
+ ///
+ /// Whether the network is a config-only network. Config-only networks are
+ /// placeholder networks for network configurations to be used by other
+ /// networks. Config-only networks cannot be used directly to run containers
+ /// or services.
+ ///
[JsonPropertyName("ConfigOnly")]
public bool ConfigOnly { get; set; } = default!;
+ ///
+ /// Network-specific options uses when creating the network.
+ ///
+ /// Example: {"com.docker.network.bridge.default_bridge":"true","com.docker.network.bridge.enable_icc":"true","com.docker.network.bridge.enable_ip_masquerade":"true","com.docker.network.bridge.host_binding_ipv4":"0.0.0.0","com.docker.network.bridge.name":"docker0","com.docker.network.driver.mtu":"1500"}
+ ///
[JsonPropertyName("Options")]
public IDictionary Options { get; set; } = default!;
+ ///
+ /// Metadata specific to the network being created.
+ ///
+ /// Example: {"com.example.some-label":"some-value","com.example.some-other-label":"some-other-value"}
+ ///
[JsonPropertyName("Labels")]
public IDictionary Labels { get; set; } = default!;
+ ///
+ /// List of peer nodes for an overlay network. This field is only present
+ /// for overlay networks, and omitted for other network types.
+ ///
[JsonPropertyName("Peers")]
public IList? Peers { get; set; }
+ ///
+ /// Contains endpoints attached to the network.
+ ///
+ /// Example: {"19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c":{"EndpointID":"628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a","IPv4Address":"172.19.0.2/16","IPv6Address":"","MacAddress":"02:42:ac:13:00:02","Name":"test"}}
+ ///
[JsonPropertyName("Containers")]
public IDictionary Containers { get; set; } = default!;
+ ///
+ /// List of services using the network. This field is only present for
+ /// swarm scope networks, and omitted for local scope networks.
+ ///
[JsonPropertyName("Services")]
public IDictionary? Services { get; set; }
+ ///
+ /// provides runtime information about the network such as the number of allocated IPs.
+ ///
[JsonPropertyName("Status")]
public Status? Status { get; set; }
}
diff --git a/src/Docker.DotNet/Models/NetworkSettings.Generated.cs b/src/Docker.DotNet/Models/NetworkSettings.Generated.cs
index 09f1be22..97d41d93 100644
--- a/src/Docker.DotNet/Models/NetworkSettings.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkSettings.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkSettings exposes the network settings in the api
+ ///
public class NetworkSettings // (container.NetworkSettings)
{
[JsonPropertyName("SandboxID")]
@@ -9,6 +12,9 @@ public class NetworkSettings // (container.NetworkSettings)
[JsonPropertyName("SandboxKey")]
public string SandboxKey { get; set; } = default!;
+ ///
+ /// Ports is a collection of [network.PortBinding] indexed by [network.Port]
+ ///
[JsonPropertyName("Ports")]
public IDictionary> Ports { get; set; } = default!;
diff --git a/src/Docker.DotNet/Models/NetworkSettingsSummary.Generated.cs b/src/Docker.DotNet/Models/NetworkSettingsSummary.Generated.cs
index 54473331..898ee823 100644
--- a/src/Docker.DotNet/Models/NetworkSettingsSummary.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkSettingsSummary.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkSettingsSummary provides a summary of container's networks
+ /// in /containers/json
+ ///
public class NetworkSettingsSummary // (container.NetworkSettingsSummary)
{
[JsonPropertyName("Networks")]
diff --git a/src/Docker.DotNet/Models/NetworkSpec.Generated.cs b/src/Docker.DotNet/Models/NetworkSpec.Generated.cs
index 0f41806f..9a19c14d 100644
--- a/src/Docker.DotNet/Models/NetworkSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkSpec represents the spec of a network.
+ ///
public class NetworkSpec // (swarm.NetworkSpec)
{
public NetworkSpec()
diff --git a/src/Docker.DotNet/Models/NetworkStats.Generated.cs b/src/Docker.DotNet/Models/NetworkStats.Generated.cs
index d9d43811..027a2e54 100644
--- a/src/Docker.DotNet/Models/NetworkStats.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkStats.Generated.cs
@@ -1,35 +1,70 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkStats aggregates the network stats of one container
+ ///
public class NetworkStats // (container.NetworkStats)
{
+ ///
+ /// Bytes received. Windows and Linux.
+ ///
[JsonPropertyName("rx_bytes")]
public ulong RxBytes { get; set; } = default!;
+ ///
+ /// Packets received. Windows and Linux.
+ ///
[JsonPropertyName("rx_packets")]
public ulong RxPackets { get; set; } = default!;
+ ///
+ /// Received errors. Not used on Windows. Note that we don't `omitempty` this
+ /// field as it is expected in the >=v1.21 API stats structure.
+ ///
[JsonPropertyName("rx_errors")]
public ulong RxErrors { get; set; } = default!;
+ ///
+ /// Incoming packets dropped. Windows and Linux.
+ ///
[JsonPropertyName("rx_dropped")]
public ulong RxDropped { get; set; } = default!;
+ ///
+ /// Bytes sent. Windows and Linux.
+ ///
[JsonPropertyName("tx_bytes")]
public ulong TxBytes { get; set; } = default!;
+ ///
+ /// Packets sent. Windows and Linux.
+ ///
[JsonPropertyName("tx_packets")]
public ulong TxPackets { get; set; } = default!;
+ ///
+ /// Sent errors. Not used on Windows. Note that we don't `omitempty` this
+ /// field as it is expected in the >=v1.21 API stats structure.
+ ///
[JsonPropertyName("tx_errors")]
public ulong TxErrors { get; set; } = default!;
+ ///
+ /// Outgoing packets dropped. Windows and Linux.
+ ///
[JsonPropertyName("tx_dropped")]
public ulong TxDropped { get; set; } = default!;
+ ///
+ /// Endpoint ID. Not used on Linux.
+ ///
[JsonPropertyName("endpoint_id")]
public string? EndpointID { get; set; }
+ ///
+ /// Instance ID. Not used on Linux.
+ ///
[JsonPropertyName("instance_id")]
public string? InstanceID { get; set; }
}
diff --git a/src/Docker.DotNet/Models/NetworkTask.Generated.cs b/src/Docker.DotNet/Models/NetworkTask.Generated.cs
index fef8a4e6..01381180 100644
--- a/src/Docker.DotNet/Models/NetworkTask.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkTask.Generated.cs
@@ -1,17 +1,34 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Task carries the information about one backend task
+ ///
+ /// swagger:model Task
+ ///
public class NetworkTask // (network.Task)
{
+ ///
+ /// name
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// endpoint ID
+ ///
[JsonPropertyName("EndpointID")]
public string EndpointID { get; set; } = default!;
+ ///
+ /// endpoint IP
+ ///
[JsonPropertyName("EndpointIP")]
public string EndpointIP { get; set; } = default!;
+ ///
+ /// info
+ ///
[JsonPropertyName("Info")]
public IDictionary Info { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/NetworkingConfig.Generated.cs b/src/Docker.DotNet/Models/NetworkingConfig.Generated.cs
index c1185520..02f2b690 100644
--- a/src/Docker.DotNet/Models/NetworkingConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworkingConfig.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkingConfig represents the container's networking configuration for each of its interfaces
+ /// Carries the networking configs specified in the `docker run` and `docker network connect` commands
+ ///
public class NetworkingConfig // (network.NetworkingConfig)
{
[JsonPropertyName("EndpointsConfig")]
diff --git a/src/Docker.DotNet/Models/NetworksCreateParameters.Generated.cs b/src/Docker.DotNet/Models/NetworksCreateParameters.Generated.cs
index be909822..74bef27a 100644
--- a/src/Docker.DotNet/Models/NetworksCreateParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworksCreateParameters.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CreateRequest is the request message sent to the server for network create call.
+ ///
public class NetworksCreateParameters // (network.CreateRequest)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/NetworksCreateResponse.Generated.cs b/src/Docker.DotNet/Models/NetworksCreateResponse.Generated.cs
index bd5c78c1..31dcfaa6 100644
--- a/src/Docker.DotNet/Models/NetworksCreateResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworksCreateResponse.Generated.cs
@@ -1,11 +1,27 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// CreateResponse NetworkCreateResponse
+ ///
+ /// # OK response to NetworkCreate operation
+ ///
+ /// swagger:model CreateResponse
+ ///
public class NetworksCreateResponse // (network.CreateResponse)
{
+ ///
+ /// The ID of the created network.
+ /// Example: b5c4fc71e8022147cd25de22b22173de4e3b170134117172eb595cb91b4e7e5d
+ /// Required: true
+ ///
[JsonPropertyName("Id")]
public string ID { get; set; } = default!;
+ ///
+ /// Warnings encountered when creating the container
+ /// Required: true
+ ///
[JsonPropertyName("Warning")]
public string Warning { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/NetworksPruneResponse.Generated.cs b/src/Docker.DotNet/Models/NetworksPruneResponse.Generated.cs
index ffe5afcd..876428d5 100644
--- a/src/Docker.DotNet/Models/NetworksPruneResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/NetworksPruneResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PruneReport contains the response for Engine API:
+ /// POST "/networks/prune"
+ ///
public class NetworksPruneResponse // (network.PruneReport)
{
[JsonPropertyName("NetworksDeleted")]
diff --git a/src/Docker.DotNet/Models/NodeCSIInfo.Generated.cs b/src/Docker.DotNet/Models/NodeCSIInfo.Generated.cs
index 7f08ef21..8348f496 100644
--- a/src/Docker.DotNet/Models/NodeCSIInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/NodeCSIInfo.Generated.cs
@@ -1,17 +1,35 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NodeCSIInfo represents information about a CSI plugin available on the node
+ ///
public class NodeCSIInfo // (swarm.NodeCSIInfo)
{
+ ///
+ /// PluginName is the name of the CSI plugin.
+ ///
[JsonPropertyName("PluginName")]
public string? PluginName { get; set; }
+ ///
+ /// NodeID is the ID of the node as reported by the CSI plugin. This is
+ /// different from the swarm node ID.
+ ///
[JsonPropertyName("NodeID")]
public string? NodeID { get; set; }
+ ///
+ /// MaxVolumesPerNode is the maximum number of volumes that may be published
+ /// to this node
+ ///
[JsonPropertyName("MaxVolumesPerNode")]
public long? MaxVolumesPerNode { get; set; }
+ ///
+ /// AccessibleTopology indicates the location of this node in the CSI
+ /// plugin's topology
+ ///
[JsonPropertyName("AccessibleTopology")]
public Topology? AccessibleTopology { get; set; }
}
diff --git a/src/Docker.DotNet/Models/NodeDescription.Generated.cs b/src/Docker.DotNet/Models/NodeDescription.Generated.cs
index 3863c768..58c45290 100644
--- a/src/Docker.DotNet/Models/NodeDescription.Generated.cs
+++ b/src/Docker.DotNet/Models/NodeDescription.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NodeDescription represents the description of a node.
+ ///
public class NodeDescription // (swarm.NodeDescription)
{
[JsonPropertyName("Hostname")]
diff --git a/src/Docker.DotNet/Models/NodeListResponse.Generated.cs b/src/Docker.DotNet/Models/NodeListResponse.Generated.cs
index fa5f2506..d7e93a03 100644
--- a/src/Docker.DotNet/Models/NodeListResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/NodeListResponse.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Node represents a node.
+ ///
public class NodeListResponse // (swarm.Node)
{
public NodeListResponse()
@@ -29,15 +32,30 @@ public NodeListResponse(Meta Meta)
[JsonPropertyName("UpdatedAt")]
public DateTime? UpdatedAt { get; set; }
+ ///
+ /// Spec defines the desired state of the node as specified by the user.
+ /// The system will honor this and will *never* modify it.
+ ///
[JsonPropertyName("Spec")]
public NodeUpdateParameters? Spec { get; set; }
+ ///
+ /// Description encapsulates the properties of the Node as reported by the
+ /// agent.
+ ///
[JsonPropertyName("Description")]
public NodeDescription? Description { get; set; }
+ ///
+ /// Status provides the current status of the node, as seen by the manager.
+ ///
[JsonPropertyName("Status")]
public NodeStatus? Status { get; set; }
+ ///
+ /// ManagerStatus provides the current status of the node's manager
+ /// component, if the node is a manager.
+ ///
[JsonPropertyName("ManagerStatus")]
public ManagerStatus? ManagerStatus { get; set; }
}
diff --git a/src/Docker.DotNet/Models/NodeStatus.Generated.cs b/src/Docker.DotNet/Models/NodeStatus.Generated.cs
index 9ff5d3f9..35fb6bd1 100644
--- a/src/Docker.DotNet/Models/NodeStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/NodeStatus.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NodeStatus represents the status of a node.
+ ///
public class NodeStatus // (swarm.NodeStatus)
{
[JsonPropertyName("State")]
diff --git a/src/Docker.DotNet/Models/NodeUpdateParameters.Generated.cs b/src/Docker.DotNet/Models/NodeUpdateParameters.Generated.cs
index 70e73681..af3f89ce 100644
--- a/src/Docker.DotNet/Models/NodeUpdateParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/NodeUpdateParameters.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NodeSpec represents the spec of a node.
+ ///
public class NodeUpdateParameters // (swarm.NodeSpec)
{
public NodeUpdateParameters()
diff --git a/src/Docker.DotNet/Models/OrchestrationConfig.Generated.cs b/src/Docker.DotNet/Models/OrchestrationConfig.Generated.cs
index 05cdf4dd..c0838787 100644
--- a/src/Docker.DotNet/Models/OrchestrationConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/OrchestrationConfig.Generated.cs
@@ -1,8 +1,15 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// OrchestrationConfig represents orchestration configuration.
+ ///
public class OrchestrationConfig // (swarm.OrchestrationConfig)
{
+ ///
+ /// TaskHistoryRetentionLimit is the number of historic tasks to keep per instance or
+ /// node. If negative, never remove completed or failed tasks.
+ ///
[JsonPropertyName("TaskHistoryRetentionLimit")]
public long? TaskHistoryRetentionLimit { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Peer.Generated.cs b/src/Docker.DotNet/Models/Peer.Generated.cs
index 10664463..ecc2acd7 100644
--- a/src/Docker.DotNet/Models/Peer.Generated.cs
+++ b/src/Docker.DotNet/Models/Peer.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Peer represents a peer.
+ ///
public class Peer // (swarm.Peer)
{
[JsonPropertyName("NodeID")]
diff --git a/src/Docker.DotNet/Models/PeerInfo.Generated.cs b/src/Docker.DotNet/Models/PeerInfo.Generated.cs
index c6c29709..fbc4a058 100644
--- a/src/Docker.DotNet/Models/PeerInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/PeerInfo.Generated.cs
@@ -1,11 +1,24 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PeerInfo represents one peer of an overlay network.
+ ///
+ /// swagger:model PeerInfo
+ ///
public class PeerInfo // (network.PeerInfo)
{
+ ///
+ /// ID of the peer-node in the Swarm cluster.
+ /// Example: 6869d7c1732b
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// IP-address of the peer-node in the Swarm cluster.
+ /// Example: 10.133.77.91
+ ///
[JsonPropertyName("IP")]
public string IP { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PidsStats.Generated.cs b/src/Docker.DotNet/Models/PidsStats.Generated.cs
index fa55fe77..424e3f20 100644
--- a/src/Docker.DotNet/Models/PidsStats.Generated.cs
+++ b/src/Docker.DotNet/Models/PidsStats.Generated.cs
@@ -1,11 +1,21 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PidsStats contains the stats of a container's pids
+ ///
public class PidsStats // (container.PidsStats)
{
+ ///
+ /// Current is the number of pids in the cgroup
+ ///
[JsonPropertyName("current")]
public ulong? Current { get; set; }
+ ///
+ /// Limit is the hard limit on the number of pids in the cgroup.
+ /// A "Limit" of 0 means that there is no limit.
+ ///
[JsonPropertyName("limit")]
public ulong? Limit { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Placement.Generated.cs b/src/Docker.DotNet/Models/Placement.Generated.cs
index 250f5116..dfd2a264 100644
--- a/src/Docker.DotNet/Models/Placement.Generated.cs
+++ b/src/Docker.DotNet/Models/Placement.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Placement represents orchestration parameters.
+ ///
public class Placement // (swarm.Placement)
{
[JsonPropertyName("Constraints")]
@@ -12,6 +15,11 @@ public class Placement // (swarm.Placement)
[JsonPropertyName("MaxReplicas")]
public ulong? MaxReplicas { get; set; }
+ ///
+ /// Platforms stores all the platforms that the image can run on.
+ /// This field is used in the platform filter for scheduling. If empty,
+ /// then the platform filter is off, meaning there are no scheduling restrictions.
+ ///
[JsonPropertyName("Platforms")]
public IList? Platforms { get; set; }
}
diff --git a/src/Docker.DotNet/Models/PlacementPreference.Generated.cs b/src/Docker.DotNet/Models/PlacementPreference.Generated.cs
index 63666224..05318255 100644
--- a/src/Docker.DotNet/Models/PlacementPreference.Generated.cs
+++ b/src/Docker.DotNet/Models/PlacementPreference.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PlacementPreference provides a way to make the scheduler aware of factors
+ /// such as topology.
+ ///
public class PlacementPreference // (swarm.PlacementPreference)
{
[JsonPropertyName("Spread")]
diff --git a/src/Docker.DotNet/Models/PlatformInfo.Generated.cs b/src/Docker.DotNet/Models/PlatformInfo.Generated.cs
index 232c5064..64d77242 100644
--- a/src/Docker.DotNet/Models/PlatformInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/PlatformInfo.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PlatformInfo holds information about the platform (product name) the
+ /// server is running on.
+ ///
public class PlatformInfo // (system.PlatformInfo)
{
+ ///
+ /// Name is the name of the platform (for example, "Docker Engine - Community",
+ /// or "Docker Desktop 4.49.0 (208003)")
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Plugin.Generated.cs b/src/Docker.DotNet/Models/Plugin.Generated.cs
index d9a9ed4d..e5cbc3f7 100644
--- a/src/Docker.DotNet/Models/Plugin.Generated.cs
+++ b/src/Docker.DotNet/Models/Plugin.Generated.cs
@@ -1,23 +1,54 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Plugin A plugin for the Engine API
+ ///
+ /// swagger:model Plugin
+ ///
public class Plugin // (plugin.Plugin)
{
+ ///
+ /// config
+ /// Required: true
+ ///
[JsonPropertyName("Config")]
public PluginConfig Config { get; set; } = default!;
+ ///
+ /// True if the plugin is running. False if the plugin is not running, only installed.
+ /// Example: true
+ /// Required: true
+ ///
[JsonPropertyName("Enabled")]
public bool Enabled { get; set; } = default!;
+ ///
+ /// Id
+ /// Example: 5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078
+ ///
[JsonPropertyName("Id")]
public string? ID { get; set; }
+ ///
+ /// name
+ /// Example: tiborvass/sample-volume-plugin
+ /// Required: true
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// plugin remote reference used to push/pull the plugin
+ /// Example: localhost:5000/tiborvass/sample-volume-plugin:latest
+ ///
[JsonPropertyName("PluginReference")]
public string? PluginReference { get; set; }
+ ///
+ /// settings
+ /// Required: true
+ ///
[JsonPropertyName("Settings")]
public PluginSettings Settings { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginArgs.Generated.cs b/src/Docker.DotNet/Models/PluginArgs.Generated.cs
index e255fa09..a7edcdd6 100644
--- a/src/Docker.DotNet/Models/PluginArgs.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginArgs.Generated.cs
@@ -1,17 +1,40 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Args args
+ ///
+ /// swagger:model Args
+ ///
public class PluginArgs // (plugin.Args)
{
+ ///
+ /// description
+ /// Example: command line arguments
+ /// Required: true
+ ///
[JsonPropertyName("Description")]
public string Description { get; set; } = default!;
+ ///
+ /// name
+ /// Example: args
+ /// Required: true
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// settable
+ /// Required: true
+ ///
[JsonPropertyName("Settable")]
public IList Settable { get; set; } = default!;
+ ///
+ /// value
+ /// Required: true
+ ///
[JsonPropertyName("Value")]
public IList Value { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginConfig.Generated.cs b/src/Docker.DotNet/Models/PluginConfig.Generated.cs
index 1efd74e4..91f3e240 100644
--- a/src/Docker.DotNet/Models/PluginConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginConfig.Generated.cs
@@ -1,50 +1,121 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Config The config of a plugin.
+ ///
+ /// swagger:model Config
+ ///
public class PluginConfig // (plugin.Config)
{
+ ///
+ /// args
+ /// Required: true
+ ///
[JsonPropertyName("Args")]
public PluginArgs Args { get; set; } = default!;
+ ///
+ /// description
+ /// Example: A sample volume plugin for Docker
+ /// Required: true
+ ///
[JsonPropertyName("Description")]
public string Description { get; set; } = default!;
+ ///
+ /// documentation
+ /// Example: https://docs.docker.com/engine/extend/plugins/
+ /// Required: true
+ ///
[JsonPropertyName("Documentation")]
public string Documentation { get; set; } = default!;
+ ///
+ /// entrypoint
+ /// Example: ["/usr/bin/sample-volume-plugin","/data"]
+ /// Required: true
+ ///
[JsonPropertyName("Entrypoint")]
public IList Entrypoint { get; set; } = default!;
+ ///
+ /// env
+ /// Example: [{"Description":"If set, prints debug messages","Name":"DEBUG","Settable":null,"Value":"0"}]
+ /// Required: true
+ ///
[JsonPropertyName("Env")]
public IList Env { get; set; } = default!;
+ ///
+ /// interface
+ /// Required: true
+ ///
[JsonPropertyName("Interface")]
public PluginInterface Interface { get; set; } = default!;
+ ///
+ /// ipc host
+ /// Example: false
+ /// Required: true
+ ///
[JsonPropertyName("IpcHost")]
public bool IpcHost { get; set; } = default!;
+ ///
+ /// linux
+ /// Required: true
+ ///
[JsonPropertyName("Linux")]
public PluginLinuxConfig Linux { get; set; } = default!;
+ ///
+ /// mounts
+ /// Required: true
+ ///
[JsonPropertyName("Mounts")]
public IList Mounts { get; set; } = default!;
+ ///
+ /// network
+ /// Required: true
+ ///
[JsonPropertyName("Network")]
public PluginNetworkConfig Network { get; set; } = default!;
+ ///
+ /// pid host
+ /// Example: false
+ /// Required: true
+ ///
[JsonPropertyName("PidHost")]
public bool PidHost { get; set; } = default!;
+ ///
+ /// propagated mount
+ /// Example: /mnt/volumes
+ /// Required: true
+ ///
[JsonPropertyName("PropagatedMount")]
public string PropagatedMount { get; set; } = default!;
+ ///
+ /// user
+ ///
[JsonPropertyName("User")]
public PluginUser? User { get; set; }
+ ///
+ /// work dir
+ /// Example: /bin/
+ /// Required: true
+ ///
[JsonPropertyName("WorkDir")]
public string WorkDir { get; set; } = default!;
+ ///
+ /// rootfs
+ ///
[JsonPropertyName("rootfs")]
public PluginRootFS? Rootfs { get; set; }
}
diff --git a/src/Docker.DotNet/Models/PluginDescription.Generated.cs b/src/Docker.DotNet/Models/PluginDescription.Generated.cs
index 2d89a476..b6855453 100644
--- a/src/Docker.DotNet/Models/PluginDescription.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginDescription.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PluginDescription represents the description of an engine plugin.
+ ///
public class PluginDescription // (swarm.PluginDescription)
{
[JsonPropertyName("Type")]
diff --git a/src/Docker.DotNet/Models/PluginDevice.Generated.cs b/src/Docker.DotNet/Models/PluginDevice.Generated.cs
index a10480c2..efb16504 100644
--- a/src/Docker.DotNet/Models/PluginDevice.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginDevice.Generated.cs
@@ -1,17 +1,39 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Device device
+ ///
+ /// swagger:model Device
+ ///
public class PluginDevice // (plugin.Device)
{
+ ///
+ /// description
+ /// Required: true
+ ///
[JsonPropertyName("Description")]
public string Description { get; set; } = default!;
+ ///
+ /// name
+ /// Required: true
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// path
+ /// Example: /dev/fuse
+ /// Required: true
+ ///
[JsonPropertyName("Path")]
public string? Path { get; set; }
+ ///
+ /// settable
+ /// Required: true
+ ///
[JsonPropertyName("Settable")]
public IList Settable { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginEnv.Generated.cs b/src/Docker.DotNet/Models/PluginEnv.Generated.cs
index 9c0487d2..4a00fa6e 100644
--- a/src/Docker.DotNet/Models/PluginEnv.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginEnv.Generated.cs
@@ -1,17 +1,38 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Env env
+ ///
+ /// swagger:model Env
+ ///
public class PluginEnv // (plugin.Env)
{
+ ///
+ /// description
+ /// Required: true
+ ///
[JsonPropertyName("Description")]
public string Description { get; set; } = default!;
+ ///
+ /// name
+ /// Required: true
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// settable
+ /// Required: true
+ ///
[JsonPropertyName("Settable")]
public IList Settable { get; set; } = default!;
+ ///
+ /// value
+ /// Required: true
+ ///
[JsonPropertyName("Value")]
public string? Value { get; set; }
}
diff --git a/src/Docker.DotNet/Models/PluginInterface.Generated.cs b/src/Docker.DotNet/Models/PluginInterface.Generated.cs
index ab60d9d9..81aa1df3 100644
--- a/src/Docker.DotNet/Models/PluginInterface.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginInterface.Generated.cs
@@ -1,14 +1,34 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Interface The interface between Docker and the plugin
+ ///
+ /// swagger:model Interface
+ ///
public class PluginInterface // (plugin.Interface)
{
+ ///
+ /// Protocol to use for clients connecting to the plugin.
+ /// Example: some.protocol/v1.0
+ /// Enum: ["","moby.plugins.http/v1"]
+ ///
[JsonPropertyName("ProtocolScheme")]
public string? ProtocolScheme { get; set; }
+ ///
+ /// socket
+ /// Example: plugins.sock
+ /// Required: true
+ ///
[JsonPropertyName("Socket")]
public string Socket { get; set; } = default!;
+ ///
+ /// types
+ /// Example: ["docker.volumedriver/1.0"]
+ /// Required: true
+ ///
[JsonPropertyName("Types")]
public IList Types { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginLinuxConfig.Generated.cs b/src/Docker.DotNet/Models/PluginLinuxConfig.Generated.cs
index 4e6d9370..286e8b7b 100644
--- a/src/Docker.DotNet/Models/PluginLinuxConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginLinuxConfig.Generated.cs
@@ -1,14 +1,33 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// LinuxConfig linux config
+ ///
+ /// swagger:model LinuxConfig
+ ///
public class PluginLinuxConfig // (plugin.LinuxConfig)
{
+ ///
+ /// allow all devices
+ /// Example: false
+ /// Required: true
+ ///
[JsonPropertyName("AllowAllDevices")]
public bool AllowAllDevices { get; set; } = default!;
+ ///
+ /// capabilities
+ /// Example: ["CAP_SYS_ADMIN","CAP_SYSLOG"]
+ /// Required: true
+ ///
[JsonPropertyName("Capabilities")]
public IList Capabilities { get; set; } = default!;
+ ///
+ /// devices
+ /// Required: true
+ ///
[JsonPropertyName("Devices")]
public IList Devices { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginMount.Generated.cs b/src/Docker.DotNet/Models/PluginMount.Generated.cs
index 75583368..d98bb4bc 100644
--- a/src/Docker.DotNet/Models/PluginMount.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginMount.Generated.cs
@@ -1,26 +1,65 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Mount mount
+ ///
+ /// swagger:model Mount
+ ///
public class PluginMount // (plugin.Mount)
{
+ ///
+ /// description
+ /// Example: This is a mount that's used by the plugin.
+ /// Required: true
+ ///
[JsonPropertyName("Description")]
public string Description { get; set; } = default!;
+ ///
+ /// destination
+ /// Example: /mnt/state
+ /// Required: true
+ ///
[JsonPropertyName("Destination")]
public string Destination { get; set; } = default!;
+ ///
+ /// name
+ /// Example: some-mount
+ /// Required: true
+ ///
[JsonPropertyName("Name")]
public string Name { get; set; } = default!;
+ ///
+ /// options
+ /// Example: ["rbind","rw"]
+ /// Required: true
+ ///
[JsonPropertyName("Options")]
public IList Options { get; set; } = default!;
+ ///
+ /// settable
+ /// Required: true
+ ///
[JsonPropertyName("Settable")]
public IList Settable { get; set; } = default!;
+ ///
+ /// source
+ /// Example: /var/lib/docker/plugins/
+ /// Required: true
+ ///
[JsonPropertyName("Source")]
public string? Source { get; set; }
+ ///
+ /// type
+ /// Example: bind
+ /// Required: true
+ ///
[JsonPropertyName("Type")]
public string Type { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginNetworkConfig.Generated.cs b/src/Docker.DotNet/Models/PluginNetworkConfig.Generated.cs
index ec1937bd..d3309e60 100644
--- a/src/Docker.DotNet/Models/PluginNetworkConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginNetworkConfig.Generated.cs
@@ -1,8 +1,18 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// NetworkConfig network config
+ ///
+ /// swagger:model NetworkConfig
+ ///
public class PluginNetworkConfig // (plugin.NetworkConfig)
{
+ ///
+ /// type
+ /// Example: host
+ /// Required: true
+ ///
[JsonPropertyName("Type")]
public string Type { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginPrivilege.Generated.cs b/src/Docker.DotNet/Models/PluginPrivilege.Generated.cs
index 14ae979b..89e4fe07 100644
--- a/src/Docker.DotNet/Models/PluginPrivilege.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginPrivilege.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Privilege describes a permission the user has to accept
+ /// upon installing a plugin.
+ ///
public class PluginPrivilege // (plugin.Privilege)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/PluginRootFS.Generated.cs b/src/Docker.DotNet/Models/PluginRootFS.Generated.cs
index d07a2fb3..13e483f2 100644
--- a/src/Docker.DotNet/Models/PluginRootFS.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginRootFS.Generated.cs
@@ -1,11 +1,24 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RootFS root f s
+ ///
+ /// swagger:model RootFS
+ ///
public class PluginRootFS // (plugin.RootFS)
{
+ ///
+ /// diff ids
+ /// Example: ["sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887","sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8"]
+ ///
[JsonPropertyName("diff_ids")]
public IList DiffIds { get; set; } = default!;
+ ///
+ /// type
+ /// Example: layers
+ ///
[JsonPropertyName("type")]
public string? Type { get; set; }
}
diff --git a/src/Docker.DotNet/Models/PluginSettings.Generated.cs b/src/Docker.DotNet/Models/PluginSettings.Generated.cs
index bc5210a4..4b620005 100644
--- a/src/Docker.DotNet/Models/PluginSettings.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginSettings.Generated.cs
@@ -1,17 +1,39 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Settings user-configurable settings for the plugin.
+ ///
+ /// swagger:model Settings
+ ///
public class PluginSettings // (plugin.Settings)
{
+ ///
+ /// args
+ /// Required: true
+ ///
[JsonPropertyName("Args")]
public IList Args { get; set; } = default!;
+ ///
+ /// devices
+ /// Required: true
+ ///
[JsonPropertyName("Devices")]
public IList Devices { get; set; } = default!;
+ ///
+ /// env
+ /// Example: ["DEBUG=0"]
+ /// Required: true
+ ///
[JsonPropertyName("Env")]
public IList Env { get; set; } = default!;
+ ///
+ /// mounts
+ /// Required: true
+ ///
[JsonPropertyName("Mounts")]
public IList Mounts { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PluginUser.Generated.cs b/src/Docker.DotNet/Models/PluginUser.Generated.cs
index a0cbf33d..a713fa85 100644
--- a/src/Docker.DotNet/Models/PluginUser.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginUser.Generated.cs
@@ -1,11 +1,24 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// User user
+ ///
+ /// swagger:model User
+ ///
public class PluginUser // (plugin.User)
{
+ ///
+ /// g ID
+ /// Example: 1000
+ ///
[JsonPropertyName("GID")]
public uint? GID { get; set; }
+ ///
+ /// UID
+ /// Example: 1000
+ ///
[JsonPropertyName("UID")]
public uint? UID { get; set; }
}
diff --git a/src/Docker.DotNet/Models/PluginsInfo.Generated.cs b/src/Docker.DotNet/Models/PluginsInfo.Generated.cs
index cc1ec4f4..34a20fa6 100644
--- a/src/Docker.DotNet/Models/PluginsInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/PluginsInfo.Generated.cs
@@ -1,17 +1,33 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PluginsInfo is a temp struct holding Plugins name
+ /// registered with docker daemon. It is used by [Info] struct
+ ///
public class PluginsInfo // (system.PluginsInfo)
{
+ ///
+ /// List of Volume plugins registered
+ ///
[JsonPropertyName("Volume")]
public IList Volume { get; set; } = default!;
+ ///
+ /// List of Network plugins registered
+ ///
[JsonPropertyName("Network")]
public IList Network { get; set; } = default!;
+ ///
+ /// List of Authorization plugins registered
+ ///
[JsonPropertyName("Authorization")]
public IList Authorization { get; set; } = default!;
+ ///
+ /// List of Log plugins registered
+ ///
[JsonPropertyName("Log")]
public IList Log { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PortBinding.Generated.cs b/src/Docker.DotNet/Models/PortBinding.Generated.cs
index 904723f7..2481a044 100644
--- a/src/Docker.DotNet/Models/PortBinding.Generated.cs
+++ b/src/Docker.DotNet/Models/PortBinding.Generated.cs
@@ -1,11 +1,20 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PortBinding represents a binding between a Host IP address and a Host Port.
+ ///
public class PortBinding // (network.PortBinding)
{
+ ///
+ /// HostIP is the host IP Address
+ ///
[JsonPropertyName("HostIp")]
public string HostIP { get; set; } = default!;
+ ///
+ /// HostPort is the host port number
+ ///
[JsonPropertyName("HostPort")]
public string HostPort { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/PortConfig.Generated.cs b/src/Docker.DotNet/Models/PortConfig.Generated.cs
index 4f55f229..88d84a06 100644
--- a/src/Docker.DotNet/Models/PortConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/PortConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PortConfig represents the config of a port.
+ ///
public class PortConfig // (swarm.PortConfig)
{
[JsonPropertyName("Name")]
@@ -9,12 +12,21 @@ public class PortConfig // (swarm.PortConfig)
[JsonPropertyName("Protocol")]
public string? Protocol { get; set; }
+ ///
+ /// TargetPort is the port inside the container
+ ///
[JsonPropertyName("TargetPort")]
public uint? TargetPort { get; set; }
+ ///
+ /// PublishedPort is the port on the swarm hosts
+ ///
[JsonPropertyName("PublishedPort")]
public uint? PublishedPort { get; set; }
+ ///
+ /// PublishMode is the mode in which port is published
+ ///
[JsonPropertyName("PublishMode")]
public string? PublishMode { get; set; }
}
diff --git a/src/Docker.DotNet/Models/PortStatus.Generated.cs b/src/Docker.DotNet/Models/PortStatus.Generated.cs
index e0f6c0de..2cd8c9a8 100644
--- a/src/Docker.DotNet/Models/PortStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/PortStatus.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PortStatus represents the port status of a task's host ports whose
+ /// service has published host ports
+ ///
public class PortStatus // (swarm.PortStatus)
{
[JsonPropertyName("Ports")]
diff --git a/src/Docker.DotNet/Models/PortSummary.Generated.cs b/src/Docker.DotNet/Models/PortSummary.Generated.cs
index 9621f71f..c69ec7e8 100644
--- a/src/Docker.DotNet/Models/PortSummary.Generated.cs
+++ b/src/Docker.DotNet/Models/PortSummary.Generated.cs
@@ -1,17 +1,39 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PortSummary Describes a port-mapping between the container and the host.
+ ///
+ /// Example: {"PrivatePort":8080,"PublicPort":80,"Type":"tcp"}
+ ///
+ /// swagger:model PortSummary
+ ///
public class PortSummary // (container.PortSummary)
{
+ ///
+ /// Host IP address that the container's port is mapped to
+ ///
[JsonPropertyName("IP")]
public string? IP { get; set; }
+ ///
+ /// Port on the container
+ /// Required: true
+ ///
[JsonPropertyName("PrivatePort")]
public ushort PrivatePort { get; set; } = default!;
+ ///
+ /// Port exposed on the host
+ ///
[JsonPropertyName("PublicPort")]
public ushort? PublicPort { get; set; }
+ ///
+ /// type
+ /// Required: true
+ /// Enum: ["tcp","udp","sctp"]
+ ///
[JsonPropertyName("Type")]
public string Type { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Privileges.Generated.cs b/src/Docker.DotNet/Models/Privileges.Generated.cs
index 29f18344..84423e30 100644
--- a/src/Docker.DotNet/Models/Privileges.Generated.cs
+++ b/src/Docker.DotNet/Models/Privileges.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Privileges defines the security options for the container.
+ ///
public class Privileges // (swarm.Privileges)
{
[JsonPropertyName("CredentialSpec")]
diff --git a/src/Docker.DotNet/Models/PublishStatus.Generated.cs b/src/Docker.DotNet/Models/PublishStatus.Generated.cs
index 83855e00..89958533 100644
--- a/src/Docker.DotNet/Models/PublishStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/PublishStatus.Generated.cs
@@ -1,14 +1,28 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PublishStatus represents the status of the volume as published to an
+ /// individual node
+ ///
public class PublishStatus // (volume.PublishStatus)
{
+ ///
+ /// NodeID is the ID of the swarm node this Volume is published to.
+ ///
[JsonPropertyName("NodeID")]
public string? NodeID { get; set; }
+ ///
+ /// State is the publish state of the volume.
+ ///
[JsonPropertyName("State")]
public string? State { get; set; }
+ ///
+ /// PublishContext is the PublishContext returned by the CSI plugin when
+ /// a volume is published.
+ ///
[JsonPropertyName("PublishContext")]
public IDictionary? PublishContext { get; set; }
}
diff --git a/src/Docker.DotNet/Models/RaftConfig.Generated.cs b/src/Docker.DotNet/Models/RaftConfig.Generated.cs
index d29d6d99..f2902bb1 100644
--- a/src/Docker.DotNet/Models/RaftConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/RaftConfig.Generated.cs
@@ -1,20 +1,50 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RaftConfig represents raft configuration.
+ ///
public class RaftConfig // (swarm.RaftConfig)
{
+ ///
+ /// SnapshotInterval is the number of log entries between snapshots.
+ ///
[JsonPropertyName("SnapshotInterval")]
public ulong? SnapshotInterval { get; set; }
+ ///
+ /// KeepOldSnapshots is the number of snapshots to keep beyond the
+ /// current snapshot.
+ ///
[JsonPropertyName("KeepOldSnapshots")]
public ulong? KeepOldSnapshots { get; set; }
+ ///
+ /// LogEntriesForSlowFollowers is the number of log entries to keep
+ /// around to sync up slow followers after a snapshot is created.
+ ///
[JsonPropertyName("LogEntriesForSlowFollowers")]
public ulong? LogEntriesForSlowFollowers { get; set; }
+ ///
+ /// ElectionTick is the number of ticks that a follower will wait for a message
+ /// from the leader before becoming a candidate and starting an election.
+ /// ElectionTick must be greater than HeartbeatTick.
+ ///
+ /// A tick currently defaults to one second, so these translate directly to
+ /// seconds currently, but this is NOT guaranteed.
+ ///
[JsonPropertyName("ElectionTick")]
public long ElectionTick { get; set; } = default!;
+ ///
+ /// HeartbeatTick is the number of ticks between heartbeats. Every
+ /// HeartbeatTick ticks, the leader will send a heartbeat to the
+ /// followers.
+ ///
+ /// A tick currently defaults to one second, so these translate directly to
+ /// seconds currently, but this is NOT guaranteed.
+ ///
[JsonPropertyName("HeartbeatTick")]
public long HeartbeatTick { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ReplicatedJob.Generated.cs b/src/Docker.DotNet/Models/ReplicatedJob.Generated.cs
index 9b1bf954..5648c19c 100644
--- a/src/Docker.DotNet/Models/ReplicatedJob.Generated.cs
+++ b/src/Docker.DotNet/Models/ReplicatedJob.Generated.cs
@@ -1,11 +1,30 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ReplicatedJob is the a type of Service which executes a defined Tasks
+ /// in parallel until the specified number of Tasks have succeeded.
+ ///
public class ReplicatedJob // (swarm.ReplicatedJob)
{
+ ///
+ /// MaxConcurrent indicates the maximum number of Tasks that should be
+ /// executing simultaneously for this job at any given time. There may be
+ /// fewer Tasks that MaxConcurrent executing simultaneously; for example, if
+ /// there are fewer than MaxConcurrent tasks needed to reach
+ /// TotalCompletions.
+ ///
+ /// If this field is empty, it will default to a max concurrency of 1.
+ ///
[JsonPropertyName("MaxConcurrent")]
public ulong? MaxConcurrent { get; set; }
+ ///
+ /// TotalCompletions is the total number of Tasks desired to run to
+ /// completion.
+ ///
+ /// If this field is empty, the value of MaxConcurrent will be used.
+ ///
[JsonPropertyName("TotalCompletions")]
public ulong? TotalCompletions { get; set; }
}
diff --git a/src/Docker.DotNet/Models/ReplicatedService.Generated.cs b/src/Docker.DotNet/Models/ReplicatedService.Generated.cs
index 2e05f8e4..92e1406e 100644
--- a/src/Docker.DotNet/Models/ReplicatedService.Generated.cs
+++ b/src/Docker.DotNet/Models/ReplicatedService.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ReplicatedService is a kind of ServiceMode.
+ ///
public class ReplicatedService // (swarm.ReplicatedService)
{
[JsonPropertyName("Replicas")]
diff --git a/src/Docker.DotNet/Models/ResourceRequirements.Generated.cs b/src/Docker.DotNet/Models/ResourceRequirements.Generated.cs
index 2e578fbd..a4e9d7cb 100644
--- a/src/Docker.DotNet/Models/ResourceRequirements.Generated.cs
+++ b/src/Docker.DotNet/Models/ResourceRequirements.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ResourceRequirements represents resources requirements.
+ ///
public class ResourceRequirements // (swarm.ResourceRequirements)
{
[JsonPropertyName("Limits")]
@@ -9,9 +12,20 @@ public class ResourceRequirements // (swarm.ResourceRequirements)
[JsonPropertyName("Reservations")]
public SwarmResources? Reservations { get; set; }
+ ///
+ /// Amount of swap in bytes - can only be used together with a memory limit
+ /// -1 means unlimited
+ /// a null pointer keeps the default behaviour of granting twice the memory
+ /// amount in swap
+ ///
[JsonPropertyName("SwapBytes")]
public long? SwapBytes { get; set; }
+ ///
+ /// Tune container memory swappiness (0 to 100) - if not specified, defaults
+ /// to the container OS's default - generally 60, or the value predefined in
+ /// the image; set to -1 to unset a previously set value
+ ///
[JsonPropertyName("MemorySwappiness")]
public long? MemorySwappiness { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Resources.Generated.cs b/src/Docker.DotNet/Models/Resources.Generated.cs
index 2e68a6e3..21b7224c 100644
--- a/src/Docker.DotNet/Models/Resources.Generated.cs
+++ b/src/Docker.DotNet/Models/Resources.Generated.cs
@@ -1,8 +1,14 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Resources contains container's resources (cgroups config, ulimits...)
+ ///
public class Resources // (container.Resources)
{
+ ///
+ /// Applicable to all platforms
+ ///
[JsonPropertyName("CpuShares")]
public long CPUShares { get; set; } = default!;
@@ -12,6 +18,9 @@ public class Resources // (container.Resources)
[JsonPropertyName("NanoCpus")]
public long NanoCPUs { get; set; } = default!;
+ ///
+ /// Applicable to UNIX platforms
+ ///
[JsonPropertyName("CgroupParent")]
public string CgroupParent { get; set; } = default!;
@@ -78,6 +87,9 @@ public class Resources // (container.Resources)
[JsonPropertyName("Ulimits")]
public IList Ulimits { get; set; } = default!;
+ ///
+ /// Applicable to Windows
+ ///
[JsonPropertyName("CpuCount")]
public long CPUCount { get; set; } = default!;
diff --git a/src/Docker.DotNet/Models/RestartPolicy.Generated.cs b/src/Docker.DotNet/Models/RestartPolicy.Generated.cs
index dffd325f..10963f03 100644
--- a/src/Docker.DotNet/Models/RestartPolicy.Generated.cs
+++ b/src/Docker.DotNet/Models/RestartPolicy.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RestartPolicy represents the restart policies of the container.
+ ///
public class RestartPolicy // (container.RestartPolicy)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/RootFS.Generated.cs b/src/Docker.DotNet/Models/RootFS.Generated.cs
index f5464f13..f3888f60 100644
--- a/src/Docker.DotNet/Models/RootFS.Generated.cs
+++ b/src/Docker.DotNet/Models/RootFS.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RootFS returns Image's RootFS description including the layer IDs.
+ ///
public class RootFS // (image.RootFS)
{
[JsonPropertyName("Type")]
diff --git a/src/Docker.DotNet/Models/RootFSStorage.Generated.cs b/src/Docker.DotNet/Models/RootFSStorage.Generated.cs
index 44507f8a..8da09297 100644
--- a/src/Docker.DotNet/Models/RootFSStorage.Generated.cs
+++ b/src/Docker.DotNet/Models/RootFSStorage.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RootFSStorage Information about the storage used for the container's root filesystem.
+ ///
+ /// swagger:model RootFSStorage
+ ///
public class RootFSStorage // (storage.RootFSStorage)
{
+ ///
+ /// Information about the snapshot used for the container's root filesystem.
+ ///
[JsonPropertyName("Snapshot")]
public RootFSStorageSnapshot? Snapshot { get; set; }
}
diff --git a/src/Docker.DotNet/Models/RootFSStorageSnapshot.Generated.cs b/src/Docker.DotNet/Models/RootFSStorageSnapshot.Generated.cs
index 75e73e1d..3b09d938 100644
--- a/src/Docker.DotNet/Models/RootFSStorageSnapshot.Generated.cs
+++ b/src/Docker.DotNet/Models/RootFSStorageSnapshot.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RootFSStorageSnapshot Information about a snapshot backend of the container's root filesystem.
+ ///
+ /// swagger:model RootFSStorageSnapshot
+ ///
public class RootFSStorageSnapshot // (storage.RootFSStorageSnapshot)
{
+ ///
+ /// Name of the snapshotter.
+ ///
[JsonPropertyName("Name")]
public string? Name { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Runtime.Generated.cs b/src/Docker.DotNet/Models/Runtime.Generated.cs
index 43fb2e2a..37f04c9d 100644
--- a/src/Docker.DotNet/Models/Runtime.Generated.cs
+++ b/src/Docker.DotNet/Models/Runtime.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Runtime describes an OCI runtime
+ ///
public class Runtime // (system.Runtime)
{
[JsonPropertyName("path")]
diff --git a/src/Docker.DotNet/Models/RuntimePrivilege.Generated.cs b/src/Docker.DotNet/Models/RuntimePrivilege.Generated.cs
index 504451ef..a04fb912 100644
--- a/src/Docker.DotNet/Models/RuntimePrivilege.Generated.cs
+++ b/src/Docker.DotNet/Models/RuntimePrivilege.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RuntimePrivilege describes a permission the user has to accept
+ /// upon installing a plugin.
+ ///
public class RuntimePrivilege // (swarm.RuntimePrivilege)
{
[JsonPropertyName("name")]
diff --git a/src/Docker.DotNet/Models/RuntimeWithStatus.Generated.cs b/src/Docker.DotNet/Models/RuntimeWithStatus.Generated.cs
index a83c26fc..61681689 100644
--- a/src/Docker.DotNet/Models/RuntimeWithStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/RuntimeWithStatus.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RuntimeWithStatus extends [Runtime] to hold [RuntimeStatus].
+ ///
public class RuntimeWithStatus // (system.RuntimeWithStatus)
{
public RuntimeWithStatus()
diff --git a/src/Docker.DotNet/Models/SELinuxContext.Generated.cs b/src/Docker.DotNet/Models/SELinuxContext.Generated.cs
index ac5a240f..89a6d003 100644
--- a/src/Docker.DotNet/Models/SELinuxContext.Generated.cs
+++ b/src/Docker.DotNet/Models/SELinuxContext.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SELinuxContext contains the SELinux labels of the container.
+ ///
public class SELinuxContext // (swarm.SELinuxContext)
{
[JsonPropertyName("Disable")]
diff --git a/src/Docker.DotNet/Models/SeccompOpts.Generated.cs b/src/Docker.DotNet/Models/SeccompOpts.Generated.cs
index cbad1acc..4188c70c 100644
--- a/src/Docker.DotNet/Models/SeccompOpts.Generated.cs
+++ b/src/Docker.DotNet/Models/SeccompOpts.Generated.cs
@@ -1,11 +1,23 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SeccompOpts defines the options for configuring seccomp on a swarm-managed
+ /// container.
+ ///
public class SeccompOpts // (swarm.SeccompOpts)
{
+ ///
+ /// Mode is the SeccompMode used for the container.
+ ///
[JsonPropertyName("Mode")]
public string? Mode { get; set; }
+ ///
+ /// Profile is the custom seccomp profile as a json object to be used with
+ /// the container. Mode should be set to SeccompModeCustom when using a
+ /// custom profile in this manner.
+ ///
[JsonPropertyName("Profile")]
public IList? Profile { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Secret.Generated.cs b/src/Docker.DotNet/Models/Secret.Generated.cs
index a288ef92..38bdab89 100644
--- a/src/Docker.DotNet/Models/Secret.Generated.cs
+++ b/src/Docker.DotNet/Models/Secret.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Secret represents a secret.
+ ///
public class Secret // (swarm.Secret)
{
public Secret()
diff --git a/src/Docker.DotNet/Models/SecretReference.Generated.cs b/src/Docker.DotNet/Models/SecretReference.Generated.cs
index 10e0c13b..038eefff 100644
--- a/src/Docker.DotNet/Models/SecretReference.Generated.cs
+++ b/src/Docker.DotNet/Models/SecretReference.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SecretReference is a reference to a secret in swarm
+ ///
public class SecretReference // (swarm.SecretReference)
{
[JsonPropertyName("File")]
diff --git a/src/Docker.DotNet/Models/SecretReferenceFileTarget.Generated.cs b/src/Docker.DotNet/Models/SecretReferenceFileTarget.Generated.cs
index 1e852084..aea9a6f9 100644
--- a/src/Docker.DotNet/Models/SecretReferenceFileTarget.Generated.cs
+++ b/src/Docker.DotNet/Models/SecretReferenceFileTarget.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SecretReferenceFileTarget is a file target in a secret reference
+ ///
public class SecretReferenceFileTarget // (swarm.SecretReferenceFileTarget)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/ServiceConfig.Generated.cs b/src/Docker.DotNet/Models/ServiceConfig.Generated.cs
index 5a30fcef..15d1434d 100644
--- a/src/Docker.DotNet/Models/ServiceConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceConfig stores daemon registry services configuration.
+ ///
public class ServiceConfig // (registry.ServiceConfig)
{
[JsonPropertyName("InsecureRegistryCIDRs")]
diff --git a/src/Docker.DotNet/Models/ServiceCreateResponse.Generated.cs b/src/Docker.DotNet/Models/ServiceCreateResponse.Generated.cs
index 264edb63..8f31d138 100644
--- a/src/Docker.DotNet/Models/ServiceCreateResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceCreateResponse.Generated.cs
@@ -1,11 +1,28 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceCreateResponse contains the information returned to a client on the
+ /// creation of a new service.
+ ///
+ /// swagger:model ServiceCreateResponse
+ ///
public class ServiceCreateResponse // (swarm.ServiceCreateResponse)
{
+ ///
+ /// The ID of the created service.
+ /// Example: ak7w3gjqoa3kuz8xcpnyy0pvl
+ ///
[JsonPropertyName("ID")]
public string? ID { get; set; }
+ ///
+ /// Optional warning message.
+ ///
+ /// FIXME(thaJeztah): this should have "omitempty" in the generated type.
+ ///
+ /// Example: ["unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"]
+ ///
[JsonPropertyName("Warnings")]
public IList Warnings { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ServiceInfo.Generated.cs b/src/Docker.DotNet/Models/ServiceInfo.Generated.cs
index d1a5aad9..dbf23b4a 100644
--- a/src/Docker.DotNet/Models/ServiceInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceInfo.Generated.cs
@@ -1,17 +1,34 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceInfo represents service parameters with the list of service's tasks
+ ///
+ /// swagger:model ServiceInfo
+ ///
public class ServiceInfo // (network.ServiceInfo)
{
+ ///
+ /// v IP
+ ///
[JsonPropertyName("VIP")]
public string VIP { get; set; } = default!;
+ ///
+ /// ports
+ ///
[JsonPropertyName("Ports")]
public IList Ports { get; set; } = default!;
+ ///
+ /// local l b index
+ ///
[JsonPropertyName("LocalLBIndex")]
public long LocalLBIndex { get; set; } = default!;
+ ///
+ /// tasks
+ ///
[JsonPropertyName("Tasks")]
public IList Tasks { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ServiceMode.Generated.cs b/src/Docker.DotNet/Models/ServiceMode.Generated.cs
index 21f85f31..145ebaba 100644
--- a/src/Docker.DotNet/Models/ServiceMode.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceMode.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceMode represents the mode of a service.
+ ///
public class ServiceMode // (swarm.ServiceMode)
{
[JsonPropertyName("Replicated")]
diff --git a/src/Docker.DotNet/Models/ServiceSpec.Generated.cs b/src/Docker.DotNet/Models/ServiceSpec.Generated.cs
index 512b26ad..e39c4191 100644
--- a/src/Docker.DotNet/Models/ServiceSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceSpec represents the spec of a service.
+ ///
public class ServiceSpec // (swarm.ServiceSpec)
{
public ServiceSpec()
@@ -22,6 +25,10 @@ public ServiceSpec(Annotations Annotations)
[JsonPropertyName("Labels")]
public IDictionary Labels { get; set; } = default!;
+ ///
+ /// TaskTemplate defines how the service should construct new tasks when
+ /// orchestrating this service.
+ ///
[JsonPropertyName("TaskTemplate")]
public TaskSpec? TaskTemplate { get; set; }
diff --git a/src/Docker.DotNet/Models/ServiceStatus.Generated.cs b/src/Docker.DotNet/Models/ServiceStatus.Generated.cs
index 854c865f..b853e9e6 100644
--- a/src/Docker.DotNet/Models/ServiceStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceStatus.Generated.cs
@@ -1,14 +1,35 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceStatus represents the number of running tasks in a service and the
+ /// number of tasks desired to be running.
+ ///
public class ServiceStatus // (swarm.ServiceStatus)
{
+ ///
+ /// RunningTasks is the number of tasks for the service actually in the
+ /// Running state
+ ///
[JsonPropertyName("RunningTasks")]
public ulong RunningTasks { get; set; } = default!;
+ ///
+ /// DesiredTasks is the number of tasks desired to be running by the
+ /// service. For replicated services, this is the replica count. For global
+ /// services, this is computed by taking the number of tasks with desired
+ /// state of not-Shutdown.
+ ///
[JsonPropertyName("DesiredTasks")]
public ulong DesiredTasks { get; set; } = default!;
+ ///
+ /// CompletedTasks is the number of tasks in the state Completed, if this
+ /// service is in ReplicatedJob or GlobalJob mode. This field must be
+ /// cross-referenced with the service type, because the default value of 0
+ /// may mean that a service is not in a job mode, or it may mean that the
+ /// job has yet to complete any tasks.
+ ///
[JsonPropertyName("CompletedTasks")]
public ulong CompletedTasks { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/ServiceUpdateResponse.Generated.cs b/src/Docker.DotNet/Models/ServiceUpdateResponse.Generated.cs
index 9dad22ba..d47bda3d 100644
--- a/src/Docker.DotNet/Models/ServiceUpdateResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/ServiceUpdateResponse.Generated.cs
@@ -1,8 +1,17 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ServiceUpdateResponse service update response
+ /// Example: {"Warnings":["unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"]}
+ ///
+ /// swagger:model ServiceUpdateResponse
+ ///
public class ServiceUpdateResponse // (swarm.ServiceUpdateResponse)
{
+ ///
+ /// Optional warning messages
+ ///
[JsonPropertyName("Warnings")]
public IList Warnings { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Spec.Generated.cs b/src/Docker.DotNet/Models/Spec.Generated.cs
index febbe47b..0d60983b 100644
--- a/src/Docker.DotNet/Models/Spec.Generated.cs
+++ b/src/Docker.DotNet/Models/Spec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Spec represents the spec of a swarm.
+ ///
public class Spec // (swarm.Spec)
{
public Spec()
diff --git a/src/Docker.DotNet/Models/SpreadOver.Generated.cs b/src/Docker.DotNet/Models/SpreadOver.Generated.cs
index f0274b8d..e3dadd68 100644
--- a/src/Docker.DotNet/Models/SpreadOver.Generated.cs
+++ b/src/Docker.DotNet/Models/SpreadOver.Generated.cs
@@ -1,8 +1,15 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SpreadOver is a scheduling preference that instructs the scheduler to spread
+ /// tasks evenly over groups of nodes identified by labels.
+ ///
public class SpreadOver // (swarm.SpreadOver)
{
+ ///
+ /// label descriptor, such as engine.labels.az
+ ///
[JsonPropertyName("SpreadDescriptor")]
public string SpreadDescriptor { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/State.Generated.cs b/src/Docker.DotNet/Models/State.Generated.cs
index 62201b6f..c96f2717 100644
--- a/src/Docker.DotNet/Models/State.Generated.cs
+++ b/src/Docker.DotNet/Models/State.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// State stores container's running state
+ /// it's part of ContainerJSONBase and returned by "inspect" command
+ ///
public class State // (container.State)
{
[JsonPropertyName("Status")]
diff --git a/src/Docker.DotNet/Models/Status.Generated.cs b/src/Docker.DotNet/Models/Status.Generated.cs
index 42587481..48fc38f1 100644
--- a/src/Docker.DotNet/Models/Status.Generated.cs
+++ b/src/Docker.DotNet/Models/Status.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Status provides runtime information about the network such as the number of allocated IPs.
+ ///
+ /// swagger:model Status
+ ///
public class Status // (network.Status)
{
+ ///
+ /// IPAM
+ ///
[JsonPropertyName("IPAM")]
public IPAMStatus IPAM { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Storage.Generated.cs b/src/Docker.DotNet/Models/Storage.Generated.cs
index 1e793ad5..65911f92 100644
--- a/src/Docker.DotNet/Models/Storage.Generated.cs
+++ b/src/Docker.DotNet/Models/Storage.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Storage Information about the storage used by the container.
+ ///
+ /// swagger:model Storage
+ ///
public class Storage // (storage.Storage)
{
+ ///
+ /// Information about the storage used for the container's root filesystem.
+ ///
[JsonPropertyName("RootFS")]
public RootFSStorage? RootFS { get; set; }
}
diff --git a/src/Docker.DotNet/Models/StorageStats.Generated.cs b/src/Docker.DotNet/Models/StorageStats.Generated.cs
index 9756e73b..340ca3a7 100644
--- a/src/Docker.DotNet/Models/StorageStats.Generated.cs
+++ b/src/Docker.DotNet/Models/StorageStats.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// StorageStats is the disk I/O stats for read/write on Windows.
+ ///
public class StorageStats // (container.StorageStats)
{
[JsonPropertyName("read_count_normalized")]
diff --git a/src/Docker.DotNet/Models/SubnetStatus.Generated.cs b/src/Docker.DotNet/Models/SubnetStatus.Generated.cs
index bc944282..ac0ec8ae 100644
--- a/src/Docker.DotNet/Models/SubnetStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/SubnetStatus.Generated.cs
@@ -1,11 +1,22 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SubnetStatus subnet status
+ ///
+ /// swagger:model SubnetStatus
+ ///
public class SubnetStatus // (network.SubnetStatus)
{
+ ///
+ /// Number of IP addresses in the subnet that are in use or reserved and are therefore unavailable for allocation, saturating at 2<sup>64</sup> - 1.
+ ///
[JsonPropertyName("IPsInUse")]
public ulong IPsInUse { get; set; } = default!;
+ ///
+ /// Number of IP addresses within the network's IPRange for the subnet that are available for allocation, saturating at 2<sup>64</sup> - 1.
+ ///
[JsonPropertyName("DynamicIPsAvailable")]
public ulong DynamicIPsAvailable { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/SwarmConfigReference.Generated.cs b/src/Docker.DotNet/Models/SwarmConfigReference.Generated.cs
index cd40301c..7a5477e4 100644
--- a/src/Docker.DotNet/Models/SwarmConfigReference.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmConfigReference.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ConfigReference is a reference to a config in swarm
+ ///
public class SwarmConfigReference // (swarm.ConfigReference)
{
[JsonPropertyName("File")]
diff --git a/src/Docker.DotNet/Models/SwarmConfigSpec.Generated.cs b/src/Docker.DotNet/Models/SwarmConfigSpec.Generated.cs
index 38f0b155..e4693726 100644
--- a/src/Docker.DotNet/Models/SwarmConfigSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmConfigSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ConfigSpec represents a config specification from a config in swarm
+ ///
public class SwarmConfigSpec // (swarm.ConfigSpec)
{
public SwarmConfigSpec()
@@ -22,10 +25,21 @@ public SwarmConfigSpec(Annotations Annotations)
[JsonPropertyName("Labels")]
public IDictionary Labels { get; set; } = default!;
+ ///
+ /// Data is the data to store as a config.
+ ///
+ /// The maximum allowed size is 1000KB, as defined in [MaxConfigSize].
+ ///
+ /// [MaxConfigSize]: https://pkg.go.dev/github.com/moby/swarmkit/v2@v2.0.0-20250103191802-8c1959736554/manager/controlapi#MaxConfigSize
+ ///
[JsonPropertyName("Data")]
[JsonConverter(typeof(Base64Converter))]
public IList? Data { get; set; }
+ ///
+ /// Templating controls whether and how to evaluate the config payload as
+ /// a template. If it is not set, no templating is used.
+ ///
[JsonPropertyName("Templating")]
public SwarmDriver? Templating { get; set; }
}
diff --git a/src/Docker.DotNet/Models/SwarmDriver.Generated.cs b/src/Docker.DotNet/Models/SwarmDriver.Generated.cs
index 3397615a..55116c5b 100644
--- a/src/Docker.DotNet/Models/SwarmDriver.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmDriver.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Driver represents a driver (network, logging, secrets backend).
+ ///
public class SwarmDriver // (swarm.Driver)
{
[JsonPropertyName("Name")]
diff --git a/src/Docker.DotNet/Models/SwarmIPAMConfig.Generated.cs b/src/Docker.DotNet/Models/SwarmIPAMConfig.Generated.cs
index 6b384a13..85bb552e 100644
--- a/src/Docker.DotNet/Models/SwarmIPAMConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmIPAMConfig.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// IPAMConfig represents ipam configuration.
+ ///
public class SwarmIPAMConfig // (swarm.IPAMConfig)
{
[JsonPropertyName("Subnet")]
diff --git a/src/Docker.DotNet/Models/SwarmInitParameters.Generated.cs b/src/Docker.DotNet/Models/SwarmInitParameters.Generated.cs
index ec05fc60..b3193542 100644
--- a/src/Docker.DotNet/Models/SwarmInitParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmInitParameters.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// InitRequest is the request used to init a swarm.
+ ///
public class SwarmInitParameters // (swarm.InitRequest)
{
[JsonPropertyName("ListenAddr")]
diff --git a/src/Docker.DotNet/Models/SwarmInspectResponse.Generated.cs b/src/Docker.DotNet/Models/SwarmInspectResponse.Generated.cs
index 35d2900c..62f84bac 100644
--- a/src/Docker.DotNet/Models/SwarmInspectResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmInspectResponse.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Swarm represents a swarm.
+ ///
public class SwarmInspectResponse // (swarm.Swarm)
{
public SwarmInspectResponse()
diff --git a/src/Docker.DotNet/Models/SwarmJoinParameters.Generated.cs b/src/Docker.DotNet/Models/SwarmJoinParameters.Generated.cs
index a10f51d1..45c6797a 100644
--- a/src/Docker.DotNet/Models/SwarmJoinParameters.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmJoinParameters.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// JoinRequest is the request used to join a swarm.
+ ///
public class SwarmJoinParameters // (swarm.JoinRequest)
{
[JsonPropertyName("ListenAddr")]
diff --git a/src/Docker.DotNet/Models/SwarmLimit.Generated.cs b/src/Docker.DotNet/Models/SwarmLimit.Generated.cs
index 4907ac83..3093bf83 100644
--- a/src/Docker.DotNet/Models/SwarmLimit.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmLimit.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Limit describes limits on resources which can be requested by a task.
+ ///
public class SwarmLimit // (swarm.Limit)
{
[JsonPropertyName("NanoCPUs")]
diff --git a/src/Docker.DotNet/Models/SwarmNetwork.Generated.cs b/src/Docker.DotNet/Models/SwarmNetwork.Generated.cs
index eba88b43..ee50ea71 100644
--- a/src/Docker.DotNet/Models/SwarmNetwork.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmNetwork.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Network represents a network.
+ ///
public class SwarmNetwork // (swarm.Network)
{
public SwarmNetwork()
diff --git a/src/Docker.DotNet/Models/SwarmPlatform.Generated.cs b/src/Docker.DotNet/Models/SwarmPlatform.Generated.cs
index 8a30fa74..158ef85e 100644
--- a/src/Docker.DotNet/Models/SwarmPlatform.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmPlatform.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Platform represents the platform (Arch/OS).
+ ///
public class SwarmPlatform // (swarm.Platform)
{
[JsonPropertyName("Architecture")]
diff --git a/src/Docker.DotNet/Models/SwarmResources.Generated.cs b/src/Docker.DotNet/Models/SwarmResources.Generated.cs
index 8b4a76c0..45301ad9 100644
--- a/src/Docker.DotNet/Models/SwarmResources.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmResources.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Resources represents resources (CPU/Memory) which can be advertised by a
+ /// node and requested to be reserved for a task.
+ ///
public class SwarmResources // (swarm.Resources)
{
[JsonPropertyName("NanoCPUs")]
diff --git a/src/Docker.DotNet/Models/SwarmRestartPolicy.Generated.cs b/src/Docker.DotNet/Models/SwarmRestartPolicy.Generated.cs
index 104a1949..f69541ee 100644
--- a/src/Docker.DotNet/Models/SwarmRestartPolicy.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmRestartPolicy.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RestartPolicy represents the restart policy.
+ ///
public class SwarmRestartPolicy // (swarm.RestartPolicy)
{
[JsonPropertyName("Condition")]
diff --git a/src/Docker.DotNet/Models/SwarmRuntimeSpec.Generated.cs b/src/Docker.DotNet/Models/SwarmRuntimeSpec.Generated.cs
index 8e19b743..230a176b 100644
--- a/src/Docker.DotNet/Models/SwarmRuntimeSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmRuntimeSpec.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// RuntimeSpec defines the base payload which clients can specify for creating
+ /// a service with the plugin runtime.
+ ///
public class SwarmRuntimeSpec // (swarm.RuntimeSpec)
{
[JsonPropertyName("name")]
diff --git a/src/Docker.DotNet/Models/SwarmSecretSpec.Generated.cs b/src/Docker.DotNet/Models/SwarmSecretSpec.Generated.cs
index 00d9d172..a7e154fc 100644
--- a/src/Docker.DotNet/Models/SwarmSecretSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmSecretSpec.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// SecretSpec represents a secret specification from a secret in swarm
+ ///
public class SwarmSecretSpec // (swarm.SecretSpec)
{
public SwarmSecretSpec()
@@ -22,13 +25,33 @@ public SwarmSecretSpec(Annotations Annotations)
[JsonPropertyName("Labels")]
public IDictionary Labels { get; set; } = default!;
+ ///
+ /// Data is the data to store as a secret. It must be empty if a
+ /// [Driver] is used, in which case the data is loaded from an external
+ /// secret store. The maximum allowed size is 500KB, as defined in
+ /// [MaxSecretSize].
+ ///
+ /// This field is only used to create the secret, and is not returned
+ /// by other endpoints.
+ ///
+ /// [MaxSecretSize]: https://pkg.go.dev/github.com/moby/swarmkit/v2@v2.0.0/api/validation#MaxSecretSize
+ ///
[JsonPropertyName("Data")]
[JsonConverter(typeof(Base64Converter))]
public IList? Data { get; set; }
+ ///
+ /// Driver is the name of the secrets driver used to fetch the secret's
+ /// value from an external secret store. If not set, the default built-in
+ /// store is used.
+ ///
[JsonPropertyName("Driver")]
public SwarmDriver? Driver { get; set; }
+ ///
+ /// Templating controls whether and how to evaluate the secret payload as
+ /// a template. If it is not set, no templating is used.
+ ///
[JsonPropertyName("Templating")]
public SwarmDriver? Templating { get; set; }
}
diff --git a/src/Docker.DotNet/Models/SwarmService.Generated.cs b/src/Docker.DotNet/Models/SwarmService.Generated.cs
index d5179acf..ac4179e3 100644
--- a/src/Docker.DotNet/Models/SwarmService.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmService.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Service represents a service.
+ ///
public class SwarmService // (swarm.Service)
{
public SwarmService()
@@ -41,9 +44,20 @@ public SwarmService(Meta Meta)
[JsonPropertyName("UpdateStatus")]
public UpdateStatus? UpdateStatus { get; set; }
+ ///
+ /// ServiceStatus is an optional, extra field indicating the number of
+ /// desired and running tasks. It is provided primarily as a shortcut to
+ /// calculating these values client-side, which otherwise would require
+ /// listing all tasks for a service, an operation that could be
+ /// computation and network expensive.
+ ///
[JsonPropertyName("ServiceStatus")]
public ServiceStatus? ServiceStatus { get; set; }
+ ///
+ /// JobStatus is the status of a Service which is in one of ReplicatedJob or
+ /// GlobalJob modes. It is absent on Replicated and Global services.
+ ///
[JsonPropertyName("JobStatus")]
public JobStatus? JobStatus { get; set; }
}
diff --git a/src/Docker.DotNet/Models/SwarmUpdateConfig.Generated.cs b/src/Docker.DotNet/Models/SwarmUpdateConfig.Generated.cs
index b298b15e..a57315b6 100644
--- a/src/Docker.DotNet/Models/SwarmUpdateConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/SwarmUpdateConfig.Generated.cs
@@ -1,23 +1,62 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// UpdateConfig represents the update configuration.
+ ///
public class SwarmUpdateConfig // (swarm.UpdateConfig)
{
+ ///
+ /// Maximum number of tasks to be updated in one iteration.
+ /// 0 means unlimited parallelism.
+ ///
[JsonPropertyName("Parallelism")]
public ulong Parallelism { get; set; } = default!;
+ ///
+ /// Amount of time between updates.
+ ///
[JsonPropertyName("Delay")]
public long? Delay { get; set; }
+ ///
+ /// FailureAction is the action to take when an update failures.
+ ///
[JsonPropertyName("FailureAction")]
public string? FailureAction { get; set; }
+ ///
+ /// Monitor indicates how long to monitor a task for failure after it is
+ /// created. If the task fails by ending up in one of the states
+ /// REJECTED, COMPLETED, or FAILED, within Monitor from its creation,
+ /// this counts as a failure. If it fails after Monitor, it does not
+ /// count as a failure. If Monitor is unspecified, a default value will
+ /// be used.
+ ///
[JsonPropertyName("Monitor")]
public long? Monitor { get; set; }
+ ///
+ /// MaxFailureRatio is the fraction of tasks that may fail during
+ /// an update before the failure action is invoked. Any task created by
+ /// the current update which ends up in one of the states REJECTED,
+ /// COMPLETED or FAILED within Monitor from its creation counts as a
+ /// failure. The number of failures is divided by the number of tasks
+ /// being updated, and if this fraction is greater than
+ /// MaxFailureRatio, the failure action is invoked.
+ ///
+ /// If the failure action is CONTINUE, there is no effect.
+ /// If the failure action is PAUSE, no more tasks will be updated until
+ /// another update is started.
+ ///
[JsonPropertyName("MaxFailureRatio")]
public float MaxFailureRatio { get; set; } = default!;
+ ///
+ /// Order indicates the order of operations when rolling out an updated
+ /// task. Either the old task is shut down before the new task is
+ /// started, or the new task is started before the old task is shut down.
+ ///
[JsonPropertyName("Order")]
public string Order { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/SystemInfoResponse.Generated.cs b/src/Docker.DotNet/Models/SystemInfoResponse.Generated.cs
index e397446d..40364524 100644
--- a/src/Docker.DotNet/Models/SystemInfoResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/SystemInfoResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Info contains response of Engine API:
+ /// GET "/info"
+ ///
public class SystemInfoResponse // (system.Info)
{
[JsonPropertyName("ID")]
@@ -147,6 +151,11 @@ public class SystemInfoResponse // (system.Info)
[JsonPropertyName("Swarm")]
public Info Swarm { get; set; } = default!;
+ ///
+ /// LiveRestoreEnabled determines whether containers should be kept
+ /// running when the daemon is shutdown or upon daemon start if
+ /// running containers are detected
+ ///
[JsonPropertyName("LiveRestoreEnabled")]
public bool LiveRestoreEnabled { get; set; } = default!;
@@ -186,6 +195,12 @@ public class SystemInfoResponse // (system.Info)
[JsonPropertyName("Containerd")]
public ContainerdInfo? Containerd { get; set; }
+ ///
+ /// Warnings contains a slice of warnings that occurred while collecting
+ /// system information. These warnings are intended to be informational
+ /// messages for the user, and are not intended to be parsed / used for
+ /// other purposes, as they do not have a fixed format.
+ ///
[JsonPropertyName("Warnings")]
public IList Warnings { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/TLSInfo.Generated.cs b/src/Docker.DotNet/Models/TLSInfo.Generated.cs
index 24951168..b9676d6f 100644
--- a/src/Docker.DotNet/Models/TLSInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/TLSInfo.Generated.cs
@@ -1,15 +1,28 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TLSInfo represents the TLS information about what CA certificate is trusted,
+ /// and who the issuer for a TLS certificate is
+ ///
public class TLSInfo // (swarm.TLSInfo)
{
+ ///
+ /// TrustRoot is the trusted CA root certificate in PEM format
+ ///
[JsonPropertyName("TrustRoot")]
public string? TrustRoot { get; set; }
+ ///
+ /// CertIssuer is the raw subject bytes of the issuer
+ ///
[JsonPropertyName("CertIssuerSubject")]
[JsonConverter(typeof(Base64Converter))]
public IList? CertIssuerSubject { get; set; }
+ ///
+ /// CertIssuerPublicKey is the raw public key bytes of the issuer
+ ///
[JsonPropertyName("CertIssuerPublicKey")]
[JsonConverter(typeof(Base64Converter))]
public IList? CertIssuerPublicKey { get; set; }
diff --git a/src/Docker.DotNet/Models/TaskDefaults.Generated.cs b/src/Docker.DotNet/Models/TaskDefaults.Generated.cs
index 9e5de5ba..d00909d0 100644
--- a/src/Docker.DotNet/Models/TaskDefaults.Generated.cs
+++ b/src/Docker.DotNet/Models/TaskDefaults.Generated.cs
@@ -1,8 +1,19 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TaskDefaults parameterizes cluster-level task creation with default values.
+ ///
public class TaskDefaults // (swarm.TaskDefaults)
{
+ ///
+ /// LogDriver selects the log driver to use for tasks created in the
+ /// orchestrator if unspecified by a service.
+ ///
+ /// Updating this value will only have an affect on new tasks. Old tasks
+ /// will continue use their previously configured log driver until
+ /// recreated.
+ ///
[JsonPropertyName("LogDriver")]
public SwarmDriver? LogDriver { get; set; }
}
diff --git a/src/Docker.DotNet/Models/TaskResponse.Generated.cs b/src/Docker.DotNet/Models/TaskResponse.Generated.cs
index c96d2834..de2ef3f1 100644
--- a/src/Docker.DotNet/Models/TaskResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/TaskResponse.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Task represents a task.
+ ///
public class TaskResponse // (swarm.Task)
{
public TaskResponse()
@@ -65,9 +68,20 @@ public TaskResponse(Meta Meta, Annotations Annotations)
[JsonPropertyName("GenericResources")]
public IList? GenericResources { get; set; }
+ ///
+ /// JobIteration is the JobIteration of the Service that this Task was
+ /// spawned from, if the Service is a ReplicatedJob or GlobalJob. This is
+ /// used to determine which Tasks belong to which run of the job. This field
+ /// is absent if the Service mode is Replicated or Global.
+ ///
[JsonPropertyName("JobIteration")]
public Version? JobIteration { get; set; }
+ ///
+ /// Volumes is the list of VolumeAttachments for this task. It specifies
+ /// which particular volumes are to be used by this particular task, and
+ /// fulfilling what mounts in the spec.
+ ///
[JsonPropertyName("Volumes")]
public IList Volumes { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/TaskSpec.Generated.cs b/src/Docker.DotNet/Models/TaskSpec.Generated.cs
index f4293b16..5ac7bf09 100644
--- a/src/Docker.DotNet/Models/TaskSpec.Generated.cs
+++ b/src/Docker.DotNet/Models/TaskSpec.Generated.cs
@@ -1,8 +1,17 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TaskSpec represents the spec of a task.
+ ///
public class TaskSpec // (swarm.TaskSpec)
{
+ ///
+ /// ContainerSpec, NetworkAttachmentSpec, and PluginSpec are mutually exclusive.
+ /// PluginSpec is only used when the `Runtime` field is set to `plugin`
+ /// NetworkAttachmentSpec is used if the `Runtime` field is set to
+ /// `attachment`.
+ ///
[JsonPropertyName("ContainerSpec")]
public ContainerSpec? ContainerSpec { get; set; }
@@ -24,9 +33,18 @@ public class TaskSpec // (swarm.TaskSpec)
[JsonPropertyName("Networks")]
public IList? Networks { get; set; }
+ ///
+ /// LogDriver specifies the LogDriver to use for tasks created from this
+ /// spec. If not present, the one on cluster default on swarm.Spec will be
+ /// used, finally falling back to the engine default if not specified.
+ ///
[JsonPropertyName("LogDriver")]
public SwarmDriver? LogDriver { get; set; }
+ ///
+ /// ForceUpdate is a counter that triggers an update even if no relevant
+ /// parameters have been changed.
+ ///
[JsonPropertyName("ForceUpdate")]
public ulong ForceUpdate { get; set; } = default!;
diff --git a/src/Docker.DotNet/Models/TaskStatus.Generated.cs b/src/Docker.DotNet/Models/TaskStatus.Generated.cs
index f9630ed8..88d3756c 100644
--- a/src/Docker.DotNet/Models/TaskStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/TaskStatus.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TaskStatus represents the status of a task.
+ ///
public class TaskStatus // (swarm.TaskStatus)
{
[JsonPropertyName("Timestamp")]
diff --git a/src/Docker.DotNet/Models/ThrottleDevice.Generated.cs b/src/Docker.DotNet/Models/ThrottleDevice.Generated.cs
index 41acfd09..f4ebfb2a 100644
--- a/src/Docker.DotNet/Models/ThrottleDevice.Generated.cs
+++ b/src/Docker.DotNet/Models/ThrottleDevice.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ThrottleDevice is a structure that holds device:rate_per_second pair
+ ///
public class ThrottleDevice // (blkiodev.ThrottleDevice)
{
[JsonPropertyName("Path")]
diff --git a/src/Docker.DotNet/Models/ThrottlingData.Generated.cs b/src/Docker.DotNet/Models/ThrottlingData.Generated.cs
index 3943049c..cc6162b9 100644
--- a/src/Docker.DotNet/Models/ThrottlingData.Generated.cs
+++ b/src/Docker.DotNet/Models/ThrottlingData.Generated.cs
@@ -1,14 +1,27 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// ThrottlingData stores CPU throttling stats of one running container.
+ /// Not used on Windows.
+ ///
public class ThrottlingData // (container.ThrottlingData)
{
+ ///
+ /// Number of periods with throttling active
+ ///
[JsonPropertyName("periods")]
public ulong Periods { get; set; } = default!;
+ ///
+ /// Number of periods when the container hits its throttling limit.
+ ///
[JsonPropertyName("throttled_periods")]
public ulong ThrottledPeriods { get; set; } = default!;
+ ///
+ /// Aggregate time the container was throttled for in nanoseconds.
+ ///
[JsonPropertyName("throttled_time")]
public ulong ThrottledTime { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/TmpfsOptions.Generated.cs b/src/Docker.DotNet/Models/TmpfsOptions.Generated.cs
index a99241a0..3b459023 100644
--- a/src/Docker.DotNet/Models/TmpfsOptions.Generated.cs
+++ b/src/Docker.DotNet/Models/TmpfsOptions.Generated.cs
@@ -1,14 +1,36 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TmpfsOptions defines options specific to mounts of type "tmpfs".
+ ///
public class TmpfsOptions // (mount.TmpfsOptions)
{
+ ///
+ /// Size sets the size of the tmpfs, in bytes.
+ ///
+ /// This will be converted to an operating system specific value
+ /// depending on the host. For example, on linux, it will be converted to
+ /// use a 'k', 'm' or 'g' syntax. BSD, though not widely supported with
+ /// docker, uses a straight byte value.
+ ///
+ /// Percentages are not supported.
+ ///
[JsonPropertyName("SizeBytes")]
public long? SizeBytes { get; set; }
+ ///
+ /// Mode of the tmpfs upon creation
+ ///
[JsonPropertyName("Mode")]
public uint? Mode { get; set; }
+ ///
+ /// Options to be passed to the tmpfs mount. An array of arrays. Flag
+ /// options should be provided as 1-length arrays. Other types should be
+ /// provided as 2-length arrays, where the first item is the key and the
+ /// second the value.
+ ///
[JsonPropertyName("Options")]
public IList>? Options { get; set; }
}
diff --git a/src/Docker.DotNet/Models/Topology.Generated.cs b/src/Docker.DotNet/Models/Topology.Generated.cs
index a37cf711..35de8a48 100644
--- a/src/Docker.DotNet/Models/Topology.Generated.cs
+++ b/src/Docker.DotNet/Models/Topology.Generated.cs
@@ -1,6 +1,12 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Topology defines the CSI topology of this node. This type is a duplicate of
+ /// [github.com/moby/moby/api/types/volume.Topology]. Because the type definition
+ /// is so simple and to avoid complicated structure or circular imports, we just
+ /// duplicate it here. See that type for full documentation
+ ///
public class Topology // (swarm.Topology)
{
[JsonPropertyName("Segments")]
diff --git a/src/Docker.DotNet/Models/TopologyRequirement.Generated.cs b/src/Docker.DotNet/Models/TopologyRequirement.Generated.cs
index 27eb2808..cd7b23a2 100644
--- a/src/Docker.DotNet/Models/TopologyRequirement.Generated.cs
+++ b/src/Docker.DotNet/Models/TopologyRequirement.Generated.cs
@@ -1,11 +1,154 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TopologyRequirement expresses the user's requirements for a volume's
+ /// accessible topology.
+ ///
public class TopologyRequirement // (volume.TopologyRequirement)
{
+ ///
+ /// Requisite specifies a list of Topologies, at least one of which the
+ /// volume must be accessible from.
+ ///
+ /// Taken verbatim from the CSI Spec:
+ ///
+ /// Specifies the list of topologies the provisioned volume MUST be
+ /// accessible from.
+ /// This field is OPTIONAL. If TopologyRequirement is specified either
+ /// requisite or preferred or both MUST be specified.
+ ///
+ /// If requisite is specified, the provisioned volume MUST be
+ /// accessible from at least one of the requisite topologies.
+ ///
+ /// Given
+ /// x = number of topologies provisioned volume is accessible from
+ /// n = number of requisite topologies
+ /// The CO MUST ensure n >= 1. The SP MUST ensure x >= 1
+ /// If x==n, then the SP MUST make the provisioned volume available to
+ /// all topologies from the list of requisite topologies. If it is
+ /// unable to do so, the SP MUST fail the CreateVolume call.
+ /// For example, if a volume should be accessible from a single zone,
+ /// and requisite =
+ /// {"region": "R1", "zone": "Z2"}
+ /// then the provisioned volume MUST be accessible from the "region"
+ /// "R1" and the "zone" "Z2".
+ /// Similarly, if a volume should be accessible from two zones, and
+ /// requisite =
+ /// {"region": "R1", "zone": "Z2"},
+ /// {"region": "R1", "zone": "Z3"}
+ /// then the provisioned volume MUST be accessible from the "region"
+ /// "R1" and both "zone" "Z2" and "zone" "Z3".
+ ///
+ /// If x<n, then the SP SHALL choose x unique topologies from the list
+ /// of requisite topologies. If it is unable to do so, the SP MUST fail
+ /// the CreateVolume call.
+ /// For example, if a volume should be accessible from a single zone,
+ /// and requisite =
+ /// {"region": "R1", "zone": "Z2"},
+ /// {"region": "R1", "zone": "Z3"}
+ /// then the SP may choose to make the provisioned volume available in
+ /// either the "zone" "Z2" or the "zone" "Z3" in the "region" "R1".
+ /// Similarly, if a volume should be accessible from two zones, and
+ /// requisite =
+ /// {"region": "R1", "zone": "Z2"},
+ /// {"region": "R1", "zone": "Z3"},
+ /// {"region": "R1", "zone": "Z4"}
+ /// then the provisioned volume MUST be accessible from any combination
+ /// of two unique topologies: e.g. "R1/Z2" and "R1/Z3", or "R1/Z2" and
+ /// "R1/Z4", or "R1/Z3" and "R1/Z4".
+ ///
+ /// If x>n, then the SP MUST make the provisioned volume available from
+ /// all topologies from the list of requisite topologies and MAY choose
+ /// the remaining x-n unique topologies from the list of all possible
+ /// topologies. If it is unable to do so, the SP MUST fail the
+ /// CreateVolume call.
+ /// For example, if a volume should be accessible from two zones, and
+ /// requisite =
+ /// {"region": "R1", "zone": "Z2"}
+ /// then the provisioned volume MUST be accessible from the "region"
+ /// "R1" and the "zone" "Z2" and the SP may select the second zone
+ /// independently, e.g. "R1/Z4".
+ ///
[JsonPropertyName("Requisite")]
public IList? Requisite { get; set; }
+ ///
+ /// Preferred is a list of Topologies that the volume should attempt to be
+ /// provisioned in.
+ ///
+ /// Taken from the CSI spec:
+ ///
+ /// Specifies the list of topologies the CO would prefer the volume to
+ /// be provisioned in.
+ ///
+ /// This field is OPTIONAL. If TopologyRequirement is specified either
+ /// requisite or preferred or both MUST be specified.
+ ///
+ /// An SP MUST attempt to make the provisioned volume available using
+ /// the preferred topologies in order from first to last.
+ ///
+ /// If requisite is specified, all topologies in preferred list MUST
+ /// also be present in the list of requisite topologies.
+ ///
+ /// If the SP is unable to make the provisioned volume available
+ /// from any of the preferred topologies, the SP MAY choose a topology
+ /// from the list of requisite topologies.
+ /// If the list of requisite topologies is not specified, then the SP
+ /// MAY choose from the list of all possible topologies.
+ /// If the list of requisite topologies is specified and the SP is
+ /// unable to make the provisioned volume available from any of the
+ /// requisite topologies it MUST fail the CreateVolume call.
+ ///
+ /// Example 1:
+ /// Given a volume should be accessible from a single zone, and
+ /// requisite =
+ /// {"region": "R1", "zone": "Z2"},
+ /// {"region": "R1", "zone": "Z3"}
+ /// preferred =
+ /// {"region": "R1", "zone": "Z3"}
+ /// then the SP SHOULD first attempt to make the provisioned volume
+ /// available from "zone" "Z3" in the "region" "R1" and fall back to
+ /// "zone" "Z2" in the "region" "R1" if that is not possible.
+ ///
+ /// Example 2:
+ /// Given a volume should be accessible from a single zone, and
+ /// requisite =
+ /// {"region": "R1", "zone": "Z2"},
+ /// {"region": "R1", "zone": "Z3"},
+ /// {"region": "R1", "zone": "Z4"},
+ /// {"region": "R1", "zone": "Z5"}
+ /// preferred =
+ /// {"region": "R1", "zone": "Z4"},
+ /// {"region": "R1", "zone": "Z2"}
+ /// then the SP SHOULD first attempt to make the provisioned volume
+ /// accessible from "zone" "Z4" in the "region" "R1" and fall back to
+ /// "zone" "Z2" in the "region" "R1" if that is not possible. If that
+ /// is not possible, the SP may choose between either the "zone"
+ /// "Z3" or "Z5" in the "region" "R1".
+ ///
+ /// Example 3:
+ /// Given a volume should be accessible from TWO zones (because an
+ /// opaque parameter in CreateVolumeRequest, for example, specifies
+ /// the volume is accessible from two zones, aka synchronously
+ /// replicated), and
+ /// requisite =
+ /// {"region": "R1", "zone": "Z2"},
+ /// {"region": "R1", "zone": "Z3"},
+ /// {"region": "R1", "zone": "Z4"},
+ /// {"region": "R1", "zone": "Z5"}
+ /// preferred =
+ /// {"region": "R1", "zone": "Z5"},
+ /// {"region": "R1", "zone": "Z3"}
+ /// then the SP SHOULD first attempt to make the provisioned volume
+ /// accessible from the combination of the two "zones" "Z5" and "Z3" in
+ /// the "region" "R1". If that's not possible, it should fall back to
+ /// a combination of "Z5" and other possibilities from the list of
+ /// requisite. If that's not possible, it should fall back to a
+ /// combination of "Z3" and other possibilities from the list of
+ /// requisite. If that's not possible, it should fall back to a
+ /// combination of other possibilities from the list of requisite.
+ ///
[JsonPropertyName("Preferred")]
public IList? Preferred { get; set; }
}
diff --git a/src/Docker.DotNet/Models/TypeBlock.Generated.cs b/src/Docker.DotNet/Models/TypeBlock.Generated.cs
index 75c6174d..0bf16efc 100644
--- a/src/Docker.DotNet/Models/TypeBlock.Generated.cs
+++ b/src/Docker.DotNet/Models/TypeBlock.Generated.cs
@@ -1,6 +1,11 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TypeBlock defines options for using a volume as a block-type volume.
+ ///
+ /// Intentionally empty.
+ ///
public class TypeBlock // (volume.TypeBlock)
{
}
diff --git a/src/Docker.DotNet/Models/TypeMount.Generated.cs b/src/Docker.DotNet/Models/TypeMount.Generated.cs
index 5cb13d9c..63f88adc 100644
--- a/src/Docker.DotNet/Models/TypeMount.Generated.cs
+++ b/src/Docker.DotNet/Models/TypeMount.Generated.cs
@@ -1,11 +1,21 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// TypeMount contains options for using a volume as a Mount-type
+ /// volume.
+ ///
public class TypeMount // (volume.TypeMount)
{
+ ///
+ /// FsType specifies the filesystem type for the mount volume. Optional.
+ ///
[JsonPropertyName("FsType")]
public string? FsType { get; set; }
+ ///
+ /// MountFlags defines flags to pass when mounting the volume. Optional.
+ ///
[JsonPropertyName("MountFlags")]
public IList? MountFlags { get; set; }
}
diff --git a/src/Docker.DotNet/Models/UpdateConfig.Generated.cs b/src/Docker.DotNet/Models/UpdateConfig.Generated.cs
index 81c2cba9..810b642c 100644
--- a/src/Docker.DotNet/Models/UpdateConfig.Generated.cs
+++ b/src/Docker.DotNet/Models/UpdateConfig.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// UpdateConfig holds the mutable attributes of a Container.
+ /// Those attributes can be updated at runtime.
+ ///
public class UpdateConfig // (container.UpdateConfig)
{
public UpdateConfig()
@@ -43,6 +47,9 @@ public UpdateConfig(Resources Resources)
}
}
+ ///
+ /// Applicable to all platforms
+ ///
[JsonPropertyName("CpuShares")]
public long CPUShares { get; set; } = default!;
@@ -52,6 +59,9 @@ public UpdateConfig(Resources Resources)
[JsonPropertyName("NanoCpus")]
public long NanoCPUs { get; set; } = default!;
+ ///
+ /// Applicable to UNIX platforms
+ ///
[JsonPropertyName("CgroupParent")]
public string CgroupParent { get; set; } = default!;
@@ -118,6 +128,9 @@ public UpdateConfig(Resources Resources)
[JsonPropertyName("Ulimits")]
public IList Ulimits { get; set; } = default!;
+ ///
+ /// Applicable to Windows
+ ///
[JsonPropertyName("CpuCount")]
public long CPUCount { get; set; } = default!;
diff --git a/src/Docker.DotNet/Models/UpdateStatus.Generated.cs b/src/Docker.DotNet/Models/UpdateStatus.Generated.cs
index 8271f7fa..0e377907 100644
--- a/src/Docker.DotNet/Models/UpdateStatus.Generated.cs
+++ b/src/Docker.DotNet/Models/UpdateStatus.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// UpdateStatus reports the status of a service update.
+ ///
public class UpdateStatus // (swarm.UpdateStatus)
{
[JsonPropertyName("State")]
diff --git a/src/Docker.DotNet/Models/UsageData.Generated.cs b/src/Docker.DotNet/Models/UsageData.Generated.cs
index a56be3bf..ea01e706 100644
--- a/src/Docker.DotNet/Models/UsageData.Generated.cs
+++ b/src/Docker.DotNet/Models/UsageData.Generated.cs
@@ -1,11 +1,31 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// UsageData Usage details about the volume. This information is used by the
+ /// `GET /system/df` endpoint, and omitted in other endpoints.
+ ///
+ /// swagger:model UsageData
+ ///
public class UsageData // (volume.UsageData)
{
+ ///
+ /// The number of containers referencing this volume. This field
+ /// is set to `-1` if the reference-count is not available.
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("RefCount")]
public long RefCount { get; set; } = default!;
+ ///
+ /// Amount of disk space used by the volume (in bytes). This information
+ /// is only available for volumes created with the `"local"` volume
+ /// driver. For volumes created with other volume drivers, this field
+ /// is set to `-1` ("not available")
+ ///
+ /// Required: true
+ ///
[JsonPropertyName("Size")]
public long Size { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/Version.Generated.cs b/src/Docker.DotNet/Models/Version.Generated.cs
index 68f9f30d..c44edf19 100644
--- a/src/Docker.DotNet/Models/Version.Generated.cs
+++ b/src/Docker.DotNet/Models/Version.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Version represents the internal object version.
+ ///
public class Version // (swarm.Version)
{
[JsonPropertyName("Index")]
diff --git a/src/Docker.DotNet/Models/VersionResponse.Generated.cs b/src/Docker.DotNet/Models/VersionResponse.Generated.cs
index ffc96783..8a1caa52 100644
--- a/src/Docker.DotNet/Models/VersionResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/VersionResponse.Generated.cs
@@ -1,26 +1,53 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// VersionResponse contains information about the Docker server host.
+ /// GET "/version"
+ ///
public class VersionResponse // (system.VersionResponse)
{
+ ///
+ /// Platform is the platform (product name) the server is running on.
+ ///
[JsonPropertyName("Platform")]
public PlatformInfo? Platform { get; set; }
+ ///
+ /// Version is the version of the daemon.
+ ///
[JsonPropertyName("Version")]
public string Version { get; set; } = default!;
+ ///
+ /// APIVersion is the highest API version supported by the server.
+ ///
[JsonPropertyName("ApiVersion")]
public string APIVersion { get; set; } = default!;
+ ///
+ /// MinAPIVersion is the minimum API version the server supports.
+ ///
[JsonPropertyName("MinAPIVersion")]
public string? MinAPIVersion { get; set; }
+ ///
+ /// Os is the operating system the server runs on.
+ ///
[JsonPropertyName("Os")]
public string Os { get; set; } = default!;
+ ///
+ /// Arch is the hardware architecture the server runs on.
+ ///
[JsonPropertyName("Arch")]
public string Arch { get; set; } = default!;
+ ///
+ /// Components contains version information for the components making
+ /// up the server. Information in this field is for informational
+ /// purposes, and not part of the API contract.
+ ///
[JsonPropertyName("Components")]
public IList? Components { get; set; }
diff --git a/src/Docker.DotNet/Models/VolumeAccessMode.Generated.cs b/src/Docker.DotNet/Models/VolumeAccessMode.Generated.cs
index 1f2efadd..d4ffaf9c 100644
--- a/src/Docker.DotNet/Models/VolumeAccessMode.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumeAccessMode.Generated.cs
@@ -1,17 +1,39 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// AccessMode defines the access mode of a volume.
+ ///
public class VolumeAccessMode // (volume.AccessMode)
{
+ ///
+ /// Scope defines the set of nodes this volume can be used on at one time.
+ ///
[JsonPropertyName("Scope")]
public string? Scope { get; set; }
+ ///
+ /// Sharing defines the number and way that different tasks can use this
+ /// volume at one time.
+ ///
[JsonPropertyName("Sharing")]
public string? Sharing { get; set; }
+ ///
+ /// MountVolume defines options for using this volume as a Mount-type
+ /// volume.
+ ///
+ /// Either BlockVolume or MountVolume, but not both, must be present.
+ ///
[JsonPropertyName("MountVolume")]
public TypeMount? MountVolume { get; set; }
+ ///
+ /// BlockVolume defines options for using this volume as a Block-type
+ /// volume.
+ ///
+ /// Either BlockVolume or MountVolume, but not both, must be present.
+ ///
[JsonPropertyName("BlockVolume")]
public TypeBlock? BlockVolume { get; set; }
}
diff --git a/src/Docker.DotNet/Models/VolumeAttachment.Generated.cs b/src/Docker.DotNet/Models/VolumeAttachment.Generated.cs
index 099a286b..b074ab41 100644
--- a/src/Docker.DotNet/Models/VolumeAttachment.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumeAttachment.Generated.cs
@@ -1,14 +1,28 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// VolumeAttachment contains the associating a Volume to a Task.
+ ///
public class VolumeAttachment // (swarm.VolumeAttachment)
{
+ ///
+ /// ID is the Swarmkit ID of the Volume. This is not the CSI VolumeId.
+ ///
[JsonPropertyName("ID")]
public string? ID { get; set; }
+ ///
+ /// Source, together with Target, indicates the Mount, as specified in the
+ /// ContainerSpec, that this volume fulfills.
+ ///
[JsonPropertyName("Source")]
public string? Source { get; set; }
+ ///
+ /// Target, together with Source, indicates the Mount, as specified
+ /// in the ContainerSpec, that this volume fulfills.
+ ///
[JsonPropertyName("Target")]
public string? Target { get; set; }
}
diff --git a/src/Docker.DotNet/Models/VolumeInfo.Generated.cs b/src/Docker.DotNet/Models/VolumeInfo.Generated.cs
index 27e5cd45..6d46db03 100644
--- a/src/Docker.DotNet/Models/VolumeInfo.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumeInfo.Generated.cs
@@ -1,17 +1,39 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Info contains information about the Volume as a whole as provided by
+ /// the CSI storage plugin.
+ ///
public class VolumeInfo // (volume.Info)
{
+ ///
+ /// CapacityBytes is the capacity of the volume in bytes. A value of 0
+ /// indicates that the capacity is unknown.
+ ///
[JsonPropertyName("CapacityBytes")]
public long? CapacityBytes { get; set; }
+ ///
+ /// VolumeContext is the context originating from the CSI storage plugin
+ /// when the Volume is created.
+ ///
[JsonPropertyName("VolumeContext")]
public IDictionary? VolumeContext { get; set; }
+ ///
+ /// VolumeID is the ID of the Volume as seen by the CSI storage plugin. This
+ /// is distinct from the Volume's Swarm ID, which is the ID used by all of
+ /// the Docker Engine to refer to the Volume. If this field is blank, then
+ /// the Volume has not been successfully created yet.
+ ///
[JsonPropertyName("VolumeID")]
public string? VolumeID { get; set; }
+ ///
+ /// AccessibleTopology is the topology this volume is actually accessible
+ /// from.
+ ///
[JsonPropertyName("AccessibleTopology")]
public IList? AccessibleTopology { get; set; }
}
diff --git a/src/Docker.DotNet/Models/VolumeOptions.Generated.cs b/src/Docker.DotNet/Models/VolumeOptions.Generated.cs
index ec26e96b..bfc7a5cc 100644
--- a/src/Docker.DotNet/Models/VolumeOptions.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumeOptions.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// VolumeOptions represents the options for a mount of type volume.
+ ///
public class VolumeOptions // (mount.VolumeOptions)
{
[JsonPropertyName("NoCopy")]
diff --git a/src/Docker.DotNet/Models/VolumeSecret.Generated.cs b/src/Docker.DotNet/Models/VolumeSecret.Generated.cs
index 494fd0d8..4553662f 100644
--- a/src/Docker.DotNet/Models/VolumeSecret.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumeSecret.Generated.cs
@@ -1,11 +1,24 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Secret represents a Swarm Secret value that must be passed to the CSI
+ /// storage plugin when operating on this Volume. It represents one key-value
+ /// pair of possibly many.
+ ///
public class VolumeSecret // (volume.Secret)
{
+ ///
+ /// Key is the name of the key of the key-value pair passed to the plugin.
+ ///
[JsonPropertyName("Key")]
public string Key { get; set; } = default!;
+ ///
+ /// Secret is the swarm Secret object from which to read data. This can be a
+ /// Secret name or ID. The Secret data is retrieved by Swarm and used as the
+ /// value of the key-value pair passed to the plugin.
+ ///
[JsonPropertyName("Secret")]
public string Secret { get; set; } = default!;
}
diff --git a/src/Docker.DotNet/Models/VolumeTopology.Generated.cs b/src/Docker.DotNet/Models/VolumeTopology.Generated.cs
index e67b8850..e9cf08c7 100644
--- a/src/Docker.DotNet/Models/VolumeTopology.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumeTopology.Generated.cs
@@ -1,6 +1,40 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// Topology is a map of topological domains to topological segments.
+ ///
+ /// This description is taken verbatim from the CSI Spec:
+ ///
+ /// A topological domain is a sub-division of a cluster, like "region",
+ /// "zone", "rack", etc.
+ /// A topological segment is a specific instance of a topological domain,
+ /// like "zone3", "rack3", etc.
+ /// For example {"com.company/zone": "Z1", "com.company/rack": "R3"}
+ /// Valid keys have two segments: an OPTIONAL prefix and name, separated
+ /// by a slash (/), for example: "com.company.example/zone".
+ /// The key name segment is REQUIRED. The prefix is OPTIONAL.
+ /// The key name MUST be 63 characters or less, begin and end with an
+ /// alphanumeric character ([a-z0-9A-Z]), and contain only dashes (-),
+ /// underscores (_), dots (.), or alphanumerics in between, for example
+ /// "zone".
+ /// The key prefix MUST be 63 characters or less, begin and end with a
+ /// lower-case alphanumeric character ([a-z0-9]), contain only
+ /// dashes (-), dots (.), or lower-case alphanumerics in between, and
+ /// follow domain name notation format
+ /// (https://tools.ietf.org/html/rfc1035#section-2.3.1).
+ /// The key prefix SHOULD include the plugin's host company name and/or
+ /// the plugin name, to minimize the possibility of collisions with keys
+ /// from other plugins.
+ /// If a key prefix is specified, it MUST be identical across all
+ /// topology keys returned by the SP (across all RPCs).
+ /// Keys MUST be case-insensitive. Meaning the keys "Zone" and "zone"
+ /// MUST not both exist.
+ /// Each value (topological segment) MUST contain 1 or more strings.
+ /// Each string MUST be 63 characters or less and begin and end with an
+ /// alphanumeric character with '-', '_', '.', or alphanumerics in
+ /// between.
+ ///
public class VolumeTopology // (volume.Topology)
{
[JsonPropertyName("Segments")]
diff --git a/src/Docker.DotNet/Models/VolumesPruneResponse.Generated.cs b/src/Docker.DotNet/Models/VolumesPruneResponse.Generated.cs
index 45bdefaf..a72b1ce8 100644
--- a/src/Docker.DotNet/Models/VolumesPruneResponse.Generated.cs
+++ b/src/Docker.DotNet/Models/VolumesPruneResponse.Generated.cs
@@ -1,6 +1,10 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// PruneReport contains the response for Engine API:
+ /// POST "/volumes/prune"
+ ///
public class VolumesPruneResponse // (volume.PruneReport)
{
[JsonPropertyName("VolumesDeleted")]
diff --git a/src/Docker.DotNet/Models/WaitExitError.Generated.cs b/src/Docker.DotNet/Models/WaitExitError.Generated.cs
index 9efbecf0..ce712231 100644
--- a/src/Docker.DotNet/Models/WaitExitError.Generated.cs
+++ b/src/Docker.DotNet/Models/WaitExitError.Generated.cs
@@ -1,8 +1,16 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// WaitExitError container waiting error, if any
+ ///
+ /// swagger:model WaitExitError
+ ///
public class WaitExitError // (container.WaitExitError)
{
+ ///
+ /// Details of an error
+ ///
[JsonPropertyName("Message")]
public string? Message { get; set; }
}
diff --git a/src/Docker.DotNet/Models/WeightDevice.Generated.cs b/src/Docker.DotNet/Models/WeightDevice.Generated.cs
index e0f6e292..dbfb32df 100644
--- a/src/Docker.DotNet/Models/WeightDevice.Generated.cs
+++ b/src/Docker.DotNet/Models/WeightDevice.Generated.cs
@@ -1,6 +1,9 @@
#nullable enable
namespace Docker.DotNet.Models
{
+ ///
+ /// WeightDevice is a structure that holds device:weight pair
+ ///
public class WeightDevice // (blkiodev.WeightDevice)
{
[JsonPropertyName("Path")]
diff --git a/tools/specgen/csharptype.go b/tools/specgen/csharptype.go
index e58935c6..3d46947d 100644
--- a/tools/specgen/csharptype.go
+++ b/tools/specgen/csharptype.go
@@ -177,6 +177,7 @@ type CSProperty struct {
IsOpt bool
Attributes []CSAttribute
DefaultValue string
+ Comment string
}
// CSModelType is a type that represents a reflected type to generate a C# model for.
@@ -191,6 +192,7 @@ type CSModelType struct {
// completed but as long as this is true we will not attempt to generate the
// type more than once.
IsStarted bool
+ Comment string
}
// NewModel creates a new model type with valid slices
@@ -275,7 +277,22 @@ func safeAddUsing(using string, usings []string, added map[string]bool) []string
return usings
}
+func writeXMLComment(w io.Writer, comment string, indent string) {
+ if comment == "" {
+ return
+ }
+
+ fmt.Fprintf(w, "%s/// \n", indent)
+ escapedComment := escapeXMLComment(comment)
+ for _, line := range strings.Split(escapedComment, "\n") {
+ fmt.Fprintf(w, "%s/// %s\n", indent, line)
+ }
+ fmt.Fprintf(w, "%s/// \n", indent)
+}
+
func writeClass(w io.Writer, t *CSModelType) {
+ writeXMLComment(w, t.Comment, " ")
+
for _, a := range t.Attributes {
fmt.Fprintf(w, " %s\n", a)
}
@@ -344,6 +361,8 @@ func writeConstructors(w io.Writer, typeName string, constructors []CSConstructo
func writeProperties(w io.Writer, properties []CSProperty) {
len := len(properties)
for i, p := range properties {
+ writeXMLComment(w, p.Comment, " ")
+
for _, a := range p.Attributes {
fmt.Fprintf(w, " %s\n", a)
}
@@ -367,3 +386,14 @@ func writeProperties(w io.Writer, properties []CSProperty) {
}
}
}
+
+func escapeXMLComment(text string) string {
+ replacer := strings.NewReplacer(
+ "&", "&",
+ "<", "<",
+ ">", ">",
+ "\"", """,
+ "'", "'",
+ )
+ return replacer.Replace(text)
+}
diff --git a/tools/specgen/specgen.go b/tools/specgen/specgen.go
index 0672cda9..1bcc2cff 100644
--- a/tools/specgen/specgen.go
+++ b/tools/specgen/specgen.go
@@ -3,8 +3,13 @@ package main
import (
"bufio"
"fmt"
+ "go/ast"
+ "go/parser"
+ "go/token"
+ "io/fs"
"os"
"path"
+ "path/filepath"
"reflect"
"slices"
"strconv"
@@ -26,6 +31,12 @@ import (
var reflectedTypes = map[string]*CSModelType{}
+// TypeComments maps package.TypeName to the type's documentation comment
+var typeComments = map[string]string{}
+
+// FieldComments maps package.TypeName.FieldName to the field's documentation comment
+var fieldComments = map[string]string{}
+
func typeToKey(t reflect.Type) string {
return t.String()
}
@@ -639,6 +650,116 @@ func ultimateType(t reflect.Type) reflect.Type {
}
}
+// extractGoCommentsRecursive recursively extracts comments from all Go files in a directory and its subdirectories
+func extractGoCommentsRecursive(rootDir string, baseImportPath string) error {
+ fset := token.NewFileSet()
+ type fileInfo struct {
+ importPath string
+ file *ast.File
+ }
+ files := []fileInfo{}
+
+ // Walk the directory tree
+ err := filepath.WalkDir(rootDir, func(filePath string, d fs.DirEntry, err error) error {
+ if err != nil {
+ return nil
+ }
+
+ // Skip vendor directories
+ if d.IsDir() && strings.Contains(filePath, "vendor") {
+ return filepath.SkipDir
+ }
+
+ // Skip non-.go files and test files
+ if d.IsDir() || !strings.HasSuffix(d.Name(), ".go") || strings.HasSuffix(d.Name(), "_test.go") {
+ return nil
+ }
+
+ // Parse the Go file
+ file, err := parser.ParseFile(fset, filePath, nil, parser.ParseComments)
+ if err != nil {
+ return nil // Skip unparseable files
+ }
+
+ // Compute the full import path for this file
+ fileDir := filepath.Dir(filePath)
+ rel, _ := filepath.Rel(rootDir, fileDir)
+ fullImportPath := baseImportPath
+ if rel != "." {
+ fullImportPath = baseImportPath + "/" + filepath.ToSlash(rel)
+ }
+
+ files = append(files, fileInfo{importPath: fullImportPath, file: file})
+ return nil
+ })
+
+ if err != nil {
+ return err
+ }
+
+ for _, fileInfo := range files {
+ file := fileInfo.file
+ importPath := fileInfo.importPath
+
+ for _, decl := range file.Decls {
+ switch d := decl.(type) {
+ case *ast.GenDecl:
+ if d.Tok == token.TYPE {
+ for _, spec := range d.Specs {
+ if typeSpec, ok := spec.(*ast.TypeSpec); ok {
+ typeName := typeSpec.Name.Name
+
+ if d.Doc != nil {
+ comment := strings.TrimSpace(d.Doc.Text())
+ if comment != "" {
+ typeKey := fmt.Sprintf("%s.%s", importPath, typeName)
+ typeComments[typeKey] = comment
+ }
+ }
+
+ if structType, ok := typeSpec.Type.(*ast.StructType); ok && structType.Fields != nil {
+ for _, field := range structType.Fields.List {
+ for _, fieldName := range field.Names {
+ if field.Doc != nil {
+ fieldComment := strings.TrimSpace(field.Doc.Text())
+ if fieldComment != "" {
+ fieldKey := fmt.Sprintf("%s.%s.%s", importPath, typeName, fieldName.Name)
+ fieldComments[fieldKey] = fieldComment
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return nil
+}
+
+// getTypeComment retrieves the documentation comment for a type
+func getTypeComment(t reflect.Type) string {
+ // Look up using the full package path
+ typeKey := fmt.Sprintf("%s.%s", t.PkgPath(), t.Name())
+ if comment, ok := typeComments[typeKey]; ok {
+ return comment
+ }
+ return ""
+}
+
+// getFieldComment retrieves the documentation comment for a struct field
+func getFieldComment(t reflect.Type, fieldName string) string {
+ // Look up using the full package path
+ fieldKey := fmt.Sprintf("%s.%s.%s", t.PkgPath(), t.Name(), fieldName)
+ if comment, ok := fieldComments[fieldKey]; ok {
+ return comment
+ }
+ return ""
+}
+
func reflectTypeMembers(t reflect.Type, m *CSModelType) {
for i := 0; i < t.NumField(); i++ {
f := t.Field(i)
@@ -661,8 +782,9 @@ func reflectTypeMembers(t reflect.Type, m *CSModelType) {
reflectedTypes[typeToKey(f.Type)] = inlineModel
csProp := CSProperty{
- Name: f.Name,
- Type: CSType{"", inlineStructName},
+ Name: f.Name,
+ Type: CSType{"", inlineStructName},
+ Comment: getFieldComment(t, f.Name),
}
jsonTag := strings.Split(f.Tag.Get("json"), ",")
@@ -719,7 +841,11 @@ func reflectTypeMembers(t reflect.Type, m *CSModelType) {
}
// Create our new property.
- csProp := CSProperty{Name: f.Name, Type: csType(f.Type, false)}
+ csProp := CSProperty{
+ Name: f.Name,
+ Type: csType(f.Type, false),
+ Comment: getFieldComment(t, f.Name),
+ }
jsonName := f.Name
if jsonTag[0] != "" {
@@ -811,6 +937,7 @@ func reflectType(t reflect.Type) {
if activeType == nil {
activeType = NewModel(name, t.String())
+ activeType.Comment = getTypeComment(t)
}
activeType.IsStarted = true
@@ -837,6 +964,23 @@ func main() {
sourcePath, _ = os.Getwd()
}
+ // Extract comments from moby/moby source files
+ mobyModules := []string{
+ "github.com/moby/moby/api",
+ "github.com/moby/moby/client",
+ }
+
+ for _, moduleName := range mobyModules {
+ moduleInfo, err := findGoModulePath(moduleName)
+ if err != nil {
+ fmt.Printf("Warning: Failed to find module %s: %v\n", moduleName, err)
+ continue
+ }
+ if err := extractGoCommentsRecursive(moduleInfo.Path, moduleInfo.ImportPath); err != nil {
+ fmt.Printf("Warning: Failed to extract comments from %s: %v\n", moduleInfo.Path, err)
+ }
+ }
+
// Delete any previously generated files.
if files, err := os.ReadDir(sourcePath); err != nil {
panic(err)
@@ -879,3 +1023,71 @@ func main() {
os.Rename(f.Name(), path.Join(sourcePath, v.Name+".Generated.cs"))
}
}
+
+// ModuleInfo contains both the filesystem path and import path for a Go module
+type ModuleInfo struct {
+ Path string // filesystem path to the module
+ ImportPath string // import path like github.com/moby/moby/api
+}
+
+// findGoModulePath attempts to find the path to a Go module in GOPATH and returns both the filesystem path and import path
+func findGoModulePath(moduleName string) (*ModuleInfo, error) {
+ goPath := os.Getenv("GOPATH")
+ if goPath == "" {
+ home, err := os.UserHomeDir()
+ if err != nil {
+ return nil, err
+ }
+ goPath = filepath.Join(home, "go")
+ }
+
+ // Look in $GOPATH/pkg/mod for the module
+ modCacheBase := filepath.Join(goPath, "pkg", "mod", filepath.FromSlash(moduleName))
+ baseDir := filepath.Dir(modCacheBase)
+ baseName := filepath.Base(modCacheBase)
+
+ entries, err := os.ReadDir(baseDir)
+ if err != nil {
+ return nil, err
+ }
+
+ // Find the latest version of the module (e.g., "moby@v1.44.0")
+ var latestVersion string
+ var latestPath string
+
+ for _, entry := range entries {
+ if !entry.IsDir() {
+ continue
+ }
+ name := entry.Name()
+ // Check if this is a version of our module (e.g., "moby@v1.44.0")
+ if strings.HasPrefix(name, baseName+"@") {
+ if latestVersion == "" || name > latestVersion {
+ latestVersion = name
+ latestPath = filepath.Join(baseDir, name)
+ }
+ }
+ }
+
+ if latestPath != "" {
+ // Extract import path from the filesystem path
+ fspath := latestPath
+
+ // Remove version suffix (after @)
+ atIndex := strings.Index(fspath, "@")
+ if atIndex != -1 {
+ fspath = fspath[:atIndex]
+ }
+
+ // Remove $GOPATH/pkg/mod/ prefix
+ modPrefix := filepath.Join(goPath, "pkg", "mod") + string(os.PathSeparator)
+ if after, ok := strings.CutPrefix(fspath, modPrefix); ok {
+ fspath = after
+ }
+
+ importPath := filepath.ToSlash(fspath)
+ return &ModuleInfo{Path: latestPath, ImportPath: importPath}, nil
+ }
+
+ return nil, fmt.Errorf("module %s not found in Go module cache", moduleName)
+}