Skip to content

get_offer async

get_offer(
    offer_id: OfferId,
    *,
    config_overrides: Optional[AsyncMarketplaceDiscoveryClientConfig] = None,
    locale: Optional[Locale] = None,
) -> GetOfferOutput

Provides details about an offer, such as the pricing model, seller of record, availability dates, badges, and associated products.

Parameters:

  • locale (Optional[Locale], default: None ) –

    A BCP 47 language tag or comma-separated priority list specifying the preferred locale for response content. See Locale for supported values, constraints, fallback behavior, and the default locale. If omitted, the service returns content in the default locale.

  • offer_id (OfferId) –

    The unique identifier of the offer to retrieve.

Raises:

Examples:

Invoke GetOffer for Contract Pricing offer

>>> await client.get_offer(locale='en-US', offer_id='offer-sampleContractId')
Invoke GetOffer for Usage Pricing offer
>>> await client.get_offer(locale='en-US', offer_id='offer-sampleUsageId')
Invoke GetOffer for BYOL Pricing offer
>>> await client.get_offer(locale='en-US', offer_id='offer-sampleByolId')
Invoke GetOffer for FREE Pricing offer
>>> await client.get_offer(locale='en-US', offer_id='offer-sampleFreeId')
Source code in docs_src/capo_marketplace_discovery/_services/async_marketplace_discovery.py
async def get_offer(
    self,
    offer_id: "capo_marketplace_discovery.types.offer_id.OfferId",
    *,
    config_overrides: Optional[AsyncMarketplaceDiscoveryClientConfig] = None,
    locale: Optional["capo_marketplace_discovery.types.locale.Locale"] = None,
) -> "capo_marketplace_discovery.types.get_offer_output.GetOfferOutput":
    """<p>Provides details about an offer, such as the pricing model, seller of record, availability dates, badges, and associated products.</p>

    Args:
        locale: <p>A BCP 47 language tag or comma-separated priority list specifying the preferred locale for response content. See <code>Locale</code> for supported values, constraints, fallback behavior, and the default locale. If omitted, the service returns content in the default locale.</p>
        offer_id: <p>The unique identifier of the offer to retrieve.</p>

    Raises:
        capo_marketplace_discovery.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient access to perform this action.</p>
        capo_marketplace_discovery.errors.internal_server_exception.InternalServerException: <p>Unexpected error during processing of the request.</p>
        capo_marketplace_discovery.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_marketplace_discovery.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the service.</p>
        capo_marketplace_discovery.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource doesn't exist.</p>
        capo_marketplace_discovery.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Invoke GetOffer for Contract Pricing offer

        >>> await client.get_offer(locale='en-US', offer_id='offer-sampleContractId')
        Invoke GetOffer for Usage Pricing offer

        >>> await client.get_offer(locale='en-US', offer_id='offer-sampleUsageId')
        Invoke GetOffer for BYOL Pricing offer

        >>> await client.get_offer(locale='en-US', offer_id='offer-sampleByolId')
        Invoke GetOffer for FREE Pricing offer

        >>> await client.get_offer(locale='en-US', offer_id='offer-sampleFreeId')
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_marketplace_discovery.types.get_offer_input.GetOfferInput]",
    ) -> AsyncOperationResponse[
        "capo_marketplace_discovery.types.get_offer_output.GetOfferOutput"
    ]:
        import capo_marketplace_discovery._operations.aws_marketplace_discovery.get_offer

        (
            output,
            http_response,
        ) = await capo_marketplace_discovery._operations.aws_marketplace_discovery.get_offer.async_get_offer(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("GetOffer")
    )
    input_: capo_marketplace_discovery.types.get_offer_input.GetOfferInput = {
        "offer_id": offer_id
    }
    if locale is not None:
        input_["locale"] = locale

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output