Skip to content

create_engagement_invitation

create_engagement_invitation(
    catalog: CatalogIdentifier,
    client_token: ClientToken,
    engagement_identifier: EngagementIdentifier,
    invitation: Invitation,
    *,
    config_overrides: Optional[PartnerCentralSellingClientConfig] = None,
) -> CreateEngagementInvitationResponse

This action creates an invitation from a sender to a single receiver to join an engagement.

Parameters:

  • catalog (CatalogIdentifier) –

    Specifies the catalog related to the engagement. Accepted values are AWS and Sandbox, which determine the environment in which the engagement is managed.

  • client_token (ClientToken) –

    Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate invitation creations.

  • engagement_identifier (EngagementIdentifier) –

    The unique identifier of the Engagement associated with the invitation. This parameter ensures the invitation is created within the correct Engagement context.

  • invitation (Invitation) –

    The Invitation object all information necessary to initiate an engagement invitation to a partner. It contains a personalized message from the sender, the invitation's receiver, and a payload. The Payload can be the OpportunityInvitation, which includes detailed structures for sender contacts, partner responsibilities, customer information, and project details, or LeadInvitation, which includes structures for customer information and interaction details.

Raises:

  • AccessDeniedException –

    This error occurs when you don't have permission to perform the requested action.

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance.

  • ConflictException –

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource.

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request.

  • InternalServerException –

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect.

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support.

  • ResourceNotFoundException –

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials.

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource.

  • ServiceQuotaExceededException –

    This error occurs when the request would cause a service quota to be exceeded. Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit.

    Suggested action: Review the Quotas for the resource, and either reduce usage or request a quota increase.

  • ThrottlingException –

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your usage to avoid throttling.

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

  • ValidationException –

    The input fails to satisfy the constraints specified by the service or business validation rules.

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_partnercentral_selling/_services/partner_central_selling.py
def create_engagement_invitation(
    self,
    catalog: "capo_partnercentral_selling.types.catalog_identifier.CatalogIdentifier",
    client_token: "capo_partnercentral_selling.types.client_token.ClientToken",
    engagement_identifier: "capo_partnercentral_selling.types.engagement_identifier.EngagementIdentifier",
    invitation: "capo_partnercentral_selling.types.invitation.Invitation",
    *,
    config_overrides: Optional[PartnerCentralSellingClientConfig] = None,
) -> "capo_partnercentral_selling.types.create_engagement_invitation_response.CreateEngagementInvitationResponse":
    """<p> This action creates an invitation from a sender to a single receiver to join an engagement. </p>

    Args:
        catalog: <p> Specifies the catalog related to the engagement. Accepted values are <code>AWS</code> and <code>Sandbox</code>, which determine the environment in which the engagement is managed. </p>
        client_token: <p> Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate invitation creations. </p>
        engagement_identifier: <p> The unique identifier of the <code>Engagement</code> associated with the invitation. This parameter ensures the invitation is created within the correct <code>Engagement</code> context. </p>
        invitation: <p> The <code>Invitation</code> object all information necessary to initiate an engagement invitation to a partner. It contains a personalized message from the sender, the invitation's receiver, and a payload. The <code>Payload</code> can be the <code>OpportunityInvitation</code>, which includes detailed structures for sender contacts, partner responsibilities, customer information, and project details, or <code>LeadInvitation</code>, which includes structures for customer information and interaction details. </p>

    Raises:
        capo_partnercentral_selling.errors.access_denied_exception.AccessDeniedException: <p>This error occurs when you don't have permission to perform the requested action.</p> <p>You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance.</p>
        capo_partnercentral_selling.errors.conflict_exception.ConflictException: <p>This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource.</p> <p>Suggested action: Fetch the latest state of the resource, verify the state, and retry the request.</p>
        capo_partnercentral_selling.errors.internal_server_exception.InternalServerException: <p>This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect.</p> <p>Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support.</p>
        capo_partnercentral_selling.errors.resource_not_found_exception.ResourceNotFoundException: <p>This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials.</p> <p>Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource.</p>
        capo_partnercentral_selling.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>This error occurs when the request would cause a service quota to be exceeded. Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit.</p> <p>Suggested action: Review the <a href="https://docs.aws.amazon.com/partner-central/latest/selling-api/quotas.html">Quotas</a> for the resource, and either reduce usage or request a quota increase.</p>
        capo_partnercentral_selling.errors.throttling_exception.ThrottlingException: <p>This error occurs when there are too many requests sent. Review the provided quotas and adapt your usage to avoid throttling.</p> <p>This error occurs when there are too many requests sent. Review the provided <a href="https://docs.aws.amazon.com/partner-central/latest/selling-api/quotas.html">Quotas</a> and retry after the provided delay.</p>
        capo_partnercentral_selling.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the service or business validation rules.</p> <p>Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload.</p>
        capo_partnercentral_selling.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_partnercentral_selling.types.create_engagement_invitation_request.CreateEngagementInvitationRequest]",
    ) -> OperationResponse[
        "capo_partnercentral_selling.types.create_engagement_invitation_response.CreateEngagementInvitationResponse"
    ]:
        import capo_partnercentral_selling._operations.aws_partner_central_selling.create_engagement_invitation

        output, http_response = (
            capo_partnercentral_selling._operations.aws_partner_central_selling.create_engagement_invitation.create_engagement_invitation(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_partnercentral_selling.types.create_engagement_invitation_request.CreateEngagementInvitationRequest",
    ) -> dict[str, Any]:
        import capo_partnercentral_selling.types.create_engagement_invitation_request

        return capo_partnercentral_selling.types.create_engagement_invitation_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateEngagementInvitation", redact_input=_redact_input),
    )
    input_: capo_partnercentral_selling.types.create_engagement_invitation_request.CreateEngagementInvitationRequest = {
        "catalog": catalog,
        "client_token": client_token,
        "engagement_identifier": engagement_identifier,
        "invitation": invitation,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output