{
  "metadata": {
    "apiVersion": "2018-11-14",
    "endpointPrefix": "kafka",
    "signingName": "kafka",
    "serviceFullName": "Managed Streaming for Kafka",
    "serviceAbbreviation": "Kafka",
    "serviceId": "Kafka",
    "protocol": "rest-json",
    "jsonVersion": "1.1",
    "uid": "kafka-2018-11-14",
    "signatureVersion": "v4"
  },
  "operations": {
    "CreateCluster": {
      "http": {
        "requestUri": "/v1/clusters",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "BrokerNodeGroupInfo": {
            "shape": "S2",
            "locationName": "brokerNodeGroupInfo"
          },
          "ClusterName": {
            "locationName": "clusterName"
          },
          "EncryptionInfo": {
            "shape": "Sb",
            "locationName": "encryptionInfo"
          },
          "EnhancedMonitoring": {
            "locationName": "enhancedMonitoring"
          },
          "KafkaVersion": {
            "locationName": "kafkaVersion"
          },
          "NumberOfBrokerNodes": {
            "locationName": "numberOfBrokerNodes",
            "type": "integer"
          }
        },
        "required": [
          "BrokerNodeGroupInfo",
          "KafkaVersion",
          "NumberOfBrokerNodes",
          "ClusterName"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterArn": {
            "locationName": "clusterArn"
          },
          "ClusterName": {
            "locationName": "clusterName"
          },
          "State": {
            "locationName": "state"
          }
        }
      }
    },
    "DeleteCluster": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v1/clusters/{clusterArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ClusterArn": {
            "location": "uri",
            "locationName": "clusterArn"
          },
          "CurrentVersion": {
            "location": "querystring",
            "locationName": "currentVersion"
          }
        },
        "required": [
          "ClusterArn"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterArn": {
            "locationName": "clusterArn"
          },
          "State": {
            "locationName": "state"
          }
        }
      }
    },
    "DescribeCluster": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/clusters/{clusterArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ClusterArn": {
            "location": "uri",
            "locationName": "clusterArn"
          }
        },
        "required": [
          "ClusterArn"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterInfo": {
            "shape": "Sm",
            "locationName": "clusterInfo"
          }
        }
      }
    },
    "GetBootstrapBrokers": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/clusters/{clusterArn}/bootstrap-brokers",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ClusterArn": {
            "location": "uri",
            "locationName": "clusterArn"
          }
        },
        "required": [
          "ClusterArn"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "BootstrapBrokerString": {
            "locationName": "bootstrapBrokerString"
          }
        }
      }
    },
    "ListClusters": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/clusters",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ClusterNameFilter": {
            "location": "querystring",
            "locationName": "clusterNameFilter"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterInfoList": {
            "locationName": "clusterInfoList",
            "type": "list",
            "member": {
              "shape": "Sm"
            }
          },
          "NextToken": {
            "locationName": "nextToken"
          }
        }
      }
    },
    "ListNodes": {
      "http": {
        "method": "GET",
        "requestUri": "/v1/clusters/{clusterArn}/nodes",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "ClusterArn": {
            "location": "uri",
            "locationName": "clusterArn"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        },
        "required": [
          "ClusterArn"
        ]
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {
            "locationName": "nextToken"
          },
          "NodeInfoList": {
            "locationName": "nodeInfoList",
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "AddedToClusterTime": {
                  "locationName": "addedToClusterTime"
                },
                "BrokerNodeInfo": {
                  "locationName": "brokerNodeInfo",
                  "type": "structure",
                  "members": {
                    "AttachedENIId": {
                      "locationName": "attachedENIId"
                    },
                    "BrokerId": {
                      "locationName": "brokerId",
                      "type": "double"
                    },
                    "ClientSubnet": {
                      "locationName": "clientSubnet"
                    },
                    "ClientVpcIpAddress": {
                      "locationName": "clientVpcIpAddress"
                    },
                    "CurrentBrokerSoftwareInfo": {
                      "shape": "So",
                      "locationName": "currentBrokerSoftwareInfo"
                    }
                  }
                },
                "InstanceType": {
                  "locationName": "instanceType"
                },
                "NodeARN": {
                  "locationName": "nodeARN"
                },
                "NodeType": {
                  "locationName": "nodeType"
                },
                "ZookeeperNodeInfo": {
                  "locationName": "zookeeperNodeInfo",
                  "type": "structure",
                  "members": {
                    "AttachedENIId": {
                      "locationName": "attachedENIId"
                    },
                    "ClientVpcIpAddress": {
                      "locationName": "clientVpcIpAddress"
                    },
                    "ZookeeperId": {
                      "locationName": "zookeeperId",
                      "type": "double"
                    },
                    "ZookeeperVersion": {
                      "locationName": "zookeeperVersion"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "shapes": {
    "S2": {
      "type": "structure",
      "members": {
        "BrokerAZDistribution": {
          "locationName": "brokerAZDistribution"
        },
        "ClientSubnets": {
          "shape": "S4",
          "locationName": "clientSubnets"
        },
        "InstanceType": {
          "locationName": "instanceType"
        },
        "SecurityGroups": {
          "shape": "S4",
          "locationName": "securityGroups"
        },
        "StorageInfo": {
          "locationName": "storageInfo",
          "type": "structure",
          "members": {
            "EbsStorageInfo": {
              "locationName": "ebsStorageInfo",
              "type": "structure",
              "members": {
                "VolumeSize": {
                  "locationName": "volumeSize",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "required": [
        "ClientSubnets",
        "InstanceType"
      ]
    },
    "S4": {
      "type": "list",
      "member": {}
    },
    "Sb": {
      "type": "structure",
      "members": {
        "EncryptionAtRest": {
          "locationName": "encryptionAtRest",
          "type": "structure",
          "members": {
            "DataVolumeKMSKeyId": {
              "locationName": "dataVolumeKMSKeyId"
            }
          },
          "required": [
            "DataVolumeKMSKeyId"
          ]
        }
      }
    },
    "Sm": {
      "type": "structure",
      "members": {
        "BrokerNodeGroupInfo": {
          "shape": "S2",
          "locationName": "brokerNodeGroupInfo"
        },
        "ClusterArn": {
          "locationName": "clusterArn"
        },
        "ClusterName": {
          "locationName": "clusterName"
        },
        "CreationTime": {
          "locationName": "creationTime",
          "type": "timestamp",
          "timestampFormat": "iso8601"
        },
        "CurrentBrokerSoftwareInfo": {
          "shape": "So",
          "locationName": "currentBrokerSoftwareInfo"
        },
        "CurrentVersion": {
          "locationName": "currentVersion"
        },
        "EncryptionInfo": {
          "shape": "Sb",
          "locationName": "encryptionInfo"
        },
        "EnhancedMonitoring": {
          "locationName": "enhancedMonitoring"
        },
        "NumberOfBrokerNodes": {
          "locationName": "numberOfBrokerNodes",
          "type": "integer"
        },
        "State": {
          "locationName": "state"
        },
        "ZookeeperConnectString": {
          "locationName": "zookeeperConnectString"
        }
      }
    },
    "So": {
      "type": "structure",
      "members": {
        "ConfigurationArn": {
          "locationName": "configurationArn"
        },
        "ConfigurationRevision": {
          "locationName": "configurationRevision"
        },
        "KafkaVersion": {
          "locationName": "kafkaVersion"
        }
      }
    }
  }
}