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

com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfig.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.container.kotlin.outputs

import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @property advancedMachineFeatures Specifies options for controlling advanced machine features.
 * @property bootDiskKmsKey The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
 * @property confidentialNodes Configuration for the confidential nodes feature, which makes nodes run on confidential VMs. Warning: This configuration can't be changed (or added/removed) after pool creation without deleting and recreating the entire pool.
 * @property diskSizeGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
 * @property diskType Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
 * @property effectiveTaints List of kubernetes taints applied to each node.
 * @property enableConfidentialStorage If enabled boot disks are configured with confidential mode.
 * @property ephemeralStorageConfigs Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk.
 * @property ephemeralStorageLocalSsdConfigs Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk.
 * @property fastSockets Enable or disable NCCL Fast Socket in the node pool.
 * @property gcfsConfigs GCFS configuration for this node.
 * @property guestAccelerators List of the type and count of accelerator cards attached to the instance.
 * @property gvnics Enable or disable gvnic in the node pool.
 * @property hostMaintenancePolicies The maintenance policy for the hosts on which the GKE VMs run on.
 * @property imageType The image type to use for this node. Note that for a given image type, the latest version of it will be used.
 * @property kubeletConfigs Node kubelet configs.
 * @property labels The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node.
 * @property linuxNodeConfigs Parameters that can be configured on Linux nodes.
 * @property localNvmeSsdBlockConfigs Parameters for raw-block local NVMe SSDs.
 * @property localSsdCount The number of local SSD disks to be attached to the node.
 * @property loggingVariant Type of logging agent that is used as the default value for node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT.
 * @property machineType The name of a Google Compute Engine machine type.
 * @property metadata The metadata key/value pairs assigned to instances in the cluster.
 * @property minCpuPlatform Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform.
 * @property nodeGroup Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
 * @property oauthScopes The set of Google API scopes to be made available on all of the node VMs.
 * @property preemptible Whether the nodes are created as preemptible VM instances.
 * @property reservationAffinities The reservation affinity configuration for the node pool.
 * @property resourceLabels The GCE resource labels (a map of key/value pairs) to be applied to the node pool.
 * @property resourceManagerTags A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
 * @property sandboxConfigs Sandbox configuration for this node.
 * @property secondaryBootDisks Secondary boot disks for preloading data or container images.
 * @property serviceAccount The Google Cloud Platform Service Account to be used by the node VMs.
 * @property shieldedInstanceConfigs Shielded Instance options.
 * @property soleTenantConfigs Node affinity options for sole tenant node pools.
 * @property spot Whether the nodes are created as spot VM instances.
 * @property tags The list of instance tags applied to all nodes.
 * @property taints List of Kubernetes taints to be applied to each node.
 * @property workloadMetadataConfigs The workload metadata configuration for this node.
 */
