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

com.pulumi.gcp.compute.kotlin.outputs.InstanceGroupManagerVersion.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.compute.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property instanceTemplate The full URL to an instance template from which all new instances of this version will be created. It is recommended to reference instance templates through their unique id (`self_link_unique` attribute).
 * @property name Version name.
 * @property targetSize The number of instances calculated as a fixed number or a percentage depending on the settings. Structure is documented below.
 * > Exactly one `version` you specify must not have a `target_size` specified. During a rolling update, the instance group manager will fulfill the `target_size`
 * constraints of every other `version`, and any remaining instances will be provisioned with the version where `target_size` is unset.
 */
public data class InstanceGroupManagerVersion(
    public val instanceTemplate: String,
    public val name: String? = null,
    public val targetSize: InstanceGroupManagerVersionTargetSize? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.InstanceGroupManagerVersion): InstanceGroupManagerVersion = InstanceGroupManagerVersion(
            instanceTemplate = javaType.instanceTemplate(),
            name = javaType.name().map({ args0 -> args0 }).orElse(null),
            targetSize = javaType.targetSize().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.InstanceGroupManagerVersionTargetSize.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy