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 Object Versions in Oracle Cloud Infrastructure Object Storage service.
 *
 * Lists the object versions in a bucket.
 *
 * ListObjectVersions returns an ObjectVersionCollection containing at most 1000 object versions. To paginate through
 * more object versions, use the returned `opc-next-page` value with the `page` request parameter.
 *
 * To use this and other API operations, you must be authorized in an IAM policy. If you are not authorized,
 * talk to an administrator. If you are an administrator who needs to write policies to give users access, see
 * [Getting Started with Policies](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testObjectVersions = oci.objectstorage.getObjectVersions({
 *     bucket: objectVersionBucket,
 *     namespace: objectVersionNamespace,
 *     delimiter: objectVersionDelimiter,
 *     end: objectVersionEnd,
 *     fields: objectVersionFields,
 *     prefix: objectVersionPrefix,
 *     start: objectVersionStart,
 *     startAfter: objectVersionStartAfter,
 * });
 * ```
 */
export declare function getObjectVersions(args: GetObjectVersionsArgs, opts?: pulumi.InvokeOptions): Promise<GetObjectVersionsResult>;
/**
 * A collection of arguments for invoking getObjectVersions.
 */
export interface GetObjectVersionsArgs {
    /**
     * The name of the bucket. Avoid entering confidential information. Example: `my-new-bucket1`
     */
    bucket: string;
    /**
     * When this parameter is set, only objects whose names do not contain the delimiter character (after an optionally specified prefix) are returned in the objects key of the response body. Scanned objects whose names contain the delimiter have the part of their name up to the first occurrence of the delimiter (including the optional prefix) returned as a set of prefixes. Note that only '/' is a supported delimiter character at this time.
     */
    delimiter?: string;
    /**
     * Returns object names which are lexicographically strictly less than this parameter.
     */
    end?: string;
    /**
     * Object summary by default includes only the 'name' field. Use this parameter to also include 'size' (object size in bytes), 'etag', 'md5', 'timeCreated' (object creation date and time), 'timeModified' (object modification date and time), 'storageTier' and 'archivalState' fields. Specify the value of this parameter as a comma-separated, case-insensitive list of those field names.  For example 'name,etag,timeCreated,md5,timeModified,storageTier,archivalState'.
     */
    fields?: string;
    filters?: inputs.ObjectStorage.GetObjectVersionsFilter[];
    /**
     * The Object Storage namespace used for the request.
     */
    namespace: string;
    /**
     * The string to use for matching against the start of object names in a list query.
     */
    prefix?: string;
    /**
     * Returns object names which are lexicographically greater than or equal to this parameter.
     */
    start?: string;
    /**
     * Returns object names which are lexicographically strictly greater than this parameter.
     */
    startAfter?: string;
}
/**
 * A collection of values returned by getObjectVersions.
 */
export interface GetObjectVersionsResult {
    readonly bucket: string;
    readonly delimiter?: string;
    readonly end?: string;
    readonly fields?: string;
    readonly filters?: outputs.ObjectStorage.GetObjectVersionsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * An array of object version summaries.
     */
    readonly items: outputs.ObjectStorage.GetObjectVersionsItem[];
    readonly namespace: string;
    readonly prefix?: string;
    /**
     * Prefixes that are common to the results returned by the request if the request specified a delimiter.
     */
    readonly prefixes: string[];
    readonly start?: string;
    readonly startAfter?: string;
}
/**
 * This data source provides the list of Object Versions in Oracle Cloud Infrastructure Object Storage service.
 *
 * Lists the object versions in a bucket.
 *
 * ListObjectVersions returns an ObjectVersionCollection containing at most 1000 object versions. To paginate through
 * more object versions, use the returned `opc-next-page` value with the `page` request parameter.
 *
 * To use this and other API operations, you must be authorized in an IAM policy. If you are not authorized,
 * talk to an administrator. If you are an administrator who needs to write policies to give users access, see
 * [Getting Started with Policies](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testObjectVersions = oci.objectstorage.getObjectVersions({
 *     bucket: objectVersionBucket,
 *     namespace: objectVersionNamespace,
 *     delimiter: objectVersionDelimiter,
 *     end: objectVersionEnd,
 *     fields: objectVersionFields,
 *     prefix: objectVersionPrefix,
 *     start: objectVersionStart,
 *     startAfter: objectVersionStartAfter,
 * });
 * ```
 */
export declare function getObjectVersionsOutput(args: GetObjectVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetObjectVersionsResult>;
/**
 * A collection of arguments for invoking getObjectVersions.
 */
export interface GetObjectVersionsOutputArgs {
    /**
     * The name of the bucket. Avoid entering confidential information. Example: `my-new-bucket1`
     */
    bucket: pulumi.Input<string>;
    /**
     * When this parameter is set, only objects whose names do not contain the delimiter character (after an optionally specified prefix) are returned in the objects key of the response body. Scanned objects whose names contain the delimiter have the part of their name up to the first occurrence of the delimiter (including the optional prefix) returned as a set of prefixes. Note that only '/' is a supported delimiter character at this time.
     */
    delimiter?: pulumi.Input<string | undefined>;
    /**
     * Returns object names which are lexicographically strictly less than this parameter.
     */
    end?: pulumi.Input<string | undefined>;
    /**
     * Object summary by default includes only the 'name' field. Use this parameter to also include 'size' (object size in bytes), 'etag', 'md5', 'timeCreated' (object creation date and time), 'timeModified' (object modification date and time), 'storageTier' and 'archivalState' fields. Specify the value of this parameter as a comma-separated, case-insensitive list of those field names.  For example 'name,etag,timeCreated,md5,timeModified,storageTier,archivalState'.
     */
    fields?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.ObjectStorage.GetObjectVersionsFilterArgs>[] | undefined>;
    /**
     * The Object Storage namespace used for the request.
     */
    namespace: pulumi.Input<string>;
    /**
     * The string to use for matching against the start of object names in a list query.
     */
    prefix?: pulumi.Input<string | undefined>;
    /**
     * Returns object names which are lexicographically greater than or equal to this parameter.
     */
    start?: pulumi.Input<string | undefined>;
    /**
     * Returns object names which are lexicographically strictly greater than this parameter.
     */
    startAfter?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getObjectVersions.d.ts.map