VMwareNodePool

class VMwareNodePool : KotlinCustomResource

A Google Vmware Node Pool.

Example Usage

Gkeonprem Vmware Node Pool Basic

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()
.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()
.location("us-west1")
.vmwareCluster(default_basic.name())
.config(VMwareNodePoolConfigArgs.builder()
.replicas(3)
.imageType("ubuntu_containerd")
.enableLoadBalancer(true)
.build())
.build());
}
}

Gkeonprem Vmware Node Pool Full

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()
.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()
.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()
.enableLoadBalancer(true)
.build())
.nodePoolAutoscaling(VMwareNodePoolNodePoolAutoscalingArgs.builder()
.minReplicas(1)
.maxReplicas(5)
.build())
.build());
}
}

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}} In Terraform v1.5.0 and later, use an import block to import VmwareNodePool using one of the formats above. For exampletf import { id = "projects/{{project}}/locations/{{location}}/vmwareClusters/{{vmware_cluster}}/vmwareNodePools/{{name}}" to = google_gkeonprem_vmware_node_pool.default }

$ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), VmwareNodePool can be imported using one of the formats above. For example
$ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool default projects/{{project}}/locations/{{location}}/vmwareClusters/{{vmware_cluster}}/vmwareNodePools/{{name}}
$ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool default {{project}}/{{location}}/{{vmware_cluster}}/{{name}}
$ pulumi import gcp:gkeonprem/vMwareNodePool:VMwareNodePool default {{location}}/{{vmware_cluster}}/{{name}}

Properties

Link copied to clipboard
val annotations: Output<Map<String, String>>?

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.

Link copied to clipboard

The node configuration of the node pool. Structure is documented below.

Link copied to clipboard
val createTime: Output<String>

The time the cluster was created, in RFC3339 text format.

Link copied to clipboard
val deleteTime: Output<String>

The time the cluster was deleted, in RFC3339 text format.

Link copied to clipboard
val displayName: Output<String>?

The display name for the node pool.

Link copied to clipboard

All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.

Link copied to clipboard
val etag: Output<String>

This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Allows clients to perform consistent read-modify-writes through optimistic concurrency control.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val location: Output<String>

The location of the resource.

Link copied to clipboard
val name: Output<String>

The vmware node pool name.

Link copied to clipboard

Node Pool autoscaling config for the node pool. Structure is documented below.

Link copied to clipboard
val onPremVersion: Output<String>

Anthos version for the node pool. Defaults to the user cluster version.

Link copied to clipboard
val project: Output<String>

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val reconciling: Output<Boolean>

If set, there are currently changes in flight to the node pool.

Link copied to clipboard
val state: Output<String>

(Output) The lifecycle state of the condition.

Link copied to clipboard

ResourceStatus representing detailed cluster state. Structure is documented below.

Link copied to clipboard
val uid: Output<String>

The unique identifier of the node pool.

Link copied to clipboard
val updateTime: Output<String>

The time the cluster was last updated, in RFC3339 text format.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val vmwareCluster: Output<String>

The cluster this node pool belongs to.