// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: admin/v1/admin.proto

package v1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Route is one entry in the global route_map.
type Route struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DomainHash    uint32                 `protobuf:"varint,1,opt,name=domain_hash,json=domainHash,proto3" json:"domain_hash,omitempty"`
	DstPort       uint32                 `protobuf:"varint,2,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"`
	EnvoyPort     uint32                 `protobuf:"varint,3,opt,name=envoy_port,json=envoyPort,proto3" json:"envoy_port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Route) Reset() {
	*x = Route{}
	mi := &file_admin_v1_admin_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Route) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Route) ProtoMessage() {}

func (x *Route) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Route.ProtoReflect.Descriptor instead.
func (*Route) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{0}
}

func (x *Route) GetDomainHash() uint32 {
	if x != nil {
		return x.DomainHash
	}
	return 0
}

func (x *Route) GetDstPort() uint32 {
	if x != nil {
		return x.DstPort
	}
	return 0
}

func (x *Route) GetEnvoyPort() uint32 {
	if x != nil {
		return x.EnvoyPort
	}
	return 0
}

// EgressRule is one egress firewall rule (mirrors config.EgressRule).
type EgressRule struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Dst           string                 `protobuf:"bytes,1,opt,name=dst,proto3" json:"dst,omitempty"`
	Proto         string                 `protobuf:"bytes,2,opt,name=proto,proto3" json:"proto,omitempty"` // "tls" | "tcp" | "http" | "ssh" | "ip" | "cidr"
	Port          uint32                 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	Action        string                 `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"` // "allow" | "deny"
	PathRules     []*PathRule            `protobuf:"bytes,5,rep,name=path_rules,json=pathRules,proto3" json:"path_rules,omitempty"`
	PathDefault   string                 `protobuf:"bytes,6,opt,name=path_default,json=pathDefault,proto3" json:"path_default,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EgressRule) Reset() {
	*x = EgressRule{}
	mi := &file_admin_v1_admin_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EgressRule) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EgressRule) ProtoMessage() {}

func (x *EgressRule) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EgressRule.ProtoReflect.Descriptor instead.
func (*EgressRule) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{1}
}

func (x *EgressRule) GetDst() string {
	if x != nil {
		return x.Dst
	}
	return ""
}

func (x *EgressRule) GetProto() string {
	if x != nil {
		return x.Proto
	}
	return ""
}

func (x *EgressRule) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *EgressRule) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *EgressRule) GetPathRules() []*PathRule {
	if x != nil {
		return x.PathRules
	}
	return nil
}

func (x *EgressRule) GetPathDefault() string {
	if x != nil {
		return x.PathDefault
	}
	return ""
}

type PathRule struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Path          string                 `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Action        string                 `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PathRule) Reset() {
	*x = PathRule{}
	mi := &file_admin_v1_admin_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PathRule) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PathRule) ProtoMessage() {}

func (x *PathRule) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PathRule.ProtoReflect.Descriptor instead.
func (*PathRule) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{2}
}

func (x *PathRule) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *PathRule) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

type FirewallInitRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallInitRequest) Reset() {
	*x = FirewallInitRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallInitRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallInitRequest) ProtoMessage() {}

func (x *FirewallInitRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallInitRequest.ProtoReflect.Descriptor instead.
func (*FirewallInitRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{3}
}

type FirewallInitResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	EnvoyIp       string                 `protobuf:"bytes,1,opt,name=envoy_ip,json=envoyIp,proto3" json:"envoy_ip,omitempty"`
	CorednsIp     string                 `protobuf:"bytes,2,opt,name=coredns_ip,json=corednsIp,proto3" json:"coredns_ip,omitempty"`
	NetworkId     string                 `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallInitResult) Reset() {
	*x = FirewallInitResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallInitResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallInitResult) ProtoMessage() {}

func (x *FirewallInitResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallInitResult.ProtoReflect.Descriptor instead.
func (*FirewallInitResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{4}
}

func (x *FirewallInitResult) GetEnvoyIp() string {
	if x != nil {
		return x.EnvoyIp
	}
	return ""
}

func (x *FirewallInitResult) GetCorednsIp() string {
	if x != nil {
		return x.CorednsIp
	}
	return ""
}

func (x *FirewallInitResult) GetNetworkId() string {
	if x != nil {
		return x.NetworkId
	}
	return ""
}

type FirewallRemoveRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallRemoveRequest) Reset() {
	*x = FirewallRemoveRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallRemoveRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallRemoveRequest) ProtoMessage() {}

func (x *FirewallRemoveRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallRemoveRequest.ProtoReflect.Descriptor instead.
func (*FirewallRemoveRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{5}
}

type FirewallRemoveResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallRemoveResult) Reset() {
	*x = FirewallRemoveResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallRemoveResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallRemoveResult) ProtoMessage() {}

func (x *FirewallRemoveResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallRemoveResult.ProtoReflect.Descriptor instead.
func (*FirewallRemoveResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{6}
}

type FirewallEnableRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ContainerId   string                 `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallEnableRequest) Reset() {
	*x = FirewallEnableRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallEnableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallEnableRequest) ProtoMessage() {}

func (x *FirewallEnableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallEnableRequest.ProtoReflect.Descriptor instead.
func (*FirewallEnableRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{7}
}

func (x *FirewallEnableRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

type FirewallEnableResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallEnableResult) Reset() {
	*x = FirewallEnableResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallEnableResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallEnableResult) ProtoMessage() {}

func (x *FirewallEnableResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallEnableResult.ProtoReflect.Descriptor instead.
func (*FirewallEnableResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{8}
}

type FirewallDisableRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ContainerId   string                 `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallDisableRequest) Reset() {
	*x = FirewallDisableRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallDisableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallDisableRequest) ProtoMessage() {}

func (x *FirewallDisableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallDisableRequest.ProtoReflect.Descriptor instead.
func (*FirewallDisableRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{9}
}

func (x *FirewallDisableRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

type FirewallDisableResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallDisableResult) Reset() {
	*x = FirewallDisableResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallDisableResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallDisableResult) ProtoMessage() {}

func (x *FirewallDisableResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallDisableResult.ProtoReflect.Descriptor instead.
func (*FirewallDisableResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{10}
}

type FirewallBypassRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ContainerId    string                 `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	TimeoutSeconds uint32                 `protobuf:"varint,2,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FirewallBypassRequest) Reset() {
	*x = FirewallBypassRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallBypassRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallBypassRequest) ProtoMessage() {}

func (x *FirewallBypassRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallBypassRequest.ProtoReflect.Descriptor instead.
func (*FirewallBypassRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{11}
}

func (x *FirewallBypassRequest) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *FirewallBypassRequest) GetTimeoutSeconds() uint32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

type FirewallBypassResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallBypassResult) Reset() {
	*x = FirewallBypassResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallBypassResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallBypassResult) ProtoMessage() {}

func (x *FirewallBypassResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallBypassResult.ProtoReflect.Descriptor instead.
func (*FirewallBypassResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{12}
}

type FirewallAddRulesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rules         []*EgressRule          `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallAddRulesRequest) Reset() {
	*x = FirewallAddRulesRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallAddRulesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallAddRulesRequest) ProtoMessage() {}

func (x *FirewallAddRulesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallAddRulesRequest.ProtoReflect.Descriptor instead.
func (*FirewallAddRulesRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{13}
}

func (x *FirewallAddRulesRequest) GetRules() []*EgressRule {
	if x != nil {
		return x.Rules
	}
	return nil
}

type FirewallAddRulesResult struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	AddedCount int32                  `protobuf:"varint,1,opt,name=added_count,json=addedCount,proto3" json:"added_count,omitempty"`
	// stack_restarted is true when the live stack was reloaded; false when
	// the stack was down at queue-time and only the on-disk rule change
	// applied. In both cases err==nil — the rule is durable.
	StackRestarted bool `protobuf:"varint,2,opt,name=stack_restarted,json=stackRestarted,proto3" json:"stack_restarted,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FirewallAddRulesResult) Reset() {
	*x = FirewallAddRulesResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallAddRulesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallAddRulesResult) ProtoMessage() {}

func (x *FirewallAddRulesResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallAddRulesResult.ProtoReflect.Descriptor instead.
func (*FirewallAddRulesResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{14}
}

func (x *FirewallAddRulesResult) GetAddedCount() int32 {
	if x != nil {
		return x.AddedCount
	}
	return 0
}

func (x *FirewallAddRulesResult) GetStackRestarted() bool {
	if x != nil {
		return x.StackRestarted
	}
	return false
}

type FirewallRemoveRuleRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Dst           string                 `protobuf:"bytes,1,opt,name=dst,proto3" json:"dst,omitempty"`
	Proto         string                 `protobuf:"bytes,2,opt,name=proto,proto3" json:"proto,omitempty"` // "tls" | "tcp" | "http" | "ssh" | "ip" | "cidr"
	Port          uint32                 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallRemoveRuleRequest) Reset() {
	*x = FirewallRemoveRuleRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallRemoveRuleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallRemoveRuleRequest) ProtoMessage() {}

