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 Target Database Groups in Oracle Cloud Infrastructure Data Safe service.
 *
 * Retrieves a list of target database groups according to the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTargetDatabaseGroups = oci.datasafe.getTargetDatabaseGroups({
 *     compartmentId: compartmentId,
 *     accessLevel: targetDatabaseGroupAccessLevel,
 *     compartmentIdInSubtree: targetDatabaseGroupCompartmentIdInSubtree === "true",
 *     displayName: targetDatabaseGroupDisplayName,
 *     state: targetDatabaseGroupState,
 *     targetDatabaseGroupId: testTargetDatabaseGroup.id,
 *     targetDatabaseGroupFilter: targetDatabaseGroupTargetDatabaseGroupFilter,
 *     timeCreatedGreaterThanOrEqualTo: targetDatabaseGroupTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: targetDatabaseGroupTimeCreatedLessThan,
 * });
 * ```
 */
export declare function getTargetDatabaseGroups(args: GetTargetDatabaseGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetTargetDatabaseGroupsResult>;
/**
 * A collection of arguments for invoking getTargetDatabaseGroups.
 */
export interface GetTargetDatabaseGroupsArgs {
    /**
     * Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
     */
    accessLevel?: string;
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: string;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: boolean;
    /**
     * A filter to return only resources that match the specified display name.
     */
    displayName?: string;
    filters?: inputs.DataSafe.GetTargetDatabaseGroupsFilter[];
    /**
     * A filter to retrieve resources that exclusively align with the designated lifecycle state.
     */
    state?: string;
    /**
     * The scim query filter parameter accepts filter expressions that use the syntax described in Section 3.2.2.2 of the System for Cross-Domain Identity Management (SCIM) specification, which is available at [RFC3339](https://tools.ietf.org/html/draft-ietf-scim-api-12). In SCIM filtering expressions, text, date, and time values must be enclosed in quotation marks, with date and time values using ISO-8601 format. (Numeric and boolean values should not be quoted.) Ex:** filter=(targetDatabaseId eq 'ocid1.datasafetargetdatabase.oc1.iad.abuwcljr3u2va4ba5wek53idpe5qq5kkbigzclscc6mysfecxzjt5dgmxqza')
     */
    targetDatabaseGroupFilter?: string;
    /**
     * A filter to return the target database group that matches the specified OCID.
     */
    targetDatabaseGroupId?: string;
    /**
     * A filter to return only the resources that were created after the specified date and time, as defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Using TimeCreatedGreaterThanOrEqualToQueryParam parameter retrieves all resources created after that date.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedGreaterThanOrEqualTo?: string;
    /**
     * Search for resources that were created before a specific date. Specifying this parameter corresponding `timeCreatedLessThan` parameter will retrieve all resources created before the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedLessThan?: string;
}
/**
 * A collection of values returned by getTargetDatabaseGroups.
 */
export interface GetTargetDatabaseGroupsResult {
    readonly accessLevel?: string;
    /**
     * The OCID for the compartment containing the target database group.
     */
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    /**
     * The name of the target database group.
     */
    readonly displayName?: string;
    readonly filters?: outputs.DataSafe.GetTargetDatabaseGroupsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The lifecycle status of the target database group.
     */
    readonly state?: string;
    /**
     * The list of target_database_group_collection.
     */
    readonly targetDatabaseGroupCollections: outputs.DataSafe.GetTargetDatabaseGroupsTargetDatabaseGroupCollection[];
    readonly targetDatabaseGroupFilter?: string;
    readonly targetDatabaseGroupId?: string;
    readonly timeCreatedGreaterThanOrEqualTo?: string;
    readonly timeCreatedLessThan?: string;
}
/**
 * This data source provides the list of Target Database Groups in Oracle Cloud Infrastructure Data Safe service.
 *
 * Retrieves a list of target database groups according to the specified query parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTargetDatabaseGroups = oci.datasafe.getTargetDatabaseGroups({
 *     compartmentId: compartmentId,
 *     accessLevel: targetDatabaseGroupAccessLevel,
 *     compartmentIdInSubtree: targetDatabaseGroupCompartmentIdInSubtree === "true",
 *     displayName: targetDatabaseGroupDisplayName,
 *     state: targetDatabaseGroupState,
 *     targetDatabaseGroupId: testTargetDatabaseGroup.id,
 *     targetDatabaseGroupFilter: targetDatabaseGroupTargetDatabaseGroupFilter,
 *     timeCreatedGreaterThanOrEqualTo: targetDatabaseGroupTimeCreatedGreaterThanOrEqualTo,
 *     timeCreatedLessThan: targetDatabaseGroupTimeCreatedLessThan,
 * });
 * ```
 */
export declare function getTargetDatabaseGroupsOutput(args: GetTargetDatabaseGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTargetDatabaseGroupsResult>;
/**
 * A collection of arguments for invoking getTargetDatabaseGroups.
 */
export interface GetTargetDatabaseGroupsOutputArgs {
    /**
     * Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
     */
    accessLevel?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only resources that match the specified display name.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetTargetDatabaseGroupsFilterArgs>[] | undefined>;
    /**
     * A filter to retrieve resources that exclusively align with the designated lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * The scim query filter parameter accepts filter expressions that use the syntax described in Section 3.2.2.2 of the System for Cross-Domain Identity Management (SCIM) specification, which is available at [RFC3339](https://tools.ietf.org/html/draft-ietf-scim-api-12). In SCIM filtering expressions, text, date, and time values must be enclosed in quotation marks, with date and time values using ISO-8601 format. (Numeric and boolean values should not be quoted.) Ex:** filter=(targetDatabaseId eq 'ocid1.datasafetargetdatabase.oc1.iad.abuwcljr3u2va4ba5wek53idpe5qq5kkbigzclscc6mysfecxzjt5dgmxqza')
     */
    targetDatabaseGroupFilter?: pulumi.Input<string | undefined>;
    /**
     * A filter to return the target database group that matches the specified OCID.
     */
    targetDatabaseGroupId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the resources that were created after the specified date and time, as defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Using TimeCreatedGreaterThanOrEqualToQueryParam parameter retrieves all resources created after that date.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were created before a specific date. Specifying this parameter corresponding `timeCreatedLessThan` parameter will retrieve all resources created before the specified created date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeCreatedLessThan?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getTargetDatabaseGroups.d.ts.map