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

com.pulumi.kubernetes.resource.v1alpha3.kotlin.outputs.OpaqueDeviceConfigurationPatch.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.resource.v1alpha3.kotlin.outputs

import com.google.gson.GsonBuilder
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonElement
import kotlin.String
import kotlin.Suppress

/**
 * OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
 * @property driver Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
 * An admission policy provided by the driver developer could use this to decide whether it needs to validate them.
 * Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
 * @property parameters Parameters can contain arbitrary data. It is the responsibility of the driver developer to handle validation and versioning. Typically this includes self-identification and a version ("kind" + "apiVersion" for Kubernetes types), with conversion between different versions.
 */
public data class OpaqueDeviceConfigurationPatch(
    public val driver: String? = null,
    public val parameters: JsonElement? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.resource.v1alpha3.outputs.OpaqueDeviceConfigurationPatch): OpaqueDeviceConfigurationPatch = OpaqueDeviceConfigurationPatch(
            driver = javaType.driver().map({ args0 -> args0 }).orElse(null),
            parameters = javaType.parameters().map({ args0 ->
                Json.parseToJsonElement(GsonBuilder().serializeNulls().create().toJson(args0))
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy