// AlterUserSCRAMCredentialsRequest, proposed in KIP-554 and introduced
// with Kafka 2.7.0, alters or deletes user SCRAM credentials.
//
// This request was introduced as part of the overarching KIP-500 initiative,
// which is to remove Zookeeper as a dependency.
//
// This request requires ALTER on CLUSTER.
AlterUserSCRAMCredentialsRequest => key 51, max version 0, flexible v0+, admin
  // The SCRAM credentials to remove.
  Deletions: [=>]
    // The user name to match for removal.
    Name: string
    // The mechanism for the user name to remove.
    Mechanism: int8
  // The SCRAM credentials to update or insert.
  Upsertions: [=>]
    // The user name to use.
    Name: string
    // The mechanism to use for creating, where 1 is SCRAM-SHA-256 and 2 is
    // SCRAM-SHA-512.
    Mechanism: int8
    // The number of iterations to use. This must be more than the minimum for
    // the mechanism and cannot be more than 16384.
    Iterations: int32
    // A random salt generated by the client.
    Salt: bytes
    // The salted password to use.
    SaltedPassword: bytes

// AlterUserSCRAMCredentialsResponse is a response for an
// AlterUserSCRAMCredentialsRequest.
AlterUserSCRAMCredentialsResponse =>
  ThrottleMillis
  // The results for deletions and upsertions.
  Results: [=>]
    // The name this result corresponds to.
    User: string
    // The user-level error code.
    ErrorCode: int16
    // The user-level error message, if any.
    ErrorMessage: nullable-string
