1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. gkeonprem
  5. BareMetalCluster
Google Cloud v8.26.0 published on Thursday, Apr 10, 2025 by Pulumi

gcp.gkeonprem.BareMetalCluster

Explore with Pulumi AI

A Google Bare Metal User Cluster.

Example Usage

Gkeonprem Bare Metal Cluster Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const cluster_basic = new gcp.gkeonprem.BareMetalCluster("cluster-basic", {
    name: "my-cluster",
    location: "us-west1",
    adminClusterMembership: "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bareMetalVersion: "1.12.3",
    networkConfig: {
        islandModeCidr: {
            serviceAddressCidrBlocks: ["172.26.0.0/16"],
            podAddressCidrBlocks: ["10.240.0.0/13"],
        },
    },
    controlPlane: {
        controlPlaneNodePoolConfig: {
            nodePoolConfig: {
                labels: {},
                operatingSystem: "LINUX",
                nodeConfigs: [{
                    labels: {},
                    nodeIp: "10.200.0.9",
                }],
            },
        },
    },
    loadBalancer: {
        portConfig: {
            controlPlaneLoadBalancerPort: 443,
        },
        vipConfig: {
            controlPlaneVip: "10.200.0.13",
            ingressVip: "10.200.0.14",
        },
        metalLbConfig: {
            addressPools: [{
                pool: "pool1",
                addresses: [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
                avoidBuggyIps: true,
                manualAssign: true,
            }],
        },
    },
    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",
            }],
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

cluster_basic = gcp.gkeonprem.BareMetalCluster("cluster-basic",
    name="my-cluster",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config={
        "island_mode_cidr": {
            "service_address_cidr_blocks": ["172.26.0.0/16"],
            "pod_address_cidr_blocks": ["10.240.0.0/13"],
        },
    },
    control_plane={
        "control_plane_node_pool_config": {
            "node_pool_config": {
                "labels": {},
                "operating_system": "LINUX",
                "node_configs": [{
                    "labels": {},
                    "node_ip": "10.200.0.9",
                }],
            },
        },
    },
    load_balancer={
        "port_config": {
            "control_plane_load_balancer_port": 443,
        },
        "vip_config": {
            "control_plane_vip": "10.200.0.13",
            "ingress_vip": "10.200.0.14",
        },
        "metal_lb_config": {
            "address_pools": [{
                "pool": "pool1",
                "addresses": [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
                "avoid_buggy_ips": True,
                "manual_assign": True,
            }],
        },
    },
    storage={
        "lvp_share_config": {
            "lvp_config": {
                "path": "/mnt/localpv-share",
                "storage_class": "local-shared",
            },
            "shared_path_pv_count": 5,
        },
        "lvp_node_mounts_config": {
            "path": "/mnt/localpv-disk",
            "storage_class": "local-disks",
        },
    },
    security_config={
        "authorization": {
            "admin_users": [{
                "username": "admin@hashicorptest.com",
            }],
        },
    })
Copy
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkeonprem.NewBareMetalCluster(ctx, "cluster-basic", &gkeonprem.BareMetalClusterArgs{
			Name:                   pulumi.String("my-cluster"),
			Location:               pulumi.String("us-west1"),
			AdminClusterMembership: pulumi.String("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"),
			BareMetalVersion:       pulumi.String("1.12.3"),
			NetworkConfig: &gkeonprem.BareMetalClusterNetworkConfigArgs{
				IslandModeCidr: &gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs{
					ServiceAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("172.26.0.0/16"),
					},
					PodAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("10.240.0.0/13"),
					},
				},
			},
			ControlPlane: &gkeonprem.BareMetalClusterControlPlaneArgs{
				ControlPlaneNodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs{
					NodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs{
						Labels:          pulumi.StringMap{},
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: pulumi.StringMap{},
								NodeIp: pulumi.String("10.200.0.9"),
							},
						},
					},
				},
			},
			LoadBalancer: &gkeonprem.BareMetalClusterLoadBalancerArgs{
				PortConfig: &gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs{
					ControlPlaneLoadBalancerPort: pulumi.Int(443),
				},
				VipConfig: &gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs{
					ControlPlaneVip: pulumi.String("10.200.0.13"),
					IngressVip:      pulumi.String("10.200.0.14"),
				},
				MetalLbConfig: &gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigArgs{
					AddressPools: gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArray{
						&gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs{
							Pool: pulumi.String("pool1"),
							Addresses: pulumi.StringArray{
								pulumi.String("10.200.0.14/32"),
								pulumi.String("10.200.0.15/32"),
								pulumi.String("10.200.0.16/32"),
								pulumi.String("10.200.0.17/32"),
								pulumi.String("10.200.0.18/32"),
								pulumi.String("fd00:1::f/128"),
								pulumi.String("fd00:1::10/128"),
								pulumi.String("fd00:1::11/128"),
								pulumi.String("fd00:1::12/128"),
							},
							AvoidBuggyIps: pulumi.Bool(true),
							ManualAssign:  pulumi.Bool(true),
						},
					},
				},
			},
			Storage: &gkeonprem.BareMetalClusterStorageArgs{
				LvpShareConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigArgs{
					LvpConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigLvpConfigArgs{
						Path:         pulumi.String("/mnt/localpv-share"),
						StorageClass: pulumi.String("local-shared"),
					},
					SharedPathPvCount: pulumi.Int(5),
				},
				LvpNodeMountsConfig: &gkeonprem.BareMetalClusterStorageLvpNodeMountsConfigArgs{
					Path:         pulumi.String("/mnt/localpv-disk"),
					StorageClass: pulumi.String("local-disks"),
				},
			},
			SecurityConfig: &gkeonprem.BareMetalClusterSecurityConfigArgs{
				Authorization: &gkeonprem.BareMetalClusterSecurityConfigAuthorizationArgs{
					AdminUsers: gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArray{
						&gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs{
							Username: pulumi.String("admin@hashicorptest.com"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var cluster_basic = new Gcp.GkeOnPrem.BareMetalCluster("cluster-basic", new()
    {
        Name = "my-cluster",
        Location = "us-west1",
        AdminClusterMembership = "projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
        BareMetalVersion = "1.12.3",
        NetworkConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigArgs
        {
            IslandModeCidr = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigIslandModeCidrArgs
            {
                ServiceAddressCidrBlocks = new[]
                {
                    "172.26.0.0/16",
                },
                PodAddressCidrBlocks = new[]
                {
                    "10.240.0.0/13",
                },
            },
        },
        ControlPlane = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneArgs
        {
            ControlPlaneNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs
            {
                NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs
                {
                    Labels = null,
                    OperatingSystem = "LINUX",
                    NodeConfigs = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs
                        {
                            Labels = null,
                            NodeIp = "10.200.0.9",
                        },
                    },
                },
            },
        },
        LoadBalancer = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerArgs
        {
            PortConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerPortConfigArgs
            {
                ControlPlaneLoadBalancerPort = 443,
            },
            VipConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerVipConfigArgs
            {
                ControlPlaneVip = "10.200.0.13",
                IngressVip = "10.200.0.14",
            },
            MetalLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigArgs
            {
                AddressPools = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs
                    {
                        Pool = "pool1",
                        Addresses = new[]
                        {
                            "10.200.0.14/32",
                            "10.200.0.15/32",
                            "10.200.0.16/32",
                            "10.200.0.17/32",
                            "10.200.0.18/32",
                            "fd00:1::f/128",
                            "fd00:1::10/128",
                            "fd00:1::11/128",
                            "fd00:1::12/128",
                        },
                        AvoidBuggyIps = true,
                        ManualAssign = true,
                    },
                },
            },
        },
        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",
                    },
                },
            },
        },
    });

});
Copy
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 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 cluster_basic = new BareMetalCluster("cluster-basic", BareMetalClusterArgs.builder()
            .name("my-cluster")
            .location("us-west1")
            .adminClusterMembership("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test")
            .bareMetalVersion("1.12.3")
            .networkConfig(BareMetalClusterNetworkConfigArgs.builder()
                .islandModeCidr(BareMetalClusterNetworkConfigIslandModeCidrArgs.builder()
                    .serviceAddressCidrBlocks("172.26.0.0/16")
                    .podAddressCidrBlocks("10.240.0.0/13")
                    .build())
                .build())
            .controlPlane(BareMetalClusterControlPlaneArgs.builder()
                .controlPlaneNodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
                    .nodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
                        .labels(Map.ofEntries(
                        ))
                        .operatingSystem("LINUX")
                        .nodeConfigs(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                            .labels(Map.ofEntries(
                            ))
                            .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")
                        .avoidBuggyIps(true)
                        .manualAssign(true)
                        .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());

    }
}
Copy
resources:
  cluster-basic:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      name: my-cluster
      location: us-west1
      adminClusterMembership: projects/870316890899/locations/global/memberships/gkeonprem-terraform-test
      bareMetalVersion: 1.12.3
      networkConfig:
        islandModeCidr:
          serviceAddressCidrBlocks:
            - 172.26.0.0/16
          podAddressCidrBlocks:
            - 10.240.0.0/13
      controlPlane:
        controlPlaneNodePoolConfig:
          nodePoolConfig:
            labels: {}
            operatingSystem: LINUX
            nodeConfigs:
              - labels: {}
                nodeIp: 10.200.0.9
      loadBalancer:
        portConfig:
          controlPlaneLoadBalancerPort: 443
        vipConfig:
          controlPlaneVip: 10.200.0.13
          ingressVip: 10.200.0.14
        metalLbConfig:
          addressPools:
            - pool: pool1
              addresses:
                - 10.200.0.14/32
                - 10.200.0.15/32
                - 10.200.0.16/32
                - 10.200.0.17/32
                - 10.200.0.18/32
                - fd00:1::f/128
                - fd00:1::10/128
                - fd00:1::11/128
                - fd00:1::12/128
              avoidBuggyIps: true
              manualAssign: true
      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
Copy

Gkeonprem Bare Metal Cluster Manuallb

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const cluster_manuallb = new gcp.gkeonprem.BareMetalCluster("cluster-manuallb", {
    name: "cluster-manuallb",
    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",
        },
        manualLbConfig: {
            enabled: true,
        },
    },
    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",
            }],
        },
    },
    binaryAuthorization: {
        evaluationMode: "DISABLED",
    },
    upgradePolicy: {
        policy: "SERIAL",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

cluster_manuallb = gcp.gkeonprem.BareMetalCluster("cluster-manuallb",
    name="cluster-manuallb",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config={
        "island_mode_cidr": {
            "service_address_cidr_blocks": ["172.26.0.0/16"],
            "pod_address_cidr_blocks": ["10.240.0.0/13"],
        },
    },
    control_plane={
        "control_plane_node_pool_config": {
            "node_pool_config": {
                "labels": {},
                "operating_system": "LINUX",
                "node_configs": [{
                    "labels": {},
                    "node_ip": "10.200.0.9",
                }],
            },
        },
    },
    load_balancer={
        "port_config": {
            "control_plane_load_balancer_port": 443,
        },
        "vip_config": {
            "control_plane_vip": "10.200.0.13",
            "ingress_vip": "10.200.0.14",
        },
        "manual_lb_config": {
            "enabled": True,
        },
    },
    storage={
        "lvp_share_config": {
            "lvp_config": {
                "path": "/mnt/localpv-share",
                "storage_class": "local-shared",
            },
            "shared_path_pv_count": 5,
        },
        "lvp_node_mounts_config": {
            "path": "/mnt/localpv-disk",
            "storage_class": "local-disks",
        },
    },
    security_config={
        "authorization": {
            "admin_users": [{
                "username": "admin@hashicorptest.com",
            }],
        },
    },
    binary_authorization={
        "evaluation_mode": "DISABLED",
    },
    upgrade_policy={
        "policy": "SERIAL",
    })
Copy
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkeonprem.NewBareMetalCluster(ctx, "cluster-manuallb", &gkeonprem.BareMetalClusterArgs{
			Name:                   pulumi.String("cluster-manuallb"),
			Location:               pulumi.String("us-west1"),
			AdminClusterMembership: pulumi.String("projects/870316890899/locations/global/memberships/gkeonprem-terraform-test"),
			BareMetalVersion:       pulumi.String("1.12.3"),
			NetworkConfig: &gkeonprem.BareMetalClusterNetworkConfigArgs{
				IslandModeCidr: &gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs{
					ServiceAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("172.26.0.0/16"),
					},
					PodAddressCidrBlocks: pulumi.StringArray{
						pulumi.String("10.240.0.0/13"),
					},
				},
			},
			ControlPlane: &gkeonprem.BareMetalClusterControlPlaneArgs{
				ControlPlaneNodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs{
					NodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs{
						Labels:          pulumi.StringMap{},
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: pulumi.StringMap{},
								NodeIp: pulumi.String("10.200.0.9"),
							},
						},
					},
				},
			},
			LoadBalancer: &gkeonprem.BareMetalClusterLoadBalancerArgs{
				PortConfig: &gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs{
					ControlPlaneLoadBalancerPort: pulumi.Int(443),
				},
				VipConfig: &gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs{
					ControlPlaneVip: pulumi.String("10.200.0.13"),
					IngressVip:      pulumi.String("10.200.0.14"),
				},
				ManualLbConfig: &gkeonprem.BareMetalClusterLoadBalancerManualLbConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
			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"),
						},
					},
				},
			},
			BinaryAuthorization: &gkeonprem.BareMetalClusterBinaryAuthorizationArgs{
				EvaluationMode: pulumi.String("DISABLED"),
			},
			UpgradePolicy: &gkeonprem.BareMetalClusterUpgradePolicyArgs{
				Policy: pulumi.String("SERIAL"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var cluster_manuallb = new Gcp.GkeOnPrem.BareMetalCluster("cluster-manuallb", new()
    {
        Name = "cluster-manuallb",
        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",
            },
            ManualLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerManualLbConfigArgs
            {
                Enabled = true,
            },
        },
        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",
                    },
                },
            },
        },
        BinaryAuthorization = new Gcp.GkeOnPrem.Inputs.BareMetalClusterBinaryAuthorizationArgs
        {
            EvaluationMode = "DISABLED",
        },
        UpgradePolicy = new Gcp.GkeOnPrem.Inputs.BareMetalClusterUpgradePolicyArgs
        {
            Policy = "SERIAL",
        },
    });

});
Copy
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.BareMetalClusterLoadBalancerManualLbConfigArgs;
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.inputs.BareMetalClusterBinaryAuthorizationArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterUpgradePolicyArgs;
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 cluster_manuallb = new BareMetalCluster("cluster-manuallb", BareMetalClusterArgs.builder()
            .name("cluster-manuallb")
            .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(Map.ofEntries(
                        ))
                        .operatingSystem("LINUX")
                        .nodeConfigs(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                            .labels(Map.ofEntries(
                            ))
                            .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())
                .manualLbConfig(BareMetalClusterLoadBalancerManualLbConfigArgs.builder()
                    .enabled(true)
                    .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())
            .binaryAuthorization(BareMetalClusterBinaryAuthorizationArgs.builder()
                .evaluationMode("DISABLED")
                .build())
            .upgradePolicy(BareMetalClusterUpgradePolicyArgs.builder()
                .policy("SERIAL")
                .build())
            .build());

    }
}
Copy
resources:
  cluster-manuallb:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      name: cluster-manuallb
      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
        manualLbConfig:
          enabled: true
      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
      binaryAuthorization:
        evaluationMode: DISABLED
      upgradePolicy:
        policy: SERIAL
Copy

