com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscalingAutoProvisioningDefaults.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.container.kotlin.outputs
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property bootDiskKmsKey The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
* @property diskSize Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to `100`
* @property diskType Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced'). Defaults to `pd-standard`
* @property imageType The default image type used by NAP once a new node pool is being created. Please note that according to the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning#default-image-type) the value must be one of the [COS_CONTAINERD, COS, UBUNTU_CONTAINERD, UBUNTU]. __NOTE__ : COS AND UBUNTU are deprecated as of `GKE 1.24`
* @property management NodeManagement configuration for this NodePool. Structure is documented below.
* @property minCpuPlatform Minimum CPU platform to be used for NAP created node pools. The instance may be scheduled on the
* specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such
* as "Intel Haswell" or "Intel Sandy Bridge".
* @property oauthScopes Scopes that are used by NAP and GKE Autopilot when creating node pools. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set `service_account` to a non-default service account and grant IAM roles to that service account for only the resources that it needs.
* > `monitoring.write` is always enabled regardless of user input. `monitoring` and `logging.write` may also be enabled depending on the values for `monitoring_service` and `logging_service`.
* @property serviceAccount The Google Cloud Platform Service Account to be used by the node VMs created by GKE Autopilot or NAP.
* @property shieldedInstanceConfig Shielded Instance options. Structure is documented below.
* @property upgradeSettings Specifies the upgrade settings for NAP created node pools
*/
public data class ClusterClusterAutoscalingAutoProvisioningDefaults(
public val bootDiskKmsKey: String? = null,
public val diskSize: Int? = null,
public val diskType: String? = null,
public val imageType: String? = null,
public val management: ClusterClusterAutoscalingAutoProvisioningDefaultsManagement? = null,
public val minCpuPlatform: String? = null,
public val oauthScopes: List? = null,
public val serviceAccount: String? = null,
public val shieldedInstanceConfig: ClusterClusterAutoscalingAutoProvisioningDefaultsShieldedInstanceConfig? = null,
public val upgradeSettings: ClusterClusterAutoscalingAutoProvisioningDefaultsUpgradeSettings? =
null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.ClusterClusterAutoscalingAutoProvisioningDefaults): ClusterClusterAutoscalingAutoProvisioningDefaults =
ClusterClusterAutoscalingAutoProvisioningDefaults(
bootDiskKmsKey = javaType.bootDiskKmsKey().map({ args0 -> args0 }).orElse(null),
diskSize = javaType.diskSize().map({ args0 -> args0 }).orElse(null),
diskType = javaType.diskType().map({ args0 -> args0 }).orElse(null),
imageType = javaType.imageType().map({ args0 -> args0 }).orElse(null),
management = javaType.management().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscalingAutoProvisioningDefaultsManagement.Companion.toKotlin(args0)
})
}).orElse(null),
minCpuPlatform = javaType.minCpuPlatform().map({ args0 -> args0 }).orElse(null),
oauthScopes = javaType.oauthScopes().map({ args0 -> args0 }),
serviceAccount = javaType.serviceAccount().map({ args0 -> args0 }).orElse(null),
shieldedInstanceConfig = javaType.shieldedInstanceConfig().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscalingAutoProvisioningDefaultsShieldedInstanceConfig.Companion.toKotlin(args0)
})
}).orElse(null),
upgradeSettings = javaType.upgradeSettings().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscalingAutoProvisioningDefaultsUpgradeSettings.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy