import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Log Analytics Entities in Oracle Cloud Infrastructure Log Analytics service.
 *
 * Return a list of log analytics entities.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testLogAnalyticsEntities = oci.loganalytics.getLogAnalyticsEntities({
 *     compartmentId: compartmentId,
 *     namespace: logAnalyticsEntityNamespace,
 *     cloudResourceId: logAnalyticsEntityCloudResourceId,
 *     definedTagEquals: logAnalyticsEntityDefinedTagEquals,
 *     definedTagExists: logAnalyticsEntityDefinedTagExists,
 *     entityTypeNames: logAnalyticsEntityEntityTypeName,
 *     freeformTagEquals: logAnalyticsEntityFreeformTagEquals,
 *     freeformTagExists: logAnalyticsEntityFreeformTagExists,
 *     hostname: logAnalyticsEntityHostname,
 *     hostnameContains: logAnalyticsEntityHostnameContains,
 *     isManagementAgentIdNull: logAnalyticsEntityIsManagementAgentIdNull,
 *     isShowAssociatedSourcesCount: logAnalyticsEntityIsShowAssociatedSourcesCount === "true",
 *     lifecycleDetailsContains: logAnalyticsEntityLifecycleDetailsContains,
 *     metadataEquals: logAnalyticsEntityMetadataEquals,
 *     name: logAnalyticsEntityName,
 *     nameContains: logAnalyticsEntityNameContains,
 *     sourceId: testSource.id,
 *     state: logAnalyticsEntityState,
 * });
 * ```
 */
export declare function getLogAnalyticsEntities(args: GetLogAnalyticsEntitiesArgs, opts?: pulumi.InvokeOptions): Promise<GetLogAnalyticsEntitiesResult>;
/**
 * A collection of arguments for invoking getLogAnalyticsEntities.
 */
export interface GetLogAnalyticsEntitiesArgs {
    /**
     * A filter to return only log analytics entities whose cloudResourceId matches the cloudResourceId given.
     */
    cloudResourceId?: string;
    /**
     * The ID of the compartment in which to list resources.
     */
    compartmentId: string;
    /**
     * A list of tag filters to apply.  Only entities with a defined tag matching the value will be returned. Each item in the list has the format "{namespace}.{tagName}.{value}".  All inputs are case-insensitive. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as "OR". Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as "AND".
     */
    definedTagEquals?: string[];
    /**
     * A list of tag existence filters to apply.  Only entities for which the specified defined tags exist will be returned. Each item in the list has the format "{namespace}.{tagName}.true" (for checking existence of a defined tag) or "{namespace}.true".  All inputs are case-insensitive. Currently, only existence ("true" at the end) is supported. Absence ("false" at the end) is not supported. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as "OR". Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as "AND".
     */
    definedTagExists?: string[];
    /**
     * A filter to return only log analytics entities whose entityTypeName matches the entire log analytics entity type name of one of the entityTypeNames given in the list. The match is case-insensitive.
     */
    entityTypeNames?: string[];
    filters?: inputs.LogAnalytics.GetLogAnalyticsEntitiesFilter[];
    /**
     * A list of tag filters to apply.  Only entities with a freeform tag matching the value will be returned. The key for each tag is "{tagName}.{value}".  All inputs are case-insensitive. Multiple values for the same tag name are interpreted as "OR".  Values for different tag names are interpreted as "AND".
     */
    freeformTagEquals?: string[];
    /**
     * A list of tag existence filters to apply.  Only entities for which the specified freeform tags exist the value will be returned. The key for each tag is "{tagName}.true".  All inputs are case-insensitive. Currently, only existence ("true" at the end) is supported. Absence ("false" at the end) is not supported. Multiple values for different tag names are interpreted as "AND".
     */
    freeformTagExists?: string[];
    /**
     * A filter to return only log analytics entities whose hostname matches the entire hostname given.
     */
    hostname?: string;
    /**
     * A filter to return only log analytics entities whose hostname contains the substring given. The match is case-insensitive.
     */
    hostnameContains?: string;
    /**
     * A filter to return only those log analytics entities whose managementAgentId is null or is not null.
     */
    isManagementAgentIdNull?: string;
    /**
     * Option to return count of associated log sources for log analytics entity(s).
     */
    isShowAssociatedSourcesCount?: boolean;
    /**
     * A filter to return only log analytics entities whose lifecycleDetails contains the specified string.
     */
    lifecycleDetailsContains?: string;
    /**
     * A filter to return only log analytics entities whose metadata name, value and type matches the specified string. Each item in the array has the format "{name}:{value}:{type}".  All inputs are case-insensitive.
     */
    metadataEquals?: string[];
    /**
     * A filter to return only log analytics entities whose name matches the entire name given. The match is case-insensitive.
     */
    name?: string;
    /**
     * A filter to return only log analytics entities whose name contains the name given. The match is case-insensitive.
     */
    nameContains?: string;
    /**
     * The Log Analytics namespace used for the request. The namespace can be obtained by running 'oci os ns get'
     */
    namespace: string;
    /**
     * A filter to return only log analytics entities whose sourceId matches the sourceId given.
     */
    sourceId?: string;
    /**
     * A filter to return only those log analytics entities with the specified lifecycle state. The state value is case-insensitive.
     */
    state?: string;
}
/**
 * A collection of values returned by getLogAnalyticsEntities.
 */
export interface GetLogAnalyticsEntitiesResult {
    /**
     * The OCID of the Cloud resource which this entity is a representation of. This may be blank when the entity represents a non-cloud resource that the customer may have on their premises.
     */
    readonly cloudResourceId?: string;
    /**
     * Compartment Identifier [OCID] (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    readonly compartmentId: string;
    readonly definedTagEquals?: string[];
    readonly definedTagExists?: string[];
    /**
     * Log analytics entity type name.
     */
    readonly entityTypeNames?: string[];
    readonly filters?: outputs.LogAnalytics.GetLogAnalyticsEntitiesFilter[];
    readonly freeformTagEquals?: string[];
    readonly freeformTagExists?: string[];
    /**
     * The hostname where the entity represented here is actually present. This would be the output one would get if they run `echo $HOSTNAME` on Linux or an equivalent OS command. This may be different from management agents host since logs may be collected remotely.
     */
    readonly hostname?: string;
    readonly hostnameContains?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly isManagementAgentIdNull?: string;
    readonly isShowAssociatedSourcesCount?: boolean;
    readonly lifecycleDetailsContains?: string;
    /**
     * The list of log_analytics_entity_collection.
     */
    readonly logAnalyticsEntityCollections: outputs.LogAnalytics.GetLogAnalyticsEntitiesLogAnalyticsEntityCollection[];
    readonly metadataEquals?: string[];
    /**
     * Log analytics entity name.
     */
    readonly name?: string;
    readonly nameContains?: string;
    readonly namespace: string;
    /**
     * This indicates the type of source. It is primarily for Enterprise Manager Repository ID.
     */
    readonly sourceId?: string;
    /**
     * The current state of the log analytics entity.
     */
    readonly state?: string;
}
/**
 * This data source provides the list of Log Analytics Entities in Oracle Cloud Infrastructure Log Analytics service.
 *
 * Return a list of log analytics entities.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testLogAnalyticsEntities = oci.loganalytics.getLogAnalyticsEntities({
 *     compartmentId: compartmentId,
 *     namespace: logAnalyticsEntityNamespace,
 *     cloudResourceId: logAnalyticsEntityCloudResourceId,
 *     definedTagEquals: logAnalyticsEntityDefinedTagEquals,
 *     definedTagExists: logAnalyticsEntityDefinedTagExists,
 *     entityTypeNames: logAnalyticsEntityEntityTypeName,
 *     freeformTagEquals: logAnalyticsEntityFreeformTagEquals,
 *     freeformTagExists: logAnalyticsEntityFreeformTagExists,
 *     hostname: logAnalyticsEntityHostname,
 *     hostnameContains: logAnalyticsEntityHostnameContains,
 *     isManagementAgentIdNull: logAnalyticsEntityIsManagementAgentIdNull,
 *     isShowAssociatedSourcesCount: logAnalyticsEntityIsShowAssociatedSourcesCount === "true",
 *     lifecycleDetailsContains: logAnalyticsEntityLifecycleDetailsContains,
 *     metadataEquals: logAnalyticsEntityMetadataEquals,
 *     name: logAnalyticsEntityName,
 *     nameContains: logAnalyticsEntityNameContains,
 *     sourceId: testSource.id,
 *     state: logAnalyticsEntityState,
 * });
 * ```
 */
