Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.gcp.gkeonprem.kotlin.VMwareNodePoolArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.gkeonprem.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.gkeonprem.VMwareNodePoolArgs.builder
import com.pulumi.gcp.gkeonprem.kotlin.inputs.VMwareNodePoolConfigArgs
import com.pulumi.gcp.gkeonprem.kotlin.inputs.VMwareNodePoolConfigArgsBuilder
import com.pulumi.gcp.gkeonprem.kotlin.inputs.VMwareNodePoolNodePoolAutoscalingArgs
import com.pulumi.gcp.gkeonprem.kotlin.inputs.VMwareNodePoolNodePoolAutoscalingArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* A Google Vmware Node Pool.
* ## Example Usage
* ### Gkeonprem Vmware Node Pool Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const default_basic = new gcp.gkeonprem.VMwareCluster("default-basic", {
* name: "my-cluster",
* location: "us-west1",
* adminClusterMembership: "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
* description: "test cluster",
* onPremVersion: "1.13.1-gke.35",
* networkConfig: {
* serviceAddressCidrBlocks: ["10.96.0.0/12"],
* podAddressCidrBlocks: ["192.168.0.0/16"],
* dhcpIpConfig: {
* enabled: true,
* },
* },
* controlPlaneNode: {
* cpus: 4,
* memory: 8192,
* replicas: 1,
* },
* loadBalancer: {
* vipConfig: {
* controlPlaneVip: "10.251.133.5",
* ingressVip: "10.251.135.19",
* },
* metalLbConfig: {
* addressPools: [
* {
* pool: "ingress-ip",
* manualAssign: true,
* addresses: ["10.251.135.19"],
* },
* {
* pool: "lb-test-ip",
* manualAssign: true,
* addresses: ["10.251.135.19"],
* },
* ],
* },
* },
* });
* const nodepool_basic = new gcp.gkeonprem.VMwareNodePool("nodepool-basic", {
* name: "my-nodepool",
* location: "us-west1",
* vmwareCluster: default_basic.name,
* config: {
* replicas: 3,
* imageType: "ubuntu_containerd",
* enableLoadBalancer: true,
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* default_basic = gcp.gkeonprem.VMwareCluster("default-basic",
* name="my-cluster",
* location="us-west1",
* admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
* description="test cluster",
* on_prem_version="1.13.1-gke.35",
* network_config={
* "service_address_cidr_blocks": ["10.96.0.0/12"],
* "pod_address_cidr_blocks": ["192.168.0.0/16"],
* "dhcp_ip_config": {
* "enabled": True,
* },
* },
* control_plane_node={
* "cpus": 4,
* "memory": 8192,
* "replicas": 1,
* },
* load_balancer={
* "vip_config": {
* "control_plane_vip": "10.251.133.5",
* "ingress_vip": "10.251.135.19",
* },
* "metal_lb_config": {
* "address_pools": [
* {
* "pool": "ingress-ip",
* "manual_assign": True,
* "addresses": ["10.251.135.19"],
* },
* {
* "pool": "lb-test-ip",
* "manual_assign": True,
* "addresses": ["10.251.135.19"],
* },
* ],
* },
* })
* nodepool_basic = gcp.gkeonprem.VMwareNodePool("nodepool-basic",
* name="my-nodepool",
* location="us-west1",
* vmware_cluster=default_basic.name,
* config={
* "replicas": 3,
* "image_type": "ubuntu_containerd",
* "enable_load_balancer": True,
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var default_basic = new Gcp.GkeOnPrem.VMwareCluster("default-basic", new()
* {
* Name = "my-cluster",
* Location = "us-west1",
* AdminClusterMembership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
* Description = "test cluster",
* OnPremVersion = "1.13.1-gke.35",
* NetworkConfig = new Gcp.GkeOnPrem.Inputs.VMwareClusterNetworkConfigArgs
* {
* ServiceAddressCidrBlocks = new[]
* {
* "10.96.0.0/12",
* },
* PodAddressCidrBlocks = new[]
* {
* "192.168.0.0/16",
* },
* DhcpIpConfig = new Gcp.GkeOnPrem.Inputs.VMwareClusterNetworkConfigDhcpIpConfigArgs
* {
* Enabled = true,
* },
* },
* ControlPlaneNode = new Gcp.GkeOnPrem.Inputs.VMwareClusterControlPlaneNodeArgs
* {
* Cpus = 4,
* Memory = 8192,
* Replicas = 1,
* },
* LoadBalancer = new Gcp.GkeOnPrem.Inputs.VMwareClusterLoadBalancerArgs
* {
* VipConfig = new Gcp.GkeOnPrem.Inputs.VMwareClusterLoadBalancerVipConfigArgs
* {
* ControlPlaneVip = "10.251.133.5",
* IngressVip = "10.251.135.19",
* },
* MetalLbConfig = new Gcp.GkeOnPrem.Inputs.VMwareClusterLoadBalancerMetalLbConfigArgs
* {
* AddressPools = new[]
* {
* new Gcp.GkeOnPrem.Inputs.VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs
* {
* Pool = "ingress-ip",
* ManualAssign = true,
* Addresses = new[]
* {
* "10.251.135.19",
* },
* },
* new Gcp.GkeOnPrem.Inputs.VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs
* {
* Pool = "lb-test-ip",
* ManualAssign = true,
* Addresses = new[]
* {
* "10.251.135.19",
* },
* },
* },
* },
* },
* });
* var nodepool_basic = new Gcp.GkeOnPrem.VMwareNodePool("nodepool-basic", new()
* {
* Name = "my-nodepool",
* Location = "us-west1",
* VmwareCluster = default_basic.Name,
* Config = new Gcp.GkeOnPrem.Inputs.VMwareNodePoolConfigArgs
* {
* Replicas = 3,
* ImageType = "ubuntu_containerd",
* EnableLoadBalancer = true,
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkeonprem"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := gkeonprem.NewVMwareCluster(ctx, "default-basic", &gkeonprem.VMwareClusterArgs{
* Name: pulumi.String("my-cluster"),
* Location: pulumi.String("us-west1"),
* AdminClusterMembership: pulumi.String("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"),
* Description: pulumi.String("test cluster"),
* OnPremVersion: pulumi.String("1.13.1-gke.35"),
* NetworkConfig: &gkeonprem.VMwareClusterNetworkConfigArgs{
* ServiceAddressCidrBlocks: pulumi.StringArray{
* pulumi.String("10.96.0.0/12"),
* },
* PodAddressCidrBlocks: pulumi.StringArray{
* pulumi.String("192.168.0.0/16"),
* },
* DhcpIpConfig: &gkeonprem.VMwareClusterNetworkConfigDhcpIpConfigArgs{
* Enabled: pulumi.Bool(true),
* },
* },
* ControlPlaneNode: &gkeonprem.VMwareClusterControlPlaneNodeArgs{
* Cpus: pulumi.Int(4),
* Memory: pulumi.Int(8192),
* Replicas: pulumi.Int(1),
* },
* LoadBalancer: &gkeonprem.VMwareClusterLoadBalancerArgs{
* VipConfig: &gkeonprem.VMwareClusterLoadBalancerVipConfigArgs{
* ControlPlaneVip: pulumi.String("10.251.133.5"),
* IngressVip: pulumi.String("10.251.135.19"),
* },
* MetalLbConfig: &gkeonprem.VMwareClusterLoadBalancerMetalLbConfigArgs{
* AddressPools: gkeonprem.VMwareClusterLoadBalancerMetalLbConfigAddressPoolArray{
* &gkeonprem.VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs{
* Pool: pulumi.String("ingress-ip"),
* ManualAssign: pulumi.Bool(true),
* Addresses: pulumi.StringArray{
* pulumi.String("10.251.135.19"),
* },
* },
* &gkeonprem.VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs{
* Pool: pulumi.String("lb-test-ip"),
* ManualAssign: pulumi.Bool(true),
* Addresses: pulumi.StringArray{
* pulumi.String("10.251.135.19"),
* },
* },
* },
* },
* },
* })
* if err != nil {
* return err
* }
* _, err = gkeonprem.NewVMwareNodePool(ctx, "nodepool-basic", &gkeonprem.VMwareNodePoolArgs{
* Name: pulumi.String("my-nodepool"),
* Location: pulumi.String("us-west1"),
* VmwareCluster: default_basic.Name,
* Config: &gkeonprem.VMwareNodePoolConfigArgs{
* Replicas: pulumi.Int(3),
* ImageType: pulumi.String("ubuntu_containerd"),
* EnableLoadBalancer: pulumi.Bool(true),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.gkeonprem.VMwareCluster;
* import com.pulumi.gcp.gkeonprem.VMwareClusterArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigDhcpIpConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerVipConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerMetalLbConfigArgs;
* import com.pulumi.gcp.gkeonprem.VMwareNodePool;
* import com.pulumi.gcp.gkeonprem.VMwareNodePoolArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareNodePoolConfigArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var default_basic = new VMwareCluster("default-basic", VMwareClusterArgs.builder()
* .name("my-cluster")
* .location("us-west1")
* .adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
* .description("test cluster")
* .onPremVersion("1.13.1-gke.35")
* .networkConfig(VMwareClusterNetworkConfigArgs.builder()
* .serviceAddressCidrBlocks("10.96.0.0/12")
* .podAddressCidrBlocks("192.168.0.0/16")
* .dhcpIpConfig(VMwareClusterNetworkConfigDhcpIpConfigArgs.builder()
* .enabled(true)
* .build())
* .build())
* .controlPlaneNode(VMwareClusterControlPlaneNodeArgs.builder()
* .cpus(4)
* .memory(8192)
* .replicas(1)
* .build())
* .loadBalancer(VMwareClusterLoadBalancerArgs.builder()
* .vipConfig(VMwareClusterLoadBalancerVipConfigArgs.builder()
* .controlPlaneVip("10.251.133.5")
* .ingressVip("10.251.135.19")
* .build())
* .metalLbConfig(VMwareClusterLoadBalancerMetalLbConfigArgs.builder()
* .addressPools(
* VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
* .pool("ingress-ip")
* .manualAssign("true")
* .addresses("10.251.135.19")
* .build(),
* VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
* .pool("lb-test-ip")
* .manualAssign("true")
* .addresses("10.251.135.19")
* .build())
* .build())
* .build())
* .build());
* var nodepool_basic = new VMwareNodePool("nodepool-basic", VMwareNodePoolArgs.builder()
* .name("my-nodepool")
* .location("us-west1")
* .vmwareCluster(default_basic.name())
* .config(VMwareNodePoolConfigArgs.builder()
* .replicas(3)
* .imageType("ubuntu_containerd")
* .enableLoadBalancer(true)
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* default-basic:
* type: gcp:gkeonprem:VMwareCluster
* properties:
* name: my-cluster
* location: us-west1
* adminClusterMembership: projects/870316890899/locations/global/memberships/gkeonprem-terraform-test
* description: test cluster
* onPremVersion: 1.13.1-gke.35
* networkConfig:
* serviceAddressCidrBlocks:
* - 10.96.0.0/12
* podAddressCidrBlocks:
* - 192.168.0.0/16
* dhcpIpConfig:
* enabled: true
* controlPlaneNode:
* cpus: 4
* memory: 8192
* replicas: 1
* loadBalancer:
* vipConfig:
* controlPlaneVip: 10.251.133.5
* ingressVip: 10.251.135.19
* metalLbConfig:
* addressPools:
* - pool: ingress-ip
* manualAssign: 'true'
* addresses:
* - 10.251.135.19
* - pool: lb-test-ip
* manualAssign: 'true'
* addresses:
* - 10.251.135.19
* nodepool-basic:
* type: gcp:gkeonprem:VMwareNodePool
* properties:
* name: my-nodepool
* location: us-west1
* vmwareCluster: ${["default-basic"].name}
* config:
* replicas: 3
* imageType: ubuntu_containerd
* enableLoadBalancer: true
* ```
*
* ### Gkeonprem Vmware Node Pool Full
*
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.gkeonprem.VMwareCluster;
* import com.pulumi.gcp.gkeonprem.VMwareClusterArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterNetworkConfigDhcpIpConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterControlPlaneNodeArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerVipConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareClusterLoadBalancerMetalLbConfigArgs;
* import com.pulumi.gcp.gkeonprem.VMwareNodePool;
* import com.pulumi.gcp.gkeonprem.VMwareNodePoolArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareNodePoolConfigArgs;
* import com.pulumi.gcp.gkeonprem.inputs.VMwareNodePoolNodePoolAutoscalingArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var default_full = new VMwareCluster("default-full", VMwareClusterArgs.builder()
* .name("my-cluster")
* .location("us-west1")
* .adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
* .description("test cluster")
* .onPremVersion("1.13.1-gke.35")
* .networkConfig(VMwareClusterNetworkConfigArgs.builder()
* .serviceAddressCidrBlocks("10.96.0.0/12")
* .podAddressCidrBlocks("192.168.0.0/16")
* .dhcpIpConfig(VMwareClusterNetworkConfigDhcpIpConfigArgs.builder()
* .enabled(true)
* .build())
* .build())
* .controlPlaneNode(VMwareClusterControlPlaneNodeArgs.builder()
* .cpus(4)
* .memory(8192)
* .replicas(1)
* .build())
* .loadBalancer(VMwareClusterLoadBalancerArgs.builder()
* .vipConfig(VMwareClusterLoadBalancerVipConfigArgs.builder()
* .controlPlaneVip("10.251.133.5")
* .ingressVip("10.251.135.19")
* .build())
* .metalLbConfig(VMwareClusterLoadBalancerMetalLbConfigArgs.builder()
* .addressPools(
* VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
* .pool("ingress-ip")
* .manualAssign("true")
* .addresses("10.251.135.19")
* .build(),
* VMwareClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
* .pool("lb-test-ip")
* .manualAssign("true")
* .addresses("10.251.135.19")
* .build())
* .build())
* .build())
* .build());
* var nodepool_full = new VMwareNodePool("nodepool-full", VMwareNodePoolArgs.builder()
* .name("my-nodepool")
* .location("us-west1")
* .vmwareCluster(default_full.name())
* .annotations()
* .config(VMwareNodePoolConfigArgs.builder()
* .cpus(4)
* .memoryMb(8196)
* .replicas(3)
* .imageType("ubuntu_containerd")
* .image("image")
* .bootDiskSizeGb(10)
* .taints(
* VMwareNodePoolConfigTaintArgs.builder()
* .key("key")
* .value("value")
* .build(),
* VMwareNodePoolConfigTaintArgs.builder()
* .key("key")
* .value("value")
* .effect("NO_SCHEDULE")
* .build())
* .labels()
* .vsphereConfig(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
* .enableLoadBalancer(true)
* .build())
* .nodePoolAutoscaling(VMwareNodePoolNodePoolAutoscalingArgs.builder()
* .minReplicas(1)
* .maxReplicas(5)
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* default-full:
* type: gcp:gkeonprem:VMwareCluster
* properties:
* name: my-cluster
* location: us-west1
* adminClusterMembership: projects/870316890899/locations/global/memberships/gkeonprem-terraform-test
* description: test cluster
* onPremVersion: 1.13.1-gke.35
* networkConfig:
* serviceAddressCidrBlocks:
* - 10.96.0.0/12
* podAddressCidrBlocks:
* - 192.168.0.0/16
* dhcpIpConfig:
* enabled: true
* controlPlaneNode:
* cpus: 4
* memory: 8192
* replicas: 1
* loadBalancer:
* vipConfig:
* controlPlaneVip: 10.251.133.5
* ingressVip: 10.251.135.19
* metalLbConfig:
* addressPools:
* - pool: ingress-ip
* manualAssign: 'true'
* addresses:
* - 10.251.135.19
* - pool: lb-test-ip
* manualAssign: 'true'
* addresses:
* - 10.251.135.19
* nodepool-full:
* type: gcp:gkeonprem:VMwareNodePool
* properties:
* name: my-nodepool
* location: us-west1
* vmwareCluster: ${["default-full"].name}
* annotations: {}
* config:
* cpus: 4
* memoryMb: 8196
* replicas: 3
* imageType: ubuntu_containerd
* image: image
* bootDiskSizeGb: 10
* taints:
* - key: key
* value: value
* - key: key
* value: value
* effect: NO_SCHEDULE
* labels: {}
* vsphereConfig:
* datastore: test-datastore
* tags:
* - category: test-category-1
* tag: tag-1
* - category: test-category-2
* tag: tag-2
* hostGroups:
* - host1
* - host2
* enableLoadBalancer: true
* nodePoolAutoscaling:
* minReplicas: 1
* maxReplicas: 5
* ```
*
* ## Import
* VmwareNodePool can be imported using any of these accepted formats:
* * `projects/{{project}}/locations/{{location}}/vmwareClusters/{{vmware_cluster}}/vmwareNodePools/{{name}}`
* * `{{project}}/{{location}}/{{vmware_cluster}}/{{name}}`
* * `{{location}}/{{vmware_cluster}}/{{name}}`
* When using the `pulumi import` command, VmwareNodePool can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool default projects/{{project}}/locations/{{location}}/vmwareClusters/{{vmware_cluster}}/vmwareNodePools/{{name}}
* ```
* ```sh
* $ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool default {{project}}/{{location}}/{{vmware_cluster}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool default {{location}}/{{vmware_cluster}}/{{name}}
* ```
* @property annotations Annotations on the node Pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys
* and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a
* slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with
* dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is non-authoritative, and will
* only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of
* the annotations present on the resource.
* @property config The node configuration of the node pool.
* Structure is documented below.
* @property displayName The display name for the node pool.
* @property location The location of the resource.
* @property name The vmware node pool name.
* @property nodePoolAutoscaling Node Pool autoscaling config for the node pool.
* @property project
* @property vmwareCluster The cluster this node pool belongs to.
*/
public data class VMwareNodePoolArgs(
public val annotations: Output>? = null,
public val config: Output? = null,
public val displayName: Output? = null,
public val location: Output? = null,
public val name: Output? = null,
public val nodePoolAutoscaling: Output? = null,
public val project: Output? = null,
public val vmwareCluster: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.gkeonprem.VMwareNodePoolArgs =
com.pulumi.gcp.gkeonprem.VMwareNodePoolArgs.builder()
.annotations(
annotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.config(config?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.displayName(displayName?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.nodePoolAutoscaling(
nodePoolAutoscaling?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.project(project?.applyValue({ args0 -> args0 }))
.vmwareCluster(vmwareCluster?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [VMwareNodePoolArgs].
*/
@PulumiTagMarker
public class VMwareNodePoolArgsBuilder internal constructor() {
private var annotations: Output>? = null
private var config: Output? = null
private var displayName: Output? = null
private var location: Output? = null
private var name: Output? = null
private var nodePoolAutoscaling: Output? = null
private var project: Output? = null
private var vmwareCluster: Output? = null
/**
* @param value Annotations on the node Pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys
* and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a
* slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with
* dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is non-authoritative, and will
* only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of
* the annotations present on the resource.
*/
@JvmName("kdphcaxmanuqqlbm")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
/**
* @param value The node configuration of the node pool.
* Structure is documented below.
*/
@JvmName("waspfsptswypodpu")
public suspend fun config(`value`: Output) {
this.config = value
}
/**
* @param value The display name for the node pool.
*/
@JvmName("kjaisujjrtpxgocl")
public suspend fun displayName(`value`: Output) {
this.displayName = value
}
/**
* @param value The location of the resource.
*/
@JvmName("bfffqekmkuomxnfy")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value The vmware node pool name.
*/
@JvmName("vimnvukmanhwrdfx")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Node Pool autoscaling config for the node pool.
*/
@JvmName("ooaxwuqdwemaltbn")
public suspend fun nodePoolAutoscaling(`value`: Output) {
this.nodePoolAutoscaling = value
}
/**
* @param value
*/
@JvmName("oepmmgyybyedokhv")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value The cluster this node pool belongs to.
*/
@JvmName("nsvsietxflhqniyt")
public suspend fun vmwareCluster(`value`: Output) {
this.vmwareCluster = value
}
/**
* @param value Annotations on the node Pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys
* and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a
* slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with
* dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is non-authoritative, and will
* only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of
* the annotations present on the resource.
*/
@JvmName("tutrwcribpjsjksy")
public suspend fun annotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values Annotations on the node Pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys
* and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a
* slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with
* dashes (-), underscores (_), dots (.), and alphanumerics between. **Note**: This field is non-authoritative, and will
* only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of
* the annotations present on the resource.
*/
@JvmName("cgvvirrxowoabxqp")
public fun annotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value The node configuration of the node pool.
* Structure is documented below.
*/
@JvmName("drqjrburlvwnocts")
public suspend fun config(`value`: VMwareNodePoolConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.config = mapped
}
/**
* @param argument The node configuration of the node pool.
* Structure is documented below.
*/
@JvmName("sjexhkkkqarjfvkd")
public suspend fun config(argument: suspend VMwareNodePoolConfigArgsBuilder.() -> Unit) {
val toBeMapped = VMwareNodePoolConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.config = mapped
}
/**
* @param value The display name for the node pool.
*/
@JvmName("xselbntthqpwxyvk")
public suspend fun displayName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.displayName = mapped
}
/**
* @param value The location of the resource.
*/
@JvmName("qkkvawldawsrukbx")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value The vmware node pool name.
*/
@JvmName("semlfjhvleommejc")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Node Pool autoscaling config for the node pool.
*/
@JvmName("ianvsjyyoveoikji")
public suspend fun nodePoolAutoscaling(`value`: VMwareNodePoolNodePoolAutoscalingArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nodePoolAutoscaling = mapped
}
/**
* @param argument Node Pool autoscaling config for the node pool.
*/
@JvmName("trktrkoayyprvnyn")
public suspend fun nodePoolAutoscaling(argument: suspend VMwareNodePoolNodePoolAutoscalingArgsBuilder.() -> Unit) {
val toBeMapped = VMwareNodePoolNodePoolAutoscalingArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.nodePoolAutoscaling = mapped
}
/**
* @param value
*/
@JvmName("plirvsldwglcjvhi")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value The cluster this node pool belongs to.
*/
@JvmName("lrulwmshlhspsqcp")
public suspend fun vmwareCluster(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmwareCluster = mapped
}
internal fun build(): VMwareNodePoolArgs = VMwareNodePoolArgs(
annotations = annotations,
config = config,
displayName = displayName,
location = location,
name = name,
nodePoolAutoscaling = nodePoolAutoscaling,
project = project,
vmwareCluster = vmwareCluster,
)
}