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 Patches in Oracle Cloud Infrastructure Fleet Apps Management service.
 *
 * Returns a list of all the Patches in the specified compartment.
 * The query parameter `compartmentId` is required unless the query parameter `id` is specified.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testPatches = oci.fleetappsmanagement.getPatches({
 *     compartmentId: compartmentId,
 *     id: patchId,
 *     name: patchName,
 *     patchTypeId: testPatchType.id,
 *     productId: testProduct.id,
 *     shouldCompliancePolicyRulesBeApplied: patchShouldCompliancePolicyRulesBeApplied === "true",
 *     state: patchState,
 *     timeReleasedGreaterThanOrEqualTo: patchTimeReleasedGreaterThanOrEqualTo,
 *     timeReleasedLessThan: patchTimeReleasedLessThan,
 *     type: patchType,
 *     version: patchVersion,
 * });
 * ```
 */
export declare function getPatches(args?: GetPatchesArgs, opts?: pulumi.InvokeOptions): Promise<GetPatchesResult>;
/**
 * A collection of arguments for invoking getPatches.
 */
export interface GetPatchesArgs {
    /**
     * The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.
     */
    compartmentId?: string;
    filters?: inputs.FleetAppsManagement.GetPatchesFilter[];
    /**
     * Unique identifier or OCID for listing a single Patch by id. Either compartmentId or id must be provided.
     */
    id?: string;
    /**
     * A filter to return only resources that match the entire name given.
     */
    name?: string;
    /**
     * Patch Type platformConfigurationId associated with the Patch.
     */
    patchTypeId?: string;
    /**
     * Product platformConfigurationId associated with the Patch.
     */
    productId?: string;
    /**
     * Filter patch based on compliance policy rules for the Product.
     */
    shouldCompliancePolicyRulesBeApplied?: boolean;
    /**
     * The current state of the Patch.
     */
    state?: string;
    /**
     * A filter to return patches whose release date is greater than or equal to the given date.
     */
    timeReleasedGreaterThanOrEqualTo?: string;
    /**
     * A filter to return patches whose release date is less than the given date.
     */
    timeReleasedLessThan?: string;
    /**
     * DefinedBy type.
     */
    type?: string;
    /**
     * Product version.
     */
    version?: string;
}
/**
 * A collection of values returned by getPatches.
 */
export interface GetPatchesResult {
    readonly compartmentId?: string;
    readonly filters?: outputs.FleetAppsManagement.GetPatchesFilter[];
    /**
     * The OCID of the resource.
     */
    readonly id?: string;
    /**
     * A user-friendly name. Should be unique within the tenancy, and cannot be changed after creation.  Avoid entering confidential information.
     */
    readonly name?: string;
    /**
     * The list of patch_collection.
     */
    readonly patchCollections: outputs.FleetAppsManagement.GetPatchesPatchCollection[];
    readonly patchTypeId?: string;
    readonly productId?: string;
    readonly shouldCompliancePolicyRulesBeApplied?: boolean;
    /**
     * The current state of the Patch.
     */
    readonly state?: string;
    readonly timeReleasedGreaterThanOrEqualTo?: string;
    readonly timeReleasedLessThan?: string;
    /**
     * Provide information on who defined the patch. Example: For Custom Patches the value will be USER_DEFINED For Oracle Defined Patches the value will be ORACLE_DEFINED
     */
    readonly type?: string;
    /**
     * product version.
     */
    readonly version?: string;
}
/**
 * This data source provides the list of Patches in Oracle Cloud Infrastructure Fleet Apps Management service.
 *
 * Returns a list of all the Patches in the specified compartment.
 * The query parameter `compartmentId` is required unless the query parameter `id` is specified.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testPatches = oci.fleetappsmanagement.getPatches({
 *     compartmentId: compartmentId,
 *     id: patchId,
 *     name: patchName,
 *     patchTypeId: testPatchType.id,
 *     productId: testProduct.id,
 *     shouldCompliancePolicyRulesBeApplied: patchShouldCompliancePolicyRulesBeApplied === "true",
 *     state: patchState,
 *     timeReleasedGreaterThanOrEqualTo: patchTimeReleasedGreaterThanOrEqualTo,
 *     timeReleasedLessThan: patchTimeReleasedLessThan,
 *     type: patchType,
 *     version: patchVersion,
 * });
 * ```
 */
export declare function getPatchesOutput(args?: GetPatchesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPatchesResult>;
/**
 * A collection of arguments for invoking getPatches.
 */
export interface GetPatchesOutputArgs {
    /**
     * The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.FleetAppsManagement.GetPatchesFilterArgs>[] | undefined>;
    /**
     * Unique identifier or OCID for listing a single Patch by id. Either compartmentId or id must be provided.
     */
    id?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only resources that match the entire name given.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Patch Type platformConfigurationId associated with the Patch.
     */
    patchTypeId?: pulumi.Input<string | undefined>;
    /**
     * Product platformConfigurationId associated with the Patch.
     */
    productId?: pulumi.Input<string | undefined>;
    /**
     * Filter patch based on compliance policy rules for the Product.
     */
    shouldCompliancePolicyRulesBeApplied?: pulumi.Input<boolean | undefined>;
    /**
     * The current state of the Patch.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * A filter to return patches whose release date is greater than or equal to the given date.
     */
    timeReleasedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * A filter to return patches whose release date is less than the given date.
     */
    timeReleasedLessThan?: pulumi.Input<string | undefined>;
    /**
     * DefinedBy type.
     */
    type?: pulumi.Input<string | undefined>;
    /**
     * Product version.
     */
    version?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getPatches.d.ts.map