release_tracks: [GA, ALPHA, BETA]

help_text:
  brief: |
    Update a Managed Service for Apache Kafka acl.
  description: |
    Update a Managed Service for Apache Kafka acl.

    NOTE: update performs a FULL REPLACEMENT of acl entries. For incremental
    updates, use add-acl-entry and remove-acl-entry commands.

  examples: |
    To update an acl for the Kafka cluster resource pattern, with etag W/XYZ123
    returned from a previous create or describe command, in a cluster named
    mycluster located in us-central1, run the following:

      $ {command} cluster \
          --cluster=mycluster \
          --location=us-central1 \
          --acl-entry=principal='User:admin@project.iam.gserviceaccount.com',operation=ALL,permission-type=ALLOW,host='*' \
          --etag=W/XYZ123

request:
  collection: managedkafka.projects.locations.clusters.acls

arguments:
  resource:
    help_text: Identifies the name of the acl that this command updates.
    spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl

  params:
  - group:
      mutex: true
      required: true
      params:
      - _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry
      - _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entries-from-file
  - _REF_: googlecloudsdk.command_lib.managed_kafka.flags:etag

input:
  confirmation_prompt: |-
    WARNING: This update will replace all existing ACL entries. Any entries not included in this update will be deleted.
