2023-03-28 22:48:58 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
2023-08-21 17:31:54 +00:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
2023-03-28 22:48:58 +00:00
|
|
|
|
2022-09-30 04:14:16 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package hashicorp.consul.dns;
|
|
|
|
|
2023-02-17 21:14:46 +00:00
|
|
|
import "annotations/ratelimit/ratelimit.proto";
|
2023-01-04 16:07:02 +00:00
|
|
|
|
2022-09-30 04:14:16 +00:00
|
|
|
option go_package = "github.com/hashicorp/consul/proto-public/pbdns";
|
|
|
|
|
|
|
|
service DNSService {
|
|
|
|
// Query sends a DNS request over to Consul server and returns a DNS reply message.
|
2023-01-04 16:07:02 +00:00
|
|
|
rpc Query(QueryRequest) returns (QueryResponse) {
|
2023-03-20 15:24:29 +00:00
|
|
|
option (hashicorp.consul.internal.ratelimit.spec) = {
|
|
|
|
operation_type: OPERATION_TYPE_READ,
|
|
|
|
operation_category: OPERATION_CATEGORY_DNS
|
|
|
|
};
|
2023-01-04 16:07:02 +00:00
|
|
|
}
|
2022-09-30 04:14:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
enum Protocol {
|
|
|
|
PROTOCOL_UNSET_UNSPECIFIED = 0;
|
|
|
|
PROTOCOL_TCP = 1;
|
|
|
|
PROTOCOL_UDP = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message QueryRequest {
|
|
|
|
// msg is the DNS request message.
|
|
|
|
bytes msg = 1;
|
|
|
|
// protocol is the protocol of the request
|
|
|
|
Protocol protocol = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message QueryResponse {
|
|
|
|
// msg is the DNS reply message.
|
|
|
|
bytes msg = 1;
|
|
|
|
}
|