func (x *FirewallRemoveRuleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallRemoveRuleRequest.ProtoReflect.Descriptor instead.
func (*FirewallRemoveRuleRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{15}
}

func (x *FirewallRemoveRuleRequest) GetDst() string {
	if x != nil {
		return x.Dst
	}
	return ""
}

func (x *FirewallRemoveRuleRequest) GetProto() string {
	if x != nil {
		return x.Proto
	}
	return ""
}

func (x *FirewallRemoveRuleRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type FirewallRemoveRuleResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// stack_restarted is true when the live stack was reloaded; false when
	// the stack was down at queue-time and only the on-disk rule change
	// applied. In both cases err==nil — the rule is durable.
	StackRestarted bool `protobuf:"varint,1,opt,name=stack_restarted,json=stackRestarted,proto3" json:"stack_restarted,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FirewallRemoveRuleResult) Reset() {
	*x = FirewallRemoveRuleResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallRemoveRuleResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallRemoveRuleResult) ProtoMessage() {}

func (x *FirewallRemoveRuleResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallRemoveRuleResult.ProtoReflect.Descriptor instead.
func (*FirewallRemoveRuleResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{16}
}

func (x *FirewallRemoveRuleResult) GetStackRestarted() bool {
	if x != nil {
		return x.StackRestarted
	}
	return false
}

type FirewallListRulesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallListRulesRequest) Reset() {
	*x = FirewallListRulesRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallListRulesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallListRulesRequest) ProtoMessage() {}

func (x *FirewallListRulesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallListRulesRequest.ProtoReflect.Descriptor instead.
func (*FirewallListRulesRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{17}
}

type FirewallListRulesResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rules         []*EgressRule          `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallListRulesResult) Reset() {
	*x = FirewallListRulesResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallListRulesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallListRulesResult) ProtoMessage() {}

func (x *FirewallListRulesResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallListRulesResult.ProtoReflect.Descriptor instead.
func (*FirewallListRulesResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{18}
}

func (x *FirewallListRulesResult) GetRules() []*EgressRule {
	if x != nil {
		return x.Rules
	}
	return nil
}

type FirewallReloadRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallReloadRequest) Reset() {
	*x = FirewallReloadRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallReloadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallReloadRequest) ProtoMessage() {}

func (x *FirewallReloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallReloadRequest.ProtoReflect.Descriptor instead.
func (*FirewallReloadRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{19}
}

type FirewallReloadResult struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	StackRestarted bool                   `protobuf:"varint,1,opt,name=stack_restarted,json=stackRestarted,proto3" json:"stack_restarted,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FirewallReloadResult) Reset() {
	*x = FirewallReloadResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallReloadResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallReloadResult) ProtoMessage() {}

func (x *FirewallReloadResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallReloadResult.ProtoReflect.Descriptor instead.
func (*FirewallReloadResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{20}
}

func (x *FirewallReloadResult) GetStackRestarted() bool {
	if x != nil {
		return x.StackRestarted
	}
	return false
}

type FirewallStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallStatusRequest) Reset() {
	*x = FirewallStatusRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallStatusRequest) ProtoMessage() {}

func (x *FirewallStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallStatusRequest.ProtoReflect.Descriptor instead.
func (*FirewallStatusRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{21}
}

type FirewallStatusResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Running       bool                   `protobuf:"varint,1,opt,name=running,proto3" json:"running,omitempty"`
	EnvoyHealth   bool                   `protobuf:"varint,2,opt,name=envoy_health,json=envoyHealth,proto3" json:"envoy_health,omitempty"`
	CorednsHealth bool                   `protobuf:"varint,3,opt,name=coredns_health,json=corednsHealth,proto3" json:"coredns_health,omitempty"`
	RuleCount     int32                  `protobuf:"varint,4,opt,name=rule_count,json=ruleCount,proto3" json:"rule_count,omitempty"`
	EnvoyIp       string                 `protobuf:"bytes,5,opt,name=envoy_ip,json=envoyIp,proto3" json:"envoy_ip,omitempty"`
	CorednsIp     string                 `protobuf:"bytes,6,opt,name=coredns_ip,json=corednsIp,proto3" json:"coredns_ip,omitempty"`
	NetworkId     string                 `protobuf:"bytes,7,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	Cidr          string                 `protobuf:"bytes,8,opt,name=cidr,proto3" json:"cidr,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallStatusResult) Reset() {
	*x = FirewallStatusResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallStatusResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallStatusResult) ProtoMessage() {}

func (x *FirewallStatusResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallStatusResult.ProtoReflect.Descriptor instead.
func (*FirewallStatusResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{22}
}

func (x *FirewallStatusResult) GetRunning() bool {
	if x != nil {
		return x.Running
	}
	return false
}

func (x *FirewallStatusResult) GetEnvoyHealth() bool {
	if x != nil {
		return x.EnvoyHealth
	}
	return false
}

func (x *FirewallStatusResult) GetCorednsHealth() bool {
	if x != nil {
		return x.CorednsHealth
	}
	return false
}

func (x *FirewallStatusResult) GetRuleCount() int32 {
	if x != nil {
		return x.RuleCount
	}
	return 0
}

func (x *FirewallStatusResult) GetEnvoyIp() string {
	if x != nil {
		return x.EnvoyIp
	}
	return ""
}

func (x *FirewallStatusResult) GetCorednsIp() string {
	if x != nil {
		return x.CorednsIp
	}
	return ""
}

func (x *FirewallStatusResult) GetNetworkId() string {
	if x != nil {
		return x.NetworkId
	}
	return ""
}

func (x *FirewallStatusResult) GetCidr() string {
	if x != nil {
		return x.Cidr
	}
	return ""
}

type FirewallRotateCARequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallRotateCARequest) Reset() {
	*x = FirewallRotateCARequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallRotateCARequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallRotateCARequest) ProtoMessage() {}

func (x *FirewallRotateCARequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallRotateCARequest.ProtoReflect.Descriptor instead.
func (*FirewallRotateCARequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{23}
}

type FirewallRotateCAResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// stack_restarted mirrors the AddRules/Reload distinction: true when
	// the live stack was reloaded with the fresh cert chain; false when
	// regen completed but the stack was down so no restart fired.
	StackRestarted bool `protobuf:"varint,1,opt,name=stack_restarted,json=stackRestarted,proto3" json:"stack_restarted,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FirewallRotateCAResult) Reset() {
	*x = FirewallRotateCAResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallRotateCAResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallRotateCAResult) ProtoMessage() {}

func (x *FirewallRotateCAResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallRotateCAResult.ProtoReflect.Descriptor instead.
func (*FirewallRotateCAResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{24}
}

func (x *FirewallRotateCAResult) GetStackRestarted() bool {
	if x != nil {
		return x.StackRestarted
	}
	return false
}

type FirewallSyncRoutesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// routes is retained for wire compatibility but is IGNORED by the
	// server. Post-queue the server rebuilds the route_map from the
	// current rules store — see
	// internal/controlplane/firewall.Handler.FirewallSyncRoutes for the
	// rationale (coalescing with concurrent AddRules/Reload would
	// silently discard a caller's stale route set).
	Routes        []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallSyncRoutesRequest) Reset() {
	*x = FirewallSyncRoutesRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallSyncRoutesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallSyncRoutesRequest) ProtoMessage() {}

func (x *FirewallSyncRoutesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallSyncRoutesRequest.ProtoReflect.Descriptor instead.
func (*FirewallSyncRoutesRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{25}
}

func (x *FirewallSyncRoutesRequest) GetRoutes() []*Route {
	if x != nil {
		return x.Routes
	}
	return nil
}

type FirewallSyncRoutesResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Applied       uint32                 `protobuf:"varint,1,opt,name=applied,proto3" json:"applied,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallSyncRoutesResult) Reset() {
	*x = FirewallSyncRoutesResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallSyncRoutesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallSyncRoutesResult) ProtoMessage() {}

func (x *FirewallSyncRoutesResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallSyncRoutesResult.ProtoReflect.Descriptor instead.
func (*FirewallSyncRoutesResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{26}
}

func (x *FirewallSyncRoutesResult) GetApplied() uint32 {
	if x != nil {
		return x.Applied
	}
	return 0
}

type FirewallResolveHostnameRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Hostname      string                 `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallResolveHostnameRequest) Reset() {
	*x = FirewallResolveHostnameRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallResolveHostnameRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallResolveHostnameRequest) ProtoMessage() {}

func (x *FirewallResolveHostnameRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallResolveHostnameRequest.ProtoReflect.Descriptor instead.
func (*FirewallResolveHostnameRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{27}
}

func (x *FirewallResolveHostnameRequest) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

type FirewallResolveHostnameResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Addresses     []string               `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FirewallResolveHostnameResult) Reset() {
	*x = FirewallResolveHostnameResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FirewallResolveHostnameResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FirewallResolveHostnameResult) ProtoMessage() {}

func (x *FirewallResolveHostnameResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FirewallResolveHostnameResult.ProtoReflect.Descriptor instead.
func (*FirewallResolveHostnameResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{28}
}

func (x *FirewallResolveHostnameResult) GetAddresses() []string {
	if x != nil {
		return x.Addresses
	}
	return nil
}

type ListAgentsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAgentsRequest) Reset() {
	*x = ListAgentsRequest{}
	mi := &file_admin_v1_admin_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListAgentsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAgentsRequest) ProtoMessage() {}

func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAgentsRequest.ProtoReflect.Descriptor instead.
func (*ListAgentsRequest) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{29}
}

type ListAgentsResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Agents        []*Agent               `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAgentsResult) Reset() {
	*x = ListAgentsResult{}
	mi := &file_admin_v1_admin_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListAgentsResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAgentsResult) ProtoMessage() {}

func (x *ListAgentsResult) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAgentsResult.ProtoReflect.Descriptor instead.
func (*ListAgentsResult) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{30}
}

func (x *ListAgentsResult) GetAgents() []*Agent {
	if x != nil {
		return x.Agents
	}
	return nil
}

type Agent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// agent_name is the short agent name as the user types it on the CLI
	// (e.g. "dev"). The canonical "clawker.project.agent" form is composed
	// CP-side from (NamePrefix, project, agent_name) — kept off the wire to
	// avoid duplication and parsing.
	AgentName string `protobuf:"bytes,1,opt,name=agent_name,json=agentName,proto3" json:"agent_name,omitempty"`
	// container_id is the long Docker container ID the agent runs in.
	ContainerId string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
	// cert_thumbprint is the lowercase-hex SHA-256 over the agent's mTLS
	// cert DER — the channel-bound identity key.
	CertThumbprint string `protobuf:"bytes,3,opt,name=cert_thumbprint,json=certThumbprint,proto3" json:"cert_thumbprint,omitempty"`
	// registered_at_unix is the wall-clock timestamp at AgentService.Connect.
	RegisteredAtUnix int64 `protobuf:"varint,4,opt,name=registered_at_unix,json=registeredAtUnix,proto3" json:"registered_at_unix,omitempty"`
	// last_seen_unix is updated on every successful per-agent RPC. Equal
	// to registered_at_unix for B4 because Connect is the only per-agent
	// RPC.
	LastSeenUnix int64 `protobuf:"varint,5,opt,name=last_seen_unix,json=lastSeenUnix,proto3" json:"last_seen_unix,omitempty"`
	// project is the clawker project slug the agent registered under (empty
	// for 2-segment naming). Composite with agent_name when callers need a
	// unique key across projects.
	Project       string `protobuf:"bytes,6,opt,name=project,proto3" json:"project,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Agent) Reset() {
	*x = Agent{}
	mi := &file_admin_v1_admin_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Agent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Agent) ProtoMessage() {}

func (x *Agent) ProtoReflect() protoreflect.Message {
	mi := &file_admin_v1_admin_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Agent.ProtoReflect.Descriptor instead.
func (*Agent) Descriptor() ([]byte, []int) {
	return file_admin_v1_admin_proto_rawDescGZIP(), []int{31}
}

func (x *Agent) GetAgentName() string {
	if x != nil {
		return x.AgentName
	}
	return ""
}

func (x *Agent) GetContainerId() string {
	if x != nil {
		return x.ContainerId
	}
	return ""
}

func (x *Agent) GetCertThumbprint() string {
	if x != nil {
		return x.CertThumbprint
	}
	return ""
}

func (x *Agent) GetRegisteredAtUnix() int64 {
	if x != nil {
		return x.RegisteredAtUnix
	}
	return 0
}

func (x *Agent) GetLastSeenUnix() int64 {
	if x != nil {
		return x.LastSeenUnix
	}
	return 0
}

func (x *Agent) GetProject() string {
	if x != nil {
		return x.Project
	}
	return ""
}

var File_admin_v1_admin_proto protoreflect.FileDescriptor

const file_admin_v1_admin_proto_rawDesc = "" +
	"\n" +
	"\x14admin/v1/admin.proto\x12\x10clawker.admin.v1\"b\n" +
	"\x05Route\x12\x1f\n" +
	"\vdomain_hash\x18\x01 \x01(\rR\n" +
	"domainHash\x12\x19\n" +
	"\bdst_port\x18\x02 \x01(\rR\adstPort\x12\x1d\n" +
	"\n" +
	"envoy_port\x18\x03 \x01(\rR\tenvoyPort\"\xbe\x01\n" +
	"\n" +
	"EgressRule\x12\x10\n" +
	"\x03dst\x18\x01 \x01(\tR\x03dst\x12\x14\n" +
	"\x05proto\x18\x02 \x01(\tR\x05proto\x12\x12\n" +
	"\x04port\x18\x03 \x01(\rR\x04port\x12\x16\n" +
	"\x06action\x18\x04 \x01(\tR\x06action\x129\n" +
	"\n" +
	"path_rules\x18\x05 \x03(\v2\x1a.clawker.admin.v1.PathRuleR\tpathRules\x12!\n" +
	"\fpath_default\x18\x06 \x01(\tR\vpathDefault\"6\n" +
	"\bPathRule\x12\x12\n" +
	"\x04path\x18\x01 \x01(\tR\x04path\x12\x16\n" +
	"\x06action\x18\x02 \x01(\tR\x06action\"\x15\n" +
	"\x13FirewallInitRequest\"m\n" +
	"\x12FirewallInitResult\x12\x19\n" +
	"\benvoy_ip\x18\x01 \x01(\tR\aenvoyIp\x12\x1d\n" +
	"\n" +
	"coredns_ip\x18\x02 \x01(\tR\tcorednsIp\x12\x1d\n" +
	"\n" +
	"network_id\x18\x03 \x01(\tR\tnetworkId\"\x17\n" +
	"\x15FirewallRemoveRequest\"\x16\n" +
	"\x14FirewallRemoveResult\":\n" +
	"\x15FirewallEnableRequest\x12!\n" +
	"\fcontainer_id\x18\x01 \x01(\tR\vcontainerId\"\x16\n" +
	"\x14FirewallEnableResult\";\n" +
	"\x16FirewallDisableRequest\x12!\n" +
	"\fcontainer_id\x18\x01 \x01(\tR\vcontainerId\"\x17\n" +
	"\x15FirewallDisableResult\"c\n" +
	"\x15FirewallBypassRequest\x12!\n" +
	"\fcontainer_id\x18\x01 \x01(\tR\vcontainerId\x12'\n" +
	"\x0ftimeout_seconds\x18\x02 \x01(\rR\x0etimeoutSeconds\"\x16\n" +
	"\x14FirewallBypassResult\"M\n" +
	"\x17FirewallAddRulesRequest\x122\n" +
	"\x05rules\x18\x01 \x03(\v2\x1c.clawker.admin.v1.EgressRuleR\x05rules\"b\n" +
	"\x16FirewallAddRulesResult\x12\x1f\n" +
	"\vadded_count\x18\x01 \x01(\x05R\n" +
	"addedCount\x12'\n" +
	"\x0fstack_restarted\x18\x02 \x01(\bR\x0estackRestarted\"W\n" +
	"\x19FirewallRemoveRuleRequest\x12\x10\n" +
	"\x03dst\x18\x01 \x01(\tR\x03dst\x12\x14\n" +
	"\x05proto\x18\x02 \x01(\tR\x05proto\x12\x12\n" +
	"\x04port\x18\x03 \x01(\rR\x04port\"C\n" +
	"\x18FirewallRemoveRuleResult\x12'\n" +
	"\x0fstack_restarted\x18\x01 \x01(\bR\x0estackRestarted\"\x1a\n" +
	"\x18FirewallListRulesRequest\"M\n" +
	"\x17FirewallListRulesResult\x122\n" +
	"\x05rules\x18\x01 \x03(\v2\x1c.clawker.admin.v1.EgressRuleR\x05rules\"\x17\n" +
	"\x15FirewallReloadRequest\"?\n" +
	"\x14FirewallReloadResult\x12'\n" +
	"\x0fstack_restarted\x18\x01 \x01(\bR\x0estackRestarted\"\x17\n" +
	"\x15FirewallStatusRequest\"\x86\x02\n" +
	"\x14FirewallStatusResult\x12\x18\n" +
	"\arunning\x18\x01 \x01(\bR\arunning\x12!\n" +
	"\fenvoy_health\x18\x02 \x01(\bR\venvoyHealth\x12%\n" +
	"\x0ecoredns_health\x18\x03 \x01(\bR\rcorednsHealth\x12\x1d\n" +
	"\n" +
	"rule_count\x18\x04 \x01(\x05R\truleCount\x12\x19\n" +
	"\benvoy_ip\x18\x05 \x01(\tR\aenvoyIp\x12\x1d\n" +
	"\n" +
	"coredns_ip\x18\x06 \x01(\tR\tcorednsIp\x12\x1d\n" +
	"\n" +
	"network_id\x18\a \x01(\tR\tnetworkId\x12\x12\n" +
	"\x04cidr\x18\b \x01(\tR\x04cidr\"\x19\n" +
	"\x17FirewallRotateCARequest\"A\n" +
	"\x16FirewallRotateCAResult\x12'\n" +
	"\x0fstack_restarted\x18\x01 \x01(\bR\x0estackRestarted\"L\n" +
	"\x19FirewallSyncRoutesRequest\x12/\n" +
	"\x06routes\x18\x01 \x03(\v2\x17.clawker.admin.v1.RouteR\x06routes\"4\n" +
	"\x18FirewallSyncRoutesResult\x12\x18\n" +
	"\aapplied\x18\x01 \x01(\rR\aapplied\"<\n" +
	"\x1eFirewallResolveHostnameRequest\x12\x1a\n" +
	"\bhostname\x18\x01 \x01(\tR\bhostname\"=\n" +
	"\x1dFirewallResolveHostnameResult\x12\x1c\n" +
	"\taddresses\x18\x01 \x03(\tR\taddresses\"\x13\n" +
	"\x11ListAgentsRequest\"C\n" +
	"\x10ListAgentsResult\x12/\n" +
	"\x06agents\x18\x01 \x03(\v2\x17.clawker.admin.v1.AgentR\x06agents\"\xe0\x01\n" +
	"\x05Agent\x12\x1d\n" +
	"\n" +
	"agent_name\x18\x01 \x01(\tR\tagentName\x12!\n" +
	"\fcontainer_id\x18\x02 \x01(\tR\vcontainerId\x12'\n" +
	"\x0fcert_thumbprint\x18\x03 \x01(\tR\x0ecertThumbprint\x12,\n" +
	"\x12registered_at_unix\x18\x04 \x01(\x03R\x10registeredAtUnix\x12$\n" +
	"\x0elast_seen_unix\x18\x05 \x01(\x03R\flastSeenUnix\x12\x18\n" +
	"\aproject\x18\x06 \x01(\tR\aproject2\xb1\v\n" +
	"\fAdminService\x12[\n" +
	"\fFirewallInit\x12%.clawker.admin.v1.FirewallInitRequest\x1a$.clawker.admin.v1.FirewallInitResult\x12a\n" +
	"\x0eFirewallRemove\x12'.clawker.admin.v1.FirewallRemoveRequest\x1a&.clawker.admin.v1.FirewallRemoveResult\x12a\n" +
	"\x0eFirewallEnable\x12'.clawker.admin.v1.FirewallEnableRequest\x1a&.clawker.admin.v1.FirewallEnableResult\x12d\n" +
	"\x0fFirewallDisable\x12(.clawker.admin.v1.FirewallDisableRequest\x1a'.clawker.admin.v1.FirewallDisableResult\x12a\n" +
	"\x0eFirewallBypass\x12'.clawker.admin.v1.FirewallBypassRequest\x1a&.clawker.admin.v1.FirewallBypassResult\x12g\n" +
	"\x10FirewallAddRules\x12).clawker.admin.v1.FirewallAddRulesRequest\x1a(.clawker.admin.v1.FirewallAddRulesResult\x12m\n" +
	"\x12FirewallRemoveRule\x12+.clawker.admin.v1.FirewallRemoveRuleRequest\x1a*.clawker.admin.v1.FirewallRemoveRuleResult\x12j\n" +
	"\x11FirewallListRules\x12*.clawker.admin.v1.FirewallListRulesRequest\x1a).clawker.admin.v1.FirewallListRulesResult\x12a\n" +
	"\x0eFirewallReload\x12'.clawker.admin.v1.FirewallReloadRequest\x1a&.clawker.admin.v1.FirewallReloadResult\x12a\n" +
	"\x0eFirewallStatus\x12'.clawker.admin.v1.FirewallStatusRequest\x1a&.clawker.admin.v1.FirewallStatusResult\x12g\n" +
	"\x10FirewallRotateCA\x12).clawker.admin.v1.FirewallRotateCARequest\x1a(.clawker.admin.v1.FirewallRotateCAResult\x12m\n" +
	"\x12FirewallSyncRoutes\x12+.clawker.admin.v1.FirewallSyncRoutesRequest\x1a*.clawker.admin.v1.FirewallSyncRoutesResult\x12|\n" +
	"\x17FirewallResolveHostname\x120.clawker.admin.v1.FirewallResolveHostnameRequest\x1a/.clawker.admin.v1.FirewallResolveHostnameResult\x12U\n" +
	"\n" +
	"ListAgents\x12#.clawker.admin.v1.ListAgentsRequest\x1a\".clawker.admin.v1.ListAgentsResultB,Z*github.com/schmitthub/clawker/api/admin/v1b\x06proto3"

var (
	file_admin_v1_admin_proto_rawDescOnce sync.Once
	file_admin_v1_admin_proto_rawDescData []byte
)

func file_admin_v1_admin_proto_rawDescGZIP() []byte {
	file_admin_v1_admin_proto_rawDescOnce.Do(func() {
		file_admin_v1_admin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_admin_v1_admin_proto_rawDesc), len(file_admin_v1_admin_proto_rawDesc)))
	})
	return file_admin_v1_admin_proto_rawDescData
}