export declare function getLogAnalyticsEntitiesOutput(args: GetLogAnalyticsEntitiesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLogAnalyticsEntitiesResult>;
/**
 * A collection of arguments for invoking getLogAnalyticsEntities.
 */
export interface GetLogAnalyticsEntitiesOutputArgs {
    /**
     * A filter to return only log analytics entities whose cloudResourceId matches the cloudResourceId given.
     */
    cloudResourceId?: pulumi.Input<string | undefined>;
    /**
     * The ID of the compartment in which to list resources.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * A list of tag filters to apply.  Only entities with a defined tag matching the value will be returned. Each item in the list has the format "{namespace}.{tagName}.{value}".  All inputs are case-insensitive. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as "OR". Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as "AND".
     */
    definedTagEquals?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A list of tag existence filters to apply.  Only entities for which the specified defined tags exist will be returned. Each item in the list has the format "{namespace}.{tagName}.true" (for checking existence of a defined tag) or "{namespace}.true".  All inputs are case-insensitive. Currently, only existence ("true" at the end) is supported. Absence ("false" at the end) is not supported. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as "OR". Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as "AND".
     */
    definedTagExists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only log analytics entities whose entityTypeName matches the entire log analytics entity type name of one of the entityTypeNames given in the list. The match is case-insensitive.
     */
    entityTypeNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.LogAnalytics.GetLogAnalyticsEntitiesFilterArgs>[] | undefined>;
    /**
     * A list of tag filters to apply.  Only entities with a freeform tag matching the value will be returned. The key for each tag is "{tagName}.{value}".  All inputs are case-insensitive. Multiple values for the same tag name are interpreted as "OR".  Values for different tag names are interpreted as "AND".
     */
    freeformTagEquals?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A list of tag existence filters to apply.  Only entities for which the specified freeform tags exist the value will be returned. The key for each tag is "{tagName}.true".  All inputs are case-insensitive. Currently, only existence ("true" at the end) is supported. Absence ("false" at the end) is not supported. Multiple values for different tag names are interpreted as "AND".
     */
    freeformTagExists?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only log analytics entities whose hostname matches the entire hostname given.
     */
    hostname?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only log analytics entities whose hostname contains the substring given. The match is case-insensitive.
     */
    hostnameContains?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only those log analytics entities whose managementAgentId is null or is not null.
     */
    isManagementAgentIdNull?: pulumi.Input<string | undefined>;
    /**
     * Option to return count of associated log sources for log analytics entity(s).
     */
    isShowAssociatedSourcesCount?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only log analytics entities whose lifecycleDetails contains the specified string.
     */
    lifecycleDetailsContains?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only log analytics entities whose metadata name, value and type matches the specified string. Each item in the array has the format "{name}:{value}:{type}".  All inputs are case-insensitive.
     */
    metadataEquals?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only log analytics entities whose name matches the entire name given. The match is case-insensitive.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only log analytics entities whose name contains the name given. The match is case-insensitive.
     */
    nameContains?: pulumi.Input<string | undefined>;
    /**
     * The Log Analytics namespace used for the request. The namespace can be obtained by running 'oci os ns get'
     */
    namespace: pulumi.Input<string>;
    /**
     * A filter to return only log analytics entities whose sourceId matches the sourceId given.
     */
    sourceId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only those log analytics entities with the specified lifecycle state. The state value is case-insensitive.
     */
    state?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getLogAnalyticsEntities.d.ts.map