gcp.gkeonprem.BareMetalNodePool

Explore with Pulumi AI

Import

BareMetalNodePool can be imported using any of these accepted formats

 $ 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}}

Example Usage

Gkeonprem Bare Metal Node Pool Basic

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()
    {
        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",
                    },
                },
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var nodepool_basic = new Gcp.GkeOnPrem.BareMetalNodePool("nodepool-basic", new()
    {
        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",
                },
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkeonprem"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkeonprem.NewBareMetalCluster(ctx, "default-basic", &gkeonprem.BareMetalClusterArgs{
			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:          nil,
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: nil,
								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"),
						},
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = gkeonprem.NewBareMetalNodePool(ctx, "nodepool-basic", &gkeonprem.BareMetalNodePoolArgs{
			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"),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}
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 com.pulumi.resources.CustomResourceOptions;
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()        
            .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(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var nodepool_basic = new BareMetalNodePool("nodepool-basic", BareMetalNodePoolArgs.builder()        
            .bareMetalCluster(default_basic.name())
            .location("us-west1")
            .nodePoolConfig(BareMetalNodePoolNodePoolConfigArgs.builder()
                .operatingSystem("LINUX")
                .nodeConfigs(BareMetalNodePoolNodePoolConfigNodeConfigArgs.builder()
                    .nodeIp("10.200.0.11")
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

    }
}
import pulumi
import pulumi_gcp as gcp

default_basic = gcp.gkeonprem.BareMetalCluster("default-basic",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config=gcp.gkeonprem.BareMetalClusterNetworkConfigArgs(
        island_mode_cidr=gcp.gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs(
            service_address_cidr_blocks=["172.26.0.0/16"],
            pod_address_cidr_blocks=["10.240.0.0/13"],
        ),
    ),
    control_plane=gcp.gkeonprem.BareMetalClusterControlPlaneArgs(
        control_plane_node_pool_config=gcp.gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs(
            node_pool_config=gcp.gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs(
                labels={},
                operating_system="LINUX",
                node_configs=[gcp.gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs(
                    labels={},
                    node_ip="10.200.0.9",
                )],
            ),
        ),
    ),
    load_balancer=gcp.gkeonprem.BareMetalClusterLoadBalancerArgs(
        port_config=gcp.gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs(
            control_plane_load_balancer_port=443,
        ),
        vip_config=gcp.gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs(
            control_plane_vip="10.200.0.13",
            ingress_vip="10.200.0.14",
        ),
        metal_lb_config=gcp.gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigArgs(
            address_pools=[gcp.gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs(
                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=gcp.gkeonprem.BareMetalClusterStorageArgs(
        lvp_share_config=gcp.gkeonprem.BareMetalClusterStorageLvpShareConfigArgs(
            lvp_config=gcp.gkeonprem.BareMetalClusterStorageLvpShareConfigLvpConfigArgs(
                path="/mnt/localpv-share",
                storage_class="local-shared",
            ),
            shared_path_pv_count=5,
        ),
        lvp_node_mounts_config=gcp.gkeonprem.BareMetalClusterStorageLvpNodeMountsConfigArgs(
            path="/mnt/localpv-disk",
            storage_class="local-disks",
        ),
    ),
    security_config=gcp.gkeonprem.BareMetalClusterSecurityConfigArgs(
        authorization=gcp.gkeonprem.BareMetalClusterSecurityConfigAuthorizationArgs(
            admin_users=[gcp.gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs(
                username="admin@hashicorptest.com",
            )],
        ),
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
nodepool_basic = gcp.gkeonprem.BareMetalNodePool("nodepool-basic",
    bare_metal_cluster=default_basic.name,
    location="us-west1",
    node_pool_config=gcp.gkeonprem.BareMetalNodePoolNodePoolConfigArgs(
        operating_system="LINUX",
        node_configs=[gcp.gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArgs(
            node_ip="10.200.0.11",
        )],
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const default_basic = new gcp.gkeonprem.BareMetalCluster("default-basic", {
    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",
            }],
        },
    },
}, {
    provider: google_beta,
});
const nodepool_basic = new gcp.gkeonprem.BareMetalNodePool("nodepool-basic", {
    bareMetalCluster: default_basic.name,
    location: "us-west1",
    nodePoolConfig: {
        operatingSystem: "LINUX",
        nodeConfigs: [{
            nodeIp: "10.200.0.11",
        }],
    },
}, {
    provider: google_beta,
});
resources:
  default-basic:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      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
    options:
      provider: ${["google-beta"]}
  nodepool-basic:
    type: gcp:gkeonprem:BareMetalNodePool
    properties:
      bareMetalCluster: ${["default-basic"].name}
      location: us-west1
      nodePoolConfig:
        operatingSystem: LINUX
        nodeConfigs:
          - nodeIp: 10.200.0.11
    options:
      provider: ${["google-beta"]}

Gkeonprem Bare Metal Node Pool Full

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()
    {
        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",
                    },
                },
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

    var nodepool_full = new Gcp.GkeOnPrem.BareMetalNodePool("nodepool-full", new()
    {
        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",
                },
            },
        },
    }, new CustomResourceOptions
    {
        Provider = google_beta,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkeonprem"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkeonprem.NewBareMetalCluster(ctx, "default-full", &gkeonprem.BareMetalClusterArgs{
			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:          nil,
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: nil,
								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"),
						},
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = gkeonprem.NewBareMetalNodePool(ctx, "nodepool-full", &gkeonprem.BareMetalNodePoolArgs{
			DisplayName:      pulumi.String("test-name"),
			BareMetalCluster: default_full.Name,
			Location:         pulumi.String("us-west1"),
			Annotations:      nil,
			NodePoolConfig: &gkeonprem.BareMetalNodePoolNodePoolConfigArgs{
				OperatingSystem: pulumi.String("LINUX"),
				Labels:          nil,
				NodeConfigs: gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArray{
					&gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArgs{
						NodeIp: pulumi.String("10.200.0.11"),
						Labels: nil,
					},
				},
				Taints: gkeonprem.BareMetalNodePoolNodePoolConfigTaintArray{
					&gkeonprem.BareMetalNodePoolNodePoolConfigTaintArgs{
						Key:    pulumi.String("test-key"),
						Value:  pulumi.String("test-value"),
						Effect: pulumi.String("NO_EXECUTE"),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}
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 com.pulumi.resources.CustomResourceOptions;
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()        
            .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(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

        var nodepool_full = new BareMetalNodePool("nodepool-full", BareMetalNodePoolArgs.builder()        
            .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(), CustomResourceOptions.builder()
                .provider(google_beta)
                .build());

    }
}
import pulumi
import pulumi_gcp as gcp

default_full = gcp.gkeonprem.BareMetalCluster("default-full",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config=gcp.gkeonprem.BareMetalClusterNetworkConfigArgs(
        island_mode_cidr=gcp.gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs(
            service_address_cidr_blocks=["172.26.0.0/16"],
            pod_address_cidr_blocks=["10.240.0.0/13"],
        ),
    ),
    control_plane=gcp.gkeonprem.BareMetalClusterControlPlaneArgs(
        control_plane_node_pool_config=gcp.gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs(
            node_pool_config=gcp.gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs(
                labels={},
                operating_system="LINUX",
                node_configs=[gcp.gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs(
                    labels={},
                    node_ip="10.200.0.9",
                )],
            ),
        ),
    ),
    load_balancer=gcp.gkeonprem.BareMetalClusterLoadBalancerArgs(
        port_config=gcp.gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs(
            control_plane_load_balancer_port=443,
        ),
        vip_config=gcp.gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs(
            control_plane_vip="10.200.0.13",
            ingress_vip="10.200.0.14",
        ),
        metal_lb_config=gcp.gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigArgs(
            address_pools=[gcp.gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs(
                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=gcp.gkeonprem.BareMetalClusterStorageArgs(
        lvp_share_config=gcp.gkeonprem.BareMetalClusterStorageLvpShareConfigArgs(
            lvp_config=gcp.gkeonprem.BareMetalClusterStorageLvpShareConfigLvpConfigArgs(
                path="/mnt/localpv-share",
                storage_class="local-shared",
            ),
            shared_path_pv_count=5,
        ),
        lvp_node_mounts_config=gcp.gkeonprem.BareMetalClusterStorageLvpNodeMountsConfigArgs(
            path="/mnt/localpv-disk",
            storage_class="local-disks",
        ),
    ),
    security_config=gcp.gkeonprem.BareMetalClusterSecurityConfigArgs(
        authorization=gcp.gkeonprem.BareMetalClusterSecurityConfigAuthorizationArgs(
            admin_users=[gcp.gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs(
                username="admin@hashicorptest.com",
            )],
        ),
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
nodepool_full = gcp.gkeonprem.BareMetalNodePool("nodepool-full",
    display_name="test-name",
    bare_metal_cluster=default_full.name,
    location="us-west1",
    annotations={},
    node_pool_config=gcp.gkeonprem.BareMetalNodePoolNodePoolConfigArgs(
        operating_system="LINUX",
        labels={},
        node_configs=[gcp.gkeonprem.BareMetalNodePoolNodePoolConfigNodeConfigArgs(
            node_ip="10.200.0.11",
            labels={},
        )],
        taints=[gcp.gkeonprem.BareMetalNodePoolNodePoolConfigTaintArgs(
            key="test-key",
            value="test-value",
            effect="NO_EXECUTE",
        )],
    ),
    opts=pulumi.ResourceOptions(provider=google_beta))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const default_full = new gcp.gkeonprem.BareMetalCluster("default-full", {
    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",
            }],
        },
    },
}, {
    provider: google_beta,
});
const nodepool_full = new gcp.gkeonprem.BareMetalNodePool("nodepool-full", {
    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",
        }],
    },
}, {
    provider: google_beta,
});
resources:
  default-full:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      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
    options:
      provider: ${["google-beta"]}
  nodepool-full:
    type: gcp:gkeonprem:BareMetalNodePool
    properties:
      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
    options:
      provider: ${["google-beta"]}

Create BareMetalNodePool Resource

new BareMetalNodePool(name: string, args: BareMetalNodePoolArgs, opts?: CustomResourceOptions);
@overload
def BareMetalNodePool(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      annotations: Optional[Mapping[str, str]] = None,
                      bare_metal_cluster: Optional[str] = None,
                      display_name: Optional[str] = None,
                      location: Optional[str] = None,
                      name: Optional[str] = None,
                      node_pool_config: Optional[BareMetalNodePoolNodePoolConfigArgs] = None,
                      project: Optional[str] = None)
@overload
def BareMetalNodePool(resource_name: str,
                      args: BareMetalNodePoolArgs,
                      opts: Optional[ResourceOptions] = 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.

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.

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

The BareMetalNodePool resource accepts the following input properties:

BareMetalCluster string

The cluster this node pool belongs to.

Location string

The location of the resource.

NodePoolConfig BareMetalNodePoolNodePoolConfigArgs

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.

DisplayName string

The display name for the Bare Metal Node Pool.

Name string

The bare metal node pool name.

Project string

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

BareMetalCluster string

The cluster this node pool belongs to.

Location string

The location of the resource.

NodePoolConfig BareMetalNodePoolNodePoolConfigArgs

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.

DisplayName string

The display name for the Bare Metal Node Pool.

Name string

The bare metal node pool name.

Project string

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

bareMetalCluster String

The cluster this node pool belongs to.

location String

The location of the resource.

nodePoolConfig BareMetalNodePoolNodePoolConfigArgs

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.

displayName String

The display name for the Bare Metal Node Pool.

name String

The bare metal node pool name.

project String

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

bareMetalCluster string

The cluster this node pool belongs to.

location string

The location of the resource.

nodePoolConfig BareMetalNodePoolNodePoolConfigArgs

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.

displayName string

The display name for the Bare Metal Node Pool.

name string

The bare metal node pool name.

project string

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

bare_metal_cluster str

The cluster this node pool belongs to.

location str

The location of the resource.

node_pool_config BareMetalNodePoolNodePoolConfigArgs

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.

display_name str

The display name for the Bare Metal Node Pool.

name str

The bare metal node pool name.

project str

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

bareMetalCluster String

The cluster this node pool belongs to.

location String

The location of the resource.

nodePoolConfig Property Map

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.

displayName String

The display name for the Bare Metal Node Pool.

name String

The bare metal node pool name.

project String

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

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.

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<BareMetalNodePoolStatus>

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.

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 []BareMetalNodePoolStatus

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.

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<BareMetalNodePoolStatus>

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.

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 BareMetalNodePoolStatus[]

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.

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[BareMetalNodePoolStatus]

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.

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,
        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) -> BareMetalNodePool
func 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)
Resource lookup is not supported in YAML
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.
The following state arguments are supported:
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.

BareMetalCluster string

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.

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.

NodePoolConfig BareMetalNodePoolNodePoolConfigArgs

Node pool configuration. Structure is documented below.

Project string

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

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<BareMetalNodePoolStatusArgs>

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.

BareMetalCluster string

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.

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.

NodePoolConfig BareMetalNodePoolNodePoolConfigArgs

Node pool configuration. Structure is documented below.

Project string

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

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 []BareMetalNodePoolStatusArgs

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.

bareMetalCluster String

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.

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.

nodePoolConfig BareMetalNodePoolNodePoolConfigArgs

Node pool configuration. Structure is documented below.

project String

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

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<BareMetalNodePoolStatusArgs>

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.

bareMetalCluster string

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.

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.

nodePoolConfig BareMetalNodePoolNodePoolConfigArgs

Node pool configuration. Structure is documented below.

project string

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

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 BareMetalNodePoolStatusArgs[]

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.

bare_metal_cluster str

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.

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_config BareMetalNodePoolNodePoolConfigArgs

Node pool configuration. Structure is documented below.

project str

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

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[BareMetalNodePoolStatusArgs]

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.

bareMetalCluster String

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.

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.

nodePoolConfig Property Map

Node pool configuration. Structure is documented below.

project String

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

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

NodeConfigs List<BareMetalNodePoolNodePoolConfigNodeConfig>

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. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

OperatingSystem string

Specifies the nodes operating system (default: LINUX).

Taints List<BareMetalNodePoolNodePoolConfigTaint>

The initial taints assigned to nodes of this node pool. Structure is documented below.

NodeConfigs []BareMetalNodePoolNodePoolConfigNodeConfig

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. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

OperatingSystem string

Specifies the nodes operating system (default: LINUX).

Taints []BareMetalNodePoolNodePoolConfigTaint

The initial taints assigned to nodes of this node pool. Structure is documented below.

nodeConfigs List<BareMetalNodePoolNodePoolConfigNodeConfig>

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. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

operatingSystem String

Specifies the nodes operating system (default: LINUX).

taints List<BareMetalNodePoolNodePoolConfigTaint>

The initial taints assigned to nodes of this node pool. Structure is documented below.

nodeConfigs BareMetalNodePoolNodePoolConfigNodeConfig[]

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. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

operatingSystem string

Specifies the nodes operating system (default: LINUX).

taints BareMetalNodePoolNodePoolConfigTaint[]

The initial taints assigned to nodes of this node pool. Structure is documented below.

node_configs Sequence[BareMetalNodePoolNodePoolConfigNodeConfig]

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. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

operating_system str

Specifies the nodes operating system (default: LINUX).

taints Sequence[BareMetalNodePoolNodePoolConfigTaint]

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. 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

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. 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. 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. 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. 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. 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. 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

Effect string

Specifies the nodes operating system (default: LINUX). Possible values are: EFFECT_UNSPECIFIED, PREFER_NO_SCHEDULE, NO_EXECUTE.


Key string

Key associated with the effect.

Value string

Value associated with the effect.

Effect string

Specifies the nodes operating system (default: LINUX). Possible values are: EFFECT_UNSPECIFIED, PREFER_NO_SCHEDULE, NO_EXECUTE.


Key string

Key associated with the effect.

Value string

Value associated with the effect.

effect String

Specifies the nodes operating system (default: LINUX). Possible values are: EFFECT_UNSPECIFIED, PREFER_NO_SCHEDULE, NO_EXECUTE.


key String

Key associated with the effect.

value String

Value associated with the effect.

effect string

Specifies the nodes operating system (default: LINUX). Possible values are: EFFECT_UNSPECIFIED, PREFER_NO_SCHEDULE, NO_EXECUTE.


key string

Key associated with the effect.

value string

Value associated with the effect.

effect str

Specifies the nodes operating system (default: LINUX). Possible values are: EFFECT_UNSPECIFIED, PREFER_NO_SCHEDULE, NO_EXECUTE.


key str

Key associated with the effect.

value str

Value associated with the effect.

effect String

Specifies the nodes operating system (default: LINUX). Possible values are: EFFECT_UNSPECIFIED, PREFER_NO_SCHEDULE, NO_EXECUTE.


key String

Key associated with the effect.

value String

Value associated with the effect.

BareMetalNodePoolStatus

Conditions List<BareMetalNodePoolStatusCondition>

(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 []BareMetalNodePoolStatusCondition

(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<BareMetalNodePoolStatusCondition>

(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 BareMetalNodePoolStatusCondition[]

(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[BareMetalNodePoolStatusCondition]

(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

LastTransitionTime string

(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)

LastTransitionTime string

(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)

lastTransitionTime String

(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)

lastTransitionTime string

(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_time str

(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)

lastTransitionTime String

(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)

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.