diff --git a/.editorconfig b/.editorconfig index 7f8357be..e55719c0 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,4 +18,7 @@ insert_final_newline = true # it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide) max_line_length = off trim_trailing_whitespace = true -disabled_rules = no-wildcard-imports +ktlint_disabled_rules = no-wildcard-imports +# ktlint_standard_no-wildcard-imports = disabled +# ktlint_standard_enum-entry-name-case = disabled +# ktlint_standard = disabled diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2cc6fb0e..d7dd5dbe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,11 @@ jobs: cache: 'gradle' # checks if updating the generated sources would succeed - name: clean updateApiModelSources - run: ./gradlew clean updateApiModelSources assemble --no-daemon --info --stacktrace + run: ./gradlew clean updateApiModelSources --no-daemon --info --stacktrace + - name: clean openApiGenerateCleanupGeneratedCode + run: ./gradlew clean openApiGenerateCleanupGeneratedCode --no-daemon --info --stacktrace + - name: clean ktlintFormat + run: ./gradlew clean ktlintFormat --no-daemon --info --stacktrace - name: clean build run: ./gradlew clean build --no-daemon --info --stacktrace - name: Upload Test Results diff --git a/api-model-v1-41/.gitignore b/api-model-v1-41/.gitignore index a530464a..e6d38dac 100644 --- a/api-model-v1-41/.gitignore +++ b/api-model-v1-41/.gitignore @@ -19,3 +19,6 @@ hs_err_pid* target .gradle build + +**/de/gesellix/docker/remote/client/api +**/de/gesellix/docker/remote/api/infrastructure diff --git a/api-model-v1-41/.openapi-generator/VERSION b/api-model-v1-41/.openapi-generator/VERSION index e7e42a4b..c0be8a79 100644 --- a/api-model-v1-41/.openapi-generator/VERSION +++ b/api-model-v1-41/.openapi-generator/VERSION @@ -1 +1 @@ -6.3.0 \ No newline at end of file +6.4.0 \ No newline at end of file diff --git a/api-model-v1-41/build.gradle.kts b/api-model-v1-41/build.gradle.kts index 63c32942..cedf025f 100644 --- a/api-model-v1-41/build.gradle.kts +++ b/api-model-v1-41/build.gradle.kts @@ -34,7 +34,7 @@ openApiGenerate { } val openApiGenerateCleanupBuildScript by tasks.register("openApiGenerateCleanupBuildScript") { group = "openapi tools" - dependsOn(tasks.openApiGenerate) + mustRunAfter(tasks.openApiGenerate) doLast { listOf( "build.gradle", @@ -53,7 +53,7 @@ val openApiGenerateCleanupBuildScript by tasks.register("openApiGenerateCleanupB } val openApiGenerateCleanupGeneratedCode by tasks.register("openApiGenerateCleanupGeneratedCode") { group = "openapi tools" - dependsOn(tasks.openApiGenerate) + mustRunAfter(tasks.openApiGenerate) doLast { listOf( "src/main/kotlin/de/gesellix/docker/remote/api/infrastructure", @@ -64,18 +64,35 @@ val openApiGenerateCleanupGeneratedCode by tasks.register("openApiGenerateCleanu } } -tasks.runKtlintFormatOverKotlinScripts.get().dependsOn(tasks.openApiGenerate, openApiGenerateCleanupBuildScript) -tasks.ktlintKotlinScriptFormat.get().dependsOn(tasks.openApiGenerate, openApiGenerateCleanupBuildScript) -tasks.ktlintMainSourceSetFormat.get().dependsOn(tasks.openApiGenerate, openApiGenerateCleanupBuildScript) +tasks.runKtlintFormatOverKotlinScripts.get().mustRunAfter(tasks.openApiGenerate, openApiGenerateCleanupBuildScript, openApiGenerateCleanupGeneratedCode) +tasks.ktlintKotlinScriptFormat.get().mustRunAfter(tasks.openApiGenerate, openApiGenerateCleanupBuildScript, openApiGenerateCleanupGeneratedCode) +tasks.ktlintMainSourceSetFormat.get().mustRunAfter(tasks.openApiGenerate, openApiGenerateCleanupBuildScript, openApiGenerateCleanupGeneratedCode) +tasks.loadKtlintReporters.get().mustRunAfter(tasks.openApiGenerate, openApiGenerateCleanupBuildScript, openApiGenerateCleanupGeneratedCode) // tasks.ktlintFormat.get().dependsOn( // tasks.openApiGenerate, // openApiGenerateCleanupBuildScript, +// openApiGenerateCleanupGeneratedCode, // tasks.named("ktlintGeneratedByKspKotlinSourceSetFormat") // ) val updateApiModelSources by tasks.register("updateApiModelSources") { group = "openapi tools" - dependsOn(tasks.ktlintFormat) - finalizedBy(openApiGenerateCleanupGeneratedCode) + dependsOn( + tasks.openApiGenerate, + openApiGenerateCleanupBuildScript +// openApiGenerateCleanupGeneratedCode + ) + +// TODO try to re-enable this one, +// so that a single task can perform everything all at once. +// finalizedBy(tasks.ktlintFormat) +} + +// TODO find a better solution. +// This is a deprecated workaround, +// because the 'kspKotlin' task isn't present at +// evaluation time. +afterEvaluate { + tasks.findByName("kspKotlin")?.mustRunAfter(tasks.openApiGenerate) } repositories { diff --git a/api-model-v1-41/docker-engine-api-v1.41.yaml b/api-model-v1-41/docker-engine-api-v1.41.yaml index ef728368..6dfbd8ac 100644 --- a/api-model-v1-41/docker-engine-api-v1.41.yaml +++ b/api-model-v1-41/docker-engine-api-v1.41.yaml @@ -4993,9 +4993,9 @@ definitions: description: | The version of the cgroup. type: "string" - enum: ["1", "2"] - default: "1" - example: "1" + enum: ["V1", "V2"] + default: "V1" + example: "V1" NEventsListener: description: "Number of event listeners subscribed." type: "integer" diff --git a/api-model-v1-41/docs/SystemInfo.md b/api-model-v1-41/docs/SystemInfo.md index ec56b02b..9b372a25 100644 --- a/api-model-v1-41/docs/SystemInfo.md +++ b/api-model-v1-41/docs/SystemInfo.md @@ -79,7 +79,7 @@ cgroupDriver | cgroupfs, systemd, none ## Enum: CgroupVersion Name | Value ---- | ----- -cgroupVersion | 1, 2 +cgroupVersion | V1, V2 diff --git a/api-model-v1-41/openapi-generator-config.yaml b/api-model-v1-41/openapi-generator-config.yaml index 96f3124d..38daf0fe 100644 --- a/api-model-v1-41/openapi-generator-config.yaml +++ b/api-model-v1-41/openapi-generator-config.yaml @@ -3,7 +3,7 @@ additionalProperties: hideGenerationTimestamp: true generatorName: kotlin packageName: de.gesellix.docker.remote.api -invokerPackage: de.gesellix.docker.remote.invoker +#invokerPackage: de.gesellix.docker.remote.invoker apiPackage: de.gesellix.docker.remote.client.api modelPackage: de.gesellix.docker.remote.api enumPropertyNaming: PascalCase diff --git a/api-model-v1-41/src/main/java/.gitkeep b/api-model-v1-41/src/main/java/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/BuildCache.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/BuildCache.kt index f56b8e8d..e4bd61d2 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/BuildCache.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/BuildCache.kt @@ -88,11 +88,23 @@ data class BuildCache( * Values: Internal,Frontend,SourcePeriodLocal,SourcePeriodGitPeriodCheckout,ExecPeriodCachemount,Regular */ enum class Type(val value: kotlin.String) { - @Json(name = "internal") Internal("internal"), - @Json(name = "frontend") Frontend("frontend"), - @Json(name = "source.local") SourcePeriodLocal("source.local"), - @Json(name = "source.git.checkout") SourcePeriodGitPeriodCheckout("source.git.checkout"), - @Json(name = "exec.cachemount") ExecPeriodCachemount("exec.cachemount"), - @Json(name = "regular") Regular("regular"); + + @Json(name = "internal") + Internal("internal"), + + @Json(name = "frontend") + Frontend("frontend"), + + @Json(name = "source.local") + SourcePeriodLocal("source.local"), + + @Json(name = "source.git.checkout") + SourcePeriodGitPeriodCheckout("source.git.checkout"), + + @Json(name = "exec.cachemount") + ExecPeriodCachemount("exec.cachemount"), + + @Json(name = "regular") + Regular("regular"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerState.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerState.kt index 20704901..1e4fd554 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerState.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerState.kt @@ -91,12 +91,26 @@ data class ContainerState( * Values: Created,Running,Paused,Restarting,Removing,Exited,Dead */ enum class Status(val value: kotlin.String) { - @Json(name = "created") Created("created"), - @Json(name = "running") Running("running"), - @Json(name = "paused") Paused("paused"), - @Json(name = "restarting") Restarting("restarting"), - @Json(name = "removing") Removing("removing"), - @Json(name = "exited") Exited("exited"), - @Json(name = "dead") Dead("dead"); + + @Json(name = "created") + Created("created"), + + @Json(name = "running") + Running("running"), + + @Json(name = "paused") + Paused("paused"), + + @Json(name = "restarting") + Restarting("restarting"), + + @Json(name = "removing") + Removing("removing"), + + @Json(name = "exited") + Exited("exited"), + + @Json(name = "dead") + Dead("dead"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerUpdateRequest.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerUpdateRequest.kt index 829242d9..265d20b9 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerUpdateRequest.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ContainerUpdateRequest.kt @@ -25,7 +25,7 @@ import com.squareup.moshi.JsonClass * @param memory Memory limit in bytes. * @param cgroupParent Path to `cgroups` under which the container's `cgroup` is created. If the path is not absolute, the path is considered to be relative to the `cgroups` path of the init process. Cgroups are created if they do not already exist. * @param blkioWeight Block IO weight (relative weight). - * @param blkioWeightDevice Block IO weight (relative device weight) in the form: ``` [{\"Path\": \"device_path\", \"Weight\": weight}] ``` + * @param blkioWeightDevice Block IO weight (relative device weight) in the form: ``` [{\"Path\": \"device_path\", \"Weight\": weight}] ``` * @param blkioDeviceReadBps Limit read rate (bytes per second) from a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` * @param blkioDeviceWriteBps Limit write rate (bytes per second) to a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` * @param blkioDeviceReadIOps Limit read rate (IO per second) from a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointPortConfig.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointPortConfig.kt index 3345fb52..418144e6 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointPortConfig.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointPortConfig.kt @@ -57,17 +57,28 @@ data class EndpointPortConfig( * Values: Tcp,Udp,Sctp */ enum class Protocol(val value: kotlin.String) { - @Json(name = "tcp") Tcp("tcp"), - @Json(name = "udp") Udp("udp"), - @Json(name = "sctp") Sctp("sctp"); + + @Json(name = "tcp") + Tcp("tcp"), + + @Json(name = "udp") + Udp("udp"), + + @Json(name = "sctp") + Sctp("sctp"); } + /** * The mode in which port is published.


