import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Monitored Resources Search resource in Oracle Cloud Infrastructure Stack Monitoring service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/stack-monitoring/latest/MonitoredResourcesSearch
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/stack_monitoring
 *
 * Gets a list of all monitored resources in a compartment for the given search criteria.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMonitoredResourcesSearch = new oci.stackmonitoring.MonitoredResourcesSearch("test_monitored_resources_search", {
 *     compartmentId: compartmentId,
 *     compartmentIds: monitoredResourcesSearchCompartmentIds,
 *     excludeFields: monitoredResourcesSearchExcludeFields,
 *     externalId: testExternal.id,
 *     fields: monitoredResourcesSearchFields,
 *     hostName: monitoredResourcesSearchHostName,
 *     hostNameContains: monitoredResourcesSearchHostNameContains,
 *     license: monitoredResourcesSearchLicense,
 *     lifecycleStates: monitoredResourcesSearchLifecycleStates,
 *     managementAgentId: testManagementAgent.id,
 *     name: monitoredResourcesSearchName,
 *     nameContains: monitoredResourcesSearchNameContains,
 *     propertyEquals: monitoredResourcesSearchPropertyEquals,
 *     resourceCategory: monitoredResourcesSearchResourceCategory,
 *     resourceTimeZone: monitoredResourcesSearchResourceTimeZone,
 *     sourceType: monitoredResourcesSearchSourceType,
 *     state: monitoredResourcesSearchState,
 *     timeCreatedGreaterThanOrEqualTo: monitoredResourcesSearchTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: monitoredResourcesSearchTimeCreatedLessThan,
 *     timeUpdatedGreaterThanOrEqualTo: monitoredResourcesSearchTimeUpdatedGreaterThanOrEqualTo,
 *     timeUpdatedLessThan: monitoredResourcesSearchTimeUpdatedLessThan,
 *     type: monitoredResourcesSearchType,
 * });
 * ```
 *
 * ## Import
 *
 * MonitoredResourcesSearch can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:StackMonitoring/monitoredResourcesSearch:MonitoredResourcesSearch test_monitored_resources_search "id"
 * ```
 */
