Skip to content

update_license_asset_ruleset async

update_license_asset_ruleset(
    rules: LicenseAssetRuleList,
    license_asset_ruleset_arn: Arn,
    client_token: String,
    *,
    config_overrides: Optional[AsyncLicenseManagerClientConfig] = None,
    name: Optional[LicenseAssetResourceName] = None,
    description: Optional[LicenseAssetResourceDescription] = None,
) -> UpdateLicenseAssetRulesetResponse

Updates a license asset ruleset.

Parameters:

Raises:

Source code in docs_src/capo_license_manager/_services/async_license_manager.py
async def update_license_asset_ruleset(
    self,
    rules: "capo_license_manager.types.license_asset_rule_list.LicenseAssetRuleList",
    license_asset_ruleset_arn: "capo_license_manager.types.arn.Arn",
    client_token: "capo_license_manager.types.string.String",
    *,
    config_overrides: Optional[AsyncLicenseManagerClientConfig] = None,
    name: Optional[
        "capo_license_manager.types.license_asset_resource_name.LicenseAssetResourceName"
    ] = None,
    description: Optional[
        "capo_license_manager.types.license_asset_resource_description.LicenseAssetResourceDescription"
    ] = None,
) -> "capo_license_manager.types.update_license_asset_ruleset_response.UpdateLicenseAssetRulesetResponse":
    """<p>Updates a license asset ruleset.</p>

    Args:
        name: <p>License asset ruleset name.</p>
        description: <p>License asset ruleset description.</p>
        rules: <p>License asset rules.</p>
        license_asset_ruleset_arn: <p>Amazon Resource Name (ARN) of the license asset ruleset.</p>
        client_token: <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>

    Raises:
        capo_license_manager.errors.access_denied_exception.AccessDeniedException: <p>Access to resource denied.</p>
        capo_license_manager.errors.authorization_exception.AuthorizationException: <p>The Amazon Web Services user account does not have permission to perform the action. Check the IAM policy associated with this account.</p>
        capo_license_manager.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameter values are not valid.</p>
        capo_license_manager.errors.rate_limit_exceeded_exception.RateLimitExceededException: <p>Too many requests have been submitted. Try again after a brief wait.</p>
        capo_license_manager.errors.server_internal_exception.ServerInternalException: <p>The server experienced an internal error. Try again.</p>
        capo_license_manager.errors.validation_exception.ValidationException: <p>The provided input is not valid. Try your request again.</p>
        capo_license_manager.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_license_manager.types.update_license_asset_ruleset_request.UpdateLicenseAssetRulesetRequest]",
    ) -> AsyncOperationResponse[
        "capo_license_manager.types.update_license_asset_ruleset_response.UpdateLicenseAssetRulesetResponse"
    ]:
        import capo_license_manager._operations.aws_license_manager.update_license_asset_ruleset

        (
            output,
            http_response,
        ) = await capo_license_manager._operations.aws_license_manager.update_license_asset_ruleset.async_update_license_asset_ruleset(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateLicenseAssetRuleset")
    )
    input_: capo_license_manager.types.update_license_asset_ruleset_request.UpdateLicenseAssetRulesetRequest = {
        "rules": rules,
        "license_asset_ruleset_arn": license_asset_ruleset_arn,
        "client_token": client_token,
    }
    if name is not None:
        input_["name"] = name
    if description is not None:
        input_["description"] = description

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