// DescribeDelegationTokenRequest is a request to describe delegation tokens.
DescribeDelegationTokenRequest => key 41, max version 3, flexible v2+
  // Owners contains owners to describe delegation tokens for, or null for all.
  // If non-null, only tokens created from a matching principal type, name
  // combination are printed.
  Owners: nullable[=>]
    // PrincipalType is a type to match to describe delegation tokens created
    // with this principal. This would be "User" with the simple authorizer.
    PrincipalType: string
    // PrincipalName is the name to match to describe delegation tokens created
    // with this principal.
    PrincipalName: string

// DescribeDelegationTokenResponsee is a response to a DescribeDelegationTokenRequest.
DescribeDelegationTokenResponse =>
  // ErrorCode is any error that caused the request to fail.
  ErrorCode: int16
  // TokenDetails shows information about each token created from any principal
  // in the request.
  TokenDetails: [=>]
    // PrincipalType is the principal type of who created this token.
    PrincipalType: string
    // PrincipalName is the principal name of who created this token.
    PrincipalName: string
    // The principal type of the requester of the token.
    TokenRequesterPrincipalType: string // v3+
    // The principal name of the requester token.
    TokenRequesterPrincipalName: string // v3+
    // IssueTimestamp is the millisecond timestamp of when this token was issued.
    IssueTimestamp: int64
    // ExpiryTimestamp is the millisecond timestamp of when this token will expire.
    ExpiryTimestamp: int64
    // MaxTimestamp is the millisecond timestamp past which whis token cannot
    // be renewed.
    MaxTimestamp: int64
    // TokenID is the ID (scram username) of this token.
    TokenID: string
    // HMAC is the password of this token.
    HMAC: bytes
    // Renewers is a list of users that can renew this token.
    Renewers: [=>]
      PrincipalType: string
      PrincipalName: string
  ThrottleMillis(1)
