BareMetalClusterArgs

data class BareMetalClusterArgs(val adminClusterMembership: Output<String>? = null, val annotations: Output<Map<String, String>>? = null, val bareMetalVersion: Output<String>? = null, val binaryAuthorization: Output<BareMetalClusterBinaryAuthorizationArgs>? = null, val clusterOperations: Output<BareMetalClusterClusterOperationsArgs>? = null, val controlPlane: Output<BareMetalClusterControlPlaneArgs>? = null, val description: Output<String>? = null, val loadBalancer: Output<BareMetalClusterLoadBalancerArgs>? = null, val location: Output<String>? = null, val maintenanceConfig: Output<BareMetalClusterMaintenanceConfigArgs>? = null, val name: Output<String>? = null, val networkConfig: Output<BareMetalClusterNetworkConfigArgs>? = null, val nodeAccessConfig: Output<BareMetalClusterNodeAccessConfigArgs>? = null, val nodeConfig: Output<BareMetalClusterNodeConfigArgs>? = null, val osEnvironmentConfig: Output<BareMetalClusterOsEnvironmentConfigArgs>? = null, val project: Output<String>? = null, val proxy: Output<BareMetalClusterProxyArgs>? = null, val securityConfig: Output<BareMetalClusterSecurityConfigArgs>? = null, val storage: Output<BareMetalClusterStorageArgs>? = null, val upgradePolicy: Output<BareMetalClusterUpgradePolicyArgs>? = null) : ConvertibleToJava<BareMetalClusterArgs>

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&#46;26&#46;0&#46;0/16"],
podAddressCidrBlocks: ["10&#46;240&#46;0&#46;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",
}],
},
},
});
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&#46;26&#46;0&#46;0/16"],
"pod_address_cidr_blocks": ["10&#46;240&#46;0&#46;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",
}],
},
})
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",
},
},
},
},
});
});
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
})
}
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());
}
}
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

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&#46;26&#46;0&#46;0/16"],
podAddressCidrBlocks: ["10&#46;240&#46;0&#46;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",
},
});
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&#46;26&#46;0&#46;0/16"],
"pod_address_cidr_blocks": ["10&#46;240&#46;0&#46;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",
})
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",
},
});
});
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
})
}
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());
}
}
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

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&#46;26&#46;0&#46;0/16"],
podAddressCidrBlocks: ["10&#46;240&#46;0&#46;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&#46;0&#46;0&#46;1"],
},
clusterOperations: {
enableApplicationLogs: true,
},
maintenanceConfig: {
maintenanceAddressCidrBlocks: ["192&#46;168&#46;0&#46;1/20"],
},
nodeConfig: {
maxPodsPerNode: 10,
containerRuntime: "CONTAINERD",
},
nodeAccessConfig: {
loginUser: "test@example.com",
},
osEnvironmentConfig: {
packageRepoExcluded: true,
},
});
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&#46;26&#46;0&#46;0/16"],
"pod_address_cidr_blocks": ["10&#46;240&#46;0&#46;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&#46;0&#46;0&#46;1"],
},
cluster_operations={
"enable_application_logs": True,
},
maintenance_config={
"maintenance_address_cidr_blocks": ["192&#46;168&#46;0&#46;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,
})
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,
},
});
});
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
})
}
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());
}
}
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

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}}
$ pulumi import gcp:gkeonprem/bareMetalCluster:BareMetalCluster default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:gkeonprem/bareMetalCluster:BareMetalCluster default {{location}}/{{name}}

Constructors

Link copied to clipboard
constructor(adminClusterMembership: Output<String>? = null, annotations: Output<Map<String, String>>? = null, bareMetalVersion: Output<String>? = null, binaryAuthorization: Output<BareMetalClusterBinaryAuthorizationArgs>? = null, clusterOperations: Output<BareMetalClusterClusterOperationsArgs>? = null, controlPlane: Output<BareMetalClusterControlPlaneArgs>? = null, description: Output<String>? = null, loadBalancer: Output<BareMetalClusterLoadBalancerArgs>? = null, location: Output<String>? = null, maintenanceConfig: Output<BareMetalClusterMaintenanceConfigArgs>? = null, name: Output<String>? = null, networkConfig: Output<BareMetalClusterNetworkConfigArgs>? = null, nodeAccessConfig: Output<BareMetalClusterNodeAccessConfigArgs>? = null, nodeConfig: Output<BareMetalClusterNodeConfigArgs>? = null, osEnvironmentConfig: Output<BareMetalClusterOsEnvironmentConfigArgs>? = null, project: Output<String>? = null, proxy: Output<BareMetalClusterProxyArgs>? = null, securityConfig: Output<BareMetalClusterSecurityConfigArgs>? = null, storage: Output<BareMetalClusterStorageArgs>? = null, upgradePolicy: Output<BareMetalClusterUpgradePolicyArgs>? = null)

Properties

Link copied to clipboard
val adminClusterMembership: Output<String>? = null

The Admin Cluster this Bare Metal User Cluster belongs to. This is the full resource name of the Admin Cluster's hub membership.

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

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.

Link copied to clipboard
val bareMetalVersion: Output<String>? = null

A human readable description of this Bare Metal User Cluster.

Link copied to clipboard

Binary Authorization related configurations.

Link copied to clipboard

Specifies the User Cluster's observability infrastructure.

Link copied to clipboard

Specifies the control plane configuration. Structure is documented below.

Link copied to clipboard
val description: Output<String>? = null

(Output) The description of the validation check.

Link copied to clipboard

Specifies the load balancer configuration. Structure is documented below.

Link copied to clipboard
val location: Output<String>? = null

The location of the resource.

Link copied to clipboard

Specifies the workload node configurations.

Link copied to clipboard
val name: Output<String>? = null

The bare metal cluster name.

Link copied to clipboard

Network configuration. Structure is documented below.

Link copied to clipboard

Specifies the node access related settings for the bare metal user cluster.

Link copied to clipboard

Specifies the workload node configurations.

Link copied to clipboard

OS environment related configurations.

Link copied to clipboard
val project: Output<String>? = null
Link copied to clipboard
val proxy: Output<BareMetalClusterProxyArgs>? = null

Specifies the cluster proxy configuration.

Link copied to clipboard

Specifies the security related settings for the Bare Metal User Cluster.

Link copied to clipboard

Specifies the cluster storage configuration. Structure is documented below.

Link copied to clipboard

The cluster upgrade policy.

Functions

Link copied to clipboard
open override fun toJava(): BareMetalClusterArgs