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

com.pulumi.kubernetes.apps.v1beta2.kotlin.outputs.ControllerRevision.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.apps.v1beta2.kotlin.outputs

import com.google.gson.GsonBuilder
import com.pulumi.kubernetes.meta.v1.kotlin.outputs.ObjectMeta
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 * ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.
 * @property apiVersion APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
 * @property data Data is the serialized representation of the state.
 * @property kind Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
 * @property metadata Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
 * @property revision Revision indicates the revision of the state represented by Data.
 */
public data class ControllerRevision(
    public val apiVersion: String? = null,
    public val `data`: JsonElement? = null,
    public val kind: String? = null,
    public val metadata: ObjectMeta? = null,
    public val revision: Int,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.apps.v1beta2.outputs.ControllerRevision): ControllerRevision = ControllerRevision(
            apiVersion = javaType.apiVersion().map({ args0 -> args0 }).orElse(null),
            `data` = javaType.`data`().map({ args0 ->
                Json.parseToJsonElement(GsonBuilder().serializeNulls().create().toJson(args0))
            }).orElse(null),
            kind = javaType.kind().map({ args0 -> args0 }).orElse(null),
            metadata = javaType.metadata().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.meta.v1.kotlin.outputs.ObjectMeta.Companion.toKotlin(args0)
                })
            }).orElse(null),
            revision = javaType.revision(),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy