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 Listing Packages in Oracle Cloud Infrastructure Marketplace service.
 *
 * Gets the list of packages for a listing.
 *
 * If you plan to launch an instance from an image listing, you must first subscribe to the listing. When
 * you launch the instance, you also need to provide the image ID of the listing resource version that you want.
 *
 * Subscribing to the listing requires you to first get a signature from the terms of use agreement for the
 * listing resource version. To get the signature, issue a [GetAppCatalogListingAgreements](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements/GetAppCatalogListingAgreements) API call.
 * The [AppCatalogListingResourceVersionAgreements](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements) object, including
 * its signature, is returned in the response. With the signature for the terms of use agreement for the desired
 * listing resource version, create a subscription by issuing a
 * [CreateAppCatalogSubscription](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogSubscription/CreateAppCatalogSubscription) API call.
 *
 * To get the image ID to launch an instance, issue a [GetAppCatalogListingResourceVersion](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersion/GetAppCatalogListingResourceVersion) API call.
 * Lastly, to launch the instance, use the image ID of the listing resource version to issue a [LaunchInstance](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/Instance/LaunchInstance) API call.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testListingPackages = oci.marketplace.getListingPackages({
 *     listingId: testListing.id,
 *     compartmentId: compartmentId,
 *     packageType: listingPackagePackageType,
 *     packageVersion: listingPackagePackageVersion,
 * });
 * ```
 */
export declare function getListingPackages(args: GetListingPackagesArgs, opts?: pulumi.InvokeOptions): Promise<GetListingPackagesResult>;
/**
 * A collection of arguments for invoking getListingPackages.
 */
export interface GetListingPackagesArgs {
    /**
     * The unique identifier for the compartment.
     */
    compartmentId?: string;
    filters?: inputs.Marketplace.GetListingPackagesFilter[];
    /**
     * The unique identifier for the listing.
     */
    listingId: string;
    /**
     * A filter to return only packages that match the given package type exactly.
     */
    packageType?: string;
    /**
     * The version of the package. Package versions are unique within a listing.
     */
    packageVersion?: string;
}
/**
 * A collection of values returned by getListingPackages.
 */
export interface GetListingPackagesResult {
    readonly compartmentId?: string;
    readonly filters?: outputs.Marketplace.GetListingPackagesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The ID of the listing that the specified package belongs to.
     */
    readonly listingId: string;
    /**
     * The list of listing_packages.
     */
    readonly listingPackages: outputs.Marketplace.GetListingPackagesListingPackage[];
    /**
     * The specified package's type.
     */
    readonly packageType?: string;
    readonly packageVersion?: string;
}
/**
 * This data source provides the list of Listing Packages in Oracle Cloud Infrastructure Marketplace service.
 *
 * Gets the list of packages for a listing.
 *
 * If you plan to launch an instance from an image listing, you must first subscribe to the listing. When
 * you launch the instance, you also need to provide the image ID of the listing resource version that you want.
 *
 * Subscribing to the listing requires you to first get a signature from the terms of use agreement for the
 * listing resource version. To get the signature, issue a [GetAppCatalogListingAgreements](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements/GetAppCatalogListingAgreements) API call.
 * The [AppCatalogListingResourceVersionAgreements](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements) object, including
 * its signature, is returned in the response. With the signature for the terms of use agreement for the desired
 * listing resource version, create a subscription by issuing a
 * [CreateAppCatalogSubscription](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogSubscription/CreateAppCatalogSubscription) API call.
 *
 * To get the image ID to launch an instance, issue a [GetAppCatalogListingResourceVersion](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersion/GetAppCatalogListingResourceVersion) API call.
 * Lastly, to launch the instance, use the image ID of the listing resource version to issue a [LaunchInstance](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/Instance/LaunchInstance) API call.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testListingPackages = oci.marketplace.getListingPackages({
 *     listingId: testListing.id,
 *     compartmentId: compartmentId,
 *     packageType: listingPackagePackageType,
 *     packageVersion: listingPackagePackageVersion,
 * });
 * ```
 */
export declare function getListingPackagesOutput(args: GetListingPackagesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetListingPackagesResult>;
/**
 * A collection of arguments for invoking getListingPackages.
 */
export interface GetListingPackagesOutputArgs {
    /**
     * The unique identifier for the compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.Marketplace.GetListingPackagesFilterArgs>[] | undefined>;
    /**
     * The unique identifier for the listing.
     */
    listingId: pulumi.Input<string>;
    /**
     * A filter to return only packages that match the given package type exactly.
     */
    packageType?: pulumi.Input<string | undefined>;
    /**
     * The version of the package. Package versions are unique within a listing.
     */
    packageVersion?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getListingPackages.d.ts.map