From 0386cceffbb2126f6c6bde6cdea80a179b50de75 Mon Sep 17 00:00:00 2001 From: Natan Date: Tue, 21 Apr 2026 14:44:31 -0300 Subject: [PATCH 1/4] feat: impl --- .../models/container/ContainerStats.kt | 108 ++++++++++++++++++ .../models/container/ContainerStatsOptions.kt | 19 +++ .../models/container/ContainerStatsResult.kt | 23 ++++ .../resource/container/ContainerResource.kt | 65 +++++++++++ .../container/ContainerResourceExt.kt | 39 +++++++ 5 files changed, 254 insertions(+) create mode 100644 src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt create mode 100644 src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsOptions.kt create mode 100644 src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsResult.kt diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt new file mode 100644 index 00000000..aafe4527 --- /dev/null +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt @@ -0,0 +1,108 @@ +package me.devnatan.dockerkt.models.container + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Container resource usage statistics as returned by the + * `GET /containers/:id/stats` endpoint. + * + * Fields are nullable because Docker returns different subsets depending + * on the container platform (Linux vs Windows) and state (running vs stopped). + */ +@Serializable +public data class ContainerStats internal constructor( + @SerialName("read") public val read: String, + @SerialName("preread") public val preread: String? = null, + @SerialName("name") public val name: String? = null, + @SerialName("id") public val id: String? = null, + @SerialName("num_procs") public val numProcs: Long? = null, + @SerialName("pids_stats") public val pidsStats: PidsStats? = null, + @SerialName("cpu_stats") public val cpuStats: CpuStats? = null, + @SerialName("precpu_stats") public val precpuStats: CpuStats? = null, + @SerialName("memory_stats") public val memoryStats: MemoryStats? = null, + @SerialName("blkio_stats") public val blkioStats: BlkioStats? = null, + @SerialName("networks") public val networks: Map? = null, + @SerialName("storage_stats") public val storageStats: StorageStats? = null, +) + +@Serializable +public data class PidsStats internal constructor( + @SerialName("current") public val current: Long? = null, + @SerialName("limit") public val limit: Long? = null, +) + +@Serializable +public data class CpuStats internal constructor( + @SerialName("cpu_usage") public val cpuUsage: CpuUsage? = null, + @SerialName("system_cpu_usage") public val systemCpuUsage: Long? = null, + @SerialName("online_cpus") public val onlineCpus: Long? = null, + @SerialName("throttling_data") public val throttlingData: ThrottlingData? = null, +) + +@Serializable +public data class CpuUsage internal constructor( + @SerialName("total_usage") public val totalUsage: Long? = null, + @SerialName("usage_in_kernelmode") public val usageInKernelmode: Long? = null, + @SerialName("usage_in_usermode") public val usageInUsermode: Long? = null, + @SerialName("percpu_usage") public val percpuUsage: List? = null, +) + +@Serializable +public data class ThrottlingData internal constructor( + @SerialName("periods") public val periods: Long? = null, + @SerialName("throttled_periods") public val throttledPeriods: Long? = null, + @SerialName("throttled_time") public val throttledTime: Long? = null, +) + +@Serializable +public data class MemoryStats internal constructor( + @SerialName("usage") public val usage: Long? = null, + @SerialName("max_usage") public val maxUsage: Long? = null, + @SerialName("limit") public val limit: Long? = null, + @SerialName("failcnt") public val failcnt: Long? = null, + @SerialName("stats") public val stats: Map? = null, + @SerialName("commitbytes") public val commitBytes: Long? = null, + @SerialName("commitpeakbytes") public val commitPeakBytes: Long? = null, + @SerialName("privateworkingset") public val privateWorkingSet: Long? = null, +) + +@Serializable +public data class BlkioStats internal constructor( + @SerialName("io_service_bytes_recursive") public val ioServiceBytesRecursive: List? = null, + @SerialName("io_serviced_recursive") public val ioServicedRecursive: List? = null, + @SerialName("io_queue_recursive") public val ioQueueRecursive: List? = null, + @SerialName("io_service_time_recursive") public val ioServiceTimeRecursive: List? = null, + @SerialName("io_wait_time_recursive") public val ioWaitTimeRecursive: List? = null, + @SerialName("io_merged_recursive") public val ioMergedRecursive: List? = null, + @SerialName("io_time_recursive") public val ioTimeRecursive: List? = null, + @SerialName("sectors_recursive") public val sectorsRecursive: List? = null, +) + +@Serializable +public data class BlkioStatsEntry internal constructor( + @SerialName("major") public val major: Long? = null, + @SerialName("minor") public val minor: Long? = null, + @SerialName("op") public val op: String? = null, + @SerialName("value") public val value: Long? = null, +) + +@Serializable +public data class NetworkStats internal constructor( + @SerialName("rx_bytes") public val rxBytes: Long? = null, + @SerialName("rx_packets") public val rxPackets: Long? = null, + @SerialName("rx_errors") public val rxErrors: Long? = null, + @SerialName("rx_dropped") public val rxDropped: Long? = null, + @SerialName("tx_bytes") public val txBytes: Long? = null, + @SerialName("tx_packets") public val txPackets: Long? = null, + @SerialName("tx_errors") public val txErrors: Long? = null, + @SerialName("tx_dropped") public val txDropped: Long? = null, +) + +@Serializable +public data class StorageStats internal constructor( + @SerialName("read_count_normalized") public val readCountNormalized: Long? = null, + @SerialName("read_size_bytes") public val readSizeBytes: Long? = null, + @SerialName("write_count_normalized") public val writeCountNormalized: Long? = null, + @SerialName("write_size_bytes") public val writeSizeBytes: Long? = null, +) diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsOptions.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsOptions.kt new file mode 100644 index 00000000..8af3874a --- /dev/null +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsOptions.kt @@ -0,0 +1,19 @@ +package me.devnatan.dockerkt.models.container + +import kotlin.jvm.JvmOverloads + +/** + * Container stats endpoint options. + * + * @property stream When `true` (default), stats are pulled continuously as a stream. + * When `false`, a single snapshot is returned. + * @property oneShot Only applicable when [stream] is `false`. When `true`, the stats + * are returned immediately without a 1-second pre-read that Docker + * performs by default to compute CPU usage deltas. + */ +public class ContainerStatsOptions + @JvmOverloads + constructor( + public var stream: Boolean = true, + public var oneShot: Boolean = false, + ) diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsResult.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsResult.kt new file mode 100644 index 00000000..5fc6ef10 --- /dev/null +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStatsResult.kt @@ -0,0 +1,23 @@ +package me.devnatan.dockerkt.models.container + +import kotlinx.coroutines.flow.Flow + +/** + * Result of a [me.devnatan.dockerkt.resource.container.ContainerResource.stats] operation. + */ +public sealed class ContainerStatsResult { + /** + * Streaming result. The [output] flow emits one [ContainerStats] per Docker + * stats message until the container stops or the flow is cancelled. + */ + public data class Stream( + val output: Flow, + ) : ContainerStatsResult() + + /** + * Single-snapshot result returned when `stream = false`. + */ + public data class Single( + val output: ContainerStats, + ) : ContainerStatsResult() +} diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt index a11cf842..21157e70 100644 --- a/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt @@ -48,6 +48,9 @@ import me.devnatan.dockerkt.models.container.ContainerLogsResult import me.devnatan.dockerkt.models.container.ContainerPruneFilters import me.devnatan.dockerkt.models.container.ContainerPruneResult import me.devnatan.dockerkt.models.container.ContainerRemoveOptions +import me.devnatan.dockerkt.models.container.ContainerStats +import me.devnatan.dockerkt.models.container.ContainerStatsOptions +import me.devnatan.dockerkt.models.container.ContainerStatsResult import me.devnatan.dockerkt.models.container.ContainerSummary import me.devnatan.dockerkt.models.container.ContainerWaitResult import me.devnatan.dockerkt.resource.image.ImageNotFoundException @@ -312,6 +315,68 @@ public class ContainerResource internal constructor( } } + /** + * Get resource usage statistics for a container. + * + * Similar to the `docker stats` command, this retrieves CPU, memory, network, + * block I/O and PID statistics for a container. Results can be returned as a + * continuous stream of updates or as a single snapshot. + * + * @param container Container id or name. + * @param options Configuration options for stats retrieval. See [ContainerStatsOptions]. + * @return [ContainerStatsResult] whose concrete type depends on the options: + * - [ContainerStatsResult.Stream] when [ContainerStatsOptions.stream] is `true`. + * - [ContainerStatsResult.Single] when [ContainerStatsOptions.stream] is `false`. + * + * @throws ContainerNotFoundException If the container is not found. + */ + public suspend fun stats( + container: String, + options: ContainerStatsOptions = ContainerStatsOptions(), + ): ContainerStatsResult = + if (options.stream) { + ContainerStatsResult.Stream(statsStreaming(container)) + } else { + ContainerStatsResult.Single(statsSingle(container, options.oneShot)) + } + + private suspend fun statsSingle( + container: String, + oneShot: Boolean, + ): ContainerStats = + requestCatching( + HttpStatusCode.NotFound to { cause -> ContainerNotFoundException(cause, container) }, + ) { + httpClient.get("$BasePath/$container/stats") { + parameter("stream", false) + parameter("one-shot", oneShot) + } + }.let { response -> + val channel = response.bodyAsChannel() + val line = channel.readUTF8Line() + ?: error("Empty response from stats endpoint for container $container") + json.decodeFromString(line) + } + + private fun statsStreaming(container: String): Flow = + channelFlow { + requestCatching( + HttpStatusCode.NotFound to { cause -> ContainerNotFoundException(cause, container) }, + ) { + httpClient + .prepareGet("$BasePath/$container/stats") { + parameter("stream", true) + }.execute { response -> + val channel = response.bodyAsChannel() + while (!channel.isClosedForRead) { + val line = channel.readUTF8Line() ?: break + if (line.isBlank()) continue + send(json.decodeFromString(line)) + } + } + } + } + // TODO documentation public suspend fun wait( container: String, diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResourceExt.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResourceExt.kt index c0a69c9e..9ff0da8a 100644 --- a/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResourceExt.kt +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResourceExt.kt @@ -14,6 +14,9 @@ import me.devnatan.dockerkt.models.container.ContainerLogsResult import me.devnatan.dockerkt.models.container.ContainerPruneFilters import me.devnatan.dockerkt.models.container.ContainerPruneResult import me.devnatan.dockerkt.models.container.ContainerRemoveOptions +import me.devnatan.dockerkt.models.container.ContainerStats +import me.devnatan.dockerkt.models.container.ContainerStatsOptions +import me.devnatan.dockerkt.models.container.ContainerStatsResult import me.devnatan.dockerkt.models.container.ContainerSummary import me.devnatan.dockerkt.resource.image.ImageNotFoundException import kotlin.contracts.ExperimentalContracts @@ -93,6 +96,42 @@ public suspend inline fun ContainerResource.logs( block: ContainerLogsOptions.() -> Unit, ): ContainerLogsResult = logs(container, ContainerLogsOptions().apply(block)) +/** + * Get resource usage statistics for a container. + * + * @param container Container id or name. + * @param block Configuration for stats retrieval. See [ContainerStatsOptions]. + * @return [ContainerStatsResult] whose concrete type depends on the options: + * - [ContainerStatsResult.Stream] when [ContainerStatsOptions.stream] is `true`. + * - [ContainerStatsResult.Single] when [ContainerStatsOptions.stream] is `false`. + * + * @throws ContainerNotFoundException If the container is not found. + */ +public suspend inline fun ContainerResource.stats( + container: String, + block: ContainerStatsOptions.() -> Unit, +): ContainerStatsResult = stats(container, ContainerStatsOptions().apply(block)) + +/** + * Get a single snapshot of resource usage statistics for a container. + * + * @param container Container id or name. + * @param oneShot When `true`, Docker skips its default 1-second pre-read used to + * compute CPU deltas and returns stats immediately. + * + * @throws ContainerNotFoundException If the container is not found. + */ +public suspend fun ContainerResource.statsSnapshot( + container: String, + oneShot: Boolean = false, +): ContainerStats = + ( + stats( + container = container, + options = ContainerStatsOptions(stream = false, oneShot = oneShot), + ) as ContainerStatsResult.Single + ).output + /** * Get logs from a container with [ContainerLogsOptions.follow], [ContainerLogsOptions.demux], [ContainerLogsOptions.stdout] * and [ContainerLogsOptions.stderr] options already set. From 983bc9d47d3296ea075d83ef1edd9c9756468990 Mon Sep 17 00:00:00 2001 From: Natan Date: Tue, 21 Apr 2026 14:44:43 -0300 Subject: [PATCH 2/4] test: integration tests --- .../resource/container/StatsContainerIT.kt | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 src/commonTest/kotlin/me/devnatan/dockerkt/resource/container/StatsContainerIT.kt diff --git a/src/commonTest/kotlin/me/devnatan/dockerkt/resource/container/StatsContainerIT.kt b/src/commonTest/kotlin/me/devnatan/dockerkt/resource/container/StatsContainerIT.kt new file mode 100644 index 00000000..aa901080 --- /dev/null +++ b/src/commonTest/kotlin/me/devnatan/dockerkt/resource/container/StatsContainerIT.kt @@ -0,0 +1,108 @@ +package me.devnatan.dockerkt.resource.container + +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.take +import kotlinx.coroutines.flow.toList +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.test.runTest +import kotlinx.coroutines.withTimeout +import me.devnatan.dockerkt.models.container.ContainerStatsResult +import me.devnatan.dockerkt.resource.ResourceIT +import me.devnatan.dockerkt.sleepForever +import me.devnatan.dockerkt.withContainer +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertFailsWith +import kotlin.test.assertIs +import kotlin.test.assertNotNull +import kotlin.test.assertTrue +import kotlin.time.Duration.Companion.seconds + +class StatsContainerIT : ResourceIT() { + @Test + fun `stats from non-existent container throws ContainerNotFoundException`() = + runTest { + assertFailsWith { + testClient.containers.stats("non-existent-container-12345") { + stream = false + oneShot = true + } + } + } + + @Test + fun `single stats snapshot returns one reading`() = + runBlocking { + testClient.withContainer( + image = "alpine:latest", + options = { sleepForever() }, + ) { container -> + testClient.containers.start(container) + + val result = + withTimeout(15.seconds) { + testClient.containers.stats(container) { + stream = false + oneShot = true + } + } + + assertIs(result) + assertNotNull(result.output.read) + assertTrue(result.output.read.isNotBlank(), "read timestamp should be set") + } + } + + @Test + fun `streaming stats emits multiple readings`() = + runBlocking { + testClient.withContainer( + image = "alpine:latest", + options = { sleepForever() }, + ) { container -> + testClient.containers.start(container) + + val result = + testClient.containers.stats(container) { + stream = true + } + + assertIs(result) + + val readings = + withTimeout(30.seconds) { + result.output.take(2).toList() + } + + assertEquals(2, readings.size, "Expected 2 stats readings") + readings.forEach { reading -> + assertTrue(reading.read.isNotBlank(), "read timestamp should be set") + } + } + } + + @Test + fun `streaming stats can be cancelled with first`() = + runBlocking { + testClient.withContainer( + image = "alpine:latest", + options = { sleepForever() }, + ) { container -> + testClient.containers.start(container) + + val result = + testClient.containers.stats(container) { + stream = true + } + + assertIs(result) + + val reading = + withTimeout(15.seconds) { + result.output.first() + } + + assertTrue(reading.read.isNotBlank()) + } + } +} From 9e2cdc75354c908cb235b85fbe0d8b3a7a20b603 Mon Sep 17 00:00:00 2001 From: Natan Date: Tue, 21 Apr 2026 14:44:51 -0300 Subject: [PATCH 3/4] chore: update SUPPORTED_ENDPOINTS.md --- SUPPORTED_ENDPOINTS.md | 2 +- .../dockerkt/resource/container/ContainerResource.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/SUPPORTED_ENDPOINTS.md b/SUPPORTED_ENDPOINTS.md index bf1cc850..287d147b 100644 --- a/SUPPORTED_ENDPOINTS.md +++ b/SUPPORTED_ENDPOINTS.md @@ -10,7 +10,7 @@ Supports 48 of 106 endpoints * [x] Get container logs - **GET /containers/:id/logs** * [ ] Get changes on container's filesystem - **GET /containers/:id/changes** * [ ] Export a container - **GET /containers/:id/export** -* [ ] Get container stats based on resource usage - **GET /containers/:id/stats** +* [x] Get container stats based on resource usage - **GET /containers/:id/stats** * [x] Resize a container TTY - **POST /containers/:id/resize** * [x] Start a container - **POST /containers/:id/start** * [x] Stop a container - **POST /containers/:id/stop** diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt index 21157e70..d99a5903 100644 --- a/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/resource/container/ContainerResource.kt @@ -353,8 +353,9 @@ public class ContainerResource internal constructor( } }.let { response -> val channel = response.bodyAsChannel() - val line = channel.readUTF8Line() - ?: error("Empty response from stats endpoint for container $container") + val line = + channel.readUTF8Line() + ?: error("Empty response from stats endpoint for container $container") json.decodeFromString(line) } From 4a5a970a65123a49a6f33f91ebfff2fbdebf5f41 Mon Sep 17 00:00:00 2001 From: Natan Date: Tue, 21 Apr 2026 18:17:27 -0300 Subject: [PATCH 4/4] fix: use ULong to prevent overflows --- api/docker-kotlin.api | 385 ++++++++++++++++ api/docker-kotlin.klib.api | 421 ++++++++++++++++++ .../models/container/ContainerStats.kt | 87 ++-- 3 files changed, 856 insertions(+), 37 deletions(-) diff --git a/api/docker-kotlin.api b/api/docker-kotlin.api index 13423d4e..40108431 100644 --- a/api/docker-kotlin.api +++ b/api/docker-kotlin.api @@ -1225,6 +1225,76 @@ public final class me/devnatan/dockerkt/models/ThrottleDevice$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class me/devnatan/dockerkt/models/container/BlkioStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/BlkioStats$Companion; + public fun ()V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ljava/util/List; + public final fun component3 ()Ljava/util/List; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Ljava/util/List; + public final fun component7 ()Ljava/util/List; + public final fun component8 ()Ljava/util/List; + public fun equals (Ljava/lang/Object;)Z + public final fun getIoMergedRecursive ()Ljava/util/List; + public final fun getIoQueueRecursive ()Ljava/util/List; + public final fun getIoServiceBytesRecursive ()Ljava/util/List; + public final fun getIoServiceTimeRecursive ()Ljava/util/List; + public final fun getIoServicedRecursive ()Ljava/util/List; + public final fun getIoTimeRecursive ()Ljava/util/List; + public final fun getIoWaitTimeRecursive ()Ljava/util/List; + public final fun getSectorsRecursive ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/BlkioStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/BlkioStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/BlkioStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/BlkioStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/BlkioStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/BlkioStatsEntry { + public static final field Companion Lme/devnatan/dockerkt/models/container/BlkioStatsEntry$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;Ljava/lang/String;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3 ()Ljava/lang/String; + public final fun component4-6VbMDqA ()Lkotlin/ULong; + public fun equals (Ljava/lang/Object;)Z + public final fun getMajor-6VbMDqA ()Lkotlin/ULong; + public final fun getMinor-6VbMDqA ()Lkotlin/ULong; + public final fun getOp ()Ljava/lang/String; + public final fun getValue-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/BlkioStatsEntry$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/BlkioStatsEntry$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/BlkioStatsEntry; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/BlkioStatsEntry;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/BlkioStatsEntry$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class me/devnatan/dockerkt/models/container/Container { public static final field Companion Lme/devnatan/dockerkt/models/container/Container$Companion; public final fun component1 ()Ljava/lang/String; @@ -1994,6 +2064,89 @@ public final class me/devnatan/dockerkt/models/container/ContainerState$Status$R public static final field INSTANCE Lme/devnatan/dockerkt/models/container/ContainerState$Status$Running; } +public final class me/devnatan/dockerkt/models/container/ContainerStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/ContainerStats$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/ULong;Lme/devnatan/dockerkt/models/container/PidsStats;Lme/devnatan/dockerkt/models/container/CpuStats;Lme/devnatan/dockerkt/models/container/CpuStats;Lme/devnatan/dockerkt/models/container/MemoryStats;Lme/devnatan/dockerkt/models/container/BlkioStats;Ljava/util/Map;Lme/devnatan/dockerkt/models/container/StorageStats;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Lme/devnatan/dockerkt/models/container/BlkioStats; + public final fun component11 ()Ljava/util/Map; + public final fun component12 ()Lme/devnatan/dockerkt/models/container/StorageStats; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5-6VbMDqA ()Lkotlin/ULong; + public final fun component6 ()Lme/devnatan/dockerkt/models/container/PidsStats; + public final fun component7 ()Lme/devnatan/dockerkt/models/container/CpuStats; + public final fun component8 ()Lme/devnatan/dockerkt/models/container/CpuStats; + public final fun component9 ()Lme/devnatan/dockerkt/models/container/MemoryStats; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlkioStats ()Lme/devnatan/dockerkt/models/container/BlkioStats; + public final fun getCpuStats ()Lme/devnatan/dockerkt/models/container/CpuStats; + public final fun getId ()Ljava/lang/String; + public final fun getMemoryStats ()Lme/devnatan/dockerkt/models/container/MemoryStats; + public final fun getName ()Ljava/lang/String; + public final fun getNetworks ()Ljava/util/Map; + public final fun getNumProcs-6VbMDqA ()Lkotlin/ULong; + public final fun getPidsStats ()Lme/devnatan/dockerkt/models/container/PidsStats; + public final fun getPrecpuStats ()Lme/devnatan/dockerkt/models/container/CpuStats; + public final fun getPreread ()Ljava/lang/String; + public final fun getRead ()Ljava/lang/String; + public final fun getStorageStats ()Lme/devnatan/dockerkt/models/container/StorageStats; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/ContainerStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/ContainerStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/ContainerStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/ContainerStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/ContainerStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/ContainerStatsOptions { + public fun ()V + public fun (Z)V + public fun (ZZ)V + public synthetic fun (ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getOneShot ()Z + public final fun getStream ()Z + public final fun setOneShot (Z)V + public final fun setStream (Z)V +} + +public abstract class me/devnatan/dockerkt/models/container/ContainerStatsResult { +} + +public final class me/devnatan/dockerkt/models/container/ContainerStatsResult$Single : me/devnatan/dockerkt/models/container/ContainerStatsResult { + public fun (Lme/devnatan/dockerkt/models/container/ContainerStats;)V + public final fun component1 ()Lme/devnatan/dockerkt/models/container/ContainerStats; + public final fun copy (Lme/devnatan/dockerkt/models/container/ContainerStats;)Lme/devnatan/dockerkt/models/container/ContainerStatsResult$Single; + public static synthetic fun copy$default (Lme/devnatan/dockerkt/models/container/ContainerStatsResult$Single;Lme/devnatan/dockerkt/models/container/ContainerStats;ILjava/lang/Object;)Lme/devnatan/dockerkt/models/container/ContainerStatsResult$Single; + public fun equals (Ljava/lang/Object;)Z + public final fun getOutput ()Lme/devnatan/dockerkt/models/container/ContainerStats; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class me/devnatan/dockerkt/models/container/ContainerStatsResult$Stream : me/devnatan/dockerkt/models/container/ContainerStatsResult { + public fun (Lkotlinx/coroutines/flow/Flow;)V + public final fun component1 ()Lkotlinx/coroutines/flow/Flow; + public final fun copy (Lkotlinx/coroutines/flow/Flow;)Lme/devnatan/dockerkt/models/container/ContainerStatsResult$Stream; + public static synthetic fun copy$default (Lme/devnatan/dockerkt/models/container/ContainerStatsResult$Stream;Lkotlinx/coroutines/flow/Flow;ILjava/lang/Object;)Lme/devnatan/dockerkt/models/container/ContainerStatsResult$Stream; + public fun equals (Ljava/lang/Object;)Z + public final fun getOutput ()Lkotlinx/coroutines/flow/Flow; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + public final class me/devnatan/dockerkt/models/container/ContainerSummary { public static final field Companion Lme/devnatan/dockerkt/models/container/ContainerSummary$Companion; public final fun component1 ()Ljava/lang/String; @@ -2122,6 +2275,107 @@ public final class me/devnatan/dockerkt/models/container/ContainerWaitResult$Err public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class me/devnatan/dockerkt/models/container/CpuStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/CpuStats$Companion; + public synthetic fun (Lme/devnatan/dockerkt/models/container/CpuUsage;Lkotlin/ULong;Lkotlin/ULong;Lme/devnatan/dockerkt/models/container/ThrottlingData;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lme/devnatan/dockerkt/models/container/CpuUsage; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3-6VbMDqA ()Lkotlin/ULong; + public final fun component4 ()Lme/devnatan/dockerkt/models/container/ThrottlingData; + public fun equals (Ljava/lang/Object;)Z + public final fun getCpuUsage ()Lme/devnatan/dockerkt/models/container/CpuUsage; + public final fun getOnlineCpus-6VbMDqA ()Lkotlin/ULong; + public final fun getSystemCpuUsage-6VbMDqA ()Lkotlin/ULong; + public final fun getThrottlingData ()Lme/devnatan/dockerkt/models/container/ThrottlingData; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/CpuStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/CpuStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/CpuStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/CpuStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/CpuStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/CpuUsage { + public static final field Companion Lme/devnatan/dockerkt/models/container/CpuUsage$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3-6VbMDqA ()Lkotlin/ULong; + public final fun component4 ()Ljava/util/List; + public fun equals (Ljava/lang/Object;)Z + public final fun getPercpuUsage ()Ljava/util/List; + public final fun getTotalUsage-6VbMDqA ()Lkotlin/ULong; + public final fun getUsageInKernelmode-6VbMDqA ()Lkotlin/ULong; + public final fun getUsageInUsermode-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/CpuUsage$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/CpuUsage$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/CpuUsage; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/CpuUsage;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/CpuUsage$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/MemoryStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/MemoryStats$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Ljava/util/Map;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3-6VbMDqA ()Lkotlin/ULong; + public final fun component4-6VbMDqA ()Lkotlin/ULong; + public final fun component5 ()Ljava/util/Map; + public final fun component6-6VbMDqA ()Lkotlin/ULong; + public final fun component7-6VbMDqA ()Lkotlin/ULong; + public final fun component8-6VbMDqA ()Lkotlin/ULong; + public fun equals (Ljava/lang/Object;)Z + public final fun getCommitBytes-6VbMDqA ()Lkotlin/ULong; + public final fun getCommitPeakBytes-6VbMDqA ()Lkotlin/ULong; + public final fun getFailcnt-6VbMDqA ()Lkotlin/ULong; + public final fun getLimit-6VbMDqA ()Lkotlin/ULong; + public final fun getMaxUsage-6VbMDqA ()Lkotlin/ULong; + public final fun getPrivateWorkingSet-6VbMDqA ()Lkotlin/ULong; + public final fun getStats ()Ljava/util/Map; + public final fun getUsage-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/MemoryStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/MemoryStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/MemoryStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/MemoryStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/MemoryStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class me/devnatan/dockerkt/models/container/MountPoint { public static final field Companion Lme/devnatan/dockerkt/models/container/MountPoint$Companion; public final fun component1 ()Ljava/lang/String; @@ -2200,6 +2454,132 @@ public final class me/devnatan/dockerkt/models/container/NetworkSettings$Compani public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class me/devnatan/dockerkt/models/container/NetworkStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/NetworkStats$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3-6VbMDqA ()Lkotlin/ULong; + public final fun component4-6VbMDqA ()Lkotlin/ULong; + public final fun component5-6VbMDqA ()Lkotlin/ULong; + public final fun component6-6VbMDqA ()Lkotlin/ULong; + public final fun component7-6VbMDqA ()Lkotlin/ULong; + public final fun component8-6VbMDqA ()Lkotlin/ULong; + public fun equals (Ljava/lang/Object;)Z + public final fun getRxBytes-6VbMDqA ()Lkotlin/ULong; + public final fun getRxDropped-6VbMDqA ()Lkotlin/ULong; + public final fun getRxErrors-6VbMDqA ()Lkotlin/ULong; + public final fun getRxPackets-6VbMDqA ()Lkotlin/ULong; + public final fun getTxBytes-6VbMDqA ()Lkotlin/ULong; + public final fun getTxDropped-6VbMDqA ()Lkotlin/ULong; + public final fun getTxErrors-6VbMDqA ()Lkotlin/ULong; + public final fun getTxPackets-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/NetworkStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/NetworkStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/NetworkStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/NetworkStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/NetworkStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/PidsStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/PidsStats$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public fun equals (Ljava/lang/Object;)Z + public final fun getCurrent-6VbMDqA ()Lkotlin/ULong; + public final fun getLimit-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/PidsStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/PidsStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/PidsStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/PidsStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/PidsStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/StorageStats { + public static final field Companion Lme/devnatan/dockerkt/models/container/StorageStats$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3-6VbMDqA ()Lkotlin/ULong; + public final fun component4-6VbMDqA ()Lkotlin/ULong; + public fun equals (Ljava/lang/Object;)Z + public final fun getReadCountNormalized-6VbMDqA ()Lkotlin/ULong; + public final fun getReadSizeBytes-6VbMDqA ()Lkotlin/ULong; + public final fun getWriteCountNormalized-6VbMDqA ()Lkotlin/ULong; + public final fun getWriteSizeBytes-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/StorageStats$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/StorageStats$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/StorageStats; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/StorageStats;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/StorageStats$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/ThrottlingData { + public static final field Companion Lme/devnatan/dockerkt/models/container/ThrottlingData$Companion; + public synthetic fun (Lkotlin/ULong;Lkotlin/ULong;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-6VbMDqA ()Lkotlin/ULong; + public final fun component2-6VbMDqA ()Lkotlin/ULong; + public final fun component3-6VbMDqA ()Lkotlin/ULong; + public fun equals (Ljava/lang/Object;)Z + public final fun getPeriods-6VbMDqA ()Lkotlin/ULong; + public final fun getThrottledPeriods-6VbMDqA ()Lkotlin/ULong; + public final fun getThrottledTime-6VbMDqA ()Lkotlin/ULong; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class me/devnatan/dockerkt/models/container/ThrottlingData$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lme/devnatan/dockerkt/models/container/ThrottlingData$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lme/devnatan/dockerkt/models/container/ThrottlingData; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lme/devnatan/dockerkt/models/container/ThrottlingData;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class me/devnatan/dockerkt/models/container/ThrottlingData$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class me/devnatan/dockerkt/models/exec/DemuxedOutput { public fun (Ljava/lang/String;Ljava/lang/String;)V public final fun component1 ()Ljava/lang/String; @@ -5034,6 +5414,8 @@ public final class me/devnatan/dockerkt/resource/container/ContainerResource { public static synthetic fun restart-Kx4hsE0$default (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Lkotlin/time/Duration;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun start (Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun start$default (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun stats (Ljava/lang/String;Lme/devnatan/dockerkt/models/container/ContainerStatsOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun stats$default (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Lme/devnatan/dockerkt/models/container/ContainerStatsOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun stop-Kx4hsE0 (Ljava/lang/String;Lkotlin/time/Duration;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun stop-Kx4hsE0$default (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Lkotlin/time/Duration;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun unpause (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -5053,6 +5435,9 @@ public final class me/devnatan/dockerkt/resource/container/ContainerResourceExtK public static final fun prune (Lme/devnatan/dockerkt/resource/container/ContainerResource;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun remove (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun resizeTTY (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun stats (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun statsSnapshot (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun statsSnapshot$default (Lme/devnatan/dockerkt/resource/container/ContainerResource;Ljava/lang/String;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } public class me/devnatan/dockerkt/resource/exec/ExecException : me/devnatan/dockerkt/DockerResourceException { diff --git a/api/docker-kotlin.klib.api b/api/docker-kotlin.klib.api index 0d1fbdcc..c40ab8f4 100644 --- a/api/docker-kotlin.klib.api +++ b/api/docker-kotlin.klib.api @@ -150,6 +150,84 @@ final class me.devnatan.dockerkt.io/TarEntry { // me.devnatan.dockerkt.io/TarEnt final fun toString(): kotlin/String // me.devnatan.dockerkt.io/TarEntry.toString|toString(){}[0] } +final class me.devnatan.dockerkt.models.container/BlkioStats { // me.devnatan.dockerkt.models.container/BlkioStats|null[0] + final val ioMergedRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioMergedRecursive|{}ioMergedRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioMergedRecursive.|(){}[0] + final val ioQueueRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioQueueRecursive|{}ioQueueRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioQueueRecursive.|(){}[0] + final val ioServiceBytesRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioServiceBytesRecursive|{}ioServiceBytesRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioServiceBytesRecursive.|(){}[0] + final val ioServiceTimeRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioServiceTimeRecursive|{}ioServiceTimeRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioServiceTimeRecursive.|(){}[0] + final val ioServicedRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioServicedRecursive|{}ioServicedRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioServicedRecursive.|(){}[0] + final val ioTimeRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioTimeRecursive|{}ioTimeRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioTimeRecursive.|(){}[0] + final val ioWaitTimeRecursive // me.devnatan.dockerkt.models.container/BlkioStats.ioWaitTimeRecursive|{}ioWaitTimeRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.ioWaitTimeRecursive.|(){}[0] + final val sectorsRecursive // me.devnatan.dockerkt.models.container/BlkioStats.sectorsRecursive|{}sectorsRecursive[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.sectorsRecursive.|(){}[0] + + final fun component1(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component1|component1(){}[0] + final fun component2(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component2|component2(){}[0] + final fun component3(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component3|component3(){}[0] + final fun component4(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component4|component4(){}[0] + final fun component5(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component5|component5(){}[0] + final fun component6(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component6|component6(){}[0] + final fun component7(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component7|component7(){}[0] + final fun component8(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/BlkioStats.component8|component8(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/BlkioStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/BlkioStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/BlkioStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/BlkioStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/BlkioStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/BlkioStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/BlkioStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/BlkioStats // me.devnatan.dockerkt.models.container/BlkioStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/BlkioStats) // me.devnatan.dockerkt.models.container/BlkioStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.BlkioStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/BlkioStats.Companion|null[0] + final val $childSerializers // me.devnatan.dockerkt.models.container/BlkioStats.Companion.$childSerializers|{}$childSerializers[0] + + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/BlkioStats.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/BlkioStatsEntry { // me.devnatan.dockerkt.models.container/BlkioStatsEntry|null[0] + final val major // me.devnatan.dockerkt.models.container/BlkioStatsEntry.major|{}major[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.major.|(){}[0] + final val minor // me.devnatan.dockerkt.models.container/BlkioStatsEntry.minor|{}minor[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.minor.|(){}[0] + final val op // me.devnatan.dockerkt.models.container/BlkioStatsEntry.op|{}op[0] + final fun (): kotlin/String? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.op.|(){}[0] + final val value // me.devnatan.dockerkt.models.container/BlkioStatsEntry.value|{}value[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.value.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.component2|component2(){}[0] + final fun component3(): kotlin/String? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.component3|component3(){}[0] + final fun component4(): kotlin/ULong? // me.devnatan.dockerkt.models.container/BlkioStatsEntry.component4|component4(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/BlkioStatsEntry.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/BlkioStatsEntry.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/BlkioStatsEntry.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/BlkioStatsEntry.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/BlkioStatsEntry.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/BlkioStatsEntry.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/BlkioStatsEntry.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/BlkioStatsEntry // me.devnatan.dockerkt.models.container/BlkioStatsEntry.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/BlkioStatsEntry) // me.devnatan.dockerkt.models.container/BlkioStatsEntry.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.BlkioStatsEntry){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/BlkioStatsEntry.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/BlkioStatsEntry.Companion.serializer|serializer(){}[0] + } +} + final class me.devnatan.dockerkt.models.container/Container { // me.devnatan.dockerkt.models.container/Container|null[0] final val appArmorProfile // me.devnatan.dockerkt.models.container/Container.appArmorProfile|{}appArmorProfile[0] final fun (): kotlin/String? // me.devnatan.dockerkt.models.container/Container.appArmorProfile.|(){}[0] @@ -931,6 +1009,75 @@ final class me.devnatan.dockerkt.models.container/ContainerState { // me.devnata } } +final class me.devnatan.dockerkt.models.container/ContainerStats { // me.devnatan.dockerkt.models.container/ContainerStats|null[0] + final val blkioStats // me.devnatan.dockerkt.models.container/ContainerStats.blkioStats|{}blkioStats[0] + final fun (): me.devnatan.dockerkt.models.container/BlkioStats? // me.devnatan.dockerkt.models.container/ContainerStats.blkioStats.|(){}[0] + final val cpuStats // me.devnatan.dockerkt.models.container/ContainerStats.cpuStats|{}cpuStats[0] + final fun (): me.devnatan.dockerkt.models.container/CpuStats? // me.devnatan.dockerkt.models.container/ContainerStats.cpuStats.|(){}[0] + final val id // me.devnatan.dockerkt.models.container/ContainerStats.id|{}id[0] + final fun (): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerStats.id.|(){}[0] + final val memoryStats // me.devnatan.dockerkt.models.container/ContainerStats.memoryStats|{}memoryStats[0] + final fun (): me.devnatan.dockerkt.models.container/MemoryStats? // me.devnatan.dockerkt.models.container/ContainerStats.memoryStats.|(){}[0] + final val name // me.devnatan.dockerkt.models.container/ContainerStats.name|{}name[0] + final fun (): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerStats.name.|(){}[0] + final val networks // me.devnatan.dockerkt.models.container/ContainerStats.networks|{}networks[0] + final fun (): kotlin.collections/Map? // me.devnatan.dockerkt.models.container/ContainerStats.networks.|(){}[0] + final val numProcs // me.devnatan.dockerkt.models.container/ContainerStats.numProcs|{}numProcs[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/ContainerStats.numProcs.|(){}[0] + final val pidsStats // me.devnatan.dockerkt.models.container/ContainerStats.pidsStats|{}pidsStats[0] + final fun (): me.devnatan.dockerkt.models.container/PidsStats? // me.devnatan.dockerkt.models.container/ContainerStats.pidsStats.|(){}[0] + final val precpuStats // me.devnatan.dockerkt.models.container/ContainerStats.precpuStats|{}precpuStats[0] + final fun (): me.devnatan.dockerkt.models.container/CpuStats? // me.devnatan.dockerkt.models.container/ContainerStats.precpuStats.|(){}[0] + final val preread // me.devnatan.dockerkt.models.container/ContainerStats.preread|{}preread[0] + final fun (): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerStats.preread.|(){}[0] + final val read // me.devnatan.dockerkt.models.container/ContainerStats.read|{}read[0] + final fun (): kotlin/String // me.devnatan.dockerkt.models.container/ContainerStats.read.|(){}[0] + final val storageStats // me.devnatan.dockerkt.models.container/ContainerStats.storageStats|{}storageStats[0] + final fun (): me.devnatan.dockerkt.models.container/StorageStats? // me.devnatan.dockerkt.models.container/ContainerStats.storageStats.|(){}[0] + + final fun component1(): kotlin/String // me.devnatan.dockerkt.models.container/ContainerStats.component1|component1(){}[0] + final fun component10(): me.devnatan.dockerkt.models.container/BlkioStats? // me.devnatan.dockerkt.models.container/ContainerStats.component10|component10(){}[0] + final fun component11(): kotlin.collections/Map? // me.devnatan.dockerkt.models.container/ContainerStats.component11|component11(){}[0] + final fun component12(): me.devnatan.dockerkt.models.container/StorageStats? // me.devnatan.dockerkt.models.container/ContainerStats.component12|component12(){}[0] + final fun component2(): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerStats.component2|component2(){}[0] + final fun component3(): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerStats.component3|component3(){}[0] + final fun component4(): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerStats.component4|component4(){}[0] + final fun component5(): kotlin/ULong? // me.devnatan.dockerkt.models.container/ContainerStats.component5|component5(){}[0] + final fun component6(): me.devnatan.dockerkt.models.container/PidsStats? // me.devnatan.dockerkt.models.container/ContainerStats.component6|component6(){}[0] + final fun component7(): me.devnatan.dockerkt.models.container/CpuStats? // me.devnatan.dockerkt.models.container/ContainerStats.component7|component7(){}[0] + final fun component8(): me.devnatan.dockerkt.models.container/CpuStats? // me.devnatan.dockerkt.models.container/ContainerStats.component8|component8(){}[0] + final fun component9(): me.devnatan.dockerkt.models.container/MemoryStats? // me.devnatan.dockerkt.models.container/ContainerStats.component9|component9(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/ContainerStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/ContainerStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/ContainerStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/ContainerStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/ContainerStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/ContainerStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/ContainerStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/ContainerStats // me.devnatan.dockerkt.models.container/ContainerStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/ContainerStats) // me.devnatan.dockerkt.models.container/ContainerStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.ContainerStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/ContainerStats.Companion|null[0] + final val $childSerializers // me.devnatan.dockerkt.models.container/ContainerStats.Companion.$childSerializers|{}$childSerializers[0] + + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/ContainerStats.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/ContainerStatsOptions { // me.devnatan.dockerkt.models.container/ContainerStatsOptions|null[0] + constructor (kotlin/Boolean = ..., kotlin/Boolean = ...) // me.devnatan.dockerkt.models.container/ContainerStatsOptions.|(kotlin.Boolean;kotlin.Boolean){}[0] + + final var oneShot // me.devnatan.dockerkt.models.container/ContainerStatsOptions.oneShot|{}oneShot[0] + final fun (): kotlin/Boolean // me.devnatan.dockerkt.models.container/ContainerStatsOptions.oneShot.|(){}[0] + final fun (kotlin/Boolean) // me.devnatan.dockerkt.models.container/ContainerStatsOptions.oneShot.|(kotlin.Boolean){}[0] + final var stream // me.devnatan.dockerkt.models.container/ContainerStatsOptions.stream|{}stream[0] + final fun (): kotlin/Boolean // me.devnatan.dockerkt.models.container/ContainerStatsOptions.stream.|(){}[0] + final fun (kotlin/Boolean) // me.devnatan.dockerkt.models.container/ContainerStatsOptions.stream.|(kotlin.Boolean){}[0] +} + final class me.devnatan.dockerkt.models.container/ContainerSummary { // me.devnatan.dockerkt.models.container/ContainerSummary|null[0] final val command // me.devnatan.dockerkt.models.container/ContainerSummary.command|{}command[0] final fun (): kotlin/String? // me.devnatan.dockerkt.models.container/ContainerSummary.command.|(){}[0] @@ -1066,6 +1213,118 @@ final class me.devnatan.dockerkt.models.container/ContainerWaitResult { // me.de } } +final class me.devnatan.dockerkt.models.container/CpuStats { // me.devnatan.dockerkt.models.container/CpuStats|null[0] + final val cpuUsage // me.devnatan.dockerkt.models.container/CpuStats.cpuUsage|{}cpuUsage[0] + final fun (): me.devnatan.dockerkt.models.container/CpuUsage? // me.devnatan.dockerkt.models.container/CpuStats.cpuUsage.|(){}[0] + final val onlineCpus // me.devnatan.dockerkt.models.container/CpuStats.onlineCpus|{}onlineCpus[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuStats.onlineCpus.|(){}[0] + final val systemCpuUsage // me.devnatan.dockerkt.models.container/CpuStats.systemCpuUsage|{}systemCpuUsage[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuStats.systemCpuUsage.|(){}[0] + final val throttlingData // me.devnatan.dockerkt.models.container/CpuStats.throttlingData|{}throttlingData[0] + final fun (): me.devnatan.dockerkt.models.container/ThrottlingData? // me.devnatan.dockerkt.models.container/CpuStats.throttlingData.|(){}[0] + + final fun component1(): me.devnatan.dockerkt.models.container/CpuUsage? // me.devnatan.dockerkt.models.container/CpuStats.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuStats.component2|component2(){}[0] + final fun component3(): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuStats.component3|component3(){}[0] + final fun component4(): me.devnatan.dockerkt.models.container/ThrottlingData? // me.devnatan.dockerkt.models.container/CpuStats.component4|component4(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/CpuStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/CpuStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/CpuStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/CpuStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/CpuStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/CpuStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/CpuStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/CpuStats // me.devnatan.dockerkt.models.container/CpuStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/CpuStats) // me.devnatan.dockerkt.models.container/CpuStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.CpuStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/CpuStats.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/CpuStats.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/CpuUsage { // me.devnatan.dockerkt.models.container/CpuUsage|null[0] + final val percpuUsage // me.devnatan.dockerkt.models.container/CpuUsage.percpuUsage|{}percpuUsage[0] + final fun (): kotlin.collections/List? // me.devnatan.dockerkt.models.container/CpuUsage.percpuUsage.|(){}[0] + final val totalUsage // me.devnatan.dockerkt.models.container/CpuUsage.totalUsage|{}totalUsage[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuUsage.totalUsage.|(){}[0] + final val usageInKernelmode // me.devnatan.dockerkt.models.container/CpuUsage.usageInKernelmode|{}usageInKernelmode[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuUsage.usageInKernelmode.|(){}[0] + final val usageInUsermode // me.devnatan.dockerkt.models.container/CpuUsage.usageInUsermode|{}usageInUsermode[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuUsage.usageInUsermode.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuUsage.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuUsage.component2|component2(){}[0] + final fun component3(): kotlin/ULong? // me.devnatan.dockerkt.models.container/CpuUsage.component3|component3(){}[0] + final fun component4(): kotlin.collections/List? // me.devnatan.dockerkt.models.container/CpuUsage.component4|component4(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/CpuUsage.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/CpuUsage.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/CpuUsage.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/CpuUsage.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/CpuUsage.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/CpuUsage.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/CpuUsage.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/CpuUsage // me.devnatan.dockerkt.models.container/CpuUsage.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/CpuUsage) // me.devnatan.dockerkt.models.container/CpuUsage.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.CpuUsage){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/CpuUsage.Companion|null[0] + final val $childSerializers // me.devnatan.dockerkt.models.container/CpuUsage.Companion.$childSerializers|{}$childSerializers[0] + + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/CpuUsage.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/MemoryStats { // me.devnatan.dockerkt.models.container/MemoryStats|null[0] + final val commitBytes // me.devnatan.dockerkt.models.container/MemoryStats.commitBytes|{}commitBytes[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.commitBytes.|(){}[0] + final val commitPeakBytes // me.devnatan.dockerkt.models.container/MemoryStats.commitPeakBytes|{}commitPeakBytes[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.commitPeakBytes.|(){}[0] + final val failcnt // me.devnatan.dockerkt.models.container/MemoryStats.failcnt|{}failcnt[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.failcnt.|(){}[0] + final val limit // me.devnatan.dockerkt.models.container/MemoryStats.limit|{}limit[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.limit.|(){}[0] + final val maxUsage // me.devnatan.dockerkt.models.container/MemoryStats.maxUsage|{}maxUsage[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.maxUsage.|(){}[0] + final val privateWorkingSet // me.devnatan.dockerkt.models.container/MemoryStats.privateWorkingSet|{}privateWorkingSet[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.privateWorkingSet.|(){}[0] + final val stats // me.devnatan.dockerkt.models.container/MemoryStats.stats|{}stats[0] + final fun (): kotlin.collections/Map? // me.devnatan.dockerkt.models.container/MemoryStats.stats.|(){}[0] + final val usage // me.devnatan.dockerkt.models.container/MemoryStats.usage|{}usage[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.usage.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component2|component2(){}[0] + final fun component3(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component3|component3(){}[0] + final fun component4(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component4|component4(){}[0] + final fun component5(): kotlin.collections/Map? // me.devnatan.dockerkt.models.container/MemoryStats.component5|component5(){}[0] + final fun component6(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component6|component6(){}[0] + final fun component7(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component7|component7(){}[0] + final fun component8(): kotlin/ULong? // me.devnatan.dockerkt.models.container/MemoryStats.component8|component8(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/MemoryStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/MemoryStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/MemoryStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/MemoryStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/MemoryStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/MemoryStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/MemoryStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/MemoryStats // me.devnatan.dockerkt.models.container/MemoryStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/MemoryStats) // me.devnatan.dockerkt.models.container/MemoryStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.MemoryStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/MemoryStats.Companion|null[0] + final val $childSerializers // me.devnatan.dockerkt.models.container/MemoryStats.Companion.$childSerializers|{}$childSerializers[0] + + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/MemoryStats.Companion.serializer|serializer(){}[0] + } +} + final class me.devnatan.dockerkt.models.container/MountPoint { // me.devnatan.dockerkt.models.container/MountPoint|null[0] final val dest // me.devnatan.dockerkt.models.container/MountPoint.dest|{}dest[0] final fun (): kotlin/String // me.devnatan.dockerkt.models.container/MountPoint.dest.|(){}[0] @@ -1161,6 +1420,137 @@ final class me.devnatan.dockerkt.models.container/NetworkSettings { // me.devnat } } +final class me.devnatan.dockerkt.models.container/NetworkStats { // me.devnatan.dockerkt.models.container/NetworkStats|null[0] + final val rxBytes // me.devnatan.dockerkt.models.container/NetworkStats.rxBytes|{}rxBytes[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.rxBytes.|(){}[0] + final val rxDropped // me.devnatan.dockerkt.models.container/NetworkStats.rxDropped|{}rxDropped[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.rxDropped.|(){}[0] + final val rxErrors // me.devnatan.dockerkt.models.container/NetworkStats.rxErrors|{}rxErrors[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.rxErrors.|(){}[0] + final val rxPackets // me.devnatan.dockerkt.models.container/NetworkStats.rxPackets|{}rxPackets[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.rxPackets.|(){}[0] + final val txBytes // me.devnatan.dockerkt.models.container/NetworkStats.txBytes|{}txBytes[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.txBytes.|(){}[0] + final val txDropped // me.devnatan.dockerkt.models.container/NetworkStats.txDropped|{}txDropped[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.txDropped.|(){}[0] + final val txErrors // me.devnatan.dockerkt.models.container/NetworkStats.txErrors|{}txErrors[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.txErrors.|(){}[0] + final val txPackets // me.devnatan.dockerkt.models.container/NetworkStats.txPackets|{}txPackets[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.txPackets.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component2|component2(){}[0] + final fun component3(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component3|component3(){}[0] + final fun component4(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component4|component4(){}[0] + final fun component5(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component5|component5(){}[0] + final fun component6(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component6|component6(){}[0] + final fun component7(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component7|component7(){}[0] + final fun component8(): kotlin/ULong? // me.devnatan.dockerkt.models.container/NetworkStats.component8|component8(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/NetworkStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/NetworkStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/NetworkStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/NetworkStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/NetworkStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/NetworkStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/NetworkStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/NetworkStats // me.devnatan.dockerkt.models.container/NetworkStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/NetworkStats) // me.devnatan.dockerkt.models.container/NetworkStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.NetworkStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/NetworkStats.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/NetworkStats.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/PidsStats { // me.devnatan.dockerkt.models.container/PidsStats|null[0] + final val current // me.devnatan.dockerkt.models.container/PidsStats.current|{}current[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/PidsStats.current.|(){}[0] + final val limit // me.devnatan.dockerkt.models.container/PidsStats.limit|{}limit[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/PidsStats.limit.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/PidsStats.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/PidsStats.component2|component2(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/PidsStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/PidsStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/PidsStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/PidsStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/PidsStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/PidsStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/PidsStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/PidsStats // me.devnatan.dockerkt.models.container/PidsStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/PidsStats) // me.devnatan.dockerkt.models.container/PidsStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.PidsStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/PidsStats.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/PidsStats.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/StorageStats { // me.devnatan.dockerkt.models.container/StorageStats|null[0] + final val readCountNormalized // me.devnatan.dockerkt.models.container/StorageStats.readCountNormalized|{}readCountNormalized[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.readCountNormalized.|(){}[0] + final val readSizeBytes // me.devnatan.dockerkt.models.container/StorageStats.readSizeBytes|{}readSizeBytes[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.readSizeBytes.|(){}[0] + final val writeCountNormalized // me.devnatan.dockerkt.models.container/StorageStats.writeCountNormalized|{}writeCountNormalized[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.writeCountNormalized.|(){}[0] + final val writeSizeBytes // me.devnatan.dockerkt.models.container/StorageStats.writeSizeBytes|{}writeSizeBytes[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.writeSizeBytes.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.component2|component2(){}[0] + final fun component3(): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.component3|component3(){}[0] + final fun component4(): kotlin/ULong? // me.devnatan.dockerkt.models.container/StorageStats.component4|component4(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/StorageStats.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/StorageStats.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/StorageStats.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/StorageStats.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/StorageStats.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/StorageStats.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/StorageStats.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/StorageStats // me.devnatan.dockerkt.models.container/StorageStats.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/StorageStats) // me.devnatan.dockerkt.models.container/StorageStats.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.StorageStats){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/StorageStats.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/StorageStats.Companion.serializer|serializer(){}[0] + } +} + +final class me.devnatan.dockerkt.models.container/ThrottlingData { // me.devnatan.dockerkt.models.container/ThrottlingData|null[0] + final val periods // me.devnatan.dockerkt.models.container/ThrottlingData.periods|{}periods[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/ThrottlingData.periods.|(){}[0] + final val throttledPeriods // me.devnatan.dockerkt.models.container/ThrottlingData.throttledPeriods|{}throttledPeriods[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/ThrottlingData.throttledPeriods.|(){}[0] + final val throttledTime // me.devnatan.dockerkt.models.container/ThrottlingData.throttledTime|{}throttledTime[0] + final fun (): kotlin/ULong? // me.devnatan.dockerkt.models.container/ThrottlingData.throttledTime.|(){}[0] + + final fun component1(): kotlin/ULong? // me.devnatan.dockerkt.models.container/ThrottlingData.component1|component1(){}[0] + final fun component2(): kotlin/ULong? // me.devnatan.dockerkt.models.container/ThrottlingData.component2|component2(){}[0] + final fun component3(): kotlin/ULong? // me.devnatan.dockerkt.models.container/ThrottlingData.component3|component3(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/ThrottlingData.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/ThrottlingData.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/ThrottlingData.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // me.devnatan.dockerkt.models.container/ThrottlingData.$serializer|null[0] + final val descriptor // me.devnatan.dockerkt.models.container/ThrottlingData.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // me.devnatan.dockerkt.models.container/ThrottlingData.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // me.devnatan.dockerkt.models.container/ThrottlingData.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): me.devnatan.dockerkt.models.container/ThrottlingData // me.devnatan.dockerkt.models.container/ThrottlingData.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, me.devnatan.dockerkt.models.container/ThrottlingData) // me.devnatan.dockerkt.models.container/ThrottlingData.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;me.devnatan.dockerkt.models.container.ThrottlingData){}[0] + } + + final object Companion { // me.devnatan.dockerkt.models.container/ThrottlingData.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // me.devnatan.dockerkt.models.container/ThrottlingData.Companion.serializer|serializer(){}[0] + } +} + final class me.devnatan.dockerkt.models.exec/DemuxedOutput { // me.devnatan.dockerkt.models.exec/DemuxedOutput|null[0] constructor (kotlin/String, kotlin/String) // me.devnatan.dockerkt.models.exec/DemuxedOutput.|(kotlin.String;kotlin.String){}[0] @@ -5195,6 +5585,7 @@ final class me.devnatan.dockerkt.resource.container/ContainerResource { // me.de final suspend fun resizeTTY(kotlin/String, me.devnatan.dockerkt.models/ResizeTTYOptions = ...) // me.devnatan.dockerkt.resource.container/ContainerResource.resizeTTY|resizeTTY(kotlin.String;me.devnatan.dockerkt.models.ResizeTTYOptions){}[0] final suspend fun restart(kotlin/String, kotlin.time/Duration? = ...) // me.devnatan.dockerkt.resource.container/ContainerResource.restart|restart(kotlin.String;kotlin.time.Duration?){}[0] final suspend fun start(kotlin/String, kotlin/String? = ...) // me.devnatan.dockerkt.resource.container/ContainerResource.start|start(kotlin.String;kotlin.String?){}[0] + final suspend fun stats(kotlin/String, me.devnatan.dockerkt.models.container/ContainerStatsOptions = ...): me.devnatan.dockerkt.models.container/ContainerStatsResult // me.devnatan.dockerkt.resource.container/ContainerResource.stats|stats(kotlin.String;me.devnatan.dockerkt.models.container.ContainerStatsOptions){}[0] final suspend fun stop(kotlin/String, kotlin.time/Duration? = ...) // me.devnatan.dockerkt.resource.container/ContainerResource.stop|stop(kotlin.String;kotlin.time.Duration?){}[0] final suspend fun unpause(kotlin/String) // me.devnatan.dockerkt.resource.container/ContainerResource.unpause|unpause(kotlin.String){}[0] final suspend fun wait(kotlin/String, kotlin/String? = ...): me.devnatan.dockerkt.models.container/ContainerWaitResult // me.devnatan.dockerkt.resource.container/ContainerResource.wait|wait(kotlin.String;kotlin.String?){}[0] @@ -5445,6 +5836,34 @@ sealed class me.devnatan.dockerkt.models.container/ContainerLogsResult { // me.d } } +sealed class me.devnatan.dockerkt.models.container/ContainerStatsResult { // me.devnatan.dockerkt.models.container/ContainerStatsResult|null[0] + final class Single : me.devnatan.dockerkt.models.container/ContainerStatsResult { // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single|null[0] + constructor (me.devnatan.dockerkt.models.container/ContainerStats) // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.|(me.devnatan.dockerkt.models.container.ContainerStats){}[0] + + final val output // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.output|{}output[0] + final fun (): me.devnatan.dockerkt.models.container/ContainerStats // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.output.|(){}[0] + + final fun component1(): me.devnatan.dockerkt.models.container/ContainerStats // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.component1|component1(){}[0] + final fun copy(me.devnatan.dockerkt.models.container/ContainerStats = ...): me.devnatan.dockerkt.models.container/ContainerStatsResult.Single // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.copy|copy(me.devnatan.dockerkt.models.container.ContainerStats){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/ContainerStatsResult.Single.toString|toString(){}[0] + } + + final class Stream : me.devnatan.dockerkt.models.container/ContainerStatsResult { // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream|null[0] + constructor (kotlinx.coroutines.flow/Flow) // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.|(kotlinx.coroutines.flow.Flow){}[0] + + final val output // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.output|{}output[0] + final fun (): kotlinx.coroutines.flow/Flow // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.output.|(){}[0] + + final fun component1(): kotlinx.coroutines.flow/Flow // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.component1|component1(){}[0] + final fun copy(kotlinx.coroutines.flow/Flow = ...): me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.copy|copy(kotlinx.coroutines.flow.Flow){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // me.devnatan.dockerkt.models.container/ContainerStatsResult.Stream.toString|toString(){}[0] + } +} + sealed class me.devnatan.dockerkt.models.exec/ExecStartResult { // me.devnatan.dockerkt.models.exec/ExecStartResult|null[0] final class Complete : me.devnatan.dockerkt.models.exec/ExecStartResult { // me.devnatan.dockerkt.models.exec/ExecStartResult.Complete|null[0] constructor (kotlin/String) // me.devnatan.dockerkt.models.exec/ExecStartResult.Complete.|(kotlin.String){}[0] @@ -5607,12 +6026,14 @@ final suspend fun (me.devnatan.dockerkt.resource.container/ContainerResource).me final suspend fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/copyTo(kotlin/String, kotlin/String, kotlin/ByteArray, kotlin/Function1) // me.devnatan.dockerkt.resource.container/copyTo|copyTo@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String;kotlin.String;kotlin.ByteArray;kotlin.Function1){}[0] final suspend fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/logsAsFlow(kotlin/String): kotlinx.coroutines.flow/Flow // me.devnatan.dockerkt.resource.container/logsAsFlow|logsAsFlow@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String){}[0] final suspend fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/logsDemuxed(kotlin/String): me.devnatan.dockerkt.models.container/ContainerLogsResult.StreamDemuxed // me.devnatan.dockerkt.resource.container/logsDemuxed|logsDemuxed@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String){}[0] +final suspend fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/statsSnapshot(kotlin/String, kotlin/Boolean = ...): me.devnatan.dockerkt.models.container/ContainerStats // me.devnatan.dockerkt.resource.container/statsSnapshot|statsSnapshot@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String;kotlin.Boolean){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/create(kotlin/Function1): kotlin/String // me.devnatan.dockerkt.resource.container/create|create@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/list(kotlin/Function1): kotlin.collections/List // me.devnatan.dockerkt.resource.container/list|list@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/logs(kotlin/String, kotlin/Function1): me.devnatan.dockerkt.models.container/ContainerLogsResult // me.devnatan.dockerkt.resource.container/logs|logs@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String;kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/prune(kotlin/Function1): me.devnatan.dockerkt.models.container/ContainerPruneResult // me.devnatan.dockerkt.resource.container/prune|prune@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/remove(kotlin/String, kotlin/Function1) // me.devnatan.dockerkt.resource.container/remove|remove@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String;kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/resizeTTY(kotlin/String, kotlin/Function1) // me.devnatan.dockerkt.resource.container/resizeTTY|resizeTTY@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String;kotlin.Function1){}[0] +final suspend inline fun (me.devnatan.dockerkt.resource.container/ContainerResource).me.devnatan.dockerkt.resource.container/stats(kotlin/String, kotlin/Function1): me.devnatan.dockerkt.models.container/ContainerStatsResult // me.devnatan.dockerkt.resource.container/stats|stats@me.devnatan.dockerkt.resource.container.ContainerResource(kotlin.String;kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.exec/ExecResource).me.devnatan.dockerkt.resource.exec/create(kotlin/String, kotlin/Function1): kotlin/String // me.devnatan.dockerkt.resource.exec/create|create@me.devnatan.dockerkt.resource.exec.ExecResource(kotlin.String;kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.exec/ExecResource).me.devnatan.dockerkt.resource.exec/start(kotlin/String, kotlin/Function1 = ...): me.devnatan.dockerkt.models.exec/ExecStartResult // me.devnatan.dockerkt.resource.exec/start|start@me.devnatan.dockerkt.resource.exec.ExecResource(kotlin.String;kotlin.Function1){}[0] final suspend inline fun (me.devnatan.dockerkt.resource.image/ImageResource).me.devnatan.dockerkt.resource.image/build(kotlin/String, kotlin/Function1) // me.devnatan.dockerkt.resource.image/build|build@me.devnatan.dockerkt.resource.image.ImageResource(kotlin.String;kotlin.Function1){}[0] diff --git a/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt index aafe4527..97942736 100644 --- a/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt +++ b/src/commonMain/kotlin/me/devnatan/dockerkt/models/container/ContainerStats.kt @@ -4,11 +4,24 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable /** - * Container resource usage statistics as returned by the - * `GET /containers/:id/stats` endpoint. + * Sentinel value Docker uses in `uint64` fields (e.g. memory/pids limits) to + * indicate "unlimited". Equivalent to [ULong.MAX_VALUE]. + * + * ``` + * if (stats.memoryStats?.limit == Unlimited) { ... } + * ``` + */ +public const val Unlimited: ULong = ULong.MAX_VALUE + +/** + * Container resource usage statistics. * * Fields are nullable because Docker returns different subsets depending * on the container platform (Linux vs Windows) and state (running vs stopped). + * + * Counter values are modeled as [ULong] to match Docker's `uint64` API types — + * some fields (e.g. memory/pids limits) use the `uint64` max value as a sentinel + * for "unlimited". */ @Serializable public data class ContainerStats internal constructor( @@ -16,7 +29,7 @@ public data class ContainerStats internal constructor( @SerialName("preread") public val preread: String? = null, @SerialName("name") public val name: String? = null, @SerialName("id") public val id: String? = null, - @SerialName("num_procs") public val numProcs: Long? = null, + @SerialName("num_procs") public val numProcs: ULong? = null, @SerialName("pids_stats") public val pidsStats: PidsStats? = null, @SerialName("cpu_stats") public val cpuStats: CpuStats? = null, @SerialName("precpu_stats") public val precpuStats: CpuStats? = null, @@ -28,43 +41,43 @@ public data class ContainerStats internal constructor( @Serializable public data class PidsStats internal constructor( - @SerialName("current") public val current: Long? = null, - @SerialName("limit") public val limit: Long? = null, + @SerialName("current") public val current: ULong? = null, + @SerialName("limit") public val limit: ULong? = null, ) @Serializable public data class CpuStats internal constructor( @SerialName("cpu_usage") public val cpuUsage: CpuUsage? = null, - @SerialName("system_cpu_usage") public val systemCpuUsage: Long? = null, - @SerialName("online_cpus") public val onlineCpus: Long? = null, + @SerialName("system_cpu_usage") public val systemCpuUsage: ULong? = null, + @SerialName("online_cpus") public val onlineCpus: ULong? = null, @SerialName("throttling_data") public val throttlingData: ThrottlingData? = null, ) @Serializable public data class CpuUsage internal constructor( - @SerialName("total_usage") public val totalUsage: Long? = null, - @SerialName("usage_in_kernelmode") public val usageInKernelmode: Long? = null, - @SerialName("usage_in_usermode") public val usageInUsermode: Long? = null, - @SerialName("percpu_usage") public val percpuUsage: List? = null, + @SerialName("total_usage") public val totalUsage: ULong? = null, + @SerialName("usage_in_kernelmode") public val usageInKernelmode: ULong? = null, + @SerialName("usage_in_usermode") public val usageInUsermode: ULong? = null, + @SerialName("percpu_usage") public val percpuUsage: List? = null, ) @Serializable public data class ThrottlingData internal constructor( - @SerialName("periods") public val periods: Long? = null, - @SerialName("throttled_periods") public val throttledPeriods: Long? = null, - @SerialName("throttled_time") public val throttledTime: Long? = null, + @SerialName("periods") public val periods: ULong? = null, + @SerialName("throttled_periods") public val throttledPeriods: ULong? = null, + @SerialName("throttled_time") public val throttledTime: ULong? = null, ) @Serializable public data class MemoryStats internal constructor( - @SerialName("usage") public val usage: Long? = null, - @SerialName("max_usage") public val maxUsage: Long? = null, - @SerialName("limit") public val limit: Long? = null, - @SerialName("failcnt") public val failcnt: Long? = null, - @SerialName("stats") public val stats: Map? = null, - @SerialName("commitbytes") public val commitBytes: Long? = null, - @SerialName("commitpeakbytes") public val commitPeakBytes: Long? = null, - @SerialName("privateworkingset") public val privateWorkingSet: Long? = null, + @SerialName("usage") public val usage: ULong? = null, + @SerialName("max_usage") public val maxUsage: ULong? = null, + @SerialName("limit") public val limit: ULong? = null, + @SerialName("failcnt") public val failcnt: ULong? = null, + @SerialName("stats") public val stats: Map? = null, + @SerialName("commitbytes") public val commitBytes: ULong? = null, + @SerialName("commitpeakbytes") public val commitPeakBytes: ULong? = null, + @SerialName("privateworkingset") public val privateWorkingSet: ULong? = null, ) @Serializable @@ -81,28 +94,28 @@ public data class BlkioStats internal constructor( @Serializable public data class BlkioStatsEntry internal constructor( - @SerialName("major") public val major: Long? = null, - @SerialName("minor") public val minor: Long? = null, + @SerialName("major") public val major: ULong? = null, + @SerialName("minor") public val minor: ULong? = null, @SerialName("op") public val op: String? = null, - @SerialName("value") public val value: Long? = null, + @SerialName("value") public val value: ULong? = null, ) @Serializable public data class NetworkStats internal constructor( - @SerialName("rx_bytes") public val rxBytes: Long? = null, - @SerialName("rx_packets") public val rxPackets: Long? = null, - @SerialName("rx_errors") public val rxErrors: Long? = null, - @SerialName("rx_dropped") public val rxDropped: Long? = null, - @SerialName("tx_bytes") public val txBytes: Long? = null, - @SerialName("tx_packets") public val txPackets: Long? = null, - @SerialName("tx_errors") public val txErrors: Long? = null, - @SerialName("tx_dropped") public val txDropped: Long? = null, + @SerialName("rx_bytes") public val rxBytes: ULong? = null, + @SerialName("rx_packets") public val rxPackets: ULong? = null, + @SerialName("rx_errors") public val rxErrors: ULong? = null, + @SerialName("rx_dropped") public val rxDropped: ULong? = null, + @SerialName("tx_bytes") public val txBytes: ULong? = null, + @SerialName("tx_packets") public val txPackets: ULong? = null, + @SerialName("tx_errors") public val txErrors: ULong? = null, + @SerialName("tx_dropped") public val txDropped: ULong? = null, ) @Serializable public data class StorageStats internal constructor( - @SerialName("read_count_normalized") public val readCountNormalized: Long? = null, - @SerialName("read_size_bytes") public val readSizeBytes: Long? = null, - @SerialName("write_count_normalized") public val writeCountNormalized: Long? = null, - @SerialName("write_size_bytes") public val writeSizeBytes: Long? = null, + @SerialName("read_count_normalized") public val readCountNormalized: ULong? = null, + @SerialName("read_size_bytes") public val readSizeBytes: ULong? = null, + @SerialName("write_count_normalized") public val writeCountNormalized: ULong? = null, + @SerialName("write_size_bytes") public val writeSizeBytes: ULong? = null, )