Skip to content

update_portfolio async

update_portfolio(
    id: Id,
    *,
    config_overrides: Optional[AsyncServiceCatalogClientConfig] = None,
    accept_language: Optional[AcceptLanguage] = None,
    display_name: Optional[PortfolioDisplayName] = None,
    description: Optional[PortfolioDescription] = None,
    provider_name: Optional[ProviderName] = None,
    add_tags: Optional[AddTags] = None,
    remove_tags: Optional[TagKeys] = None,
) -> UpdatePortfolioOutput

Updates the specified portfolio.

You cannot update a product that was shared with you.

Parameters:

Raises:

  • InvalidParametersException –

    One or more parameters provided to the operation are not valid.

  • LimitExceededException –

    The current limits of the service would have been exceeded by this operation. Decrease your resource use or increase your service limits and retry the operation.

  • ResourceNotFoundException –

    The specified resource was not found.

  • TagOptionNotMigratedException –

    An operation requiring TagOptions failed because the TagOptions migration process has not been performed for this account. Use the Amazon Web Services Management Console to perform the migration process before retrying the operation.

  • UnknownServiceError –

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

Source code in docs_src/capo_service_catalog/_services/async_service_catalog.py
async def update_portfolio(
    self,
    id: "capo_service_catalog.types.id.Id",
    *,
    config_overrides: Optional[AsyncServiceCatalogClientConfig] = None,
    accept_language: Optional[
        "capo_service_catalog.types.accept_language.AcceptLanguage"
    ] = None,
    display_name: Optional[
        "capo_service_catalog.types.portfolio_display_name.PortfolioDisplayName"
    ] = None,
    description: Optional[
        "capo_service_catalog.types.portfolio_description.PortfolioDescription"
    ] = None,
    provider_name: Optional[
        "capo_service_catalog.types.provider_name.ProviderName"
    ] = None,
    add_tags: Optional["capo_service_catalog.types.add_tags.AddTags"] = None,
    remove_tags: Optional["capo_service_catalog.types.tag_keys.TagKeys"] = None,
) -> "capo_service_catalog.types.update_portfolio_output.UpdatePortfolioOutput":
    """<p>Updates the specified portfolio.</p> <p>You cannot update a product that was shared with you.</p>

    Args:
        accept_language: <p>The language code.</p> <ul> <li> <p> <code>jp</code> - Japanese</p> </li> <li> <p> <code>zh</code> - Chinese</p> </li> </ul>
        id: <p>The portfolio identifier.</p>
        display_name: <p>The name to use for display purposes.</p>
        description: <p>The updated description of the portfolio.</p>
        provider_name: <p>The updated name of the portfolio provider.</p>
        add_tags: <p>The tags to add.</p>
        remove_tags: <p>The tags to remove.</p>

    Raises:
        capo_service_catalog.errors.invalid_parameters_exception.InvalidParametersException: <p>One or more parameters provided to the operation are not valid.</p>
        capo_service_catalog.errors.limit_exceeded_exception.LimitExceededException: <p>The current limits of the service would have been exceeded by this operation. Decrease your resource use or increase your service limits and retry the operation.</p>
        capo_service_catalog.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_service_catalog.errors.tag_option_not_migrated_exception.TagOptionNotMigratedException: <p>An operation requiring TagOptions failed because the TagOptions migration process has not been performed for this account. Use the Amazon Web Services Management Console to perform the migration process before retrying the operation.</p>
        capo_service_catalog.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_service_catalog.types.update_portfolio_input.UpdatePortfolioInput]",
    ) -> AsyncOperationResponse[
        "capo_service_catalog.types.update_portfolio_output.UpdatePortfolioOutput"
    ]:
        import capo_service_catalog._operations.aws242_service_catalog_service.update_portfolio

        (
            output,
            http_response,
        ) = await capo_service_catalog._operations.aws242_service_catalog_service.update_portfolio.async_update_portfolio(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdatePortfolio")
    )
    input_: capo_service_catalog.types.update_portfolio_input.UpdatePortfolioInput = {
        "id": id
    }
    if accept_language is not None:
        input_["accept_language"] = accept_language
    if display_name is not None:
        input_["display_name"] = display_name
    if description is not None:
        input_["description"] = description
    if provider_name is not None:
        input_["provider_name"] = provider_name
    if add_tags is not None:
        input_["add_tags"] = add_tags
    if remove_tags is not None:
        input_["remove_tags"] = remove_tags

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