import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Compute Host resource in Oracle Cloud Infrastructure Core service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/iaas/latest/ComputeHost
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/
 *
 * Customer can update the some fields for ComputeHost record
 *
 * ## Import
 *
 * ComputeHosts can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Core/computeHost:ComputeHost test_compute_host "id"
 * ```
 */
export declare class ComputeHost extends pulumi.CustomResource {
    /**
     * Get an existing ComputeHost 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ComputeHostState, opts?: pulumi.CustomResourceOptions): ComputeHost;
    /**
     * Returns true if the given object is an instance of ComputeHost.  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 ComputeHost;
    /**
     * Additional data that can be exposed to the customer.  Will include raw fault codes for strategic customers
     */
    readonly additionalData: pulumi.Output<string>;
    /**
     * The availability domain of the compute host.  Example: `Uocm:US-CHICAGO-1-AD-2`
     */
    readonly availabilityDomain: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the Capacity Reserver that is currently on host
     */
    readonly capacityReservationId: pulumi.Output<string>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the compartment. This should always be the root compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute host group this host was attached to at the time of recycle.
     */
    readonly computeHostGroupId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute host.
     */
    readonly computeHostId: pulumi.Output<string>;
    /**
     * (Updatable) The configuration action to next occur on the host if pinning its firmware with a host group.
     */
    readonly configurationActionType: pulumi.Output<string | undefined>;
    /**
     * Compute Host Configuration Data
     */
    readonly configurationDatas: pulumi.Output<outputs.Core.ComputeHostConfigurationData[]>;
    /**
     * Configuration state of the Compute Bare Metal Host.
     */
    readonly configurationState: pulumi.Output<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.
     */
    readonly faultDomain: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the Customer-unique firmware bundle associated with the Host.
     */
    readonly firmwareBundleId: pulumi.Output<string>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique GPU Memory Fabric
     */
    readonly gpuMemoryFabricId: pulumi.Output<string>;
    /**
     * The heathy state of the host
     */
    readonly health: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique HPC Island
     */
    readonly hpcIslandId: pulumi.Output<string>;
    /**
     * A list that contains impacted components related to an unhealthy host. An impacted component will be a  free-form structure of key values pairs that will provide more or less details based on data tiering
     */
    readonly impactedComponentDetails: pulumi.Output<string>;
    /**
     * The public [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the Virtual Machine or Bare Metal instance
     */
    readonly instanceId: pulumi.Output<string>;
    /**
     * A free-form description detailing why the host is in its current state.
     */
    readonly lifecycleDetails: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique Local Block
     */
    readonly localBlockId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique Network Block
     */
    readonly networkBlockId: pulumi.Output<string>;
    /**
     * The platform of the host
     */
    readonly platform: pulumi.Output<string>;
    /**
     * Shows details about the last recycle performed on this host.
     */
    readonly recycleDetails: pulumi.Output<outputs.Core.ComputeHostRecycleDetail[]>;
    /**
     * The shape of host
     */
    readonly shape: pulumi.Output<string>;
    /**
     * The lifecycle state of the host
     */
    readonly state: pulumi.Output<string>;
    /**
     * The date and time that the compute bare metal host configuration check was updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeConfigurationCheck: pulumi.Output<string>;
    /**
     * The date and time that the compute host record was created, in the format defined by [RFC3339](https://tools .ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The date and time that the compute host record was updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * Create a ComputeHost 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: ComputeHostArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ComputeHost resources.
 */
export interface ComputeHostState {
    /**
     * Additional data that can be exposed to the customer.  Will include raw fault codes for strategic customers
     */
    additionalData?: pulumi.Input<string | undefined>;
    /**
     * The availability domain of the compute host.  Example: `Uocm:US-CHICAGO-1-AD-2`
     */
    availabilityDomain?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the Capacity Reserver that is currently on host
     */
    capacityReservationId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the compartment. This should always be the root compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute host group this host was attached to at the time of recycle.
     */
    computeHostGroupId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute host.
     */
    computeHostId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The configuration action to next occur on the host if pinning its firmware with a host group.
     */
    configurationActionType?: pulumi.Input<string | undefined>;
    /**
     * Compute Host Configuration Data
     */
    configurationDatas?: pulumi.Input<pulumi.Input<inputs.Core.ComputeHostConfigurationData>[] | undefined>;
    /**
     * Configuration state of the Compute Bare Metal Host.
     */
    configurationState?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.
     */
    faultDomain?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the Customer-unique firmware bundle associated with the Host.
     */
    firmwareBundleId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique GPU Memory Fabric
     */
    gpuMemoryFabricId?: pulumi.Input<string | undefined>;
    /**
     * The heathy state of the host
     */
    health?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique HPC Island
     */
    hpcIslandId?: pulumi.Input<string | undefined>;
    /**
     * A list that contains impacted components related to an unhealthy host. An impacted component will be a  free-form structure of key values pairs that will provide more or less details based on data tiering
     */
    impactedComponentDetails?: pulumi.Input<string | undefined>;
    /**
     * The public [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the Virtual Machine or Bare Metal instance
     */
    instanceId?: pulumi.Input<string | undefined>;
    /**
     * A free-form description detailing why the host is in its current state.
     */
    lifecycleDetails?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique Local Block
     */
    localBlockId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for Customer-unique Network Block
     */
    networkBlockId?: pulumi.Input<string | undefined>;
    /**
     * The platform of the host
     */
    platform?: pulumi.Input<string | undefined>;
    /**
     * Shows details about the last recycle performed on this host.
     */
    recycleDetails?: pulumi.Input<pulumi.Input<inputs.Core.ComputeHostRecycleDetail>[] | undefined>;
    /**
     * The shape of host
     */
    shape?: pulumi.Input<string | undefined>;
    /**
     * The lifecycle state of the host
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * The date and time that the compute bare metal host configuration check was updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    timeConfigurationCheck?: pulumi.Input<string | undefined>;
    /**
     * The date and time that the compute host record was created, in the format defined by [RFC3339](https://tools .ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The date and time that the compute host record was updated, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).  Example: `2016-08-25T21:10:29.600Z`
     */
    timeUpdated?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a ComputeHost resource.
 */
export interface ComputeHostArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute host group this host was attached to at the time of recycle.
     */
    computeHostGroupId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compute host.
     */
    computeHostId: pulumi.Input<string>;
    /**
     * (Updatable) The configuration action to next occur on the host if pinning its firmware with a host group.
     */
    configurationActionType?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=computeHost.d.ts.map