text:
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: pkg/apis/istio/v1alpha1/values_types.proto

package v1alpha1

import (
	fmt "fmt"
	protobuf "github.com/gogo/protobuf/types"
	proto "github.com/golang/protobuf/proto"
	duration "github.com/golang/protobuf/ptypes/duration"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Throttling behavior for mixer.
type Mode int32

const (
	// Removes throttling behavior for mixer.
	Mode_disabled Mode = 0
	// Enables an advisory mode for throttling behavior for mixer.
	Mode_log_only Mode = 1
	// Turn on throttling behavior for mixer.
	Mode_enforce Mode = 2
)

var Mode_name = map[int32]string{
	0: "disabled",
	1: "log_only",
	2: "enforce",
}

var Mode_value = map[string]int32{
	"disabled": 0,
	"log_only": 1,
	"enforce":  2,
}

func (x Mode) String() string {
	return proto.EnumName(Mode_name, int32(x))
}

func (Mode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{0}
}

// Mode for the ingress controller.
type IngressControllerMode int32

const (
	// Unspecified Istio ingress controller.
	IngressControllerMode_UNSPECIFIED IngressControllerMode = 0
	// Selects all Ingress resources, with or without Istio annotation.
	IngressControllerMode_DEFAULT IngressControllerMode = 1
	// Selects only resources with istio annotation.
	IngressControllerMode_STRICT IngressControllerMode = 2
	// No ingress or sync.
	IngressControllerMode_OFF IngressControllerMode = 3
)

var IngressControllerMode_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "DEFAULT",
	2: "STRICT",
	3: "OFF",
}

var IngressControllerMode_value = map[string]int32{
	"UNSPECIFIED": 0,
	"DEFAULT":     1,
	"STRICT":      2,
	"OFF":         3,
}

func (x IngressControllerMode) String() string {
	return proto.EnumName(IngressControllerMode_name, int32(x))
}

func (IngressControllerMode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{1}
}

// Configures the access log for sidecar to JSON or TEXT
type AccessLogEncoding int32

const (
	AccessLogEncoding_JSON AccessLogEncoding = 0
	AccessLogEncoding_TEXT AccessLogEncoding = 1
)

var AccessLogEncoding_name = map[int32]string{
	0: "JSON",
	1: "TEXT",
}

var AccessLogEncoding_value = map[string]int32{
	"JSON": 0,
	"TEXT": 1,
}

func (x AccessLogEncoding) String() string {
	return proto.EnumName(AccessLogEncoding_name, int32(x))
}

func (AccessLogEncoding) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{2}
}

// Specifies which tracer to use.
type Tracer int32

const (
	Tracer_zipkin      Tracer = 0
	Tracer_lightstep   Tracer = 1
	Tracer_datadog     Tracer = 2
	Tracer_stackdriver Tracer = 3
)

var Tracer_name = map[int32]string{
	0: "zipkin",
	1: "lightstep",
	2: "datadog",
	3: "stackdriver",
}

var Tracer_value = map[string]int32{
	"zipkin":      0,
	"lightstep":   1,
	"datadog":     2,
	"stackdriver": 3,
}

func (x Tracer) String() string {
	return proto.EnumName(Tracer_name, int32(x))
}

func (Tracer) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{3}
}

// Specifies the sidecar's default behavior when handling outbound traffic from the application.
type OutboundTrafficPolicyConfig_Mode int32

const (
	// Outbound traffic to unknown destinations will be allowed, in case there are no services or ServiceEntries for the destination port
	OutboundTrafficPolicyConfig_ALLOW_ANY OutboundTrafficPolicyConfig_Mode = 0
	// Restrict outbound traffic to services defined in the service registry as well as those defined through ServiceEntries
	OutboundTrafficPolicyConfig_REGISTRY_ONLY OutboundTrafficPolicyConfig_Mode = 1
)

var OutboundTrafficPolicyConfig_Mode_name = map[int32]string{
	0: "ALLOW_ANY",
	1: "REGISTRY_ONLY",
}

var OutboundTrafficPolicyConfig_Mode_value = map[string]int32{
	"ALLOW_ANY":     0,
	"REGISTRY_ONLY": 1,
}

func (x OutboundTrafficPolicyConfig_Mode) String() string {
	return proto.EnumName(OutboundTrafficPolicyConfig_Mode_name, int32(x))
}

func (OutboundTrafficPolicyConfig_Mode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{29, 0}
}

