gcp.gkeonprem.BareMetalNodePool
Explore with Pulumi AI
A Google Bare Metal Node Pool.
Example Usage
Gkeonprem Bare Metal Node Pool Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const default_basic = new gcp.gkeonprem.BareMetalCluster("default-basic", {
    name: "my-cluster",
    location: "us-west1",
    adminClusterMembership: "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bareMetalVersion: "1.12.3",
    networkConfig: {
        islandModeCidr: {
            serviceAddressCidrBlocks: ["172.26.0.0/16"],
            podAddressCidrBlocks: ["10.240.0.0/13"],
        },
    },
    controlPlane: {
        controlPlaneNodePoolConfig: {
            nodePoolConfig: {
                labels: {},
                operatingSystem: "LINUX",
                nodeConfigs: [{
                    labels: {},
                    nodeIp: "10.200.0.9",
                }],
            },
        },
    },
    loadBalancer: {
        portConfig: {
            controlPlaneLoadBalancerPort: 443,
        },
        vipConfig: {
            controlPlaneVip: "10.200.0.13",
            ingressVip: "10.200.0.14",
        },
        metalLbConfig: {
            addressPools: [{
                pool: "pool1",
                addresses: [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
            }],
        },
    },
    storage: {
        lvpShareConfig: {
            lvpConfig: {
                path: "/mnt/localpv-share",
                storageClass: "local-shared",
            },
            sharedPathPvCount: 5,
        },
        lvpNodeMountsConfig: {
            path: "/mnt/localpv-disk",
            storageClass: "local-disks",
        },
    },
    securityConfig: {
        authorization: {
            adminUsers: [{
                username: "admin@hashicorptest.com",
            }],
        },
    },
});
const nodepool_basic = new gcp.gkeonprem.BareMetalNodePool("nodepool-basic", {
    name: "my-nodepool",
    bareMetalCluster: default_basic.name,
    location: "us-west1",
    nodePoolConfig: {
        operatingSystem: "LINUX",
        nodeConfigs: [{
            nodeIp: "10.200.0.11",
        }],
    },
});
import pulumi
import pulumi_gcp as gcp
default_basic = gcp.gkeonprem.BareMetalCluster("default-basic",
    name="my-cluster",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config={
        "island_mode_cidr": {
            "service_address_cidr_blocks": ["172.26.0.0/16"],
            "pod_address_cidr_blocks": ["10.240.0.0/13"],
        },
    },
    control_plane={
        "control_plane_node_pool_config": {
            "node_pool_config": {
                "labels": {},
                "operating_system": "LINUX",
                "node_configs": [{
                    "labels": {},
                    "node_ip": "10.200.0.9",
                }],
            },
        },
    },
    load_balancer={
        "port_config": {
            "control_plane_load_balancer_port": 443,
        },
        "vip_config": {
            "control_plane_vip": "10.200.0.13",
            "ingress_vip": "10.200.0.14",
        },
        "metal_lb_config": {
            "address_pools": [{
                "pool": "pool1",
                "addresses": [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
            }],
        },
    },
    storage={
        "lvp_share_config": {
            "lvp_config": {
                "path": "/mnt/localpv-share",
                "storage_class": "local-shared",
            },
            "shared_path_pv_count": 5,
        },
        "lvp_node_mounts_config": {
            "path": "/mnt/localpv-disk",
            "storage_class": "local-disks",
        },
    },
    security_config={
        "authorization": {
            "admin_users": [{
                "username": "admin@hashicorptest.com",
            }],
        },
    })
nodepool_basic = gcp.gkeonprem.BareMetalNodePool("nodepool-basic",
    name="my-nodepool",
    bare_metal_cluster=default_basic.name,
    location="us-west1",
    node_pool_config={
        "operating_system": "LINUX",
        "node_configs": [{
            "node_ip": "10.200.0.11",
        }],
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/gkeonprem"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		default_basic, err := gkeonprem.NewBareMetalCluster(ctx, "default-basic", &gkeonprem.BareMetalClusterArgs{
			Name:                   pulumi.String("my-cluster"),
			Location:               pulumi.String("us-west1"),
			AdminClusterMembership: pulumi.String("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"),
			BareMetalVersion:       pulumi.String("1.12.3"),
			NetworkConfig: &gkeonprem.BareMetalClusterNetworkConfigArgs{
				IslandModeCidr: &gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs{
					ServiceAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("172.26.0.0/16"),
					},
					PodAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("10.240.0.0/13"),
					},
				},
			},
			ControlPlane: &gkeonprem.BareMetalClusterControlPlaneArgs{
				ControlPlaneNodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs{
					NodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs{
						Labels:          pulumi.StringMap{},
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: pulumi.StringMap{},
								NodeIp: pulumi.String("10.200.0.9"),
							},
						},
					},
				},
			},
			LoadBalancer: &gkeonprem.BareMetalClusterLoadBalancerArgs{
				PortConfig: &gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs{
					ControlPlaneLoadBalancerPort: pulumi.Int(443),
				},
				VipConfig: &gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs{
					ControlPlaneVip: pulumi.String("10.200.0.13"),
					IngressVip:      pulumi.String("10.200.0.14"),
				},
				MetalLbConfig: &gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigArgs{
					AddressPools: gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArray{
						&gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs{
							Pool: pulumi.String("pool1"),
							Addresses: pulumi.StringArray{
								pulumi.String("10.200.0.14/32"),
								pulumi.String("10.200.0.15/32"),
								pulumi.String("10.200.0.16/32"),
								pulumi.String("10.200.0.17/32"),
								pulumi.String("10.200.0.18/32"),
								pulumi.String("fd00:1::f/128"),
								pulumi.String("fd00:1::10/128"),
								pulumi.String("fd00:1::11/128"),
								pulumi.String("fd00:1::12/128"),
							},
						},
					},
				},
			},
			Storage: &gkeonprem.BareMetalClusterStorageArgs{
				LvpShareConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigArgs{
					LvpConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigLvpConfigArgs{
						Path:         pulumi.String("/mnt/localpv-share"),
						StorageClass: pulumi.String("local-shared"),
					},
					SharedPathPvCount: pulumi.Int(5),
				},
				LvpNodeMountsConfig: &gkeonprem.BareMetalClusterStorageLvpNodeMountsConfigArgs{
					Path:         pulumi.String("/mnt/localpv-disk"),
					StorageClass: pulumi.String("local-disks"),
				},
			},
			SecurityConfig: &gkeonprem.BareMetalClusterSecurityConfigArgs{
				Authorization: &gkeonprem.BareMetalClusterSecurityConfigAuthorizationArgs{
					AdminUsers: gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArray{
						&gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs{
							Username: pulumi.String("admin@hashicorptest.com"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = gkeonprem.NewBareMetalNodePool(ctx, "nodepool-basic", &gkeonprem.BareMetalNodePoolArgs{
			Name:             pulumi.String("my-nodepool"),
			BareMetalCluster: default_basic.Name,
			Location:         pulumi.String("us-west1"),
			NodePoolConfig: &gkeonprem.BareMetalNodePoolNodePoolConfigArgs{
				OperatingSystem: pulumi.String("LINUX"),
				NodeConfigs: gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArray{
					&gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArgs{
						NodeIp: pulumi.String("10.200.0.11"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var default_basic = new Gcp.GkeOnPrem.BareMetalCluster("default-basic", new()
    {
        Name = "my-cluster",
        Location = "us-west1",
        AdminClusterMembership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
        BareMetalVersion = "1.12.3",
        NetworkConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigArgs
        {
            IslandModeCidr = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigIslandModeCidrArgs
            {
                ServiceAddressCidrBlocks = new[]
                {
                    "172.26.0.0/16",
                },
                PodAddressCidrBlocks = new[]
                {
                    "10.240.0.0/13",
                },
            },
        },
        ControlPlane = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneArgs
        {
            ControlPlaneNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs
            {
                NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs
                {
                    Labels = null,
                    OperatingSystem = "LINUX",
                    NodeConfigs = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs
                        {
                            Labels = null,
                            NodeIp = "10.200.0.9",
                        },
                    },
                },
            },
        },
        LoadBalancer = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerArgs
        {
            PortConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerPortConfigArgs
            {
                ControlPlaneLoadBalancerPort = 443,
            },
            VipConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerVipConfigArgs
            {
                ControlPlaneVip = "10.200.0.13",
                IngressVip = "10.200.0.14",
            },
            MetalLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigArgs
            {
                AddressPools = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs
                    {
                        Pool = "pool1",
                        Addresses = new[]
                        {
                            "10.200.0.14/32",
                            "10.200.0.15/32",
                            "10.200.0.16/32",
                            "10.200.0.17/32",
                            "10.200.0.18/32",
                            "fd00:1::f/128",
                            "fd00:1::10/128",
                            "fd00:1::11/128",
                            "fd00:1::12/128",
                        },
                    },
                },
            },
        },
        Storage = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageArgs
        {
            LvpShareConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpShareConfigArgs
            {
                LvpConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpShareConfigLvpConfigArgs
                {
                    Path = "/mnt/localpv-share",
                    StorageClass = "local-shared",
                },
                SharedPathPvCount = 5,
            },
            LvpNodeMountsConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpNodeMountsConfigArgs
            {
                Path = "/mnt/localpv-disk",
                StorageClass = "local-disks",
            },
        },
        SecurityConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigArgs
        {
            Authorization = new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigAuthorizationArgs
            {
                AdminUsers = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs
                    {
                        Username = "admin@hashicorptest.com",
                    },
                },
            },
        },
    });
    var nodepool_basic = new Gcp.GkeOnPrem.BareMetalNodePool("nodepool-basic", new()
    {
        Name = "my-nodepool",
        BareMetalCluster = default_basic.Name,
        Location = "us-west1",
        NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigArgs
        {
            OperatingSystem = "LINUX",
            NodeConfigs = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigNodeConfigArgs
                {
                    NodeIp = "10.200.0.11",
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.BareMetalCluster;
import com.pulumi.gcp.gkeonprem.BareMetalClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigIslandModeCidrArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterControlPlaneArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerPortConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerMetalLbConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageLvpShareConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageLvpShareConfigLvpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageLvpNodeMountsConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterSecurityConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterSecurityConfigAuthorizationArgs;
import com.pulumi.gcp.gkeonprem.BareMetalNodePool;
import com.pulumi.gcp.gkeonprem.BareMetalNodePoolArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalNodePoolNodePoolConfigArgs;
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 BareMetalCluster("default-basic", BareMetalClusterArgs.builder()
            .name("my-cluster")
            .location("us-west1")
            .adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
            .bareMetalVersion("1.12.3")
            .networkConfig(BareMetalClusterNetworkConfigArgs.builder()
                .islandModeCidr(BareMetalClusterNetworkConfigIslandModeCidrArgs.builder()
                    .serviceAddressCidrBlocks("172.26.0.0/16")
                    .podAddressCidrBlocks("10.240.0.0/13")
                    .build())
                .build())
            .controlPlane(BareMetalClusterControlPlaneArgs.builder()
                .controlPlaneNodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
                    .nodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
                        .labels()
                        .operatingSystem("LINUX")
                        .nodeConfigs(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                            .labels()
                            .nodeIp("10.200.0.9")
                            .build())
                        .build())
                    .build())
                .build())
            .loadBalancer(BareMetalClusterLoadBalancerArgs.builder()
                .portConfig(BareMetalClusterLoadBalancerPortConfigArgs.builder()
                    .controlPlaneLoadBalancerPort(443)
                    .build())
                .vipConfig(BareMetalClusterLoadBalancerVipConfigArgs.builder()
                    .controlPlaneVip("10.200.0.13")
                    .ingressVip("10.200.0.14")
                    .build())
                .metalLbConfig(BareMetalClusterLoadBalancerMetalLbConfigArgs.builder()
                    .addressPools(BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
                        .pool("pool1")
                        .addresses(                        
                            "10.200.0.14/32",
                            "10.200.0.15/32",
                            "10.200.0.16/32",
                            "10.200.0.17/32",
                            "10.200.0.18/32",
                            "fd00:1::f/128",
                            "fd00:1::10/128",
                            "fd00:1::11/128",
                            "fd00:1::12/128")
                        .build())
                    .build())
                .build())
            .storage(BareMetalClusterStorageArgs.builder()
                .lvpShareConfig(BareMetalClusterStorageLvpShareConfigArgs.builder()
                    .lvpConfig(BareMetalClusterStorageLvpShareConfigLvpConfigArgs.builder()
                        .path("/mnt/localpv-share")
                        .storageClass("local-shared")
                        .build())
                    .sharedPathPvCount(5)
                    .build())
                .lvpNodeMountsConfig(BareMetalClusterStorageLvpNodeMountsConfigArgs.builder()
                    .path("/mnt/localpv-disk")
                    .storageClass("local-disks")
                    .build())
                .build())
            .securityConfig(BareMetalClusterSecurityConfigArgs.builder()
                .authorization(BareMetalClusterSecurityConfigAuthorizationArgs.builder()
                    .adminUsers(BareMetalClusterSecurityConfigAuthorizationAdminUserArgs.builder()
                        .username("admin@hashicorptest.com")
                        .build())
                    .build())
                .build())
            .build());
        var nodepool_basic = new BareMetalNodePool("nodepool-basic", BareMetalNodePoolArgs.builder()
            .name("my-nodepool")
            .bareMetalCluster(default_basic.name())
            .location("us-west1")
            .nodePoolConfig(BareMetalNodePoolNodePoolConfigArgs.builder()
                .operatingSystem("LINUX")
                .nodeConfigs(BareMetalNodePoolNodePoolConfigNodeConfigArgs.builder()
                    .nodeIp("10.200.0.11")
                    .build())
                .build())
            .build());
    }
}
resources:
  default-basic:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      name: my-cluster
      location: us-west1
      adminClusterMembership: projects/870316890899/locations/global/memberships/gkeonprem-terraform-test
      bareMetalVersion: 1.12.3
      networkConfig:
        islandModeCidr:
          serviceAddressCidrBlocks:
            - 172.26.0.0/16
          podAddressCidrBlocks:
            - 10.240.0.0/13
      controlPlane:
        controlPlaneNodePoolConfig:
          nodePoolConfig:
            labels: {}
            operatingSystem: LINUX
            nodeConfigs:
              - labels: {}
                nodeIp: 10.200.0.9
      loadBalancer:
        portConfig:
          controlPlaneLoadBalancerPort: 443
        vipConfig:
          controlPlaneVip: 10.200.0.13
          ingressVip: 10.200.0.14
        metalLbConfig:
          addressPools:
            - pool: pool1
              addresses:
                - 10.200.0.14/32
                - 10.200.0.15/32
                - 10.200.0.16/32
                - 10.200.0.17/32
                - 10.200.0.18/32
                - fd00:1::f/128
                - fd00:1::10/128
                - fd00:1::11/128
                - fd00:1::12/128
      storage:
        lvpShareConfig:
          lvpConfig:
            path: /mnt/localpv-share
            storageClass: local-shared
          sharedPathPvCount: 5
        lvpNodeMountsConfig:
          path: /mnt/localpv-disk
          storageClass: local-disks
      securityConfig:
        authorization:
          adminUsers:
            - username: admin@hashicorptest.com
  nodepool-basic:
    type: gcp:gkeonprem:BareMetalNodePool
    properties:
      name: my-nodepool
      bareMetalCluster: ${["default-basic"].name}
      location: us-west1
      nodePoolConfig:
        operatingSystem: LINUX
        nodeConfigs:
          - nodeIp: 10.200.0.11
Gkeonprem Bare Metal Node Pool Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const default_full = new gcp.gkeonprem.BareMetalCluster("default-full", {
    name: "my-cluster",
    location: "us-west1",
    adminClusterMembership: "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bareMetalVersion: "1.12.3",
    networkConfig: {
        islandModeCidr: {
            serviceAddressCidrBlocks: ["172.26.0.0/16"],
            podAddressCidrBlocks: ["10.240.0.0/13"],
        },
    },
    controlPlane: {
        controlPlaneNodePoolConfig: {
            nodePoolConfig: {
                labels: {},
                operatingSystem: "LINUX",
                nodeConfigs: [{
                    labels: {},
                    nodeIp: "10.200.0.9",
                }],
            },
        },
    },
    loadBalancer: {
        portConfig: {
            controlPlaneLoadBalancerPort: 443,
        },
        vipConfig: {
            controlPlaneVip: "10.200.0.13",
            ingressVip: "10.200.0.14",
        },
        metalLbConfig: {
            addressPools: [{
                pool: "pool1",
                addresses: [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
            }],
        },
    },
    storage: {
        lvpShareConfig: {
            lvpConfig: {
                path: "/mnt/localpv-share",
                storageClass: "local-shared",
            },
            sharedPathPvCount: 5,
        },
        lvpNodeMountsConfig: {
            path: "/mnt/localpv-disk",
            storageClass: "local-disks",
        },
    },
    securityConfig: {
        authorization: {
            adminUsers: [{
                username: "admin@hashicorptest.com",
            }],
        },
    },
});
const nodepool_full = new gcp.gkeonprem.BareMetalNodePool("nodepool-full", {
    name: "my-nodepool",
    displayName: "test-name",
    bareMetalCluster: default_full.name,
    location: "us-west1",
    annotations: {},
    nodePoolConfig: {
        operatingSystem: "LINUX",
        labels: {},
        nodeConfigs: [{
            nodeIp: "10.200.0.11",
            labels: {},
        }],
        taints: [{
            key: "test-key",
            value: "test-value",
            effect: "NO_EXECUTE",
        }],
    },
});
import pulumi
import pulumi_gcp as gcp
default_full = gcp.gkeonprem.BareMetalCluster("default-full",
    name="my-cluster",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config={
        "island_mode_cidr": {
            "service_address_cidr_blocks": ["172.26.0.0/16"],
            "pod_address_cidr_blocks": ["10.240.0.0/13"],
        },
    },
    control_plane={
        "control_plane_node_pool_config": {
            "node_pool_config": {
                "labels": {},
                "operating_system": "LINUX",
                "node_configs": [{
                    "labels": {},
                    "node_ip": "10.200.0.9",
                }],
            },
        },
    },
    load_balancer={
        "port_config": {
            "control_plane_load_balancer_port": 443,
        },
        "vip_config": {
            "control_plane_vip": "10.200.0.13",
            "ingress_vip": "10.200.0.14",
        },
        "metal_lb_config": {
            "address_pools": [{
                "pool": "pool1",
                "addresses": [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
            }],
        },
    },
    storage={
        "lvp_share_config": {
            "lvp_config": {
                "path": "/mnt/localpv-share",
                "storage_class": "local-shared",
            },
            "shared_path_pv_count": 5,
        },
        "lvp_node_mounts_config": {
            "path": "/mnt/localpv-disk",
            "storage_class": "local-disks",
        },
    },
    security_config={
        "authorization": {
            "admin_users": [{
                "username": "admin@hashicorptest.com",
            }],
        },
    })
nodepool_full = gcp.gkeonprem.BareMetalNodePool("nodepool-full",
    name="my-nodepool",
    display_name="test-name",
    bare_metal_cluster=default_full.name,
    location="us-west1",
    annotations={},
    node_pool_config={
        "operating_system": "LINUX",
        "labels": {},
        "node_configs": [{
            "node_ip": "10.200.0.11",
            "labels": {},
        }],
        "taints": [{
            "key": "test-key",
            "value": "test-value",
            "effect": "NO_EXECUTE",
        }],
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/gkeonprem"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		default_full, err := gkeonprem.NewBareMetalCluster(ctx, "default-full", &gkeonprem.BareMetalClusterArgs{
			Name:                   pulumi.String("my-cluster"),
			Location:               pulumi.String("us-west1"),
			AdminClusterMembership: pulumi.String("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"),
			BareMetalVersion:       pulumi.String("1.12.3"),
			NetworkConfig: &gkeonprem.BareMetalClusterNetworkConfigArgs{
				IslandModeCidr: &gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs{
					ServiceAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("172.26.0.0/16"),
					},
					PodAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("10.240.0.0/13"),
					},
				},
			},
			ControlPlane: &gkeonprem.BareMetalClusterControlPlaneArgs{
				ControlPlaneNodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs{
					NodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs{
						Labels:          pulumi.StringMap{},
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: pulumi.StringMap{},
								NodeIp: pulumi.String("10.200.0.9"),
							},
						},
					},
				},
			},
			LoadBalancer: &gkeonprem.BareMetalClusterLoadBalancerArgs{
				PortConfig: &gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs{
					ControlPlaneLoadBalancerPort: pulumi.Int(443),
				},
				VipConfig: &gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs{
					ControlPlaneVip: pulumi.String("10.200.0.13"),
					IngressVip:      pulumi.String("10.200.0.14"),
				},
				MetalLbConfig: &gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigArgs{
					AddressPools: gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArray{
						&gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs{
							Pool: pulumi.String("pool1"),
							Addresses: pulumi.StringArray{
								pulumi.String("10.200.0.14/32"),
								pulumi.String("10.200.0.15/32"),
								pulumi.String("10.200.0.16/32"),
								pulumi.String("10.200.0.17/32"),
								pulumi.String("10.200.0.18/32"),
								pulumi.String("fd00:1::f/128"),
								pulumi.String("fd00:1::10/128"),
								pulumi.String("fd00:1::11/128"),
								pulumi.String("fd00:1::12/128"),
							},
						},
					},
				},
			},
			Storage: &gkeonprem.BareMetalClusterStorageArgs{
				LvpShareConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigArgs{
					LvpConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigLvpConfigArgs{
						Path:         pulumi.String("/mnt/localpv-share"),
						StorageClass: pulumi.String("local-shared"),
					},
					SharedPathPvCount: pulumi.Int(5),
				},
				LvpNodeMountsConfig: &gkeonprem.BareMetalClusterStorageLvpNodeMountsConfigArgs{
					Path:         pulumi.String("/mnt/localpv-disk"),
					StorageClass: pulumi.String("local-disks"),
				},
			},
			SecurityConfig: &gkeonprem.BareMetalClusterSecurityConfigArgs{
				Authorization: &gkeonprem.BareMetalClusterSecurityConfigAuthorizationArgs{
					AdminUsers: gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArray{
						&gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs{
							Username: pulumi.String("admin@hashicorptest.com"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = gkeonprem.NewBareMetalNodePool(ctx, "nodepool-full", &gkeonprem.BareMetalNodePoolArgs{
			Name:             pulumi.String("my-nodepool"),
			DisplayName:      pulumi.String("test-name"),
			BareMetalCluster: default_full.Name,
			Location:         pulumi.String("us-west1"),
			Annotations:      pulumi.StringMap{},
			NodePoolConfig: &gkeonprem.BareMetalNodePoolNodePoolConfigArgs{
				OperatingSystem: pulumi.String("LINUX"),
				Labels:          pulumi.StringMap{},
				NodeConfigs: gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArray{
					&gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArgs{
						NodeIp: pulumi.String("10.200.0.11"),
						Labels: pulumi.StringMap{},
					},
				},
				Taints: gkeonprem.BareMetalNodePoolNodePoolConfigTaintArray{
					&gkeonprem.BareMetalNodePoolNodePoolConfigTaintArgs{
						Key:    pulumi.String("test-key"),
						Value:  pulumi.String("test-value"),
						Effect: pulumi.String("NO_EXECUTE"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var default_full = new Gcp.GkeOnPrem.BareMetalCluster("default-full", new()
    {
        Name = "my-cluster",
        Location = "us-west1",
        AdminClusterMembership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
        BareMetalVersion = "1.12.3",
        NetworkConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigArgs
        {
            IslandModeCidr = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigIslandModeCidrArgs
            {
                ServiceAddressCidrBlocks = new[]
                {
                    "172.26.0.0/16",
                },
                PodAddressCidrBlocks = new[]
                {
                    "10.240.0.0/13",
                },
            },
        },
        ControlPlane = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneArgs
        {
            ControlPlaneNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs
            {
                NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs
                {
                    Labels = null,
                    OperatingSystem = "LINUX",
                    NodeConfigs = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs
                        {
                            Labels = null,
                            NodeIp = "10.200.0.9",
                        },
                    },
                },
            },
        },
        LoadBalancer = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerArgs
        {
            PortConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerPortConfigArgs
            {
                ControlPlaneLoadBalancerPort = 443,
            },
            VipConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerVipConfigArgs
            {
                ControlPlaneVip = "10.200.0.13",
                IngressVip = "10.200.0.14",
            },
            MetalLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigArgs
            {
                AddressPools = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs
                    {
                        Pool = "pool1",
                        Addresses = new[]
                        {
                            "10.200.0.14/32",
                            "10.200.0.15/32",
                            "10.200.0.16/32",
                            "10.200.0.17/32",
                            "10.200.0.18/32",
                            "fd00:1::f/128",
                            "fd00:1::10/128",
                            "fd00:1::11/128",
                            "fd00:1::12/128",
                        },
                    },
                },
            },
        },
        Storage = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageArgs
        {
            LvpShareConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpShareConfigArgs
            {
                LvpConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpShareConfigLvpConfigArgs
                {
                    Path = "/mnt/localpv-share",
                    StorageClass = "local-shared",
                },
                SharedPathPvCount = 5,
            },
            LvpNodeMountsConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpNodeMountsConfigArgs
            {
                Path = "/mnt/localpv-disk",
                StorageClass = "local-disks",
            },
        },
        SecurityConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigArgs
        {
            Authorization = new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigAuthorizationArgs
            {
                AdminUsers = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs
                    {
                        Username = "admin@hashicorptest.com",
                    },
                },
            },
        },
    });
    var nodepool_full = new Gcp.GkeOnPrem.BareMetalNodePool("nodepool-full", new()
    {
        Name = "my-nodepool",
        DisplayName = "test-name",
        BareMetalCluster = default_full.Name,
        Location = "us-west1",
        Annotations = null,
        NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigArgs
        {
            OperatingSystem = "LINUX",
            Labels = null,
            NodeConfigs = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigNodeConfigArgs
                {
                    NodeIp = "10.200.0.11",
                    Labels = null,
                },
            },
            Taints = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigTaintArgs
                {
                    Key = "test-key",
                    Value = "test-value",
                    Effect = "NO_EXECUTE",
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.BareMetalCluster;
import com.pulumi.gcp.gkeonprem.BareMetalClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigIslandModeCidrArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterControlPlaneArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerPortConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerMetalLbConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageLvpShareConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageLvpShareConfigLvpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterStorageLvpNodeMountsConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterSecurityConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterSecurityConfigAuthorizationArgs;
import com.pulumi.gcp.gkeonprem.BareMetalNodePool;
import com.pulumi.gcp.gkeonprem.BareMetalNodePoolArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalNodePoolNodePoolConfigArgs;
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 BareMetalCluster("default-full", BareMetalClusterArgs.builder()
            .name("my-cluster")
            .location("us-west1")
            .adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
            .bareMetalVersion("1.12.3")
            .networkConfig(BareMetalClusterNetworkConfigArgs.builder()
                .islandModeCidr(BareMetalClusterNetworkConfigIslandModeCidrArgs.builder()
                    .serviceAddressCidrBlocks("172.26.0.0/16")
                    .podAddressCidrBlocks("10.240.0.0/13")
                    .build())
                .build())
            .controlPlane(BareMetalClusterControlPlaneArgs.builder()
                .controlPlaneNodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
                    .nodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
                        .labels()
                        .operatingSystem("LINUX")
                        .nodeConfigs(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                            .labels()
                            .nodeIp("10.200.0.9")
                            .build())
                        .build())
                    .build())
                .build())
            .loadBalancer(BareMetalClusterLoadBalancerArgs.builder()
                .portConfig(BareMetalClusterLoadBalancerPortConfigArgs.builder()
                    .controlPlaneLoadBalancerPort(443)
                    .build())
                .vipConfig(BareMetalClusterLoadBalancerVipConfigArgs.builder()
                    .controlPlaneVip("10.200.0.13")
                    .ingressVip("10.200.0.14")
                    .build())
                .metalLbConfig(BareMetalClusterLoadBalancerMetalLbConfigArgs.builder()
                    .addressPools(BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
                        .pool("pool1")
                        .addresses(                        
                            "10.200.0.14/32",
                            "10.200.0.15/32",
                            "10.200.0.16/32",
                            "10.200.0.17/32",
                            "10.200.0.18/32",
                            "fd00:1::f/128",
                            "fd00:1::10/128",
                            "fd00:1::11/128",
                            "fd00:1::12/128")
                        .build())
                    .build())
                .build())
            .storage(BareMetalClusterStorageArgs.builder()
                .lvpShareConfig(BareMetalClusterStorageLvpShareConfigArgs.builder()
                    .lvpConfig(BareMetalClusterStorageLvpShareConfigLvpConfigArgs.builder()
                        .path("/mnt/localpv-share")
                        .storageClass("local-shared")
                        .build())
                    .sharedPathPvCount(5)
                    .build())
                .lvpNodeMountsConfig(BareMetalClusterStorageLvpNodeMountsConfigArgs.builder()
                    .path("/mnt/localpv-disk")
                    .storageClass("local-disks")
                    .build())
                .build())
            .securityConfig(BareMetalClusterSecurityConfigArgs.builder()
                .authorization(BareMetalClusterSecurityConfigAuthorizationArgs.builder()
                    .adminUsers(BareMetalClusterSecurityConfigAuthorizationAdminUserArgs.builder()
                        .username("admin@hashicorptest.com")
                        .build())
                    .build())
                .build())
            .build());
        var nodepool_full = new BareMetalNodePool("nodepool-full", BareMetalNodePoolArgs.builder()
            .name("my-nodepool")
            .displayName("test-name")
            .bareMetalCluster(default_full.name())
            .location("us-west1")
            .annotations()
            .nodePoolConfig(BareMetalNodePoolNodePoolConfigArgs.builder()
                .operatingSystem("LINUX")
                .labels()
                .nodeConfigs(BareMetalNodePoolNodePoolConfigNodeConfigArgs.builder()
                    .nodeIp("10.200.0.11")
                    .labels()
                    .build())
                .taints(BareMetalNodePoolNodePoolConfigTaintArgs.builder()
                    .key("test-key")
                    .value("test-value")
                    .effect("NO_EXECUTE")
                    .build())
                .build())
            .build());
    }
}
resources:
  default-full:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      name: my-cluster
      location: us-west1
      adminClusterMembership: projects/870316890899/locations/global/memberships/gkeonprem-terraform-test
      bareMetalVersion: 1.12.3
      networkConfig:
        islandModeCidr:
          serviceAddressCidrBlocks:
            - 172.26.0.0/16
          podAddressCidrBlocks:
            - 10.240.0.0/13
      controlPlane:
        controlPlaneNodePoolConfig:
          nodePoolConfig:
            labels: {}
            operatingSystem: LINUX
            nodeConfigs:
              - labels: {}
                nodeIp: 10.200.0.9
      loadBalancer:
        portConfig:
          controlPlaneLoadBalancerPort: 443
        vipConfig:
          controlPlaneVip: 10.200.0.13
          ingressVip: 10.200.0.14
        metalLbConfig:
          addressPools:
            - pool: pool1
              addresses:
                - 10.200.0.14/32
                - 10.200.0.15/32
                - 10.200.0.16/32
                - 10.200.0.17/32
                - 10.200.0.18/32
                - fd00:1::f/128
                - fd00:1::10/128
                - fd00:1::11/128
                - fd00:1::12/128
      storage:
        lvpShareConfig:
          lvpConfig:
            path: /mnt/localpv-share
            storageClass: local-shared
          sharedPathPvCount: 5
        lvpNodeMountsConfig:
          path: /mnt/localpv-disk
          storageClass: local-disks
      securityConfig:
        authorization:
          adminUsers:
            - username: admin@hashicorptest.com
  nodepool-full:
    type: gcp:gkeonprem:BareMetalNodePool
    properties:
      name: my-nodepool
      displayName: test-name
      bareMetalCluster: ${["default-full"].name}
      location: us-west1
      annotations: {}
      nodePoolConfig:
        operatingSystem: LINUX
        labels: {}
        nodeConfigs:
          - nodeIp: 10.200.0.11
            labels: {}
        taints:
          - key: test-key
            value: test-value
            effect: NO_EXECUTE
Create BareMetalNodePool Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BareMetalNodePool(name: string, args: BareMetalNodePoolArgs, opts?: CustomResourceOptions);@overload
def BareMetalNodePool(resource_name: str,
                      args: BareMetalNodePoolArgs,
                      opts: Optional[ResourceOptions] = None)
@overload
def BareMetalNodePool(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      bare_metal_cluster: Optional[str] = None,
                      location: Optional[str] = None,
                      node_pool_config: Optional[BareMetalNodePoolNodePoolConfigArgs] = None,
                      annotations: Optional[Mapping[str, str]] = None,
                      display_name: Optional[str] = None,
                      name: Optional[str] = None,
                      project: Optional[str] = None)func NewBareMetalNodePool(ctx *Context, name string, args BareMetalNodePoolArgs, opts ...ResourceOption) (*BareMetalNodePool, error)public BareMetalNodePool(string name, BareMetalNodePoolArgs args, CustomResourceOptions? opts = null)
public BareMetalNodePool(String name, BareMetalNodePoolArgs args)
public BareMetalNodePool(String name, BareMetalNodePoolArgs args, CustomResourceOptions options)
type: gcp:gkeonprem:BareMetalNodePool
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args BareMetalNodePoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args BareMetalNodePoolArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args BareMetalNodePoolArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BareMetalNodePoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BareMetalNodePoolArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var bareMetalNodePoolResource = new Gcp.GkeOnPrem.BareMetalNodePool("bareMetalNodePoolResource", new()
{
    BareMetalCluster = "string",
    Location = "string",
    NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigArgs
    {
        NodeConfigs = new[]
        {
            new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigNodeConfigArgs
            {
                Labels = 
                {
                    { "string", "string" },
                },
                NodeIp = "string",
            },
        },
        Labels = 
        {
            { "string", "string" },
        },
        OperatingSystem = "string",
        Taints = new[]
        {
            new Gcp.GkeOnPrem.Inputs.BareMetalNodePoolNodePoolConfigTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
    },
    Annotations = 
    {
        { "string", "string" },
    },
    DisplayName = "string",
    Name = "string",
    Project = "string",
});
example, err := gkeonprem.NewBareMetalNodePool(ctx, "bareMetalNodePoolResource", &gkeonprem.BareMetalNodePoolArgs{
	BareMetalCluster: pulumi.String("string"),
	Location:         pulumi.String("string"),
	NodePoolConfig: &gkeonprem.BareMetalNodePoolNodePoolConfigArgs{
		NodeConfigs: gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArray{
			&gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArgs{
				Labels: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				NodeIp: pulumi.String("string"),
			},
		},
		Labels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		OperatingSystem: pulumi.String("string"),
		Taints: gkeonprem.BareMetalNodePoolNodePoolConfigTaintArray{
			&gkeonprem.BareMetalNodePoolNodePoolConfigTaintArgs{
				Effect: pulumi.String("string"),
				Key:    pulumi.String("string"),
				Value:  pulumi.String("string"),
			},
		},
	},
	Annotations: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	DisplayName: pulumi.String("string"),
	Name:        pulumi.String("string"),
	Project:     pulumi.String("string"),
})
var bareMetalNodePoolResource = new BareMetalNodePool("bareMetalNodePoolResource", BareMetalNodePoolArgs.builder()
    .bareMetalCluster("string")
    .location("string")
    .nodePoolConfig(BareMetalNodePoolNodePoolConfigArgs.builder()
        .nodeConfigs(BareMetalNodePoolNodePoolConfigNodeConfigArgs.builder()
            .labels(Map.of("string", "string"))
            .nodeIp("string")
            .build())
        .labels(Map.of("string", "string"))
        .operatingSystem("string")
        .taints(BareMetalNodePoolNodePoolConfigTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .build())
    .annotations(Map.of("string", "string"))
    .displayName("string")
    .name("string")
    .project("string")
    .build());
bare_metal_node_pool_resource = gcp.gkeonprem.BareMetalNodePool("bareMetalNodePoolResource",
    bare_metal_cluster="string",
    location="string",
    node_pool_config={
        "node_configs": [{
            "labels": {
                "string": "string",
            },
            "node_ip": "string",
        }],
        "labels": {
            "string": "string",
        },
        "operating_system": "string",
        "taints": [{
            "effect": "string",
            "key": "string",
            "value": "string",
        }],
    },
    annotations={
        "string": "string",
    },
    display_name="string",
    name="string",
    project="string")
const bareMetalNodePoolResource = new gcp.gkeonprem.BareMetalNodePool("bareMetalNodePoolResource", {
    bareMetalCluster: "string",
    location: "string",
    nodePoolConfig: {
        nodeConfigs: [{
            labels: {
                string: "string",
            },
            nodeIp: "string",
        }],
        labels: {
            string: "string",
        },
        operatingSystem: "string",
        taints: [{
            effect: "string",
            key: "string",
            value: "string",
        }],
    },
    annotations: {
        string: "string",
    },
    displayName: "string",
    name: "string",
    project: "string",
});
type: gcp:gkeonprem:BareMetalNodePool
properties:
    annotations:
        string: string
    bareMetalCluster: string
    displayName: string
    location: string
    name: string
    nodePoolConfig:
        labels:
            string: string
        nodeConfigs:
            - labels:
                string: string
              nodeIp: string
        operatingSystem: string
        taints:
            - effect: string
              key: string
              value: string
    project: string
BareMetalNodePool Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BareMetalNodePool resource accepts the following input properties:
- BareMetal stringCluster 
- The cluster this node pool belongs to.
- Location string
- The location of the resource.
- NodePool BareConfig Metal Node Pool Node Pool Config 
- Node pool configuration. Structure is documented below.
- Annotations Dictionary<string, string>
- Annotations on the Bare Metal 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.
- DisplayName string
- The display name for the Bare Metal Node Pool.
- Name string
- The bare metal node pool name.
- Project string
- BareMetal stringCluster 
- The cluster this node pool belongs to.
- Location string
- The location of the resource.
- NodePool BareConfig Metal Node Pool Node Pool Config Args 
- Node pool configuration. Structure is documented below.
- Annotations map[string]string
- Annotations on the Bare Metal 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.
- DisplayName string
- The display name for the Bare Metal Node Pool.
- Name string
- The bare metal node pool name.
- Project string
- bareMetal StringCluster 
- The cluster this node pool belongs to.
- location String
- The location of the resource.
- nodePool BareConfig Metal Node Pool Node Pool Config 
- Node pool configuration. Structure is documented below.
- annotations Map<String,String>
- Annotations on the Bare Metal 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.
- displayName String
- The display name for the Bare Metal Node Pool.
- name String
- The bare metal node pool name.
- project String
- bareMetal stringCluster 
- The cluster this node pool belongs to.
- location string
- The location of the resource.
- nodePool BareConfig Metal Node Pool Node Pool Config 
- Node pool configuration. Structure is documented below.
- annotations {[key: string]: string}
- Annotations on the Bare Metal 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.
- displayName string
- The display name for the Bare Metal Node Pool.
- name string
- The bare metal node pool name.
- project string
- bare_metal_ strcluster 
- The cluster this node pool belongs to.
- location str
- The location of the resource.
- node_pool_ Bareconfig Metal Node Pool Node Pool Config Args 
- Node pool configuration. Structure is documented below.
- annotations Mapping[str, str]
- Annotations on the Bare Metal 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.
- display_name str
- The display name for the Bare Metal Node Pool.
- name str
- The bare metal node pool name.
- project str
- bareMetal StringCluster 
- The cluster this node pool belongs to.
- location String
- The location of the resource.
- nodePool Property MapConfig 
- Node pool configuration. Structure is documented below.
- annotations Map<String>
- Annotations on the Bare Metal 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.
- displayName String
- The display name for the Bare Metal Node Pool.
- name String
- The bare metal node pool name.
- project String
Outputs
All input properties are implicitly available as output properties. Additionally, the BareMetalNodePool resource produces the following output properties:
- CreateTime string
- The time the cluster was created, in RFC3339 text format.
- DeleteTime string
- The time the cluster was deleted, in RFC3339 text format.
- EffectiveAnnotations Dictionary<string, string>
- Etag 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.
- Id string
- The provider-assigned unique ID for this managed resource.
- Reconciling bool
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- State string
- (Output) The lifecycle state of the condition.
- Statuses
List<BareMetal Node Pool Status> 
- Specifies detailed node pool status. Structure is documented below.
- Uid string
- The unique identifier of the Bare Metal Node Pool.
- UpdateTime string
- The time the cluster was last updated, in RFC3339 text format.
- CreateTime string
- The time the cluster was created, in RFC3339 text format.
- DeleteTime string
- The time the cluster was deleted, in RFC3339 text format.
- EffectiveAnnotations map[string]string
- Etag 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.
- Id string
- The provider-assigned unique ID for this managed resource.
- Reconciling bool
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- State string
- (Output) The lifecycle state of the condition.
- Statuses
[]BareMetal Node Pool Status 
- Specifies detailed node pool status. Structure is documented below.
- Uid string
- The unique identifier of the Bare Metal Node Pool.
- UpdateTime string
- The time the cluster was last updated, in RFC3339 text format.
- createTime String
- The time the cluster was created, in RFC3339 text format.
- deleteTime String
- The time the cluster was deleted, in RFC3339 text format.
- effectiveAnnotations Map<String,String>
- etag 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.
- id String
- The provider-assigned unique ID for this managed resource.
- reconciling Boolean
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state String
- (Output) The lifecycle state of the condition.
- statuses
List<BareMetal Node Pool Status> 
- Specifies detailed node pool status. Structure is documented below.
- uid String
- The unique identifier of the Bare Metal Node Pool.
- updateTime String
- The time the cluster was last updated, in RFC3339 text format.
- createTime string
- The time the cluster was created, in RFC3339 text format.
- deleteTime string
- The time the cluster was deleted, in RFC3339 text format.
- effectiveAnnotations {[key: string]: string}
- etag 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.
- id string
- The provider-assigned unique ID for this managed resource.
- reconciling boolean
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state string
- (Output) The lifecycle state of the condition.
- statuses
BareMetal Node Pool Status[] 
- Specifies detailed node pool status. Structure is documented below.
- uid string
- The unique identifier of the Bare Metal Node Pool.
- updateTime string
- The time the cluster was last updated, in RFC3339 text format.
- create_time str
- The time the cluster was created, in RFC3339 text format.
- delete_time str
- The time the cluster was deleted, in RFC3339 text format.
- effective_annotations Mapping[str, str]
- etag str
- 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.
- id str
- The provider-assigned unique ID for this managed resource.
- reconciling bool
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state str
- (Output) The lifecycle state of the condition.
- statuses
Sequence[BareMetal Node Pool Status] 
- Specifies detailed node pool status. Structure is documented below.
- uid str
- The unique identifier of the Bare Metal Node Pool.
- update_time str
- The time the cluster was last updated, in RFC3339 text format.
- createTime String
- The time the cluster was created, in RFC3339 text format.
- deleteTime String
- The time the cluster was deleted, in RFC3339 text format.
- effectiveAnnotations Map<String>
- etag 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.
- id String
- The provider-assigned unique ID for this managed resource.
- reconciling Boolean
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state String
- (Output) The lifecycle state of the condition.
- statuses List<Property Map>
- Specifies detailed node pool status. Structure is documented below.
- uid String
- The unique identifier of the Bare Metal Node Pool.
- updateTime String
- The time the cluster was last updated, in RFC3339 text format.
Look up Existing BareMetalNodePool Resource
Get an existing BareMetalNodePool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: BareMetalNodePoolState, opts?: CustomResourceOptions): BareMetalNodePool@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        annotations: Optional[Mapping[str, str]] = None,
        bare_metal_cluster: Optional[str] = None,
        create_time: Optional[str] = None,
        delete_time: Optional[str] = None,
        display_name: Optional[str] = None,
        effective_annotations: Optional[Mapping[str, str]] = None,
        etag: Optional[str] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        node_pool_config: Optional[BareMetalNodePoolNodePoolConfigArgs] = None,
        project: Optional[str] = None,
        reconciling: Optional[bool] = None,
        state: Optional[str] = None,
        statuses: Optional[Sequence[BareMetalNodePoolStatusArgs]] = None,
        uid: Optional[str] = None,
        update_time: Optional[str] = None) -> BareMetalNodePoolfunc GetBareMetalNodePool(ctx *Context, name string, id IDInput, state *BareMetalNodePoolState, opts ...ResourceOption) (*BareMetalNodePool, error)public static BareMetalNodePool Get(string name, Input<string> id, BareMetalNodePoolState? state, CustomResourceOptions? opts = null)public static BareMetalNodePool get(String name, Output<String> id, BareMetalNodePoolState state, CustomResourceOptions options)resources:  _:    type: gcp:gkeonprem:BareMetalNodePool    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Annotations Dictionary<string, string>
- Annotations on the Bare Metal 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.
- BareMetal stringCluster 
- The cluster this node pool belongs to.
- CreateTime string
- The time the cluster was created, in RFC3339 text format.
- DeleteTime string
- The time the cluster was deleted, in RFC3339 text format.
- DisplayName string
- The display name for the Bare Metal Node Pool.
- EffectiveAnnotations Dictionary<string, string>
- Etag 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.
- Location string
- The location of the resource.
- Name string
- The bare metal node pool name.
- NodePool BareConfig Metal Node Pool Node Pool Config 
- Node pool configuration. Structure is documented below.
- Project string
- Reconciling bool
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- State string
- (Output) The lifecycle state of the condition.
- Statuses
List<BareMetal Node Pool Status> 
- Specifies detailed node pool status. Structure is documented below.
- Uid string
- The unique identifier of the Bare Metal Node Pool.
- UpdateTime string
- The time the cluster was last updated, in RFC3339 text format.
- Annotations map[string]string
- Annotations on the Bare Metal 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.
- BareMetal stringCluster 
- The cluster this node pool belongs to.
- CreateTime string
- The time the cluster was created, in RFC3339 text format.
- DeleteTime string
- The time the cluster was deleted, in RFC3339 text format.
- DisplayName string
- The display name for the Bare Metal Node Pool.
- EffectiveAnnotations map[string]string
- Etag 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.
- Location string
- The location of the resource.
- Name string
- The bare metal node pool name.
- NodePool BareConfig Metal Node Pool Node Pool Config Args 
- Node pool configuration. Structure is documented below.
- Project string
- Reconciling bool
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- State string
- (Output) The lifecycle state of the condition.
- Statuses
[]BareMetal Node Pool Status Args 
- Specifies detailed node pool status. Structure is documented below.
- Uid string
- The unique identifier of the Bare Metal Node Pool.
- UpdateTime string
- The time the cluster was last updated, in RFC3339 text format.
- annotations Map<String,String>
- Annotations on the Bare Metal 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.
- bareMetal StringCluster 
- The cluster this node pool belongs to.
- createTime String
- The time the cluster was created, in RFC3339 text format.
- deleteTime String
- The time the cluster was deleted, in RFC3339 text format.
- displayName String
- The display name for the Bare Metal Node Pool.
- effectiveAnnotations Map<String,String>
- etag 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.
- location String
- The location of the resource.
- name String
- The bare metal node pool name.
- nodePool BareConfig Metal Node Pool Node Pool Config 
- Node pool configuration. Structure is documented below.
- project String
- reconciling Boolean
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state String
- (Output) The lifecycle state of the condition.
- statuses
List<BareMetal Node Pool Status> 
- Specifies detailed node pool status. Structure is documented below.
- uid String
- The unique identifier of the Bare Metal Node Pool.
- updateTime String
- The time the cluster was last updated, in RFC3339 text format.
- annotations {[key: string]: string}
- Annotations on the Bare Metal 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.
- bareMetal stringCluster 
- The cluster this node pool belongs to.
- createTime string
- The time the cluster was created, in RFC3339 text format.
- deleteTime string
- The time the cluster was deleted, in RFC3339 text format.
- displayName string
- The display name for the Bare Metal Node Pool.
- effectiveAnnotations {[key: string]: string}
- etag 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.
- location string
- The location of the resource.
- name string
- The bare metal node pool name.
- nodePool BareConfig Metal Node Pool Node Pool Config 
- Node pool configuration. Structure is documented below.
- project string
- reconciling boolean
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state string
- (Output) The lifecycle state of the condition.
- statuses
BareMetal Node Pool Status[] 
- Specifies detailed node pool status. Structure is documented below.
- uid string
- The unique identifier of the Bare Metal Node Pool.
- updateTime string
- The time the cluster was last updated, in RFC3339 text format.
- annotations Mapping[str, str]
- Annotations on the Bare Metal 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.
- bare_metal_ strcluster 
- The cluster this node pool belongs to.
- create_time str
- The time the cluster was created, in RFC3339 text format.
- delete_time str
- The time the cluster was deleted, in RFC3339 text format.
- display_name str
- The display name for the Bare Metal Node Pool.
- effective_annotations Mapping[str, str]
- etag str
- 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.
- location str
- The location of the resource.
- name str
- The bare metal node pool name.
- node_pool_ Bareconfig Metal Node Pool Node Pool Config Args 
- Node pool configuration. Structure is documented below.
- project str
- reconciling bool
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state str
- (Output) The lifecycle state of the condition.
- statuses
Sequence[BareMetal Node Pool Status Args] 
- Specifies detailed node pool status. Structure is documented below.
- uid str
- The unique identifier of the Bare Metal Node Pool.
- update_time str
- The time the cluster was last updated, in RFC3339 text format.
- annotations Map<String>
- Annotations on the Bare Metal 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.
- bareMetal StringCluster 
- The cluster this node pool belongs to.
- createTime String
- The time the cluster was created, in RFC3339 text format.
- deleteTime String
- The time the cluster was deleted, in RFC3339 text format.
- displayName String
- The display name for the Bare Metal Node Pool.
- effectiveAnnotations Map<String>
- etag 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.
- location String
- The location of the resource.
- name String
- The bare metal node pool name.
- nodePool Property MapConfig 
- Node pool configuration. Structure is documented below.
- project String
- reconciling Boolean
- If set, there are currently changes in flight to the Bare Metal User Cluster.
- state String
- (Output) The lifecycle state of the condition.
- statuses List<Property Map>
- Specifies detailed node pool status. Structure is documented below.
- uid String
- The unique identifier of the Bare Metal Node Pool.
- updateTime String
- The time the cluster was last updated, in RFC3339 text format.
Supporting Types
BareMetalNodePoolNodePoolConfig, BareMetalNodePoolNodePoolConfigArgs              
- NodeConfigs List<BareMetal Node Pool Node Pool Config Node Config> 
- The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
- Labels Dictionary<string, string>
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- OperatingSystem string
- Specifies the nodes operating system (default: LINUX).
- Taints
List<BareMetal Node Pool Node Pool Config Taint> 
- The initial taints assigned to nodes of this node pool. Structure is documented below.
- NodeConfigs []BareMetal Node Pool Node Pool Config Node Config 
- The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
- Labels map[string]string
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- OperatingSystem string
- Specifies the nodes operating system (default: LINUX).
- Taints
[]BareMetal Node Pool Node Pool Config Taint 
- The initial taints assigned to nodes of this node pool. Structure is documented below.
- nodeConfigs List<BareMetal Node Pool Node Pool Config Node Config> 
- The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
- labels Map<String,String>
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- operatingSystem String
- Specifies the nodes operating system (default: LINUX).
- taints
List<BareMetal Node Pool Node Pool Config Taint> 
- The initial taints assigned to nodes of this node pool. Structure is documented below.
- nodeConfigs BareMetal Node Pool Node Pool Config Node Config[] 
- The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
- labels {[key: string]: string}
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- operatingSystem string
- Specifies the nodes operating system (default: LINUX).
- taints
BareMetal Node Pool Node Pool Config Taint[] 
- The initial taints assigned to nodes of this node pool. Structure is documented below.
- node_configs Sequence[BareMetal Node Pool Node Pool Config Node Config] 
- The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
- labels Mapping[str, str]
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- operating_system str
- Specifies the nodes operating system (default: LINUX).
- taints
Sequence[BareMetal Node Pool Node Pool Config Taint] 
- The initial taints assigned to nodes of this node pool. Structure is documented below.
- nodeConfigs List<Property Map>
- The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
- labels Map<String>
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- operatingSystem String
- Specifies the nodes operating system (default: LINUX).
- taints List<Property Map>
- The initial taints assigned to nodes of this node pool. Structure is documented below.
BareMetalNodePoolNodePoolConfigNodeConfig, BareMetalNodePoolNodePoolConfigNodeConfigArgs                  
- Labels Dictionary<string, string>
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- NodeIp string
- The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
- Labels map[string]string
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- NodeIp string
- The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
- labels Map<String,String>
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- nodeIp String
- The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
- labels {[key: string]: string}
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- nodeIp string
- The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
- labels Mapping[str, str]
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- node_ip str
- The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
- labels Map<String>
- 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. In case of conflict in
label keys, the applied set may differ depending on the Kubernetes
version -- it's best to assume the behavior is undefined and
conflicts should be avoided. For more information, including usage
and the valid values, see:- http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
 
- nodeIp String
- The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
BareMetalNodePoolNodePoolConfigTaint, BareMetalNodePoolNodePoolConfigTaintArgs                
BareMetalNodePoolStatus, BareMetalNodePoolStatusArgs          
- Conditions
List<BareMetal Node Pool Status Condition> 
- (Output) ResourceConditions provide a standard mechanism for higher-level status reporting from user cluster controller. Structure is documented below.
- ErrorMessage string
- (Output) Human-friendly representation of the error message from the user cluster controller. The error message can be temporary as the user cluster controller creates a cluster or node pool. If the error message persists for a longer period of time, it can be used to surface error message to indicate real problems requiring user intervention.
- Conditions
[]BareMetal Node Pool Status Condition 
- (Output) ResourceConditions provide a standard mechanism for higher-level status reporting from user cluster controller. Structure is documented below.
- ErrorMessage string
- (Output) Human-friendly representation of the error message from the user cluster controller. The error message can be temporary as the user cluster controller creates a cluster or node pool. If the error message persists for a longer period of time, it can be used to surface error message to indicate real problems requiring user intervention.
- conditions
List<BareMetal Node Pool Status Condition> 
- (Output) ResourceConditions provide a standard mechanism for higher-level status reporting from user cluster controller. Structure is documented below.
- errorMessage String
- (Output) Human-friendly representation of the error message from the user cluster controller. The error message can be temporary as the user cluster controller creates a cluster or node pool. If the error message persists for a longer period of time, it can be used to surface error message to indicate real problems requiring user intervention.
- conditions
BareMetal Node Pool Status Condition[] 
- (Output) ResourceConditions provide a standard mechanism for higher-level status reporting from user cluster controller. Structure is documented below.
- errorMessage string
- (Output) Human-friendly representation of the error message from the user cluster controller. The error message can be temporary as the user cluster controller creates a cluster or node pool. If the error message persists for a longer period of time, it can be used to surface error message to indicate real problems requiring user intervention.
- conditions
Sequence[BareMetal Node Pool Status Condition] 
- (Output) ResourceConditions provide a standard mechanism for higher-level status reporting from user cluster controller. Structure is documented below.
- error_message str
- (Output) Human-friendly representation of the error message from the user cluster controller. The error message can be temporary as the user cluster controller creates a cluster or node pool. If the error message persists for a longer period of time, it can be used to surface error message to indicate real problems requiring user intervention.
- conditions List<Property Map>
- (Output) ResourceConditions provide a standard mechanism for higher-level status reporting from user cluster controller. Structure is documented below.
- errorMessage String
- (Output) Human-friendly representation of the error message from the user cluster controller. The error message can be temporary as the user cluster controller creates a cluster or node pool. If the error message persists for a longer period of time, it can be used to surface error message to indicate real problems requiring user intervention.
BareMetalNodePoolStatusCondition, BareMetalNodePoolStatusConditionArgs            
- LastTransition stringTime 
- (Output) Last time the condition transit from one status to another.
- Message string
- Human-readable message indicating details about last transition.
- Reason string
- Machine-readable message indicating details about last transition.
- State string
- (Output) The lifecycle state of the condition.
- Type string
- Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)
- LastTransition stringTime 
- (Output) Last time the condition transit from one status to another.
- Message string
- Human-readable message indicating details about last transition.
- Reason string
- Machine-readable message indicating details about last transition.
- State string
- (Output) The lifecycle state of the condition.
- Type string
- Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)
- lastTransition StringTime 
- (Output) Last time the condition transit from one status to another.
- message String
- Human-readable message indicating details about last transition.
- reason String
- Machine-readable message indicating details about last transition.
- state String
- (Output) The lifecycle state of the condition.
- type String
- Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)
- lastTransition stringTime 
- (Output) Last time the condition transit from one status to another.
- message string
- Human-readable message indicating details about last transition.
- reason string
- Machine-readable message indicating details about last transition.
- state string
- (Output) The lifecycle state of the condition.
- type string
- Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)
- last_transition_ strtime 
- (Output) Last time the condition transit from one status to another.
- message str
- Human-readable message indicating details about last transition.
- reason str
- Machine-readable message indicating details about last transition.
- state str
- (Output) The lifecycle state of the condition.
- type str
- Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)
- lastTransition StringTime 
- (Output) Last time the condition transit from one status to another.
- message String
- Human-readable message indicating details about last transition.
- reason String
- Machine-readable message indicating details about last transition.
- state String
- (Output) The lifecycle state of the condition.
- type String
- Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)
Import
BareMetalNodePool can be imported using any of these accepted formats:
- projects/{{project}}/locations/{{location}}/bareMetalClusters/{{bare_metal_cluster}}/bareMetalNodePools/{{name}}
- {{project}}/{{location}}/{{bare_metal_cluster}}/{{name}}
- {{location}}/{{bare_metal_cluster}}/{{name}}
When using the pulumi import command, BareMetalNodePool can be imported using one of the formats above. For example:
$ pulumi import gcp:gkeonprem/bareMetalNodePool:BareMetalNodePool default projects/{{project}}/locations/{{location}}/bareMetalClusters/{{bare_metal_cluster}}/bareMetalNodePools/{{name}}
$ pulumi import gcp:gkeonprem/bareMetalNodePool:BareMetalNodePool default {{project}}/{{location}}/{{bare_metal_cluster}}/{{name}}
$ pulumi import gcp:gkeonprem/bareMetalNodePool:BareMetalNodePool default {{location}}/{{bare_metal_cluster}}/{{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the google-betaTerraform Provider.