Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
linenumberstrue
{
  "apiKey": 38,
  "type": "request",
  "name": "CreateDelegationTokenRequest",
  // Version 1 is the same as version 0.
  "validVersions": "0-2",
  "fields": [
    { "name": "OwnerOwnerPrincipalType", "type": "[]CreatableOwnersstring", "versions": "2+", "nullableVersions": "2+",
      "about": "OwnerThe isprincipal an Kafka PrincipalType+name string, who istype of the owner of the token. If owner string is null, thenit's null it defaults to the token request principal is treated as owner"." },
     { "fieldsname": [
      { "name"OwnerPrincipalName", "type": "PrincipalTypestring", "typeversions": "string2+", "versionsnullableVersions": "2+",
        "about": "The type of principal name of the owner of the token. If it's null it defaults to the Kafkatoken request principal." },
      { "name": "PrincipalNameRenewers", "type": "string[]CreatableRenewers", "versions": "20+",
        ""about": "TheA namelist of the Kafka principal." }
    ]}, those who are allowed to renew this token before it expires.", "fields": [
      { "name": "RenewersPrincipalType", "type": "[]CreatableRenewersstring", "versions": "0+",
        "about": "AThe listtype of thosethe whoKafka are allowed to renew this token before it expires.", "fields": [
      principal." },
      { "name": "PrincipalTypePrincipalName", "type": "string", "versions": "0+",
        "about": "The typename of the Kafka principal." },
    ]},
    { "name": "PrincipalNameMaxLifetimeMs", "type": "stringint64", "versions": "0+",
        "about": "The namemaximum lifetime of the Kafkatoken principal." }
    ]},
    { "name": "MaxLifetimeMs",in milliseconds, or -1 to use the server side default." }
  ]
}


Field

Description

Owner

Owner is an Kafka PrincipalType+name string, who is the owner of the token.  If owner string is null, then token request principal is treated as owner


CreateDelegationTokenResponse

Code Block
linenumberstrue
{
  "apiKey": 38,
  "type": "int64response",
  "versionsname": "0+CreateDelegationTokenResponse",
  // Starting in version 1, on "about": "The maximum lifetime of the token in milliseconds, or -1 to use the server side default." }
  ]
}

...

Field

...

Description

...

Owner

...

Owner is an Kafka PrincipalType+name string, who is the owner of the token.  If owner string is null, then token request principal is treated as owner

CreateDelegationTokenResponse

Code Block
linenumberstrue
{
  "apiKey": 38,
 quota violation, brokers send out responses before throttling.
  "validVersions": "0-1",
  "fields": [
    { "name": "ErrorCode", "type": "responseint16",
  "nameversions": "CreateDelegationTokenResponse0+",
  // Starting in version 1, on quota violation, brokers send out responses before throttling.
  "validVersions": "0-2",
  "fields": [
     "about": "The top-level error, or zero if there was no error."},
    { "name": "ErrorCodePrincipalType", "type": "int16string", "versions": "0+",
      "about": "The top-level error, or zero if there was no error."principal type of the token owner." },
    { "name": "OwnerPrincipalName", "type": "CreatableOwnerstring", "versions": "20+",
      "about": "Owner is an Kafka PrincipalType+name string, who is the owner The name of the token owner." },
      "fields": [
        { "name": "PrincipalTypeTokenRequesterPrincipalType", "type": "string", "versions": "2+",
          "about": "The principal type of the Kafka principalrequester of the token." },
        { "name": "PrincipalNameTokenRequesterPrincipalName", "type": "string", "versions": "2+",
          "about": "The nameprincipal type of the requester of Kafkathe principaltoken." }
      ]},
    { "name": "TokenRequesterIssueTimestampMs", "type": "CreatableTokenRequesterint64", "versions": "20+",
      "about": "TokenWhen requesterthis istoken anwas Kafka PrincipalType+name string, who requested this token", "fields": [generated." },
      { "name": "PrincipalTypeExpiryTimestampMs", "type": "stringint64", "versions": "20+",
        "about": "TheWhen typethis of the Kafka principaltoken expires." },
      { "name": "PrincipalNameMaxTimestampMs", "type": "stringint64", "versions": "20+",
        "about": "The namemaximum lifetime of thethis Kafka principaltoken." },
     ]},
    { { "name": "IssueTimestampMsTokenId", "type": "int64string", "versions": "0+",
      "about": "When thisThe token was generatedUUID." },
    { "name": "ExpiryTimestampMsHmac", "type": "int64bytes", "versions": "0+",
      "about": "When thisHMAC of the delegation token expires." },
    { "name": "MaxTimestampMsThrottleTimeMs", "type": "int64int32", "versions": "0+",
      "about": "The maximumduration in lifetimemilliseconds offor thiswhich token." },
    { "name": "TokenId", "type": "string", "versions": "0+",
      "about": "The token UUID." },
    { "name": "Hmac", "type": "bytes", "versions": "0+",
      "about": "HMAC of the delegation token." },
    { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
      "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." }
  ]
}

...

Field

...

Description

...

Token requester

...

Token requester is an Kafka PrincipalType+name string, who requested this token.

the request was throttled due to a quota violation, or zero if the request did not violate any quota." }
  ]
}


