def update(ctx, opts, owner_repo_identifier, show_tokens, name, token):
    """
    Update (set) a entitlement in a repository.

    - OWNER/REPO/IDENTIFIER: Specify the OWNER namespace (i.e. user or org),
      and the REPO name that has an entitlement identified by IDENTIFIER. All
      separated by a slash.

        Example: 'your-org/your-repo/abcdef123456'

    Full CLI example:

      $ cloudsmith ents update your-org/your-repo/abcdef123456 --name 'Newly'
    """
    owner, repo, identifier = owner_repo_identifier

    # Use stderr for messages if the output is something else (e.g.  # JSON)
    use_stderr = opts.output != "pretty"

    click.secho(
        "Updating %(identifier)s entitlement for the %(repository)s "
        "repository ... "
        % {
            "identifier": click.style(identifier, bold=True),
            "repository": click.style(repo, bold=True),
        },
        nl=False,
        err=use_stderr,
    )

    context_msg = "Failed to update the entitlement!"
    with handle_api_exceptions(ctx, opts=opts, context_msg=context_msg):
        with maybe_spinner(opts):
            entitlement = api.update_entitlement(
                owner=owner,
                repo=repo,
                identifier=identifier,
                name=name,
                token=token,
                show_tokens=show_tokens,
            )

    click.secho("OK", fg="green", err=use_stderr)

    print_entitlements(opts=opts, data=[entitlement], show_list_info=False)