Gkeonprem Bare Metal Cluster Bgplb

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const cluster_bgplb = new gcp.gkeonprem.BareMetalCluster("cluster-bgplb", {
    name: "cluster-bgplb",
    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"],
        },
        advancedNetworking: true,
        multipleNetworkInterfacesConfig: {
            enabled: true,
        },
        srIovConfig: {
            enabled: true,
        },
    },
    controlPlane: {
        controlPlaneNodePoolConfig: {
            nodePoolConfig: {
                labels: {},
                operatingSystem: "LINUX",
                nodeConfigs: [{
                    labels: {},
                    nodeIp: "10.200.0.9",
                }],
                taints: [{
                    key: "test-key",
                    value: "test-value",
                    effect: "NO_EXECUTE",
                }],
            },
        },
        apiServerArgs: [{
            argument: "test-argument",
            value: "test-value",
        }],
    },
    loadBalancer: {
        portConfig: {
            controlPlaneLoadBalancerPort: 443,
        },
        vipConfig: {
            controlPlaneVip: "10.200.0.13",
            ingressVip: "10.200.0.14",
        },
        bgpLbConfig: {
            asn: 123456,
            bgpPeerConfigs: [{
                asn: 123457,
                ipAddress: "10.0.0.1",
                controlPlaneNodes: ["test-node"],
            }],
            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",
                ],
            }],
            loadBalancerNodePoolConfig: {
                nodePoolConfig: {
                    labels: {},
                    operatingSystem: "LINUX",
                    nodeConfigs: [{
                        labels: {},
                        nodeIp: "10.200.0.9",
                    }],
                    taints: [{
                        key: "test-key",
                        value: "test-value",
                        effect: "NO_EXECUTE",
                    }],
                    kubeletConfig: {
                        registryPullQps: 10,
                        registryBurst: 12,
                        serializeImagePullsDisabled: true,
                    },
                },
            },
        },
    },
    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",
            }],
        },
    },
    proxy: {
        uri: "http://test-domain/test",
        noProxies: ["127.0.0.1"],
    },
    clusterOperations: {
        enableApplicationLogs: true,
    },
    maintenanceConfig: {
        maintenanceAddressCidrBlocks: ["192.168.0.1/20"],
    },
    nodeConfig: {
        maxPodsPerNode: 10,
        containerRuntime: "CONTAINERD",
    },
    nodeAccessConfig: {
        loginUser: "test@example.com",
    },
    osEnvironmentConfig: {
        packageRepoExcluded: true,
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

cluster_bgplb = gcp.gkeonprem.BareMetalCluster("cluster-bgplb",
    name="cluster-bgplb",
    location="us-west1",
    admin_cluster_membership="projects/870316890899/locations/global/memberships/gkeonprem-terraform-test",
    bare_metal_version="1.12.3",
    network_config={
        "island_mode_cidr": {
            "service_address_cidr_blocks": ["172.26.0.0/16"],
            "pod_address_cidr_blocks": ["10.240.0.0/13"],
        },
        "advanced_networking": True,
        "multiple_network_interfaces_config": {
            "enabled": True,
        },
        "sr_iov_config": {
            "enabled": True,
        },
    },
    control_plane={
        "control_plane_node_pool_config": {
            "node_pool_config": {
                "labels": {},
                "operating_system": "LINUX",
                "node_configs": [{
                    "labels": {},
                    "node_ip": "10.200.0.9",
                }],
                "taints": [{
                    "key": "test-key",
                    "value": "test-value",
                    "effect": "NO_EXECUTE",
                }],
            },
        },
        "api_server_args": [{
            "argument": "test-argument",
            "value": "test-value",
        }],
    },
    load_balancer={
        "port_config": {
            "control_plane_load_balancer_port": 443,
        },
        "vip_config": {
            "control_plane_vip": "10.200.0.13",
            "ingress_vip": "10.200.0.14",
        },
        "bgp_lb_config": {
            "asn": 123456,
            "bgp_peer_configs": [{
                "asn": 123457,
                "ip_address": "10.0.0.1",
                "control_plane_nodes": ["test-node"],
            }],
            "address_pools": [{
                "pool": "pool1",
                "addresses": [
                    "10.200.0.14/32",
                    "10.200.0.15/32",
                    "10.200.0.16/32",
                    "10.200.0.17/32",
                    "10.200.0.18/32",
                    "fd00:1::f/128",
                    "fd00:1::10/128",
                    "fd00:1::11/128",
                    "fd00:1::12/128",
                ],
            }],
            "load_balancer_node_pool_config": {
                "node_pool_config": {
                    "labels": {},
                    "operating_system": "LINUX",
                    "node_configs": [{
                        "labels": {},
                        "node_ip": "10.200.0.9",
                    }],
                    "taints": [{
                        "key": "test-key",
                        "value": "test-value",
                        "effect": "NO_EXECUTE",
                    }],
                    "kubelet_config": {
                        "registry_pull_qps": 10,
                        "registry_burst": 12,
                        "serialize_image_pulls_disabled": True,
                    },
                },
            },
        },
    },
    storage={
        "lvp_share_config": {
            "lvp_config": {
                "path": "/mnt/localpv-share",
                "storage_class": "local-shared",
            },
            "shared_path_pv_count": 5,
        },
        "lvp_node_mounts_config": {
            "path": "/mnt/localpv-disk",
            "storage_class": "local-disks",
        },
    },
    security_config={
        "authorization": {
            "admin_users": [{
                "username": "admin@hashicorptest.com",
            }],
        },
    },
    proxy={
        "uri": "http://test-domain/test",
        "no_proxies": ["127.0.0.1"],
    },
    cluster_operations={
        "enable_application_logs": True,
    },
    maintenance_config={
        "maintenance_address_cidr_blocks": ["192.168.0.1/20"],
    },
    node_config={
        "max_pods_per_node": 10,
        "container_runtime": "CONTAINERD",
    },
    node_access_config={
        "login_user": "test@example.com",
    },
    os_environment_config={
        "package_repo_excluded": True,
    })
Copy
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkeonprem.NewBareMetalCluster(ctx, "cluster-bgplb", &gkeonprem.BareMetalClusterArgs{
			Name:                   pulumi.String("cluster-bgplb"),
			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"),
					},
				},
				AdvancedNetworking: pulumi.Bool(true),
				MultipleNetworkInterfacesConfig: &gkeonprem.BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs{
					Enabled: pulumi.Bool(true),
				},
				SrIovConfig: &gkeonprem.BareMetalClusterNetworkConfigSrIovConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
			ControlPlane: &gkeonprem.BareMetalClusterControlPlaneArgs{
				ControlPlaneNodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs{
					NodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs{
						Labels:          pulumi.StringMap{},
						OperatingSystem: pulumi.String("LINUX"),
						NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
								Labels: pulumi.StringMap{},
								NodeIp: pulumi.String("10.200.0.9"),
							},
						},
						Taints: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArray{
							&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs{
								Key:    pulumi.String("test-key"),
								Value:  pulumi.String("test-value"),
								Effect: pulumi.String("NO_EXECUTE"),
							},
						},
					},
				},
				ApiServerArgs: gkeonprem.BareMetalClusterControlPlaneApiServerArgArray{
					&gkeonprem.BareMetalClusterControlPlaneApiServerArgArgs{
						Argument: pulumi.String("test-argument"),
						Value:    pulumi.String("test-value"),
					},
				},
			},
			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"),
				},
				BgpLbConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigArgs{
					Asn: pulumi.Int(123456),
					BgpPeerConfigs: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArray{
						&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs{
							Asn:       pulumi.Int(123457),
							IpAddress: pulumi.String("10.0.0.1"),
							ControlPlaneNodes: pulumi.StringArray{
								pulumi.String("test-node"),
							},
						},
					},
					AddressPools: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArray{
						&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs{
							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"),
							},
						},
					},
					LoadBalancerNodePoolConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs{
						NodePoolConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs{
							Labels:          pulumi.StringMap{},
							OperatingSystem: pulumi.String("LINUX"),
							NodeConfigs: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArray{
								&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs{
									Labels: pulumi.StringMap{},
									NodeIp: pulumi.String("10.200.0.9"),
								},
							},
							Taints: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArray{
								&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs{
									Key:    pulumi.String("test-key"),
									Value:  pulumi.String("test-value"),
									Effect: pulumi.String("NO_EXECUTE"),
								},
							},
							KubeletConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs{
								RegistryPullQps:             pulumi.Int(10),
								RegistryBurst:               pulumi.Int(12),
								SerializeImagePullsDisabled: pulumi.Bool(true),
							},
						},
					},
				},
			},
			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"),
						},
					},
				},
			},
			Proxy: &gkeonprem.BareMetalClusterProxyArgs{
				Uri: pulumi.String("http://test-domain/test"),
				NoProxies: pulumi.StringArray{
					pulumi.String("127.0.0.1"),
				},
			},
			ClusterOperations: &gkeonprem.BareMetalClusterClusterOperationsArgs{
				EnableApplicationLogs: pulumi.Bool(true),
			},
			MaintenanceConfig: &gkeonprem.BareMetalClusterMaintenanceConfigArgs{
				MaintenanceAddressCidrBlocks: pulumi.StringArray{
					pulumi.String("192.168.0.1/20"),
				},
			},
			NodeConfig: &gkeonprem.BareMetalClusterNodeConfigArgs{
				MaxPodsPerNode:   pulumi.Int(10),
				ContainerRuntime: pulumi.String("CONTAINERD"),
			},
			NodeAccessConfig: &gkeonprem.BareMetalClusterNodeAccessConfigArgs{
				LoginUser: pulumi.String("test@example.com"),
			},
			OsEnvironmentConfig: &gkeonprem.BareMetalClusterOsEnvironmentConfigArgs{
				PackageRepoExcluded: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var cluster_bgplb = new Gcp.GkeOnPrem.BareMetalCluster("cluster-bgplb", new()
    {
        Name = "cluster-bgplb",
        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",
                },
            },
            AdvancedNetworking = true,
            MultipleNetworkInterfacesConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs
            {
                Enabled = true,
            },
            SrIovConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigSrIovConfigArgs
            {
                Enabled = true,
            },
        },
        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",
                        },
                    },
                    Taints = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs
                        {
                            Key = "test-key",
                            Value = "test-value",
                            Effect = "NO_EXECUTE",
                        },
                    },
                },
            },
            ApiServerArgs = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneApiServerArgArgs
                {
                    Argument = "test-argument",
                    Value = "test-value",
                },
            },
        },
        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",
            },
            BgpLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigArgs
            {
                Asn = 123456,
                BgpPeerConfigs = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs
                    {
                        Asn = 123457,
                        IpAddress = "10.0.0.1",
                        ControlPlaneNodes = new[]
                        {
                            "test-node",
                        },
                    },
                },
                AddressPools = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs
                    {
                        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",
                        },
                    },
                },
                LoadBalancerNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs
                {
                    NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs
                    {
                        Labels = null,
                        OperatingSystem = "LINUX",
                        NodeConfigs = new[]
                        {
                            new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs
                            {
                                Labels = null,
                                NodeIp = "10.200.0.9",
                            },
                        },
                        Taints = new[]
                        {
                            new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs
                            {
                                Key = "test-key",
                                Value = "test-value",
                                Effect = "NO_EXECUTE",
                            },
                        },
                        KubeletConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs
                        {
                            RegistryPullQps = 10,
                            RegistryBurst = 12,
                            SerializeImagePullsDisabled = true,
                        },
                    },
                },
            },
        },
        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",
                    },
                },
            },
        },
        Proxy = new Gcp.GkeOnPrem.Inputs.BareMetalClusterProxyArgs
        {
            Uri = "http://test-domain/test",
            NoProxies = new[]
            {
                "127.0.0.1",
            },
        },
        ClusterOperations = new Gcp.GkeOnPrem.Inputs.BareMetalClusterClusterOperationsArgs
        {
            EnableApplicationLogs = true,
        },
        MaintenanceConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterMaintenanceConfigArgs
        {
            MaintenanceAddressCidrBlocks = new[]
            {
                "192.168.0.1/20",
            },
        },
        NodeConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNodeConfigArgs
        {
            MaxPodsPerNode = 10,
            ContainerRuntime = "CONTAINERD",
        },
        NodeAccessConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNodeAccessConfigArgs
        {
            LoginUser = "test@example.com",
        },
        OsEnvironmentConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterOsEnvironmentConfigArgs
        {
            PackageRepoExcluded = true,
        },
    });

});
Copy
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.BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNetworkConfigSrIovConfigArgs;
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.BareMetalClusterLoadBalancerBgpLbConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs;
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.inputs.BareMetalClusterProxyArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterClusterOperationsArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterMaintenanceConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNodeConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterNodeAccessConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalClusterOsEnvironmentConfigArgs;
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 cluster_bgplb = new BareMetalCluster("cluster-bgplb", BareMetalClusterArgs.builder()
            .name("cluster-bgplb")
            .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())
                .advancedNetworking(true)
                .multipleNetworkInterfacesConfig(BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs.builder()
                    .enabled(true)
                    .build())
                .srIovConfig(BareMetalClusterNetworkConfigSrIovConfigArgs.builder()
                    .enabled(true)
                    .build())
                .build())
            .controlPlane(BareMetalClusterControlPlaneArgs.builder()
                .controlPlaneNodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
                    .nodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
                        .labels(Map.ofEntries(
                        ))
                        .operatingSystem("LINUX")
                        .nodeConfigs(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                            .labels(Map.ofEntries(
                            ))
                            .nodeIp("10.200.0.9")
                            .build())
                        .taints(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs.builder()
                            .key("test-key")
                            .value("test-value")
                            .effect("NO_EXECUTE")
                            .build())
                        .build())
                    .build())
                .apiServerArgs(BareMetalClusterControlPlaneApiServerArgArgs.builder()
                    .argument("test-argument")
                    .value("test-value")
                    .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())
                .bgpLbConfig(BareMetalClusterLoadBalancerBgpLbConfigArgs.builder()
                    .asn(123456)
                    .bgpPeerConfigs(BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs.builder()
                        .asn(123457)
                        .ipAddress("10.0.0.1")
                        .controlPlaneNodes("test-node")
                        .build())
                    .addressPools(BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs.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())
                    .loadBalancerNodePoolConfig(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs.builder()
                        .nodePoolConfig(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs.builder()
                            .labels(Map.ofEntries(
                            ))
                            .operatingSystem("LINUX")
                            .nodeConfigs(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                                .labels(Map.ofEntries(
                                ))
                                .nodeIp("10.200.0.9")
                                .build())
                            .taints(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs.builder()
                                .key("test-key")
                                .value("test-value")
                                .effect("NO_EXECUTE")
                                .build())
                            .kubeletConfig(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs.builder()
                                .registryPullQps(10)
                                .registryBurst(12)
                                .serializeImagePullsDisabled(true)
                                .build())
                            .build())
                        .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())
            .proxy(BareMetalClusterProxyArgs.builder()
                .uri("http://test-domain/test")
                .noProxies("127.0.0.1")
                .build())
            .clusterOperations(BareMetalClusterClusterOperationsArgs.builder()
                .enableApplicationLogs(true)
                .build())
            .maintenanceConfig(BareMetalClusterMaintenanceConfigArgs.builder()
                .maintenanceAddressCidrBlocks("192.168.0.1/20")
                .build())
            .nodeConfig(BareMetalClusterNodeConfigArgs.builder()
                .maxPodsPerNode(10)
                .containerRuntime("CONTAINERD")
                .build())
            .nodeAccessConfig(BareMetalClusterNodeAccessConfigArgs.builder()
                .loginUser("test@example.com")
                .build())
            .osEnvironmentConfig(BareMetalClusterOsEnvironmentConfigArgs.builder()
                .packageRepoExcluded(true)
                .build())
            .build());

    }
}
Copy
resources:
  cluster-bgplb:
    type: gcp:gkeonprem:BareMetalCluster
    properties:
      name: cluster-bgplb
      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
        advancedNetworking: true
        multipleNetworkInterfacesConfig:
          enabled: true
        srIovConfig:
          enabled: true
      controlPlane:
        controlPlaneNodePoolConfig:
          nodePoolConfig:
            labels: {}
            operatingSystem: LINUX
            nodeConfigs:
              - labels: {}
                nodeIp: 10.200.0.9
            taints:
              - key: test-key
                value: test-value
                effect: NO_EXECUTE
        apiServerArgs:
          - argument: test-argument
            value: test-value
      loadBalancer:
        portConfig:
          controlPlaneLoadBalancerPort: 443
        vipConfig:
          controlPlaneVip: 10.200.0.13
          ingressVip: 10.200.0.14
        bgpLbConfig:
          asn: 123456
          bgpPeerConfigs:
            - asn: 123457
              ipAddress: 10.0.0.1
              controlPlaneNodes:
                - test-node
          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
          loadBalancerNodePoolConfig:
            nodePoolConfig:
              labels: {}
              operatingSystem: LINUX
              nodeConfigs:
                - labels: {}
                  nodeIp: 10.200.0.9
              taints:
                - key: test-key
                  value: test-value
                  effect: NO_EXECUTE
              kubeletConfig:
                registryPullQps: 10
                registryBurst: 12
                serializeImagePullsDisabled: true
      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
      proxy:
        uri: http://test-domain/test
        noProxies:
          - 127.0.0.1
      clusterOperations:
        enableApplicationLogs: true
      maintenanceConfig:
        maintenanceAddressCidrBlocks:
          - 192.168.0.1/20
      nodeConfig:
        maxPodsPerNode: 10
        containerRuntime: CONTAINERD
      nodeAccessConfig:
        loginUser: test@example.com
      osEnvironmentConfig:
        packageRepoExcluded: true
Copy

Create BareMetalCluster Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new BareMetalCluster(name: string, args: BareMetalClusterArgs, opts?: CustomResourceOptions);
@overload
def BareMetalCluster(resource_name: str,
                     args: BareMetalClusterArgs,
                     opts: Optional[ResourceOptions] = None)

@overload
def BareMetalCluster(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     load_balancer: Optional[BareMetalClusterLoadBalancerArgs] = None,
                     storage: Optional[BareMetalClusterStorageArgs] = None,
                     bare_metal_version: Optional[str] = None,
                     network_config: Optional[BareMetalClusterNetworkConfigArgs] = None,
                     admin_cluster_membership: Optional[str] = None,
                     control_plane: Optional[BareMetalClusterControlPlaneArgs] = None,
                     location: Optional[str] = None,
                     name: Optional[str] = None,
                     description: Optional[str] = None,
                     maintenance_config: Optional[BareMetalClusterMaintenanceConfigArgs] = None,
                     cluster_operations: Optional[BareMetalClusterClusterOperationsArgs] = None,
                     binary_authorization: Optional[BareMetalClusterBinaryAuthorizationArgs] = None,
                     node_access_config: Optional[BareMetalClusterNodeAccessConfigArgs] = None,
                     node_config: Optional[BareMetalClusterNodeConfigArgs] = None,
                     os_environment_config: Optional[BareMetalClusterOsEnvironmentConfigArgs] = None,
                     project: Optional[str] = None,
                     proxy: Optional[BareMetalClusterProxyArgs] = None,
                     security_config: Optional[BareMetalClusterSecurityConfigArgs] = None,
                     annotations: Optional[Mapping[str, str]] = None,
                     upgrade_policy: Optional[BareMetalClusterUpgradePolicyArgs] = None)