Field

Description

Token requester

Token requester is an Kafka PrincipalType+name string, who requested this token.


CreateDelegationTokenResponse

We will bump the version of the DescribeTokensRequest API to include the "Token requester"  info in response details. 


Code Block
linenumberstrue
{
  "apiKey": 41,
  "type": "response",
  "name": "DescribeDelegationTokenResponse",
  // Starting in version 1, on quota violation, brokers send out responses before throttling.
  "validVersions": "0-1",
 

CreateDelegationTokenResponse

We will bump the version of the DescribeTokensRequest API to include the "Token requester"  info in response details. 

Code Block
linenumberstrue
{
  "apiKey": 41,
  "type": "response",
  "name": "DescribeDelegationTokenResponse",
  // Starting in version 1, on quota violation, brokers send out responses before throttling.
  "validVersions": "0-2",
  "fields": [
    { "name": "ErrorCode", "type": "int16", "versions": "0+",
      "about": "The error code, or 0 if there was no error." },
    { "name": "Tokens", "type": "[]DescribedDelegationToken", "versions": "0+",
      "about": "The tokens.", "fields": [
      { "name": "OwnerErrorCode", "type": "CreatableOwner", "versions": "2+",
        "about": "Owner is an Kafka PrincipalType+name string, who is the owner of the token.",
 ": "int16", "versions": "0+",
       "fieldsabout": [
      "The error code, or 0 if there was no error." },
    { "name": "PrincipalTypeTokens", "type": "string[]DescribedDelegationToken", "versions": "20+",
            "about": "The type of the Kafka principaltokens." },
 "fields": [
        { "name": "PrincipalNamePrincipalType", "type": "string", "versions": "20+",
            "about": "The nametoken of the Kafka principal." }
        ]principal type." },
      { "name": "TokenRequesterPrincipalName", "type": "CreatableTokenRequesterstring", "versions": "20+",
        "about": "Token requester is an Kafka PrincipalType+name string, who requested this token", "fieldsabout": [
   "The token principal name." },
      { "name": "PrincipalTypeTokenRequesterPrincipalType", "type": "string", "versions": "2+",
          "about": "The principal type of the requester Kafkaof the principaltoken." },
        { "name": "PrincipalNameTokenRequesterPrincipalName", "type": "string", "versions": "2+",
          "about": "The principal nametype of the requester Kafkaof the principaltoken." }
      ]},
      { "name": "IssueTimestamp", "type": "int64", "versions": "0+",
        "about": "The token issue timestamp in milliseconds." },
      { "name": "ExpiryTimestamp", "type": "int64", "versions": "0+",
        "about": "The token expiry timestamp in milliseconds." },
      { "name": "MaxTimestamp", "type": "int64", "versions": "0+",
        "about": "The token maximum timestamp length in milliseconds." },
      { "name": "TokenId", "type": "string", "versions": "0+",
        "about": "The token ID." },
      { "name": "Hmac", "type": "bytes", "versions": "0+",
        "about": "The token HMAC." },
      { "name": "Renewers", "type": "[]DescribedDelegationTokenRenewer", "versions": "0+",
        "about": "Those who are able to renew this token before it expires.", "fields": [
        { "name": "PrincipalType", "type": "string", "versions": "0+",
          "about": "The renewer principal type" },
        { "name": "PrincipalName", "type": "string", "versions": "0+",
          "about": "The renewer principal name" }
      ]}
    ]},
    { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
      "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." }
  ]
}

...