import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Groups in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Search for groups. <b>Important:</b> The Group SEARCH and GET operations on users and members will throw an exception if the response has more than 10,000 members. To avoid the exception, use the pagination filter to GET or SEARCH group members.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testGroups = oci.identity.getDomainsGroups({
 *     idcsEndpoint: testDomain.url,
 *     groupCount: Number(groupGroupCount),
 *     groupFilter: groupGroupFilter,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: groupAuthorization,
 *     resourceTypeSchemaVersion: groupResourceTypeSchemaVersion,
 *     startIndex: Number(groupStartIndex),
 * });
 * ```
 */
export declare function getDomainsGroups(args: GetDomainsGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainsGroupsResult>;
/**
 * A collection of arguments for invoking getDomainsGroups.
 */
export interface GetDomainsGroupsArgs {
    /**
     * A multi-valued list of strings indicating the return type of attribute definition. The specified set of attributes can be fetched by the return type of the attribute. One or more values can be given together to fetch more than one group of attributes. If 'attributes' query parameter is also available, union of the two is fetched. Valid values - all, always, never, request, default. Values are case-insensitive.
     */
    attributeSets?: string[];
    /**
     * A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.
     */
    attributes?: string;
    /**
     * The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.
     */
    authorization?: string;
    compartmentId?: string;
    /**
     * OPTIONAL. An integer that indicates the desired maximum number of query results per page. 1000 is the largest value that you can use. See the Pagination section of the System for Cross-Domain Identity Management Protocol specification for more information. (Section 3.4.2.4).
     */
    groupCount?: number;
    /**
     * OPTIONAL. The filter string that is used to request a subset of resources. The filter string MUST be a valid filter expression. See the Filtering section of the SCIM specification for more information (Section 3.4.2.2). The string should contain at least one condition that each item must match in order to be returned in the search results. Each condition specifies an attribute, an operator, and a value. Conditions within a filter can be connected by logical operators (such as AND and OR). Sets of conditions can be grouped together using parentheses.
     */
    groupFilter?: string;
    /**
     * The basic endpoint for the identity domain
     */
    idcsEndpoint: string;
    /**
     * An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.
     */
    resourceTypeSchemaVersion?: string;
    sortBy?: string;
    sortOrder?: string;
    /**
     * OPTIONAL. An integer that indicates the 1-based index of the first query result. See the Pagination section of the SCIM specification for more information. (Section 3.4.2.4). The number of results pages to return. The first page is 1. Specify 2 to access the second page of results, and so on.
     */
    startIndex?: number;
}
/**
 * A collection of values returned by getDomainsGroups.
 */
export interface GetDomainsGroupsResult {
    readonly attributeSets?: string[];
    readonly attributes?: string;
    readonly authorization?: string;
    readonly compartmentId?: string;
    readonly groupCount?: number;
    readonly groupFilter?: string;
    /**
     * The list of groups.
     */
    readonly groups: outputs.Identity.GetDomainsGroupsGroup[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly idcsEndpoint: string;
    readonly itemsPerPage: number;
    readonly resourceTypeSchemaVersion?: string;
    /**
     * REQUIRED. The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. This specification defines URIs for User, Group, and a standard \"enterprise\" extension. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior.
     */
    readonly schemas: string[];
    readonly sortBy?: string;
    readonly sortOrder?: string;
    readonly startIndex?: number;
    readonly totalResults: number;
}
/**
 * This data source provides the list of Groups in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Search for groups. <b>Important:</b> The Group SEARCH and GET operations on users and members will throw an exception if the response has more than 10,000 members. To avoid the exception, use the pagination filter to GET or SEARCH group members.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testGroups = oci.identity.getDomainsGroups({
 *     idcsEndpoint: testDomain.url,
 *     groupCount: Number(groupGroupCount),
 *     groupFilter: groupGroupFilter,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: groupAuthorization,
 *     resourceTypeSchemaVersion: groupResourceTypeSchemaVersion,
 *     startIndex: Number(groupStartIndex),
 * });
 * ```
 */
export declare function getDomainsGroupsOutput(args: GetDomainsGroupsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDomainsGroupsResult>;
/**
 * A collection of arguments for invoking getDomainsGroups.
 */
export interface GetDomainsGroupsOutputArgs {
    /**
     * A multi-valued list of strings indicating the return type of attribute definition. The specified set of attributes can be fetched by the return type of the attribute. One or more values can be given together to fetch more than one group of attributes. If 'attributes' query parameter is also available, union of the two is fetched. Valid values - all, always, never, request, default. Values are case-insensitive.
     */
    attributeSets?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.
     */
    attributes?: pulumi.Input<string | undefined>;
    /**
     * The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.
     */
    authorization?: pulumi.Input<string | undefined>;
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * OPTIONAL. An integer that indicates the desired maximum number of query results per page. 1000 is the largest value that you can use. See the Pagination section of the System for Cross-Domain Identity Management Protocol specification for more information. (Section 3.4.2.4).
     */
    groupCount?: pulumi.Input<number | undefined>;
    /**
     * OPTIONAL. The filter string that is used to request a subset of resources. The filter string MUST be a valid filter expression. See the Filtering section of the SCIM specification for more information (Section 3.4.2.2). The string should contain at least one condition that each item must match in order to be returned in the search results. Each condition specifies an attribute, an operator, and a value. Conditions within a filter can be connected by logical operators (such as AND and OR). Sets of conditions can be grouped together using parentheses.
     */
    groupFilter?: pulumi.Input<string | undefined>;
    /**
     * The basic endpoint for the identity domain
     */
    idcsEndpoint: pulumi.Input<string>;
    /**
     * An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.
     */
    resourceTypeSchemaVersion?: pulumi.Input<string | undefined>;
    sortBy?: pulumi.Input<string | undefined>;
    sortOrder?: pulumi.Input<string | undefined>;
    /**
     * OPTIONAL. An integer that indicates the 1-based index of the first query result. See the Pagination section of the SCIM specification for more information. (Section 3.4.2.4). The number of results pages to return. The first page is 1. Specify 2 to access the second page of results, and so on.
     */
    startIndex?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=getDomainsGroups.d.ts.map