import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Management Appliance resource in Oracle Cloud Infrastructure Oracle Cloud VMware Solution service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/vmware/latest/ManagementAppliance
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/ocvp
 *
 * Creates a management appliance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testManagementAppliance = new oci.ocvp.ManagementAppliance("test_management_appliance", {
 *     configuration: {
 *         isLogIngestionEnabled: managementApplianceConfigurationIsLogIngestionEnabled === "true",
 *         isMetricsCollectionEnabled: managementApplianceConfigurationIsMetricsCollectionEnabled === "true",
 *         metrics: managementApplianceConfigurationMetrics,
 *         supportBundleBucketId: testBucket.id,
 *     },
 *     connections: [{
 *         credentialsSecretId: testSecret.id,
 *         type: managementApplianceConnectionsType,
 *     }],
 *     displayName: managementApplianceDisplayName,
 *     sddcId: testSddc.id,
 *     definedTags: {
 *         "Operations.CostCenter": "42",
 *     },
 *     freeformTags: {
 *         Department: "Finance",
 *     },
 *     publicSshKeys: managementAppliancePublicSshKeys,
 * });
 * ```
 *
 * ## Import
 *
 * ManagementAppliances can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Ocvp/managementAppliance:ManagementAppliance test_management_appliance "id"
 * ```
 */
export declare class ManagementAppliance extends pulumi.CustomResource {
    /**
     * Get an existing ManagementAppliance 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?: ManagementApplianceState, opts?: pulumi.CustomResourceOptions): ManagementAppliance;
    /**
     * Returns true if the given object is an instance of ManagementAppliance.  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 ManagementAppliance;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of compartment in OCI, that this appliance is going to be created in.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of compute instance of management appliance in OCI.
     */
    readonly computeInstanceId: pulumi.Output<string>;
    /**
     * (Updatable) Configuration of management appliance.
     */
    readonly configuration: pulumi.Output<outputs.Ocvp.ManagementApplianceConfiguration>;
    /**
     * (Updatable) Array of connections for management appliance.
     */
    readonly connections: pulumi.Output<outputs.Ocvp.ManagementApplianceConnection[]>;
    /**
     * (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 descriptive name for the management appliance. It must be unique, start with a letter, and contain only letters, digits, whitespaces, dashes and underscores. Avoid entering confidential information.
     */
    readonly displayName: 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;
    }>;
    /**
     * Current states of connections.
     */
    readonly heartbeatConnectionStates: pulumi.Output<outputs.Ocvp.ManagementApplianceHeartbeatConnectionState[]>;
    /**
     * Information about current lifecycleState. For FAILED and NEEDS_ATTENTION contains explanations. For other states may contain some details about their progress.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of management agent, that this appliance is running in.
     */
    readonly managementAgentId: pulumi.Output<string>;
    /**
     * Current version of OCVS management plugin installed by Management Agent.  As soon as OCVS service team publishes a new version OCVS management plugin (ocvs-ma-plugin-<version>.zip) to Management Agent service,  the service distributes it to Management Appliances owned by customers.  This field shows which version of the OCVS management plugin is currently installed and running for this customer.
     */
    readonly pluginVersion: pulumi.Output<string>;
    /**
     * One or more public SSH keys to be included in `~/.ssh/authorized_keys` file for Management Appliance compute instance. Several public SSH keys must be separate by newline character.
     */
    readonly publicSshKeys: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of SDDC in OCI, that this appliance is going to be registered in.
     *
     *
     * ** 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 sddcId: pulumi.Output<string>;
    /**
     * Current state of the management appliance.
     */
    readonly state: pulumi.Output<string>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{orcl-cloud: {free-tier-retain: true}}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The date and time the configuration of management appliance was last updated in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    readonly timeConfigurationUpdated: pulumi.Output<string>;
    /**
     * The date and time the management appliance was created in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The date and time the management appliance has last received heartbeat in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    readonly timeLastHeartbeat: pulumi.Output<string>;
    /**
     * The date and time the management appliance was last updated in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * Create a ManagementAppliance 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: ManagementApplianceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ManagementAppliance resources.
 */
export interface ManagementApplianceState {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of compartment in OCI, that this appliance is going to be created in.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of compute instance of management appliance in OCI.
     */
    computeInstanceId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Configuration of management appliance.
     */
    configuration?: pulumi.Input<inputs.Ocvp.ManagementApplianceConfiguration | undefined>;
    /**
     * (Updatable) Array of connections for management appliance.
     */
    connections?: pulumi.Input<pulumi.Input<inputs.Ocvp.ManagementApplianceConnection>[] | 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 descriptive name for the management appliance. It must be unique, start with a letter, and contain only letters, digits, whitespaces, dashes and underscores. Avoid entering confidential information.
     */
    displayName?: 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>;
    /**
     * Current states of connections.
     */
    heartbeatConnectionStates?: pulumi.Input<pulumi.Input<inputs.Ocvp.ManagementApplianceHeartbeatConnectionState>[] | undefined>;
    /**
     * Information about current lifecycleState. For FAILED and NEEDS_ATTENTION contains explanations. For other states may contain some details about their progress.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of management agent, that this appliance is running in.
     */
    managementAgentId?: pulumi.Input<string | undefined>;
    /**
     * Current version of OCVS management plugin installed by Management Agent.  As soon as OCVS service team publishes a new version OCVS management plugin (ocvs-ma-plugin-<version>.zip) to Management Agent service,  the service distributes it to Management Appliances owned by customers.  This field shows which version of the OCVS management plugin is currently installed and running for this customer.
     */
    pluginVersion?: pulumi.Input<string | undefined>;
    /**
     * One or more public SSH keys to be included in `~/.ssh/authorized_keys` file for Management Appliance compute instance. Several public SSH keys must be separate by newline character.
     */
    publicSshKeys?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of SDDC in OCI, that this appliance is going to be registered in.
     *
     *
     * ** 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
     */
    sddcId?: pulumi.Input<string | undefined>;
    /**
     * Current state of the management appliance.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{orcl-cloud: {free-tier-retain: true}}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The date and time the configuration of management appliance was last updated in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    timeConfigurationUpdated?: pulumi.Input<string | undefined>;
    /**
     * The date and time the management appliance was created in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The date and time the management appliance has last received heartbeat in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    timeLastHeartbeat?: pulumi.Input<string | undefined>;
    /**
     * The date and time the management appliance was last updated in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    timeUpdated?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a ManagementAppliance resource.
 */
export interface ManagementApplianceArgs {
    /**
     * (Updatable) Configuration of management appliance.
     */
    configuration: pulumi.Input<inputs.Ocvp.ManagementApplianceConfiguration>;
    /**
     * (Updatable) Array of connections for management appliance.
     */
    connections: pulumi.Input<pulumi.Input<inputs.Ocvp.ManagementApplianceConnection>[]>;
    /**
     * (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 descriptive name for the management appliance. It must be unique, start with a letter, and contain only letters, digits, whitespaces, dashes and underscores. Avoid entering confidential information.
     */
    displayName: pulumi.Input<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"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * One or more public SSH keys to be included in `~/.ssh/authorized_keys` file for Management Appliance compute instance. Several public SSH keys must be separate by newline character.
     */
    publicSshKeys?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of SDDC in OCI, that this appliance is going to be registered in.
     *
     *
     * ** 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
     */
    sddcId: pulumi.Input<string>;
}
//# sourceMappingURL=managementAppliance.d.ts.map