All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.gesellix.docker.remote.api.EventMessage.kt Maven / Gradle / Ivy

There is a newer version: 2024-11-04T20-53-00
Show newest version
/**
 *
 * Please note:
 * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * Do not edit this file manually.
 *
 */

@file:Suppress(
    "ArrayInDataClass",
    "EnumEntryName",
    "RemoveRedundantQualifierName",
    "UnusedImport",
)

package de.gesellix.docker.remote.api

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass

/**
 * EventMessage represents the information an event contains.
 *
 * @param type The type of object emitting the event
 * @param action The type of event
 * @param actor
 * @param scope Scope of the event. Engine events are `local` scope. Cluster (Swarm) events are `swarm` scope.
 * @param time Timestamp of event
 * @param timeNano Timestamp of event, with nanosecond accuracy
 */
@JsonClass(generateAdapter = true)
data class EventMessage(
    // The type of object emitting the event
    @Json(name = "Type")
    var type: EventMessage.Type? = null,
    // The type of event
    @Json(name = "Action")
    var action: kotlin.String? = null,
    @Json(name = "Actor")
    var actor: EventActor? = null,
    // Scope of the event. Engine events are `local` scope. Cluster (Swarm) events are `swarm` scope.
    @Json(name = "scope")
    var scope: EventMessage.Scope? = null,
    // Timestamp of event
    @Json(name = "time")
    var time: kotlin.Long? = null,
    // Timestamp of event, with nanosecond accuracy
    @Json(name = "timeNano")
    var timeNano: kotlin.Long? = null,
) {
    /**
     * The type of object emitting the event
     *
     * Values: Builder,Config,Container,Daemon,Image,Network,Node,Plugin,Secret,Service,Volume
     */
    @JsonClass(generateAdapter = false)
    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"),
    }

    /**
     * Scope of the event. Engine events are `local` scope. Cluster (Swarm) events are `swarm` scope.
     *
     * Values: Local,Swarm
     */
    @JsonClass(generateAdapter = false)
    enum class Scope(val value: kotlin.String) {
        @Json(name = "local")
        Local("local"),

        @Json(name = "swarm")
        Swarm("swarm"),
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy