---
layout: "docs"
page_title: "Commands: ACL Binding Rule Update"
sidebar_current: "docs-commands-acl-binding-rule-update"
---

# Consul ACL Binding Rule Update

Command: `consul acl binding-rule update`

The `acl binding-rule update` command is used to update a binding rule. The
default operations is to merge the current binding rule with those values
provided to the command invocation. Therefore to update just one field, only
the `-id` option and the option to modify must be provided.

## Usage

Usage: `consul acl binding-rule update [options] [args]`

#### API Options

<%= partial "docs/commands/http_api_options_client" %>
<%= partial "docs/commands/http_api_options_server" %>

#### Command Options

* `-bind-name=<string>` - Name to bind on match. Can use `${var}`
  interpolation. This flag is required.

* `-bind-type=<string>` - Type of binding to perform (`"service"` or `"role"`).

* `-description=<string>` - A description of the binding rule.

* `-id=<string>` - The ID of the binding rule to update. It may be specified as a
  unique ID prefix but will error if the prefix matches multiple binding rule IDs

* `-meta` - Indicates that binding rule metadata such as the raft
   indices should be shown for each entry.

* `-no-merge` - Do not merge the current binding rule information with what is
  provided to the command. Instead overwrite all fields with the exception of the
  binding rule ID which is immutable.

* `-selector=<string>` - Selector is an expression that matches against
  verified identity attributes returned from the auth method during login.

## Examples

Update a binding rule:

```sh
$ consul acl binding-rule update -id '0ec1bd2f-1d3b-bafb-d9bf-90ef04ab1890' \
    -selector 'serviceaccount.namespace==default'
Binding rule updated successfully
ID:           0ec1bd2f-1d3b-bafb-d9bf-90ef04ab1890
AuthMethod:   minikube
Description:  wildcard service
BindType:     service
BindName:     k8s-${serviceaccount.name}
Selector:     serviceaccount.namespace==default
```