var file_admin_v1_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
var file_admin_v1_admin_proto_goTypes = []any{
	(*Route)(nil),                          // 0: clawker.admin.v1.Route
	(*EgressRule)(nil),                     // 1: clawker.admin.v1.EgressRule
	(*PathRule)(nil),                       // 2: clawker.admin.v1.PathRule
	(*FirewallInitRequest)(nil),            // 3: clawker.admin.v1.FirewallInitRequest
	(*FirewallInitResult)(nil),             // 4: clawker.admin.v1.FirewallInitResult
	(*FirewallRemoveRequest)(nil),          // 5: clawker.admin.v1.FirewallRemoveRequest
	(*FirewallRemoveResult)(nil),           // 6: clawker.admin.v1.FirewallRemoveResult
	(*FirewallEnableRequest)(nil),          // 7: clawker.admin.v1.FirewallEnableRequest
	(*FirewallEnableResult)(nil),           // 8: clawker.admin.v1.FirewallEnableResult
	(*FirewallDisableRequest)(nil),         // 9: clawker.admin.v1.FirewallDisableRequest
	(*FirewallDisableResult)(nil),          // 10: clawker.admin.v1.FirewallDisableResult
	(*FirewallBypassRequest)(nil),          // 11: clawker.admin.v1.FirewallBypassRequest
	(*FirewallBypassResult)(nil),           // 12: clawker.admin.v1.FirewallBypassResult
	(*FirewallAddRulesRequest)(nil),        // 13: clawker.admin.v1.FirewallAddRulesRequest
	(*FirewallAddRulesResult)(nil),         // 14: clawker.admin.v1.FirewallAddRulesResult
	(*FirewallRemoveRuleRequest)(nil),      // 15: clawker.admin.v1.FirewallRemoveRuleRequest
	(*FirewallRemoveRuleResult)(nil),       // 16: clawker.admin.v1.FirewallRemoveRuleResult
	(*FirewallListRulesRequest)(nil),       // 17: clawker.admin.v1.FirewallListRulesRequest
	(*FirewallListRulesResult)(nil),        // 18: clawker.admin.v1.FirewallListRulesResult
	(*FirewallReloadRequest)(nil),          // 19: clawker.admin.v1.FirewallReloadRequest
	(*FirewallReloadResult)(nil),           // 20: clawker.admin.v1.FirewallReloadResult
	(*FirewallStatusRequest)(nil),          // 21: clawker.admin.v1.FirewallStatusRequest
	(*FirewallStatusResult)(nil),           // 22: clawker.admin.v1.FirewallStatusResult
	(*FirewallRotateCARequest)(nil),        // 23: clawker.admin.v1.FirewallRotateCARequest
	(*FirewallRotateCAResult)(nil),         // 24: clawker.admin.v1.FirewallRotateCAResult
	(*FirewallSyncRoutesRequest)(nil),      // 25: clawker.admin.v1.FirewallSyncRoutesRequest
	(*FirewallSyncRoutesResult)(nil),       // 26: clawker.admin.v1.FirewallSyncRoutesResult
	(*FirewallResolveHostnameRequest)(nil), // 27: clawker.admin.v1.FirewallResolveHostnameRequest
	(*FirewallResolveHostnameResult)(nil),  // 28: clawker.admin.v1.FirewallResolveHostnameResult
	(*ListAgentsRequest)(nil),              // 29: clawker.admin.v1.ListAgentsRequest
	(*ListAgentsResult)(nil),               // 30: clawker.admin.v1.ListAgentsResult
	(*Agent)(nil),                          // 31: clawker.admin.v1.Agent
}
var file_admin_v1_admin_proto_depIdxs = []int32{
	2,  // 0: clawker.admin.v1.EgressRule.path_rules:type_name -> clawker.admin.v1.PathRule
	1,  // 1: clawker.admin.v1.FirewallAddRulesRequest.rules:type_name -> clawker.admin.v1.EgressRule
	1,  // 2: clawker.admin.v1.FirewallListRulesResult.rules:type_name -> clawker.admin.v1.EgressRule
	0,  // 3: clawker.admin.v1.FirewallSyncRoutesRequest.routes:type_name -> clawker.admin.v1.Route
	31, // 4: clawker.admin.v1.ListAgentsResult.agents:type_name -> clawker.admin.v1.Agent
	3,  // 5: clawker.admin.v1.AdminService.FirewallInit:input_type -> clawker.admin.v1.FirewallInitRequest
	5,  // 6: clawker.admin.v1.AdminService.FirewallRemove:input_type -> clawker.admin.v1.FirewallRemoveRequest
	7,  // 7: clawker.admin.v1.AdminService.FirewallEnable:input_type -> clawker.admin.v1.FirewallEnableRequest
	9,  // 8: clawker.admin.v1.AdminService.FirewallDisable:input_type -> clawker.admin.v1.FirewallDisableRequest
	11, // 9: clawker.admin.v1.AdminService.FirewallBypass:input_type -> clawker.admin.v1.FirewallBypassRequest
	13, // 10: clawker.admin.v1.AdminService.FirewallAddRules:input_type -> clawker.admin.v1.FirewallAddRulesRequest
	15, // 11: clawker.admin.v1.AdminService.FirewallRemoveRule:input_type -> clawker.admin.v1.FirewallRemoveRuleRequest
	17, // 12: clawker.admin.v1.AdminService.FirewallListRules:input_type -> clawker.admin.v1.FirewallListRulesRequest
	19, // 13: clawker.admin.v1.AdminService.FirewallReload:input_type -> clawker.admin.v1.FirewallReloadRequest
	21, // 14: clawker.admin.v1.AdminService.FirewallStatus:input_type -> clawker.admin.v1.FirewallStatusRequest
	23, // 15: clawker.admin.v1.AdminService.FirewallRotateCA:input_type -> clawker.admin.v1.FirewallRotateCARequest
	25, // 16: clawker.admin.v1.AdminService.FirewallSyncRoutes:input_type -> clawker.admin.v1.FirewallSyncRoutesRequest
	27, // 17: clawker.admin.v1.AdminService.FirewallResolveHostname:input_type -> clawker.admin.v1.FirewallResolveHostnameRequest
	29, // 18: clawker.admin.v1.AdminService.ListAgents:input_type -> clawker.admin.v1.ListAgentsRequest
	4,  // 19: clawker.admin.v1.AdminService.FirewallInit:output_type -> clawker.admin.v1.FirewallInitResult
	6,  // 20: clawker.admin.v1.AdminService.FirewallRemove:output_type -> clawker.admin.v1.FirewallRemoveResult
	8,  // 21: clawker.admin.v1.AdminService.FirewallEnable:output_type -> clawker.admin.v1.FirewallEnableResult
	10, // 22: clawker.admin.v1.AdminService.FirewallDisable:output_type -> clawker.admin.v1.FirewallDisableResult
	12, // 23: clawker.admin.v1.AdminService.FirewallBypass:output_type -> clawker.admin.v1.FirewallBypassResult
	14, // 24: clawker.admin.v1.AdminService.FirewallAddRules:output_type -> clawker.admin.v1.FirewallAddRulesResult
	16, // 25: clawker.admin.v1.AdminService.FirewallRemoveRule:output_type -> clawker.admin.v1.FirewallRemoveRuleResult
	18, // 26: clawker.admin.v1.AdminService.FirewallListRules:output_type -> clawker.admin.v1.FirewallListRulesResult
	20, // 27: clawker.admin.v1.AdminService.FirewallReload:output_type -> clawker.admin.v1.FirewallReloadResult
	22, // 28: clawker.admin.v1.AdminService.FirewallStatus:output_type -> clawker.admin.v1.FirewallStatusResult
	24, // 29: clawker.admin.v1.AdminService.FirewallRotateCA:output_type -> clawker.admin.v1.FirewallRotateCAResult
	26, // 30: clawker.admin.v1.AdminService.FirewallSyncRoutes:output_type -> clawker.admin.v1.FirewallSyncRoutesResult
	28, // 31: clawker.admin.v1.AdminService.FirewallResolveHostname:output_type -> clawker.admin.v1.FirewallResolveHostnameResult
	30, // 32: clawker.admin.v1.AdminService.ListAgents:output_type -> clawker.admin.v1.ListAgentsResult
	19, // [19:33] is the sub-list for method output_type
	5,  // [5:19] is the sub-list for method input_type
	5,  // [5:5] is the sub-list for extension type_name
	5,  // [5:5] is the sub-list for extension extendee
	0,  // [0:5] is the sub-list for field type_name
}

func init() { file_admin_v1_admin_proto_init() }
func file_admin_v1_admin_proto_init() {
	if File_admin_v1_admin_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_admin_v1_admin_proto_rawDesc), len(file_admin_v1_admin_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   32,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_admin_v1_admin_proto_goTypes,
		DependencyIndexes: file_admin_v1_admin_proto_depIdxs,
		MessageInfos:      file_admin_v1_admin_proto_msgTypes,
	}.Build()
	File_admin_v1_admin_proto = out.File
	file_admin_v1_admin_proto_goTypes = nil
	file_admin_v1_admin_proto_depIdxs = nil
}
