Versions Compared

Key

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

...

With version 4, we are adding the FilterResults field to DescribeAclsResponse. We also have to rename the type of the existing Resources and Acls fields to avoid them conflicting with the new fields.

Code Block
languagejs

{
  "apiKey": 29,
  "type": "response",
  "name": "DescribeAclsResponse",
  // Version 1 adds PatternType.
  // Starting in version 1, on quota violation, brokers send out responses before throttling.
  // Version 2 enables flexible versions.
  // Version 3 adds user resource type.
  // Version 4 adds support for batching.
  "validVersions": "0-4",
  "flexibleVersions": "2+",
  "fields": [
    { "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." },
    { "name": "ErrorCode", "type": "int16", "versions": "0-3",
      "about": "The error code, or 0 if there was no error." },
    { "name": "ErrorMessage", "type": "string", "versions": "0-3", "nullableVersions": "0-3",
      "about": "The error message, or null if there was no error." },
    { "name": "Resources", "type": "[]OldDescribeAclsResource", "versions": "0-3",
      "about": "Each Resource that is referenced in an ACL.", "fields": [
      { "name": "ResourceType", "type": "int8", "versions": "0-3",
        "about": "The resource type." },
      { "name": "ResourceName", "type": "string", "versions": "0-3",
        "about": "The resource name." },
      { "name": "PatternType", "type": "int8", "versions": "1-3", "default": "3", "ignorable": false,
        "about": "The resource pattern type." },
      { "name": "Acls", "type": "[]OldAclDescription", "versions": "0-3",
        "about": "The ACLs.", "fields": [
        { "name": "Principal", "type": "string", "versions": "0-3",
          "about": "The ACL principal." },
        { "name": "Host", "type": "string", "versions": "0-3",
          "about": "The ACL host." },
        { "name": "Operation", "type": "int8", "versions": "0-3",
          "about": "The ACL operation." },
        { "name": "PermissionType", "type": "int8", "versions": "0-3",
          "about": "The ACL permission type." }
      ]}
    ]},
    {
      "name": "FilterResults",
      "type": "[]DescribeAclsFilterResult",
      "versions": "4+",
      "about": "The results for each filter.",
      "fields": [
        { "name": "ErrorCode", "type": "int16", "versions": "4+",
          "about": "The error code, or 0 if there was no error." },
        { "name": "ErrorMessage", "type": "string", "versions": "4+", "nullableVersions": "4+",
          "about": "The error message, or null if there was no error." },
        { "name": "Resources", "type": "[]DescribeAclsResource", "versions": "4+",
          "about": "Each Resource that is referenced in an ACL.", "fields": [
          { "name": "ResourceType", "type": "int8", "versions": "4+",
            "about": "The resource type." },
          { "name": "ResourceName", "type": "string", "versions": "4+",
            "about": "The resource name." },
          { "name": "PatternType", "type": "int8", "versions": "4+", "default": "3", "ignorable": false,
            "about": "The resource pattern type." },
          { "name": "Acls", "type": "[]AclDescription", "versions": "4+",
            "about": "The ACLs.", "fields": [
            { "name": "Principal", "type": "string", "versions": "4+",
              "about": "The ACL principal." },
            { "name": "Host", "type": "string", "versions": "4+",
              "about": "The ACL host." },
            { "name": "Operation", "type": "int8", "versions": "4+",
              "about": "The ACL operation." },
            { "name": "PermissionType", "type": "int8", "versions": "4+",
              "about": "The ACL permission type." }
          ]}
        ]}
      ]
    }
  ]
}

...

With version 2 we are adding the Filters field to DescribeClientQuotasResponse. We also have to rename the type of the existing Entries, Entities and Values fields to avoid them conflicting with the new fields.

Code Block
languagejs
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements.  See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License.  You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
{
  "apiKey": 48,
  "type": "response",
  "name": "DescribeClientQuotasResponse",
  // Version 1 enables flexible versions.
  // Version 2 adds support for batching.
  "validVersions": "0-2",
  "flexibleVersions": "1+",
  "fields": [
    { "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." },
    { "name": "ErrorCode", "type": "int16", "versions": "0-1",
      "about": "The error code, or `0` if the quota description succeeded." },
    { "name": "ErrorMessage", "type": "string", "versions": "0-1", "nullableVersions": "0-1",
      "about": "The error message, or `null` if the quota description succeeded." },
    { "name": "Entries", "type": "[]OldEntryData", "versions": "0-1", "nullableVersions": "0-1",
      "about": "A result entry.", "fields": [
      { "name": "Entity", "type": "[]OldEntityData", "versions": "0-1",
        "about": "The quota entity description.", "fields": [
        { "name": "EntityType", "type": "string", "versions": "0-1",
          "about": "The entity type." },
        { "name": "EntityName", "type": "string", "versions": "0-1", "nullableVersions": "0-1",
          "about": "The entity name, or null if the default." }
      ]},
      { "name": "Values", "type": "[]OldValueData", "versions": "0-1",
	"about": "The quota values for the entity.", "fields": [
        { "name": "Key", "type": "string", "versions": "0-1",
          "about": "The quota configuration key." },
        { "name": "Value", "type": "float64", "versions": "0-1",
          "about": "The quota configuration value." }
      ]}
    ]},
    {
      "name": "FilterResults",
      "type": "[]DescribeClientQuotasFilterResult",
      "versions": "2+",
      "about": "The results for each filter.",
      "fields": [
        { "name": "ErrorCode", "type": "int16", "versions": "2+",
          "about": "The error code, or `0` if the quota description succeeded." },
        { "name": "ErrorMessage", "type": "string", "versions": "2+", "nullableVersions": "2+",
          "about": "The error message, or `null` if the quota description succeeded." },
        { "name": "Entries", "type": "[]EntryData", "versions": "2+", "nullableVersions": "2+",
          "about": "A result entry.", "fields": [
          { "name": "Entity", "type": "[]EntityData", "versions": "2+",
            "about": "The quota entity description.", "fields": [
            { "name": "EntityType", "type": "string", "versions": "2+",
              "about": "The entity type." },
            { "name": "EntityName", "type": "string", "versions": "2+", "nullableVersions": "2+",
              "about": "The entity name, or null if the default." }
          ]},
          { "name": "Values", "type": "[]ValueData", "versions": "2+",
            "about": "The quota values for the entity.", "fields": [
            { "name": "Key", "type": "string", "versions": "2+",
              "about": "The quota configuration key." },
            { "name": "Value", "type": "float64", "versions": "2+",
              "about": "The quota configuration value." }
          ]}
        ]}
      ]
    }
  ]
}

...