func NewBareMetalCluster(ctx *Context, name string, args BareMetalClusterArgs, opts ...ResourceOption) (*BareMetalCluster, error)
public BareMetalCluster(string name, BareMetalClusterArgs args, CustomResourceOptions? opts = null)
public BareMetalCluster(String name, BareMetalClusterArgs args)
public BareMetalCluster(String name, BareMetalClusterArgs args, CustomResourceOptions options)
type: gcp:gkeonprem:BareMetalCluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. BareMetalClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. BareMetalClusterArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. BareMetalClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. BareMetalClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. BareMetalClusterArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var bareMetalClusterResource = new Gcp.GkeOnPrem.BareMetalCluster("bareMetalClusterResource", new()
{
    LoadBalancer = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerArgs
    {
        PortConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerPortConfigArgs
        {
            ControlPlaneLoadBalancerPort = 0,
        },
        VipConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerVipConfigArgs
        {
            ControlPlaneVip = "string",
            IngressVip = "string",
        },
        BgpLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigArgs
        {
            AddressPools = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs
                {
                    Addresses = new[]
                    {
                        "string",
                    },
                    Pool = "string",
                    AvoidBuggyIps = false,
                    ManualAssign = "string",
                },
            },
            Asn = 0,
            BgpPeerConfigs = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs
                {
                    Asn = 0,
                    IpAddress = "string",
                    ControlPlaneNodes = new[]
                    {
                        "string",
                    },
                },
            },
            LoadBalancerNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs
            {
                NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs
                {
                    KubeletConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs
                    {
                        RegistryBurst = 0,
                        RegistryPullQps = 0,
                        SerializeImagePullsDisabled = false,
                    },
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    NodeConfigs = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs
                        {
                            Labels = 
                            {
                                { "string", "string" },
                            },
                            NodeIp = "string",
                        },
                    },
                    OperatingSystem = "string",
                    Taints = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
            },
        },
        ManualLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerManualLbConfigArgs
        {
            Enabled = false,
        },
        MetalLbConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigArgs
        {
            AddressPools = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs
                {
                    Addresses = new[]
                    {
                        "string",
                    },
                    Pool = "string",
                    AvoidBuggyIps = false,
                    ManualAssign = false,
                },
            },
            LoadBalancerNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigArgs
            {
                NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs
                {
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    NodeConfigs = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs
                        {
                            Labels = 
                            {
                                { "string", "string" },
                            },
                            NodeIp = "string",
                        },
                    },
                    OperatingSystem = "string",
                    Taints = new[]
                    {
                        new Gcp.GkeOnPrem.Inputs.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
            },
        },
    },
    Storage = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageArgs
    {
        LvpNodeMountsConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpNodeMountsConfigArgs
        {
            Path = "string",
            StorageClass = "string",
        },
        LvpShareConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpShareConfigArgs
        {
            LvpConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterStorageLvpShareConfigLvpConfigArgs
            {
                Path = "string",
                StorageClass = "string",
            },
            SharedPathPvCount = 0,
        },
    },
    BareMetalVersion = "string",
    NetworkConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigArgs
    {
        AdvancedNetworking = false,
        IslandModeCidr = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigIslandModeCidrArgs
        {
            PodAddressCidrBlocks = new[]
            {
                "string",
            },
            ServiceAddressCidrBlocks = new[]
            {
                "string",
            },
        },
        MultipleNetworkInterfacesConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs
        {
            Enabled = false,
        },
        SrIovConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNetworkConfigSrIovConfigArgs
        {
            Enabled = false,
        },
    },
    AdminClusterMembership = "string",
    ControlPlane = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneArgs
    {
        ControlPlaneNodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs
        {
            NodePoolConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs
            {
                Labels = 
                {
                    { "string", "string" },
                },
                NodeConfigs = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs
                    {
                        Labels = 
                        {
                            { "string", "string" },
                        },
                        NodeIp = "string",
                    },
                },
                OperatingSystem = "string",
                Taints = new[]
                {
                    new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs
                    {
                        Effect = "string",
                        Key = "string",
                        Value = "string",
                    },
                },
            },
        },
        ApiServerArgs = new[]
        {
            new Gcp.GkeOnPrem.Inputs.BareMetalClusterControlPlaneApiServerArgArgs
            {
                Argument = "string",
                Value = "string",
            },
        },
    },
    Location = "string",
    Name = "string",
    Description = "string",
    MaintenanceConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterMaintenanceConfigArgs
    {
        MaintenanceAddressCidrBlocks = new[]
        {
            "string",
        },
    },
    ClusterOperations = new Gcp.GkeOnPrem.Inputs.BareMetalClusterClusterOperationsArgs
    {
        EnableApplicationLogs = false,
    },
    BinaryAuthorization = new Gcp.GkeOnPrem.Inputs.BareMetalClusterBinaryAuthorizationArgs
    {
        EvaluationMode = "string",
    },
    NodeAccessConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNodeAccessConfigArgs
    {
        LoginUser = "string",
    },
    NodeConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterNodeConfigArgs
    {
        ContainerRuntime = "string",
        MaxPodsPerNode = 0,
    },
    OsEnvironmentConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterOsEnvironmentConfigArgs
    {
        PackageRepoExcluded = false,
    },
    Project = "string",
    Proxy = new Gcp.GkeOnPrem.Inputs.BareMetalClusterProxyArgs
    {
        Uri = "string",
        NoProxies = new[]
        {
            "string",
        },
    },
    SecurityConfig = new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigArgs
    {
        Authorization = new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigAuthorizationArgs
        {
            AdminUsers = new[]
            {
                new Gcp.GkeOnPrem.Inputs.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs
                {
                    Username = "string",
                },
            },
        },
    },
    Annotations = 
    {
        { "string", "string" },
    },
    UpgradePolicy = new Gcp.GkeOnPrem.Inputs.BareMetalClusterUpgradePolicyArgs
    {
        Policy = "string",
    },
});
Copy
example, err := gkeonprem.NewBareMetalCluster(ctx, "bareMetalClusterResource", &gkeonprem.BareMetalClusterArgs{
	LoadBalancer: &gkeonprem.BareMetalClusterLoadBalancerArgs{
		PortConfig: &gkeonprem.BareMetalClusterLoadBalancerPortConfigArgs{
			ControlPlaneLoadBalancerPort: pulumi.Int(0),
		},
		VipConfig: &gkeonprem.BareMetalClusterLoadBalancerVipConfigArgs{
			ControlPlaneVip: pulumi.String("string"),
			IngressVip:      pulumi.String("string"),
		},
		BgpLbConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigArgs{
			AddressPools: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArray{
				&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs{
					Addresses: pulumi.StringArray{
						pulumi.String("string"),
					},
					Pool:          pulumi.String("string"),
					AvoidBuggyIps: pulumi.Bool(false),
					ManualAssign:  pulumi.String("string"),
				},
			},
			Asn: pulumi.Int(0),
			BgpPeerConfigs: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArray{
				&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs{
					Asn:       pulumi.Int(0),
					IpAddress: pulumi.String("string"),
					ControlPlaneNodes: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
			},
			LoadBalancerNodePoolConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs{
				NodePoolConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs{
					KubeletConfig: &gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs{
						RegistryBurst:               pulumi.Int(0),
						RegistryPullQps:             pulumi.Int(0),
						SerializeImagePullsDisabled: pulumi.Bool(false),
					},
					Labels: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					NodeConfigs: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArray{
						&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs{
							Labels: pulumi.StringMap{
								"string": pulumi.String("string"),
							},
							NodeIp: pulumi.String("string"),
						},
					},
					OperatingSystem: pulumi.String("string"),
					Taints: gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArray{
						&gkeonprem.BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs{
							Effect: pulumi.String("string"),
							Key:    pulumi.String("string"),
							Value:  pulumi.String("string"),
						},
					},
				},
			},
		},
		ManualLbConfig: &gkeonprem.BareMetalClusterLoadBalancerManualLbConfigArgs{
			Enabled: pulumi.Bool(false),
		},
		MetalLbConfig: &gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigArgs{
			AddressPools: gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArray{
				&gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs{
					Addresses: pulumi.StringArray{
						pulumi.String("string"),
					},
					Pool:          pulumi.String("string"),
					AvoidBuggyIps: pulumi.Bool(false),
					ManualAssign:  pulumi.Bool(false),
				},
			},
			LoadBalancerNodePoolConfig: &gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigArgs{
				NodePoolConfig: &gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs{
					Labels: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					NodeConfigs: gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArray{
						&gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs{
							Labels: pulumi.StringMap{
								"string": pulumi.String("string"),
							},
							NodeIp: pulumi.String("string"),
						},
					},
					OperatingSystem: pulumi.String("string"),
					Taints: gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArray{
						&gkeonprem.BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs{
							Effect: pulumi.String("string"),
							Key:    pulumi.String("string"),
							Value:  pulumi.String("string"),
						},
					},
				},
			},
		},
	},
	Storage: &gkeonprem.BareMetalClusterStorageArgs{
		LvpNodeMountsConfig: &gkeonprem.BareMetalClusterStorageLvpNodeMountsConfigArgs{
			Path:         pulumi.String("string"),
			StorageClass: pulumi.String("string"),
		},
		LvpShareConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigArgs{
			LvpConfig: &gkeonprem.BareMetalClusterStorageLvpShareConfigLvpConfigArgs{
				Path:         pulumi.String("string"),
				StorageClass: pulumi.String("string"),
			},
			SharedPathPvCount: pulumi.Int(0),
		},
	},
	BareMetalVersion: pulumi.String("string"),
	NetworkConfig: &gkeonprem.BareMetalClusterNetworkConfigArgs{
		AdvancedNetworking: pulumi.Bool(false),
		IslandModeCidr: &gkeonprem.BareMetalClusterNetworkConfigIslandModeCidrArgs{
			PodAddressCidrBlocks: pulumi.StringArray{
				pulumi.String("string"),
			},
			ServiceAddressCidrBlocks: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		MultipleNetworkInterfacesConfig: &gkeonprem.BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs{
			Enabled: pulumi.Bool(false),
		},
		SrIovConfig: &gkeonprem.BareMetalClusterNetworkConfigSrIovConfigArgs{
			Enabled: pulumi.Bool(false),
		},
	},
	AdminClusterMembership: pulumi.String("string"),
	ControlPlane: &gkeonprem.BareMetalClusterControlPlaneArgs{
		ControlPlaneNodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs{
			NodePoolConfig: &gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs{
				Labels: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				NodeConfigs: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArray{
					&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs{
						Labels: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
						NodeIp: pulumi.String("string"),
					},
				},
				OperatingSystem: pulumi.String("string"),
				Taints: gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArray{
					&gkeonprem.BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs{
						Effect: pulumi.String("string"),
						Key:    pulumi.String("string"),
						Value:  pulumi.String("string"),
					},
				},
			},
		},
		ApiServerArgs: gkeonprem.BareMetalClusterControlPlaneApiServerArgArray{
			&gkeonprem.BareMetalClusterControlPlaneApiServerArgArgs{
				Argument: pulumi.String("string"),
				Value:    pulumi.String("string"),
			},
		},
	},
	Location:    pulumi.String("string"),
	Name:        pulumi.String("string"),
	Description: pulumi.String("string"),
	MaintenanceConfig: &gkeonprem.BareMetalClusterMaintenanceConfigArgs{
		MaintenanceAddressCidrBlocks: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	ClusterOperations: &gkeonprem.BareMetalClusterClusterOperationsArgs{
		EnableApplicationLogs: pulumi.Bool(false),
	},
	BinaryAuthorization: &gkeonprem.BareMetalClusterBinaryAuthorizationArgs{
		EvaluationMode: pulumi.String("string"),
	},
	NodeAccessConfig: &gkeonprem.BareMetalClusterNodeAccessConfigArgs{
		LoginUser: pulumi.String("string"),
	},
	NodeConfig: &gkeonprem.BareMetalClusterNodeConfigArgs{
		ContainerRuntime: pulumi.String("string"),
		MaxPodsPerNode:   pulumi.Int(0),
	},
	OsEnvironmentConfig: &gkeonprem.BareMetalClusterOsEnvironmentConfigArgs{
		PackageRepoExcluded: pulumi.Bool(false),
	},
	Project: pulumi.String("string"),
	Proxy: &gkeonprem.BareMetalClusterProxyArgs{
		Uri: pulumi.String("string"),
		NoProxies: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	SecurityConfig: &gkeonprem.BareMetalClusterSecurityConfigArgs{
		Authorization: &gkeonprem.BareMetalClusterSecurityConfigAuthorizationArgs{
			AdminUsers: gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArray{
				&gkeonprem.BareMetalClusterSecurityConfigAuthorizationAdminUserArgs{
					Username: pulumi.String("string"),
				},
			},
		},
	},
	Annotations: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	UpgradePolicy: &gkeonprem.BareMetalClusterUpgradePolicyArgs{
		Policy: pulumi.String("string"),
	},
})
Copy
var bareMetalClusterResource = new BareMetalCluster("bareMetalClusterResource", BareMetalClusterArgs.builder()
    .loadBalancer(BareMetalClusterLoadBalancerArgs.builder()
        .portConfig(BareMetalClusterLoadBalancerPortConfigArgs.builder()
            .controlPlaneLoadBalancerPort(0)
            .build())
        .vipConfig(BareMetalClusterLoadBalancerVipConfigArgs.builder()
            .controlPlaneVip("string")
            .ingressVip("string")
            .build())
        .bgpLbConfig(BareMetalClusterLoadBalancerBgpLbConfigArgs.builder()
            .addressPools(BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs.builder()
                .addresses("string")
                .pool("string")
                .avoidBuggyIps(false)
                .manualAssign("string")
                .build())
            .asn(0)
            .bgpPeerConfigs(BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs.builder()
                .asn(0)
                .ipAddress("string")
                .controlPlaneNodes("string")
                .build())
            .loadBalancerNodePoolConfig(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs.builder()
                .nodePoolConfig(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs.builder()
                    .kubeletConfig(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs.builder()
                        .registryBurst(0)
                        .registryPullQps(0)
                        .serializeImagePullsDisabled(false)
                        .build())
                    .labels(Map.of("string", "string"))
                    .nodeConfigs(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                        .labels(Map.of("string", "string"))
                        .nodeIp("string")
                        .build())
                    .operatingSystem("string")
                    .taints(BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs.builder()
                        .effect("string")
                        .key("string")
                        .value("string")
                        .build())
                    .build())
                .build())
            .build())
        .manualLbConfig(BareMetalClusterLoadBalancerManualLbConfigArgs.builder()
            .enabled(false)
            .build())
        .metalLbConfig(BareMetalClusterLoadBalancerMetalLbConfigArgs.builder()
            .addressPools(BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs.builder()
                .addresses("string")
                .pool("string")
                .avoidBuggyIps(false)
                .manualAssign(false)
                .build())
            .loadBalancerNodePoolConfig(BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigArgs.builder()
                .nodePoolConfig(BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs.builder()
                    .labels(Map.of("string", "string"))
                    .nodeConfigs(BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                        .labels(Map.of("string", "string"))
                        .nodeIp("string")
                        .build())
                    .operatingSystem("string")
                    .taints(BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs.builder()
                        .effect("string")
                        .key("string")
                        .value("string")
                        .build())
                    .build())
                .build())
            .build())
        .build())
    .storage(BareMetalClusterStorageArgs.builder()
        .lvpNodeMountsConfig(BareMetalClusterStorageLvpNodeMountsConfigArgs.builder()
            .path("string")
            .storageClass("string")
            .build())
        .lvpShareConfig(BareMetalClusterStorageLvpShareConfigArgs.builder()
            .lvpConfig(BareMetalClusterStorageLvpShareConfigLvpConfigArgs.builder()
                .path("string")
                .storageClass("string")
                .build())
            .sharedPathPvCount(0)
            .build())
        .build())
    .bareMetalVersion("string")
    .networkConfig(BareMetalClusterNetworkConfigArgs.builder()
        .advancedNetworking(false)
        .islandModeCidr(BareMetalClusterNetworkConfigIslandModeCidrArgs.builder()
            .podAddressCidrBlocks("string")
            .serviceAddressCidrBlocks("string")
            .build())
        .multipleNetworkInterfacesConfig(BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs.builder()
            .enabled(false)
            .build())
        .srIovConfig(BareMetalClusterNetworkConfigSrIovConfigArgs.builder()
            .enabled(false)
            .build())
        .build())
    .adminClusterMembership("string")
    .controlPlane(BareMetalClusterControlPlaneArgs.builder()
        .controlPlaneNodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
            .nodePoolConfig(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
                .labels(Map.of("string", "string"))
                .nodeConfigs(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
                    .labels(Map.of("string", "string"))
                    .nodeIp("string")
                    .build())
                .operatingSystem("string")
                .taints(BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs.builder()
                    .effect("string")
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .build())
        .apiServerArgs(BareMetalClusterControlPlaneApiServerArgArgs.builder()
            .argument("string")
            .value("string")
            .build())
        .build())
    .location("string")
    .name("string")
    .description("string")
    .maintenanceConfig(BareMetalClusterMaintenanceConfigArgs.builder()
        .maintenanceAddressCidrBlocks("string")
        .build())
    .clusterOperations(BareMetalClusterClusterOperationsArgs.builder()
        .enableApplicationLogs(false)
        .build())
    .binaryAuthorization(BareMetalClusterBinaryAuthorizationArgs.builder()
        .evaluationMode("string")
        .build())
    .nodeAccessConfig(BareMetalClusterNodeAccessConfigArgs.builder()
        .loginUser("string")
        .build())
    .nodeConfig(BareMetalClusterNodeConfigArgs.builder()
        .containerRuntime("string")
        .maxPodsPerNode(0)
        .build())
    .osEnvironmentConfig(BareMetalClusterOsEnvironmentConfigArgs.builder()
        .packageRepoExcluded(false)
        .build())
    .project("string")
    .proxy(BareMetalClusterProxyArgs.builder()
        .uri("string")
        .noProxies("string")
        .build())
    .securityConfig(BareMetalClusterSecurityConfigArgs.builder()
        .authorization(BareMetalClusterSecurityConfigAuthorizationArgs.builder()
            .adminUsers(BareMetalClusterSecurityConfigAuthorizationAdminUserArgs.builder()
                .username("string")
                .build())
            .build())
        .build())
    .annotations(Map.of("string", "string"))
    .upgradePolicy(BareMetalClusterUpgradePolicyArgs.builder()
        .policy("string")
        .build())
    .build());
Copy
bare_metal_cluster_resource = gcp.gkeonprem.BareMetalCluster("bareMetalClusterResource",
    load_balancer={
        "port_config": {
            "control_plane_load_balancer_port": 0,
        },
        "vip_config": {
            "control_plane_vip": "string",
            "ingress_vip": "string",
        },
        "bgp_lb_config": {
            "address_pools": [{
                "addresses": ["string"],
                "pool": "string",
                "avoid_buggy_ips": False,
                "manual_assign": "string",
            }],
            "asn": 0,
            "bgp_peer_configs": [{
                "asn": 0,
                "ip_address": "string",
                "control_plane_nodes": ["string"],
            }],
            "load_balancer_node_pool_config": {
                "node_pool_config": {
                    "kubelet_config": {
                        "registry_burst": 0,
                        "registry_pull_qps": 0,
                        "serialize_image_pulls_disabled": False,
                    },
                    "labels": {
                        "string": "string",
                    },
                    "node_configs": [{
                        "labels": {
                            "string": "string",
                        },
                        "node_ip": "string",
                    }],
                    "operating_system": "string",
                    "taints": [{
                        "effect": "string",
                        "key": "string",
                        "value": "string",
                    }],
                },
            },
        },
        "manual_lb_config": {
            "enabled": False,
        },
        "metal_lb_config": {
            "address_pools": [{
                "addresses": ["string"],
                "pool": "string",
                "avoid_buggy_ips": False,
                "manual_assign": False,
            }],
            "load_balancer_node_pool_config": {
                "node_pool_config": {
                    "labels": {
                        "string": "string",
                    },
                    "node_configs": [{
                        "labels": {
                            "string": "string",
                        },
                        "node_ip": "string",
                    }],
                    "operating_system": "string",
                    "taints": [{
                        "effect": "string",
                        "key": "string",
                        "value": "string",
                    }],
                },
            },
        },
    },
    storage={
        "lvp_node_mounts_config": {
            "path": "string",
            "storage_class": "string",
        },
        "lvp_share_config": {
            "lvp_config": {
                "path": "string",
                "storage_class": "string",
            },
            "shared_path_pv_count": 0,
        },
    },
    bare_metal_version="string",
    network_config={
        "advanced_networking": False,
        "island_mode_cidr": {
            "pod_address_cidr_blocks": ["string"],
            "service_address_cidr_blocks": ["string"],
        },
        "multiple_network_interfaces_config": {
            "enabled": False,
        },
        "sr_iov_config": {
            "enabled": False,
        },
    },
    admin_cluster_membership="string",
    control_plane={
        "control_plane_node_pool_config": {
            "node_pool_config": {
                "labels": {
                    "string": "string",
                },
                "node_configs": [{
                    "labels": {
                        "string": "string",
                    },
                    "node_ip": "string",
                }],
                "operating_system": "string",
                "taints": [{
                    "effect": "string",
                    "key": "string",
                    "value": "string",
                }],
            },
        },
        "api_server_args": [{
            "argument": "string",
            "value": "string",
        }],
    },
    location="string",
    name="string",
    description="string",
    maintenance_config={
        "maintenance_address_cidr_blocks": ["string"],
    },
    cluster_operations={
        "enable_application_logs": False,
    },
    binary_authorization={
        "evaluation_mode": "string",
    },
    node_access_config={
        "login_user": "string",
    },
    node_config={
        "container_runtime": "string",
        "max_pods_per_node": 0,
    },
    os_environment_config={
        "package_repo_excluded": False,
    },
    project="string",
    proxy={
        "uri": "string",
        "no_proxies": ["string"],
    },
    security_config={
        "authorization": {
            "admin_users": [{
                "username": "string",
            }],
        },
    },
    annotations={
        "string": "string",
    },
    upgrade_policy={
        "policy": "string",
    })
Copy
const bareMetalClusterResource = new gcp.gkeonprem.BareMetalCluster("bareMetalClusterResource", {
    loadBalancer: {
        portConfig: {
            controlPlaneLoadBalancerPort: 0,
        },
        vipConfig: {
            controlPlaneVip: "string",
            ingressVip: "string",
        },
        bgpLbConfig: {
            addressPools: [{
                addresses: ["string"],
                pool: "string",
                avoidBuggyIps: false,
                manualAssign: "string",
            }],
            asn: 0,
            bgpPeerConfigs: [{
                asn: 0,
                ipAddress: "string",
                controlPlaneNodes: ["string"],
            }],
            loadBalancerNodePoolConfig: {
                nodePoolConfig: {
                    kubeletConfig: {
                        registryBurst: 0,
                        registryPullQps: 0,
                        serializeImagePullsDisabled: false,
                    },
                    labels: {
                        string: "string",
                    },
                    nodeConfigs: [{
                        labels: {
                            string: "string",
                        },
                        nodeIp: "string",
                    }],
                    operatingSystem: "string",
                    taints: [{
                        effect: "string",
                        key: "string",
                        value: "string",
                    }],
                },
            },
        },
        manualLbConfig: {
            enabled: false,
        },
        metalLbConfig: {
            addressPools: [{
                addresses: ["string"],
                pool: "string",
                avoidBuggyIps: false,
                manualAssign: false,
            }],
            loadBalancerNodePoolConfig: {
                nodePoolConfig: {
                    labels: {
                        string: "string",
                    },
                    nodeConfigs: [{
                        labels: {
                            string: "string",
                        },
                        nodeIp: "string",
                    }],
                    operatingSystem: "string",
                    taints: [{
                        effect: "string",
                        key: "string",
                        value: "string",
                    }],
                },
            },
        },
    },
    storage: {
        lvpNodeMountsConfig: {
            path: "string",
            storageClass: "string",
        },
        lvpShareConfig: {
            lvpConfig: {
                path: "string",
                storageClass: "string",
            },
            sharedPathPvCount: 0,
        },
    },
    bareMetalVersion: "string",
    networkConfig: {
        advancedNetworking: false,
        islandModeCidr: {
            podAddressCidrBlocks: ["string"],
            serviceAddressCidrBlocks: ["string"],
        },
        multipleNetworkInterfacesConfig: {
            enabled: false,
        },
        srIovConfig: {
            enabled: false,
        },
    },
    adminClusterMembership: "string",
    controlPlane: {
        controlPlaneNodePoolConfig: {
            nodePoolConfig: {
                labels: {
                    string: "string",
                },
                nodeConfigs: [{
                    labels: {
                        string: "string",
                    },
                    nodeIp: "string",
                }],
                operatingSystem: "string",
                taints: [{
                    effect: "string",
                    key: "string",
                    value: "string",
                }],
            },
        },
        apiServerArgs: [{
            argument: "string",
            value: "string",
        }],
    },
    location: "string",
    name: "string",
    description: "string",
    maintenanceConfig: {
        maintenanceAddressCidrBlocks: ["string"],
    },
    clusterOperations: {
        enableApplicationLogs: false,
    },
    binaryAuthorization: {
        evaluationMode: "string",
    },
    nodeAccessConfig: {
        loginUser: "string",
    },
    nodeConfig: {
        containerRuntime: "string",
        maxPodsPerNode: 0,
    },
    osEnvironmentConfig: {
        packageRepoExcluded: false,
    },
    project: "string",
    proxy: {
        uri: "string",
        noProxies: ["string"],
    },
    securityConfig: {
        authorization: {
            adminUsers: [{
                username: "string",
            }],
        },
    },
    annotations: {
        string: "string",
    },
    upgradePolicy: {
        policy: "string",
    },
});
Copy
type: gcp:gkeonprem:BareMetalCluster
properties:
    adminClusterMembership: string
    annotations:
        string: string
    bareMetalVersion: string
    binaryAuthorization:
        evaluationMode: string
    clusterOperations:
        enableApplicationLogs: false
    controlPlane:
        apiServerArgs:
            - argument: string
              value: string
        controlPlaneNodePoolConfig:
            nodePoolConfig:
                labels:
                    string: string
                nodeConfigs:
                    - labels:
                        string: string
                      nodeIp: string
                operatingSystem: string
                taints:
                    - effect: string
                      key: string
                      value: string
    description: string
    loadBalancer:
        bgpLbConfig:
            addressPools:
                - addresses:
                    - string
                  avoidBuggyIps: false
                  manualAssign: string
                  pool: string
            asn: 0
            bgpPeerConfigs:
                - asn: 0
                  controlPlaneNodes:
                    - string
                  ipAddress: string
            loadBalancerNodePoolConfig:
                nodePoolConfig:
                    kubeletConfig:
                        registryBurst: 0
                        registryPullQps: 0
                        serializeImagePullsDisabled: false
                    labels:
                        string: string
                    nodeConfigs:
                        - labels:
                            string: string
                          nodeIp: string
                    operatingSystem: string
                    taints:
                        - effect: string
                          key: string
                          value: string
        manualLbConfig:
            enabled: false
        metalLbConfig:
            addressPools:
                - addresses:
                    - string
                  avoidBuggyIps: false
                  manualAssign: false
                  pool: string
            loadBalancerNodePoolConfig:
                nodePoolConfig:
                    labels:
                        string: string
                    nodeConfigs:
                        - labels:
                            string: string
                          nodeIp: string
                    operatingSystem: string
                    taints:
                        - effect: string
                          key: string
                          value: string
        portConfig:
            controlPlaneLoadBalancerPort: 0
        vipConfig:
            controlPlaneVip: string
            ingressVip: string
    location: string
    maintenanceConfig:
        maintenanceAddressCidrBlocks:
            - string
    name: string
    networkConfig:
        advancedNetworking: false
        islandModeCidr:
            podAddressCidrBlocks:
                - string
            serviceAddressCidrBlocks:
                - string
        multipleNetworkInterfacesConfig:
            enabled: false
        srIovConfig:
            enabled: false
    nodeAccessConfig:
        loginUser: string
    nodeConfig:
        containerRuntime: string
        maxPodsPerNode: 0
    osEnvironmentConfig:
        packageRepoExcluded: false
    project: string
    proxy:
        noProxies:
            - string
        uri: string
    securityConfig:
        authorization:
            adminUsers:
                - username: string
    storage:
        lvpNodeMountsConfig:
            path: string
            storageClass: string
        lvpShareConfig:
            lvpConfig:
                path: string
                storageClass: string
            sharedPathPvCount: 0
    upgradePolicy:
        policy: string
Copy

BareMetalCluster Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The BareMetalCluster resource accepts the following input properties:

AdminClusterMembership
This property is required.
Changes to this property will trigger replacement.
string
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
BareMetalVersion This property is required. string
A human readable description of this Bare Metal User Cluster.
ControlPlane This property is required. BareMetalClusterControlPlane
Specifies the control plane configuration. Structure is documented below.
LoadBalancer This property is required. BareMetalClusterLoadBalancer
Specifies the load balancer configuration. Structure is documented below.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the resource.
NetworkConfig This property is required. BareMetalClusterNetworkConfig
Network configuration. Structure is documented below.
Storage This property is required. BareMetalClusterStorage
Specifies the cluster storage configuration. Structure is documented below.
Annotations Dictionary<string, string>
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
BinaryAuthorization BareMetalClusterBinaryAuthorization
Binary Authorization related configurations.
ClusterOperations BareMetalClusterClusterOperations
Specifies the User Cluster's observability infrastructure.
Description string
(Output) The description of the validation check.
MaintenanceConfig BareMetalClusterMaintenanceConfig
Specifies the workload node configurations.
Name Changes to this property will trigger replacement. string
The bare metal cluster name.
NodeAccessConfig BareMetalClusterNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
NodeConfig BareMetalClusterNodeConfig
Specifies the workload node configurations.
OsEnvironmentConfig BareMetalClusterOsEnvironmentConfig
OS environment related configurations.
Project Changes to this property will trigger replacement. string
Proxy BareMetalClusterProxy
Specifies the cluster proxy configuration.
SecurityConfig BareMetalClusterSecurityConfig
Specifies the security related settings for the Bare Metal User Cluster.
UpgradePolicy BareMetalClusterUpgradePolicy
The cluster upgrade policy.
AdminClusterMembership
This property is required.
Changes to this property will trigger replacement.
string
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
BareMetalVersion This property is required. string
A human readable description of this Bare Metal User Cluster.
ControlPlane This property is required. BareMetalClusterControlPlaneArgs
Specifies the control plane configuration. Structure is documented below.
LoadBalancer This property is required. BareMetalClusterLoadBalancerArgs
Specifies the load balancer configuration. Structure is documented below.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the resource.
NetworkConfig This property is required. BareMetalClusterNetworkConfigArgs
Network configuration. Structure is documented below.
Storage This property is required. BareMetalClusterStorageArgs
Specifies the cluster storage configuration. Structure is documented below.
Annotations map[string]string
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
BinaryAuthorization BareMetalClusterBinaryAuthorizationArgs
Binary Authorization related configurations.
ClusterOperations BareMetalClusterClusterOperationsArgs
Specifies the User Cluster's observability infrastructure.
Description string
(Output) The description of the validation check.
MaintenanceConfig BareMetalClusterMaintenanceConfigArgs
Specifies the workload node configurations.
Name Changes to this property will trigger replacement. string
The bare metal cluster name.
NodeAccessConfig BareMetalClusterNodeAccessConfigArgs
Specifies the node access related settings for the bare metal user cluster.
NodeConfig BareMetalClusterNodeConfigArgs
Specifies the workload node configurations.
OsEnvironmentConfig BareMetalClusterOsEnvironmentConfigArgs
OS environment related configurations.
Project Changes to this property will trigger replacement. string
Proxy BareMetalClusterProxyArgs
Specifies the cluster proxy configuration.
SecurityConfig BareMetalClusterSecurityConfigArgs
Specifies the security related settings for the Bare Metal User Cluster.
UpgradePolicy BareMetalClusterUpgradePolicyArgs
The cluster upgrade policy.
adminClusterMembership
This property is required.
Changes to this property will trigger replacement.
String
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
bareMetalVersion This property is required. String
A human readable description of this Bare Metal User Cluster.
controlPlane This property is required. BareMetalClusterControlPlane
Specifies the control plane configuration. Structure is documented below.
loadBalancer This property is required. BareMetalClusterLoadBalancer
Specifies the load balancer configuration. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the resource.
networkConfig This property is required. BareMetalClusterNetworkConfig
Network configuration. Structure is documented below.
storage This property is required. BareMetalClusterStorage
Specifies the cluster storage configuration. Structure is documented below.
annotations Map<String,String>
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
binaryAuthorization BareMetalClusterBinaryAuthorization
Binary Authorization related configurations.
clusterOperations BareMetalClusterClusterOperations
Specifies the User Cluster's observability infrastructure.
description String
(Output) The description of the validation check.
maintenanceConfig BareMetalClusterMaintenanceConfig
Specifies the workload node configurations.
name Changes to this property will trigger replacement. String
The bare metal cluster name.
nodeAccessConfig BareMetalClusterNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
nodeConfig BareMetalClusterNodeConfig
Specifies the workload node configurations.
osEnvironmentConfig BareMetalClusterOsEnvironmentConfig
OS environment related configurations.
project Changes to this property will trigger replacement. String
proxy BareMetalClusterProxy
Specifies the cluster proxy configuration.
securityConfig BareMetalClusterSecurityConfig
Specifies the security related settings for the Bare Metal User Cluster.
upgradePolicy BareMetalClusterUpgradePolicy
The cluster upgrade policy.
adminClusterMembership
This property is required.
Changes to this property will trigger replacement.
string
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
bareMetalVersion This property is required. string
A human readable description of this Bare Metal User Cluster.
controlPlane This property is required. BareMetalClusterControlPlane
Specifies the control plane configuration. Structure is documented below.
loadBalancer This property is required. BareMetalClusterLoadBalancer
Specifies the load balancer configuration. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
string
The location of the resource.
networkConfig This property is required. BareMetalClusterNetworkConfig
Network configuration. Structure is documented below.
storage This property is required. BareMetalClusterStorage
Specifies the cluster storage configuration. Structure is documented below.
annotations {[key: string]: string}
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
binaryAuthorization BareMetalClusterBinaryAuthorization
Binary Authorization related configurations.
clusterOperations BareMetalClusterClusterOperations
Specifies the User Cluster's observability infrastructure.
description string
(Output) The description of the validation check.
maintenanceConfig BareMetalClusterMaintenanceConfig
Specifies the workload node configurations.
name Changes to this property will trigger replacement. string
The bare metal cluster name.
nodeAccessConfig BareMetalClusterNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
nodeConfig BareMetalClusterNodeConfig
Specifies the workload node configurations.
osEnvironmentConfig BareMetalClusterOsEnvironmentConfig
OS environment related configurations.
project Changes to this property will trigger replacement. string
proxy BareMetalClusterProxy
Specifies the cluster proxy configuration.
securityConfig BareMetalClusterSecurityConfig
Specifies the security related settings for the Bare Metal User Cluster.
upgradePolicy BareMetalClusterUpgradePolicy
The cluster upgrade policy.
admin_cluster_membership
This property is required.
Changes to this property will trigger replacement.
str
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
bare_metal_version This property is required. str
A human readable description of this Bare Metal User Cluster.
control_plane This property is required. BareMetalClusterControlPlaneArgs
Specifies the control plane configuration. Structure is documented below.
load_balancer This property is required. BareMetalClusterLoadBalancerArgs
Specifies the load balancer configuration. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
str
The location of the resource.
network_config This property is required. BareMetalClusterNetworkConfigArgs
Network configuration. Structure is documented below.
storage This property is required. BareMetalClusterStorageArgs
Specifies the cluster storage configuration. Structure is documented below.
annotations Mapping[str, str]
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
binary_authorization BareMetalClusterBinaryAuthorizationArgs
Binary Authorization related configurations.
cluster_operations BareMetalClusterClusterOperationsArgs
Specifies the User Cluster's observability infrastructure.
description str
(Output) The description of the validation check.
maintenance_config BareMetalClusterMaintenanceConfigArgs
Specifies the workload node configurations.
name Changes to this property will trigger replacement. str
The bare metal cluster name.
node_access_config BareMetalClusterNodeAccessConfigArgs
Specifies the node access related settings for the bare metal user cluster.
node_config BareMetalClusterNodeConfigArgs
Specifies the workload node configurations.
os_environment_config BareMetalClusterOsEnvironmentConfigArgs
OS environment related configurations.
project Changes to this property will trigger replacement. str
proxy BareMetalClusterProxyArgs
Specifies the cluster proxy configuration.
security_config BareMetalClusterSecurityConfigArgs
Specifies the security related settings for the Bare Metal User Cluster.
upgrade_policy BareMetalClusterUpgradePolicyArgs
The cluster upgrade policy.
adminClusterMembership
This property is required.
Changes to this property will trigger replacement.
String
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
bareMetalVersion This property is required. String
A human readable description of this Bare Metal User Cluster.
controlPlane This property is required. Property Map
Specifies the control plane configuration. Structure is documented below.
loadBalancer This property is required. Property Map
Specifies the load balancer configuration. Structure is documented below.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the resource.
networkConfig This property is required. Property Map
Network configuration. Structure is documented below.
storage This property is required. Property Map
Specifies the cluster storage configuration. Structure is documented below.
annotations Map<String>
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
binaryAuthorization Property Map
Binary Authorization related configurations.
clusterOperations Property Map
Specifies the User Cluster's observability infrastructure.
description String
(Output) The description of the validation check.
maintenanceConfig Property Map
Specifies the workload node configurations.
name Changes to this property will trigger replacement. String
The bare metal cluster name.
nodeAccessConfig Property Map
Specifies the node access related settings for the bare metal user cluster.
nodeConfig Property Map
Specifies the workload node configurations.
osEnvironmentConfig Property Map
OS environment related configurations.
project Changes to this property will trigger replacement. String
proxy Property Map
Specifies the cluster proxy configuration.
securityConfig Property Map
Specifies the security related settings for the Bare Metal User Cluster.
upgradePolicy Property Map
The cluster upgrade policy.

Outputs

All input properties are implicitly available as output properties. Additionally, the BareMetalCluster resource produces the following output properties:

CreateTime string
The time the cluster was created, in RFC3339 text format.
DeleteTime string
The time the cluster was deleted, in RFC3339 text format.
EffectiveAnnotations Dictionary<string, string>
Endpoint string
The IP address name of Bare Metal User Cluster's API server.
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.
Fleets List<BareMetalClusterFleet>
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
Id string
The provider-assigned unique ID for this managed resource.
LocalName string
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
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<BareMetalClusterStatus>
(Output) Specifies the detailed validation check status Structure is documented below.
Uid string
The unique identifier of the Bare Metal User Cluster.
UpdateTime string
The time the cluster was last updated, in RFC3339 text format.
ValidationChecks List<BareMetalClusterValidationCheck>
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
CreateTime string
The time the cluster was created, in RFC3339 text format.
DeleteTime string
The time the cluster was deleted, in RFC3339 text format.
EffectiveAnnotations map[string]string
Endpoint string
The IP address name of Bare Metal User Cluster's API server.
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.
Fleets []BareMetalClusterFleet
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
Id string
The provider-assigned unique ID for this managed resource.
LocalName string
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
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 []BareMetalClusterStatus
(Output) Specifies the detailed validation check status Structure is documented below.
Uid string
The unique identifier of the Bare Metal User Cluster.
UpdateTime string
The time the cluster was last updated, in RFC3339 text format.
ValidationChecks []BareMetalClusterValidationCheck
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
createTime String
The time the cluster was created, in RFC3339 text format.
deleteTime String
The time the cluster was deleted, in RFC3339 text format.
effectiveAnnotations Map<String,String>
endpoint String
The IP address name of Bare Metal User Cluster's API server.
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.
fleets List<BareMetalClusterFleet>
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
id String
The provider-assigned unique ID for this managed resource.
localName String
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
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<BareMetalClusterStatus>
(Output) Specifies the detailed validation check status Structure is documented below.
uid String
The unique identifier of the Bare Metal User Cluster.
updateTime String
The time the cluster was last updated, in RFC3339 text format.
validationChecks List<BareMetalClusterValidationCheck>
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
createTime string
The time the cluster was created, in RFC3339 text format.
deleteTime string
The time the cluster was deleted, in RFC3339 text format.
effectiveAnnotations {[key: string]: string}
endpoint string
The IP address name of Bare Metal User Cluster's API server.
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.
fleets BareMetalClusterFleet[]
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
id string
The provider-assigned unique ID for this managed resource.
localName string
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
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 BareMetalClusterStatus[]
(Output) Specifies the detailed validation check status Structure is documented below.
uid string
The unique identifier of the Bare Metal User Cluster.
updateTime string
The time the cluster was last updated, in RFC3339 text format.
validationChecks BareMetalClusterValidationCheck[]
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
create_time str
The time the cluster was created, in RFC3339 text format.
delete_time str
The time the cluster was deleted, in RFC3339 text format.
effective_annotations Mapping[str, str]
endpoint str
The IP address name of Bare Metal User Cluster's API server.
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.
fleets Sequence[BareMetalClusterFleet]
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
id str
The provider-assigned unique ID for this managed resource.
local_name str
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
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[BareMetalClusterStatus]
(Output) Specifies the detailed validation check status Structure is documented below.
uid str
The unique identifier of the Bare Metal User Cluster.
update_time str
The time the cluster was last updated, in RFC3339 text format.
validation_checks Sequence[BareMetalClusterValidationCheck]
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
createTime String
The time the cluster was created, in RFC3339 text format.
deleteTime String
The time the cluster was deleted, in RFC3339 text format.
effectiveAnnotations Map<String>
endpoint String
The IP address name of Bare Metal User Cluster's API server.
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.
fleets List<Property Map>
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
id String
The provider-assigned unique ID for this managed resource.
localName String
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
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>
(Output) Specifies the detailed validation check status Structure is documented below.
uid String
The unique identifier of the Bare Metal User Cluster.
updateTime String
The time the cluster was last updated, in RFC3339 text format.
validationChecks List<Property Map>
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.

Look up Existing BareMetalCluster Resource

Get an existing BareMetalCluster 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?: BareMetalClusterState, opts?: CustomResourceOptions): BareMetalCluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        admin_cluster_membership: Optional[str] = None,
        annotations: Optional[Mapping[str, str]] = None,
        bare_metal_version: Optional[str] = None,
        binary_authorization: Optional[BareMetalClusterBinaryAuthorizationArgs] = None,
        cluster_operations: Optional[BareMetalClusterClusterOperationsArgs] = None,
        control_plane: Optional[BareMetalClusterControlPlaneArgs] = None,
        create_time: Optional[str] = None,
        delete_time: Optional[str] = None,
        description: Optional[str] = None,
        effective_annotations: Optional[Mapping[str, str]] = None,
        endpoint: Optional[str] = None,
        etag: Optional[str] = None,
        fleets: Optional[Sequence[BareMetalClusterFleetArgs]] = None,
        load_balancer: Optional[BareMetalClusterLoadBalancerArgs] = None,
        local_name: Optional[str] = None,
        location: Optional[str] = None,
        maintenance_config: Optional[BareMetalClusterMaintenanceConfigArgs] = None,
        name: Optional[str] = None,
        network_config: Optional[BareMetalClusterNetworkConfigArgs] = None,
        node_access_config: Optional[BareMetalClusterNodeAccessConfigArgs] = None,
        node_config: Optional[BareMetalClusterNodeConfigArgs] = None,
        os_environment_config: Optional[BareMetalClusterOsEnvironmentConfigArgs] = None,
        project: Optional[str] = None,
        proxy: Optional[BareMetalClusterProxyArgs] = None,
        reconciling: Optional[bool] = None,
        security_config: Optional[BareMetalClusterSecurityConfigArgs] = None,
        state: Optional[str] = None,
        statuses: Optional[Sequence[BareMetalClusterStatusArgs]] = None,
        storage: Optional[BareMetalClusterStorageArgs] = None,
        uid: Optional[str] = None,
        update_time: Optional[str] = None,
        upgrade_policy: Optional[BareMetalClusterUpgradePolicyArgs] = None,
        validation_checks: Optional[Sequence[BareMetalClusterValidationCheckArgs]] = None) -> BareMetalCluster
func GetBareMetalCluster(ctx *Context, name string, id IDInput, state *BareMetalClusterState, opts ...ResourceOption) (*BareMetalCluster, error)
public static BareMetalCluster Get(string name, Input<string> id, BareMetalClusterState? state, CustomResourceOptions? opts = null)
public static BareMetalCluster get(String name, Output<String> id, BareMetalClusterState state, CustomResourceOptions options)
resources:  _:    type: gcp:gkeonprem:BareMetalCluster    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
AdminClusterMembership Changes to this property will trigger replacement. string
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
Annotations Dictionary<string, string>
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
BareMetalVersion string
A human readable description of this Bare Metal User Cluster.
BinaryAuthorization BareMetalClusterBinaryAuthorization
Binary Authorization related configurations.
ClusterOperations BareMetalClusterClusterOperations
Specifies the User Cluster's observability infrastructure.
ControlPlane BareMetalClusterControlPlane
Specifies the control plane configuration. Structure is documented below.
CreateTime string
The time the cluster was created, in RFC3339 text format.
DeleteTime string
The time the cluster was deleted, in RFC3339 text format.
Description string
(Output) The description of the validation check.
EffectiveAnnotations Dictionary<string, string>
Endpoint string
The IP address name of Bare Metal User Cluster's API server.
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.
Fleets List<BareMetalClusterFleet>
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
LoadBalancer BareMetalClusterLoadBalancer
Specifies the load balancer configuration. Structure is documented below.
LocalName string
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
Location Changes to this property will trigger replacement. string
The location of the resource.
MaintenanceConfig BareMetalClusterMaintenanceConfig
Specifies the workload node configurations.
Name Changes to this property will trigger replacement. string
The bare metal cluster name.
NetworkConfig BareMetalClusterNetworkConfig
Network configuration. Structure is documented below.
NodeAccessConfig BareMetalClusterNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
NodeConfig BareMetalClusterNodeConfig
Specifies the workload node configurations.
OsEnvironmentConfig BareMetalClusterOsEnvironmentConfig
OS environment related configurations.
Project Changes to this property will trigger replacement. string
Proxy BareMetalClusterProxy
Specifies the cluster proxy configuration.
Reconciling bool
If set, there are currently changes in flight to the Bare Metal User Cluster.
SecurityConfig BareMetalClusterSecurityConfig
Specifies the security related settings for the Bare Metal User Cluster.
State string
(Output) The lifecycle state of the condition.
Statuses List<BareMetalClusterStatus>
(Output) Specifies the detailed validation check status Structure is documented below.
Storage BareMetalClusterStorage
Specifies the cluster storage configuration. Structure is documented below.
Uid string
The unique identifier of the Bare Metal User Cluster.
UpdateTime string
The time the cluster was last updated, in RFC3339 text format.
UpgradePolicy BareMetalClusterUpgradePolicy
The cluster upgrade policy.
ValidationChecks List<BareMetalClusterValidationCheck>
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
AdminClusterMembership Changes to this property will trigger replacement. string
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
Annotations map[string]string
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
BareMetalVersion string
A human readable description of this Bare Metal User Cluster.
BinaryAuthorization BareMetalClusterBinaryAuthorizationArgs
Binary Authorization related configurations.
ClusterOperations BareMetalClusterClusterOperationsArgs
Specifies the User Cluster's observability infrastructure.
ControlPlane BareMetalClusterControlPlaneArgs
Specifies the control plane configuration. Structure is documented below.
CreateTime string
The time the cluster was created, in RFC3339 text format.
DeleteTime string
The time the cluster was deleted, in RFC3339 text format.
Description string
(Output) The description of the validation check.
EffectiveAnnotations map[string]string
Endpoint string
The IP address name of Bare Metal User Cluster's API server.
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.
Fleets []BareMetalClusterFleetArgs
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
LoadBalancer BareMetalClusterLoadBalancerArgs
Specifies the load balancer configuration. Structure is documented below.
LocalName string
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
Location Changes to this property will trigger replacement. string
The location of the resource.
MaintenanceConfig BareMetalClusterMaintenanceConfigArgs
Specifies the workload node configurations.
Name Changes to this property will trigger replacement. string
The bare metal cluster name.
NetworkConfig BareMetalClusterNetworkConfigArgs
Network configuration. Structure is documented below.
NodeAccessConfig BareMetalClusterNodeAccessConfigArgs
Specifies the node access related settings for the bare metal user cluster.
NodeConfig BareMetalClusterNodeConfigArgs
Specifies the workload node configurations.
OsEnvironmentConfig BareMetalClusterOsEnvironmentConfigArgs
OS environment related configurations.
Project Changes to this property will trigger replacement. string
Proxy BareMetalClusterProxyArgs
Specifies the cluster proxy configuration.
Reconciling bool
If set, there are currently changes in flight to the Bare Metal User Cluster.
SecurityConfig BareMetalClusterSecurityConfigArgs
Specifies the security related settings for the Bare Metal User Cluster.
State string
(Output) The lifecycle state of the condition.
Statuses []BareMetalClusterStatusArgs
(Output) Specifies the detailed validation check status Structure is documented below.
Storage BareMetalClusterStorageArgs
Specifies the cluster storage configuration. Structure is documented below.
Uid string
The unique identifier of the Bare Metal User Cluster.
UpdateTime string
The time the cluster was last updated, in RFC3339 text format.
UpgradePolicy BareMetalClusterUpgradePolicyArgs
The cluster upgrade policy.
ValidationChecks []BareMetalClusterValidationCheckArgs
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
adminClusterMembership Changes to this property will trigger replacement. String
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
annotations Map<String,String>
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
bareMetalVersion String
A human readable description of this Bare Metal User Cluster.
binaryAuthorization BareMetalClusterBinaryAuthorization
Binary Authorization related configurations.
clusterOperations BareMetalClusterClusterOperations
Specifies the User Cluster's observability infrastructure.
controlPlane BareMetalClusterControlPlane
Specifies the control plane configuration. Structure is documented below.
createTime String
The time the cluster was created, in RFC3339 text format.
deleteTime String
The time the cluster was deleted, in RFC3339 text format.
description String
(Output) The description of the validation check.
effectiveAnnotations Map<String,String>
endpoint String
The IP address name of Bare Metal User Cluster's API server.
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.
fleets List<BareMetalClusterFleet>
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
loadBalancer BareMetalClusterLoadBalancer
Specifies the load balancer configuration. Structure is documented below.
localName String
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
location Changes to this property will trigger replacement. String
The location of the resource.
maintenanceConfig BareMetalClusterMaintenanceConfig
Specifies the workload node configurations.
name Changes to this property will trigger replacement. String
The bare metal cluster name.
networkConfig BareMetalClusterNetworkConfig
Network configuration. Structure is documented below.
nodeAccessConfig BareMetalClusterNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
nodeConfig BareMetalClusterNodeConfig
Specifies the workload node configurations.
osEnvironmentConfig BareMetalClusterOsEnvironmentConfig
OS environment related configurations.
project Changes to this property will trigger replacement. String
proxy BareMetalClusterProxy
Specifies the cluster proxy configuration.
reconciling Boolean
If set, there are currently changes in flight to the Bare Metal User Cluster.
securityConfig BareMetalClusterSecurityConfig
Specifies the security related settings for the Bare Metal User Cluster.
state String
(Output) The lifecycle state of the condition.
statuses List<BareMetalClusterStatus>
(Output) Specifies the detailed validation check status Structure is documented below.
storage BareMetalClusterStorage
Specifies the cluster storage configuration. Structure is documented below.
uid String
The unique identifier of the Bare Metal User Cluster.
updateTime String
The time the cluster was last updated, in RFC3339 text format.
upgradePolicy BareMetalClusterUpgradePolicy
The cluster upgrade policy.
validationChecks List<BareMetalClusterValidationCheck>
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
adminClusterMembership Changes to this property will trigger replacement. string
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
annotations {[key: string]: string}
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
bareMetalVersion string
A human readable description of this Bare Metal User Cluster.
binaryAuthorization BareMetalClusterBinaryAuthorization
Binary Authorization related configurations.
clusterOperations BareMetalClusterClusterOperations
Specifies the User Cluster's observability infrastructure.
controlPlane BareMetalClusterControlPlane
Specifies the control plane configuration. Structure is documented below.
createTime string
The time the cluster was created, in RFC3339 text format.
deleteTime string
The time the cluster was deleted, in RFC3339 text format.
description string
(Output) The description of the validation check.
effectiveAnnotations {[key: string]: string}
endpoint string
The IP address name of Bare Metal User Cluster's API server.
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.
fleets BareMetalClusterFleet[]
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
loadBalancer BareMetalClusterLoadBalancer
Specifies the load balancer configuration. Structure is documented below.
localName string
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
location Changes to this property will trigger replacement. string
The location of the resource.
maintenanceConfig BareMetalClusterMaintenanceConfig
Specifies the workload node configurations.
name Changes to this property will trigger replacement. string
The bare metal cluster name.
networkConfig BareMetalClusterNetworkConfig
Network configuration. Structure is documented below.
nodeAccessConfig BareMetalClusterNodeAccessConfig
Specifies the node access related settings for the bare metal user cluster.
nodeConfig BareMetalClusterNodeConfig
Specifies the workload node configurations.
osEnvironmentConfig BareMetalClusterOsEnvironmentConfig
OS environment related configurations.
project Changes to this property will trigger replacement. string
proxy BareMetalClusterProxy
Specifies the cluster proxy configuration.
reconciling boolean
If set, there are currently changes in flight to the Bare Metal User Cluster.
securityConfig BareMetalClusterSecurityConfig
Specifies the security related settings for the Bare Metal User Cluster.
state string
(Output) The lifecycle state of the condition.
statuses BareMetalClusterStatus[]
(Output) Specifies the detailed validation check status Structure is documented below.
storage BareMetalClusterStorage
Specifies the cluster storage configuration. Structure is documented below.
uid string
The unique identifier of the Bare Metal User Cluster.
updateTime string
The time the cluster was last updated, in RFC3339 text format.
upgradePolicy BareMetalClusterUpgradePolicy
The cluster upgrade policy.
validationChecks BareMetalClusterValidationCheck[]
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
admin_cluster_membership Changes to this property will trigger replacement. str
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
annotations Mapping[str, str]
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
bare_metal_version str
A human readable description of this Bare Metal User Cluster.
binary_authorization BareMetalClusterBinaryAuthorizationArgs
Binary Authorization related configurations.
cluster_operations BareMetalClusterClusterOperationsArgs
Specifies the User Cluster's observability infrastructure.
control_plane BareMetalClusterControlPlaneArgs
Specifies the control plane configuration. Structure is documented below.
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.
description str
(Output) The description of the validation check.
effective_annotations Mapping[str, str]
endpoint str
The IP address name of Bare Metal User Cluster's API server.
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.
fleets Sequence[BareMetalClusterFleetArgs]
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
load_balancer BareMetalClusterLoadBalancerArgs
Specifies the load balancer configuration. Structure is documented below.
local_name str
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
location Changes to this property will trigger replacement. str
The location of the resource.
maintenance_config BareMetalClusterMaintenanceConfigArgs
Specifies the workload node configurations.
name Changes to this property will trigger replacement. str
The bare metal cluster name.
network_config BareMetalClusterNetworkConfigArgs
Network configuration. Structure is documented below.
node_access_config BareMetalClusterNodeAccessConfigArgs
Specifies the node access related settings for the bare metal user cluster.
node_config BareMetalClusterNodeConfigArgs
Specifies the workload node configurations.
os_environment_config BareMetalClusterOsEnvironmentConfigArgs
OS environment related configurations.
project Changes to this property will trigger replacement. str
proxy BareMetalClusterProxyArgs
Specifies the cluster proxy configuration.
reconciling bool
If set, there are currently changes in flight to the Bare Metal User Cluster.
security_config BareMetalClusterSecurityConfigArgs
Specifies the security related settings for the Bare Metal User Cluster.
state str
(Output) The lifecycle state of the condition.
statuses Sequence[BareMetalClusterStatusArgs]
(Output) Specifies the detailed validation check status Structure is documented below.
storage BareMetalClusterStorageArgs
Specifies the cluster storage configuration. Structure is documented below.
uid str
The unique identifier of the Bare Metal User Cluster.
update_time str
The time the cluster was last updated, in RFC3339 text format.
upgrade_policy BareMetalClusterUpgradePolicyArgs
The cluster upgrade policy.
validation_checks Sequence[BareMetalClusterValidationCheckArgs]
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.
adminClusterMembership Changes to this property will trigger replacement. String
The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.
annotations Map<String>
Annotations on the Bare Metal User Cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
bareMetalVersion String
A human readable description of this Bare Metal User Cluster.
binaryAuthorization Property Map
Binary Authorization related configurations.
clusterOperations Property Map
Specifies the User Cluster's observability infrastructure.
controlPlane Property Map
Specifies the control plane configuration. Structure is documented below.
createTime String
The time the cluster was created, in RFC3339 text format.
deleteTime String
The time the cluster was deleted, in RFC3339 text format.
description String
(Output) The description of the validation check.
effectiveAnnotations Map<String>
endpoint String
The IP address name of Bare Metal User Cluster's API server.
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.
fleets List<Property Map>
Fleet related configuration. Fleets are a Google Cloud concept for logically organizing clusters, letting you use and manage multi-cluster capabilities and apply consistent policies across your systems. See Anthos Fleets for more details on Anthos multi-cluster capabilities using Fleets. Structure is documented below.
loadBalancer Property Map
Specifies the load balancer configuration. Structure is documented below.
localName String
The object name of the Bare Metal Cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster ID and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs.
location Changes to this property will trigger replacement. String
The location of the resource.
maintenanceConfig Property Map
Specifies the workload node configurations.
name Changes to this property will trigger replacement. String
The bare metal cluster name.
networkConfig Property Map
Network configuration. Structure is documented below.
nodeAccessConfig Property Map
Specifies the node access related settings for the bare metal user cluster.
nodeConfig Property Map
Specifies the workload node configurations.
osEnvironmentConfig Property Map
OS environment related configurations.
project Changes to this property will trigger replacement. String
proxy Property Map
Specifies the cluster proxy configuration.
reconciling Boolean
If set, there are currently changes in flight to the Bare Metal User Cluster.
securityConfig Property Map
Specifies the security related settings for the Bare Metal User Cluster.
state String
(Output) The lifecycle state of the condition.
statuses List<Property Map>
(Output) Specifies the detailed validation check status Structure is documented below.
storage Property Map
Specifies the cluster storage configuration. Structure is documented below.
uid String
The unique identifier of the Bare Metal User Cluster.
updateTime String
The time the cluster was last updated, in RFC3339 text format.
upgradePolicy Property Map
The cluster upgrade policy.
validationChecks List<Property Map>
Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.

Supporting Types

BareMetalClusterBinaryAuthorization
, BareMetalClusterBinaryAuthorizationArgs

EvaluationMode string
Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED. Possible values are: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.
EvaluationMode string
Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED. Possible values are: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.
evaluationMode String
Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED. Possible values are: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.
evaluationMode string
Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED. Possible values are: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.
evaluation_mode str
Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED. Possible values are: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.
evaluationMode String
Mode of operation for binauthz policy evaluation. If unspecified, defaults to DISABLED. Possible values are: DISABLED, PROJECT_SINGLETON_POLICY_ENFORCE.

BareMetalClusterClusterOperations
, BareMetalClusterClusterOperationsArgs

EnableApplicationLogs bool
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).
EnableApplicationLogs bool
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).
enableApplicationLogs Boolean
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).
enableApplicationLogs boolean
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).
enable_application_logs bool
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).
enableApplicationLogs Boolean
Whether collection of application logs/metrics should be enabled (in addition to system logs/metrics).

BareMetalClusterControlPlane
, BareMetalClusterControlPlaneArgs

ControlPlaneNodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfig
Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. Structure is documented below.
ApiServerArgs List<BareMetalClusterControlPlaneApiServerArg>
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ Structure is documented below.
ControlPlaneNodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfig
Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. Structure is documented below.
ApiServerArgs []BareMetalClusterControlPlaneApiServerArg
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ Structure is documented below.
controlPlaneNodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfig
Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. Structure is documented below.
apiServerArgs List<BareMetalClusterControlPlaneApiServerArg>
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ Structure is documented below.
controlPlaneNodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfig
Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. Structure is documented below.
apiServerArgs BareMetalClusterControlPlaneApiServerArg[]
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ Structure is documented below.
control_plane_node_pool_config This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfig
Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. Structure is documented below.
api_server_args Sequence[BareMetalClusterControlPlaneApiServerArg]
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ Structure is documented below.
controlPlaneNodePoolConfig This property is required. Property Map
Configures the node pool running the control plane. If specified the corresponding NodePool will be created for the cluster's control plane. The NodePool will have the same name and namespace as the cluster. Structure is documented below.
apiServerArgs List<Property Map>
Customizes the default API server args. Only a subset of customized flags are supported. Please refer to the API server documentation below to know the exact format: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ Structure is documented below.

BareMetalClusterControlPlaneApiServerArg
, BareMetalClusterControlPlaneApiServerArgArgs

Argument This property is required. string
The argument name as it appears on the API Server command line please make sure to remove the leading dashes.
Value This property is required. string
The value of the arg as it will be passed to the API Server command line.
Argument This property is required. string
The argument name as it appears on the API Server command line please make sure to remove the leading dashes.
Value This property is required. string
The value of the arg as it will be passed to the API Server command line.
argument This property is required. String
The argument name as it appears on the API Server command line please make sure to remove the leading dashes.
value This property is required. String
The value of the arg as it will be passed to the API Server command line.
argument This property is required. string
The argument name as it appears on the API Server command line please make sure to remove the leading dashes.
value This property is required. string
The value of the arg as it will be passed to the API Server command line.
argument This property is required. str
The argument name as it appears on the API Server command line please make sure to remove the leading dashes.
value This property is required. str
The value of the arg as it will be passed to the API Server command line.
argument This property is required. String
The argument name as it appears on the API Server command line please make sure to remove the leading dashes.
value This property is required. String
The value of the arg as it will be passed to the API Server command line.

BareMetalClusterControlPlaneControlPlaneNodePoolConfig
, BareMetalClusterControlPlaneControlPlaneNodePoolConfigArgs

NodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfig
The generic configuration for a node pool running the control plane. Structure is documented below.
NodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfig
The generic configuration for a node pool running the control plane. Structure is documented below.
nodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfig
The generic configuration for a node pool running the control plane. Structure is documented below.
nodePoolConfig This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfig
The generic configuration for a node pool running the control plane. Structure is documented below.
node_pool_config This property is required. BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfig
The generic configuration for a node pool running the control plane. Structure is documented below.
nodePoolConfig This property is required. Property Map
The generic configuration for a node pool running the control plane. Structure is documented below.

BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfig
, BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs

Labels Dictionary<string, string>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeConfigs List<BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfig>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
OperatingSystem string
Specifies the nodes operating system (default: LINUX).
Taints List<BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaint>
The initial taints assigned to nodes of this node pool. Structure is documented below.
Labels map[string]string
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeConfigs []BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfig
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
OperatingSystem string
Specifies the nodes operating system (default: LINUX).
Taints []BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaint
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels Map<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs List<BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfig>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operatingSystem String
Specifies the nodes operating system (default: LINUX).
taints List<BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaint>
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels {[key: string]: string}
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfig[]
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operatingSystem string
Specifies the nodes operating system (default: LINUX).
taints BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaint[]
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels Mapping[str, str]
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
node_configs Sequence[BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfig]
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operating_system str
Specifies the nodes operating system (default: LINUX).
taints Sequence[BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaint]
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels Map<String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs List<Property Map>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
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.

BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfig
, BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs

Labels Dictionary<string, string>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
Labels map[string]string
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Map<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp String
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels {[key: string]: string}
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Mapping[str, str]
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
node_ip str
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Map<String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp String
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1

BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaint
, BareMetalClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs

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.

BareMetalClusterFleet
, BareMetalClusterFleetArgs

Membership string
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/<location>/memberships/<cluster-id>.
Membership string
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/<location>/memberships/<cluster-id>.
membership String
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/<location>/memberships/<cluster-id>.
membership string
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/<location>/memberships/<cluster-id>.
membership str
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/<location>/memberships/<cluster-id>.
membership String
(Output) The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects/<project-number>/locations/<location>/memberships/<cluster-id>.

BareMetalClusterLoadBalancer
, BareMetalClusterLoadBalancerArgs

PortConfig This property is required. BareMetalClusterLoadBalancerPortConfig
Specifies the load balancer ports. Structure is documented below.
VipConfig This property is required. BareMetalClusterLoadBalancerVipConfig
Specified the Bare Metal Load Balancer Config Structure is documented below.
BgpLbConfig BareMetalClusterLoadBalancerBgpLbConfig
Configuration for BGP typed load balancers. Structure is documented below.
ManualLbConfig BareMetalClusterLoadBalancerManualLbConfig
A nested object resource. Structure is documented below.
MetalLbConfig BareMetalClusterLoadBalancerMetalLbConfig
A nested object resource. Structure is documented below.
PortConfig This property is required. BareMetalClusterLoadBalancerPortConfig
Specifies the load balancer ports. Structure is documented below.
VipConfig This property is required. BareMetalClusterLoadBalancerVipConfig
Specified the Bare Metal Load Balancer Config Structure is documented below.
BgpLbConfig BareMetalClusterLoadBalancerBgpLbConfig
Configuration for BGP typed load balancers. Structure is documented below.
ManualLbConfig BareMetalClusterLoadBalancerManualLbConfig
A nested object resource. Structure is documented below.
MetalLbConfig BareMetalClusterLoadBalancerMetalLbConfig
A nested object resource. Structure is documented below.
portConfig This property is required. BareMetalClusterLoadBalancerPortConfig
Specifies the load balancer ports. Structure is documented below.
vipConfig This property is required. BareMetalClusterLoadBalancerVipConfig
Specified the Bare Metal Load Balancer Config Structure is documented below.
bgpLbConfig BareMetalClusterLoadBalancerBgpLbConfig
Configuration for BGP typed load balancers. Structure is documented below.
manualLbConfig BareMetalClusterLoadBalancerManualLbConfig
A nested object resource. Structure is documented below.
metalLbConfig BareMetalClusterLoadBalancerMetalLbConfig
A nested object resource. Structure is documented below.
portConfig This property is required. BareMetalClusterLoadBalancerPortConfig
Specifies the load balancer ports. Structure is documented below.
vipConfig This property is required. BareMetalClusterLoadBalancerVipConfig
Specified the Bare Metal Load Balancer Config Structure is documented below.
bgpLbConfig BareMetalClusterLoadBalancerBgpLbConfig
Configuration for BGP typed load balancers. Structure is documented below.
manualLbConfig BareMetalClusterLoadBalancerManualLbConfig
A nested object resource. Structure is documented below.
metalLbConfig BareMetalClusterLoadBalancerMetalLbConfig
A nested object resource. Structure is documented below.
port_config This property is required. BareMetalClusterLoadBalancerPortConfig
Specifies the load balancer ports. Structure is documented below.
vip_config This property is required. BareMetalClusterLoadBalancerVipConfig
Specified the Bare Metal Load Balancer Config Structure is documented below.
bgp_lb_config BareMetalClusterLoadBalancerBgpLbConfig
Configuration for BGP typed load balancers. Structure is documented below.
manual_lb_config BareMetalClusterLoadBalancerManualLbConfig
A nested object resource. Structure is documented below.
metal_lb_config BareMetalClusterLoadBalancerMetalLbConfig
A nested object resource. Structure is documented below.
portConfig This property is required. Property Map
Specifies the load balancer ports. Structure is documented below.
vipConfig This property is required. Property Map
Specified the Bare Metal Load Balancer Config Structure is documented below.
bgpLbConfig Property Map
Configuration for BGP typed load balancers. Structure is documented below.
manualLbConfig Property Map
A nested object resource. Structure is documented below.
metalLbConfig Property Map
A nested object resource. Structure is documented below.

BareMetalClusterLoadBalancerBgpLbConfig
, BareMetalClusterLoadBalancerBgpLbConfigArgs

AddressPools This property is required. List<BareMetalClusterLoadBalancerBgpLbConfigAddressPool>
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
Asn This property is required. int
BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation.
BgpPeerConfigs This property is required. List<BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfig>
The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. Structure is documented below.
LoadBalancerNodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfig
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. Structure is documented below.
AddressPools This property is required. []BareMetalClusterLoadBalancerBgpLbConfigAddressPool
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
Asn This property is required. int
BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation.
BgpPeerConfigs This property is required. []BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfig
The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. Structure is documented below.
LoadBalancerNodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfig
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. Structure is documented below.
addressPools This property is required. List<BareMetalClusterLoadBalancerBgpLbConfigAddressPool>
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
asn This property is required. Integer
BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation.
bgpPeerConfigs This property is required. List<BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfig>
The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. Structure is documented below.
loadBalancerNodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfig
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. Structure is documented below.
addressPools This property is required. BareMetalClusterLoadBalancerBgpLbConfigAddressPool[]
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
asn This property is required. number
BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation.
bgpPeerConfigs This property is required. BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfig[]
The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. Structure is documented below.
loadBalancerNodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfig
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. Structure is documented below.
address_pools This property is required. Sequence[BareMetalClusterLoadBalancerBgpLbConfigAddressPool]
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
asn This property is required. int
BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation.
bgp_peer_configs This property is required. Sequence[BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfig]
The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. Structure is documented below.
load_balancer_node_pool_config BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfig
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. Structure is documented below.
addressPools This property is required. List<Property Map>
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
asn This property is required. Number
BGP autonomous system number (ASN) of the cluster. This field can be updated after cluster creation.
bgpPeerConfigs This property is required. List<Property Map>
The list of BGP peers that the cluster will connect to. At least one peer must be configured for each control plane node. Control plane nodes will connect to these peers to advertise the control plane VIP. The Services load balancer also uses these peers by default. This field can be updated after cluster creation. Structure is documented below.
loadBalancerNodePoolConfig Property Map
Specifies the node pool running data plane load balancing. L2 connectivity is required among nodes in this pool. If missing, the control plane node pool is used for data plane load balancing. Structure is documented below.

BareMetalClusterLoadBalancerBgpLbConfigAddressPool
, BareMetalClusterLoadBalancerBgpLbConfigAddressPoolArgs

Addresses This property is required. List<string>
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
Pool This property is required. string
The name of the address pool.
AvoidBuggyIps bool
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
ManualAssign string
If true, prevent IP addresses from being automatically assigned.
Addresses This property is required. []string
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
Pool This property is required. string
The name of the address pool.
AvoidBuggyIps bool
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
ManualAssign string
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. List<String>
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. String
The name of the address pool.
avoidBuggyIps Boolean
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manualAssign String
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. string[]
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. string
The name of the address pool.
avoidBuggyIps boolean
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manualAssign string
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. Sequence[str]
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. str
The name of the address pool.
avoid_buggy_ips bool
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manual_assign str
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. List<String>
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. String
The name of the address pool.
avoidBuggyIps Boolean
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manualAssign String
If true, prevent IP addresses from being automatically assigned.

BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfig
, BareMetalClusterLoadBalancerBgpLbConfigBgpPeerConfigArgs

Asn This property is required. int
BGP autonomous system number (ASN) for the network that contains the external peer device.
IpAddress This property is required. string
The IP address of the external peer device.
ControlPlaneNodes List<string>
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions.
Asn This property is required. int
BGP autonomous system number (ASN) for the network that contains the external peer device.
IpAddress This property is required. string
The IP address of the external peer device.
ControlPlaneNodes []string
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions.
asn This property is required. Integer
BGP autonomous system number (ASN) for the network that contains the external peer device.
ipAddress This property is required. String
The IP address of the external peer device.
controlPlaneNodes List<String>
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions.
asn This property is required. number
BGP autonomous system number (ASN) for the network that contains the external peer device.
ipAddress This property is required. string
The IP address of the external peer device.
controlPlaneNodes string[]
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions.
asn This property is required. int
BGP autonomous system number (ASN) for the network that contains the external peer device.
ip_address This property is required. str
The IP address of the external peer device.
control_plane_nodes Sequence[str]
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions.
asn This property is required. Number
BGP autonomous system number (ASN) for the network that contains the external peer device.
ipAddress This property is required. String
The IP address of the external peer device.
controlPlaneNodes List<String>
The IP address of the control plane node that connects to the external peer. If you don't specify any control plane nodes, all control plane nodes can connect to the external peer. If you specify one or more IP addresses, only the nodes specified participate in peering sessions.

BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfig
, BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigArgs

NodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
NodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
nodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
nodePoolConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
node_pool_config BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
nodePoolConfig Property Map
The generic configuration for a node pool running a load balancer. Structure is documented below.

BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfig
, BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs

KubeletConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfig
The modifiable kubelet configurations for the baremetal machines. Structure is documented below.
Labels Dictionary<string, string>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeConfigs List<BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
OperatingSystem string
Specifies the nodes operating system (default: LINUX).
Taints List<BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint>
The initial taints assigned to nodes of this node pool. Structure is documented below.
KubeletConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfig
The modifiable kubelet configurations for the baremetal machines. Structure is documented below.
Labels map[string]string
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeConfigs []BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
OperatingSystem string
Specifies the nodes operating system (default: LINUX).
Taints []BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint
The initial taints assigned to nodes of this node pool. Structure is documented below.
kubeletConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfig
The modifiable kubelet configurations for the baremetal machines. Structure is documented below.
labels Map<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs List<BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operatingSystem String
Specifies the nodes operating system (default: LINUX).
taints List<BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint>
The initial taints assigned to nodes of this node pool. Structure is documented below.
kubeletConfig BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfig
The modifiable kubelet configurations for the baremetal machines. Structure is documented below.
labels {[key: string]: string}
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig[]
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operatingSystem string
Specifies the nodes operating system (default: LINUX).
taints BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint[]
The initial taints assigned to nodes of this node pool. Structure is documented below.
kubelet_config BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfig
The modifiable kubelet configurations for the baremetal machines. Structure is documented below.
labels Mapping[str, str]
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
node_configs Sequence[BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig]
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operating_system str
Specifies the nodes operating system (default: LINUX).
taints Sequence[BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint]
The initial taints assigned to nodes of this node pool. Structure is documented below.
kubeletConfig Property Map
The modifiable kubelet configurations for the baremetal machines. Structure is documented below.
labels Map<String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs List<Property Map>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
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.

BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfig
, BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigKubeletConfigArgs

RegistryBurst int
The maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_pull_qps. The value must not be a negative number. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 10.
RegistryPullQps int
The limit of registry pulls per second. Setting this value to 0 means no limit. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 5.
SerializeImagePullsDisabled bool
Prevents the Kubelet from pulling multiple images at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Another Union File System (Aufs) storage backend. Issue https://github.com/kubernetes/kubernetes/issues/10959 has more details.
RegistryBurst int
The maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_pull_qps. The value must not be a negative number. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 10.
RegistryPullQps int
The limit of registry pulls per second. Setting this value to 0 means no limit. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 5.
SerializeImagePullsDisabled bool
Prevents the Kubelet from pulling multiple images at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Another Union File System (Aufs) storage backend. Issue https://github.com/kubernetes/kubernetes/issues/10959 has more details.
registryBurst Integer
The maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_pull_qps. The value must not be a negative number. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 10.
registryPullQps Integer
The limit of registry pulls per second. Setting this value to 0 means no limit. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 5.
serializeImagePullsDisabled Boolean
Prevents the Kubelet from pulling multiple images at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Another Union File System (Aufs) storage backend. Issue https://github.com/kubernetes/kubernetes/issues/10959 has more details.
registryBurst number
The maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_pull_qps. The value must not be a negative number. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 10.
registryPullQps number
The limit of registry pulls per second. Setting this value to 0 means no limit. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 5.
serializeImagePullsDisabled boolean
Prevents the Kubelet from pulling multiple images at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Another Union File System (Aufs) storage backend. Issue https://github.com/kubernetes/kubernetes/issues/10959 has more details.
registry_burst int
The maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_pull_qps. The value must not be a negative number. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 10.
registry_pull_qps int
The limit of registry pulls per second. Setting this value to 0 means no limit. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 5.
serialize_image_pulls_disabled bool
Prevents the Kubelet from pulling multiple images at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Another Union File System (Aufs) storage backend. Issue https://github.com/kubernetes/kubernetes/issues/10959 has more details.
registryBurst Number
The maximum size of bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_pull_qps. The value must not be a negative number. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 10.
registryPullQps Number
The limit of registry pulls per second. Setting this value to 0 means no limit. Updating this field may impact scalability by changing the amount of traffic produced by image pulls. Defaults to 5.
serializeImagePullsDisabled Boolean
Prevents the Kubelet from pulling multiple images at a time. We recommend not changing the default value on nodes that run docker daemon with version < 1.9 or an Another Union File System (Aufs) storage backend. Issue https://github.com/kubernetes/kubernetes/issues/10959 has more details.

BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig
, BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs

Labels Dictionary<string, string>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
Labels map[string]string
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Map<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp String
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels {[key: string]: string}
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Mapping[str, str]
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
node_ip str
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Map<String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp String
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1

BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint
, BareMetalClusterLoadBalancerBgpLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs

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.

BareMetalClusterLoadBalancerManualLbConfig
, BareMetalClusterLoadBalancerManualLbConfigArgs

Enabled This property is required. bool
Whether manual load balancing is enabled.
Enabled This property is required. bool
Whether manual load balancing is enabled.
enabled This property is required. Boolean
Whether manual load balancing is enabled.
enabled This property is required. boolean
Whether manual load balancing is enabled.
enabled This property is required. bool
Whether manual load balancing is enabled.
enabled This property is required. Boolean
Whether manual load balancing is enabled.

BareMetalClusterLoadBalancerMetalLbConfig
, BareMetalClusterLoadBalancerMetalLbConfigArgs

AddressPools This property is required. List<BareMetalClusterLoadBalancerMetalLbConfigAddressPool>
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
LoadBalancerNodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfig
Specifies the load balancer's node pool configuration. Structure is documented below.
AddressPools This property is required. []BareMetalClusterLoadBalancerMetalLbConfigAddressPool
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
LoadBalancerNodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfig
Specifies the load balancer's node pool configuration. Structure is documented below.
addressPools This property is required. List<BareMetalClusterLoadBalancerMetalLbConfigAddressPool>
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
loadBalancerNodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfig
Specifies the load balancer's node pool configuration. Structure is documented below.
addressPools This property is required. BareMetalClusterLoadBalancerMetalLbConfigAddressPool[]
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
loadBalancerNodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfig
Specifies the load balancer's node pool configuration. Structure is documented below.
address_pools This property is required. Sequence[BareMetalClusterLoadBalancerMetalLbConfigAddressPool]
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
load_balancer_node_pool_config BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfig
Specifies the load balancer's node pool configuration. Structure is documented below.
addressPools This property is required. List<Property Map>
AddressPools is a list of non-overlapping IP pools used by load balancer typed services. All addresses must be routable to load balancer nodes. IngressVIP must be included in the pools. Structure is documented below.
loadBalancerNodePoolConfig Property Map
Specifies the load balancer's node pool configuration. Structure is documented below.

BareMetalClusterLoadBalancerMetalLbConfigAddressPool
, BareMetalClusterLoadBalancerMetalLbConfigAddressPoolArgs

Addresses This property is required. List<string>
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
Pool This property is required. string
The name of the address pool.
AvoidBuggyIps bool
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
ManualAssign bool
If true, prevent IP addresses from being automatically assigned.
Addresses This property is required. []string
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
Pool This property is required. string
The name of the address pool.
AvoidBuggyIps bool
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
ManualAssign bool
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. List<String>
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. String
The name of the address pool.
avoidBuggyIps Boolean
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manualAssign Boolean
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. string[]
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. string
The name of the address pool.
avoidBuggyIps boolean
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manualAssign boolean
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. Sequence[str]
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. str
The name of the address pool.
avoid_buggy_ips bool
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manual_assign bool
If true, prevent IP addresses from being automatically assigned.
addresses This property is required. List<String>
The addresses that are part of this pool. Each address must be either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
pool This property is required. String
The name of the address pool.
avoidBuggyIps Boolean
If true, avoid using IPs ending in .0 or .255. This avoids buggy consumer devices mistakenly dropping IPv4 traffic for those special IP addresses.
manualAssign Boolean
If true, prevent IP addresses from being automatically assigned.

BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfig
, BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigArgs

NodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
NodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
nodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
nodePoolConfig BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
node_pool_config BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfig
The generic configuration for a node pool running a load balancer. Structure is documented below.
nodePoolConfig Property Map
The generic configuration for a node pool running a load balancer. Structure is documented below.

BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfig
, BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigArgs

Labels Dictionary<string, string>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeConfigs List<BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
OperatingSystem string
Specifies the nodes operating system (default: LINUX).
Taints List<BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint>
The initial taints assigned to nodes of this node pool. Structure is documented below.
Labels map[string]string
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeConfigs []BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
OperatingSystem string
Specifies the nodes operating system (default: LINUX).
Taints []BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels Map<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs List<BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operatingSystem String
Specifies the nodes operating system (default: LINUX).
taints List<BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint>
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels {[key: string]: string}
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig[]
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operatingSystem string
Specifies the nodes operating system (default: LINUX).
taints BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint[]
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels Mapping[str, str]
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
node_configs Sequence[BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig]
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
operating_system str
Specifies the nodes operating system (default: LINUX).
taints Sequence[BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint]
The initial taints assigned to nodes of this node pool. Structure is documented below.
labels Map<String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeConfigs List<Property Map>
The list of machine addresses in the Bare Metal Node Pool. Structure is documented below.
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.

BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfig
, BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigNodeConfigArgs

Labels Dictionary<string, string>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
Labels map[string]string
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
NodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Map<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp String
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels {[key: string]: string}
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp string
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Mapping[str, str]
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
node_ip str
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1
labels Map<String>
The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see:

  • http://kubernetes.io/v1.1/docs/user-guide/labels.html An object containing a list of "key": value pairs. For example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
nodeIp String
The default IPv4 address for SSH access and Kubernetes node. Example: 192.168.0.1

BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaint
, BareMetalClusterLoadBalancerMetalLbConfigLoadBalancerNodePoolConfigNodePoolConfigTaintArgs

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.

BareMetalClusterLoadBalancerPortConfig
, BareMetalClusterLoadBalancerPortConfigArgs

ControlPlaneLoadBalancerPort This property is required. int
The port that control plane hosted load balancers will listen on.
ControlPlaneLoadBalancerPort This property is required. int
The port that control plane hosted load balancers will listen on.
controlPlaneLoadBalancerPort This property is required. Integer
The port that control plane hosted load balancers will listen on.
controlPlaneLoadBalancerPort This property is required. number
The port that control plane hosted load balancers will listen on.
control_plane_load_balancer_port This property is required. int
The port that control plane hosted load balancers will listen on.
controlPlaneLoadBalancerPort This property is required. Number
The port that control plane hosted load balancers will listen on.

BareMetalClusterLoadBalancerVipConfig
, BareMetalClusterLoadBalancerVipConfigArgs

ControlPlaneVip This property is required. string
The VIP which you previously set aside for the Kubernetes API of this Bare Metal User Cluster.
IngressVip This property is required. string
The VIP which you previously set aside for ingress traffic into this Bare Metal User Cluster.
ControlPlaneVip This property is required. string
The VIP which you previously set aside for the Kubernetes API of this Bare Metal User Cluster.
IngressVip This property is required. string
The VIP which you previously set aside for ingress traffic into this Bare Metal User Cluster.
controlPlaneVip This property is required. String
The VIP which you previously set aside for the Kubernetes API of this Bare Metal User Cluster.
ingressVip This property is required. String
The VIP which you previously set aside for ingress traffic into this Bare Metal User Cluster.
controlPlaneVip This property is required. string
The VIP which you previously set aside for the Kubernetes API of this Bare Metal User Cluster.
ingressVip This property is required. string
The VIP which you previously set aside for ingress traffic into this Bare Metal User Cluster.
control_plane_vip This property is required. str
The VIP which you previously set aside for the Kubernetes API of this Bare Metal User Cluster.
ingress_vip This property is required. str
The VIP which you previously set aside for ingress traffic into this Bare Metal User Cluster.
controlPlaneVip This property is required. String
The VIP which you previously set aside for the Kubernetes API of this Bare Metal User Cluster.
ingressVip This property is required. String
The VIP which you previously set aside for ingress traffic into this Bare Metal User Cluster.

BareMetalClusterMaintenanceConfig
, BareMetalClusterMaintenanceConfigArgs

MaintenanceAddressCidrBlocks This property is required. List<string>
All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource.
MaintenanceAddressCidrBlocks This property is required. []string
All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource.
maintenanceAddressCidrBlocks This property is required. List<String>
All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource.
maintenanceAddressCidrBlocks This property is required. string[]
All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource.
maintenance_address_cidr_blocks This property is required. Sequence[str]
All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource.
maintenanceAddressCidrBlocks This property is required. List<String>
All IPv4 address from these ranges will be placed into maintenance mode. Nodes in maintenance mode will be cordoned and drained. When both of these are true, the "baremetal.cluster.gke.io/maintenance" annotation will be set on the node resource.

BareMetalClusterNetworkConfig
, BareMetalClusterNetworkConfigArgs

AdvancedNetworking bool
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag.
IslandModeCidr BareMetalClusterNetworkConfigIslandModeCidr
A nested object resource. Structure is documented below.
MultipleNetworkInterfacesConfig BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfig
Configuration for multiple network interfaces. Structure is documented below.
SrIovConfig BareMetalClusterNetworkConfigSrIovConfig
Configuration for SR-IOV. Structure is documented below.
AdvancedNetworking bool
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag.
IslandModeCidr BareMetalClusterNetworkConfigIslandModeCidr
A nested object resource. Structure is documented below.
MultipleNetworkInterfacesConfig BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfig
Configuration for multiple network interfaces. Structure is documented below.
SrIovConfig BareMetalClusterNetworkConfigSrIovConfig
Configuration for SR-IOV. Structure is documented below.
advancedNetworking Boolean
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag.
islandModeCidr BareMetalClusterNetworkConfigIslandModeCidr
A nested object resource. Structure is documented below.
multipleNetworkInterfacesConfig BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfig
Configuration for multiple network interfaces. Structure is documented below.
srIovConfig BareMetalClusterNetworkConfigSrIovConfig
Configuration for SR-IOV. Structure is documented below.
advancedNetworking boolean
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag.
islandModeCidr BareMetalClusterNetworkConfigIslandModeCidr
A nested object resource. Structure is documented below.
multipleNetworkInterfacesConfig BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfig
Configuration for multiple network interfaces. Structure is documented below.
srIovConfig BareMetalClusterNetworkConfigSrIovConfig
Configuration for SR-IOV. Structure is documented below.
advanced_networking bool
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag.
island_mode_cidr BareMetalClusterNetworkConfigIslandModeCidr
A nested object resource. Structure is documented below.
multiple_network_interfaces_config BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfig
Configuration for multiple network interfaces. Structure is documented below.
sr_iov_config BareMetalClusterNetworkConfigSrIovConfig
Configuration for SR-IOV. Structure is documented below.
advancedNetworking Boolean
Enables the use of advanced Anthos networking features, such as Bundled Load Balancing with BGP or the egress NAT gateway. Setting configuration for advanced networking features will automatically set this flag.
islandModeCidr Property Map
A nested object resource. Structure is documented below.
multipleNetworkInterfacesConfig Property Map
Configuration for multiple network interfaces. Structure is documented below.
srIovConfig Property Map
Configuration for SR-IOV. Structure is documented below.

BareMetalClusterNetworkConfigIslandModeCidr
, BareMetalClusterNetworkConfigIslandModeCidrArgs

PodAddressCidrBlocks This property is required. List<string>
All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
ServiceAddressCidrBlocks This property is required. List<string>
All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
PodAddressCidrBlocks This property is required. []string
All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
ServiceAddressCidrBlocks This property is required. []string
All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
podAddressCidrBlocks This property is required. List<String>
All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
serviceAddressCidrBlocks This property is required. List<String>
All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
podAddressCidrBlocks This property is required. string[]
All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
serviceAddressCidrBlocks This property is required. string[]
All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
pod_address_cidr_blocks This property is required. Sequence[str]
All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
service_address_cidr_blocks This property is required. Sequence[str]
All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
podAddressCidrBlocks This property is required. List<String>
All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.
serviceAddressCidrBlocks This property is required. List<String>
All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. This field cannot be changed after creation.

BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfig
, BareMetalClusterNetworkConfigMultipleNetworkInterfacesConfigArgs

Enabled bool
Whether to enable multiple network interfaces for your pods. When set network_config.advanced_networking is automatically set to true.
Enabled bool
Whether to enable multiple network interfaces for your pods. When set network_config.advanced_networking is automatically set to true.
enabled Boolean
Whether to enable multiple network interfaces for your pods. When set network_config.advanced_networking is automatically set to true.
enabled boolean
Whether to enable multiple network interfaces for your pods. When set network_config.advanced_networking is automatically set to true.
enabled bool
Whether to enable multiple network interfaces for your pods. When set network_config.advanced_networking is automatically set to true.
enabled Boolean
Whether to enable multiple network interfaces for your pods. When set network_config.advanced_networking is automatically set to true.

BareMetalClusterNetworkConfigSrIovConfig
, BareMetalClusterNetworkConfigSrIovConfigArgs

Enabled bool
Whether to install the SR-IOV operator.
Enabled bool
Whether to install the SR-IOV operator.
enabled Boolean
Whether to install the SR-IOV operator.
enabled boolean
Whether to install the SR-IOV operator.
enabled bool
Whether to install the SR-IOV operator.
enabled Boolean
Whether to install the SR-IOV operator.

BareMetalClusterNodeAccessConfig
, BareMetalClusterNodeAccessConfigArgs

LoginUser string
LoginUser is the user name used to access node machines. It defaults to "root" if not set.
LoginUser string
LoginUser is the user name used to access node machines. It defaults to "root" if not set.
loginUser String
LoginUser is the user name used to access node machines. It defaults to "root" if not set.
loginUser string
LoginUser is the user name used to access node machines. It defaults to "root" if not set.
login_user str
LoginUser is the user name used to access node machines. It defaults to "root" if not set.
loginUser String
LoginUser is the user name used to access node machines. It defaults to "root" if not set.

BareMetalClusterNodeConfig
, BareMetalClusterNodeConfigArgs

ContainerRuntime string
The available runtimes that can be used to run containers in a Bare Metal User Cluster. Possible values are: CONTAINER_RUNTIME_UNSPECIFIED, DOCKER, CONTAINERD.
MaxPodsPerNode int
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter.
ContainerRuntime string
The available runtimes that can be used to run containers in a Bare Metal User Cluster. Possible values are: CONTAINER_RUNTIME_UNSPECIFIED, DOCKER, CONTAINERD.
MaxPodsPerNode int
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter.
containerRuntime String
The available runtimes that can be used to run containers in a Bare Metal User Cluster. Possible values are: CONTAINER_RUNTIME_UNSPECIFIED, DOCKER, CONTAINERD.
maxPodsPerNode Integer
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter.
containerRuntime string
The available runtimes that can be used to run containers in a Bare Metal User Cluster. Possible values are: CONTAINER_RUNTIME_UNSPECIFIED, DOCKER, CONTAINERD.
maxPodsPerNode number
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter.
container_runtime str
The available runtimes that can be used to run containers in a Bare Metal User Cluster. Possible values are: CONTAINER_RUNTIME_UNSPECIFIED, DOCKER, CONTAINERD.
max_pods_per_node int
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter.
containerRuntime String
The available runtimes that can be used to run containers in a Bare Metal User Cluster. Possible values are: CONTAINER_RUNTIME_UNSPECIFIED, DOCKER, CONTAINERD.
maxPodsPerNode Number
The maximum number of pods a node can run. The size of the CIDR range assigned to the node will be derived from this parameter.

BareMetalClusterOsEnvironmentConfig
, BareMetalClusterOsEnvironmentConfigArgs

PackageRepoExcluded This property is required. bool
Whether the package repo should not be included when initializing bare metal machines.
PackageRepoExcluded This property is required. bool
Whether the package repo should not be included when initializing bare metal machines.
packageRepoExcluded This property is required. Boolean
Whether the package repo should not be included when initializing bare metal machines.
packageRepoExcluded This property is required. boolean
Whether the package repo should not be included when initializing bare metal machines.
package_repo_excluded This property is required. bool
Whether the package repo should not be included when initializing bare metal machines.
packageRepoExcluded This property is required. Boolean
Whether the package repo should not be included when initializing bare metal machines.

BareMetalClusterProxy
, BareMetalClusterProxyArgs

Uri This property is required. string
Specifies the address of your proxy server. For example: http://domain WARNING: Do not provide credentials in the format of http://(username:password@)domain these will be rejected by the server.
NoProxies List<string>
A list of IPs, hostnames, and domains that should skip the proxy. For example ["127.0.0.1", "example.com", ".corp", "localhost"].
Uri This property is required. string
Specifies the address of your proxy server. For example: http://domain WARNING: Do not provide credentials in the format of http://(username:password@)domain these will be rejected by the server.
NoProxies []string
A list of IPs, hostnames, and domains that should skip the proxy. For example ["127.0.0.1", "example.com", ".corp", "localhost"].
uri This property is required. String
Specifies the address of your proxy server. For example: http://domain WARNING: Do not provide credentials in the format of http://(username:password@)domain these will be rejected by the server.
noProxies List<String>
A list of IPs, hostnames, and domains that should skip the proxy. For example ["127.0.0.1", "example.com", ".corp", "localhost"].
uri This property is required. string
Specifies the address of your proxy server. For example: http://domain WARNING: Do not provide credentials in the format of http://(username:password@)domain these will be rejected by the server.
noProxies string[]
A list of IPs, hostnames, and domains that should skip the proxy. For example ["127.0.0.1", "example.com", ".corp", "localhost"].
uri This property is required. str
Specifies the address of your proxy server. For example: http://domain WARNING: Do not provide credentials in the format of http://(username:password@)domain these will be rejected by the server.
no_proxies Sequence[str]
A list of IPs, hostnames, and domains that should skip the proxy. For example ["127.0.0.1", "example.com", ".corp", "localhost"].
uri This property is required. String
Specifies the address of your proxy server. For example: http://domain WARNING: Do not provide credentials in the format of http://(username:password@)domain these will be rejected by the server.
noProxies List<String>
A list of IPs, hostnames, and domains that should skip the proxy. For example ["127.0.0.1", "example.com", ".corp", "localhost"].

BareMetalClusterSecurityConfig
, BareMetalClusterSecurityConfigArgs

Authorization BareMetalClusterSecurityConfigAuthorization
Configures user access to the Bare Metal User cluster. Structure is documented below.
Authorization BareMetalClusterSecurityConfigAuthorization
Configures user access to the Bare Metal User cluster. Structure is documented below.
authorization BareMetalClusterSecurityConfigAuthorization
Configures user access to the Bare Metal User cluster. Structure is documented below.
authorization BareMetalClusterSecurityConfigAuthorization
Configures user access to the Bare Metal User cluster. Structure is documented below.
authorization BareMetalClusterSecurityConfigAuthorization
Configures user access to the Bare Metal User cluster. Structure is documented below.
authorization Property Map
Configures user access to the Bare Metal User cluster. Structure is documented below.

BareMetalClusterSecurityConfigAuthorization
, BareMetalClusterSecurityConfigAuthorizationArgs

AdminUsers This property is required. List<BareMetalClusterSecurityConfigAuthorizationAdminUser>
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Structure is documented below.
AdminUsers This property is required. []BareMetalClusterSecurityConfigAuthorizationAdminUser
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Structure is documented below.
adminUsers This property is required. List<BareMetalClusterSecurityConfigAuthorizationAdminUser>
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Structure is documented below.
adminUsers This property is required. BareMetalClusterSecurityConfigAuthorizationAdminUser[]
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Structure is documented below.
admin_users This property is required. Sequence[BareMetalClusterSecurityConfigAuthorizationAdminUser]
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Structure is documented below.
adminUsers This property is required. List<Property Map>
Users that will be granted the cluster-admin role on the cluster, providing full access to the cluster. Structure is documented below.

BareMetalClusterSecurityConfigAuthorizationAdminUser
, BareMetalClusterSecurityConfigAuthorizationAdminUserArgs

Username This property is required. string
The name of the user, e.g. my-gcp-id@gmail.com.
Username This property is required. string
The name of the user, e.g. my-gcp-id@gmail.com.
username This property is required. String
The name of the user, e.g. my-gcp-id@gmail.com.
username This property is required. string
The name of the user, e.g. my-gcp-id@gmail.com.
username This property is required. str
The name of the user, e.g. my-gcp-id@gmail.com.
username This property is required. String
The name of the user, e.g. my-gcp-id@gmail.com.

BareMetalClusterStatus
, BareMetalClusterStatusArgs

Conditions List<BareMetalClusterStatusCondition>
(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 []BareMetalClusterStatusCondition
(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<BareMetalClusterStatusCondition>
(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 BareMetalClusterStatusCondition[]
(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[BareMetalClusterStatusCondition]
(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.

BareMetalClusterStatusCondition
, BareMetalClusterStatusConditionArgs

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
(Output) A human-readable message of the check failure.
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
(Output) A human-readable message of the check failure.
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
(Output) A human-readable message of the check failure.
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
(Output) A human-readable message of the check failure.
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
(Output) A human-readable message of the check failure.
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
(Output) A human-readable message of the check failure.
state String
(Output) The lifecycle state of the condition.
type String
Type of the condition. (e.g., ClusterRunning, NodePoolRunning or ServerSidePreflightReady)

BareMetalClusterStorage
, BareMetalClusterStorageArgs

LvpNodeMountsConfig This property is required. BareMetalClusterStorageLvpNodeMountsConfig
Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. Structure is documented below.
LvpShareConfig This property is required. BareMetalClusterStorageLvpShareConfig
Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. Structure is documented below.
LvpNodeMountsConfig This property is required. BareMetalClusterStorageLvpNodeMountsConfig
Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. Structure is documented below.
LvpShareConfig This property is required. BareMetalClusterStorageLvpShareConfig
Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. Structure is documented below.
lvpNodeMountsConfig This property is required. BareMetalClusterStorageLvpNodeMountsConfig
Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. Structure is documented below.
lvpShareConfig This property is required. BareMetalClusterStorageLvpShareConfig
Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. Structure is documented below.
lvpNodeMountsConfig This property is required. BareMetalClusterStorageLvpNodeMountsConfig
Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. Structure is documented below.
lvpShareConfig This property is required. BareMetalClusterStorageLvpShareConfig
Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. Structure is documented below.
lvp_node_mounts_config This property is required. BareMetalClusterStorageLvpNodeMountsConfig
Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. Structure is documented below.
lvp_share_config This property is required. BareMetalClusterStorageLvpShareConfig
Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. Structure is documented below.
lvpNodeMountsConfig This property is required. Property Map
Specifies the config for local PersistentVolumes backed by mounted node disks. These disks need to be formatted and mounted by the user, which can be done before or after cluster creation. Structure is documented below.
lvpShareConfig This property is required. Property Map
Specifies the config for local PersistentVolumes backed by subdirectories in a shared filesystem. These subdirectores are automatically created during cluster creation. Structure is documented below.

BareMetalClusterStorageLvpNodeMountsConfig
, BareMetalClusterStorageLvpNodeMountsConfigArgs

Path This property is required. string
The host machine path.
StorageClass This property is required. string
The StorageClass name that PVs will be created with.


Path This property is required. string
The host machine path.
StorageClass This property is required. string
The StorageClass name that PVs will be created with.


path This property is required. String
The host machine path.
storageClass This property is required. String
The StorageClass name that PVs will be created with.


path This property is required. string
The host machine path.
storageClass This property is required. string
The StorageClass name that PVs will be created with.


path This property is required. str
The host machine path.
storage_class This property is required. str
The StorageClass name that PVs will be created with.


path This property is required. String
The host machine path.
storageClass This property is required. String
The StorageClass name that PVs will be created with.


BareMetalClusterStorageLvpShareConfig
, BareMetalClusterStorageLvpShareConfigArgs

LvpConfig This property is required. BareMetalClusterStorageLvpShareConfigLvpConfig
Defines the machine path and storage class for the LVP Share. Structure is documented below.
SharedPathPvCount int
The number of subdirectories to create under path.
LvpConfig This property is required. BareMetalClusterStorageLvpShareConfigLvpConfig
Defines the machine path and storage class for the LVP Share. Structure is documented below.
SharedPathPvCount int
The number of subdirectories to create under path.
lvpConfig This property is required. BareMetalClusterStorageLvpShareConfigLvpConfig
Defines the machine path and storage class for the LVP Share. Structure is documented below.
sharedPathPvCount Integer
The number of subdirectories to create under path.
lvpConfig This property is required. BareMetalClusterStorageLvpShareConfigLvpConfig
Defines the machine path and storage class for the LVP Share. Structure is documented below.
sharedPathPvCount number
The number of subdirectories to create under path.
lvp_config This property is required. BareMetalClusterStorageLvpShareConfigLvpConfig
Defines the machine path and storage class for the LVP Share. Structure is documented below.
shared_path_pv_count int
The number of subdirectories to create under path.
lvpConfig This property is required. Property Map
Defines the machine path and storage class for the LVP Share. Structure is documented below.
sharedPathPvCount Number
The number of subdirectories to create under path.

BareMetalClusterStorageLvpShareConfigLvpConfig
, BareMetalClusterStorageLvpShareConfigLvpConfigArgs

Path This property is required. string
The host machine path.
StorageClass This property is required. string
The StorageClass name that PVs will be created with.
Path This property is required. string
The host machine path.
StorageClass This property is required. string
The StorageClass name that PVs will be created with.
path This property is required. String
The host machine path.
storageClass This property is required. String
The StorageClass name that PVs will be created with.
path This property is required. string
The host machine path.
storageClass This property is required. string
The StorageClass name that PVs will be created with.
path This property is required. str
The host machine path.
storage_class This property is required. str
The StorageClass name that PVs will be created with.
path This property is required. String
The host machine path.
storageClass This property is required. String
The StorageClass name that PVs will be created with.

BareMetalClusterUpgradePolicy
, BareMetalClusterUpgradePolicyArgs

Policy string
Specifies which upgrade policy to use. Possible values are: SERIAL, CONCURRENT.
Policy string
Specifies which upgrade policy to use. Possible values are: SERIAL, CONCURRENT.
policy String
Specifies which upgrade policy to use. Possible values are: SERIAL, CONCURRENT.
policy string
Specifies which upgrade policy to use. Possible values are: SERIAL, CONCURRENT.
policy str
Specifies which upgrade policy to use. Possible values are: SERIAL, CONCURRENT.
policy String
Specifies which upgrade policy to use. Possible values are: SERIAL, CONCURRENT.

BareMetalClusterValidationCheck
, BareMetalClusterValidationCheckArgs

Options string
(Output) Options used for the validation check.
Scenario string
(Output) The scenario when the preflight checks were run..
Statuses List<BareMetalClusterValidationCheckStatus>
(Output) Specifies the detailed validation check status Structure is documented below.
Options string
(Output) Options used for the validation check.
Scenario string
(Output) The scenario when the preflight checks were run..
Statuses []BareMetalClusterValidationCheckStatus
(Output) Specifies the detailed validation check status Structure is documented below.
options String
(Output) Options used for the validation check.
scenario String
(Output) The scenario when the preflight checks were run..
statuses List<BareMetalClusterValidationCheckStatus>
(Output) Specifies the detailed validation check status Structure is documented below.
options string
(Output) Options used for the validation check.
scenario string
(Output) The scenario when the preflight checks were run..
statuses BareMetalClusterValidationCheckStatus[]
(Output) Specifies the detailed validation check status Structure is documented below.
options str
(Output) Options used for the validation check.
scenario str
(Output) The scenario when the preflight checks were run..
statuses Sequence[BareMetalClusterValidationCheckStatus]
(Output) Specifies the detailed validation check status Structure is documented below.
options String
(Output) Options used for the validation check.
scenario String
(Output) The scenario when the preflight checks were run..
statuses List<Property Map>
(Output) Specifies the detailed validation check status Structure is documented below.

BareMetalClusterValidationCheckStatus
, BareMetalClusterValidationCheckStatusArgs

Results List<BareMetalClusterValidationCheckStatusResult>
(Output) Individual checks which failed as part of the Preflight check execution. Structure is documented below.
Results []BareMetalClusterValidationCheckStatusResult
(Output) Individual checks which failed as part of the Preflight check execution. Structure is documented below.
results List<BareMetalClusterValidationCheckStatusResult>
(Output) Individual checks which failed as part of the Preflight check execution. Structure is documented below.
results BareMetalClusterValidationCheckStatusResult[]
(Output) Individual checks which failed as part of the Preflight check execution. Structure is documented below.
results Sequence[BareMetalClusterValidationCheckStatusResult]
(Output) Individual checks which failed as part of the Preflight check execution. Structure is documented below.
results List<Property Map>
(Output) Individual checks which failed as part of the Preflight check execution. Structure is documented below.

BareMetalClusterValidationCheckStatusResult
, BareMetalClusterValidationCheckStatusResultArgs

Category string
(Output) The category of the validation.
Description string
(Output) The description of the validation check.
Details string
(Output) Detailed failure information, which might be unformatted.
Options string
(Output) Options used for the validation check.
Reason string
(Output) A human-readable message of the check failure.
Category string
(Output) The category of the validation.
Description string
(Output) The description of the validation check.
Details string
(Output) Detailed failure information, which might be unformatted.
Options string
(Output) Options used for the validation check.
Reason string
(Output) A human-readable message of the check failure.
category String
(Output) The category of the validation.
description String
(Output) The description of the validation check.
details String
(Output) Detailed failure information, which might be unformatted.
options String
(Output) Options used for the validation check.
reason String
(Output) A human-readable message of the check failure.
category string
(Output) The category of the validation.
description string
(Output) The description of the validation check.
details string
(Output) Detailed failure information, which might be unformatted.
options string
(Output) Options used for the validation check.
reason string
(Output) A human-readable message of the check failure.
category str
(Output) The category of the validation.
description str
(Output) The description of the validation check.
details str
(Output) Detailed failure information, which might be unformatted.
options str
(Output) Options used for the validation check.
reason str
(Output) A human-readable message of the check failure.
category String
(Output) The category of the validation.
description String
(Output) The description of the validation check.
details String
(Output) Detailed failure information, which might be unformatted.
options String
(Output) Options used for the validation check.
reason String
(Output) A human-readable message of the check failure.

Import

BareMetalCluster can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/bareMetalClusters/{{name}}

  • {{project}}/{{location}}/{{name}}

  • {{location}}/{{name}}

When using the pulumi import command, BareMetalCluster can be imported using one of the formats above. For example:

$ pulumi import gcp:gkeonprem/bareMetalCluster:BareMetalCluster default projects/{{project}}/locations/{{location}}/bareMetalClusters/{{name}}
Copy
$ pulumi import gcp:gkeonprem/bareMetalCluster:BareMetalCluster default {{project}}/{{location}}/{{name}}
Copy
$ pulumi import gcp:gkeonprem/bareMetalCluster:BareMetalCluster default {{location}}/{{name}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.