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

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

/**
 *
 * 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 - 2025 Weber Informatics LLC | Privacy Policy