BareMetalAdminClusterArgs

data class BareMetalAdminClusterArgs(val annotations: Output<Map<String, String>>? = null, val bareMetalVersion: Output<String>? = null, val clusterOperations: Output<BareMetalAdminClusterClusterOperationsArgs>? = null, val controlPlane: Output<BareMetalAdminClusterControlPlaneArgs>? = null, val description: Output<String>? = null, val loadBalancer: Output<BareMetalAdminClusterLoadBalancerArgs>? = null, val location: Output<String>? = null, val maintenanceConfig: Output<BareMetalAdminClusterMaintenanceConfigArgs>? = null, val name: Output<String>? = null, val networkConfig: Output<BareMetalAdminClusterNetworkConfigArgs>? = null, val nodeAccessConfig: Output<BareMetalAdminClusterNodeAccessConfigArgs>? = null, val nodeConfig: Output<BareMetalAdminClusterNodeConfigArgs>? = null, val project: Output<String>? = null, val proxy: Output<BareMetalAdminClusterProxyArgs>? = null, val securityConfig: Output<BareMetalAdminClusterSecurityConfigArgs>? = null, val storage: Output<BareMetalAdminClusterStorageArgs>? = null) : ConvertibleToJava<BareMetalAdminClusterArgs>

Example Usage

Gkeonprem Bare Metal Admin Cluster Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.BareMetalAdminCluster;
import com.pulumi.gcp.gkeonprem.BareMetalAdminClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNetworkConfigIslandModeCidrArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNodeConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterControlPlaneArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerPortConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageLvpShareConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageLvpShareConfigLvpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageLvpNodeMountsConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNodeAccessConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var admin_cluster_basic = new BareMetalAdminCluster("admin-cluster-basic", BareMetalAdminClusterArgs.builder()
.location("us-west1")
.bareMetalVersion("1.13.4")
.networkConfig(BareMetalAdminClusterNetworkConfigArgs.builder()
.islandModeCidr(BareMetalAdminClusterNetworkConfigIslandModeCidrArgs.builder()
.serviceAddressCidrBlocks("172.26.0.0/16")
.podAddressCidrBlocks("10.240.0.0/13")
.build())
.build())
.nodeConfig(BareMetalAdminClusterNodeConfigArgs.builder()
.maxPodsPerNode(250)
.build())
.controlPlane(BareMetalAdminClusterControlPlaneArgs.builder()
.controlPlaneNodePoolConfig(BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
.nodePoolConfig(BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
.labels()
.operatingSystem("LINUX")
.nodeConfigs(
BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
.labels()
.nodeIp("10.200.0.2")
.build(),
BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
.labels()
.nodeIp("10.200.0.3")
.build(),
BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
.labels()
.nodeIp("10.200.0.4")
.build())
.build())
.build())
.build())
.loadBalancer(BareMetalAdminClusterLoadBalancerArgs.builder()
.portConfig(BareMetalAdminClusterLoadBalancerPortConfigArgs.builder()
.controlPlaneLoadBalancerPort(443)
.build())
.vipConfig(BareMetalAdminClusterLoadBalancerVipConfigArgs.builder()
.controlPlaneVip("10.200.0.5")
.build())
.build())
.storage(BareMetalAdminClusterStorageArgs.builder()
.lvpShareConfig(BareMetalAdminClusterStorageLvpShareConfigArgs.builder()
.lvpConfig(BareMetalAdminClusterStorageLvpShareConfigLvpConfigArgs.builder()
.path("/mnt/localpv-share")
.storageClass("local-shared")
.build())
.sharedPathPvCount(5)
.build())
.lvpNodeMountsConfig(BareMetalAdminClusterStorageLvpNodeMountsConfigArgs.builder()
.path("/mnt/localpv-disk")
.storageClass("local-disks")
.build())
.build())
.nodeAccessConfig(BareMetalAdminClusterNodeAccessConfigArgs.builder()
.loginUser("root")
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Gkeonprem Bare Metal Admin Cluster Full

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.gkeonprem.BareMetalAdminCluster;
import com.pulumi.gcp.gkeonprem.BareMetalAdminClusterArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNetworkConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNetworkConfigIslandModeCidrArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNodeConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterControlPlaneArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerPortConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerVipConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterLoadBalancerManualLbConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageLvpShareConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageLvpShareConfigLvpConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterStorageLvpNodeMountsConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterNodeAccessConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterSecurityConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterSecurityConfigAuthorizationArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterMaintenanceConfigArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterClusterOperationsArgs;
import com.pulumi.gcp.gkeonprem.inputs.BareMetalAdminClusterProxyArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var admin_cluster_basic = new BareMetalAdminCluster("admin-cluster-basic", BareMetalAdminClusterArgs.builder()
.location("us-west1")
.description("test description")
.bareMetalVersion("1.13.4")
.annotations()
.networkConfig(BareMetalAdminClusterNetworkConfigArgs.builder()
.islandModeCidr(BareMetalAdminClusterNetworkConfigIslandModeCidrArgs.builder()
.serviceAddressCidrBlocks("172.26.0.0/16")
.podAddressCidrBlocks("10.240.0.0/13")
.build())
.build())
.nodeConfig(BareMetalAdminClusterNodeConfigArgs.builder()
.maxPodsPerNode(250)
.build())
.controlPlane(BareMetalAdminClusterControlPlaneArgs.builder()
.controlPlaneNodePoolConfig(BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigArgs.builder()
.nodePoolConfig(BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigArgs.builder()
.labels()
.operatingSystem("LINUX")
.nodeConfigs(
BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
.labels()
.nodeIp("10.200.0.2")
.build(),
BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
.labels()
.nodeIp("10.200.0.3")
.build(),
BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigNodeConfigArgs.builder()
.labels()
.nodeIp("10.200.0.4")
.build())
.taints(BareMetalAdminClusterControlPlaneControlPlaneNodePoolConfigNodePoolConfigTaintArgs.builder()
.key("test-key")
.value("test-value")
.effect("NO_EXECUTE")
.build())
.build())
.build())
.apiServerArgs(BareMetalAdminClusterControlPlaneApiServerArgArgs.builder()
.argument("test argument")
.value("test value")
.build())
.build())
.loadBalancer(BareMetalAdminClusterLoadBalancerArgs.builder()
.portConfig(BareMetalAdminClusterLoadBalancerPortConfigArgs.builder()
.controlPlaneLoadBalancerPort(443)
.build())
.vipConfig(BareMetalAdminClusterLoadBalancerVipConfigArgs.builder()
.controlPlaneVip("10.200.0.5")
.build())
.manualLbConfig(BareMetalAdminClusterLoadBalancerManualLbConfigArgs.builder()
.enabled(true)
.build())
.build())
.storage(BareMetalAdminClusterStorageArgs.builder()
.lvpShareConfig(BareMetalAdminClusterStorageLvpShareConfigArgs.builder()
.lvpConfig(BareMetalAdminClusterStorageLvpShareConfigLvpConfigArgs.builder()
.path("/mnt/localpv-share")
.storageClass("local-shared")
.build())
.sharedPathPvCount(5)
.build())
.lvpNodeMountsConfig(BareMetalAdminClusterStorageLvpNodeMountsConfigArgs.builder()
.path("/mnt/localpv-disk")
.storageClass("local-disks")
.build())
.build())
.nodeAccessConfig(BareMetalAdminClusterNodeAccessConfigArgs.builder()
.loginUser("root")
.build())
.securityConfig(BareMetalAdminClusterSecurityConfigArgs.builder()
.authorization(BareMetalAdminClusterSecurityConfigAuthorizationArgs.builder()
.adminUsers(BareMetalAdminClusterSecurityConfigAuthorizationAdminUserArgs.builder()
.username("admin@hashicorptest.com")
.build())
.build())
.build())
.maintenanceConfig(BareMetalAdminClusterMaintenanceConfigArgs.builder()
.maintenanceAddressCidrBlocks(
"10.0.0.1/32",
"10.0.0.2/32")
.build())
.clusterOperations(BareMetalAdminClusterClusterOperationsArgs.builder()
.enableApplicationLogs(true)
.build())
.proxy(BareMetalAdminClusterProxyArgs.builder()
.uri("test proxy uri")
.noProxies("127.0.0.1")
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

BareMetalAdminCluster can be imported using any of these accepted formats

$ pulumi import gcp:gkeonprem/bareMetalAdminCluster:BareMetalAdminCluster default projects/{{project}}/locations/{{location}}/bareMetalAdminClusters/{{name}}
$ pulumi import gcp:gkeonprem/bareMetalAdminCluster:BareMetalAdminCluster default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:gkeonprem/bareMetalAdminCluster:BareMetalAdminCluster default {{location}}/{{name}}

Constructors

Link copied to clipboard
constructor(annotations: Output<Map<String, String>>? = null, bareMetalVersion: Output<String>? = null, clusterOperations: Output<BareMetalAdminClusterClusterOperationsArgs>? = null, controlPlane: Output<BareMetalAdminClusterControlPlaneArgs>? = null, description: Output<String>? = null, loadBalancer: Output<BareMetalAdminClusterLoadBalancerArgs>? = null, location: Output<String>? = null, maintenanceConfig: Output<BareMetalAdminClusterMaintenanceConfigArgs>? = null, name: Output<String>? = null, networkConfig: Output<BareMetalAdminClusterNetworkConfigArgs>? = null, nodeAccessConfig: Output<BareMetalAdminClusterNodeAccessConfigArgs>? = null, nodeConfig: Output<BareMetalAdminClusterNodeConfigArgs>? = null, project: Output<String>? = null, proxy: Output<BareMetalAdminClusterProxyArgs>? = null, securityConfig: Output<BareMetalAdminClusterSecurityConfigArgs>? = null, storage: Output<BareMetalAdminClusterStorageArgs>? = null)

Properties

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

Annotations on the Bare Metal Admin 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.

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

A human readable description of this Bare Metal Admin Cluster.

Link copied to clipboard

Specifies the Admin Cluster's observability infrastructure. Structure is documented below.

Link copied to clipboard

Specifies the control plane configuration. Structure is documented below.

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

A human readable description of this Bare Metal Admin Cluster.

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. Structure is documented below.

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

The bare metal admin 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. Structure is documented below.

Link copied to clipboard

Specifies the workload node configurations. Structure is documented below.

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

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

Link copied to clipboard

Specifies the cluster proxy configuration. Structure is documented below.

Link copied to clipboard

Specifies the security related settings for the Bare Metal User Cluster. Structure is documented below.

Link copied to clipboard

Specifies the cluster storage configuration. Structure is documented below.

Functions

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