import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Management Agent resource in Oracle Cloud Infrastructure Management Agent service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/management-agent/latest/ManagementAgent
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/management_agent
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testManagementAgent = new oci.managementagent.ManagementAgent("test_management_agent", {managedAgentId: testManagedAgent.id});
 * ```
 * ***
 * Add plugin to Management Agent created via OCI Compute instance.
 *
 * Compute instance must have OCA Plugin "Management Agent" enabled
 * ## Import
 *
 * ManagementAgents can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:ManagementAgent/managementAgent:ManagementAgent test_management_agent "id"
 * ```
 */
export declare class ManagementAgent extends pulumi.CustomResource {
    /**
     * Get an existing ManagementAgent 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?: ManagementAgentState, opts?: pulumi.CustomResourceOptions): ManagementAgent;
    /**
     * Returns true if the given object is an instance of ManagementAgent.  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 ManagementAgent;
    /**
     * The current availability status of managementAgent
     */
    readonly availabilityStatus: pulumi.Output<string>;
    /**
     * Compartment owning this DataSource.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * list of dataSources associated with the agent
     */
    readonly dataSourceLists: pulumi.Output<outputs.ManagementAgent.ManagementAgentDataSourceList[]>;
    readonly dataSourceSummaryLists: pulumi.Output<outputs.ManagementAgent.ManagementAgentDataSourceSummaryList[]>;
    /**
     * (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) Plugin Id list to deploy to Management Agent. Once deployed, plugins cannot be undeployed.
     *
     * ** 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
     *
     * Management Agent resources are not created or destroyed by terraform.
     *
     * Management Agents should be created using on premise installation, or OCA plugin for Management Agent. See [Management Agent](https://docs.oracle.com/en-us/iaas/management-agents/index.html).
     *
     * Destroy operation in terraform will not delete the Management Agent, this must be performed by steps indicated in [Management Agent](https://docs.oracle.com/en-us/iaas/management-agents/index.html). Destroy will remove the resource from terraform state only.
     */
    readonly deployPluginsIds: pulumi.Output<string[] | undefined>;
    /**
     * (Updatable) New displayName of Agent.
     */
    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;
    }>;
    /**
     * Management Agent host machine name
     */
    readonly host: pulumi.Output<string>;
    /**
     * Host resource ocid
     */
    readonly hostId: pulumi.Output<string>;
    /**
     * agent install key identifier
     */
    readonly installKeyId: pulumi.Output<string>;
    /**
     * Path where Management Agent is installed
     */
    readonly installPath: pulumi.Output<string>;
    /**
     * The install type, either AGENT or GATEWAY
     */
    readonly installType: pulumi.Output<string>;
    /**
     * true if the agent can be upgraded automatically; false if it must be upgraded manually. This flag is derived from the tenancy level auto upgrade preference.
     */
    readonly isAgentAutoUpgradable: pulumi.Output<boolean>;
    /**
     * true, if the agent image is manually downloaded and installed. false, if the agent is deployed as a plugin in Oracle Cloud Agent.
     */
    readonly isCustomerDeployed: pulumi.Output<boolean>;
    readonly latestSupportedVersion: pulumi.Output<string>;
    /**
     * A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * Unique Management Agent identifier
     */
    readonly managedAgentId: pulumi.Output<string>;
    /**
     * Additional properties for this Management Agent
     */
    readonly managementAgentProperties: pulumi.Output<outputs.ManagementAgent.ManagementAgentManagementAgentProperty[]>;
    /**
     * Platform Name
     */
    readonly platformName: pulumi.Output<string>;
    /**
     * Platform Type
     */
    readonly platformType: pulumi.Output<string>;
    /**
     * Platform Version
     */
    readonly platformVersion: pulumi.Output<string>;
    /**
     * list of managementAgentPlugins associated with the agent
     */
    readonly pluginLists: pulumi.Output<outputs.ManagementAgent.ManagementAgentPluginList[]>;
    /**
     * Version of the deployment artifact instantiated by this Management Agent. The format for Standalone resourceMode is YYMMDD.HHMM, and the format for other modes (whose artifacts are based upon Standalone but can advance independently) is YYMMDD.HHMM.VVVVVVVVVVVV. VVVVVVVVVVVV is always a numeric value between 000000000000 and 999999999999
     */
    readonly resourceArtifactVersion: pulumi.Output<string>;
    /**
     * The current state of managementAgent
     */
    readonly state: pulumi.Output<string>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The time the Management Agent was created. An RFC3339 formatted datetime string
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The time the Management Agent has last recorded its health status in telemetry. This value will be null if the agent has not recorded its health status in last 7 days. An RFC3339 formatted datetime string
     */
    readonly timeLastHeartbeat: pulumi.Output<string>;
    /**
     * The time the Management Agent was last updated. An RFC3339 formatted datetime string
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * Management Agent Version
     */
    readonly version: pulumi.Output<string>;
    /**
     * Create a ManagementAgent 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: ManagementAgentArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ManagementAgent resources.
 */
export interface ManagementAgentState {
    /**
     * The current availability status of managementAgent
     */
    availabilityStatus?: pulumi.Input<string | undefined>;
    /**
     * Compartment owning this DataSource.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * list of dataSources associated with the agent
     */
    dataSourceLists?: pulumi.Input<pulumi.Input<inputs.ManagementAgent.ManagementAgentDataSourceList>[] | undefined>;
    dataSourceSummaryLists?: pulumi.Input<pulumi.Input<inputs.ManagementAgent.ManagementAgentDataSourceSummaryList>[] | 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) Plugin Id list to deploy to Management Agent. Once deployed, plugins cannot be undeployed.
     *
     * ** 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
     *
     * Management Agent resources are not created or destroyed by terraform.
     *
     * Management Agents should be created using on premise installation, or OCA plugin for Management Agent. See [Management Agent](https://docs.oracle.com/en-us/iaas/management-agents/index.html).
     *
     * Destroy operation in terraform will not delete the Management Agent, this must be performed by steps indicated in [Management Agent](https://docs.oracle.com/en-us/iaas/management-agents/index.html). Destroy will remove the resource from terraform state only.
     */
    deployPluginsIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * (Updatable) New displayName of Agent.
     */
    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>;
    /**
     * Management Agent host machine name
     */
    host?: pulumi.Input<string | undefined>;
    /**
     * Host resource ocid
     */
    hostId?: pulumi.Input<string | undefined>;
    /**
     * agent install key identifier
     */
    installKeyId?: pulumi.Input<string | undefined>;
    /**
     * Path where Management Agent is installed
     */
    installPath?: pulumi.Input<string | undefined>;
    /**
     * The install type, either AGENT or GATEWAY
     */
    installType?: pulumi.Input<string | undefined>;
    /**
     * true if the agent can be upgraded automatically; false if it must be upgraded manually. This flag is derived from the tenancy level auto upgrade preference.
     */
    isAgentAutoUpgradable?: pulumi.Input<boolean | undefined>;
    /**
     * true, if the agent image is manually downloaded and installed. false, if the agent is deployed as a plugin in Oracle Cloud Agent.
     */
    isCustomerDeployed?: pulumi.Input<boolean | undefined>;
    latestSupportedVersion?: pulumi.Input<string | undefined>;
    /**
     * A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * Unique Management Agent identifier
     */
    managedAgentId?: pulumi.Input<string | undefined>;
    /**
     * Additional properties for this Management Agent
     */
    managementAgentProperties?: pulumi.Input<pulumi.Input<inputs.ManagementAgent.ManagementAgentManagementAgentProperty>[] | undefined>;
    /**
     * Platform Name
     */
    platformName?: pulumi.Input<string | undefined>;
    /**
     * Platform Type
     */
    platformType?: pulumi.Input<string | undefined>;
    /**
     * Platform Version
     */
    platformVersion?: pulumi.Input<string | undefined>;
    /**
     * list of managementAgentPlugins associated with the agent
     */
    pluginLists?: pulumi.Input<pulumi.Input<inputs.ManagementAgent.ManagementAgentPluginList>[] | undefined>;
    /**
     * Version of the deployment artifact instantiated by this Management Agent. The format for Standalone resourceMode is YYMMDD.HHMM, and the format for other modes (whose artifacts are based upon Standalone but can advance independently) is YYMMDD.HHMM.VVVVVVVVVVVV. VVVVVVVVVVVV is always a numeric value between 000000000000 and 999999999999
     */
    resourceArtifactVersion?: pulumi.Input<string | undefined>;
    /**
     * The current state of managementAgent
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The time the Management Agent was created. An RFC3339 formatted datetime string
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The time the Management Agent has last recorded its health status in telemetry. This value will be null if the agent has not recorded its health status in last 7 days. An RFC3339 formatted datetime string
     */
    timeLastHeartbeat?: pulumi.Input<string | undefined>;
    /**
     * The time the Management Agent was last updated. An RFC3339 formatted datetime string
     */
    timeUpdated?: pulumi.Input<string | undefined>;
    /**
     * Management Agent Version
     */
    version?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a ManagementAgent resource.
 */
export interface ManagementAgentArgs {
    /**
     * (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) Plugin Id list to deploy to Management Agent. Once deployed, plugins cannot be undeployed.
     *
     * ** 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
     *
     * Management Agent resources are not created or destroyed by terraform.
     *
     * Management Agents should be created using on premise installation, or OCA plugin for Management Agent. See [Management Agent](https://docs.oracle.com/en-us/iaas/management-agents/index.html).
     *
     * Destroy operation in terraform will not delete the Management Agent, this must be performed by steps indicated in [Management Agent](https://docs.oracle.com/en-us/iaas/management-agents/index.html). Destroy will remove the resource from terraform state only.
     */
    deployPluginsIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * (Updatable) New displayName of Agent.
     */
    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>;
    /**
     * Unique Management Agent identifier
     */
    managedAgentId: pulumi.Input<string>;
}
//# sourceMappingURL=managementAgent.d.ts.map