import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Vm Cluster Remove Virtual Machine resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/VmClusterRemoveVirtualMachine
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 *
 * Remove Virtual Machines from the VM cluster. Applies to Exadata Cloud@Customer instances only.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testVmClusterRemoveVirtualMachine = new oci.database.VmClusterRemoveVirtualMachine("test_vm_cluster_remove_virtual_machine", {
 *     dbServers: [{
 *         dbServerId: testDbServer.id,
 *     }],
 *     vmClusterId: testVmCluster.id,
 * });
 * ```
 *
 * ## Import
 *
 * VmClusterRemoveVirtualMachine can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Database/vmClusterRemoveVirtualMachine:VmClusterRemoveVirtualMachine test_vm_cluster_remove_virtual_machine "id"
 * ```
 */
export declare class VmClusterRemoveVirtualMachine extends pulumi.CustomResource {
    /**
     * Get an existing VmClusterRemoveVirtualMachine 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?: VmClusterRemoveVirtualMachineState, opts?: pulumi.CustomResourceOptions): VmClusterRemoveVirtualMachine;
    /**
     * Returns true if the given object is an instance of VmClusterRemoveVirtualMachine.  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 VmClusterRemoveVirtualMachine;
    /**
     * The name of the availability domain that the VM cluster is located in.
     */
    readonly availabilityDomain: pulumi.Output<string>;
    /**
     * Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period.
     */
    readonly cloudAutomationUpdateDetails: pulumi.Output<outputs.Database.VmClusterRemoveVirtualMachineCloudAutomationUpdateDetail[]>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * The compute model of the Autonomous AI Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.
     */
    readonly computeModel: pulumi.Output<string>;
    /**
     * The number of enabled CPU cores.
     */
    readonly cpusEnabled: pulumi.Output<number>;
    /**
     * Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS.
     */
    readonly dataCollectionOptions: pulumi.Output<outputs.Database.VmClusterRemoveVirtualMachineDataCollectionOption[]>;
    /**
     * The percentage assigned to DATA storage (user data and database files). See [Storage Configuration](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.
     */
    readonly dataStoragePercentage: pulumi.Output<number>;
    /**
     * Size, in terabytes, of the DATA disk group.
     */
    readonly dataStorageSizeInTbs: pulumi.Output<number>;
    /**
     * The local node storage allocated in GBs.
     */
    readonly dbNodeStorageSizeInGbs: pulumi.Output<number>;
    /**
     * The list of Exacc DB servers for the cluster to be removed.
     */
    readonly dbServers: pulumi.Output<outputs.Database.VmClusterRemoveVirtualMachineDbServer[]>;
    /**
     * 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).
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The user-friendly name for the Exadata Cloud@Customer VM cluster. The name does not need to be unique.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata infrastructure.
     */
    readonly exadataInfrastructureId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Database Storage Vault.
     */
    readonly exascaleDbStorageVaultId: pulumi.Output<string>;
    /**
     * Details of the file system configuration of the VM cluster.
     */
    readonly fileSystemConfigurationDetails: pulumi.Output<outputs.Database.VmClusterRemoveVirtualMachineFileSystemConfigurationDetail[]>;
    /**
     * 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 Oracle Grid Infrastructure software version for the VM cluster.
     */
    readonly giVersion: pulumi.Output<string>;
    /**
     * If true, database backup on local Exadata storage is configured for the VM cluster. If false, database backup on local Exadata storage is not available in the VM cluster.
     */
    readonly isLocalBackupEnabled: pulumi.Output<boolean>;
    /**
     * If true, sparse disk group is configured for the VM cluster. If false, sparse disk group is not created.
     */
    readonly isSparseDiskgroupEnabled: pulumi.Output<boolean>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last patch history. This value is updated as soon as a patch operation starts.
     */
    readonly lastPatchHistoryEntryId: pulumi.Output<string>;
    /**
     * The Oracle license model that applies to the VM cluster. The default is LICENSE_INCLUDED.
     */
    readonly licenseModel: pulumi.Output<string>;
    /**
     * Additional information about the current lifecycle state.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * The memory allocated in GBs.
     */
    readonly memorySizeInGbs: pulumi.Output<number>;
    /**
     * The percentage assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). See [Storage Configuration](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.
     */
    readonly recoStoragePercentage: pulumi.Output<number>;
    /**
     * The shape of the Exadata infrastructure. The shape determines the amount of CPU, storage, and memory resources allocated to the instance.
     */
    readonly shape: pulumi.Output<string>;
    /**
     * The percentage assigned to SPARSE storage (Exadata snapshots). See [Storage Configuration](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.
     */
    readonly sparseStoragePercentage: pulumi.Output<number>;
    /**
     * The public key portion of one or more key pairs used for SSH access to the VM cluster.
     */
    readonly sshPublicKeys: pulumi.Output<string[]>;
    /**
     * The current state of the VM cluster.
     */
    readonly state: pulumi.Output<string>;
    /**
     * Specifies whether the type of storage management for the VM cluster is ASM or Exascale.
     */
    readonly storageManagementType: pulumi.Output<string>;
    /**
     * Operating system version of the image.
     */
    readonly systemVersion: pulumi.Output<string>;
    /**
     * The date and time that the VM cluster was created.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The time zone of the Exadata infrastructure. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm).
     */
    readonly timeZone: pulumi.Output<string>;
    /**
     * The VM cluster [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly vmClusterId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM cluster network.
     */
    readonly vmClusterNetworkId: pulumi.Output<string>;
    /**
     * The vmcluster type for the VM cluster/Cloud VM cluster.
     */
    readonly vmClusterType: pulumi.Output<string>;
    /**
     * Create a VmClusterRemoveVirtualMachine 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: VmClusterRemoveVirtualMachineArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering VmClusterRemoveVirtualMachine resources.
 */
export interface VmClusterRemoveVirtualMachineState {
    /**
     * The name of the availability domain that the VM cluster is located in.
     */
    availabilityDomain?: pulumi.Input<string | undefined>;
    /**
     * Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period.
     */
    cloudAutomationUpdateDetails?: pulumi.Input<pulumi.Input<inputs.Database.VmClusterRemoveVirtualMachineCloudAutomationUpdateDetail>[] | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * The compute model of the Autonomous AI Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.
     */
    computeModel?: pulumi.Input<string | undefined>;
    /**
     * The number of enabled CPU cores.
     */
    cpusEnabled?: pulumi.Input<number | undefined>;
    /**
     * Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS.
     */
    dataCollectionOptions?: pulumi.Input<pulumi.Input<inputs.Database.VmClusterRemoveVirtualMachineDataCollectionOption>[] | undefined>;
    /**
     * The percentage assigned to DATA storage (user data and database files). See [Storage Configuration](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.
     */
    dataStoragePercentage?: pulumi.Input<number | undefined>;
    /**
     * Size, in terabytes, of the DATA disk group.
     */
    dataStorageSizeInTbs?: pulumi.Input<number | undefined>;
    /**
     * The local node storage allocated in GBs.
     */
    dbNodeStorageSizeInGbs?: pulumi.Input<number | undefined>;
    /**
     * The list of Exacc DB servers for the cluster to be removed.
     */
    dbServers?: pulumi.Input<pulumi.Input<inputs.Database.VmClusterRemoveVirtualMachineDbServer>[] | undefined>;
    /**
     * 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).
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The user-friendly name for the Exadata Cloud@Customer VM cluster. The name does not need to be unique.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata infrastructure.
     */
    exadataInfrastructureId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Database Storage Vault.
     */
    exascaleDbStorageVaultId?: pulumi.Input<string | undefined>;
    /**
     * Details of the file system configuration of the VM cluster.
     */
    fileSystemConfigurationDetails?: pulumi.Input<pulumi.Input<inputs.Database.VmClusterRemoveVirtualMachineFileSystemConfigurationDetail>[] | undefined>;
    /**
     * 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 Oracle Grid Infrastructure software version for the VM cluster.
     */
    giVersion?: pulumi.Input<string | undefined>;
    /**
     * If true, database backup on local Exadata storage is configured for the VM cluster. If false, database backup on local Exadata storage is not available in the VM cluster.
     */
    isLocalBackupEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * If true, sparse disk group is configured for the VM cluster. If false, sparse disk group is not created.
     */
    isSparseDiskgroupEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last patch history. This value is updated as soon as a patch operation starts.
     */
    lastPatchHistoryEntryId?: pulumi.Input<string | undefined>;
    /**
     * The Oracle license model that applies to the VM cluster. The default is LICENSE_INCLUDED.
     */
    licenseModel?: pulumi.Input<string | undefined>;
    /**
     * Additional information about the current lifecycle state.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * The memory allocated in GBs.
     */
    memorySizeInGbs?: pulumi.Input<number | undefined>;
    /**
     * The percentage assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). See [Storage Configuration](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.
     */
    recoStoragePercentage?: pulumi.Input<number | undefined>;
    /**
     * The shape of the Exadata infrastructure. The shape determines the amount of CPU, storage, and memory resources allocated to the instance.
     */
    shape?: pulumi.Input<string | undefined>;
    /**
     * The percentage assigned to SPARSE storage (Exadata snapshots). See [Storage Configuration](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage.
     */
    sparseStoragePercentage?: pulumi.Input<number | undefined>;
    /**
     * The public key portion of one or more key pairs used for SSH access to the VM cluster.
     */
    sshPublicKeys?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The current state of the VM cluster.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Specifies whether the type of storage management for the VM cluster is ASM or Exascale.
     */
    storageManagementType?: pulumi.Input<string | undefined>;
    /**
     * Operating system version of the image.
     */
    systemVersion?: pulumi.Input<string | undefined>;
    /**
     * The date and time that the VM cluster was created.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The time zone of the Exadata infrastructure. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm).
     */
    timeZone?: pulumi.Input<string | undefined>;
    /**
     * The VM cluster [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    vmClusterId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM cluster network.
     */
    vmClusterNetworkId?: pulumi.Input<string | undefined>;
    /**
     * The vmcluster type for the VM cluster/Cloud VM cluster.
     */
    vmClusterType?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a VmClusterRemoveVirtualMachine resource.
 */
export interface VmClusterRemoveVirtualMachineArgs {
    /**
     * The list of Exacc DB servers for the cluster to be removed.
     */
    dbServers: pulumi.Input<pulumi.Input<inputs.Database.VmClusterRemoveVirtualMachineDbServer>[]>;
    /**
     * The VM cluster [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    vmClusterId: pulumi.Input<string>;
}
//# sourceMappingURL=vmClusterRemoveVirtualMachine.d.ts.map