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 Profiles in Oracle Cloud Infrastructure Os Management Hub service.
 *
 * Lists registration profiles that match the specified compartment or profile OCID. Filter the list against a
 * variety of criteria including but not limited to its name, status, vendor name, and architecture type.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testProfiles = oci.osmanagementhub.getProfiles({
 *     archType: profileArchType,
 *     compartmentId: compartmentId,
 *     displayNames: profileDisplayName,
 *     displayNameContains: profileDisplayNameContains,
 *     isDefaultProfile: profileIsDefaultProfile === "true",
 *     isServiceProvidedProfile: profileIsServiceProvidedProfile === "true",
 *     managementStations: profileManagementStation,
 *     managementStationNotEqualTos: profileManagementStationNotEqualTo,
 *     osFamily: profileOsFamily,
 *     profileId: testProfile.id,
 *     profileTypes: profileProfileType,
 *     profileVersion: profileProfileVersion,
 *     registrationTypes: profileRegistrationType,
 *     state: profileState,
 *     vendorName: profileVendorName,
 * });
 * ```
 */
export declare function getProfiles(args?: GetProfilesArgs, opts?: pulumi.InvokeOptions): Promise<GetProfilesResult>;
/**
 * A collection of arguments for invoking getProfiles.
 */
export interface GetProfilesArgs {
    /**
     * A filter to return only profiles that match the given archType.
     */
    archType?: string;
    /**
     * (Updatable) The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.
     */
    compartmentId?: string;
    /**
     * A filter to return resources that may partially match the given display name.
     */
    displayNameContains?: string;
    /**
     * A filter to return resources that match the given display names.
     */
    displayNames?: string[];
    filters?: inputs.OsManagementHub.GetProfilesFilter[];
    /**
     * A filter to return only default profiles.
     */
    isDefaultProfile?: boolean;
    /**
     * A filter to return only service-provided profiles.
     */
    isServiceProvidedProfile?: boolean;
    /**
     * A filter to return resources that aren't associated with the specified management  station [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    managementStationNotEqualTos?: string[];
    /**
     * A filter to return resources that are associated with the specified management  station [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    managementStations?: string[];
    /**
     * A filter to return only resources that match the given operating system family.
     */
    osFamily?: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the registration profile. A filter used to return the specified profile.
     */
    profileId?: string;
    /**
     * A filter to return registration profiles that match the given profile type.
     */
    profileTypes?: string[];
    /**
     * The version of the registration profile.
     */
    profileVersion?: string;
    /**
     * A filter to return profiles that match the given instance type.
     */
    registrationTypes?: string[];
    /**
     * A filter to return only registration profiles in the given state.
     */
    state?: string;
    /**
     * A filter to return only resources that match the given vendor name.
     */
    vendorName?: string;
}
/**
 * A collection of values returned by getProfiles.
 */
export interface GetProfilesResult {
    /**
     * The architecture type.
     */
    readonly archType?: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the registration profile.
     */
    readonly compartmentId?: string;
    readonly displayNameContains?: string;
    /**
     * Software source name.
     */
    readonly displayNames?: string[];
    readonly filters?: outputs.OsManagementHub.GetProfilesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Indicates if the profile is set as the default. There is exactly one default profile for a specified architecture, OS family, registration type, and vendor. When registering an instance with the corresonding characteristics, the default profile is used, unless another profile is specified.
     */
    readonly isDefaultProfile?: boolean;
    /**
     * Indicates if the profile was created by the service. OS Management Hub provides a limited set of standardized profiles that can be used to register Autonomous Linux or Windows instances.
     */
    readonly isServiceProvidedProfile?: boolean;
    readonly managementStationNotEqualTos?: string[];
    readonly managementStations?: string[];
    /**
     * The operating system family.
     */
    readonly osFamily?: string;
    /**
     * The list of profile_collection.
     */
    readonly profileCollections: outputs.OsManagementHub.GetProfilesProfileCollection[];
    readonly profileId?: string;
    /**
     * The type of profile.
     */
    readonly profileTypes?: string[];
    /**
     * The version of the profile. The version is automatically incremented each time the profiled is edited.
     */
    readonly profileVersion?: string;
    /**
     * The type of instance to register.
     */
    readonly registrationTypes?: string[];
    /**
     * The current state of the registration profile.
     */
    readonly state?: string;
    /**
     * The vendor of the operating system for the instance.
     */
    readonly vendorName?: string;
}
/**
 * This data source provides the list of Profiles in Oracle Cloud Infrastructure Os Management Hub service.
 *
 * Lists registration profiles that match the specified compartment or profile OCID. Filter the list against a
 * variety of criteria including but not limited to its name, status, vendor name, and architecture type.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testProfiles = oci.osmanagementhub.getProfiles({
 *     archType: profileArchType,
 *     compartmentId: compartmentId,
 *     displayNames: profileDisplayName,
 *     displayNameContains: profileDisplayNameContains,
 *     isDefaultProfile: profileIsDefaultProfile === "true",
 *     isServiceProvidedProfile: profileIsServiceProvidedProfile === "true",
 *     managementStations: profileManagementStation,
 *     managementStationNotEqualTos: profileManagementStationNotEqualTo,
 *     osFamily: profileOsFamily,
 *     profileId: testProfile.id,
 *     profileTypes: profileProfileType,
 *     profileVersion: profileProfileVersion,
 *     registrationTypes: profileRegistrationType,
 *     state: profileState,
 *     vendorName: profileVendorName,
 * });
 * ```
 */
export declare function getProfilesOutput(args?: GetProfilesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetProfilesResult>;
/**
 * A collection of arguments for invoking getProfiles.
 */
export interface GetProfilesOutputArgs {
    /**
     * A filter to return only profiles that match the given archType.
     */
    archType?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that may partially match the given display name.
     */
    displayNameContains?: pulumi.Input<string | undefined>;
    /**
     * A filter to return resources that match the given display names.
     */
    displayNames?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.OsManagementHub.GetProfilesFilterArgs>[] | undefined>;
    /**
     * A filter to return only default profiles.
     */
    isDefaultProfile?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only service-provided profiles.
     */
    isServiceProvidedProfile?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return resources that aren't associated with the specified management  station [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    managementStationNotEqualTos?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return resources that are associated with the specified management  station [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    managementStations?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only resources that match the given operating system family.
     */
    osFamily?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the registration profile. A filter used to return the specified profile.
     */
    profileId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return registration profiles that match the given profile type.
     */
    profileTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The version of the registration profile.
     */
    profileVersion?: pulumi.Input<string | undefined>;
    /**
     * A filter to return profiles that match the given instance type.
     */
    registrationTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only registration profiles in the given state.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only resources that match the given vendor name.
     */
    vendorName?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getProfiles.d.ts.map