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

com.pulumi.kubernetes.apiextensions.v1beta1.kotlin.outputs.CustomResourceConversion.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.apiextensions.v1beta1.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * CustomResourceConversion describes how to convert different versions of a CR.
 * @property conversionReviewVersions conversionReviewVersions is an ordered list of preferred `ConversionReview` versions the Webhook expects. The API server will use the first version in the list which it supports. If none of the versions specified in this list are supported by API server, conversion will fail for the custom resource. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail. Defaults to `["v1beta1"]`.
 * @property strategy strategy specifies how custom resources are converted between versions. Allowed values are: - `None`: The converter only change the apiVersion and would not touch any other field in the custom resource. - `Webhook`: API Server will call to an external webhook to do the conversion. Additional information
 *   is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhookClientConfig to be set.
 * @property webhookClientConfig webhookClientConfig is the instructions for how to call the webhook if strategy is `Webhook`. Required when `strategy` is set to `Webhook`.
 */
public data class CustomResourceConversion(
    public val conversionReviewVersions: List? = null,
    public val strategy: String,
    public val webhookClientConfig: WebhookClientConfig? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.apiextensions.v1beta1.outputs.CustomResourceConversion): CustomResourceConversion = CustomResourceConversion(
            conversionReviewVersions = javaType.conversionReviewVersions().map({ args0 -> args0 }),
            strategy = javaType.strategy(),
            webhookClientConfig = javaType.webhookClientConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.apiextensions.v1beta1.kotlin.outputs.WebhookClientConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy