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