Class MarketplaceAsyncClient

  • All Implemented Interfaces:
    MarketplaceAsync, AutoCloseable

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20181001")
    public class MarketplaceAsyncClient
    extends BaseAsyncClient
    implements MarketplaceAsync
    Async client implementation for Marketplace service.
    There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response to the call is an InputStream, like getObject Api in object storage service, developers need to process the stream in AsyncHandler, and not anywhere else, because the stream will be closed right after the AsyncHandler is invoked.
    2. Use Java Future: using Java Future, developers need to close the stream after they are done with the Java Future.
    Accessing the result should be done in a mutually exclusive manner, either through the Future or the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine whether or not the request was completed via Future.isDone/isCancelled.
    Please refer to https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java
    • Field Detail

      • SERVICE

        public static final Service SERVICE
        Service instance for Marketplace.
      • clientCommonLibraryVersion

        public final String clientCommonLibraryVersion
        Compatible SDK version, provided by the codegen.
      • minimumClientCommonLibraryVersionFromClient

        public final Optional<String> minimumClientCommonLibraryVersionFromClient
        Minimum compatible SDK version, maybe provided by the codegen.
    • Method Detail

      • setRegion

        public void setRegion​(Region region)
        Description copied from interface: MarketplaceAsync
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Specified by:
        setRegion in interface MarketplaceAsync
        Parameters:
        region - The region of the service.
      • createPublication

        public Future<CreatePublicationResponse> createPublication​(CreatePublicationRequest request,
                                                                   AsyncHandler<CreatePublicationRequest,​CreatePublicationResponse> handler)
        Description copied from interface: MarketplaceAsync
        Creates a publication of the specified listing type with an optional default package.
        Specified by:
        createPublication in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteAcceptedAgreement

        public Future<DeleteAcceptedAgreementResponse> deleteAcceptedAgreement​(DeleteAcceptedAgreementRequest request,
                                                                               AsyncHandler<DeleteAcceptedAgreementRequest,​DeleteAcceptedAgreementResponse> handler)
        Description copied from interface: MarketplaceAsync
        Removes a previously accepted terms of use agreement from the list of agreements that Marketplace checks before initiating a deployment.

        Listings in Marketplace that require acceptance of the specified terms of use can no longer be deployed, but existing deployments aren’t affected.

        Specified by:
        deleteAcceptedAgreement in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deletePublication

        public Future<DeletePublicationResponse> deletePublication​(DeletePublicationRequest request,
                                                                   AsyncHandler<DeletePublicationRequest,​DeletePublicationResponse> handler)
        Description copied from interface: MarketplaceAsync
        Deletes a publication, which also removes the associated listing from anywhere it was published, such as Marketplace or Compute.
        Specified by:
        deletePublication in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • exportListing

        public Future<ExportListingResponse> exportListing​(ExportListingRequest request,
                                                           AsyncHandler<ExportListingRequest,​ExportListingResponse> handler)
        Description copied from interface: MarketplaceAsync
        Exports container images or helm chart from marketplace to customer’s registry.
        Specified by:
        exportListing in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getAgreement

        public Future<GetAgreementResponse> getAgreement​(GetAgreementRequest request,
                                                         AsyncHandler<GetAgreementRequest,​GetAgreementResponse> handler)
        Description copied from interface: MarketplaceAsync
        Returns a terms of use agreement for a package with a time-based signature that can be used to accept the agreement.
        Specified by:
        getAgreement in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getListing

        public Future<GetListingResponse> getListing​(GetListingRequest request,
                                                     AsyncHandler<GetListingRequest,​GetListingResponse> handler)
        Description copied from interface: MarketplaceAsync
        Gets detailed information about a listing, including the listing’s name, version, description, and resources.

        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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements/GetAppCatalogListingAgreements) API call. The [AppCatalogListingResourceVersionAgreements](https://docs.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/Instance/LaunchInstance) API call.

        Specified by:
        getListing in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getPackage

        public Future<GetPackageResponse> getPackage​(GetPackageRequest request,
                                                     AsyncHandler<GetPackageRequest,​GetPackageResponse> handler)
        Description copied from interface: MarketplaceAsync
        Get the details of the specified version of a package, including information needed to launch the package.

        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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements/GetAppCatalogListingAgreements) API call. The [AppCatalogListingResourceVersionAgreements](https://docs.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/Instance/LaunchInstance) API call.

        Specified by:
        getPackage in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getPublication

        public Future<GetPublicationResponse> getPublication​(GetPublicationRequest request,
                                                             AsyncHandler<GetPublicationRequest,​GetPublicationResponse> handler)
        Description copied from interface: MarketplaceAsync
        Gets the details of the specified publication.
        Specified by:
        getPublication in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getWorkRequest

        public Future<GetWorkRequestResponse> getWorkRequest​(GetWorkRequestRequest request,
                                                             AsyncHandler<GetWorkRequestRequest,​GetWorkRequestResponse> handler)
        Description copied from interface: MarketplaceAsync
        Gets the details of the specified work request
        Specified by:
        getWorkRequest in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listAgreements

        public Future<ListAgreementsResponse> listAgreements​(ListAgreementsRequest request,
                                                             AsyncHandler<ListAgreementsRequest,​ListAgreementsResponse> handler)
        Description copied from interface: MarketplaceAsync
        Returns the terms of use agreements that must be accepted before you can deploy the specified version of a package.
        Specified by:
        listAgreements in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listCategories

        public Future<ListCategoriesResponse> listCategories​(ListCategoriesRequest request,
                                                             AsyncHandler<ListCategoriesRequest,​ListCategoriesResponse> handler)
        Description copied from interface: MarketplaceAsync
        Gets the list of all the categories for listings published to Oracle Cloud Infrastructure Marketplace.

        Categories apply to the software product provided by the listing.

        Specified by:
        listCategories in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listListings

        public Future<ListListingsResponse> listListings​(ListListingsRequest request,
                                                         AsyncHandler<ListListingsRequest,​ListListingsResponse> handler)
        Description copied from interface: MarketplaceAsync
        Gets a list of listings from Oracle Cloud Infrastructure Marketplace by searching keywords and filtering according to listing attributes.

        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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements/GetAppCatalogListingAgreements) API call. The [AppCatalogListingResourceVersionAgreements](https://docs.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/Instance/LaunchInstance) API call.

        Specified by:
        listListings in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listPackages

        public Future<ListPackagesResponse> listPackages​(ListPackagesRequest request,
                                                         AsyncHandler<ListPackagesRequest,​ListPackagesResponse> handler)
        Description copied from interface: MarketplaceAsync
        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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/AppCatalogListingResourceVersionAgreements/GetAppCatalogListingAgreements) API call. The [AppCatalogListingResourceVersionAgreements](https://docs.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/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.oracle.com/iaas/en-us/iaas/api/#/en/iaas/latest/Instance/LaunchInstance) API call.

        Specified by:
        listPackages in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listPublishers

        public Future<ListPublishersResponse> listPublishers​(ListPublishersRequest request,
                                                             AsyncHandler<ListPublishersRequest,​ListPublishersResponse> handler)
        Description copied from interface: MarketplaceAsync
        Gets the list of all the publishers of listings available in Oracle Cloud Infrastructure Marketplace.
        Specified by:
        listPublishers in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listReportTypes

        public Future<ListReportTypesResponse> listReportTypes​(ListReportTypesRequest request,
                                                               AsyncHandler<ListReportTypesRequest,​ListReportTypesResponse> handler)
        Description copied from interface: MarketplaceAsync
        Lists available types of reports for the compartment.
        Specified by:
        listReportTypes in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listReports

        public Future<ListReportsResponse> listReports​(ListReportsRequest request,
                                                       AsyncHandler<ListReportsRequest,​ListReportsResponse> handler)
        Description copied from interface: MarketplaceAsync
        Lists reports in the compartment that match the specified report type and date.
        Specified by:
        listReports in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listTaxes

        public Future<ListTaxesResponse> listTaxes​(ListTaxesRequest request,
                                                   AsyncHandler<ListTaxesRequest,​ListTaxesResponse> handler)
        Description copied from interface: MarketplaceAsync
        Returns list of all tax implications that current tenant may be liable to once they launch the listing.
        Specified by:
        listTaxes in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • searchListings

        public Future<SearchListingsResponse> searchListings​(SearchListingsRequest request,
                                                             AsyncHandler<SearchListingsRequest,​SearchListingsResponse> handler)
        Description copied from interface: MarketplaceAsync
        Queries all Marketplace Applications to find listings that match the specified criteria.

        To search for a listing, you can use a free text or structured search.

        Specified by:
        searchListings in interface MarketplaceAsync
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • useRealmSpecificEndpointTemplate

        public void useRealmSpecificEndpointTemplate​(boolean useOfRealmSpecificEndpointTemplateEnabled)
        This method should be used to enable or disable the use of realm-specific endpoint template.

        The default value is null. To enable the use of endpoint template defined for the realm in use, set the flag to true To disable the use of endpoint template defined for the realm in use, set the flag to false

        Parameters:
        useOfRealmSpecificEndpointTemplateEnabled - This flag can be set to true or false to enable or disable the use of realm-specific endpoint template respectively
      • populateServiceParametersInEndpoint

        public final void populateServiceParametersInEndpoint​(String endpoint,
                                                              Map<String,​Object> requiredParametersMap)
        Populate the parameters in the endpoint with its corresponding value and update the base endpoint.

        The value will be populated iff the parameter in endpoint is a required request path parameter or a required request query parameter. If not, the parameter in the endpoint will be ignored and left blank.

        Parameters:
        endpoint - The endpoint template in use
        requiredParametersMap - Map of parameter name as key and value set in request path or query parameter as value
      • updateBaseEndpoint

        public final void updateBaseEndpoint​(String endpoint)
        This method should be used for parameterized endpoint templates only.

        This does not include {region} and {secondLevelDomain} parameters.

        Parameters:
        endpoint - The updated endpoint to use
      • setEndpoint

        public final void setEndpoint​(String endpoint)
      • getEndpoint

        public final String getEndpoint()
      • refreshClient

        public final void refreshClient()
        Rebuild the backing HttpClient.

        This will call ClientConfigurators again, and can be used to e.g. refresh the SSL certificate.

      • getClientCommonLibraryVersion

        public String getClientCommonLibraryVersion()
      • getMinimumClientCommonLibraryVersionFromClient

        public Optional<String> getMinimumClientCommonLibraryVersionFromClient()