import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Provides access to all Google Cloud Platform KMS CryptoKeyRings in a set location. For more information see
 * [the official documentation](https://cloud.google.com/kms/docs/resource-hierarchy#key_rings)
 * and
 * [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings).
 *
 * A key ring organizes keys in a specific Google Cloud location and lets you manage access control on groups of keys. A key ring's name does not need to be unique across a Google Cloud project, but must be unique within a given location. After creation, a key ring cannot be deleted. Key rings don't incur any costs.
 */
export declare function getKeyRings(args: GetKeyRingsArgs, opts?: pulumi.InvokeOptions): Promise<GetKeyRingsResult>;
/**
 * A collection of arguments for invoking getKeyRings.
 */
export interface GetKeyRingsArgs {
    /**
     * The filter argument is used to add a filter query parameter that limits which key rings are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
     *
     * Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}.
     *
     * * `"name:my-key-"` will retrieve key rings that contain "my-key-" anywhere in their name.
     * * `"name=projects/my-project/locations/global/keyRings/my-key-ring"` will only retrieve a key with that exact name.
     *
     * [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
     */
    filter?: string;
    /**
     * The location that the underlying key ring resides in. e.g us-west1
     */
    location: string;
    /**
     * The Project ID of the project.
     */
    project?: string;
}
/**
 * A collection of values returned by getKeyRings.
 */
export interface GetKeyRingsResult {
    readonly filter?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * A list of all the retrieved key rings from the provided location. This list is influenced by the provided filter argument.
     */
    readonly keyRings: outputs.kms.GetKeyRingsKeyRing[];
    readonly location: string;
    readonly project?: string;
}
/**
 * Provides access to all Google Cloud Platform KMS CryptoKeyRings in a set location. For more information see
 * [the official documentation](https://cloud.google.com/kms/docs/resource-hierarchy#key_rings)
 * and
 * [API](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings).
 *
 * A key ring organizes keys in a specific Google Cloud location and lets you manage access control on groups of keys. A key ring's name does not need to be unique across a Google Cloud project, but must be unique within a given location. After creation, a key ring cannot be deleted. Key rings don't incur any costs.
 */
export declare function getKeyRingsOutput(args: GetKeyRingsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetKeyRingsResult>;
/**
 * A collection of arguments for invoking getKeyRings.
 */
export interface GetKeyRingsOutputArgs {
    /**
     * The filter argument is used to add a filter query parameter that limits which key rings are retrieved by the data source: ?filter={{filter}}. When no value is provided there is no filtering.
     *
     * Example filter values if filtering on name. Note: names take the form projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}.
     *
     * * `"name:my-key-"` will retrieve key rings that contain "my-key-" anywhere in their name.
     * * `"name=projects/my-project/locations/global/keyRings/my-key-ring"` will only retrieve a key with that exact name.
     *
     * [See the documentation about using filters](https://cloud.google.com/kms/docs/sorting-and-filtering)
     */
    filter?: pulumi.Input<string>;
    /**
     * The location that the underlying key ring resides in. e.g us-west1
     */
    location: pulumi.Input<string>;
    /**
     * The Project ID of the project.
     */
    project?: pulumi.Input<string>;
}
