// Copyright (C) 2019 Orange
// 
// This software is distributed under the terms and conditions of the 'Apache License 2.0'
// license which can be found in the file 'License.txt' in this package distribution 
// or at 'http://www.apache.org/licenses/LICENSE-2.0'. 

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: simulation.proto

package v1

import (
	context "context"
	fmt "fmt"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	proto "github.com/golang/protobuf/proto"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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

type DataTypes int32

const (
	DataTypes_UNKNOWN DataTypes = 0
	DataTypes_STRING  DataTypes = 1
	DataTypes_INT     DataTypes = 2
	DataTypes_FLOAT   DataTypes = 3
)

var DataTypes_name = map[int32]string{
	0: "UNKNOWN",
	1: "STRING",
	2: "INT",
	3: "FLOAT",
}

var DataTypes_value = map[string]int32{
	"UNKNOWN": 0,
	"STRING":  1,
	"INT":     2,
	"FLOAT":   3,
}

func (x DataTypes) String() string {
	return proto.EnumName(DataTypes_name, int32(x))
}

func (DataTypes) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_961a558581160483, []int{0}
}

type SimulationByHardwareRequest struct {
	EquipType            string              `protobuf:"bytes,1,opt,name=equip_type,json=equipType,proto3" json:"equip_type,omitempty"`
	EquipId              string              `protobuf:"bytes,2,opt,name=equip_id,json=equipId,proto3" json:"equip_id,omitempty"`
	Attributes           []*EquipAttribute   `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty"`
	MetricDetails        []*SimMetricDetails `protobuf:"bytes,4,rep,name=metric_details,json=metricDetails,proto3" json:"metric_details,omitempty"`
	Scope                string              `protobuf:"bytes,5,opt,name=scope,proto3" json:"scope,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

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

var xxx_messageInfo_SimulationByHardwareRequest proto.InternalMessageInfo

func (m *SimulationByHardwareRequest) GetEquipType() string {
	if m != nil {
		return m.EquipType
	}
	return ""
}

func (m *SimulationByHardwareRequest) GetEquipId() string {
	if m != nil {
		return m.EquipId
	}
	return ""
}

func (m *SimulationByHardwareRequest) GetAttributes() []*EquipAttribute {
	if m != nil {
		return m.Attributes
	}
	return nil
}

func (m *SimulationByHardwareRequest) GetMetricDetails() []*SimMetricDetails {
	if m != nil {
		return m.MetricDetails
	}
	return nil
}

func (m *SimulationByHardwareRequest) GetScope() string {
	if m != nil {
		return m.Scope
	}
	return ""
}

type SimulationByHardwareResponse struct {
	SimulationResult     []*SimulatedProductsLicenses `protobuf:"bytes,1,rep,name=simulation_result,json=simulationResult,proto3" json:"simulation_result,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

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

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

var xxx_messageInfo_SimulationByHardwareResponse proto.InternalMessageInfo

func (m *SimulationByHardwareResponse) GetSimulationResult() []*SimulatedProductsLicenses {
	if m != nil {
		return m.SimulationResult
	}
	return nil
}

type SimulatedProductsLicenses struct {
	Success              bool                       `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Licenses             []*SimulatedProductLicense `protobuf:"bytes,2,rep,name=licenses,proto3" json:"licenses,omitempty"`
	SimFailureReason     string                     `protobuf:"bytes,3,opt,name=sim_failure_reason,json=simFailureReason,proto3" json:"sim_failure_reason,omitempty"`
	MetricName           string                     `protobuf:"bytes,4,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

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

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

var xxx_messageInfo_SimulatedProductsLicenses proto.InternalMessageInfo

func (m *SimulatedProductsLicenses) GetSuccess() bool {
	if m != nil {
		return m.Success
	}
	return false
}

func (m *SimulatedProductsLicenses) GetLicenses() []*SimulatedProductLicense {
	if m != nil {
		return m.Licenses
	}
	return nil
}

func (m *SimulatedProductsLicenses) GetSimFailureReason() string {
	if m != nil {
		return m.SimFailureReason
	}
	return ""
}

func (m *SimulatedProductsLicenses) GetMetricName() string {
	if m != nil {
		return m.MetricName
	}
	return ""
}

type SimulatedProductLicense struct {
	OldLicences          int64    `protobuf:"varint,2,opt,name=old_licences,json=oldLicences,proto3" json:"old_licences,omitempty"`
	NewLicenses          int64    `protobuf:"varint,3,opt,name=new_licenses,json=newLicenses,proto3" json:"new_licenses,omitempty"`
	Delta                int64    `protobuf:"varint,4,opt,name=delta,proto3" json:"delta,omitempty"`
	SwidTag              string   `protobuf:"bytes,5,opt,name=swid_tag,json=swidTag,proto3" json:"swid_tag,omitempty"`
	ProductName          string   `protobuf:"bytes,6,opt,name=product_name,json=productName,proto3" json:"product_name,omitempty"`
	Editor               string   `protobuf:"bytes,7,opt,name=editor,proto3" json:"editor,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_SimulatedProductLicense proto.InternalMessageInfo

func (m *SimulatedProductLicense) GetOldLicences() int64 {
	if m != nil {
		return m.OldLicences
	}
	return 0
}

func (m *SimulatedProductLicense) GetNewLicenses() int64 {
	if m != nil {
		return m.NewLicenses
	}
	return 0
}

func (m *SimulatedProductLicense) GetDelta() int64 {
	if m != nil {
		return m.Delta
	}
	return 0
}

func (m *SimulatedProductLicense) GetSwidTag() string {
	if m != nil {
		return m.SwidTag
	}
	return ""
}

func (m *SimulatedProductLicense) GetProductName() string {
	if m != nil {
		return m.ProductName
	}
	return ""
}

func (m *SimulatedProductLicense) GetEditor() string {
	if m != nil {
		return m.Editor
	}
	return ""
}

type SimMetricDetails struct {
	MetricType           string   `protobuf:"bytes,1,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"`
	MetricName           string   `protobuf:"bytes,2,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_SimMetricDetails proto.InternalMessageInfo

func (m *SimMetricDetails) GetMetricType() string {
	if m != nil {
		return m.MetricType
	}
	return ""
}

func (m *SimMetricDetails) GetMetricName() string {
	if m != nil {
		return m.MetricName
	}
	return ""
}

type EquipAttribute struct {
	ID               string    `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name             string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	DataType         DataTypes `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=optisam.simulation.v1.DataTypes" json:"data_type,omitempty"`
	PrimaryKey       bool      `protobuf:"varint,4,opt,name=primary_key,json=primaryKey,proto3" json:"primary_key,omitempty"`
	Displayed        bool      `protobuf:"varint,5,opt,name=displayed,proto3" json:"displayed,omitempty"`
	Searchable       bool      `protobuf:"varint,6,opt,name=searchable,proto3" json:"searchable,omitempty"`
	ParentIdentifier bool      `protobuf:"varint,7,opt,name=parent_identifier,json=parentIdentifier,proto3" json:"parent_identifier,omitempty"`
	MappedTo         string    `protobuf:"bytes,8,opt,name=mapped_to,json=mappedTo,proto3" json:"mapped_to,omitempty"`
	Simulated        bool      `protobuf:"varint,9,opt,name=simulated,proto3" json:"simulated,omitempty"`
	// Types that are valid to be assigned to Val:
	//	*EquipAttribute_IntVal
	//	*EquipAttribute_FloatVal
	//	*EquipAttribute_StringVal
	Val isEquipAttribute_Val `protobuf_oneof:"val"`
	// Types that are valid to be assigned to OldVal:
	//	*EquipAttribute_IntValOld
	//	*EquipAttribute_FloatValOld
	//	*EquipAttribute_StringValOld
	OldVal               isEquipAttribute_OldVal `protobuf_oneof:"old_val"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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

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

var xxx_messageInfo_EquipAttribute proto.InternalMessageInfo

func (m *EquipAttribute) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

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

func (m *EquipAttribute) GetDataType() DataTypes {
	if m != nil {
		return m.DataType
	}
	return DataTypes_UNKNOWN
}

func (m *EquipAttribute) GetPrimaryKey() bool {
	if m != nil {
		return m.PrimaryKey
	}
	return false
}

func (m *EquipAttribute) GetDisplayed() bool {
	if m != nil {
		return m.Displayed
	}
	return false
}

func (m *EquipAttribute) GetSearchable() bool {
	if m != nil {
		return m.Searchable
	}
	return false
}

func (m *EquipAttribute) GetParentIdentifier() bool {
	if m != nil {
		return m.ParentIdentifier
	}
	return false
}

func (m *EquipAttribute) GetMappedTo() string {
	if m != nil {
		return m.MappedTo
	}
	return ""
}

func (m *EquipAttribute) GetSimulated() bool {
	if m != nil {
		return m.Simulated
	}
	return false
}

type isEquipAttribute_Val interface {
	isEquipAttribute_Val()
}

type EquipAttribute_IntVal struct {
	IntVal int32 `protobuf:"varint,10,opt,name=int_val,json=intVal,proto3,oneof"`
}

type EquipAttribute_FloatVal struct {
	FloatVal float32 `protobuf:"fixed32,11,opt,name=float_val,json=floatVal,proto3,oneof"`
}

type EquipAttribute_StringVal struct {
	StringVal string `protobuf:"bytes,12,opt,name=string_val,json=stringVal,proto3,oneof"`
}

func (*EquipAttribute_IntVal) isEquipAttribute_Val() {}

func (*EquipAttribute_FloatVal) isEquipAttribute_Val() {}

func (*EquipAttribute_StringVal) isEquipAttribute_Val() {}

func (m *EquipAttribute) GetVal() isEquipAttribute_Val {
	if m != nil {
		return m.Val
	}
	return nil
}

func (m *EquipAttribute) GetIntVal() int32 {
	if x, ok := m.GetVal().(*EquipAttribute_IntVal); ok {
		return x.IntVal
	}
	return 0
}

func (m *EquipAttribute) GetFloatVal() float32 {
	if x, ok := m.GetVal().(*EquipAttribute_FloatVal); ok {
		return x.FloatVal
	}
	return 0
}

func (m *EquipAttribute) GetStringVal() string {
	if x, ok := m.GetVal().(*EquipAttribute_StringVal); ok {
		return x.StringVal
	}
	return ""
}

type isEquipAttribute_OldVal interface {
	isEquipAttribute_OldVal()
}

type EquipAttribute_IntValOld struct {
	IntValOld int32 `protobuf:"varint,13,opt,name=int_val_old,json=intValOld,proto3,oneof"`
}

type EquipAttribute_FloatValOld struct {
	FloatValOld float32 `protobuf:"fixed32,14,opt,name=float_val_old,json=floatValOld,proto3,oneof"`
}

type EquipAttribute_StringValOld struct {
	StringValOld string `protobuf:"bytes,15,opt,name=string_val_old,json=stringValOld,proto3,oneof"`
}

func (*EquipAttribute_IntValOld) isEquipAttribute_OldVal() {}

func (*EquipAttribute_FloatValOld) isEquipAttribute_OldVal() {}

func (*EquipAttribute_StringValOld) isEquipAttribute_OldVal() {}

func (m *EquipAttribute) GetOldVal() isEquipAttribute_OldVal {
	if m != nil {
		return m.OldVal
	}
	return nil
}

func (m *EquipAttribute) GetIntValOld() int32 {
	if x, ok := m.GetOldVal().(*EquipAttribute_IntValOld); ok {
		return x.IntValOld
	}
	return 0
}

func (m *EquipAttribute) GetFloatValOld() float32 {
	if x, ok := m.GetOldVal().(*EquipAttribute_FloatValOld); ok {
		return x.FloatValOld
	}
	return 0
}

func (m *EquipAttribute) GetStringValOld() string {
	if x, ok := m.GetOldVal().(*EquipAttribute_StringValOld); ok {
		return x.StringValOld
	}
	return ""
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*EquipAttribute) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*EquipAttribute_IntVal)(nil),
		(*EquipAttribute_FloatVal)(nil),
		(*EquipAttribute_StringVal)(nil),
		(*EquipAttribute_IntValOld)(nil),
		(*EquipAttribute_FloatValOld)(nil),
		(*EquipAttribute_StringValOld)(nil),
	}
}

type SimulationByMetricRequest struct {
	SwidTag              string              `protobuf:"bytes,1,opt,name=swid_tag,json=swidTag,proto3" json:"swid_tag,omitempty"`
	MetricDetails        []*MetricSimDetails `protobuf:"bytes,2,rep,name=metric_details,json=metricDetails,proto3" json:"metric_details,omitempty"`
	Scope                string              `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

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

var xxx_messageInfo_SimulationByMetricRequest proto.InternalMessageInfo

func (m *SimulationByMetricRequest) GetSwidTag() string {
	if m != nil {
		return m.SwidTag
	}
	return ""
}

func (m *SimulationByMetricRequest) GetMetricDetails() []*MetricSimDetails {
	if m != nil {
		return m.MetricDetails
	}
	return nil
}

func (m *SimulationByMetricRequest) GetScope() string {
	if m != nil {
		return m.Scope
	}
	return ""
}

type MetricSimDetails struct {
	MetricName           string   `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	UnitCost             float64  `protobuf:"fixed64,2,opt,name=unit_cost,json=unitCost,proto3" json:"unit_cost,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_MetricSimDetails proto.InternalMessageInfo

func (m *MetricSimDetails) GetMetricName() string {
	if m != nil {
		return m.MetricName
	}
	return ""
}

func (m *MetricSimDetails) GetUnitCost() float64 {
	if m != nil {
		return m.UnitCost
	}
	return 0
}

type SimulationByMetricResponse struct {
	MetricSimResult      []*MetricSimulationResult `protobuf:"bytes,1,rep,name=metric_sim_result,json=metricSimResult,proto3" json:"metric_sim_result,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

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

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

var xxx_messageInfo_SimulationByMetricResponse proto.InternalMessageInfo

func (m *SimulationByMetricResponse) GetMetricSimResult() []*MetricSimulationResult {
	if m != nil {
		return m.MetricSimResult
	}
	return nil
}

type MetricSimulationResult struct {
	Success              bool     `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	NumCptLicences       uint64   `protobuf:"varint,2,opt,name=num_cpt_licences,json=numCptLicences,proto3" json:"num_cpt_licences,omitempty"`
	TotalCost            float64  `protobuf:"fixed64,3,opt,name=total_cost,json=totalCost,proto3" json:"total_cost,omitempty"`
	MetricName           string   `protobuf:"bytes,4,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	SimFailureReason     string   `protobuf:"bytes,5,opt,name=sim_failure_reason,json=simFailureReason,proto3" json:"sim_failure_reason,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_MetricSimulationResult proto.InternalMessageInfo

func (m *MetricSimulationResult) GetSuccess() bool {
	if m != nil {
		return m.Success
	}
	return false
}

func (m *MetricSimulationResult) GetNumCptLicences() uint64 {
	if m != nil {
		return m.NumCptLicences
	}
	return 0
}

func (m *MetricSimulationResult) GetTotalCost() float64 {
	if m != nil {
		return m.TotalCost
	}
	return 0
}

func (m *MetricSimulationResult) GetMetricName() string {
	if m != nil {
		return m.MetricName
	}
	return ""
}

func (m *MetricSimulationResult) GetSimFailureReason() string {
	if m != nil {
		return m.SimFailureReason
	}
	return ""
}

type GetConfigDataRequest struct {
	ConfigId             int32    `protobuf:"varint,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
	MetadataId           int32    `protobuf:"varint,2,opt,name=metadata_id,json=metadataId,proto3" json:"metadata_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetConfigDataRequest proto.InternalMessageInfo

func (m *GetConfigDataRequest) GetConfigId() int32 {
	if m != nil {
		return m.ConfigId
	}
	return 0
}

func (m *GetConfigDataRequest) GetMetadataId() int32 {
	if m != nil {
		return m.MetadataId
	}
	return 0
}

type GetConfigDataResponse struct {
	Data                 []byte   `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetConfigDataResponse proto.InternalMessageInfo

func (m *GetConfigDataResponse) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

type ListConfigRequest struct {
	EquipmentType        string   `protobuf:"bytes,1,opt,name=equipment_type,json=equipmentType,proto3" json:"equipment_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_ListConfigRequest proto.InternalMessageInfo

func (m *ListConfigRequest) GetEquipmentType() string {
	if m != nil {
		return m.EquipmentType
	}
	return ""
}

type ListConfigResponse struct {
	Configurations       []*Configuration `protobuf:"bytes,1,rep,name=configurations,proto3" json:"configurations,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

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

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

var xxx_messageInfo_ListConfigResponse proto.InternalMessageInfo

func (m *ListConfigResponse) GetConfigurations() []*Configuration {
	if m != nil {
		return m.Configurations
	}
	return nil
}

type Configuration struct {
	ConfigId             int32                `protobuf:"varint,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
	ConfigName           string               `protobuf:"bytes,2,opt,name=config_name,json=configName,proto3" json:"config_name,omitempty"`
	EquipmentType        string               `protobuf:"bytes,3,opt,name=equipment_type,json=equipmentType,proto3" json:"equipment_type,omitempty"`
	CreatedBy            string               `protobuf:"bytes,4,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	CreatedOn            *timestamp.Timestamp `protobuf:"bytes,5,opt,name=created_on,json=createdOn,proto3" json:"created_on,omitempty"`
	ConfigAttributes     []*Attribute         `protobuf:"bytes,6,rep,name=config_attributes,json=configAttributes,proto3" json:"config_attributes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

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

var xxx_messageInfo_Configuration proto.InternalMessageInfo

func (m *Configuration) GetConfigId() int32 {
	if m != nil {
		return m.ConfigId
	}
	return 0
}

func (m *Configuration) GetConfigName() string {
	if m != nil {
		return m.ConfigName
	}
	return ""
}

func (m *Configuration) GetEquipmentType() string {
	if m != nil {
		return m.EquipmentType
	}
	return ""
}

func (m *Configuration) GetCreatedBy() string {
	if m != nil {
		return m.CreatedBy
	}
	return ""
}

func (m *Configuration) GetCreatedOn() *timestamp.Timestamp {
	if m != nil {
		return m.CreatedOn
	}
	return nil
}

func (m *Configuration) GetConfigAttributes() []*Attribute {
	if m != nil {
		return m.ConfigAttributes
	}
	return nil
}

type Attribute struct {
	AttributeId          int32    `protobuf:"varint,1,opt,name=attribute_id,json=attributeId,proto3" json:"attribute_id,omitempty"`
	AttributeName        string   `protobuf:"bytes,2,opt,name=attribute_name,json=attributeName,proto3" json:"attribute_name,omitempty"`
	ConfigFilename       string   `protobuf:"bytes,3,opt,name=config_filename,json=configFilename,proto3" json:"config_filename,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Attribute proto.InternalMessageInfo

func (m *Attribute) GetAttributeId() int32 {
	if m != nil {
		return m.AttributeId
	}
	return 0
}

func (m *Attribute) GetAttributeName() string {
	if m != nil {
		return m.AttributeName
	}
	return ""
}

func (m *Attribute) GetConfigFilename() string {
	if m != nil {
		return m.ConfigFilename
	}
	return ""
}

type DeleteConfigRequest struct {
	ConfigId             int32    `protobuf:"varint,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DeleteConfigRequest proto.InternalMessageInfo

func (m *DeleteConfigRequest) GetConfigId() int32 {
	if m != nil {
		return m.ConfigId
	}
	return 0
}

type DeleteConfigResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DeleteConfigResponse proto.InternalMessageInfo

type Data struct {
	Metadata             *Metadata      `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
	Values               []*ConfigValue `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_Data proto.InternalMessageInfo

func (m *Data) GetMetadata() *Metadata {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (m *Data) GetValues() []*ConfigValue {
	if m != nil {
		return m.Values
	}
	return nil
}

type CreateConfigRequest struct {
	ConfigName           string   `protobuf:"bytes,1,opt,name=config_name,json=configName,proto3" json:"config_name,omitempty"`
	EquipmentType        string   `protobuf:"bytes,2,opt,name=equipment_type,json=equipmentType,proto3" json:"equipment_type,omitempty"`
	Data                 []*Data  `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_CreateConfigRequest proto.InternalMessageInfo

func (m *CreateConfigRequest) GetConfigName() string {
	if m != nil {
		return m.ConfigName
	}
	return ""
}

func (m *CreateConfigRequest) GetEquipmentType() string {
	if m != nil {
		return m.EquipmentType
	}
	return ""
}

func (m *CreateConfigRequest) GetData() []*Data {
	if m != nil {
		return m.Data
	}
	return nil
}

type ConfigValue struct {
	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_ConfigValue proto.InternalMessageInfo

func (m *ConfigValue) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *ConfigValue) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

type CreateConfigResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_CreateConfigResponse proto.InternalMessageInfo

type Metadata struct {
	AttributeName        string   `protobuf:"bytes,1,opt,name=attribute_name,json=attributeName,proto3" json:"attribute_name,omitempty"`
	ConfigFilename       string   `protobuf:"bytes,2,opt,name=config_filename,json=configFilename,proto3" json:"config_filename,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Metadata proto.InternalMessageInfo

func (m *Metadata) GetAttributeName() string {
	if m != nil {
		return m.AttributeName
	}
	return ""
}

func (m *Metadata) GetConfigFilename() string {
	if m != nil {
		return m.ConfigFilename
	}
	return ""
}

type UpdateConfigRequest struct {
	ConfigId             int32    `protobuf:"varint,1,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
	DeletedMetadataIds   []int32  `protobuf:"varint,2,rep,packed,name=deleted_metadata_ids,json=deletedMetadataIds,proto3" json:"deleted_metadata_ids,omitempty"`
	Data                 []*Data  `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_UpdateConfigRequest proto.InternalMessageInfo

func (m *UpdateConfigRequest) GetConfigId() int32 {
	if m != nil {
		return m.ConfigId
	}
	return 0
}

func (m *UpdateConfigRequest) GetDeletedMetadataIds() []int32 {
	if m != nil {
		return m.DeletedMetadataIds
	}
	return nil
}

func (m *UpdateConfigRequest) GetData() []*Data {
	if m != nil {
		return m.Data
	}
	return nil
}

type UpdateConfigResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_UpdateConfigResponse proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("optisam.simulation.v1.DataTypes", DataTypes_name, DataTypes_value)
	proto.RegisterType((*SimulationByHardwareRequest)(nil), "optisam.simulation.v1.SimulationByHardwareRequest")
	proto.RegisterType((*SimulationByHardwareResponse)(nil), "optisam.simulation.v1.SimulationByHardwareResponse")
	proto.RegisterType((*SimulatedProductsLicenses)(nil), "optisam.simulation.v1.SimulatedProductsLicenses")
	proto.RegisterType((*SimulatedProductLicense)(nil), "optisam.simulation.v1.SimulatedProductLicense")
	proto.RegisterType((*SimMetricDetails)(nil), "optisam.simulation.v1.SimMetricDetails")
	proto.RegisterType((*EquipAttribute)(nil), "optisam.simulation.v1.EquipAttribute")
	proto.RegisterType((*SimulationByMetricRequest)(nil), "optisam.simulation.v1.SimulationByMetricRequest")
	proto.RegisterType((*MetricSimDetails)(nil), "optisam.simulation.v1.MetricSimDetails")
	proto.RegisterType((*SimulationByMetricResponse)(nil), "optisam.simulation.v1.SimulationByMetricResponse")
	proto.RegisterType((*MetricSimulationResult)(nil), "optisam.simulation.v1.MetricSimulationResult")
	proto.RegisterType((*GetConfigDataRequest)(nil), "optisam.simulation.v1.GetConfigDataRequest")
	proto.RegisterType((*GetConfigDataResponse)(nil), "optisam.simulation.v1.GetConfigDataResponse")
	proto.RegisterType((*ListConfigRequest)(nil), "optisam.simulation.v1.ListConfigRequest")
	proto.RegisterType((*ListConfigResponse)(nil), "optisam.simulation.v1.ListConfigResponse")
	proto.RegisterType((*Configuration)(nil), "optisam.simulation.v1.Configuration")
	proto.RegisterType((*Attribute)(nil), "optisam.simulation.v1.Attribute")
	proto.RegisterType((*DeleteConfigRequest)(nil), "optisam.simulation.v1.DeleteConfigRequest")
	proto.RegisterType((*DeleteConfigResponse)(nil), "optisam.simulation.v1.DeleteConfigResponse")
	proto.RegisterType((*Data)(nil), "optisam.simulation.v1.Data")
	proto.RegisterType((*CreateConfigRequest)(nil), "optisam.simulation.v1.CreateConfigRequest")
	proto.RegisterType((*ConfigValue)(nil), "optisam.simulation.v1.ConfigValue")
	proto.RegisterType((*CreateConfigResponse)(nil), "optisam.simulation.v1.CreateConfigResponse")
	proto.RegisterType((*Metadata)(nil), "optisam.simulation.v1.Metadata")
	proto.RegisterType((*UpdateConfigRequest)(nil), "optisam.simulation.v1.UpdateConfigRequest")
	proto.RegisterType((*UpdateConfigResponse)(nil), "optisam.simulation.v1.UpdateConfigResponse")
}

func init() {
	proto.RegisterFile("simulation.proto", fileDescriptor_961a558581160483)
}

var fileDescriptor_961a558581160483 = []byte{
	// 1707 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x4f, 0x6f, 0x1b, 0xc7,
	0x15, 0xd7, 0x92, 0xa2, 0xc8, 0x7d, 0xa4, 0x68, 0x6a, 0xac, 0xc8, 0x6b, 0xca, 0x8e, 0x95, 0x85,
	0x93, 0x28, 0x52, 0x24, 0xda, 0x34, 0x0a, 0x34, 0xee, 0xc9, 0x94, 0xe2, 0x98, 0xb5, 0x2c, 0x05,
	0x23, 0x26, 0x45, 0x9d, 0xb8, 0x8b, 0x11, 0x77, 0xa4, 0x0c, 0xba, 0xff, 0xb2, 0x3b, 0xa4, 0xc0,
	0x1a, 0x6e, 0x81, 0x5c, 0x0b, 0xf4, 0x52, 0xf4, 0x50, 0xa0, 0x45, 0x8f, 0x3d, 0xf7, 0x0b, 0xf4,
	0x03, 0xb4, 0x97, 0x02, 0x3d, 0xf7, 0xd6, 0x4f, 0xe1, 0x53, 0x30, 0x7f, 0xb8, 0x5c, 0x52, 0x5c,
	0x49, 0xbe, 0x71, 0xde, 0x9f, 0x79, 0xbf, 0xf9, 0xbd, 0x37, 0x6f, 0xde, 0x12, 0x1a, 0x09, 0xf3,
	0x07, 0x1e, 0xe1, 0x2c, 0x0c, 0x76, 0xa3, 0x38, 0xe4, 0x21, 0x7a, 0x2f, 0x8c, 0x38, 0x4b, 0x88,
	0xbf, 0x9b, 0xd1, 0x0c, 0x1f, 0x36, 0xef, 0x9c, 0x85, 0xe1, 0x99, 0x47, 0x5b, 0x24, 0x62, 0x2d,
	0x12, 0x04, 0x21, 0x97, 0x9a, 0x44, 0x39, 0x35, 0xef, 0x69, 0xad, 0x5c, 0x9d, 0x0c, 0x4e, 0x5b,
	0x9c, 0xf9, 0x34, 0xe1, 0xc4, 0x8f, 0xb4, 0xc1, 0xad, 0x21, 0xf1, 0x98, 0x4b, 0x38, 0x6d, 0x8d,
	0x7f, 0x28, 0x85, 0xfd, 0xe7, 0x02, 0xac, 0x1f, 0xa7, 0x91, 0x3a, 0xa3, 0x67, 0x24, 0x76, 0xcf,
	0x49, 0x4c, 0x31, 0xfd, 0x7e, 0x40, 0x13, 0x8e, 0xee, 0x02, 0xd0, 0xef, 0x07, 0x2c, 0x72, 0xf8,
	0x28, 0xa2, 0x96, 0xb1, 0x61, 0x6c, 0x9a, 0xd8, 0x94, 0x92, 0xde, 0x28, 0xa2, 0xe8, 0x36, 0x54,
	0x94, 0x9a, 0xb9, 0x56, 0x41, 0x2a, 0xcb, 0x72, 0xdd, 0x75, 0xd1, 0xe7, 0x00, 0x84, 0xf3, 0x98,
	0x9d, 0x0c, 0x38, 0x4d, 0xac, 0xe2, 0x46, 0x71, 0xb3, 0xda, 0xfe, 0x70, 0x77, 0xee, 0xe9, 0x76,
	0x3f, 0x17, 0x3e, 0x4f, 0xc6, 0xd6, 0x38, 0xe3, 0x88, 0x0e, 0xa1, 0xee, 0x53, 0x1e, 0xb3, 0xbe,
	0xe3, 0x52, 0x4e, 0x98, 0x97, 0x58, 0x8b, 0x72, 0xab, 0x8f, 0x73, 0xb6, 0x3a, 0x66, 0xfe, 0x0b,
	0x69, 0xbf, 0xaf, 0xcc, 0xf1, 0xb2, 0x9f, 0x5d, 0xa2, 0x4f, 0xa0, 0x94, 0xf4, 0xc3, 0x88, 0x5a,
	0x25, 0x01, 0xb7, 0x73, 0xf3, 0x6d, 0xa7, 0x11, 0xd7, 0xdb, 0xb5, 0x6f, 0x4f, 0xbe, 0x79, 0xb2,
	0xf3, 0xf2, 0xd5, 0xeb, 0x47, 0x6f, 0xbe, 0x3d, 0xc1, 0xca, 0xc2, 0x7e, 0x03, 0x77, 0xe6, 0x53,
	0x93, 0x44, 0x61, 0x90, 0x50, 0xf4, 0x0a, 0x56, 0x26, 0xb1, 0x9d, 0x98, 0x26, 0x03, 0x8f, 0x5b,
	0x86, 0x44, 0xf7, 0x20, 0x1f, 0x9d, 0x58, 0x51, 0xf7, 0xcb, 0x38, 0x74, 0x07, 0x7d, 0x9e, 0x1c,
	0xb0, 0x3e, 0x0d, 0x12, 0x9a, 0xe0, 0x4c, 0x25, 0x60, 0xb9, 0x93, 0xfd, 0x1f, 0x03, 0x6e, 0xe7,
	0xda, 0x23, 0x0b, 0xca, 0xc9, 0xa0, 0xdf, 0xa7, 0x49, 0x22, 0xb3, 0x52, 0xc1, 0xe3, 0x25, 0xfa,
	0x39, 0x54, 0x3c, 0x6d, 0x65, 0x15, 0x24, 0x9a, 0xdd, 0x6b, 0xa2, 0xd1, 0x9b, 0xe3, 0xd4, 0x1f,
	0x7d, 0x0a, 0x28, 0x61, 0xbe, 0x73, 0x4a, 0x98, 0x37, 0x88, 0xa9, 0x13, 0x53, 0x92, 0x84, 0x81,
	0x55, 0x94, 0x99, 0x16, 0x88, 0x9f, 0x2a, 0x05, 0x96, 0x72, 0x74, 0x0f, 0xaa, 0x3a, 0x57, 0x01,
	0xf1, 0xa9, 0xb5, 0x28, 0xcd, 0x40, 0x89, 0x0e, 0x89, 0x4f, 0xed, 0x7f, 0x1b, 0x70, 0x2b, 0x27,
	0x28, 0xfa, 0x00, 0x6a, 0xa1, 0xe7, 0x3a, 0x32, 0x74, 0x5f, 0x42, 0x37, 0x36, 0x8b, 0xb8, 0x1a,
	0x7a, 0xee, 0x81, 0x16, 0x09, 0x93, 0x80, 0x9e, 0x3b, 0xe9, 0xe9, 0x8a, 0xca, 0x24, 0xa0, 0xe7,
	0x29, 0x2d, 0xab, 0x50, 0x72, 0xa9, 0xc7, 0x89, 0x0c, 0x5e, 0xc4, 0x6a, 0x21, 0xca, 0x34, 0x39,
	0x67, 0xae, 0xc3, 0xc9, 0x99, 0xca, 0x3b, 0x2e, 0x8b, 0x75, 0x8f, 0x9c, 0x89, 0x3d, 0x23, 0x05,
	0x44, 0x81, 0x5e, 0x92, 0xea, 0xaa, 0x96, 0x09, 0xd4, 0x68, 0x0d, 0x96, 0xa8, 0xcb, 0x78, 0x18,
	0x5b, 0x65, 0xa9, 0xd4, 0x2b, 0xbb, 0x07, 0x8d, 0xd9, 0x6a, 0xcb, 0x50, 0x90, 0xb9, 0x30, 0x9a,
	0x02, 0x79, 0x63, 0x66, 0x38, 0x2a, 0x5c, 0xe0, 0xe8, 0x9f, 0x8b, 0x50, 0x9f, 0xbe, 0x0f, 0xa8,
	0x0e, 0x85, 0xee, 0xbe, 0xde, 0xab, 0xd0, 0xdd, 0x47, 0xdb, 0xb0, 0x38, 0x71, 0xee, 0xdc, 0x7a,
	0xdb, 0x59, 0x8d, 0x51, 0xbb, 0xf1, 0xab, 0x6f, 0x76, 0x9c, 0x27, 0x3b, 0x2f, 0xc9, 0xce, 0x6f,
	0x1e, 0xec, 0x7c, 0xf6, 0x6a, 0xfb, 0x3e, 0x96, 0x46, 0xe8, 0x39, 0x98, 0x2e, 0xe1, 0x44, 0xe1,
	0x11, 0x8c, 0xd5, 0xdb, 0x1b, 0x39, 0xf5, 0xb0, 0x4f, 0x38, 0x11, 0x20, 0x93, 0x4e, 0xed, 0x6d,
	0xc7, 0xfc, 0xc1, 0x58, 0xb2, 0x0c, 0xab, 0x60, 0x15, 0x71, 0xc5, 0xd5, 0x0a, 0x81, 0x3e, 0x8a,
	0x99, 0x4f, 0xe2, 0x91, 0xf3, 0x6b, 0x3a, 0x92, 0x24, 0x57, 0x30, 0x68, 0xd1, 0x73, 0x3a, 0x42,
	0x77, 0xc0, 0x74, 0x59, 0x12, 0x79, 0x64, 0x44, 0x5d, 0x49, 0x75, 0x05, 0x4f, 0x04, 0xe8, 0x7d,
	0x80, 0x84, 0x92, 0xb8, 0xff, 0x1d, 0x39, 0xf1, 0x14, 0xd5, 0x15, 0x9c, 0x91, 0xa0, 0x6d, 0x58,
	0x89, 0x48, 0x4c, 0x03, 0xee, 0x30, 0x97, 0x06, 0x9c, 0x9d, 0x32, 0xaa, 0x48, 0xaf, 0xe0, 0x86,
	0x52, 0x74, 0x53, 0x39, 0x5a, 0x07, 0xd3, 0x27, 0x51, 0x44, 0x5d, 0x87, 0x87, 0x56, 0x45, 0x92,
	0x53, 0x51, 0x82, 0x5e, 0x28, 0x70, 0x24, 0xe3, 0x42, 0xb3, 0x4c, 0x85, 0x23, 0x15, 0xa0, 0xdb,
	0x50, 0x66, 0x01, 0x77, 0x86, 0xc4, 0xb3, 0x60, 0xc3, 0xd8, 0x2c, 0x3d, 0x5b, 0xc0, 0x4b, 0x2c,
	0xe0, 0x5f, 0x13, 0x0f, 0xdd, 0x05, 0xf3, 0xd4, 0x0b, 0x89, 0x52, 0x56, 0x37, 0x8c, 0xcd, 0xc2,
	0xb3, 0x05, 0x5c, 0x91, 0x22, 0xa1, 0xbe, 0x07, 0x90, 0xf0, 0x98, 0x05, 0x67, 0x52, 0x5f, 0x13,
	0x51, 0x9f, 0x2d, 0x60, 0x53, 0xc9, 0x84, 0xc1, 0x06, 0x54, 0xf5, 0xd6, 0x4e, 0xe8, 0xb9, 0xd6,
	0xb2, 0xdc, 0xde, 0xc0, 0xa6, 0xda, 0xfe, 0xc8, 0x73, 0xd1, 0x7d, 0x58, 0x4e, 0x23, 0x48, 0x9b,
	0xba, 0x8c, 0x62, 0xe0, 0xea, 0x38, 0x8a, 0xb0, 0xfa, 0x08, 0xea, 0x93, 0x40, 0xd2, 0xec, 0x86,
	0x0c, 0x66, 0xe0, 0x5a, 0x1a, 0xec, 0xc8, 0x73, 0x3b, 0x25, 0x28, 0x0e, 0x89, 0xd7, 0x31, 0xa1,
	0x2c, 0x6e, 0xcf, 0x90, 0x78, 0xf6, 0x3f, 0x26, 0x7d, 0x43, 0xf6, 0x2d, 0x55, 0xa0, 0xe3, 0x86,
	0x9e, 0xbd, 0x0a, 0xc6, 0xf4, 0x55, 0xb8, 0xd8, 0x6a, 0x0b, 0x97, 0xb6, 0x5a, 0xb5, 0xf1, 0x31,
	0xf3, 0xaf, 0x6a, 0xb5, 0xc5, 0x2b, 0x5b, 0xed, 0x97, 0xd0, 0x98, 0xdd, 0x6d, 0xf6, 0xa6, 0x18,
	0xb3, 0x37, 0x45, 0x14, 0xc0, 0x20, 0x60, 0xdc, 0xe9, 0x87, 0x09, 0x97, 0x77, 0xc1, 0xc0, 0x15,
	0x21, 0xd8, 0x0b, 0x13, 0x6e, 0x9f, 0x43, 0x73, 0x1e, 0x09, 0xba, 0x75, 0xff, 0x12, 0x56, 0xf4,
	0xde, 0xa2, 0xbd, 0x4d, 0xb5, 0xee, 0x9d, 0xab, 0x4e, 0x3b, 0xd5, 0xa5, 0xf1, 0x0d, 0x7f, 0x2c,
	0xd7, 0x6d, 0xfb, 0x5f, 0x06, 0xac, 0xcd, 0xb7, 0xbd, 0xa4, 0x67, 0x6f, 0x42, 0x23, 0x18, 0xf8,
	0x4e, 0x3f, 0xe2, 0xd3, 0x0d, 0x70, 0x11, 0xd7, 0x83, 0x81, 0xbf, 0x17, 0xf1, 0xb4, 0x07, 0xde,
	0x05, 0xe0, 0x21, 0x27, 0x9e, 0x3a, 0x75, 0x51, 0x9e, 0xda, 0x94, 0x12, 0x71, 0xec, 0x2b, 0x5b,
	0x70, 0x4e, 0x47, 0x2f, 0xcd, 0xef, 0xe8, 0x76, 0x0f, 0x56, 0xbf, 0xa0, 0x7c, 0x2f, 0x0c, 0x4e,
	0xd9, 0x99, 0xe8, 0x0e, 0xe3, 0x2a, 0x5a, 0x07, 0xb3, 0x2f, 0x85, 0xe2, 0xe1, 0x17, 0x67, 0x29,
	0xe1, 0x8a, 0x12, 0x74, 0x5d, 0x8d, 0x81, 0xc8, 0xae, 0xa3, 0xe7, 0x82, 0x92, 0xc4, 0x20, 0x45,
	0x5d, 0xd7, 0xde, 0x86, 0xf7, 0x66, 0x76, 0xd5, 0x69, 0x41, 0xb0, 0x28, 0x4c, 0xe4, 0x8e, 0x35,
	0x2c, 0x7f, 0xdb, 0x8f, 0x61, 0xe5, 0x80, 0x25, 0xda, 0x7a, 0x1c, 0xff, 0x43, 0xa8, 0xcb, 0x39,
	0xc3, 0x17, 0xbd, 0x22, 0xd3, 0x69, 0x97, 0x53, 0xa9, 0x68, 0x57, 0xf6, 0x09, 0xa0, 0xac, 0xaf,
	0x8e, 0x72, 0x00, 0x75, 0x85, 0x75, 0x10, 0xab, 0x29, 0x4a, 0x67, 0xfe, 0x7e, 0x4e, 0xe6, 0xf7,
	0xb2, 0xc6, 0x78, 0xc6, 0xd7, 0xfe, 0x6b, 0x01, 0x96, 0xa7, 0x2c, 0xae, 0x24, 0x47, 0x2b, 0xb3,
	0xfd, 0x5f, 0x89, 0x64, 0x82, 0x2e, 0x1e, 0xad, 0x38, 0xe7, 0x68, 0xa2, 0x0e, 0xfa, 0x31, 0x15,
	0xdd, 0xcc, 0x39, 0x19, 0xe9, 0x3c, 0x9b, 0x5a, 0xd2, 0x19, 0xa1, 0xcf, 0x26, 0x6a, 0x9d, 0xde,
	0x6a, 0xbb, 0xb9, 0xab, 0xc6, 0xc4, 0xdd, 0xf1, 0x98, 0xb8, 0xdb, 0x1b, 0x8f, 0x89, 0xa9, 0xeb,
	0x51, 0x80, 0x5e, 0xc0, 0x8a, 0x46, 0x98, 0x99, 0xdf, 0x96, 0x24, 0x43, 0x79, 0x0f, 0xc7, 0x64,
	0x74, 0x6b, 0x28, 0xd7, 0x54, 0x90, 0xd8, 0xbf, 0x05, 0x73, 0xf2, 0x92, 0x7d, 0x00, 0xb5, 0x74,
	0xd3, 0x09, 0x3b, 0xd5, 0x54, 0xd6, 0x75, 0xc5, 0xf9, 0x27, 0x26, 0x19, 0x8e, 0x96, 0x53, 0xa9,
	0xa4, 0xe9, 0x63, 0xb8, 0xa1, 0x51, 0x9e, 0x32, 0x8f, 0x4a, 0x3b, 0xc5, 0x93, 0xce, 0xcf, 0x53,
	0x2d, 0xb5, 0xdb, 0x70, 0x73, 0x9f, 0x7a, 0x94, 0xd3, 0xe9, 0x0a, 0xba, 0x2c, 0x49, 0xf6, 0x1a,
	0xac, 0x4e, 0xfb, 0xa8, 0xca, 0xb1, 0x7f, 0x07, 0x8b, 0xa2, 0x5e, 0xd1, 0xcf, 0xa0, 0x32, 0x2e,
	0x67, 0xe9, 0x5b, 0x6d, 0xdf, 0xcb, 0xef, 0x1a, 0xd2, 0x0c, 0xa7, 0x0e, 0xe8, 0x31, 0x2c, 0x0d,
	0x89, 0x37, 0x48, 0xa7, 0x33, 0xfb, 0xd2, 0xb2, 0xfb, 0x5a, 0x98, 0x62, 0xed, 0x61, 0xff, 0xc1,
	0x80, 0x9b, 0x7b, 0x32, 0x53, 0xd3, 0xa7, 0x99, 0xa9, 0x2a, 0xe3, 0x1a, 0x55, 0x55, 0x98, 0x57,
	0x55, 0x2d, 0x7d, 0x01, 0xd5, 0xb8, 0xbe, 0x7e, 0xc9, 0x9c, 0xa0, 0x6f, 0xe7, 0x4f, 0xa0, 0x9a,
	0xc1, 0x89, 0x1a, 0x50, 0x14, 0x73, 0x81, 0x8a, 0x2f, 0x7e, 0x8a, 0x81, 0x4c, 0x62, 0x97, 0xf1,
	0x6a, 0x58, 0x2d, 0x04, 0xc1, 0xd3, 0xc7, 0xd0, 0x04, 0xbf, 0x84, 0xca, 0x98, 0xb1, 0x39, 0x85,
	0x60, 0x5c, 0xb3, 0x10, 0x0a, 0x73, 0x0b, 0xe1, 0x4f, 0x06, 0xdc, 0xfc, 0x2a, 0x72, 0xc9, 0xbb,
	0x54, 0x02, 0x7a, 0x00, 0xab, 0xae, 0xac, 0x04, 0xd7, 0xc9, 0xf4, 0x34, 0x95, 0xba, 0x12, 0x46,
	0x5a, 0xf7, 0x22, 0xed, 0x6d, 0xc9, 0xbb, 0x53, 0xb8, 0x06, 0xab, 0xd3, 0xb0, 0x14, 0x17, 0x5b,
	0x3f, 0x05, 0x33, 0x1d, 0xc8, 0x50, 0x15, 0xca, 0x5f, 0x1d, 0x3e, 0x3f, 0x3c, 0xfa, 0xc5, 0x61,
	0x63, 0x01, 0x01, 0x2c, 0x1d, 0xf7, 0x70, 0xf7, 0xf0, 0x8b, 0x86, 0x81, 0xca, 0x50, 0xec, 0x1e,
	0xf6, 0x1a, 0x05, 0x64, 0x42, 0xe9, 0xe9, 0xc1, 0xd1, 0x93, 0x5e, 0xa3, 0xd8, 0xfe, 0x5f, 0x19,
	0x56, 0x26, 0x8f, 0xcf, 0x31, 0x8d, 0x87, 0xac, 0x4f, 0xd1, 0xef, 0x0d, 0xa8, 0x65, 0xab, 0x1a,
	0x6d, 0xe5, 0x61, 0xbb, 0x78, 0x5d, 0x9a, 0xdb, 0xd7, 0xb2, 0xd5, 0x59, 0xb4, 0x7f, 0xf8, 0xef,
	0xff, 0xff, 0x58, 0xb8, 0xb3, 0xd5, 0x94, 0x9f, 0xab, 0xc3, 0x87, 0x2d, 0x45, 0x67, 0xeb, 0x75,
	0xca, 0xf3, 0x1b, 0xc4, 0xa0, 0x96, 0x3d, 0x75, 0x2e, 0x98, 0x39, 0x19, 0xcb, 0x05, 0x33, 0x8f,
	0x46, 0x7b, 0x41, 0x84, 0xca, 0x16, 0x5b, 0x6e, 0xa8, 0x39, 0x17, 0x2b, 0x37, 0xd4, 0xdc, 0xea,
	0x5d, 0x40, 0x23, 0x80, 0xc9, 0x83, 0x83, 0x36, 0x73, 0x9c, 0x2f, 0xbc, 0x67, 0xcd, 0x4f, 0xae,
	0x61, 0xa9, 0x83, 0xac, 0x49, 0x72, 0x1b, 0xa8, 0x3e, 0x4d, 0x2e, 0xfa, 0x8b, 0x01, 0xcb, 0x53,
	0xaf, 0x2a, 0xca, 0xc3, 0x3e, 0xef, 0x45, 0x6f, 0x7e, 0x7a, 0x3d, 0x63, 0x0d, 0xe2, 0x81, 0x04,
	0xb1, 0x85, 0x36, 0xf3, 0x33, 0xdc, 0x7a, 0x9d, 0xb9, 0x30, 0x6f, 0xd0, 0xdf, 0x0c, 0x40, 0x17,
	0x07, 0x32, 0x74, 0xc5, 0x87, 0xf2, 0xc5, 0x01, 0xb6, 0xf9, 0xf0, 0x1d, 0x3c, 0x34, 0xda, 0xfb,
	0x12, 0xed, 0xfb, 0xf6, 0xed, 0x31, 0xda, 0x89, 0x67, 0x4b, 0x8d, 0x46, 0x8f, 0x8d, 0x2d, 0xf4,
	0x77, 0x03, 0x56, 0xe7, 0x7d, 0xef, 0xa3, 0xf6, 0x35, 0x22, 0xce, 0xfc, 0x6f, 0xd2, 0x7c, 0xf4,
	0x4e, 0x3e, 0x1a, 0xe7, 0x47, 0x12, 0xe7, 0x86, 0xbd, 0x3e, 0x07, 0xe7, 0x77, 0xda, 0xf8, 0xb1,
	0xb1, 0xd5, 0x59, 0x7c, 0x59, 0x18, 0x3e, 0x3c, 0x59, 0x92, 0xcf, 0xf8, 0xa3, 0x1f, 0x03, 0x00,
	0x00, 0xff, 0xff, 0x8f, 0x7d, 0x98, 0xd5, 0x44, 0x12, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// SimulationServiceClient is the client API for SimulationService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type SimulationServiceClient interface {
	DeleteConfig(ctx context.Context, in *DeleteConfigRequest, opts ...grpc.CallOption) (*DeleteConfigResponse, error)
	UpdateConfig(ctx context.Context, in *UpdateConfigRequest, opts ...grpc.CallOption) (*UpdateConfigResponse, error)
	CreateConfig(ctx context.Context, in *CreateConfigRequest, opts ...grpc.CallOption) (*CreateConfigResponse, error)
	ListConfig(ctx context.Context, in *ListConfigRequest, opts ...grpc.CallOption) (*ListConfigResponse, error)
	GetConfigData(ctx context.Context, in *GetConfigDataRequest, opts ...grpc.CallOption) (*GetConfigDataResponse, error)
	SimulationByMetric(ctx context.Context, in *SimulationByMetricRequest, opts ...grpc.CallOption) (*SimulationByMetricResponse, error)
	SimulationByHardware(ctx context.Context, in *SimulationByHardwareRequest, opts ...grpc.CallOption) (*SimulationByHardwareResponse, error)
}

type simulationServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewSimulationServiceClient(cc grpc.ClientConnInterface) SimulationServiceClient {
	return &simulationServiceClient{cc}
}

func (c *simulationServiceClient) DeleteConfig(ctx context.Context, in *DeleteConfigRequest, opts ...grpc.CallOption) (*DeleteConfigResponse, error) {
	out := new(DeleteConfigResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/DeleteConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *simulationServiceClient) UpdateConfig(ctx context.Context, in *UpdateConfigRequest, opts ...grpc.CallOption) (*UpdateConfigResponse, error) {
	out := new(UpdateConfigResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/UpdateConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *simulationServiceClient) CreateConfig(ctx context.Context, in *CreateConfigRequest, opts ...grpc.CallOption) (*CreateConfigResponse, error) {
	out := new(CreateConfigResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/CreateConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *simulationServiceClient) ListConfig(ctx context.Context, in *ListConfigRequest, opts ...grpc.CallOption) (*ListConfigResponse, error) {
	out := new(ListConfigResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/ListConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *simulationServiceClient) GetConfigData(ctx context.Context, in *GetConfigDataRequest, opts ...grpc.CallOption) (*GetConfigDataResponse, error) {
	out := new(GetConfigDataResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/GetConfigData", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *simulationServiceClient) SimulationByMetric(ctx context.Context, in *SimulationByMetricRequest, opts ...grpc.CallOption) (*SimulationByMetricResponse, error) {
	out := new(SimulationByMetricResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/SimulationByMetric", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *simulationServiceClient) SimulationByHardware(ctx context.Context, in *SimulationByHardwareRequest, opts ...grpc.CallOption) (*SimulationByHardwareResponse, error) {
	out := new(SimulationByHardwareResponse)
	err := c.cc.Invoke(ctx, "/optisam.simulation.v1.SimulationService/SimulationByHardware", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// SimulationServiceServer is the server API for SimulationService service.
type SimulationServiceServer interface {
	DeleteConfig(context.Context, *DeleteConfigRequest) (*DeleteConfigResponse, error)
	UpdateConfig(context.Context, *UpdateConfigRequest) (*UpdateConfigResponse, error)
	CreateConfig(context.Context, *CreateConfigRequest) (*CreateConfigResponse, error)
	ListConfig(context.Context, *ListConfigRequest) (*ListConfigResponse, error)
	GetConfigData(context.Context, *GetConfigDataRequest) (*GetConfigDataResponse, error)
	SimulationByMetric(context.Context, *SimulationByMetricRequest) (*SimulationByMetricResponse, error)
	SimulationByHardware(context.Context, *SimulationByHardwareRequest) (*SimulationByHardwareResponse, error)
}

// UnimplementedSimulationServiceServer can be embedded to have forward compatible implementations.
type UnimplementedSimulationServiceServer struct {
}

func (*UnimplementedSimulationServiceServer) DeleteConfig(ctx context.Context, req *DeleteConfigRequest) (*DeleteConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteConfig not implemented")
}
func (*UnimplementedSimulationServiceServer) UpdateConfig(ctx context.Context, req *UpdateConfigRequest) (*UpdateConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateConfig not implemented")
}
func (*UnimplementedSimulationServiceServer) CreateConfig(ctx context.Context, req *CreateConfigRequest) (*CreateConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateConfig not implemented")
}
func (*UnimplementedSimulationServiceServer) ListConfig(ctx context.Context, req *ListConfigRequest) (*ListConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListConfig not implemented")
}
func (*UnimplementedSimulationServiceServer) GetConfigData(ctx context.Context, req *GetConfigDataRequest) (*GetConfigDataResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConfigData not implemented")
}
func (*UnimplementedSimulationServiceServer) SimulationByMetric(ctx context.Context, req *SimulationByMetricRequest) (*SimulationByMetricResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SimulationByMetric not implemented")
}
func (*UnimplementedSimulationServiceServer) SimulationByHardware(ctx context.Context, req *SimulationByHardwareRequest) (*SimulationByHardwareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SimulationByHardware not implemented")
}

func RegisterSimulationServiceServer(s *grpc.Server, srv SimulationServiceServer) {
	s.RegisterService(&_SimulationService_serviceDesc, srv)
}

func _SimulationService_DeleteConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).DeleteConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/DeleteConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).DeleteConfig(ctx, req.(*DeleteConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SimulationService_UpdateConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).UpdateConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/UpdateConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).UpdateConfig(ctx, req.(*UpdateConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SimulationService_CreateConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).CreateConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/CreateConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).CreateConfig(ctx, req.(*CreateConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SimulationService_ListConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).ListConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/ListConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).ListConfig(ctx, req.(*ListConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SimulationService_GetConfigData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetConfigDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).GetConfigData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/GetConfigData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).GetConfigData(ctx, req.(*GetConfigDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SimulationService_SimulationByMetric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SimulationByMetricRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).SimulationByMetric(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/SimulationByMetric",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).SimulationByMetric(ctx, req.(*SimulationByMetricRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _SimulationService_SimulationByHardware_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SimulationByHardwareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SimulationServiceServer).SimulationByHardware(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/optisam.simulation.v1.SimulationService/SimulationByHardware",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SimulationServiceServer).SimulationByHardware(ctx, req.(*SimulationByHardwareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _SimulationService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "optisam.simulation.v1.SimulationService",
	HandlerType: (*SimulationServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "DeleteConfig",
			Handler:    _SimulationService_DeleteConfig_Handler,
		},
		{
			MethodName: "UpdateConfig",
			Handler:    _SimulationService_UpdateConfig_Handler,
		},
		{
			MethodName: "CreateConfig",
			Handler:    _SimulationService_CreateConfig_Handler,
		},
		{
			MethodName: "ListConfig",
			Handler:    _SimulationService_ListConfig_Handler,
		},
		{
			MethodName: "GetConfigData",
			Handler:    _SimulationService_GetConfigData_Handler,
		},
		{
			MethodName: "SimulationByMetric",
			Handler:    _SimulationService_SimulationByMetric_Handler,
		},
		{
			MethodName: "SimulationByHardware",
			Handler:    _SimulationService_SimulationByHardware_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "simulation.proto",
}