public data class GetClusterNodePoolNodeConfig(
    public val advancedMachineFeatures: List,
    public val bootDiskKmsKey: String,
    public val confidentialNodes: List,
    public val diskSizeGb: Int,
    public val diskType: String,
    public val effectiveTaints: List,
    public val enableConfidentialStorage: Boolean,
    public val ephemeralStorageConfigs: List,
    public val ephemeralStorageLocalSsdConfigs: List,
    public val fastSockets: List,
    public val gcfsConfigs: List,
    public val guestAccelerators: List,
    public val gvnics: List,
    public val hostMaintenancePolicies: List,
    public val imageType: String,
    public val kubeletConfigs: List,
    public val labels: Map,
    public val linuxNodeConfigs: List,
    public val localNvmeSsdBlockConfigs: List,
    public val localSsdCount: Int,
    public val loggingVariant: String,
    public val machineType: String,
    public val metadata: Map,
    public val minCpuPlatform: String,
    public val nodeGroup: String,
    public val oauthScopes: List,
    public val preemptible: Boolean,
    public val reservationAffinities: List,
    public val resourceLabels: Map,
    public val resourceManagerTags: Map,
    public val sandboxConfigs: List,
    public val secondaryBootDisks: List,
    public val serviceAccount: String,
    public val shieldedInstanceConfigs: List,
    public val soleTenantConfigs: List,
    public val spot: Boolean,
    public val tags: List,
    public val taints: List,
    public val workloadMetadataConfigs: List,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.GetClusterNodePoolNodeConfig): GetClusterNodePoolNodeConfig = GetClusterNodePoolNodeConfig(
            advancedMachineFeatures = javaType.advancedMachineFeatures().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigAdvancedMachineFeature.Companion.toKotlin(args0)
                })
            }),
            bootDiskKmsKey = javaType.bootDiskKmsKey(),
            confidentialNodes = javaType.confidentialNodes().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigConfidentialNode.Companion.toKotlin(args0)
                })
            }),
            diskSizeGb = javaType.diskSizeGb(),
            diskType = javaType.diskType(),
            effectiveTaints = javaType.effectiveTaints().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigEffectiveTaint.Companion.toKotlin(args0)
                })
            }),
            enableConfidentialStorage = javaType.enableConfidentialStorage(),
            ephemeralStorageConfigs = javaType.ephemeralStorageConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigEphemeralStorageConfig.Companion.toKotlin(args0)
                })
            }),
            ephemeralStorageLocalSsdConfigs = javaType.ephemeralStorageLocalSsdConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigEphemeralStorageLocalSsdConfig.Companion.toKotlin(args0)
                })
            }),
            fastSockets = javaType.fastSockets().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigFastSocket.Companion.toKotlin(args0)
                })
            }),
            gcfsConfigs = javaType.gcfsConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigGcfsConfig.Companion.toKotlin(args0)
                })
            }),
            guestAccelerators = javaType.guestAccelerators().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigGuestAccelerator.Companion.toKotlin(args0)
                })
            }),
            gvnics = javaType.gvnics().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigGvnic.Companion.toKotlin(args0)
                })
            }),
            hostMaintenancePolicies = javaType.hostMaintenancePolicies().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigHostMaintenancePolicy.Companion.toKotlin(args0)
                })
            }),
            imageType = javaType.imageType(),
            kubeletConfigs = javaType.kubeletConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigKubeletConfig.Companion.toKotlin(args0)
                })
            }),
            labels = javaType.labels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            linuxNodeConfigs = javaType.linuxNodeConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigLinuxNodeConfig.Companion.toKotlin(args0)
                })
            }),
            localNvmeSsdBlockConfigs = javaType.localNvmeSsdBlockConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigLocalNvmeSsdBlockConfig.Companion.toKotlin(args0)
                })
            }),
            localSsdCount = javaType.localSsdCount(),
            loggingVariant = javaType.loggingVariant(),
            machineType = javaType.machineType(),
            metadata = javaType.metadata().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            minCpuPlatform = javaType.minCpuPlatform(),
            nodeGroup = javaType.nodeGroup(),
            oauthScopes = javaType.oauthScopes().map({ args0 -> args0 }),
            preemptible = javaType.preemptible(),
            reservationAffinities = javaType.reservationAffinities().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigReservationAffinity.Companion.toKotlin(args0)
                })
            }),
            resourceLabels = javaType.resourceLabels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            resourceManagerTags = javaType.resourceManagerTags().map({ args0 ->
                args0.key.to(args0.value)
            }).toMap(),
            sandboxConfigs = javaType.sandboxConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigSandboxConfig.Companion.toKotlin(args0)
                })
            }),
            secondaryBootDisks = javaType.secondaryBootDisks().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigSecondaryBootDisk.Companion.toKotlin(args0)
                })
            }),
            serviceAccount = javaType.serviceAccount(),
            shieldedInstanceConfigs = javaType.shieldedInstanceConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigShieldedInstanceConfig.Companion.toKotlin(args0)
                })
            }),
            soleTenantConfigs = javaType.soleTenantConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigSoleTenantConfig.Companion.toKotlin(args0)
                })
            }),
            spot = javaType.spot(),
            tags = javaType.tags().map({ args0 -> args0 }),
            taints = javaType.taints().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigTaint.Companion.toKotlin(args0)
                })
            }),
            workloadMetadataConfigs = javaType.workloadMetadataConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.GetClusterNodePoolNodeConfigWorkloadMetadataConfig.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy