import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a new bare metal admin cluster in a given project and location. The API needs to be combined with creating a bootstrap cluster to work. See: https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/creating-clusters/create-admin-cluster-api#prepare_bootstrap_environment * Note - this resource's API doesn't support deletion. When deleted, the resource will persist * on Google Cloud even though it will be deleted from Pulumi state. */ export declare class BareMetalAdminCluster extends pulumi.CustomResource { /** * Get an existing BareMetalAdminCluster 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): BareMetalAdminCluster; /** * Returns true if the given object is an instance of BareMetalAdminCluster. 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 BareMetalAdminCluster; /** * 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. */ 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 bareMetalAdminClusterId: pulumi.Output; /** * The Anthos clusters on bare metal version for the bare metal admin 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 at which this bare metal admin cluster was created. */ readonly createTime: pulumi.Output; /** * The time at which this bare metal admin 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 admin cluster. */ readonly description: pulumi.Output; /** * The IP address name of bare metal admin 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 cluster custom resource. This field is used to support conflicting names when enrolling existing clusters to the API. When used as a part of cluster enrollment, this field will differ from the ID in the resource name. For new clusters, this field will match the user provided cluster name and be visible in the last component of the resource name. It is not modifiable. All users should use this name to access their cluster using gkectl or kubectl and should expect to see the local name when viewing admin cluster controller logs. */ readonly localName: pulumi.Output; readonly location: pulumi.Output; /** * Maintenance configuration. */ readonly maintenanceConfig: pulumi.Output; /** * MaintenanceStatus representing state of maintenance. */ readonly maintenanceStatus: pulumi.Output; /** * Immutable. The bare metal admin 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 Admin Cluster. */ readonly reconciling: pulumi.Output; /** * Security related configuration. */ readonly securityConfig: pulumi.Output; /** * The current state of the bare metal admin cluster. */ readonly state: pulumi.Output; /** * ResourceStatus representing detailed cluster status. */ readonly status: pulumi.Output; /** * Storage configuration. */ readonly storage: pulumi.Output; /** * The unique identifier of the bare metal admin cluster. */ readonly uid: pulumi.Output; /** * The time at which this bare metal admin cluster was last updated. */ readonly updateTime: pulumi.Output; /** * ValidationCheck representing the result of the preflight check. */ readonly validationCheck: pulumi.Output; /** * Create a BareMetalAdminCluster 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: BareMetalAdminClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a BareMetalAdminCluster resource. */ export interface BareMetalAdminClusterArgs { /** * 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. */ 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]$/ */ bareMetalAdminClusterId: pulumi.Input; /** * The Anthos clusters on bare metal version for the bare metal admin 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 admin cluster. */ description?: pulumi.Input; /** * 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. */ etag?: pulumi.Input; /** * Load balancer configuration. */ loadBalancer?: pulumi.Input; location?: pulumi.Input; /** * Maintenance configuration. */ maintenanceConfig?: pulumi.Input; /** * Immutable. The bare metal admin 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 configuration. */ securityConfig?: pulumi.Input; /** * Storage configuration. */ storage?: pulumi.Input; }