// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 syntax = "proto3"; package hashicorp.consul.dns; import "annotations/ratelimit/ratelimit.proto"; 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. rpc Query(QueryRequest) returns (QueryResponse) { option (hashicorp.consul.internal.ratelimit.spec) = { operation_type: OPERATION_TYPE_READ, operation_category: OPERATION_CATEGORY_DNS }; } } 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; }