- \"ingress\" makes the target port accessible on every node, regardless of whether there is a task for the service running on that node or not. - \"host\" bypasses the routing mesh and publish the port directly on the swarm node where that service is running. * * Values: Ingress,Host */ enum class PublishMode(val value: kotlin.String) { - @Json(name = "ingress") Ingress("ingress"), - @Json(name = "host") Host("host"); + + @Json(name = "ingress") + Ingress("ingress"), + + @Json(name = "host") + Host("host"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointSpec.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointSpec.kt index ee34754d..8c06ab9f 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointSpec.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EndpointSpec.kt @@ -44,7 +44,11 @@ data class EndpointSpec( * Values: Vip,Dnsrr */ enum class Mode(val value: kotlin.String) { - @Json(name = "vip") Vip("vip"), - @Json(name = "dnsrr") Dnsrr("dnsrr"); + + @Json(name = "vip") + Vip("vip"), + + @Json(name = "dnsrr") + Dnsrr("dnsrr"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EventMessage.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EventMessage.kt index e4626c5e..3f574d37 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EventMessage.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/EventMessage.kt @@ -63,25 +63,52 @@ data class EventMessage( * Values: Builder,Config,Container,Daemon,Image,Network,Node,Plugin,Secret,Service,Volume */ enum class Type(val value: kotlin.String) { - @Json(name = "builder") Builder("builder"), - @Json(name = "config") Config("config"), - @Json(name = "container") Container("container"), - @Json(name = "daemon") Daemon("daemon"), - @Json(name = "image") Image("image"), - @Json(name = "network") Network("network"), - @Json(name = "node") Node("node"), - @Json(name = "plugin") Plugin("plugin"), - @Json(name = "secret") Secret("secret"), - @Json(name = "service") Service("service"), - @Json(name = "volume") Volume("volume"); + + @Json(name = "builder") + Builder("builder"), + + @Json(name = "config") + Config("config"), + + @Json(name = "container") + Container("container"), + + @Json(name = "daemon") + Daemon("daemon"), + + @Json(name = "image") + Image("image"), + + @Json(name = "network") + Network("network"), + + @Json(name = "node") + Node("node"), + + @Json(name = "plugin") + Plugin("plugin"), + + @Json(name = "secret") + Secret("secret"), + + @Json(name = "service") + Service("service"), + + @Json(name = "volume") + Volume("volume"); } + /** * Scope of the event. Engine events are `local` scope. Cluster (Swarm) events are `swarm` scope. * * Values: Local,Swarm */ enum class Scope(val value: kotlin.String) { - @Json(name = "local") Local("local"), - @Json(name = "swarm") Swarm("swarm"); + + @Json(name = "local") + Local("local"), + + @Json(name = "swarm") + Swarm("swarm"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Health.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Health.kt index 6a8835ca..7126c007 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Health.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Health.kt @@ -49,9 +49,17 @@ data class Health( * Values: None,Starting,Healthy,Unhealthy */ enum class Status(val value: kotlin.String) { - @Json(name = "none") None("none"), - @Json(name = "starting") Starting("starting"), - @Json(name = "healthy") Healthy("healthy"), - @Json(name = "unhealthy") Unhealthy("unhealthy"); + + @Json(name = "none") + None("none"), + + @Json(name = "starting") + Starting("starting"), + + @Json(name = "healthy") + Healthy("healthy"), + + @Json(name = "unhealthy") + Unhealthy("unhealthy"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfig.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfig.kt index b482a24d..cc6447e6 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfig.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfig.kt @@ -25,7 +25,7 @@ import com.squareup.moshi.JsonClass * @param memory Memory limit in bytes. * @param cgroupParent Path to `cgroups` under which the container's `cgroup` is created. If the path is not absolute, the path is considered to be relative to the `cgroups` path of the init process. Cgroups are created if they do not already exist. * @param blkioWeight Block IO weight (relative weight). - * @param blkioWeightDevice Block IO weight (relative device weight) in the form: ``` [{\"Path\": \"device_path\", \"Weight\": weight}] ``` + * @param blkioWeightDevice Block IO weight (relative device weight) in the form: ``` [{\"Path\": \"device_path\", \"Weight\": weight}] ``` * @param blkioDeviceReadBps Limit read rate (bytes per second) from a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` * @param blkioDeviceWriteBps Limit write rate (bytes per second) to a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` * @param blkioDeviceReadIOps Limit read rate (IO per second) from a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` @@ -377,17 +377,28 @@ data class HostConfig( * Values: Private,Host */ enum class CgroupnsMode(val value: kotlin.String) { - @Json(name = "private") Private("private"), - @Json(name = "host") Host("host"); + + @Json(name = "private") + Private("private"), + + @Json(name = "host") + Host("host"); } + /** * Isolation technology of the container. (Windows only) * * Values: Default,Process,Hyperv */ enum class Isolation(val value: kotlin.String) { - @Json(name = "default") Default("default"), - @Json(name = "process") Process("process"), - @Json(name = "hyperv") Hyperv("hyperv"); + + @Json(name = "default") + Default("default"), + + @Json(name = "process") + Process("process"), + + @Json(name = "hyperv") + Hyperv("hyperv"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOf.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOf.kt index e21ba340..ca54453d 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOf.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOf.kt @@ -49,7 +49,7 @@ import com.squareup.moshi.JsonClass * @param readonlyRootfs Mount the container's root filesystem as read only. * @param securityOpt A list of string values to customize labels for MLS systems, such as SELinux. * @param storageOpt Storage driver options for this container, in the form `{\"size\": \"120G\"}`. - * @param tmpfs A map of container directories which should be replaced by tmpfs mounts, and their corresponding mount options. For example: ``` { \"/run\": \"rw,noexec,nosuid,size=65536k\" } ``` + * @param tmpfs A map of container directories which should be replaced by tmpfs mounts, and their corresponding mount options. For example: ``` { \"/run\": \"rw,noexec,nosuid,size=65536k\" } ``` * @param utSMode UTS namespace to use for the container. * @param usernsMode Sets the usernamespace mode for the container when usernamespace remapping option is enabled. * @param shmSize Size of `/dev/shm` in bytes. If omitted, the system uses 64MB. @@ -222,17 +222,28 @@ data class HostConfigAllOf( * Values: Private,Host */ enum class CgroupnsMode(val value: kotlin.String) { - @Json(name = "private") Private("private"), - @Json(name = "host") Host("host"); + + @Json(name = "private") + Private("private"), + + @Json(name = "host") + Host("host"); } + /** * Isolation technology of the container. (Windows only) * * Values: Default,Process,Hyperv */ enum class Isolation(val value: kotlin.String) { - @Json(name = "default") Default("default"), - @Json(name = "process") Process("process"), - @Json(name = "hyperv") Hyperv("hyperv"); + + @Json(name = "default") + Default("default"), + + @Json(name = "process") + Process("process"), + + @Json(name = "hyperv") + Hyperv("hyperv"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOfLogConfig.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOfLogConfig.kt index d687de2c..b886fcd6 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOfLogConfig.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/HostConfigAllOfLogConfig.kt @@ -42,14 +42,32 @@ data class HostConfigAllOfLogConfig( * Values: JsonMinusFile,Syslog,Journald,Gelf,Fluentd,Awslogs,Splunk,Etwlogs,None */ enum class Type(val value: kotlin.String) { - @Json(name = "json-file") JsonMinusFile("json-file"), - @Json(name = "syslog") Syslog("syslog"), - @Json(name = "journald") Journald("journald"), - @Json(name = "gelf") Gelf("gelf"), - @Json(name = "fluentd") Fluentd("fluentd"), - @Json(name = "awslogs") Awslogs("awslogs"), - @Json(name = "splunk") Splunk("splunk"), - @Json(name = "etwlogs") Etwlogs("etwlogs"), - @Json(name = "none") None("none"); + + @Json(name = "json-file") + JsonMinusFile("json-file"), + + @Json(name = "syslog") + Syslog("syslog"), + + @Json(name = "journald") + Journald("journald"), + + @Json(name = "gelf") + Gelf("gelf"), + + @Json(name = "fluentd") + Fluentd("fluentd"), + + @Json(name = "awslogs") + Awslogs("awslogs"), + + @Json(name = "splunk") + Splunk("splunk"), + + @Json(name = "etwlogs") + Etwlogs("etwlogs"), + + @Json(name = "none") + None("none"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/IPAM.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/IPAM.kt index 602efba8..ef765acc 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/IPAM.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/IPAM.kt @@ -22,7 +22,7 @@ import com.squareup.moshi.JsonClass * * * @param driver Name of the IPAM driver to use. - * @param config List of IPAM configuration options, specified as a map: ``` {\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": } ``` + * @param config List of IPAM configuration options, specified as a map: ``` {\"Subnet\": , \"IPRange\": , \"Gateway\": , \"AuxAddress\": } ``` * @param options Driver-specific options, specified as a map. */ @JsonClass(generateAdapter = true) diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/LocalNodeState.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/LocalNodeState.kt index 56605f87..6fbeef9c 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/LocalNodeState.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/LocalNodeState.kt @@ -53,6 +53,7 @@ enum class LocalNodeState(val value: kotlin.String) { override fun toString(): String = value companion object { + /** * Converts the provided [data] to a [String] on success, null otherwise. */ diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Mount.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Mount.kt index aee66a70..12a2fcdc 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Mount.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Mount.kt @@ -71,9 +71,17 @@ data class Mount( * Values: Bind,Volume,Tmpfs,Npipe */ enum class Type(val value: kotlin.String) { - @Json(name = "bind") Bind("bind"), - @Json(name = "volume") Volume("volume"), - @Json(name = "tmpfs") Tmpfs("tmpfs"), - @Json(name = "npipe") Npipe("npipe"); + + @Json(name = "bind") + Bind("bind"), + + @Json(name = "volume") + Volume("volume"), + + @Json(name = "tmpfs") + Tmpfs("tmpfs"), + + @Json(name = "npipe") + Npipe("npipe"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountBindOptions.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountBindOptions.kt index 0df4c0ad..476f769b 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountBindOptions.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountBindOptions.kt @@ -44,11 +44,23 @@ data class MountBindOptions( * Values: Private,Rprivate,Shared,Rshared,Slave,Rslave */ enum class Propagation(val value: kotlin.String) { - @Json(name = "private") Private("private"), - @Json(name = "rprivate") Rprivate("rprivate"), - @Json(name = "shared") Shared("shared"), - @Json(name = "rshared") Rshared("rshared"), - @Json(name = "slave") Slave("slave"), - @Json(name = "rslave") Rslave("rslave"); + + @Json(name = "private") + Private("private"), + + @Json(name = "rprivate") + Rprivate("rprivate"), + + @Json(name = "shared") + Shared("shared"), + + @Json(name = "rshared") + Rshared("rshared"), + + @Json(name = "slave") + Slave("slave"), + + @Json(name = "rslave") + Rslave("rslave"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountPoint.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountPoint.kt index 7176e3cd..0afd4275 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountPoint.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/MountPoint.kt @@ -74,9 +74,17 @@ data class MountPoint( * Values: Bind,Volume,Tmpfs,Npipe */ enum class Type(val value: kotlin.String) { - @Json(name = "bind") Bind("bind"), - @Json(name = "volume") Volume("volume"), - @Json(name = "tmpfs") Tmpfs("tmpfs"), - @Json(name = "npipe") Npipe("npipe"); + + @Json(name = "bind") + Bind("bind"), + + @Json(name = "volume") + Volume("volume"), + + @Json(name = "tmpfs") + Tmpfs("tmpfs"), + + @Json(name = "npipe") + Npipe("npipe"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeSpec.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeSpec.kt index ad9f7c01..5178f1b6 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeSpec.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeSpec.kt @@ -54,17 +54,28 @@ data class NodeSpec( * Values: Worker,Manager */ enum class Role(val value: kotlin.String) { - @Json(name = "worker") Worker("worker"), - @Json(name = "manager") Manager("manager"); + + @Json(name = "worker") + Worker("worker"), + + @Json(name = "manager") + Manager("manager"); } + /** * Availability of the node. * * Values: Active,Pause,Drain */ enum class Availability(val value: kotlin.String) { - @Json(name = "active") Active("active"), - @Json(name = "pause") Pause("pause"), - @Json(name = "drain") Drain("drain"); + + @Json(name = "active") + Active("active"), + + @Json(name = "pause") + Pause("pause"), + + @Json(name = "drain") + Drain("drain"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeState.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeState.kt index db051cee..01140629 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeState.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/NodeState.kt @@ -47,6 +47,7 @@ enum class NodeState(val value: kotlin.String) { override fun toString(): String = value companion object { + /** * Converts the provided [data] to a [String] on success, null otherwise. */ diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/PluginConfigInterface.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/PluginConfigInterface.kt index 79932b9b..017aa59f 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/PluginConfigInterface.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/PluginConfigInterface.kt @@ -47,7 +47,11 @@ data class PluginConfigInterface( * Values: EMPTY,MobyPeriodPluginsPeriodHttpSlashV1 */ enum class ProtocolScheme(val value: kotlin.String) { - @Json(name = "") EMPTY(""), - @Json(name = "moby.plugins.http/v1") MobyPeriodPluginsPeriodHttpSlashV1("moby.plugins.http/v1"); + + @Json(name = "") + EMPTY(""), + + @Json(name = "moby.plugins.http/v1") + MobyPeriodPluginsPeriodHttpSlashV1("moby.plugins.http/v1"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Port.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Port.kt index 6fd4f613..a420309a 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Port.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Port.kt @@ -53,8 +53,14 @@ data class Port( * Values: Tcp,Udp,Sctp */ enum class Type(val value: kotlin.String) { - @Json(name = "tcp") Tcp("tcp"), - @Json(name = "udp") Udp("udp"), - @Json(name = "sctp") Sctp("sctp"); + + @Json(name = "tcp") + Tcp("tcp"), + + @Json(name = "udp") + Udp("udp"), + + @Json(name = "sctp") + Sctp("sctp"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Reachability.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Reachability.kt index 42482a30..0f003057 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Reachability.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Reachability.kt @@ -44,6 +44,7 @@ enum class Reachability(val value: kotlin.String) { override fun toString(): String = value companion object { + /** * Converts the provided [data] to a [String] on success, null otherwise. */ diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Resources.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Resources.kt index c6a11a19..3def415e 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Resources.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Resources.kt @@ -25,7 +25,7 @@ import com.squareup.moshi.JsonClass * @param memory Memory limit in bytes. * @param cgroupParent Path to `cgroups` under which the container's `cgroup` is created. If the path is not absolute, the path is considered to be relative to the `cgroups` path of the init process. Cgroups are created if they do not already exist. * @param blkioWeight Block IO weight (relative weight). - * @param blkioWeightDevice Block IO weight (relative device weight) in the form: ``` [{\"Path\": \"device_path\", \"Weight\": weight}] ``` + * @param blkioWeightDevice Block IO weight (relative device weight) in the form: ``` [{\"Path\": \"device_path\", \"Weight\": weight}] ``` * @param blkioDeviceReadBps Limit read rate (bytes per second) from a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` * @param blkioDeviceWriteBps Limit write rate (bytes per second) to a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` * @param blkioDeviceReadIOps Limit read rate (IO per second) from a device, in the form: ``` [{\"Path\": \"device_path\", \"Rate\": rate}] ``` diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/RestartPolicy.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/RestartPolicy.kt index b2eb17d3..6ed9489f 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/RestartPolicy.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/RestartPolicy.kt @@ -44,10 +44,20 @@ data class RestartPolicy( * Values: EMPTY,No,Always,UnlessMinusStopped,OnMinusFailure */ enum class Name(val value: kotlin.String) { - @Json(name = "") EMPTY(""), - @Json(name = "no") No("no"), - @Json(name = "always") Always("always"), - @Json(name = "unless-stopped") UnlessMinusStopped("unless-stopped"), - @Json(name = "on-failure") OnMinusFailure("on-failure"); + + @Json(name = "") + EMPTY(""), + + @Json(name = "no") + No("no"), + + @Json(name = "always") + Always("always"), + + @Json(name = "unless-stopped") + UnlessMinusStopped("unless-stopped"), + + @Json(name = "on-failure") + OnMinusFailure("on-failure"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecRollbackConfig.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecRollbackConfig.kt index 6ec46720..3c4072ff 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecRollbackConfig.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecRollbackConfig.kt @@ -64,16 +64,25 @@ data class ServiceSpecRollbackConfig( * Values: Continue,Pause */ enum class FailureAction(val value: kotlin.String) { - @Json(name = "continue") Continue("continue"), - @Json(name = "pause") Pause("pause"); + + @Json(name = "continue") + Continue("continue"), + + @Json(name = "pause") + Pause("pause"); } + /** * The order of operations when rolling back a task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down. * * Values: StopMinusFirst,StartMinusFirst */ enum class Order(val value: kotlin.String) { - @Json(name = "stop-first") StopMinusFirst("stop-first"), - @Json(name = "start-first") StartMinusFirst("start-first"); + + @Json(name = "stop-first") + StopMinusFirst("stop-first"), + + @Json(name = "start-first") + StartMinusFirst("start-first"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecUpdateConfig.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecUpdateConfig.kt index d720e007..7fddab9d 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecUpdateConfig.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceSpecUpdateConfig.kt @@ -64,17 +64,28 @@ data class ServiceSpecUpdateConfig( * Values: Continue,Pause,Rollback */ enum class FailureAction(val value: kotlin.String) { - @Json(name = "continue") Continue("continue"), - @Json(name = "pause") Pause("pause"), - @Json(name = "rollback") Rollback("rollback"); + + @Json(name = "continue") + Continue("continue"), + + @Json(name = "pause") + Pause("pause"), + + @Json(name = "rollback") + Rollback("rollback"); } + /** * The order of operations when rolling out an updated task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down. * * Values: StopMinusFirst,StartMinusFirst */ enum class Order(val value: kotlin.String) { - @Json(name = "stop-first") StopMinusFirst("stop-first"), - @Json(name = "start-first") StartMinusFirst("start-first"); + + @Json(name = "stop-first") + StopMinusFirst("stop-first"), + + @Json(name = "start-first") + StartMinusFirst("start-first"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceUpdateStatus.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceUpdateStatus.kt index 6e1a87dd..fdc8ba37 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceUpdateStatus.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/ServiceUpdateStatus.kt @@ -50,8 +50,14 @@ data class ServiceUpdateStatus( * Values: Updating,Paused,Completed */ enum class State(val value: kotlin.String) { - @Json(name = "updating") Updating("updating"), - @Json(name = "paused") Paused("paused"), - @Json(name = "completed") Completed("completed"); + + @Json(name = "updating") + Updating("updating"), + + @Json(name = "paused") + Paused("paused"), + + @Json(name = "completed") + Completed("completed"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SwarmSpecCAConfigExternalCAsInner.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SwarmSpecCAConfigExternalCAsInner.kt index a27c48ab..a9c770ce 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SwarmSpecCAConfigExternalCAsInner.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SwarmSpecCAConfigExternalCAsInner.kt @@ -54,6 +54,8 @@ data class SwarmSpecCAConfigExternalCAsInner( * Values: Cfssl */ enum class Protocol(val value: kotlin.String) { - @Json(name = "cfssl") Cfssl("cfssl"); + + @Json(name = "cfssl") + Cfssl("cfssl"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SystemInfo.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SystemInfo.kt index b07ee4c3..eac04de0 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SystemInfo.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/SystemInfo.kt @@ -201,7 +201,7 @@ data class SystemInfo( /* The version of the cgroup. */ @Json(name = "CgroupVersion") - var cgroupVersion: SystemInfo.CgroupVersion? = CgroupVersion._1, + var cgroupVersion: SystemInfo.CgroupVersion? = CgroupVersion.V1, /* Number of event listeners subscribed. */ @Json(name = "NEventsListener") @@ -338,27 +338,45 @@ data class SystemInfo( * Values: Cgroupfs,Systemd,None */ enum class CgroupDriver(val value: kotlin.String) { - @Json(name = "cgroupfs") Cgroupfs("cgroupfs"), - @Json(name = "systemd") Systemd("systemd"), - @Json(name = "none") None("none"); + + @Json(name = "cgroupfs") + Cgroupfs("cgroupfs"), + + @Json(name = "systemd") + Systemd("systemd"), + + @Json(name = "none") + None("none"); } + /** * The version of the cgroup. * - * Values: _1,_2 + * Values: V1,V2 */ enum class CgroupVersion(val value: kotlin.String) { - @Json(name = "1") _1("1"), - @Json(name = "2") _2("2"); + + @Json(name = "V1") + V1("V1"), + + @Json(name = "V2") + V2("V2"); } + /** * Represents the isolation technology to use as a default for containers. The supported values are platform-specific. If no isolation value is specified on daemon start, on Windows client, the default is `hyperv`, and on Windows server, the default is `process`. This option is currently not used on other platforms. * * Values: Default,Hyperv,Process */ enum class Isolation(val value: kotlin.String) { - @Json(name = "default") Default("default"), - @Json(name = "hyperv") Hyperv("hyperv"), - @Json(name = "process") Process("process"); + + @Json(name = "default") + Default("default"), + + @Json(name = "hyperv") + Hyperv("hyperv"), + + @Json(name = "process") + Process("process"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecContainerSpec.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecContainerSpec.kt index cd5c3112..ce665d57 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecContainerSpec.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecContainerSpec.kt @@ -166,8 +166,14 @@ data class TaskSpecContainerSpec( * Values: Default,Process,Hyperv */ enum class Isolation(val value: kotlin.String) { - @Json(name = "default") Default("default"), - @Json(name = "process") Process("process"), - @Json(name = "hyperv") Hyperv("hyperv"); + + @Json(name = "default") + Default("default"), + + @Json(name = "process") + Process("process"), + + @Json(name = "hyperv") + Hyperv("hyperv"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecRestartPolicy.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecRestartPolicy.kt index 06b8d0fb..44dd444a 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecRestartPolicy.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskSpecRestartPolicy.kt @@ -54,8 +54,14 @@ data class TaskSpecRestartPolicy( * Values: None,OnMinusFailure,Any */ enum class Condition(val value: kotlin.String) { - @Json(name = "none") None("none"), - @Json(name = "on-failure") OnMinusFailure("on-failure"), - @Json(name = "any") Any("any"); + + @Json(name = "none") + None("none"), + + @Json(name = "on-failure") + OnMinusFailure("on-failure"), + + @Json(name = "any") + Any("any"); } } diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskState.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskState.kt index 39911720..e902a986 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskState.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/TaskState.kt @@ -80,6 +80,7 @@ enum class TaskState(val value: kotlin.String) { override fun toString(): String = value companion object { + /** * Converts the provided [data] to a [String] on success, null otherwise. */ diff --git a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Volume.kt b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Volume.kt index 6d690374..211a07e9 100644 --- a/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Volume.kt +++ b/api-model-v1-41/src/main/kotlin/de/gesellix/docker/remote/api/Volume.kt @@ -78,7 +78,11 @@ data class Volume( * Values: Local,Global */ enum class Scope(val value: kotlin.String) { - @Json(name = "local") Local("local"), - @Json(name = "global") Global("global"); + + @Json(name = "local") + Local("local"), + + @Json(name = "global") + Global("global"); } } diff --git a/build.gradle.kts b/build.gradle.kts index b9271f24..4a42333f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,7 +21,8 @@ val dependencyVersions = listOf( "org.jetbrains.kotlin:kotlin-stdlib:1.8.10", "org.jetbrains.kotlin:kotlin-stdlib-common:1.8.10", "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10", - "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10" + "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10", + "org.slf4j:slf4j-api:1.7.32", ) val dependencyGroupVersions = mapOf(