// ArchConfig specifies the pod scheduling target architecture(amd64, ppc64le, s390x) for all the Istio control plane components.
type ArchConfig struct {
	// Sets pod scheduling weight for amd64 arch
	Amd64 uint32 `protobuf:"varint,1,opt,name=amd64,proto3" json:"amd64,omitempty"`
	// Sets pod scheduling weight for ppc64le arch.
	Ppc64Le uint32 `protobuf:"varint,2,opt,name=ppc64le,proto3" json:"ppc64le,omitempty"`
	// Sets pod scheduling weight for s390x arch.
	S390X                uint32   `protobuf:"varint,3,opt,name=s390x,proto3" json:"s390x,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ArchConfig) Reset()         { *m = ArchConfig{} }
func (m *ArchConfig) String() string { return proto.CompactTextString(m) }
func (*ArchConfig) ProtoMessage()    {}
func (*ArchConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{0}
}

func (m *ArchConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ArchConfig.Unmarshal(m, b)
}
func (m *ArchConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ArchConfig.Marshal(b, m, deterministic)
}
func (m *ArchConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ArchConfig.Merge(m, src)
}
func (m *ArchConfig) XXX_Size() int {
	return xxx_messageInfo_ArchConfig.Size(m)
}
func (m *ArchConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ArchConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ArchConfig proto.InternalMessageInfo

func (m *ArchConfig) GetAmd64() uint32 {
	if m != nil {
		return m.Amd64
	}
	return 0
}

func (m *ArchConfig) GetPpc64Le() uint32 {
	if m != nil {
		return m.Ppc64Le
	}
	return 0
}

func (m *ArchConfig) GetS390X() uint32 {
	if m != nil {
		return m.S390X
	}
	return 0
}

// Configuration for CNI.
type CNIConfig struct {
	// Controls whether CNI is enabled.
	Enabled              *protobuf.BoolValue     `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Hub                  string                  `protobuf:"bytes,2,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                  interface{}          `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
	Image                string                  `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"`
	PullPolicy           string                  `protobuf:"bytes,5,opt,name=pullPolicy,proto3" json:"pullPolicy,omitempty"`
	CniBinDir            string                  `protobuf:"bytes,6,opt,name=cniBinDir,proto3" json:"cniBinDir,omitempty"`
	CniConfDir           string                  `protobuf:"bytes,7,opt,name=cniConfDir,proto3" json:"cniConfDir,omitempty"`
	CniConfFileName      string                  `protobuf:"bytes,8,opt,name=cniConfFileName,proto3" json:"cniConfFileName,omitempty"`
	ExcludeNamespaces    []string                `protobuf:"bytes,9,rep,name=excludeNamespaces,proto3" json:"excludeNamespaces,omitempty"`
	PodAnnotations       map[string]interface{} `protobuf:"bytes,10,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	PspClusterRole       string                  `protobuf:"bytes,11,opt,name=psp_cluster_role,json=pspClusterRole,proto3" json:"psp_cluster_role,omitempty"`
	LogLevel             string                  `protobuf:"bytes,12,opt,name=logLevel,proto3" json:"logLevel,omitempty"`
	Repair               *CNIRepairConfig        `protobuf:"bytes,13,opt,name=repair,proto3" json:"repair,omitempty"`
	Chained              *protobuf.BoolValue     `protobuf:"bytes,14,opt,name=chained,proto3" json:"chained,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *CNIConfig) Reset()         { *m = CNIConfig{} }
func (m *CNIConfig) String() string { return proto.CompactTextString(m) }
func (*CNIConfig) ProtoMessage()    {}
func (*CNIConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{1}
}

func (m *CNIConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CNIConfig.Unmarshal(m, b)
}
func (m *CNIConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CNIConfig.Marshal(b, m, deterministic)
}
func (m *CNIConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CNIConfig.Merge(m, src)
}
func (m *CNIConfig) XXX_Size() int {
	return xxx_messageInfo_CNIConfig.Size(m)
}
func (m *CNIConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_CNIConfig.DiscardUnknown(m)
}

var xxx_messageInfo_CNIConfig proto.InternalMessageInfo

func (m *CNIConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *CNIConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *CNIConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *CNIConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *CNIConfig) GetPullPolicy() string {
	if m != nil {
		return m.PullPolicy
	}
	return ""
}

func (m *CNIConfig) GetCniBinDir() string {
	if m != nil {
		return m.CniBinDir
	}
	return ""
}

func (m *CNIConfig) GetCniConfDir() string {
	if m != nil {
		return m.CniConfDir
	}
	return ""
}

func (m *CNIConfig) GetCniConfFileName() string {
	if m != nil {
		return m.CniConfFileName
	}
	return ""
}

func (m *CNIConfig) GetExcludeNamespaces() []string {
	if m != nil {
		return m.ExcludeNamespaces
	}
	return nil
}

// Deprecated: Do not use.
func (m *CNIConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

func (m *CNIConfig) GetPspClusterRole() string {
	if m != nil {
		return m.PspClusterRole
	}
	return ""
}

func (m *CNIConfig) GetLogLevel() string {
	if m != nil {
		return m.LogLevel
	}
	return ""
}

func (m *CNIConfig) GetRepair() *CNIRepairConfig {
	if m != nil {
		return m.Repair
	}
	return nil
}

func (m *CNIConfig) GetChained() *protobuf.BoolValue {
	if m != nil {
		return m.Chained
	}
	return nil
}

type CNIRepairConfig struct {
	// Controls whether repair behavior is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Hub     string              `protobuf:"bytes,2,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag     interface{}      `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
	Image   string              `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"`
	// Controls whether various repair behaviors are enabled.
	LabelPods            bool     `protobuf:"varint,5,opt,name=labelPods,proto3" json:"labelPods,omitempty"`
	CreateEvents         string   `protobuf:"bytes,6,opt,name=createEvents,proto3" json:"createEvents,omitempty"` // Deprecated: Do not use.
	DeletePods           bool     `protobuf:"varint,7,opt,name=deletePods,proto3" json:"deletePods,omitempty"`
	BrokenPodLabelKey    string   `protobuf:"bytes,8,opt,name=brokenPodLabelKey,proto3" json:"brokenPodLabelKey,omitempty"`
	BrokenPodLabelValue  string   `protobuf:"bytes,9,opt,name=brokenPodLabelValue,proto3" json:"brokenPodLabelValue,omitempty"`
	InitContainerName    string   `protobuf:"bytes,10,opt,name=initContainerName,proto3" json:"initContainerName,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CNIRepairConfig) Reset()         { *m = CNIRepairConfig{} }
func (m *CNIRepairConfig) String() string { return proto.CompactTextString(m) }
func (*CNIRepairConfig) ProtoMessage()    {}
func (*CNIRepairConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{2}
}

func (m *CNIRepairConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CNIRepairConfig.Unmarshal(m, b)
}
func (m *CNIRepairConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CNIRepairConfig.Marshal(b, m, deterministic)
}
func (m *CNIRepairConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CNIRepairConfig.Merge(m, src)
}
func (m *CNIRepairConfig) XXX_Size() int {
	return xxx_messageInfo_CNIRepairConfig.Size(m)
}
func (m *CNIRepairConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_CNIRepairConfig.DiscardUnknown(m)
}

var xxx_messageInfo_CNIRepairConfig proto.InternalMessageInfo

func (m *CNIRepairConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *CNIRepairConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *CNIRepairConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *CNIRepairConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *CNIRepairConfig) GetLabelPods() bool {
	if m != nil {
		return m.LabelPods
	}
	return false
}

// Deprecated: Do not use.
func (m *CNIRepairConfig) GetCreateEvents() string {
	if m != nil {
		return m.CreateEvents
	}
	return ""
}

func (m *CNIRepairConfig) GetDeletePods() bool {
	if m != nil {
		return m.DeletePods
	}
	return false
}

func (m *CNIRepairConfig) GetBrokenPodLabelKey() string {
	if m != nil {
		return m.BrokenPodLabelKey
	}
	return ""
}

func (m *CNIRepairConfig) GetBrokenPodLabelValue() string {
	if m != nil {
		return m.BrokenPodLabelValue
	}
	return ""
}

func (m *CNIRepairConfig) GetInitContainerName() string {
	if m != nil {
		return m.InitContainerName
	}
	return ""
}

// Configuration for CPU target utilization for HorizontalPodAutoscaler target.
type CPUTargetUtilizationConfig struct {
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	TargetAverageUtilization int32    `protobuf:"varint,1,opt,name=targetAverageUtilization,proto3" json:"targetAverageUtilization,omitempty"`
	XXX_NoUnkeyedLiteral     struct{} `json:"-"`
	XXX_unrecognized         []byte   `json:"-"`
	XXX_sizecache            int32    `json:"-"`
}

func (m *CPUTargetUtilizationConfig) Reset()         { *m = CPUTargetUtilizationConfig{} }
func (m *CPUTargetUtilizationConfig) String() string { return proto.CompactTextString(m) }
func (*CPUTargetUtilizationConfig) ProtoMessage()    {}
func (*CPUTargetUtilizationConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{3}
}

func (m *CPUTargetUtilizationConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CPUTargetUtilizationConfig.Unmarshal(m, b)
}
func (m *CPUTargetUtilizationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CPUTargetUtilizationConfig.Marshal(b, m, deterministic)
}
func (m *CPUTargetUtilizationConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CPUTargetUtilizationConfig.Merge(m, src)
}
func (m *CPUTargetUtilizationConfig) XXX_Size() int {
	return xxx_messageInfo_CPUTargetUtilizationConfig.Size(m)
}
func (m *CPUTargetUtilizationConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_CPUTargetUtilizationConfig.DiscardUnknown(m)
}

var xxx_messageInfo_CPUTargetUtilizationConfig proto.InternalMessageInfo

func (m *CPUTargetUtilizationConfig) GetTargetAverageUtilization() int32 {
	if m != nil {
		return m.TargetAverageUtilization
	}
	return 0
}

// Mirrors Resources for unmarshaling.
type Resources struct {
	Limits               map[string]string `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Requests             map[string]string `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *Resources) Reset()         { *m = Resources{} }
func (m *Resources) String() string { return proto.CompactTextString(m) }
func (*Resources) ProtoMessage()    {}
func (*Resources) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{4}
}

func (m *Resources) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Resources.Unmarshal(m, b)
}
func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Resources.Marshal(b, m, deterministic)
}
func (m *Resources) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Resources.Merge(m, src)
}
func (m *Resources) XXX_Size() int {
	return xxx_messageInfo_Resources.Size(m)
}
func (m *Resources) XXX_DiscardUnknown() {
	xxx_messageInfo_Resources.DiscardUnknown(m)
}

var xxx_messageInfo_Resources proto.InternalMessageInfo

func (m *Resources) GetLimits() map[string]string {
	if m != nil {
		return m.Limits
	}
	return nil
}

func (m *Resources) GetRequests() map[string]string {
	if m != nil {
		return m.Requests
	}
	return nil
}

// Configuration for Core DNS.
type CoreDNSConfig struct {
	// Controls whether CoreDNS is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Image for Core DNS.
	CoreDNSImage       string `protobuf:"bytes,2,opt,name=coreDNSImage,proto3" json:"coreDNSImage,omitempty"`
	CoreDNSTag         string `protobuf:"bytes,3,opt,name=coreDNSTag,proto3" json:"coreDNSTag,omitempty"`
	CoreDNSPluginImage string `protobuf:"bytes,4,opt,name=coreDNSPluginImage,proto3" json:"coreDNSPluginImage,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,5,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// Number of replicas for Core DNS.
	ReplicaCount uint32 `protobuf:"varint,6,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,7,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,8,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,9,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable            *IntOrStringForPB          `protobuf:"bytes,10,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"`                       // Deprecated: Do not use.
	PodAntiAffinityLabelSelector     []map[string]interface{} `protobuf:"bytes,11,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"`         // Deprecated: Do not use.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,12,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	Tolerations                      []map[string]interface{} `protobuf:"bytes,13,opt,name=tolerations,proto3" json:"tolerations,omitempty"`                                           // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral             struct{}                       `json:"-"`
	XXX_unrecognized                 []byte                         `json:"-"`
	XXX_sizecache                    int32                          `json:"-"`
}

func (m *CoreDNSConfig) Reset()         { *m = CoreDNSConfig{} }
func (m *CoreDNSConfig) String() string { return proto.CompactTextString(m) }
func (*CoreDNSConfig) ProtoMessage()    {}
func (*CoreDNSConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{5}
}

func (m *CoreDNSConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CoreDNSConfig.Unmarshal(m, b)
}
func (m *CoreDNSConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CoreDNSConfig.Marshal(b, m, deterministic)
}
func (m *CoreDNSConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CoreDNSConfig.Merge(m, src)
}
func (m *CoreDNSConfig) XXX_Size() int {
	return xxx_messageInfo_CoreDNSConfig.Size(m)
}
func (m *CoreDNSConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_CoreDNSConfig.DiscardUnknown(m)
}

var xxx_messageInfo_CoreDNSConfig proto.InternalMessageInfo

func (m *CoreDNSConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *CoreDNSConfig) GetCoreDNSImage() string {
	if m != nil {
		return m.CoreDNSImage
	}
	return ""
}

func (m *CoreDNSConfig) GetCoreDNSTag() string {
	if m != nil {
		return m.CoreDNSTag
	}
	return ""
}

func (m *CoreDNSConfig) GetCoreDNSPluginImage() string {
	if m != nil {
		return m.CoreDNSPluginImage
	}
	return ""
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *CoreDNSConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

// DefaultPodDisruptionBudgetConfig specifies the default pod disruption budget configuration.
//
// See https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
type DefaultPodDisruptionBudgetConfig struct {
	// Controls whether a PodDisruptionBudget with a default minAvailable value of 1 is created for each deployment.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *DefaultPodDisruptionBudgetConfig) Reset()         { *m = DefaultPodDisruptionBudgetConfig{} }
func (m *DefaultPodDisruptionBudgetConfig) String() string { return proto.CompactTextString(m) }
func (*DefaultPodDisruptionBudgetConfig) ProtoMessage()    {}
func (*DefaultPodDisruptionBudgetConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{6}
}

func (m *DefaultPodDisruptionBudgetConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DefaultPodDisruptionBudgetConfig.Unmarshal(m, b)
}
func (m *DefaultPodDisruptionBudgetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DefaultPodDisruptionBudgetConfig.Marshal(b, m, deterministic)
}
func (m *DefaultPodDisruptionBudgetConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DefaultPodDisruptionBudgetConfig.Merge(m, src)
}
func (m *DefaultPodDisruptionBudgetConfig) XXX_Size() int {
	return xxx_messageInfo_DefaultPodDisruptionBudgetConfig.Size(m)
}
func (m *DefaultPodDisruptionBudgetConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_DefaultPodDisruptionBudgetConfig.DiscardUnknown(m)
}

var xxx_messageInfo_DefaultPodDisruptionBudgetConfig proto.InternalMessageInfo

func (m *DefaultPodDisruptionBudgetConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// DefaultResourcesConfig specifies the default k8s resources settings for all Istio control plane components.
type DefaultResourcesConfig struct {
	// k8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Requests             *ResourcesRequestsConfig `protobuf:"bytes,1,opt,name=requests,proto3" json:"requests,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *DefaultResourcesConfig) Reset()         { *m = DefaultResourcesConfig{} }
func (m *DefaultResourcesConfig) String() string { return proto.CompactTextString(m) }
func (*DefaultResourcesConfig) ProtoMessage()    {}
func (*DefaultResourcesConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{7}
}

func (m *DefaultResourcesConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DefaultResourcesConfig.Unmarshal(m, b)
}
func (m *DefaultResourcesConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DefaultResourcesConfig.Marshal(b, m, deterministic)
}
func (m *DefaultResourcesConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DefaultResourcesConfig.Merge(m, src)
}
func (m *DefaultResourcesConfig) XXX_Size() int {
	return xxx_messageInfo_DefaultResourcesConfig.Size(m)
}
func (m *DefaultResourcesConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_DefaultResourcesConfig.DiscardUnknown(m)
}

var xxx_messageInfo_DefaultResourcesConfig proto.InternalMessageInfo

func (m *DefaultResourcesConfig) GetRequests() *ResourcesRequestsConfig {
	if m != nil {
		return m.Requests
	}
	return nil
}

// Configuration for an egress gateway.
type EgressGatewayConfig struct {
	// Controls whether auto scaling with a HorizontalPodAutoscaler is enabled.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// maxReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMax uint32 `protobuf:"varint,2,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// minReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMin   uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	ConnectTimeout string `protobuf:"bytes,4,opt,name=connectTimeout,proto3" json:"connectTimeout,omitempty"`
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu           *CPUTargetUtilizationConfig `protobuf:"bytes,5,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	DrainDuration *duration.Duration          `protobuf:"bytes,6,opt,name=drainDuration,proto3" json:"drainDuration,omitempty"`
	// Controls whether an egress gateway is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,7,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Environment variables passed to the proxy container.
	Env    map[string]interface{} `protobuf:"bytes,8,opt,name=env,proto3" json:"env,omitempty"`
	Labels *GatewayLabelsConfig    `protobuf:"bytes,9,opt,name=labels,proto3" json:"labels,omitempty"`
	Name   string                  `protobuf:"bytes,25,opt,name=name,proto3" json:"name,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,10,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,11,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Pod anti-affinity label selector.
	//
	// Specify the pod anti-affinity that allows you to constrain which nodes
	// your pod is eligible to be scheduled based on labels on pods that are
	// already running on the node rather than based on labels on nodes.
	// There are currently two types of anti-affinity:
	//    "requiredDuringSchedulingIgnoredDuringExecution"
	//    "preferredDuringSchedulingIgnoredDuringExecution"
	// which denote “hard” vs. “soft” requirements, you can define your values
	// in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
	// correspondingly.
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
	//
	// Examples:
	// podAntiAffinityLabelSelector:
	//  - key: security
	//    operator: In
	//    values: S1,S2
	//    topologyKey: "kubernetes.io/hostname"
	//  This pod anti-affinity rule says that the pod requires not to be scheduled
	//  onto a node if that node is already running a pod with label having key
	//  “security” and value “S1”.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,12,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See PodAntiAffinityLabelSelector.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,13,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// Ports Configuration for the egress gateway service.
	Ports []*PortsConfig `protobuf:"bytes,14,rep,name=ports,proto3" json:"ports,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,15,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Config for secret volume mounts.
	SecretVolumes []*SecretVolume `protobuf:"bytes,16,rep,name=secretVolumes,proto3" json:"secretVolumes,omitempty"`
	// Annotations to add to the egress gateway service.
	ServiceAnnotations map[string]interface{} `protobuf:"bytes,17,opt,name=serviceAnnotations,proto3" json:"serviceAnnotations,omitempty"`
	// Service type.
	//
	// See https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	Type string `protobuf:"bytes,18,opt,name=type,proto3" json:"type,omitempty"`
	// Enables cross-cluster access using SNI matching.
	Zvpn        *ZeroVPNConfig                 `protobuf:"bytes,19,opt,name=zvpn,proto3" json:"zvpn,omitempty"`
	Tolerations []map[string]interface{} `protobuf:"bytes,20,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,21,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable *IntOrStringForPB          `protobuf:"bytes,22,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"` // Deprecated: Do not use.
	ConfigVolumes         []map[string]interface{} `protobuf:"bytes,23,opt,name=configVolumes,proto3" json:"configVolumes,omitempty"`
	AdditionalContainers  []map[string]interface{} `protobuf:"bytes,24,opt,name=additionalContainers,proto3" json:"additionalContainers,omitempty"`
	RunAsRoot             *protobuf.BoolValue            `protobuf:"bytes,26,opt,name=runAsRoot,proto3" json:"runAsRoot,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                       `json:"-"`
	XXX_unrecognized      []byte                         `json:"-"`
	XXX_sizecache         int32                          `json:"-"`
}

func (m *EgressGatewayConfig) Reset()         { *m = EgressGatewayConfig{} }
func (m *EgressGatewayConfig) String() string { return proto.CompactTextString(m) }
func (*EgressGatewayConfig) ProtoMessage()    {}
func (*EgressGatewayConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{8}
}

func (m *EgressGatewayConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EgressGatewayConfig.Unmarshal(m, b)
}
func (m *EgressGatewayConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EgressGatewayConfig.Marshal(b, m, deterministic)
}
func (m *EgressGatewayConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EgressGatewayConfig.Merge(m, src)
}
func (m *EgressGatewayConfig) XXX_Size() int {
	return xxx_messageInfo_EgressGatewayConfig.Size(m)
}
func (m *EgressGatewayConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_EgressGatewayConfig.DiscardUnknown(m)
}

var xxx_messageInfo_EgressGatewayConfig proto.InternalMessageInfo

func (m *EgressGatewayConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *EgressGatewayConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *EgressGatewayConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

func (m *EgressGatewayConfig) GetConnectTimeout() string {
	if m != nil {
		return m.ConnectTimeout
	}
	return ""
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *EgressGatewayConfig) GetDrainDuration() *duration.Duration {
	if m != nil {
		return m.DrainDuration
	}
	return nil
}

func (m *EgressGatewayConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *EgressGatewayConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *EgressGatewayConfig) GetLabels() *GatewayLabelsConfig {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *EgressGatewayConfig) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

func (m *EgressGatewayConfig) GetPorts() []*PortsConfig {
	if m != nil {
		return m.Ports
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *EgressGatewayConfig) GetSecretVolumes() []*SecretVolume {
	if m != nil {
		return m.SecretVolumes
	}
	return nil
}

func (m *EgressGatewayConfig) GetServiceAnnotations() map[string]interface{} {
	if m != nil {
		return m.ServiceAnnotations
	}
	return nil
}

func (m *EgressGatewayConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *EgressGatewayConfig) GetZvpn() *ZeroVPNConfig {
	if m != nil {
		return m.Zvpn
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *EgressGatewayConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

func (m *EgressGatewayConfig) GetConfigVolumes() []map[string]interface{} {
	if m != nil {
		return m.ConfigVolumes
	}
	return nil
}

func (m *EgressGatewayConfig) GetAdditionalContainers() []map[string]interface{} {
	if m != nil {
		return m.AdditionalContainers
	}
	return nil
}

func (m *EgressGatewayConfig) GetRunAsRoot() *protobuf.BoolValue {
	if m != nil {
		return m.RunAsRoot
	}
	return nil
}

// EnvoyMetricsConfig is a set of configuration options for Envoy metrics.
type EnvoyMetricsConfig struct {
	// Enables the Envoy Metrics Service.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Sets the destination Envoy Metrics Service address in Envoy.
	Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
	// Sets the destination Envoy Metrics Service port in Envoy.
	Port                 int32                   `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	TlsSettings          map[string]interface{} `protobuf:"bytes,4,opt,name=tlsSettings,proto3" json:"tlsSettings,omitempty"`
	TcpKeepalive         map[string]interface{} `protobuf:"bytes,5,opt,name=tcpKeepalive,proto3" json:"tcpKeepalive,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *EnvoyMetricsConfig) Reset()         { *m = EnvoyMetricsConfig{} }
func (m *EnvoyMetricsConfig) String() string { return proto.CompactTextString(m) }
func (*EnvoyMetricsConfig) ProtoMessage()    {}
func (*EnvoyMetricsConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{9}
}

func (m *EnvoyMetricsConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EnvoyMetricsConfig.Unmarshal(m, b)
}
func (m *EnvoyMetricsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EnvoyMetricsConfig.Marshal(b, m, deterministic)
}
func (m *EnvoyMetricsConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EnvoyMetricsConfig.Merge(m, src)
}
func (m *EnvoyMetricsConfig) XXX_Size() int {
	return xxx_messageInfo_EnvoyMetricsConfig.Size(m)
}
func (m *EnvoyMetricsConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_EnvoyMetricsConfig.DiscardUnknown(m)
}

var xxx_messageInfo_EnvoyMetricsConfig proto.InternalMessageInfo

func (m *EnvoyMetricsConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *EnvoyMetricsConfig) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

func (m *EnvoyMetricsConfig) GetPort() int32 {
	if m != nil {
		return m.Port
	}
	return 0
}

func (m *EnvoyMetricsConfig) GetTlsSettings() map[string]interface{} {
	if m != nil {
		return m.TlsSettings
	}
	return nil
}

func (m *EnvoyMetricsConfig) GetTcpKeepalive() map[string]interface{} {
	if m != nil {
		return m.TcpKeepalive
	}
	return nil
}

// GatewayLabelsConfig is a set of Configuration for gateway labels.
type GatewayLabelsConfig struct {
	App                  string   `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"`
	Istio                string   `protobuf:"bytes,2,opt,name=istio,proto3" json:"istio,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GatewayLabelsConfig) Reset()         { *m = GatewayLabelsConfig{} }
func (m *GatewayLabelsConfig) String() string { return proto.CompactTextString(m) }
func (*GatewayLabelsConfig) ProtoMessage()    {}
func (*GatewayLabelsConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{10}
}

func (m *GatewayLabelsConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatewayLabelsConfig.Unmarshal(m, b)
}
func (m *GatewayLabelsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatewayLabelsConfig.Marshal(b, m, deterministic)
}
func (m *GatewayLabelsConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatewayLabelsConfig.Merge(m, src)
}
func (m *GatewayLabelsConfig) XXX_Size() int {
	return xxx_messageInfo_GatewayLabelsConfig.Size(m)
}
func (m *GatewayLabelsConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_GatewayLabelsConfig.DiscardUnknown(m)
}

var xxx_messageInfo_GatewayLabelsConfig proto.InternalMessageInfo

func (m *GatewayLabelsConfig) GetApp() string {
	if m != nil {
		return m.App
	}
	return ""
}

func (m *GatewayLabelsConfig) GetIstio() string {
	if m != nil {
		return m.Istio
	}
	return ""
}

// Configuration for gateways.
type GatewaysConfig struct {
	// Configuration for an egress gateway.
	IstioEgressgateway *EgressGatewayConfig `protobuf:"bytes,1,opt,name=istio_egressgateway,json=istio-egressgateway,proto3" json:"istio_egressgateway,omitempty"`
	// Controls whether any gateways are enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Configuration for an ingress gateway.
	IstioIngressgateway  *IngressGatewayConfig `protobuf:"bytes,4,opt,name=istio_ingressgateway,json=istio-ingressgateway,proto3" json:"istio_ingressgateway,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *GatewaysConfig) Reset()         { *m = GatewaysConfig{} }
func (m *GatewaysConfig) String() string { return proto.CompactTextString(m) }
func (*GatewaysConfig) ProtoMessage()    {}
func (*GatewaysConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{11}
}

func (m *GatewaysConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatewaysConfig.Unmarshal(m, b)
}
func (m *GatewaysConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatewaysConfig.Marshal(b, m, deterministic)
}
func (m *GatewaysConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatewaysConfig.Merge(m, src)
}
func (m *GatewaysConfig) XXX_Size() int {
	return xxx_messageInfo_GatewaysConfig.Size(m)
}
func (m *GatewaysConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_GatewaysConfig.DiscardUnknown(m)
}

var xxx_messageInfo_GatewaysConfig proto.InternalMessageInfo

func (m *GatewaysConfig) GetIstioEgressgateway() *EgressGatewayConfig {
	if m != nil {
		return m.IstioEgressgateway
	}
	return nil
}

func (m *GatewaysConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *GatewaysConfig) GetIstioIngressgateway() *IngressGatewayConfig {
	if m != nil {
		return m.IstioIngressgateway
	}
	return nil
}

// Global Configuration for Istio components.
type GlobalConfig struct {
	// Specifies pod scheduling arch(amd64, ppc64le, s390x) and weight as follows:
	//   0 - Never scheduled
	//   1 - Least preferred
	//   2 - No preference
	//   3 - Most preferred
	Arch         *ArchConfig                    `protobuf:"bytes,1,opt,name=arch,proto3" json:"arch,omitempty"`
	Certificates []map[string]interface{} `protobuf:"bytes,40,opt,name=certificates,proto3" json:"certificates,omitempty"`
	// Specifies the namespace for the configuration and validation component.
	ConfigNamespace     string `protobuf:"bytes,2,opt,name=configNamespace,proto3" json:"configNamespace,omitempty"`
	ConfigRootNamespace string `protobuf:"bytes,50,opt,name=configRootNamespace,proto3" json:"configRootNamespace,omitempty"`
	// Controls whether the server-side validation is enabled.
	ConfigValidation *protobuf.BoolValue `protobuf:"bytes,3,opt,name=configValidation,proto3" json:"configValidation,omitempty"`
	// Controls whether the MTLS for communication between the control plane components is enabled.
	ControlPlaneSecurityEnabled     *protobuf.BoolValue `protobuf:"bytes,4,opt,name=controlPlaneSecurityEnabled,proto3" json:"controlPlaneSecurityEnabled,omitempty"`
	DefaultConfigVisibilitySettings []string            `protobuf:"bytes,52,rep,name=defaultConfigVisibilitySettings,proto3" json:"defaultConfigVisibilitySettings,omitempty"`
	// Default k8s node selector for all the Istio control plane components
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	DefaultNodeSelector map[string]interface{} `protobuf:"bytes,6,opt,name=defaultNodeSelector,proto3" json:"defaultNodeSelector,omitempty"` // Deprecated: Do not use.
	// Specifies the default pod disruption budget configuration.
	DefaultPodDisruptionBudget *DefaultPodDisruptionBudgetConfig `protobuf:"bytes,7,opt,name=defaultPodDisruptionBudget,proto3" json:"defaultPodDisruptionBudget,omitempty"` // Deprecated: Do not use.
	// Controls whether the policy enforcement is enabled.
	DisablePolicyChecks *protobuf.BoolValue `protobuf:"bytes,8,opt,name=disablePolicyChecks,proto3" json:"disablePolicyChecks,omitempty"`
	// Default k8s resources settings for all Istio control plane components.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	DefaultResources   *DefaultResourcesConfig        `protobuf:"bytes,9,opt,name=defaultResources,proto3" json:"defaultResources,omitempty"`      // Deprecated: Do not use.
	DefaultTolerations []map[string]interface{} `protobuf:"bytes,55,opt,name=defaultTolerations,proto3" json:"defaultTolerations,omitempty"` // Deprecated: Do not use.
	// Controls whether the helm test templates are enabled.
	EnableHelmTest *protobuf.BoolValue `protobuf:"bytes,10,opt,name=enableHelmTest,proto3" json:"enableHelmTest,omitempty"`
	// Controls whether the distributed tracing for the applications is enabled.
	//
	// See https://opentracing.io/docs/overview/what-is-tracing/
	EnableTracing *protobuf.BoolValue `protobuf:"bytes,11,opt,name=enableTracing,proto3" json:"enableTracing,omitempty"`
	// Specifies the docker hub for Istio images.
	Hub string `protobuf:"bytes,12,opt,name=hub,proto3" json:"hub,omitempty"`
	// Specifies the image pull policy for the Istio images. one of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated.
	//
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	ImagePullPolicy  string   `protobuf:"bytes,13,opt,name=imagePullPolicy,proto3" json:"imagePullPolicy,omitempty"`
	ImagePullSecrets []string `protobuf:"bytes,37,rep,name=imagePullSecrets,proto3" json:"imagePullSecrets,omitempty"`
	// Specifies the default namespace for the Istio control plane components.
	IstioNamespace string `protobuf:"bytes,14,opt,name=istioNamespace,proto3" json:"istioNamespace,omitempty"`
	// Specifies the global locality load balancing settings.
	// Locality-weighted load balancing allows administrators to control the distribution of traffic to
	// endpoints based on the localities of where the traffic originates and where it will terminate.
	// Please set either failover or distribute configuration but not both.
	//
	// localityLbSetting:
	//   distribute:
	//   - from: "us-central1/*"
	//     to:
	//       "us-central1/*": 80
	//       "us-central2/*": 20
	//
	// localityLbSetting:
	//   failover:
	//   - from: us-east
	//     to: eu-west
	//   - from: us-west
	//     to: us-east
	LocalityLbSetting map[string]interface{} `protobuf:"bytes,15,opt,name=localityLbSetting,proto3" json:"localityLbSetting,omitempty"`
	LogAsJson         *protobuf.BoolValue     `protobuf:"bytes,36,opt,name=logAsJson,proto3" json:"logAsJson,omitempty"`
	// Specifies the global logging level settings for the Istio control plane components.
	Logging *GlobalLoggingConfig `protobuf:"bytes,17,opt,name=logging,proto3" json:"logging,omitempty"`
	// Specifies the Configuration for Istio mesh expansion to bare metal.
	MeshExpansion *MeshExpansionConfig `protobuf:"bytes,18,opt,name=meshExpansion,proto3" json:"meshExpansion,omitempty"`
	MeshID        string               `protobuf:"bytes,53,opt,name=meshID,proto3" json:"meshID,omitempty"`
	// Configure the mesh networks to be used by the Split Horizon EDS.
	//
	// The following example defines two networks with different endpoints association methods.
	// For `network1` all endpoints that their IP belongs to the provided CIDR range will be
	// mapped to network1. The gateway for this network example is specified by its public IP
	// address and port.
	// The second network, `network2`, in this example is defined differently with all endpoints
	// retrieved through the specified Multi-Cluster registry being mapped to network2. The
	// gateway is also defined differently with the name of the gateway service on the remote
	// cluster. The public IP for the gateway will be determined from that remote service (only
	// LoadBalancer gateway service type is currently supported, for a NodePort type gateway service,
	// it still need to be configured manually).
	//
	// meshNetworks:
	//   network1:
	//     endpoints:
	//     - fromCidr: "192.168.0.1/24"
	//     gateways:
	//     - address: 1.1.1.1
	//       port: 80
	//   network2:
	//     endpoints:
	//     - fromRegistry: reg1
	//     gateways:
	//     - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
	//       port: 443
	//
	MeshNetworks map[string]interface{} `protobuf:"bytes,19,opt,name=meshNetworks,proto3" json:"meshNetworks,omitempty"`
	// Specifies the monitor port number for all Istio control plane components.
	MonitoringPort uint32 `protobuf:"varint,20,opt,name=monitoringPort,proto3" json:"monitoringPort,omitempty"`
	// Specifies the MTLS settings for the applications that Istio manages.
	Mtls *MTLSConfig `protobuf:"bytes,21,opt,name=mtls,proto3" json:"mtls,omitempty"`
	// Specifies the Configuration for Istio mesh across multiple clusters through Istio gateways.
	MultiCluster *MultiClusterConfig `protobuf:"bytes,22,opt,name=multiCluster,proto3" json:"multiCluster,omitempty"`
	Network      string              `protobuf:"bytes,39,opt,name=network,proto3" json:"network,omitempty"`
	// Custom DNS config for the pod to resolve names of services in other
	// clusters. Use this to add additional search domains, and other settings.
	// see https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config
	// This does not apply to gateway pods as they typically need a different
	// set of DNS settings than the normal application pods (e.g. in multicluster scenarios).
	PodDNSSearchNamespaces       []string            `protobuf:"bytes,43,rep,name=podDNSSearchNamespaces,proto3" json:"podDNSSearchNamespaces,omitempty"`
	OmitSidecarInjectorConfigMap *protobuf.BoolValue `protobuf:"bytes,38,opt,name=omitSidecarInjectorConfigMap,proto3" json:"omitSidecarInjectorConfigMap,omitempty"`
	// Controls whether to restrict the applications namespace the controller manages;
	// If set it to false, the controller watches all namespaces.
	OneNamespace           *protobuf.BoolValue `protobuf:"bytes,23,opt,name=oneNamespace,proto3" json:"oneNamespace,omitempty"`
	OperatorManageWebhooks *protobuf.BoolValue `protobuf:"bytes,41,opt,name=operatorManageWebhooks,proto3" json:"operatorManageWebhooks,omitempty"`
	// Controls the default behavior of the sidecar for handling outbound traffic from the application.
	OutboundTrafficPolicy *OutboundTrafficPolicyConfig `protobuf:"bytes,24,opt,name=outboundTrafficPolicy,proto3" json:"outboundTrafficPolicy,omitempty"`
	// Controls whether to allow traffic in cases when the mixer policy service cannot be reached.
	PolicyCheckFailOpen *protobuf.BoolValue `protobuf:"bytes,25,opt,name=policyCheckFailOpen,proto3" json:"policyCheckFailOpen,omitempty"`
	// Specifies the namespace for the policy component.
	PolicyNamespace string `protobuf:"bytes,26,opt,name=policyNamespace,proto3" json:"policyNamespace,omitempty"`
	// Specifies the k8s priorityClassName for the istio control plane components.
	//
	// See https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
	PriorityClassName   string `protobuf:"bytes,27,opt,name=priorityClassName,proto3" json:"priorityClassName,omitempty"` // Deprecated: Do not use.
	PrometheusNamespace string `protobuf:"bytes,51,opt,name=prometheusNamespace,proto3" json:"prometheusNamespace,omitempty"`
	// Specifies how proxies are configured within Istio.
	Proxy *ProxyConfig `protobuf:"bytes,28,opt,name=proxy,proto3" json:"proxy,omitempty"`
	// Specifies the Configuration for proxy_init container which sets the pods' networking to intercept the inbound/outbound traffic.
	ProxyInit *ProxyInitConfig `protobuf:"bytes,29,opt,name=proxy_init,proto3" json:"proxy_init,omitempty"`
	// Specifies the Configuration for the SecretDiscoveryService instead of using K8S secrets to mount the certificates.
	Sds *SDSConfig `protobuf:"bytes,30,opt,name=sds,proto3" json:"sds,omitempty"`
	// Specifies the tag for the Istio docker images.
	Tag interface{} `protobuf:"bytes,31,opt,name=tag,proto3" json:"tag,omitempty"`
	// Specifies the namespace for the telemetry component.
	TelemetryNamespace string `protobuf:"bytes,32,opt,name=telemetryNamespace,proto3" json:"telemetryNamespace,omitempty"`
	// Specifies the Configuration for each of the supported tracers.
	Tracer *TracerConfig `protobuf:"bytes,33,opt,name=tracer,proto3" json:"tracer,omitempty"`
	// Specifies the trust domain that corresponds to the root cert of CA.
	TrustDomain string `protobuf:"bytes,34,opt,name=trustDomain,proto3" json:"trustDomain,omitempty"`
	// The trust domain aliases represent the aliases of trustDomain.
	TrustDomainAliases []string `protobuf:"bytes,42,rep,name=trustDomainAliases,proto3" json:"trustDomainAliases,omitempty"`
	// Controls whether to use of Mesh Configuration Protocol to distribute configuration.
	UseMCP *protobuf.BoolValue `protobuf:"bytes,35,opt,name=useMCP,proto3" json:"useMCP,omitempty"`
	// Settings for remote cluster.
	// Controls whether to use the Istio remote control plane
	IstioRemote              *protobuf.BoolValue `protobuf:"bytes,44,opt,name=istioRemote,proto3" json:"istioRemote,omitempty"`
	CreateRemoteSvcEndpoints *protobuf.BoolValue `protobuf:"bytes,45,opt,name=createRemoteSvcEndpoints,proto3" json:"createRemoteSvcEndpoints,omitempty"`
	// If set, a selector-less service and endpoint for istio-pilot are created with the remotePilotAddress IP,
	// which ensures the istio-pilot. is DNS resolvable in the remote cluster.
	RemotePilotCreateSvcEndpoint *protobuf.BoolValue `protobuf:"bytes,46,opt,name=remotePilotCreateSvcEndpoint,proto3" json:"remotePilotCreateSvcEndpoint,omitempty"`
	// Specifies the Istio control plane’s policy Pod IP address or remote cluster DNS resolvable hostname.
	RemotePolicyAddress string `protobuf:"bytes,47,opt,name=remotePolicyAddress,proto3" json:"remotePolicyAddress,omitempty"`
	// Specifies the Istio control plane’s pilot Pod IP address or remote cluster DNS resolvable hostname.
	RemotePilotAddress string `protobuf:"bytes,48,opt,name=remotePilotAddress,proto3" json:"remotePilotAddress,omitempty"`
	// Specifies the Istio control plane’s telemetry Pod IP address or remote cluster DNS resolvable hostname
	RemoteTelemetryAddress string `protobuf:"bytes,49,opt,name=remoteTelemetryAddress,proto3" json:"remoteTelemetryAddress,omitempty"`
	// Specifies the configution of istiod
	Istiod *IstiodConfig `protobuf:"bytes,54,opt,name=istiod,proto3" json:"istiod,omitempty"`
	// Configure the Pilot certificate provider.
	// Currently, two providers are supported: "kubernetes" and "citadel".
	PilotCertProvider string `protobuf:"bytes,56,opt,name=pilotCertProvider,proto3" json:"pilotCertProvider,omitempty"`
	// Configure the policy for validating JWT.
	// Currently, two options are supported: "third-party-jwt" and "first-party-jwt".
	JwtPolicy string `protobuf:"bytes,57,opt,name=jwtPolicy,proto3" json:"jwtPolicy,omitempty"`
	// Specifies the configuration for Security Token Service.
	Sts *STSConfig `protobuf:"bytes,58,opt,name=sts,proto3" json:"sts,omitempty"`
	// Configures the revision this control plane is a part of
	Revision string `protobuf:"bytes,59,opt,name=revision,proto3" json:"revision,omitempty"`
	// Controls whether the in-cluster MTLS key and certs are loaded from the secret volume mounts.
	MountMtlsCerts *protobuf.BoolValue `protobuf:"bytes,60,opt,name=mountMtlsCerts,proto3" json:"mountMtlsCerts,omitempty"`
	// The address of the CA for CSR.
	CaAddress string `protobuf:"bytes,61,opt,name=caAddress,proto3" json:"caAddress,omitempty"`
	// Controls whether one central istiod is enabled.
	CentralIstiod        *protobuf.BoolValue `protobuf:"bytes,62,opt,name=centralIstiod,proto3" json:"centralIstiod,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *GlobalConfig) Reset()         { *m = GlobalConfig{} }
func (m *GlobalConfig) String() string { return proto.CompactTextString(m) }
func (*GlobalConfig) ProtoMessage()    {}
func (*GlobalConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{12}
}

func (m *GlobalConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GlobalConfig.Unmarshal(m, b)
}
func (m *GlobalConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GlobalConfig.Marshal(b, m, deterministic)
}
func (m *GlobalConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GlobalConfig.Merge(m, src)
}
func (m *GlobalConfig) XXX_Size() int {
	return xxx_messageInfo_GlobalConfig.Size(m)
}
func (m *GlobalConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_GlobalConfig.DiscardUnknown(m)
}

var xxx_messageInfo_GlobalConfig proto.InternalMessageInfo

func (m *GlobalConfig) GetArch() *ArchConfig {
	if m != nil {
		return m.Arch
	}
	return nil
}

func (m *GlobalConfig) GetCertificates() []map[string]interface{} {
	if m != nil {
		return m.Certificates
	}
	return nil
}

func (m *GlobalConfig) GetConfigNamespace() string {
	if m != nil {
		return m.ConfigNamespace
	}
	return ""
}

func (m *GlobalConfig) GetConfigRootNamespace() string {
	if m != nil {
		return m.ConfigRootNamespace
	}
	return ""
}

func (m *GlobalConfig) GetConfigValidation() *protobuf.BoolValue {
	if m != nil {
		return m.ConfigValidation
	}
	return nil
}

func (m *GlobalConfig) GetControlPlaneSecurityEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.ControlPlaneSecurityEnabled
	}
	return nil
}

func (m *GlobalConfig) GetDefaultConfigVisibilitySettings() []string {
	if m != nil {
		return m.DefaultConfigVisibilitySettings
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultNodeSelector() map[string]interface{} {
	if m != nil {
		return m.DefaultNodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultPodDisruptionBudget() *DefaultPodDisruptionBudgetConfig {
	if m != nil {
		return m.DefaultPodDisruptionBudget
	}
	return nil
}

func (m *GlobalConfig) GetDisablePolicyChecks() *protobuf.BoolValue {
	if m != nil {
		return m.DisablePolicyChecks
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultResources() *DefaultResourcesConfig {
	if m != nil {
		return m.DefaultResources
	}
	return nil
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetDefaultTolerations() []map[string]interface{} {
	if m != nil {
		return m.DefaultTolerations
	}
	return nil
}

func (m *GlobalConfig) GetEnableHelmTest() *protobuf.BoolValue {
	if m != nil {
		return m.EnableHelmTest
	}
	return nil
}

func (m *GlobalConfig) GetEnableTracing() *protobuf.BoolValue {
	if m != nil {
		return m.EnableTracing
	}
	return nil
}

func (m *GlobalConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *GlobalConfig) GetImagePullPolicy() string {
	if m != nil {
		return m.ImagePullPolicy
	}
	return ""
}

func (m *GlobalConfig) GetImagePullSecrets() []string {
	if m != nil {
		return m.ImagePullSecrets
	}
	return nil
}

func (m *GlobalConfig) GetIstioNamespace() string {
	if m != nil {
		return m.IstioNamespace
	}
	return ""
}

func (m *GlobalConfig) GetLocalityLbSetting() map[string]interface{} {
	if m != nil {
		return m.LocalityLbSetting
	}
	return nil
}

func (m *GlobalConfig) GetLogAsJson() *protobuf.BoolValue {
	if m != nil {
		return m.LogAsJson
	}
	return nil
}

func (m *GlobalConfig) GetLogging() *GlobalLoggingConfig {
	if m != nil {
		return m.Logging
	}
	return nil
}

func (m *GlobalConfig) GetMeshExpansion() *MeshExpansionConfig {
	if m != nil {
		return m.MeshExpansion
	}
	return nil
}

func (m *GlobalConfig) GetMeshID() string {
	if m != nil {
		return m.MeshID
	}
	return ""
}

func (m *GlobalConfig) GetMeshNetworks() map[string]interface{} {
	if m != nil {
		return m.MeshNetworks
	}
	return nil
}

func (m *GlobalConfig) GetMonitoringPort() uint32 {
	if m != nil {
		return m.MonitoringPort
	}
	return 0
}

func (m *GlobalConfig) GetMtls() *MTLSConfig {
	if m != nil {
		return m.Mtls
	}
	return nil
}

func (m *GlobalConfig) GetMultiCluster() *MultiClusterConfig {
	if m != nil {
		return m.MultiCluster
	}
	return nil
}

func (m *GlobalConfig) GetNetwork() string {
	if m != nil {
		return m.Network
	}
	return ""
}

func (m *GlobalConfig) GetPodDNSSearchNamespaces() []string {
	if m != nil {
		return m.PodDNSSearchNamespaces
	}
	return nil
}

func (m *GlobalConfig) GetOmitSidecarInjectorConfigMap() *protobuf.BoolValue {
	if m != nil {
		return m.OmitSidecarInjectorConfigMap
	}
	return nil
}

func (m *GlobalConfig) GetOneNamespace() *protobuf.BoolValue {
	if m != nil {
		return m.OneNamespace
	}
	return nil
}

func (m *GlobalConfig) GetOperatorManageWebhooks() *protobuf.BoolValue {
	if m != nil {
		return m.OperatorManageWebhooks
	}
	return nil
}

func (m *GlobalConfig) GetOutboundTrafficPolicy() *OutboundTrafficPolicyConfig {
	if m != nil {
		return m.OutboundTrafficPolicy
	}
	return nil
}

func (m *GlobalConfig) GetPolicyCheckFailOpen() *protobuf.BoolValue {
	if m != nil {
		return m.PolicyCheckFailOpen
	}
	return nil
}

func (m *GlobalConfig) GetPolicyNamespace() string {
	if m != nil {
		return m.PolicyNamespace
	}
	return ""
}

// Deprecated: Do not use.
func (m *GlobalConfig) GetPriorityClassName() string {
	if m != nil {
		return m.PriorityClassName
	}
	return ""
}

func (m *GlobalConfig) GetPrometheusNamespace() string {
	if m != nil {
		return m.PrometheusNamespace
	}
	return ""
}

func (m *GlobalConfig) GetProxy() *ProxyConfig {
	if m != nil {
		return m.Proxy
	}
	return nil
}

func (m *GlobalConfig) GetProxyInit() *ProxyInitConfig {
	if m != nil {
		return m.ProxyInit
	}
	return nil
}

func (m *GlobalConfig) GetSds() *SDSConfig {
	if m != nil {
		return m.Sds
	}
	return nil
}

func (m *GlobalConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

func (m *GlobalConfig) GetTelemetryNamespace() string {
	if m != nil {
		return m.TelemetryNamespace
	}
	return ""
}

func (m *GlobalConfig) GetTracer() *TracerConfig {
	if m != nil {
		return m.Tracer
	}
	return nil
}

func (m *GlobalConfig) GetTrustDomain() string {
	if m != nil {
		return m.TrustDomain
	}
	return ""
}

func (m *GlobalConfig) GetTrustDomainAliases() []string {
	if m != nil {
		return m.TrustDomainAliases
	}
	return nil
}

func (m *GlobalConfig) GetUseMCP() *protobuf.BoolValue {
	if m != nil {
		return m.UseMCP
	}
	return nil
}

func (m *GlobalConfig) GetIstioRemote() *protobuf.BoolValue {
	if m != nil {
		return m.IstioRemote
	}
	return nil
}

func (m *GlobalConfig) GetCreateRemoteSvcEndpoints() *protobuf.BoolValue {
	if m != nil {
		return m.CreateRemoteSvcEndpoints
	}
	return nil
}

func (m *GlobalConfig) GetRemotePilotCreateSvcEndpoint() *protobuf.BoolValue {
	if m != nil {
		return m.RemotePilotCreateSvcEndpoint
	}
	return nil
}

func (m *GlobalConfig) GetRemotePolicyAddress() string {
	if m != nil {
		return m.RemotePolicyAddress
	}
	return ""
}

func (m *GlobalConfig) GetRemotePilotAddress() string {
	if m != nil {
		return m.RemotePilotAddress
	}
	return ""
}

func (m *GlobalConfig) GetRemoteTelemetryAddress() string {
	if m != nil {
		return m.RemoteTelemetryAddress
	}
	return ""
}

func (m *GlobalConfig) GetIstiod() *IstiodConfig {
	if m != nil {
		return m.Istiod
	}
	return nil
}

func (m *GlobalConfig) GetPilotCertProvider() string {
	if m != nil {
		return m.PilotCertProvider
	}
	return ""
}

func (m *GlobalConfig) GetJwtPolicy() string {
	if m != nil {
		return m.JwtPolicy
	}
	return ""
}

func (m *GlobalConfig) GetSts() *STSConfig {
	if m != nil {
		return m.Sts
	}
	return nil
}

func (m *GlobalConfig) GetRevision() string {
	if m != nil {
		return m.Revision
	}
	return ""
}

func (m *GlobalConfig) GetMountMtlsCerts() *protobuf.BoolValue {
	if m != nil {
		return m.MountMtlsCerts
	}
	return nil
}

func (m *GlobalConfig) GetCaAddress() string {
	if m != nil {
		return m.CaAddress
	}
	return ""
}

func (m *GlobalConfig) GetCentralIstiod() *protobuf.BoolValue {
	if m != nil {
		return m.CentralIstiod
	}
	return nil
}

// Configuration for Security Token Service (STS) server.
//
// See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
type STSConfig struct {
	ServicePort          uint32   `protobuf:"varint,1,opt,name=servicePort,proto3" json:"servicePort,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *STSConfig) Reset()         { *m = STSConfig{} }
func (m *STSConfig) String() string { return proto.CompactTextString(m) }
func (*STSConfig) ProtoMessage()    {}
func (*STSConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{13}
}

func (m *STSConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_STSConfig.Unmarshal(m, b)
}
func (m *STSConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_STSConfig.Marshal(b, m, deterministic)
}
func (m *STSConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_STSConfig.Merge(m, src)
}
func (m *STSConfig) XXX_Size() int {
	return xxx_messageInfo_STSConfig.Size(m)
}
func (m *STSConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_STSConfig.DiscardUnknown(m)
}

var xxx_messageInfo_STSConfig proto.InternalMessageInfo

func (m *STSConfig) GetServicePort() uint32 {
	if m != nil {
		return m.ServicePort
	}
	return 0
}

type IstiodConfig struct {
	// If enabled, all control plane functionality will be handled by a single deployment.
	// Deprecated. This field is always ignored and assumed true.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Deprecated: Do not use.
	// If enabled, istiod will perform config analysis
	EnableAnalysis       *protobuf.BoolValue `protobuf:"bytes,2,opt,name=enableAnalysis,proto3" json:"enableAnalysis,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *IstiodConfig) Reset()         { *m = IstiodConfig{} }
func (m *IstiodConfig) String() string { return proto.CompactTextString(m) }
func (*IstiodConfig) ProtoMessage()    {}
func (*IstiodConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{14}
}

func (m *IstiodConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IstiodConfig.Unmarshal(m, b)
}
func (m *IstiodConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IstiodConfig.Marshal(b, m, deterministic)
}
func (m *IstiodConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IstiodConfig.Merge(m, src)
}
func (m *IstiodConfig) XXX_Size() int {
	return xxx_messageInfo_IstiodConfig.Size(m)
}
func (m *IstiodConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_IstiodConfig.DiscardUnknown(m)
}

var xxx_messageInfo_IstiodConfig proto.InternalMessageInfo

// Deprecated: Do not use.
func (m *IstiodConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IstiodConfig) GetEnableAnalysis() *protobuf.BoolValue {
	if m != nil {
		return m.EnableAnalysis
	}
	return nil
}

// GlobalLoggingConfig specifies the global logging level settings for the Istio control plane components.
type GlobalLoggingConfig struct {
	// Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>
	// The control plane has different scopes depending on component, but can configure default log level across all components
	// If empty, default scope and level will be used as configured in code
	Level                string   `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GlobalLoggingConfig) Reset()         { *m = GlobalLoggingConfig{} }
func (m *GlobalLoggingConfig) String() string { return proto.CompactTextString(m) }
func (*GlobalLoggingConfig) ProtoMessage()    {}
func (*GlobalLoggingConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{15}
}

func (m *GlobalLoggingConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GlobalLoggingConfig.Unmarshal(m, b)
}
func (m *GlobalLoggingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GlobalLoggingConfig.Marshal(b, m, deterministic)
}
func (m *GlobalLoggingConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GlobalLoggingConfig.Merge(m, src)
}
func (m *GlobalLoggingConfig) XXX_Size() int {
	return xxx_messageInfo_GlobalLoggingConfig.Size(m)
}
func (m *GlobalLoggingConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_GlobalLoggingConfig.DiscardUnknown(m)
}

var xxx_messageInfo_GlobalLoggingConfig proto.InternalMessageInfo

func (m *GlobalLoggingConfig) GetLevel() string {
	if m != nil {
		return m.Level
	}
	return ""
}

// Configuration for an ingress gateway.
type IngressGatewayConfig struct {
	// Controls whether auto scaling with a HorizontalPodAutoscaler is enabled.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// maxReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMax uint32 `protobuf:"varint,2,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// minReplicas setting for HorizontalPodAutoscaler.
	AutoscaleMin   uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	ConnectTimeout string `protobuf:"bytes,4,opt,name=connectTimeout,proto3" json:"connectTimeout,omitempty"`
	// K8s utilization setting for HorizontalPodAutoscaler target.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu           *CPUTargetUtilizationConfig `protobuf:"bytes,5,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	CustomService *protobuf.BoolValue         `protobuf:"bytes,6,opt,name=customService,proto3" json:"customService,omitempty"`
	Debug         string                      `protobuf:"bytes,7,opt,name=debug,proto3" json:"debug,omitempty"`
	Domain        string                      `protobuf:"bytes,8,opt,name=domain,proto3" json:"domain,omitempty"`
	DrainDuration *duration.Duration          `protobuf:"bytes,9,opt,name=drainDuration,proto3" json:"drainDuration,omitempty"`
	// Controls whether an ingress gateway is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,10,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Environment variables passed to the proxy container.
	Env                      map[string]interface{} `protobuf:"bytes,11,opt,name=env,proto3" json:"env,omitempty"`
	ExternalIPs              []string                `protobuf:"bytes,12,rep,name=externalIPs,proto3" json:"externalIPs,omitempty"`
	K8SIngress               *protobuf.BoolValue     `protobuf:"bytes,13,opt,name=k8sIngress,proto3" json:"k8sIngress,omitempty"`
	K8SIngressHttps          *protobuf.BoolValue     `protobuf:"bytes,14,opt,name=k8sIngressHttps,proto3" json:"k8sIngressHttps,omitempty"`
	Labels                   *GatewayLabelsConfig    `protobuf:"bytes,15,opt,name=labels,proto3" json:"labels,omitempty"`
	LoadBalancerIP           string                  `protobuf:"bytes,16,opt,name=loadBalancerIP,proto3" json:"loadBalancerIP,omitempty"`
	LoadBalancerSourceRanges []string                `protobuf:"bytes,17,rep,name=loadBalancerSourceRanges,proto3" json:"loadBalancerSourceRanges,omitempty"`
	MeshExpansionPorts       []*PortsConfig          `protobuf:"bytes,18,rep,name=meshExpansionPorts,proto3" json:"meshExpansionPorts,omitempty"`
	Name                     string                  `protobuf:"bytes,44,opt,name=name,proto3" json:"name,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,19,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations for pods.
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,20,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// See EgressGatewayConfig.
	PodAntiAffinityLabelSelector []map[string]interface{} `protobuf:"bytes,21,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"` // Deprecated: Do not use.
	// See EgressGatewayConfig.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,22,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// Port Configuration for the ingress gateway.
	Ports []*PortsConfig `protobuf:"bytes,23,rep,name=ports,proto3" json:"ports,omitempty"`
	// Number of replicas for the ingress gateway Deployment.
	ReplicaCount uint32 `protobuf:"varint,24,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources map[string]interface{} `protobuf:"bytes,25,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// Secret Discovery Service (SDS) Configuration for ingress gateway.
	Sds *IngressGatewaySdsConfig `protobuf:"bytes,26,opt,name=sds,proto3" json:"sds,omitempty"`
	// Config for secret volume mounts.
	SecretVolumes []*SecretVolume `protobuf:"bytes,27,rep,name=secretVolumes,proto3" json:"secretVolumes,omitempty"`
	// Annotations to add to the egress gateway service.
	ServiceAnnotations map[string]interface{} `protobuf:"bytes,28,opt,name=serviceAnnotations,proto3" json:"serviceAnnotations,omitempty"`
	// Service type.
	//
	// See https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	Type string `protobuf:"bytes,29,opt,name=type,proto3" json:"type,omitempty"`
	// Enables cross-cluster access using SNI matching.
	Zvpn *IngressGatewayZvpnConfig `protobuf:"bytes,30,opt,name=zvpn,proto3" json:"zvpn,omitempty"`
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,31,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable *IntOrStringForPB `protobuf:"bytes,32,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"` // Deprecated: Do not use.
	// Ports to explicitly check for readiness
	ApplicationPorts       string                         `protobuf:"bytes,33,opt,name=applicationPorts,proto3" json:"applicationPorts,omitempty"`
	ExternalTrafficPolicy  string                         `protobuf:"bytes,34,opt,name=externalTrafficPolicy,proto3" json:"externalTrafficPolicy,omitempty"`
	Tolerations            []map[string]interface{} `protobuf:"bytes,35,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	IngressPorts           []map[string]interface{} `protobuf:"bytes,36,opt,name=ingressPorts,proto3" json:"ingressPorts,omitempty"`
	AdditionalContainers   []map[string]interface{} `protobuf:"bytes,37,opt,name=additionalContainers,proto3" json:"additionalContainers,omitempty"`
	ConfigVolumes          []map[string]interface{} `protobuf:"bytes,38,opt,name=configVolumes,proto3" json:"configVolumes,omitempty"`
	Certificates           *protobuf.BoolValue            `protobuf:"bytes,39,opt,name=certificates,proto3" json:"certificates,omitempty"`
	Tls                    *protobuf.BoolValue            `protobuf:"bytes,40,opt,name=tls,proto3" json:"tls,omitempty"`
	TelemetryAddonGateways map[string]interface{}        `protobuf:"bytes,41,opt,name=telemetry_addon_gateways,json=telemetryAddonGateways,proto3" json:"telemetry_addon_gateways,omitempty"`
	Hosts                  []map[string]interface{} `protobuf:"bytes,42,opt,name=hosts,proto3" json:"hosts,omitempty"`
	TelemetryDomainName    string                         `protobuf:"bytes,43,opt,name=telemetry_domain_name,json=telemetryDomainName,proto3" json:"telemetry_domain_name,omitempty"`
	RunAsRoot              *protobuf.BoolValue            `protobuf:"bytes,45,opt,name=runAsRoot,proto3" json:"runAsRoot,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                       `json:"-"`
	XXX_unrecognized       []byte                         `json:"-"`
	XXX_sizecache          int32                          `json:"-"`
}

func (m *IngressGatewayConfig) Reset()         { *m = IngressGatewayConfig{} }
func (m *IngressGatewayConfig) String() string { return proto.CompactTextString(m) }
func (*IngressGatewayConfig) ProtoMessage()    {}
func (*IngressGatewayConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{16}
}

func (m *IngressGatewayConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IngressGatewayConfig.Unmarshal(m, b)
}
func (m *IngressGatewayConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IngressGatewayConfig.Marshal(b, m, deterministic)
}
func (m *IngressGatewayConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IngressGatewayConfig.Merge(m, src)
}
func (m *IngressGatewayConfig) XXX_Size() int {
	return xxx_messageInfo_IngressGatewayConfig.Size(m)
}
func (m *IngressGatewayConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_IngressGatewayConfig.DiscardUnknown(m)
}

var xxx_messageInfo_IngressGatewayConfig proto.InternalMessageInfo

func (m *IngressGatewayConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *IngressGatewayConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *IngressGatewayConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

func (m *IngressGatewayConfig) GetConnectTimeout() string {
	if m != nil {
		return m.ConnectTimeout
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *IngressGatewayConfig) GetCustomService() *protobuf.BoolValue {
	if m != nil {
		return m.CustomService
	}
	return nil
}

func (m *IngressGatewayConfig) GetDebug() string {
	if m != nil {
		return m.Debug
	}
	return ""
}

func (m *IngressGatewayConfig) GetDomain() string {
	if m != nil {
		return m.Domain
	}
	return ""
}

func (m *IngressGatewayConfig) GetDrainDuration() *duration.Duration {
	if m != nil {
		return m.DrainDuration
	}
	return nil
}

func (m *IngressGatewayConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IngressGatewayConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

func (m *IngressGatewayConfig) GetExternalIPs() []string {
	if m != nil {
		return m.ExternalIPs
	}
	return nil
}

func (m *IngressGatewayConfig) GetK8SIngress() *protobuf.BoolValue {
	if m != nil {
		return m.K8SIngress
	}
	return nil
}

func (m *IngressGatewayConfig) GetK8SIngressHttps() *protobuf.BoolValue {
	if m != nil {
		return m.K8SIngressHttps
	}
	return nil
}

func (m *IngressGatewayConfig) GetLabels() *GatewayLabelsConfig {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *IngressGatewayConfig) GetLoadBalancerIP() string {
	if m != nil {
		return m.LoadBalancerIP
	}
	return ""
}

func (m *IngressGatewayConfig) GetLoadBalancerSourceRanges() []string {
	if m != nil {
		return m.LoadBalancerSourceRanges
	}
	return nil
}

func (m *IngressGatewayConfig) GetMeshExpansionPorts() []*PortsConfig {
	if m != nil {
		return m.MeshExpansionPorts
	}
	return nil
}

func (m *IngressGatewayConfig) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

func (m *IngressGatewayConfig) GetPorts() []*PortsConfig {
	if m != nil {
		return m.Ports
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetResources() map[string]interface{} {
	if m != nil {
		return m.Resources
	}
	return nil
}

func (m *IngressGatewayConfig) GetSds() *IngressGatewaySdsConfig {
	if m != nil {
		return m.Sds
	}
	return nil
}

func (m *IngressGatewayConfig) GetSecretVolumes() []*SecretVolume {
	if m != nil {
		return m.SecretVolumes
	}
	return nil
}

func (m *IngressGatewayConfig) GetServiceAnnotations() map[string]interface{} {
	if m != nil {
		return m.ServiceAnnotations
	}
	return nil
}

func (m *IngressGatewayConfig) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *IngressGatewayConfig) GetZvpn() *IngressGatewayZvpnConfig {
	if m != nil {
		return m.Zvpn
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

func (m *IngressGatewayConfig) GetApplicationPorts() string {
	if m != nil {
		return m.ApplicationPorts
	}
	return ""
}

func (m *IngressGatewayConfig) GetExternalTrafficPolicy() string {
	if m != nil {
		return m.ExternalTrafficPolicy
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewayConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *IngressGatewayConfig) GetIngressPorts() []map[string]interface{} {
	if m != nil {
		return m.IngressPorts
	}
	return nil
}

func (m *IngressGatewayConfig) GetAdditionalContainers() []map[string]interface{} {
	if m != nil {
		return m.AdditionalContainers
	}
	return nil
}

func (m *IngressGatewayConfig) GetConfigVolumes() []map[string]interface{} {
	if m != nil {
		return m.ConfigVolumes
	}
	return nil
}

func (m *IngressGatewayConfig) GetCertificates() *protobuf.BoolValue {
	if m != nil {
		return m.Certificates
	}
	return nil
}

func (m *IngressGatewayConfig) GetTls() *protobuf.BoolValue {
	if m != nil {
		return m.Tls
	}
	return nil
}

func (m *IngressGatewayConfig) GetTelemetryAddonGateways() map[string]interface{} {
	if m != nil {
		return m.TelemetryAddonGateways
	}
	return nil
}

func (m *IngressGatewayConfig) GetHosts() []map[string]interface{} {
	if m != nil {
		return m.Hosts
	}
	return nil
}

func (m *IngressGatewayConfig) GetTelemetryDomainName() string {
	if m != nil {
		return m.TelemetryDomainName
	}
	return ""
}

func (m *IngressGatewayConfig) GetRunAsRoot() *protobuf.BoolValue {
	if m != nil {
		return m.RunAsRoot
	}
	return nil
}

// Secret Discovery Service (SDS) Configuration for ingress gateway.
type IngressGatewaySdsConfig struct {
	// If true, ingress gateway fetches credentials from SDS server to handle TLS connections.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// SDS server that watches kubernetes secrets and provisions credentials to ingress gateway.
	// This server runs in the same pod as ingress gateway.
	Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources            *Resources `protobuf:"bytes,3,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *IngressGatewaySdsConfig) Reset()         { *m = IngressGatewaySdsConfig{} }
func (m *IngressGatewaySdsConfig) String() string { return proto.CompactTextString(m) }
func (*IngressGatewaySdsConfig) ProtoMessage()    {}
func (*IngressGatewaySdsConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{17}
}

func (m *IngressGatewaySdsConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IngressGatewaySdsConfig.Unmarshal(m, b)
}
func (m *IngressGatewaySdsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IngressGatewaySdsConfig.Marshal(b, m, deterministic)
}
func (m *IngressGatewaySdsConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IngressGatewaySdsConfig.Merge(m, src)
}
func (m *IngressGatewaySdsConfig) XXX_Size() int {
	return xxx_messageInfo_IngressGatewaySdsConfig.Size(m)
}
func (m *IngressGatewaySdsConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_IngressGatewaySdsConfig.DiscardUnknown(m)
}

var xxx_messageInfo_IngressGatewaySdsConfig proto.InternalMessageInfo

func (m *IngressGatewaySdsConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IngressGatewaySdsConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

// Deprecated: Do not use.
func (m *IngressGatewaySdsConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// IngressGatewayZvpnConfig enables cross-cluster access using SNI matching.
type IngressGatewayZvpnConfig struct {
	// Controls whether ZeroVPN is enabled.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Suffix               string              `protobuf:"bytes,2,opt,name=suffix,proto3" json:"suffix,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *IngressGatewayZvpnConfig) Reset()         { *m = IngressGatewayZvpnConfig{} }
func (m *IngressGatewayZvpnConfig) String() string { return proto.CompactTextString(m) }
func (*IngressGatewayZvpnConfig) ProtoMessage()    {}
func (*IngressGatewayZvpnConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{18}
}

func (m *IngressGatewayZvpnConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IngressGatewayZvpnConfig.Unmarshal(m, b)
}
func (m *IngressGatewayZvpnConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IngressGatewayZvpnConfig.Marshal(b, m, deterministic)
}
func (m *IngressGatewayZvpnConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IngressGatewayZvpnConfig.Merge(m, src)
}
func (m *IngressGatewayZvpnConfig) XXX_Size() int {
	return xxx_messageInfo_IngressGatewayZvpnConfig.Size(m)
}
func (m *IngressGatewayZvpnConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_IngressGatewayZvpnConfig.DiscardUnknown(m)
}

var xxx_messageInfo_IngressGatewayZvpnConfig proto.InternalMessageInfo

func (m *IngressGatewayZvpnConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *IngressGatewayZvpnConfig) GetSuffix() string {
	if m != nil {
		return m.Suffix
	}
	return ""
}

// Configuration for Kubernetes environment adapter in mixer.
type KubernetesEnvMixerAdapterConfig struct {
	// Enables the Kubernetes env adapter in Mixer.
	//
	// See: https://istio.io/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *KubernetesEnvMixerAdapterConfig) Reset()         { *m = KubernetesEnvMixerAdapterConfig{} }
func (m *KubernetesEnvMixerAdapterConfig) String() string { return proto.CompactTextString(m) }
func (*KubernetesEnvMixerAdapterConfig) ProtoMessage()    {}
func (*KubernetesEnvMixerAdapterConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{19}
}

func (m *KubernetesEnvMixerAdapterConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_KubernetesEnvMixerAdapterConfig.Unmarshal(m, b)
}
func (m *KubernetesEnvMixerAdapterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_KubernetesEnvMixerAdapterConfig.Marshal(b, m, deterministic)
}
func (m *KubernetesEnvMixerAdapterConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_KubernetesEnvMixerAdapterConfig.Merge(m, src)
}
func (m *KubernetesEnvMixerAdapterConfig) XXX_Size() int {
	return xxx_messageInfo_KubernetesEnvMixerAdapterConfig.Size(m)
}
func (m *KubernetesEnvMixerAdapterConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_KubernetesEnvMixerAdapterConfig.DiscardUnknown(m)
}

var xxx_messageInfo_KubernetesEnvMixerAdapterConfig proto.InternalMessageInfo

func (m *KubernetesEnvMixerAdapterConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

// Configuration for when mixer starts rejecting grpc requests.
type LoadSheddingConfig struct {
	LatencyThreshold     string   `protobuf:"bytes,1,opt,name=latencyThreshold,proto3" json:"latencyThreshold,omitempty"`
	Mode                 Mode     `protobuf:"varint,2,opt,name=mode,proto3,enum=v1alpha1.Mode" json:"mode,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LoadSheddingConfig) Reset()         { *m = LoadSheddingConfig{} }
func (m *LoadSheddingConfig) String() string { return proto.CompactTextString(m) }
func (*LoadSheddingConfig) ProtoMessage()    {}
func (*LoadSheddingConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{20}
}

func (m *LoadSheddingConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LoadSheddingConfig.Unmarshal(m, b)
}
func (m *LoadSheddingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LoadSheddingConfig.Marshal(b, m, deterministic)
}
func (m *LoadSheddingConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LoadSheddingConfig.Merge(m, src)
}
func (m *LoadSheddingConfig) XXX_Size() int {
	return xxx_messageInfo_LoadSheddingConfig.Size(m)
}
func (m *LoadSheddingConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_LoadSheddingConfig.DiscardUnknown(m)
}

var xxx_messageInfo_LoadSheddingConfig proto.InternalMessageInfo

func (m *LoadSheddingConfig) GetLatencyThreshold() string {
	if m != nil {
		return m.LatencyThreshold
	}
	return ""
}

func (m *LoadSheddingConfig) GetMode() Mode {
	if m != nil {
		return m.Mode
	}
	return Mode_disabled
}

// MTLS settings for the applications that Istio manages.
type MTLSConfig struct {
	// Enables MTLS for service to service traffic.
	Enabled              *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Auto                 *protobuf.BoolValue `protobuf:"bytes,2,opt,name=auto,proto3" json:"auto,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *MTLSConfig) Reset()         { *m = MTLSConfig{} }
func (m *MTLSConfig) String() string { return proto.CompactTextString(m) }
func (*MTLSConfig) ProtoMessage()    {}
func (*MTLSConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{21}
}

func (m *MTLSConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MTLSConfig.Unmarshal(m, b)
}
func (m *MTLSConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MTLSConfig.Marshal(b, m, deterministic)
}
func (m *MTLSConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MTLSConfig.Merge(m, src)
}
func (m *MTLSConfig) XXX_Size() int {
	return xxx_messageInfo_MTLSConfig.Size(m)
}
func (m *MTLSConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_MTLSConfig.DiscardUnknown(m)
}

var xxx_messageInfo_MTLSConfig proto.InternalMessageInfo

func (m *MTLSConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MTLSConfig) GetAuto() *protobuf.BoolValue {
	if m != nil {
		return m.Auto
	}
	return nil
}

// Configuration for Istio mesh expansion to bare metal.
type MeshExpansionConfig struct {
	// Exposes Pilot and Citadel mTLS on the ingress gateway.
	Enabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Exposes Pilot and Citadel mTLS and the plain text Pilot ports on an internal gateway.
	UseILB               *protobuf.BoolValue `protobuf:"bytes,2,opt,name=useILB,proto3" json:"useILB,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *MeshExpansionConfig) Reset()         { *m = MeshExpansionConfig{} }
func (m *MeshExpansionConfig) String() string { return proto.CompactTextString(m) }
func (*MeshExpansionConfig) ProtoMessage()    {}
func (*MeshExpansionConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{22}
}

func (m *MeshExpansionConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MeshExpansionConfig.Unmarshal(m, b)
}
func (m *MeshExpansionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MeshExpansionConfig.Marshal(b, m, deterministic)
}
func (m *MeshExpansionConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MeshExpansionConfig.Merge(m, src)
}
func (m *MeshExpansionConfig) XXX_Size() int {
	return xxx_messageInfo_MeshExpansionConfig.Size(m)
}
func (m *MeshExpansionConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_MeshExpansionConfig.DiscardUnknown(m)
}

var xxx_messageInfo_MeshExpansionConfig proto.InternalMessageInfo

func (m *MeshExpansionConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MeshExpansionConfig) GetUseILB() *protobuf.BoolValue {
	if m != nil {
		return m.UseILB
	}
	return nil
}

// Configuration for Mixer Telemetry adapters.
type MixerTelemetryAdaptersConfig struct {
	// Configuration for Kubernetes environment adapter in mixer.
	Kubernetesenv *KubernetesEnvMixerAdapterConfig `protobuf:"bytes,1,opt,name=kubernetesenv,proto3" json:"kubernetesenv,omitempty"`
	// Configuration for Prometheus adapter in mixer.
	Prometheus *PrometheusMixerAdapterConfig `protobuf:"bytes,2,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	// Configuration for stdio adapter in mixer, recommended for debug usage only.
	Stdio *StdioMixerAdapterConfig `protobuf:"bytes,3,opt,name=stdio,proto3" json:"stdio,omitempty"`
	//
	Stackdriver *StackdriverMixerAdapterConfig `protobuf:"bytes,4,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	// Sets the --useAdapterCRDs mixer startup argument.
	UseAdapterCRDs       *protobuf.BoolValue `protobuf:"bytes,5,opt,name=useAdapterCRDs,proto3" json:"useAdapterCRDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *MixerTelemetryAdaptersConfig) Reset()         { *m = MixerTelemetryAdaptersConfig{} }
func (m *MixerTelemetryAdaptersConfig) String() string { return proto.CompactTextString(m) }
func (*MixerTelemetryAdaptersConfig) ProtoMessage()    {}
func (*MixerTelemetryAdaptersConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{23}
}

func (m *MixerTelemetryAdaptersConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MixerTelemetryAdaptersConfig.Unmarshal(m, b)
}
func (m *MixerTelemetryAdaptersConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MixerTelemetryAdaptersConfig.Marshal(b, m, deterministic)
}
func (m *MixerTelemetryAdaptersConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MixerTelemetryAdaptersConfig.Merge(m, src)
}
func (m *MixerTelemetryAdaptersConfig) XXX_Size() int {
	return xxx_messageInfo_MixerTelemetryAdaptersConfig.Size(m)
}
func (m *MixerTelemetryAdaptersConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_MixerTelemetryAdaptersConfig.DiscardUnknown(m)
}

var xxx_messageInfo_MixerTelemetryAdaptersConfig proto.InternalMessageInfo

func (m *MixerTelemetryAdaptersConfig) GetKubernetesenv() *KubernetesEnvMixerAdapterConfig {
	if m != nil {
		return m.Kubernetesenv
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetPrometheus() *PrometheusMixerAdapterConfig {
	if m != nil {
		return m.Prometheus
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetStdio() *StdioMixerAdapterConfig {
	if m != nil {
		return m.Stdio
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetStackdriver() *StackdriverMixerAdapterConfig {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

func (m *MixerTelemetryAdaptersConfig) GetUseAdapterCRDs() *protobuf.BoolValue {
	if m != nil {
		return m.UseAdapterCRDs
	}
	return nil
}

// Configuration for Mixer Policy adapters.
type MixerPolicyAdaptersConfig struct {
	// Configuration for Kubernetes environment adapter in mixer.
	Kubernetesenv *KubernetesEnvMixerAdapterConfig `protobuf:"bytes,1,opt,name=kubernetesenv,proto3" json:"kubernetesenv,omitempty"`
	// Configuration for Prometheus adapter in mixer.
	Prometheus *PrometheusMixerAdapterConfig `protobuf:"bytes,2,opt,name=prometheus,proto3" json:"prometheus,omitempty"`
	// Configuration for stdio adapter in mixer, recommended for debug usage only.
	Stdio *StdioMixerAdapterConfig `protobuf:"bytes,3,opt,name=stdio,proto3" json:"stdio,omitempty"`
	//
	Stackdriver *StackdriverMixerAdapterConfig `protobuf:"bytes,4,opt,name=stackdriver,proto3" json:"stackdriver,omitempty"`
	// Sets the --useAdapterCRDs mixer startup argument.
	UseAdapterCRDs       *protobuf.BoolValue `protobuf:"bytes,5,opt,name=useAdapterCRDs,proto3" json:"useAdapterCRDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *MixerPolicyAdaptersConfig) Reset()         { *m = MixerPolicyAdaptersConfig{} }
func (m *MixerPolicyAdaptersConfig) String() string { return proto.CompactTextString(m) }
func (*MixerPolicyAdaptersConfig) ProtoMessage()    {}
func (*MixerPolicyAdaptersConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{24}
}

func (m *MixerPolicyAdaptersConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MixerPolicyAdaptersConfig.Unmarshal(m, b)
}
func (m *MixerPolicyAdaptersConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MixerPolicyAdaptersConfig.Marshal(b, m, deterministic)
}
func (m *MixerPolicyAdaptersConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MixerPolicyAdaptersConfig.Merge(m, src)
}
func (m *MixerPolicyAdaptersConfig) XXX_Size() int {
	return xxx_messageInfo_MixerPolicyAdaptersConfig.Size(m)
}
func (m *MixerPolicyAdaptersConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_MixerPolicyAdaptersConfig.DiscardUnknown(m)
}

var xxx_messageInfo_MixerPolicyAdaptersConfig proto.InternalMessageInfo

func (m *MixerPolicyAdaptersConfig) GetKubernetesenv() *KubernetesEnvMixerAdapterConfig {
	if m != nil {
		return m.Kubernetesenv
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetPrometheus() *PrometheusMixerAdapterConfig {
	if m != nil {
		return m.Prometheus
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetStdio() *StdioMixerAdapterConfig {
	if m != nil {
		return m.Stdio
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetStackdriver() *StackdriverMixerAdapterConfig {
	if m != nil {
		return m.Stackdriver
	}
	return nil
}

func (m *MixerPolicyAdaptersConfig) GetUseAdapterCRDs() *protobuf.BoolValue {
	if m != nil {
		return m.UseAdapterCRDs
	}
	return nil
}

// Configuration for Mixer.
type MixerConfig struct {
	// MixerPolicyConfig is set of configurations for Mixer Policy
	Policy *MixerPolicyConfig `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"`
	// MixerTelemetryConfig is set of configurations for Mixer Telemetry
	Telemetry *MixerTelemetryConfig `protobuf:"bytes,2,opt,name=telemetry,proto3" json:"telemetry,omitempty"`
	// Configuration for different mixer adapters.
	Adapters             *MixerTelemetryAdaptersConfig `protobuf:"bytes,3,opt,name=adapters,proto3" json:"adapters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

func (m *MixerConfig) Reset()         { *m = MixerConfig{} }
func (m *MixerConfig) String() string { return proto.CompactTextString(m) }
func (*MixerConfig) ProtoMessage()    {}
func (*MixerConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{25}
}

func (m *MixerConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MixerConfig.Unmarshal(m, b)
}
func (m *MixerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MixerConfig.Marshal(b, m, deterministic)
}
func (m *MixerConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MixerConfig.Merge(m, src)
}
func (m *MixerConfig) XXX_Size() int {
	return xxx_messageInfo_MixerConfig.Size(m)
}
func (m *MixerConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_MixerConfig.DiscardUnknown(m)
}

var xxx_messageInfo_MixerConfig proto.InternalMessageInfo

func (m *MixerConfig) GetPolicy() *MixerPolicyConfig {
	if m != nil {
		return m.Policy
	}
	return nil
}

func (m *MixerConfig) GetTelemetry() *MixerTelemetryConfig {
	if m != nil {
		return m.Telemetry
	}
	return nil
}

func (m *MixerConfig) GetAdapters() *MixerTelemetryAdaptersConfig {
	if m != nil {
		return m.Adapters
	}
	return nil
}

// Configuration for Mixer Policy.
type MixerPolicyConfig struct {
	// Controls whether a HorizontalPodAutoscaler is installed for Mixer Policy.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,1,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// Maximum number of replicas in the HorizontalPodAutoscaler for Mixer Policy.
	AutoscaleMax uint32 `protobuf:"varint,2,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// Minimum number of replicas in the HorizontalPodAutoscaler for Mixer Policy.
	AutoscaleMin uint32 `protobuf:"varint,3,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	// Target CPU utilization used in HorizontalPodAutoscaler.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu *CPUTargetUtilizationConfig `protobuf:"bytes,4,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	// Controls whether Mixer Policy is enabled
	Enabled *protobuf.BoolValue `protobuf:"bytes,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Image name used for Mixer Policy.
	//
	// This can be set either to image name if hub is also set, or can be set to the full hub:name string.
	//
	// Examples: custom-mixer, docker.io/someuser:custom-mixer
	Image string `protobuf:"bytes,6,opt,name=image,proto3" json:"image,omitempty"`
	// K8s annotations to attach to mixer policy deployment
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,7,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Number of replicas in the Mixer Policy Deployment
	ReplicaCount uint32 `protobuf:"varint,8,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// Configuration for different mixer adapters.
	Adapters *MixerPolicyAdaptersConfig `protobuf:"bytes,9,opt,name=adapters,proto3" json:"adapters,omitempty"`
	// Controls whether to enable the sticky session setting when choosing backend pods.
	SessionAffinityEnabled *protobuf.BoolValue `protobuf:"bytes,10,opt,name=sessionAffinityEnabled,proto3" json:"sessionAffinityEnabled,omitempty"`
	// K8s resources settings.
	//
	// See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
	Resources *Resources `protobuf:"bytes,11,opt,name=resources,proto3" json:"resources,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxSurge *IntOrStringForPB `protobuf:"bytes,12,opt,name=rollingMaxSurge,proto3" json:"rollingMaxSurge,omitempty"` // Deprecated: Do not use.
	// K8s rolling update strategy
	RollingMaxUnavailable            *IntOrStringForPB          `protobuf:"bytes,13,opt,name=rollingMaxUnavailable,proto3" json:"rollingMaxUnavailable,omitempty"`                       // Deprecated: Do not use.
	PodAntiAffinityLabelSelector     []map[string]interface{} `protobuf:"bytes,14,opt,name=podAntiAffinityLabelSelector,proto3" json:"podAntiAffinityLabelSelector,omitempty"`         // Deprecated: Do not use.
	PodAntiAffinityTermLabelSelector []map[string]interface{} `protobuf:"bytes,15,opt,name=podAntiAffinityTermLabelSelector,proto3" json:"podAntiAffinityTermLabelSelector,omitempty"` // Deprecated: Do not use.
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,16,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// Environment variables passed to the Mixer container.
	//
	// Examples:
	// env:
	//   ENV_VAR_1: value1
	//   ENV_VAR_2: value2
	Env                  map[string]interface{}        `protobuf:"bytes,17,opt,name=env,proto3" json:"env,omitempty"`
	Tolerations          []map[string]interface{} `protobuf:"bytes,18,opt,name=tolerations,proto3" json:"tolerations,omitempty"` // Deprecated: Do not use.
	Hub                  string                         `protobuf:"bytes,19,opt,name=hub,proto3" json:"hub,omitempty"`
	Tag                  interface{}                 `protobuf:"bytes,20,opt,name=tag,proto3" json:"tag,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

func (m *MixerPolicyConfig) Reset()         { *m = MixerPolicyConfig{} }
func (m *MixerPolicyConfig) String() string { return proto.CompactTextString(m) }
func (*MixerPolicyConfig) ProtoMessage()    {}
func (*MixerPolicyConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_261260e22432516f, []int{26}
}

func (m *MixerPolicyConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MixerPolicyConfig.Unmarshal(m, b)
}
func (m *MixerPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MixerPolicyConfig.Marshal(b, m, deterministic)
}
func (m *MixerPolicyConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MixerPolicyConfig.Merge(m, src)
}
func (m *MixerPolicyConfig) XXX_Size() int {
	return xxx_messageInfo_MixerPolicyConfig.Size(m)
}
func (m *MixerPolicyConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_MixerPolicyConfig.DiscardUnknown(m)
}

var xxx_messageInfo_MixerPolicyConfig proto.InternalMessageInfo

func (m *MixerPolicyConfig) GetAutoscaleEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.AutoscaleEnabled
	}
	return nil
}

func (m *MixerPolicyConfig) GetAutoscaleMax() uint32 {
	if m != nil {
		return m.AutoscaleMax
	}
	return 0
}

func (m *MixerPolicyConfig) GetAutoscaleMin() uint32 {
	if m != nil {
		return m.AutoscaleMin
	}
	return 0
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetCpu() *CPUTargetUtilizationConfig {
	if m != nil {
		return m.Cpu
	}
	return nil
}

func (m *MixerPolicyConfig) GetEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.Enabled
	}
	return nil
}

func (m *MixerPolicyConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetPodAnnotations() map[string]interface{} {
	if m != nil {
		return m.PodAnnotations
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetReplicaCount() uint32 {
	if m != nil {
		return m.ReplicaCount
	}
	return 0
}

func (m *MixerPolicyConfig) GetAdapters() *MixerPolicyAdaptersConfig {
	if m != nil {
		return m.Adapters
	}
	return nil
}

func (m *MixerPolicyConfig) GetSessionAffinityEnabled() *protobuf.BoolValue {
	if m != nil {
		return m.SessionAffinityEnabled
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetResources() *Resources {
	if m != nil {
		return m.Resources
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetRollingMaxSurge() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxSurge
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetRollingMaxUnavailable() *IntOrStringForPB {
	if m != nil {
		return m.RollingMaxUnavailable
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetPodAntiAffinityLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetPodAntiAffinityTermLabelSelector() []map[string]interface{} {
	if m != nil {
		return m.PodAntiAffinityTermLabelSelector
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetNodeSelector() map[string]interface{} {
	if m != nil {
		return m.NodeSelector
	}
	return nil
}

func (m *MixerPolicyConfig) GetEnv() map[string]interface{} {
	if m != nil {
		return m.Env
	}
	return nil
}

// Deprecated: Do not use.
func (m *MixerPolicyConfig) GetTolerations() []map[string]interface{} {
	if m != nil {
		return m.Tolerations
	}
	return nil
}

func (m *MixerPolicyConfig) GetHub() string {
	if m != nil {
		return m.Hub
	}
	return ""
}

func (m *MixerPolicyConfig) GetTag() interface{} {
	if m != nil {
		return m.Tag
	}
	return nil
}

// Configuration for Mixer Telemetry.
type MixerTelemetryConfig struct {
	// Controls whether a HorizontalPodAutoscaler is installed for Mixer Telemetry.
	AutoscaleEnabled *protobuf.BoolValue `protobuf:"bytes,2,opt,name=autoscaleEnabled,proto3" json:"autoscaleEnabled,omitempty"`
	// Maximum number of replicas in the HorizontalPodAutoscaler for Mixer Telemetry.
	AutoscaleMax uint32 `protobuf:"varint,3,opt,name=autoscaleMax,proto3" json:"autoscaleMax,omitempty"`
	// Minimum number of replicas in the HorizontalPodAutoscaler for Mixer Telemetry.
	AutoscaleMin uint32 `protobuf:"varint,4,opt,name=autoscaleMin,proto3" json:"autoscaleMin,omitempty"`
	// Target CPU utilization used in HorizontalPodAutoscaler.
	//
	// See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
	Cpu *CPUTargetUtilizationConfig `protobuf:"bytes,5,opt,name=cpu,proto3" json:"cpu,omitempty"` // Deprecated: Do not use.
	// Controls whether Mixer Telemetry is enabled.
	Enabled *protobuf.BoolValue `protobuf:"bytes,6,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Environment variables passed to the Mixer container.
	//
	// Examples:
	// env:
	//   ENV_VAR_1: value1
	//   ENV_VAR_2: value2
	Env map[string]interface{} `protobuf:"bytes,7,opt,name=env,proto3" json:"env,omitempty"`
	// Image name used for Mixer Telemetry.
	//
	// This can be set either to image name if hub is also set, or can be set to the full hub:name string.
	//
	// Examples: custom-mixer, docker.io/someuser:custom-mixer
	Image string `protobuf:"bytes,8,opt,name=image,proto3" json:"image,omitempty"`
	// LoadSheddingConfig configs when mixer starts rejecting grpc requests.
	Loadshedding *LoadSheddingConfig `protobuf:"bytes,9,opt,name=loadshedding,proto3" json:"loadshedding,omitempty"`
	// K8s node selector.
	//
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	NodeSelector map[string]interface{} `protobuf:"bytes,10,opt,name=nodeSelector,proto3" json:"nodeSelector,omitempty"` // Deprecated: Do not use.
	// K8s annotations to attach to mixer telemetry deployment
	//
	// See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
	PodAnnotations map[string]interface{} `protobuf:"bytes,11,opt,name=podAnnotations,proto3" json:"podAnnotations,omitempty"` // Deprecated: Do not use.
	// Number of replicas in the Mixer Telemetry Deployment.
	ReplicaCount uint32 `protobuf:"varint,12,opt,name=replicaCount,proto3" json:"replicaCount,omitempty"` // Deprecated: Do not use.
	// K