export declare class MonitoredResourcesSearch extends pulumi.CustomResource {
    /**
     * Get an existing MonitoredResourcesSearch 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?: MonitoredResourcesSearchState, opts?: pulumi.CustomResourceOptions): MonitoredResourcesSearch;
    /**
     * Returns true if the given object is an instance of MonitoredResourcesSearch.  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 MonitoredResourcesSearch;
    /**
     * Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * Multiple compartment identifiers [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    readonly compartmentIds: pulumi.Output<string[] | undefined>;
    /**
     * Partial response refers to an optimization technique offered by the RESTful web APIs, to return all the information except the fields requested to be excluded (excludeFields) by the client. In this mechanism, the client sends the exclude field names as the query parameters for an API to the server, and the server trims down the default response content by removing the fields that are not required by the client. The parameter controls which fields to exlude and to return and should be a query string parameter called "excludeFields" of an array type, provide the values as enums, and use collectionFormat.
     */
    readonly excludeFields: pulumi.Output<string[] | undefined>;
    /**
     * External resource is any Oracle Cloud Infrastructure resource identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) which is not a Stack Monitoring service resource. Currently supports only following resource types - Container database, non-container database,  pluggable database and Oracle Cloud Infrastructure compute instance.
     */
    readonly externalId: pulumi.Output<string | undefined>;
    /**
     * Partial response refers to an optimization technique offered by the RESTful web APIs, to return only the information (fields) required by the client. In this mechanism, the client sends the required field names as the query parameters for an API to the server, and the server trims down the default response content by removing the fields that are not required by the client. The parameter controls which fields to return and should be a query string parameter called "fields" of an array type, provide the values as enums, and use collectionFormat.
     */
    readonly fields: pulumi.Output<string[] | undefined>;
    /**
     * A filter to return resources with host name match.
     */
    readonly hostName: pulumi.Output<string | undefined>;
    /**
     * A filter to return resources with host name pattern.
     */
    readonly hostNameContains: pulumi.Output<string | undefined>;
    /**
     * List of monitored resources.
     */
    readonly items: pulumi.Output<outputs.StackMonitoring.MonitoredResourcesSearchItem[]>;
    /**
     * License edition of the monitored resource.
     */
    readonly license: pulumi.Output<string | undefined>;
    /**
     * Multiple lifecycle states filter.
     */
    readonly lifecycleStates: pulumi.Output<string[] | undefined>;
    /**
     * A filter to return resources with matching management agent id.
     */
    readonly managementAgentId: pulumi.Output<string | undefined>;
    /**
     * A filter to return resources that match exact resource name.
     */
    readonly name: pulumi.Output<string>;
    /**
     * A filter to return resources that match resource name pattern given. The match is not case sensitive.
     */
    readonly nameContains: pulumi.Output<string | undefined>;
    /**
     * Criteria based on resource property.
     */
    readonly propertyEquals: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Resource category filter.
     */
    readonly resourceCategory: pulumi.Output<string | undefined>;
    /**
     * Time zone in the form of tz database canonical zone ID. Specifies the preference with a value that uses the IANA Time Zone Database format (x-obmcs-time-zone). For example - America/Los_Angeles
     */
    readonly resourceTimeZone: pulumi.Output<string | undefined>;
    /**
     * Source type filter.
     */
    readonly sourceType: pulumi.Output<string | undefined>;
    /**
     * A filter to return resources with matching lifecycle state.
     */
    readonly state: pulumi.Output<string | undefined>;
    /**
     * Search for resources that were created within a specific date range, using this parameter to specify the earliest creation date for the returned list (inclusive). Specifying this parameter without the corresponding `timeCreatedLessThan` parameter will retrieve resources created from the given `timeCreatedGreaterThanOrEqualTo` to the current time, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    readonly timeCreatedGreaterThanOrEqualTo: pulumi.Output<string | undefined>;
    /**
     * Search for resources that were created within a specific date range, using this parameter to specify the latest creation date for the returned list (exclusive). Specifying this parameter without the corresponding `timeCreatedGreaterThanOrEqualTo` parameter will retrieve all resources created before the specified end date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    readonly timeCreatedLessThan: pulumi.Output<string | undefined>;
    /**
     * Search for resources that were updated within a specific date range, using this parameter to specify the earliest update date for the returned list (inclusive). Specifying this parameter without the corresponding `timeUpdatedLessThan` parameter will retrieve resources updated from the given `timeUpdatedGreaterThanOrEqualTo` to the current time, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    readonly timeUpdatedGreaterThanOrEqualTo: pulumi.Output<string | undefined>;
    /**
     * Search for resources that were updated within a specific date range, using this parameter to specify the latest creation date for the returned list (exclusive). Specifying this parameter without the corresponding `timeUpdatedGreaterThanOrEqualTo` parameter will retrieve all resources updated before the specified end date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    readonly timeUpdatedLessThan: pulumi.Output<string | undefined>;
    /**
     * A filter to return resources that match resource type.
     *
     *
     * ** 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 type: pulumi.Output<string | undefined>;
    /**
     * Create a MonitoredResourcesSearch 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: MonitoredResourcesSearchArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering MonitoredResourcesSearch resources.
 */
export interface MonitoredResourcesSearchState {
    /**
     * Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * Multiple compartment identifiers [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    compartmentIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Partial response refers to an optimization technique offered by the RESTful web APIs, to return all the information except the fields requested to be excluded (excludeFields) by the client. In this mechanism, the client sends the exclude field names as the query parameters for an API to the server, and the server trims down the default response content by removing the fields that are not required by the client. The parameter controls which fields to exlude and to return and should be a query string parameter called "excludeFields" of an array type, provide the values as enums, and use collectionFormat.
     */
    excludeFields?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * External resource is any Oracle Cloud Infrastructure resource identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) which is not a Stack Monitoring service resource. Currently supports only following resource types - Container database, non-container database,  pluggable database and Oracle Cloud Infrastructure compute instance.
     */
    externalId?: pulumi.Input<string | undefined>;
    /**
     * Partial response refers to an optimization technique offered by the RESTful web APIs, to return only the information (fields) required by the client. In this mechanism, the client sends the required field names as the query parameters for an API to the server, and the server trims down the default response content by removing the fields that are not required by the client. The parameter controls which fields to return and should be a query string parameter called "fields" of an array type, provide the values as enums, and use collectionFormat.
     */
    fields?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return resources with host name match.
     */
    hostName?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources with host name pattern.
     */
    hostNameContains?: pulumi.Input<string | undefined>;
    /**
     * List of monitored resources.
     */
    items?: pulumi.Input<pulumi.Input<inputs.StackMonitoring.MonitoredResourcesSearchItem>[] | undefined>;
    /**
     * License edition of the monitored resource.
     */
    license?: pulumi.Input<string | undefined>;
    /**
     * Multiple lifecycle states filter.
     */
    lifecycleStates?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return resources with matching management agent id.
     */
    managementAgentId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match exact resource name.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match resource name pattern given. The match is not case sensitive.
     */
    nameContains?: pulumi.Input<string | undefined>;
    /**
     * Criteria based on resource property.
     */
    propertyEquals?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Resource category filter.
     */
    resourceCategory?: pulumi.Input<string | undefined>;
    /**
     * Time zone in the form of tz database canonical zone ID. Specifies the preference with a value that uses the IANA Time Zone Database format (x-obmcs-time-zone). For example - America/Los_Angeles
     */
    resourceTimeZone?: pulumi.Input<string | undefined>;
    /**
     * Source type filter.
     */
    sourceType?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources with matching lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were created within a specific date range, using this parameter to specify the earliest creation date for the returned list (inclusive). Specifying this parameter without the corresponding `timeCreatedLessThan` parameter will retrieve resources created from the given `timeCreatedGreaterThanOrEqualTo` to the current time, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were created within a specific date range, using this parameter to specify the latest creation date for the returned list (exclusive). Specifying this parameter without the corresponding `timeCreatedGreaterThanOrEqualTo` parameter will retrieve all resources created before the specified end date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedLessThan?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were updated within a specific date range, using this parameter to specify the earliest update date for the returned list (inclusive). Specifying this parameter without the corresponding `timeUpdatedLessThan` parameter will retrieve resources updated from the given `timeUpdatedGreaterThanOrEqualTo` to the current time, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeUpdatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were updated within a specific date range, using this parameter to specify the latest creation date for the returned list (exclusive). Specifying this parameter without the corresponding `timeUpdatedGreaterThanOrEqualTo` parameter will retrieve all resources updated before the specified end date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeUpdatedLessThan?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match resource type.
     *
     *
     * ** 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
     */
    type?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a MonitoredResourcesSearch resource.
 */
export interface MonitoredResourcesSearchArgs {
    /**
     * Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    compartmentId: pulumi.Input<string>;
    /**
     * Multiple compartment identifiers [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    compartmentIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Partial response refers to an optimization technique offered by the RESTful web APIs, to return all the information except the fields requested to be excluded (excludeFields) by the client. In this mechanism, the client sends the exclude field names as the query parameters for an API to the server, and the server trims down the default response content by removing the fields that are not required by the client. The parameter controls which fields to exlude and to return and should be a query string parameter called "excludeFields" of an array type, provide the values as enums, and use collectionFormat.
     */
    excludeFields?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * External resource is any Oracle Cloud Infrastructure resource identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) which is not a Stack Monitoring service resource. Currently supports only following resource types - Container database, non-container database,  pluggable database and Oracle Cloud Infrastructure compute instance.
     */
    externalId?: pulumi.Input<string | undefined>;
    /**
     * Partial response refers to an optimization technique offered by the RESTful web APIs, to return only the information (fields) required by the client. In this mechanism, the client sends the required field names as the query parameters for an API to the server, and the server trims down the default response content by removing the fields that are not required by the client. The parameter controls which fields to return and should be a query string parameter called "fields" of an array type, provide the values as enums, and use collectionFormat.
     */
    fields?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return resources with host name match.
     */
    hostName?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources with host name pattern.
     */
    hostNameContains?: pulumi.Input<string | undefined>;
    /**
     * License edition of the monitored resource.
     */
    license?: pulumi.Input<string | undefined>;
    /**
     * Multiple lifecycle states filter.
     */
    lifecycleStates?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return resources with matching management agent id.
     */
    managementAgentId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match exact resource name.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match resource name pattern given. The match is not case sensitive.
     */
    nameContains?: pulumi.Input<string | undefined>;
    /**
     * Criteria based on resource property.
     */
    propertyEquals?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Resource category filter.
     */
    resourceCategory?: pulumi.Input<string | undefined>;
    /**
     * Time zone in the form of tz database canonical zone ID. Specifies the preference with a value that uses the IANA Time Zone Database format (x-obmcs-time-zone). For example - America/Los_Angeles
     */
    resourceTimeZone?: pulumi.Input<string | undefined>;
    /**
     * Source type filter.
     */
    sourceType?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources with matching lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were created within a specific date range, using this parameter to specify the earliest creation date for the returned list (inclusive). Specifying this parameter without the corresponding `timeCreatedLessThan` parameter will retrieve resources created from the given `timeCreatedGreaterThanOrEqualTo` to the current time, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were created within a specific date range, using this parameter to specify the latest creation date for the returned list (exclusive). Specifying this parameter without the corresponding `timeCreatedGreaterThanOrEqualTo` parameter will retrieve all resources created before the specified end date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedLessThan?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were updated within a specific date range, using this parameter to specify the earliest update date for the returned list (inclusive). Specifying this parameter without the corresponding `timeUpdatedLessThan` parameter will retrieve resources updated from the given `timeUpdatedGreaterThanOrEqualTo` to the current time, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeUpdatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were updated within a specific date range, using this parameter to specify the latest creation date for the returned list (exclusive). Specifying this parameter without the corresponding `timeUpdatedGreaterThanOrEqualTo` parameter will retrieve all resources updated before the specified end date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by [RFC 3339](https://tools.ietf.org/html/rfc3339).
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeUpdatedLessThan?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match resource type.
     *
     *
     * ** 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
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=monitoredResourcesSearch.d.ts.map