import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a new bare metal cluster in a given project and location. */ export declare class BareMetalCluster extends pulumi.CustomResource { /** * Get an existing BareMetalCluster resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): BareMetalCluster; /** * Returns true if the given object is an instance of BareMetalCluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is BareMetalCluster; /** * The admin cluster this bare metal user cluster belongs to. This is the full resource name of the admin cluster's fleet membership. */ readonly adminClusterMembership: pulumi.Output; /** * The resource name of the bare metal admin cluster managing this user cluster. */ readonly adminClusterName: pulumi.Output; /** * 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. */ readonly annotations: pulumi.Output<{ [key: string]: string; }>; /** * Required. User provided identifier that is used as part of the resource name; must conform to RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: /^a-z+[a-z0-9]$/ */ readonly bareMetalClusterId: pulumi.Output; /** * The Anthos clusters on bare metal version for your user cluster. */ readonly bareMetalVersion: pulumi.Output; /** * Binary Authorization related configurations. */ readonly binaryAuthorization: pulumi.Output; /** * Cluster operations configuration. */ readonly clusterOperations: pulumi.Output; /** * Control plane configuration. */ readonly controlPlane: pulumi.Output; /** * The time when the bare metal user cluster was created. */ readonly createTime: pulumi.Output; /** * The time when the bare metal user cluster was deleted. If the resource is not deleted, this must be empty */ readonly deleteTime: pulumi.Output; /** * A human readable description of this bare metal user cluster. */ readonly description: pulumi.Output; /** * The IP address of the bare metal user cluster's API server. */ readonly endpoint: pulumi.Output; /** * 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. */ readonly etag: pulumi.Output; /** * Fleet configuration for the cluster. */ readonly fleet: pulumi.Output; /** * Load balancer configuration. */ readonly loadBalancer: pulumi.Output; /** * The object name of the bare metal user cluster custom resource on the associated admin cluster. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the name in the resource name. For new clusters, this field will match the user provided cluster name and be visible in the last component of the resource name. It is not modifiable. When the local name and cluster name differ, the local name is used in the admin cluster controller logs. You use the cluster name when accessing the cluster using bmctl and kubectl. */ readonly localName: pulumi.Output; readonly location: pulumi.Output; /** * Maintenance configuration. */ readonly maintenanceConfig: pulumi.Output; /** * Status of on-going maintenance tasks. */ readonly maintenanceStatus: pulumi.Output; /** * Immutable. The bare metal user cluster resource name. */ readonly name: pulumi.Output; /** * Network configuration. */ readonly networkConfig: pulumi.Output; /** * Node access related configurations. */ readonly nodeAccessConfig: pulumi.Output; /** * Workload node configuration. */ readonly nodeConfig: pulumi.Output; /** * OS environment related configurations. */ readonly osEnvironmentConfig: pulumi.Output; readonly project: pulumi.Output; /** * Proxy configuration. */ readonly proxy: pulumi.Output; /** * If set, there are currently changes in flight to the bare metal user cluster. */ readonly reconciling: pulumi.Output; /** * Security related setting configuration. */ readonly securityConfig: pulumi.Output; /** * The current state of the bare metal user cluster. */ readonly state: pulumi.Output; /** * Detailed cluster status. */ readonly status: pulumi.Output; /** * Storage configuration. */ readonly storage: pulumi.Output; /** * The unique identifier of the bare metal user cluster. */ readonly uid: pulumi.Output; /** * The time when the bare metal user cluster was last updated. */ readonly updateTime: pulumi.Output; /** * The cluster upgrade policy. */ readonly upgradePolicy: pulumi.Output; /** * The result of the preflight check. */ readonly validationCheck: pulumi.Output; /** * Create a BareMetalCluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BareMetalClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a BareMetalCluster resource. */ export interface BareMetalClusterArgs { /** * The admin cluster this bare metal user cluster belongs to. This is the full resource name of the admin cluster's fleet membership. */ adminClusterMembership: pulumi.Input; /** * 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. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Required. User provided identifier that is used as part of the resource name; must conform to RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: /^a-z+[a-z0-9]$/ */ bareMetalClusterId: pulumi.Input; /** * The Anthos clusters on bare metal version for your user cluster. */ bareMetalVersion: pulumi.Input; /** * Binary Authorization related configurations. */ binaryAuthorization?: pulumi.Input; /** * Cluster operations configuration. */ clusterOperations?: pulumi.Input; /** * Control plane configuration. */ controlPlane: pulumi.Input; /** * A human readable description of this bare metal user cluster. */ description?: pulumi.Input; /** * Load balancer configuration. */ loadBalancer: pulumi.Input; location?: pulumi.Input; /** * Maintenance configuration. */ maintenanceConfig?: pulumi.Input; /** * Immutable. The bare metal user cluster resource name. */ name?: pulumi.Input; /** * Network configuration. */ networkConfig: pulumi.Input; /** * Node access related configurations. */ nodeAccessConfig?: pulumi.Input; /** * Workload node configuration. */ nodeConfig?: pulumi.Input; /** * OS environment related configurations. */ osEnvironmentConfig?: pulumi.Input; project?: pulumi.Input; /** * Proxy configuration. */ proxy?: pulumi.Input; /** * Security related setting configuration. */ securityConfig?: pulumi.Input; /** * Storage configuration. */ storage: pulumi.Input; /** * The cluster upgrade policy. */ upgradePolicy?: pulumi.Input; }