diff --git a/lib/go/api/interface.go b/lib/go/api/interface.go
index 32fe383..53cbf76 100644
--- a/lib/go/api/interface.go
+++ b/lib/go/api/interface.go
@@ -33,7 +33,7 @@
 	UpdateNode(request *si.NodeRequest) error
 
 	// Notify scheduler to reload configuration and hot-refresh in-memory state based on configuration changes
-	UpdateConfiguration(clusterID string) error
+	UpdateConfiguration(request *si.UpdateConfigurationRequest) error
 }
 
 // RM side needs to implement this API
@@ -64,7 +64,4 @@
 	// the shim side cannot assume to only receive updates on state changes
 	// the shim side implementation must be thread safe
 	UpdateContainerSchedulingState(request *si.UpdateContainerSchedulingStateRequest)
-
-	// Update configuration
-	UpdateConfiguration(args *si.UpdateConfigurationRequest) *si.UpdateConfigurationResponse
 }
diff --git a/lib/go/si/si.pb.go b/lib/go/si/si.pb.go
index 3cc7079..9b403c2 100644
--- a/lib/go/si/si.pb.go
+++ b/lib/go/si/si.pb.go
@@ -53,7 +53,7 @@
 	return proto.EnumName(TerminationType_name, int32(x))
 }
 func (TerminationType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{0}
+	return fileDescriptor_si_892602ea943a6bbd, []int{0}
 }
 
 // Action from RM
@@ -97,7 +97,7 @@
 	return proto.EnumName(NodeInfo_ActionFromRM_name, int32(x))
 }
 func (NodeInfo_ActionFromRM) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{23, 0}
+	return fileDescriptor_si_892602ea943a6bbd, []int{23, 0}
 }
 
 // container scheduling states
@@ -136,7 +136,7 @@
 	return proto.EnumName(UpdateContainerSchedulingStateRequest_SchedulingState_name, int32(x))
 }
 func (UpdateContainerSchedulingStateRequest_SchedulingState) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{26, 0}
+	return fileDescriptor_si_892602ea943a6bbd, []int{26, 0}
 }
 
 type EventRecord_Type int32
@@ -169,7 +169,7 @@
 	return proto.EnumName(EventRecord_Type_name, int32(x))
 }
 func (EventRecord_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{29, 0}
+	return fileDescriptor_si_892602ea943a6bbd, []int{28, 0}
 }
 
 //
@@ -186,17 +186,19 @@
 	// Different RMs can refer to the same policyGroup if their static configuration is identical.
 	PolicyGroup string `protobuf:"bytes,3,opt,name=policyGroup,proto3" json:"policyGroup,omitempty"`
 	// Pass the build information of k8shim to core.
-	BuildInfo            map[string]string `protobuf:"bytes,4,rep,name=buildInfo,proto3" json:"buildInfo,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:"-"`
+	BuildInfo map[string]string `protobuf:"bytes,4,rep,name=buildInfo,proto3" json:"buildInfo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Pass the serialized configuration for this policyGroup to core.
+	Config               string   `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *RegisterResourceManagerRequest) Reset()         { *m = RegisterResourceManagerRequest{} }
 func (m *RegisterResourceManagerRequest) String() string { return proto.CompactTextString(m) }
 func (*RegisterResourceManagerRequest) ProtoMessage()    {}
 func (*RegisterResourceManagerRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{0}
+	return fileDescriptor_si_892602ea943a6bbd, []int{0}
 }
 func (m *RegisterResourceManagerRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RegisterResourceManagerRequest.Unmarshal(m, b)
@@ -244,6 +246,13 @@
 	return nil
 }
 
+func (m *RegisterResourceManagerRequest) GetConfig() string {
+	if m != nil {
+		return m.Config
+	}
+	return ""
+}
+
 // Upon success, scheduler returns RegisterResourceManagerResponse to RM, otherwise RM receives exception.
 type RegisterResourceManagerResponse struct {
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -255,7 +264,7 @@
 func (m *RegisterResourceManagerResponse) String() string { return proto.CompactTextString(m) }
 func (*RegisterResourceManagerResponse) ProtoMessage()    {}
 func (*RegisterResourceManagerResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{1}
+	return fileDescriptor_si_892602ea943a6bbd, []int{1}
 }
 func (m *RegisterResourceManagerResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RegisterResourceManagerResponse.Unmarshal(m, b)
@@ -291,7 +300,7 @@
 func (m *AllocationRequest) String() string { return proto.CompactTextString(m) }
 func (*AllocationRequest) ProtoMessage()    {}
 func (*AllocationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{2}
+	return fileDescriptor_si_892602ea943a6bbd, []int{2}
 }
 func (m *AllocationRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationRequest.Unmarshal(m, b)
@@ -349,7 +358,7 @@
 func (m *ApplicationRequest) String() string { return proto.CompactTextString(m) }
 func (*ApplicationRequest) ProtoMessage()    {}
 func (*ApplicationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{3}
+	return fileDescriptor_si_892602ea943a6bbd, []int{3}
 }
 func (m *ApplicationRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ApplicationRequest.Unmarshal(m, b)
@@ -404,7 +413,7 @@
 func (m *NodeRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeRequest) ProtoMessage()    {}
 func (*NodeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{4}
+	return fileDescriptor_si_892602ea943a6bbd, []int{4}
 }
 func (m *NodeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeRequest.Unmarshal(m, b)
@@ -457,7 +466,7 @@
 func (m *AllocationResponse) String() string { return proto.CompactTextString(m) }
 func (*AllocationResponse) ProtoMessage()    {}
 func (*AllocationResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{5}
+	return fileDescriptor_si_892602ea943a6bbd, []int{5}
 }
 func (m *AllocationResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationResponse.Unmarshal(m, b)
@@ -521,7 +530,7 @@
 func (m *ApplicationResponse) String() string { return proto.CompactTextString(m) }
 func (*ApplicationResponse) ProtoMessage()    {}
 func (*ApplicationResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{6}
+	return fileDescriptor_si_892602ea943a6bbd, []int{6}
 }
 func (m *ApplicationResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ApplicationResponse.Unmarshal(m, b)
@@ -576,7 +585,7 @@
 func (m *NodeResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeResponse) ProtoMessage()    {}
 func (*NodeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{7}
+	return fileDescriptor_si_892602ea943a6bbd, []int{7}
 }
 func (m *NodeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeResponse.Unmarshal(m, b)
@@ -628,7 +637,7 @@
 func (m *UpdatedApplication) String() string { return proto.CompactTextString(m) }
 func (*UpdatedApplication) ProtoMessage()    {}
 func (*UpdatedApplication) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{8}
+	return fileDescriptor_si_892602ea943a6bbd, []int{8}
 }
 func (m *UpdatedApplication) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdatedApplication.Unmarshal(m, b)
@@ -690,7 +699,7 @@
 func (m *RejectedApplication) String() string { return proto.CompactTextString(m) }
 func (*RejectedApplication) ProtoMessage()    {}
 func (*RejectedApplication) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{9}
+	return fileDescriptor_si_892602ea943a6bbd, []int{9}
 }
 func (m *RejectedApplication) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RejectedApplication.Unmarshal(m, b)
@@ -736,7 +745,7 @@
 func (m *AcceptedApplication) String() string { return proto.CompactTextString(m) }
 func (*AcceptedApplication) ProtoMessage()    {}
 func (*AcceptedApplication) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{10}
+	return fileDescriptor_si_892602ea943a6bbd, []int{10}
 }
 func (m *AcceptedApplication) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AcceptedApplication.Unmarshal(m, b)
@@ -777,7 +786,7 @@
 func (m *RejectedNode) String() string { return proto.CompactTextString(m) }
 func (*RejectedNode) ProtoMessage()    {}
 func (*RejectedNode) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{11}
+	return fileDescriptor_si_892602ea943a6bbd, []int{11}
 }
 func (m *RejectedNode) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RejectedNode.Unmarshal(m, b)
@@ -823,7 +832,7 @@
 func (m *AcceptedNode) String() string { return proto.CompactTextString(m) }
 func (*AcceptedNode) ProtoMessage()    {}
 func (*AcceptedNode) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{12}
+	return fileDescriptor_si_892602ea943a6bbd, []int{12}
 }
 func (m *AcceptedNode) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AcceptedNode.Unmarshal(m, b)
@@ -862,7 +871,7 @@
 func (m *Resource) String() string { return proto.CompactTextString(m) }
 func (*Resource) ProtoMessage()    {}
 func (*Resource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{13}
+	return fileDescriptor_si_892602ea943a6bbd, []int{13}
 }
 func (m *Resource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Resource.Unmarshal(m, b)
@@ -901,7 +910,7 @@
 func (m *Quantity) String() string { return proto.CompactTextString(m) }
 func (*Quantity) ProtoMessage()    {}
 func (*Quantity) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{14}
+	return fileDescriptor_si_892602ea943a6bbd, []int{14}
 }
 func (m *Quantity) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Quantity.Unmarshal(m, b)
@@ -968,7 +977,7 @@
 func (m *AllocationAsk) String() string { return proto.CompactTextString(m) }
 func (*AllocationAsk) ProtoMessage()    {}
 func (*AllocationAsk) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{15}
+	return fileDescriptor_si_892602ea943a6bbd, []int{15}
 }
 func (m *AllocationAsk) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationAsk.Unmarshal(m, b)
@@ -1096,7 +1105,7 @@
 func (m *AddApplicationRequest) String() string { return proto.CompactTextString(m) }
 func (*AddApplicationRequest) ProtoMessage()    {}
 func (*AddApplicationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{16}
+	return fileDescriptor_si_892602ea943a6bbd, []int{16}
 }
 func (m *AddApplicationRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddApplicationRequest.Unmarshal(m, b)
@@ -1186,7 +1195,7 @@
 func (m *RemoveApplicationRequest) String() string { return proto.CompactTextString(m) }
 func (*RemoveApplicationRequest) ProtoMessage()    {}
 func (*RemoveApplicationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{17}
+	return fileDescriptor_si_892602ea943a6bbd, []int{17}
 }
 func (m *RemoveApplicationRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveApplicationRequest.Unmarshal(m, b)
@@ -1234,7 +1243,7 @@
 func (m *UserGroupInformation) String() string { return proto.CompactTextString(m) }
 func (*UserGroupInformation) ProtoMessage()    {}
 func (*UserGroupInformation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{18}
+	return fileDescriptor_si_892602ea943a6bbd, []int{18}
 }
 func (m *UserGroupInformation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UserGroupInformation.Unmarshal(m, b)
@@ -1299,7 +1308,7 @@
 func (m *Allocation) String() string { return proto.CompactTextString(m) }
 func (*Allocation) ProtoMessage()    {}
 func (*Allocation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{19}
+	return fileDescriptor_si_892602ea943a6bbd, []int{19}
 }
 func (m *Allocation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Allocation.Unmarshal(m, b)
@@ -1403,7 +1412,7 @@
 func (m *AllocationReleasesRequest) String() string { return proto.CompactTextString(m) }
 func (*AllocationReleasesRequest) ProtoMessage()    {}
 func (*AllocationReleasesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{20}
+	return fileDescriptor_si_892602ea943a6bbd, []int{20}
 }
 func (m *AllocationReleasesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationReleasesRequest.Unmarshal(m, b)
@@ -1463,7 +1472,7 @@
 func (m *AllocationRelease) String() string { return proto.CompactTextString(m) }
 func (*AllocationRelease) ProtoMessage()    {}
 func (*AllocationRelease) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{21}
+	return fileDescriptor_si_892602ea943a6bbd, []int{21}
 }
 func (m *AllocationRelease) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationRelease.Unmarshal(m, b)
@@ -1547,7 +1556,7 @@
 func (m *AllocationAskRelease) String() string { return proto.CompactTextString(m) }
 func (*AllocationAskRelease) ProtoMessage()    {}
 func (*AllocationAskRelease) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{22}
+	return fileDescriptor_si_892602ea943a6bbd, []int{22}
 }
 func (m *AllocationAskRelease) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AllocationAskRelease.Unmarshal(m, b)
@@ -1626,7 +1635,7 @@
 func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
 func (*NodeInfo) ProtoMessage()    {}
 func (*NodeInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{23}
+	return fileDescriptor_si_892602ea943a6bbd, []int{23}
 }
 func (m *NodeInfo) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeInfo.Unmarshal(m, b)
@@ -1703,7 +1712,7 @@
 func (m *RejectedAllocationAsk) String() string { return proto.CompactTextString(m) }
 func (*RejectedAllocationAsk) ProtoMessage()    {}
 func (*RejectedAllocationAsk) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{24}
+	return fileDescriptor_si_892602ea943a6bbd, []int{24}
 }
 func (m *RejectedAllocationAsk) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RejectedAllocationAsk.Unmarshal(m, b)
@@ -1761,7 +1770,7 @@
 func (m *PredicatesArgs) String() string { return proto.CompactTextString(m) }
 func (*PredicatesArgs) ProtoMessage()    {}
 func (*PredicatesArgs) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{25}
+	return fileDescriptor_si_892602ea943a6bbd, []int{25}
 }
 func (m *PredicatesArgs) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_PredicatesArgs.Unmarshal(m, b)
@@ -1820,7 +1829,7 @@
 func (m *UpdateContainerSchedulingStateRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateContainerSchedulingStateRequest) ProtoMessage()    {}
 func (*UpdateContainerSchedulingStateRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{26}
+	return fileDescriptor_si_892602ea943a6bbd, []int{26}
 }
 func (m *UpdateContainerSchedulingStateRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateContainerSchedulingStateRequest.Unmarshal(m, b)
@@ -1869,8 +1878,12 @@
 }
 
 type UpdateConfigurationRequest struct {
-	// New config what needs to be saved
-	Configs              string   `protobuf:"bytes,1,opt,name=configs,proto3" json:"configs,omitempty"`
+	// RM ID to update
+	RmID string `protobuf:"bytes,2,opt,name=rmID,proto3" json:"rmID,omitempty"`
+	// PolicyGroup to update
+	PolicyGroup string `protobuf:"bytes,3,opt,name=policyGroup,proto3" json:"policyGroup,omitempty"`
+	// New configuration to update
+	Config               string   `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
 	XXX_sizecache        int32    `json:"-"`
@@ -1880,7 +1893,7 @@
 func (m *UpdateConfigurationRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateConfigurationRequest) ProtoMessage()    {}
 func (*UpdateConfigurationRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{27}
+	return fileDescriptor_si_892602ea943a6bbd, []int{27}
 }
 func (m *UpdateConfigurationRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateConfigurationRequest.Unmarshal(m, b)
@@ -1900,66 +1913,23 @@
 
 var xxx_messageInfo_UpdateConfigurationRequest proto.InternalMessageInfo
 
-func (m *UpdateConfigurationRequest) GetConfigs() string {
+func (m *UpdateConfigurationRequest) GetRmID() string {
 	if m != nil {
-		return m.Configs
+		return m.RmID
 	}
 	return ""
 }
 
-type UpdateConfigurationResponse struct {
-	// flag that marks the config update success or failure
-	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
-	// the old configuration what was changed
-	OldConfig string `protobuf:"bytes,2,opt,name=oldConfig,proto3" json:"oldConfig,omitempty"`
-	// reason in case of failure
-	Reason               string   `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *UpdateConfigurationResponse) Reset()         { *m = UpdateConfigurationResponse{} }
-func (m *UpdateConfigurationResponse) String() string { return proto.CompactTextString(m) }
-func (*UpdateConfigurationResponse) ProtoMessage()    {}
-func (*UpdateConfigurationResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{28}
-}
-func (m *UpdateConfigurationResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_UpdateConfigurationResponse.Unmarshal(m, b)
-}
-func (m *UpdateConfigurationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_UpdateConfigurationResponse.Marshal(b, m, deterministic)
-}
-func (dst *UpdateConfigurationResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_UpdateConfigurationResponse.Merge(dst, src)
-}
-func (m *UpdateConfigurationResponse) XXX_Size() int {
-	return xxx_messageInfo_UpdateConfigurationResponse.Size(m)
-}
-func (m *UpdateConfigurationResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_UpdateConfigurationResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UpdateConfigurationResponse proto.InternalMessageInfo
-
-func (m *UpdateConfigurationResponse) GetSuccess() bool {
+func (m *UpdateConfigurationRequest) GetPolicyGroup() string {
 	if m != nil {
-		return m.Success
-	}
-	return false
-}
-
-func (m *UpdateConfigurationResponse) GetOldConfig() string {
-	if m != nil {
-		return m.OldConfig
+		return m.PolicyGroup
 	}
 	return ""
 }
 
-func (m *UpdateConfigurationResponse) GetReason() string {
+func (m *UpdateConfigurationRequest) GetConfig() string {
 	if m != nil {
-		return m.Reason
+		return m.Config
 	}
 	return ""
 }
@@ -1987,7 +1957,7 @@
 func (m *EventRecord) String() string { return proto.CompactTextString(m) }
 func (*EventRecord) ProtoMessage()    {}
 func (*EventRecord) Descriptor() ([]byte, []int) {
-	return fileDescriptor_si_09b58b0848c8fa12, []int{29}
+	return fileDescriptor_si_892602ea943a6bbd, []int{28}
 }
 func (m *EventRecord) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_EventRecord.Unmarshal(m, b)
@@ -2093,7 +2063,6 @@
 	proto.RegisterType((*PredicatesArgs)(nil), "si.v1.PredicatesArgs")
 	proto.RegisterType((*UpdateContainerSchedulingStateRequest)(nil), "si.v1.UpdateContainerSchedulingStateRequest")
 	proto.RegisterType((*UpdateConfigurationRequest)(nil), "si.v1.UpdateConfigurationRequest")
-	proto.RegisterType((*UpdateConfigurationResponse)(nil), "si.v1.UpdateConfigurationResponse")
 	proto.RegisterType((*EventRecord)(nil), "si.v1.EventRecord")
 	proto.RegisterEnum("si.v1.TerminationType", TerminationType_name, TerminationType_value)
 	proto.RegisterEnum("si.v1.NodeInfo_ActionFromRM", NodeInfo_ActionFromRM_name, NodeInfo_ActionFromRM_value)
@@ -2387,138 +2356,138 @@
 }
 
 func init() {
-	proto.RegisterFile("yunikorn-scheduler-interface/si.proto", fileDescriptor_si_09b58b0848c8fa12)
+	proto.RegisterFile("yunikorn-scheduler-interface/si.proto", fileDescriptor_si_892602ea943a6bbd)
 }
 
-var fileDescriptor_si_09b58b0848c8fa12 = []byte{
-	// 2058 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4f, 0x6f, 0xdb, 0xc8,
-	0x15, 0x0f, 0x25, 0xd9, 0x96, 0x9e, 0x6c, 0x59, 0x19, 0x79, 0x13, 0x46, 0xeb, 0x26, 0x2e, 0xbb,
-	0x36, 0x8c, 0x16, 0x91, 0x77, 0xbd, 0xc1, 0x66, 0x91, 0xa4, 0xdd, 0xca, 0x16, 0xb3, 0x51, 0x63,
-	0xfd, 0x09, 0x25, 0x6d, 0xb1, 0xbd, 0x08, 0x34, 0x35, 0xd6, 0x32, 0xa6, 0x48, 0x2d, 0x87, 0x74,
-	0x63, 0x14, 0xbd, 0x14, 0xe8, 0xb9, 0xd8, 0x53, 0x51, 0xa0, 0xb7, 0x02, 0xfd, 0x10, 0x3d, 0xf5,
-	0xd8, 0x0f, 0xd0, 0x7e, 0x83, 0x9e, 0x7a, 0xe8, 0xad, 0xf7, 0x62, 0x86, 0x33, 0xfc, 0x23, 0x52,
-	0x8e, 0x52, 0xa4, 0x37, 0xce, 0x9b, 0xf7, 0x66, 0xde, 0xbc, 0xdf, 0x9b, 0xdf, 0xbc, 0x19, 0xc2,
-	0xfe, 0xb5, 0x6f, 0x9b, 0x97, 0x8e, 0x6b, 0x3f, 0x24, 0xc6, 0x37, 0x78, 0xe2, 0x5b, 0xd8, 0x7d,
-	0x68, 0xda, 0x1e, 0x76, 0x2f, 0x74, 0x03, 0x1f, 0x11, 0xb3, 0x31, 0x77, 0x1d, 0xcf, 0x41, 0x6b,
-	0xc4, 0x6c, 0x5c, 0x7d, 0x52, 0xdf, 0x9b, 0x3a, 0xce, 0xd4, 0xc2, 0x47, 0x4c, 0x78, 0xee, 0x5f,
-	0x1c, 0x4d, 0x30, 0x31, 0x5c, 0x73, 0xee, 0x39, 0x6e, 0xa0, 0xa8, 0xfc, 0x26, 0x07, 0xf7, 0x35,
-	0x3c, 0x35, 0x89, 0x87, 0x5d, 0x0d, 0x13, 0xc7, 0x77, 0x0d, 0xdc, 0xd1, 0x6d, 0x7d, 0x4a, 0x9b,
-	0xdf, 0xfa, 0x98, 0x78, 0x08, 0x41, 0xc1, 0x9d, 0xb5, 0x5b, 0xb2, 0xb4, 0x27, 0x1d, 0x96, 0x34,
-	0xf6, 0x8d, 0x64, 0xd8, 0xb8, 0xc2, 0x2e, 0x31, 0x1d, 0x5b, 0xce, 0x31, 0xb1, 0x68, 0xa2, 0x3d,
-	0x28, 0xcf, 0x1d, 0xcb, 0x34, 0xae, 0xbf, 0x74, 0x1d, 0x7f, 0x2e, 0xe7, 0x59, 0x6f, 0x5c, 0x84,
-	0x34, 0x28, 0x9d, 0xfb, 0xa6, 0x35, 0x69, 0xdb, 0x17, 0x8e, 0x5c, 0xd8, 0xcb, 0x1f, 0x96, 0x8f,
-	0x1f, 0x35, 0x98, 0xbf, 0x8d, 0x9b, 0x3d, 0x69, 0x9c, 0x08, 0x33, 0xd5, 0xf6, 0xdc, 0x6b, 0x2d,
-	0x1a, 0xa6, 0xfe, 0x0c, 0x2a, 0xc9, 0x4e, 0x54, 0x85, 0xfc, 0x25, 0xbe, 0xe6, 0x4e, 0xd3, 0x4f,
-	0xb4, 0x03, 0x6b, 0x57, 0xba, 0xe5, 0x63, 0xee, 0x71, 0xd0, 0x78, 0x92, 0xfb, 0x5c, 0x52, 0xbe,
-	0x0f, 0x0f, 0x96, 0xce, 0x4c, 0xe6, 0x8e, 0x4d, 0xb0, 0xf2, 0x3b, 0x09, 0x6e, 0x37, 0x2d, 0xcb,
-	0x31, 0x74, 0xcf, 0x74, 0x6c, 0x11, 0x9a, 0x43, 0x28, 0xe8, 0xe4, 0x92, 0xc8, 0x12, 0x5b, 0xc5,
-	0x0e, 0x5f, 0x45, 0xa4, 0xd7, 0x24, 0x97, 0x1a, 0xd3, 0x40, 0xcf, 0xa0, 0xe8, 0x62, 0x0b, 0xeb,
-	0x04, 0x13, 0x36, 0x7f, 0xf9, 0x78, 0x2f, 0xa5, 0xad, 0x71, 0x05, 0x3e, 0xba, 0x16, 0x5a, 0x84,
-	0x10, 0xe4, 0x23, 0x08, 0x94, 0xef, 0x24, 0x40, 0xcd, 0xf9, 0xdc, 0x32, 0x93, 0x2e, 0x35, 0x20,
-	0x6f, 0xe3, 0x5f, 0x72, 0x8f, 0x76, 0xc5, 0x1c, 0x93, 0x49, 0x5a, 0x55, 0xa3, 0x8a, 0xe8, 0x31,
-	0xac, 0xbb, 0x78, 0xe6, 0x5c, 0xd1, 0xb0, 0x50, 0x93, 0x07, 0x21, 0x14, 0x54, 0x98, 0x61, 0xc5,
-	0xd5, 0x33, 0x7d, 0x7a, 0x01, 0xe5, 0xae, 0x33, 0xc1, 0xc2, 0x97, 0x7d, 0x58, 0xb3, 0x9d, 0x09,
-	0x16, 0xf1, 0xd9, 0xe6, 0x43, 0x53, 0x15, 0x0a, 0x94, 0x16, 0xf4, 0x86, 0x23, 0xe5, 0x62, 0x23,
-	0xfd, 0x8b, 0xae, 0x2e, 0x16, 0x99, 0x00, 0x06, 0xf4, 0x83, 0xf8, 0xea, 0x6e, 0xa7, 0x23, 0xc8,
-	0x96, 0xf4, 0x28, 0x8c, 0xf5, 0x84, 0x2f, 0x4a, 0x5e, 0x16, 0xeb, 0x30, 0xc6, 0x13, 0xf4, 0x05,
-	0x6c, 0x8a, 0xef, 0x26, 0xc5, 0x34, 0xcf, 0x2c, 0x3f, 0xcc, 0xc4, 0x94, 0x1b, 0x27, 0x0c, 0xd0,
-	0xe7, 0x74, 0xda, 0xd7, 0xd8, 0xf0, 0xf0, 0x84, 0xa7, 0xf5, 0x6e, 0x18, 0xcb, 0x40, 0x9c, 0x1c,
-	0x24, 0xd4, 0x56, 0xfe, 0x22, 0x41, 0x2d, 0x11, 0x69, 0xbe, 0xda, 0xcf, 0x62, 0x23, 0x06, 0x4b,
-	0xae, 0x2f, 0x8e, 0x18, 0xb3, 0x0a, 0x75, 0xa9, 0x9d, 0x6e, 0x18, 0x78, 0xee, 0x85, 0x01, 0x10,
-	0x76, 0x4d, 0x2e, 0x4e, 0xd8, 0x09, 0x5d, 0xf4, 0x29, 0x6c, 0xf8, 0xf3, 0x89, 0x4e, 0xcd, 0x82,
-	0xd5, 0xdf, 0xe3, 0x66, 0xa3, 0x40, 0x1a, 0xb7, 0x12, 0x9a, 0xca, 0x1c, 0x36, 0x03, 0xcc, 0xb9,
-	0xd3, 0x47, 0x29, 0xa7, 0x6b, 0x0b, 0x4e, 0x33, 0xf5, 0xc8, 0xdb, 0xa3, 0x94, 0xb7, 0xb5, 0x05,
-	0x6f, 0x03, 0x03, 0xa1, 0xa4, 0xfc, 0x59, 0x02, 0x94, 0xf6, 0x08, 0x7d, 0x04, 0x5b, 0x7a, 0xd4,
-	0x0c, 0x09, 0x2b, 0x29, 0xa4, 0x2c, 0x40, 0x3c, 0xdd, 0x0b, 0x59, 0x80, 0x35, 0xd0, 0x13, 0x90,
-	0xd9, 0xc7, 0xd0, 0xd5, 0x6d, 0x62, 0x52, 0xd5, 0xa1, 0x39, 0xc3, 0xc4, 0xd3, 0x67, 0x01, 0x85,
-	0xe5, 0xb5, 0xa5, 0xfd, 0x94, 0x0b, 0x67, 0x98, 0x10, 0x7d, 0x8a, 0xe5, 0x42, 0xc0, 0x85, 0xbc,
-	0xa9, 0x0c, 0xa0, 0x96, 0x01, 0xd4, 0x8a, 0x8e, 0xde, 0xa1, 0x1b, 0x53, 0x27, 0x21, 0xc3, 0xf2,
-	0x96, 0xf2, 0x14, 0x6a, 0x19, 0x28, 0xae, 0x36, 0xa8, 0xf2, 0x13, 0xd8, 0x8c, 0xa3, 0x40, 0x27,
-	0xa1, 0x7b, 0x30, 0x54, 0xe7, 0xad, 0xa5, 0x93, 0x1f, 0xc0, 0x66, 0x1c, 0x94, 0x65, 0xf6, 0xca,
-	0xef, 0x25, 0x28, 0x0a, 0x2a, 0x45, 0xcf, 0xa0, 0xe4, 0xf2, 0x6f, 0x41, 0x05, 0xf7, 0xc3, 0x94,
-	0x08, 0xe4, 0xe1, 0x07, 0xe1, 0xd4, 0x1e, 0x1a, 0xd4, 0x3b, 0x50, 0x49, 0x76, 0x66, 0x50, 0xfb,
-	0x7e, 0x9c, 0xda, 0x23, 0xa2, 0x79, 0xe5, 0xeb, 0xb6, 0x67, 0x7a, 0xd7, 0x71, 0xae, 0xdf, 0x83,
-	0xa2, 0x10, 0x47, 0x27, 0x82, 0xc4, 0x20, 0x0e, 0x1a, 0xca, 0x77, 0x05, 0xd8, 0x4a, 0xec, 0x54,
-	0x16, 0xdb, 0x50, 0xf0, 0x32, 0x9c, 0x3a, 0x29, 0x4c, 0x23, 0x90, 0xcb, 0x82, 0xf5, 0x23, 0xd8,
-	0x9a, 0xeb, 0xae, 0xc7, 0x72, 0xa8, 0xab, 0xcf, 0x30, 0xe7, 0xcf, 0xa4, 0x10, 0x7d, 0x02, 0x65,
-	0x11, 0x81, 0x26, 0xb9, 0x64, 0x79, 0x15, 0x2d, 0x4b, 0x84, 0x43, 0x8b, 0xeb, 0xa0, 0x03, 0xa8,
-	0xcc, 0xf4, 0x37, 0x91, 0xe3, 0x44, 0x5e, 0xdb, 0x93, 0x0e, 0xd7, 0xb4, 0x05, 0x29, 0xaa, 0x43,
-	0x71, 0xee, 0x9a, 0x8e, 0x6b, 0x7a, 0xd7, 0xf2, 0x3a, 0xd3, 0x08, 0xdb, 0xe8, 0x04, 0x76, 0xf1,
-	0x1b, 0x6c, 0xf8, 0x22, 0xc1, 0x1d, 0xdf, 0xeb, 0x98, 0x96, 0x65, 0x0e, 0xb0, 0xe1, 0xd8, 0x13,
-	0x22, 0x6f, 0xb0, 0x38, 0xdd, 0xa8, 0x83, 0x8e, 0xa1, 0xe0, 0xe9, 0x53, 0x22, 0x17, 0x13, 0x40,
-	0x27, 0x02, 0xda, 0x18, 0xea, 0x53, 0x0e, 0x34, 0xd3, 0xa5, 0x41, 0xf1, 0x74, 0x72, 0xc9, 0xea,
-	0x03, 0x16, 0x94, 0x52, 0x10, 0x94, 0x84, 0x90, 0x95, 0x16, 0x96, 0x6e, 0xe0, 0x6f, 0x1c, 0x6b,
-	0x82, 0x5d, 0x19, 0xf6, 0xa4, 0xc3, 0xa2, 0x16, 0x17, 0xa1, 0xfb, 0x00, 0x3d, 0xd7, 0x9c, 0x9a,
-	0xb6, 0xee, 0x39, 0xae, 0x5c, 0x66, 0x0a, 0x31, 0x49, 0xfd, 0x31, 0x94, 0xc2, 0xa9, 0xdf, 0xa9,
-	0x42, 0xf8, 0x7b, 0x1e, 0x3e, 0xc8, 0x3c, 0x44, 0x57, 0xdc, 0xcc, 0xbb, 0x50, 0xfa, 0xd6, 0xc7,
-	0x3e, 0x66, 0x8b, 0x0b, 0x46, 0x8f, 0x04, 0x2b, 0xe6, 0xc4, 0x43, 0xc8, 0xfb, 0x53, 0x93, 0xe7,
-	0x82, 0x38, 0x97, 0x46, 0x04, 0xbb, 0x2c, 0x42, 0xf4, 0x40, 0x75, 0x67, 0xfc, 0x14, 0xf4, 0xa7,
-	0x26, 0x7a, 0xc2, 0x71, 0x58, 0x63, 0x38, 0x1c, 0xdc, 0x54, 0x09, 0xa4, 0xf0, 0x78, 0x5b, 0x1e,
-	0xac, 0xaf, 0x90, 0x07, 0x8f, 0xa1, 0x12, 0x83, 0x86, 0x66, 0xf1, 0x46, 0x76, 0x16, 0x2f, 0xa8,
-	0xa1, 0x8f, 0xa1, 0x36, 0xd5, 0xed, 0xe9, 0x20, 0xa8, 0x6f, 0x4d, 0x7b, 0x3a, 0xf0, 0xae, 0x2d,
-	0x2c, 0x17, 0x59, 0x4c, 0xb2, 0xba, 0xfe, 0x77, 0x58, 0x2f, 0x40, 0x5e, 0x56, 0xe7, 0xac, 0x08,
-	0x6c, 0x0a, 0xba, 0x5c, 0x06, 0x74, 0xca, 0x09, 0xec, 0x64, 0x01, 0x45, 0x2b, 0x1f, 0x9f, 0x60,
-	0x57, 0x94, 0xd6, 0xf4, 0x9b, 0x52, 0xea, 0x94, 0xea, 0x11, 0x76, 0x18, 0x96, 0x34, 0xde, 0x52,
-	0xfe, 0x9d, 0x07, 0x88, 0x76, 0xd1, 0x8a, 0x9c, 0xd4, 0x81, 0x4a, 0x24, 0xa0, 0x31, 0xe2, 0x27,
-	0xec, 0x7e, 0x6a, 0x5b, 0xc6, 0x3e, 0xa3, 0x6c, 0x58, 0x30, 0xa6, 0xfe, 0x8e, 0x46, 0x51, 0xcd,
-	0x47, 0xbf, 0xd1, 0x53, 0xa8, 0x0a, 0x1a, 0xea, 0x63, 0x97, 0x8d, 0xc2, 0x98, 0x27, 0x03, 0xe9,
-	0x94, 0xe2, 0x8d, 0x64, 0x14, 0x9d, 0x2d, 0xc5, 0xc4, 0xd9, 0x94, 0x02, 0xa6, 0xb4, 0x12, 0x30,
-	0x90, 0xb5, 0xa7, 0x52, 0xc4, 0x53, 0x5e, 0x81, 0x78, 0x36, 0x53, 0xc4, 0x53, 0x6f, 0x42, 0x2d,
-	0x23, 0x7e, 0xef, 0x92, 0x8b, 0x3f, 0x2b, 0x14, 0x37, 0xaa, 0xc5, 0x18, 0x2b, 0x28, 0x7f, 0x95,
-	0xe0, 0xde, 0xd2, 0xcb, 0x01, 0x3a, 0x83, 0x9d, 0x08, 0x1c, 0x32, 0x74, 0x78, 0x3f, 0x3f, 0x5f,
-	0x97, 0x17, 0xbc, 0x99, 0x56, 0x68, 0x04, 0x77, 0xf5, 0x38, 0x43, 0xc7, 0x06, 0xcc, 0xbd, 0xbd,
-	0x0e, 0x5e, 0x66, 0xab, 0xfc, 0x67, 0xe1, 0xd6, 0x14, 0x4c, 0x96, 0x82, 0x46, 0x5a, 0x02, 0xcd,
-	0x0a, 0xc7, 0x69, 0x56, 0x46, 0xfe, 0x14, 0xb6, 0x3d, 0xec, 0xce, 0x28, 0xe7, 0x53, 0x34, 0xae,
-	0xe7, 0x41, 0x61, 0x56, 0x39, 0xbe, 0xc3, 0x17, 0x31, 0x4c, 0xf6, 0x6a, 0x8b, 0xea, 0xf1, 0x92,
-	0x6e, 0x2d, 0x51, 0xd2, 0xa5, 0xb7, 0xdd, 0x7a, 0xc6, 0xb6, 0x53, 0xfe, 0x29, 0xc1, 0x4e, 0x56,
-	0xa4, 0xde, 0xeb, 0xd2, 0x53, 0xae, 0xe4, 0xb3, 0x18, 0xe0, 0xff, 0x18, 0x0c, 0xe5, 0x8f, 0x05,
-	0x28, 0x8a, 0xcb, 0xdc, 0xd2, 0x52, 0xf2, 0x11, 0xac, 0xeb, 0x86, 0x27, 0x5e, 0x0a, 0x2a, 0xe1,
-	0xa5, 0x48, 0x18, 0x36, 0x9a, 0xac, 0xf7, 0xb9, 0xeb, 0xcc, 0xb4, 0x8e, 0xc6, 0x75, 0xd1, 0x17,
-	0x00, 0xba, 0xe7, 0xb9, 0xe6, 0xb9, 0xef, 0x61, 0x71, 0x17, 0x7b, 0x90, 0xb2, 0x0c, 0x35, 0x02,
-	0xba, 0x8a, 0x99, 0xa0, 0x26, 0xd4, 0xf8, 0x0b, 0x89, 0x7e, 0x6e, 0x61, 0x41, 0x41, 0xcb, 0x2a,
-	0xa9, 0x2c, 0x5d, 0xca, 0x6c, 0x8e, 0x61, 0xf8, 0x73, 0x13, 0x4f, 0x42, 0xfb, 0x65, 0xcc, 0xb6,
-	0xa8, 0x88, 0x4e, 0xa1, 0x86, 0xdf, 0x98, 0xc4, 0x33, 0xed, 0x69, 0xbc, 0x26, 0x5b, 0x5f, 0x76,
-	0x73, 0xcd, 0xd2, 0xae, 0xff, 0x18, 0xb6, 0x17, 0xd6, 0xf8, 0x4e, 0xc7, 0xdb, 0xaf, 0x69, 0xb5,
-	0x1e, 0x05, 0x17, 0xd5, 0xe1, 0xce, 0xa8, 0xfb, 0xb2, 0xdb, 0xfb, 0x79, 0x77, 0xdc, 0x3c, 0x1d,
-	0xb6, 0x7b, 0xdd, 0xf1, 0x73, 0xad, 0xd7, 0x19, 0x6b, 0x9d, 0xea, 0x2d, 0x04, 0xb0, 0x7e, 0xaa,
-	0xa9, 0xcd, 0xa1, 0x5a, 0x95, 0xe8, 0xf7, 0xa8, 0xdf, 0xa2, 0xdf, 0x39, 0x54, 0x01, 0x68, 0x69,
-	0xcd, 0x76, 0x77, 0xdc, 0xed, 0xb5, 0xd4, 0x6a, 0x1e, 0x6d, 0x43, 0xb9, 0xa5, 0x9e, 0xf6, 0x3a,
-	0xed, 0xc1, 0xa0, 0xdd, 0xeb, 0x56, 0x0b, 0x48, 0x86, 0x9d, 0x40, 0x61, 0xd8, 0x1b, 0x0f, 0x4e,
-	0x5f, 0xa8, 0xad, 0xd1, 0x59, 0xf3, 0xe4, 0x4c, 0xad, 0xae, 0x29, 0xbf, 0x82, 0x0f, 0x32, 0x6f,
-	0xbe, 0xef, 0xb5, 0x9e, 0x8e, 0x6e, 0x2a, 0xf9, 0xc4, 0x4d, 0xe5, 0x35, 0x54, 0xfa, 0x2e, 0x9e,
-	0x50, 0x45, 0x4c, 0x9a, 0x6e, 0x50, 0x64, 0xae, 0x30, 0x6b, 0x94, 0xc6, 0xb9, 0x44, 0x1a, 0xd7,
-	0xa1, 0xc8, 0x15, 0x83, 0xf2, 0xac, 0xa8, 0x85, 0x6d, 0xe5, 0x6f, 0x39, 0xd8, 0x0f, 0x2e, 0xa4,
-	0xa7, 0x8e, 0xed, 0xe9, 0xa6, 0x8d, 0xdd, 0x78, 0x89, 0xa2, 0x7b, 0xe1, 0x8b, 0xc8, 0x01, 0x54,
-	0xb8, 0xfb, 0x6e, 0xa2, 0xaa, 0x58, 0x90, 0xa6, 0x7d, 0xcd, 0x65, 0xf9, 0xaa, 0x89, 0xbb, 0x6c,
-	0x9e, 0xed, 0xac, 0x67, 0x89, 0xdb, 0xfa, 0x5b, 0x5c, 0x69, 0x2c, 0x8a, 0xf9, 0x4d, 0x38, 0x8a,
-	0x67, 0x21, 0x11, 0x4f, 0x0c, 0xdb, 0x0b, 0x16, 0x68, 0x17, 0x64, 0x91, 0x4e, 0x1c, 0xf8, 0x76,
-	0xf7, 0xcb, 0xf1, 0x60, 0x48, 0x13, 0xe7, 0x16, 0x2a, 0xc3, 0xc6, 0xe0, 0x65, 0xbb, 0xdf, 0x57,
-	0x5b, 0x55, 0x09, 0x6d, 0x41, 0x89, 0xab, 0xa8, 0xad, 0x6a, 0x0e, 0x6d, 0x42, 0x51, 0x53, 0x07,
-	0xaa, 0xf6, 0x95, 0xda, 0xaa, 0xe6, 0x69, 0xba, 0x3d, 0x6f, 0xb6, 0x69, 0x4f, 0x41, 0xf9, 0x0c,
-	0xea, 0xa1, 0xfb, 0x17, 0xe6, 0xd4, 0x77, 0x13, 0x35, 0x99, 0x0c, 0x1b, 0x06, 0x93, 0x13, 0x1e,
-	0x37, 0xd1, 0x54, 0x66, 0xf0, 0x61, 0xa6, 0x1d, 0x7f, 0x94, 0x90, 0x61, 0x83, 0xf8, 0x86, 0x81,
-	0x49, 0x60, 0x58, 0xd4, 0x44, 0x93, 0x56, 0xe6, 0x8e, 0x35, 0x09, 0xac, 0x44, 0x65, 0x1e, 0x0a,
-	0x96, 0x66, 0xd7, 0x1f, 0x72, 0x50, 0x56, 0xaf, 0xb0, 0xed, 0x69, 0xd8, 0x70, 0xdc, 0x09, 0xfa,
-	0x11, 0x14, 0x3c, 0x4a, 0xad, 0x12, 0x03, 0xe2, 0x2e, 0x07, 0x22, 0xa6, 0xd1, 0x60, 0xdc, 0xca,
-	0x94, 0x68, 0x2a, 0x39, 0xe7, 0x74, 0x5f, 0x84, 0x49, 0x16, 0xb6, 0xa9, 0xa3, 0xac, 0xde, 0x0b,
-	0x8f, 0x34, 0xd1, 0x5c, 0x06, 0xcc, 0xcd, 0x67, 0x95, 0x27, 0x5e, 0x29, 0xba, 0xba, 0xed, 0xf0,
-	0xb2, 0x3d, 0x29, 0x54, 0x7a, 0x50, 0x60, 0x34, 0x1f, 0x43, 0x53, 0xfd, 0x4a, 0xed, 0x0e, 0x35,
-	0xf5, 0xb4, 0xa7, 0xb5, 0xc6, 0xc3, 0xaf, 0xfb, 0x1c, 0x4d, 0x4d, 0x7d, 0x35, 0x52, 0x07, 0xc3,
-	0xaa, 0x84, 0x36, 0x20, 0xdf, 0xec, 0xf7, 0xab, 0x39, 0x54, 0x84, 0x02, 0xa7, 0x85, 0x12, 0xac,
-	0xbd, 0x1a, 0xa9, 0x23, 0xb5, 0x5a, 0xf8, 0xe1, 0x6f, 0x25, 0xd8, 0x5e, 0x38, 0x54, 0xe2, 0x83,
-	0x0f, 0x55, 0xad, 0xd3, 0xee, 0x36, 0x19, 0xfd, 0xf0, 0xc1, 0x6f, 0xc3, 0xd6, 0x60, 0xd8, 0xa3,
-	0xa9, 0x32, 0x3e, 0xf9, 0x9a, 0xd2, 0x91, 0x44, 0xe7, 0x1b, 0xb6, 0x3b, 0x6a, 0x6f, 0x34, 0xac,
-	0xe6, 0x28, 0x6f, 0xf5, 0x35, 0x55, 0xed, 0xf4, 0x87, 0x81, 0x86, 0x48, 0x25, 0xad, 0x9a, 0xa7,
-	0xf4, 0xd3, 0x3f, 0x6b, 0x9e, 0xaa, 0x2f, 0x7a, 0x67, 0x2d, 0x55, 0x1b, 0x6b, 0x2a, 0x6b, 0xb5,
-	0xaa, 0x85, 0xe3, 0x7f, 0xe4, 0xa0, 0x34, 0x10, 0x8f, 0xe4, 0xe8, 0x35, 0xdc, 0x5d, 0xf2, 0xc6,
-	0x8b, 0xf6, 0x57, 0x7a, 0x7d, 0xae, 0x1f, 0xbc, 0x4d, 0x8d, 0x3f, 0x15, 0xdf, 0x42, 0x1d, 0xa8,
-	0x06, 0xc9, 0x18, 0xab, 0xd7, 0xb3, 0x2a, 0xb2, 0x60, 0xdc, 0x7b, 0x19, 0x3d, 0x62, 0xa8, 0x43,
-	0xe9, 0x63, 0x09, 0xf5, 0xe1, 0x36, 0x1f, 0x2e, 0xf6, 0xde, 0x13, 0x5a, 0xa5, 0x6e, 0x2e, 0xf5,
-	0x7a, 0x56, 0x57, 0x62, 0xc4, 0xa7, 0x00, 0xc1, 0x88, 0xec, 0x11, 0x07, 0xc5, 0xce, 0x55, 0x31,
-	0x46, 0x2d, 0x21, 0x8b, 0x1b, 0x3f, 0x79, 0x0a, 0x25, 0x62, 0x8e, 0x09, 0x36, 0x5c, 0xec, 0xa1,
-	0xef, 0x35, 0x82, 0x5f, 0x0c, 0x0d, 0xf1, 0x8b, 0xa1, 0xf1, 0xdc, 0xc4, 0xd6, 0xa4, 0x37, 0x0f,
-	0x8e, 0xbb, 0x3f, 0x15, 0x03, 0xaa, 0x24, 0xf4, 0x5a, 0xe8, 0x62, 0xef, 0xa4, 0xfc, 0x8b, 0x92,
-	0x65, 0x9e, 0x1f, 0x4d, 0x9d, 0x23, 0x62, 0x9e, 0xaf, 0x33, 0xa3, 0x4f, 0xff, 0x1b, 0x00, 0x00,
-	0xff, 0xff, 0x93, 0x02, 0x3c, 0xb0, 0xd5, 0x18, 0x00, 0x00,
+var fileDescriptor_si_892602ea943a6bbd = []byte{
+	// 2049 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4f, 0x73, 0xdb, 0xb8,
+	0x15, 0x0f, 0x25, 0xd9, 0x96, 0x9e, 0x6c, 0x99, 0x81, 0xbc, 0x09, 0xa3, 0xba, 0x89, 0xcb, 0xae,
+	0x3d, 0x9e, 0x76, 0x22, 0xef, 0x7a, 0x33, 0xcd, 0x4e, 0x92, 0x76, 0x2b, 0x5b, 0xcc, 0x46, 0x1b,
+	0xeb, 0x4f, 0x28, 0x69, 0x3b, 0xdb, 0x8b, 0x86, 0x96, 0x60, 0x2e, 0x63, 0x89, 0xd4, 0x02, 0xa4,
+	0x1b, 0x4f, 0xa7, 0xc7, 0x9e, 0x3b, 0x7b, 0xea, 0xb4, 0xd3, 0x5b, 0x67, 0xfa, 0x21, 0x7a, 0xea,
+	0xb1, 0x1f, 0xa0, 0xfd, 0x06, 0x3d, 0xf5, 0xd0, 0x5b, 0xef, 0x1d, 0x80, 0xe0, 0x3f, 0x91, 0x72,
+	0x94, 0x4e, 0xf6, 0x46, 0x3c, 0xfc, 0x1e, 0xf0, 0xf0, 0xde, 0xc3, 0x0f, 0x0f, 0x20, 0xec, 0x5f,
+	0x7b, 0xb6, 0x75, 0xe9, 0x10, 0xfb, 0x21, 0x1d, 0x7f, 0x8d, 0x27, 0xde, 0x14, 0x93, 0x87, 0x96,
+	0xed, 0x62, 0x72, 0x61, 0x8c, 0xf1, 0x11, 0xb5, 0xea, 0x73, 0xe2, 0xb8, 0x0e, 0x5a, 0xa3, 0x56,
+	0xfd, 0xea, 0xe3, 0xda, 0x9e, 0xe9, 0x38, 0xe6, 0x14, 0x1f, 0x71, 0xe1, 0xb9, 0x77, 0x71, 0x34,
+	0xc1, 0x74, 0x4c, 0xac, 0xb9, 0xeb, 0x10, 0x1f, 0xa8, 0xfe, 0x31, 0x07, 0xf7, 0x75, 0x6c, 0x5a,
+	0xd4, 0xc5, 0x44, 0xc7, 0xd4, 0xf1, 0xc8, 0x18, 0xb7, 0x0d, 0xdb, 0x30, 0x59, 0xf3, 0x1b, 0x0f,
+	0x53, 0x17, 0x21, 0x28, 0x90, 0x59, 0xab, 0xa9, 0x48, 0x7b, 0xd2, 0x61, 0x49, 0xe7, 0xdf, 0x48,
+	0x81, 0x8d, 0x2b, 0x4c, 0xa8, 0xe5, 0xd8, 0x4a, 0x8e, 0x8b, 0x83, 0x26, 0xda, 0x83, 0xf2, 0xdc,
+	0x99, 0x5a, 0xe3, 0xeb, 0xcf, 0x89, 0xe3, 0xcd, 0x95, 0x3c, 0xef, 0x8d, 0x8b, 0x90, 0x0e, 0xa5,
+	0x73, 0xcf, 0x9a, 0x4e, 0x5a, 0xf6, 0x85, 0xa3, 0x14, 0xf6, 0xf2, 0x87, 0xe5, 0xe3, 0x47, 0x75,
+	0x6e, 0x6f, 0xfd, 0x66, 0x4b, 0xea, 0x27, 0x81, 0x9a, 0x66, 0xbb, 0xe4, 0x5a, 0x8f, 0x86, 0x41,
+	0x77, 0x60, 0x7d, 0xec, 0xd8, 0x17, 0x96, 0xa9, 0xac, 0xf1, 0x09, 0x45, 0xab, 0xf6, 0x0c, 0x2a,
+	0x49, 0x25, 0x24, 0x43, 0xfe, 0x12, 0x5f, 0x8b, 0xc5, 0xb0, 0x4f, 0xb4, 0x03, 0x6b, 0x57, 0xc6,
+	0xd4, 0xc3, 0x62, 0x25, 0x7e, 0xe3, 0x49, 0xee, 0x53, 0x49, 0xfd, 0x01, 0x3c, 0x58, 0x6a, 0x11,
+	0x9d, 0x3b, 0x36, 0xc5, 0xea, 0xef, 0x24, 0xb8, 0xdd, 0x98, 0x4e, 0x9d, 0xb1, 0xe1, 0x5a, 0x8e,
+	0x1d, 0xb8, 0xec, 0x10, 0x0a, 0x06, 0xbd, 0xa4, 0x8a, 0xc4, 0x57, 0xb7, 0x23, 0x56, 0x17, 0xe1,
+	0x1a, 0xf4, 0x52, 0xe7, 0x08, 0xf4, 0x0c, 0x8a, 0x04, 0x4f, 0xb1, 0x41, 0x31, 0xe5, 0xf3, 0x97,
+	0x8f, 0xf7, 0x52, 0x68, 0x5d, 0x00, 0xc4, 0xe8, 0x7a, 0xa8, 0x11, 0x86, 0x26, 0x1f, 0x85, 0x46,
+	0xfd, 0x56, 0x02, 0xd4, 0x98, 0xcf, 0xa7, 0x56, 0xd2, 0xa4, 0x3a, 0xe4, 0x6d, 0xfc, 0x2b, 0x61,
+	0xd1, 0x6e, 0x30, 0xc7, 0x64, 0x92, 0x86, 0xea, 0x0c, 0x88, 0x1e, 0xc3, 0x3a, 0xc1, 0x33, 0xe7,
+	0x8a, 0xb9, 0x85, 0xa9, 0x3c, 0x08, 0x43, 0xc4, 0x84, 0x19, 0x5a, 0x02, 0x9e, 0x69, 0xd3, 0x0b,
+	0x28, 0x77, 0x9c, 0x09, 0x0e, 0x6c, 0xd9, 0x87, 0x35, 0xdb, 0x99, 0xe0, 0xc0, 0x3f, 0xdb, 0x62,
+	0x68, 0x06, 0x61, 0x81, 0xd2, 0xfd, 0xde, 0x70, 0xa4, 0x5c, 0x6c, 0xa4, 0x7f, 0xb3, 0xd5, 0xc5,
+	0x3c, 0xe3, 0x87, 0x01, 0xfd, 0x30, 0xbe, 0xba, 0xdb, 0x69, 0x0f, 0xf2, 0x25, 0x3d, 0x0a, 0x7d,
+	0x3d, 0x11, 0x8b, 0x52, 0x96, 0xf9, 0x3a, 0xf4, 0xf1, 0x04, 0x7d, 0x06, 0x9b, 0xc1, 0x77, 0x83,
+	0xc5, 0x34, 0xcf, 0x35, 0xbf, 0x97, 0x19, 0x53, 0xa1, 0x9c, 0x50, 0x40, 0x9f, 0xb2, 0x69, 0x5f,
+	0xe3, 0xb1, 0x8b, 0x27, 0x22, 0xdd, 0x77, 0x43, 0x5f, 0xfa, 0xe2, 0xe4, 0x20, 0x21, 0x5a, 0xfd,
+	0xab, 0x04, 0xd5, 0x84, 0xa7, 0xc5, 0x6a, 0x7f, 0x12, 0x1b, 0xd1, 0x5f, 0x72, 0x6d, 0x71, 0xc4,
+	0x98, 0x56, 0x88, 0x65, 0x7a, 0xc6, 0x78, 0x8c, 0xe7, 0x6e, 0xe8, 0x80, 0x40, 0xaf, 0x21, 0xc4,
+	0x09, 0xbd, 0x00, 0x8b, 0x3e, 0x81, 0x0d, 0x6f, 0x3e, 0x31, 0x98, 0x9a, 0xbf, 0xfa, 0x7b, 0x42,
+	0x6d, 0xe8, 0x4b, 0xe3, 0x5a, 0x01, 0x52, 0x9d, 0xc3, 0xa6, 0x1f, 0x73, 0x61, 0xf4, 0x51, 0xca,
+	0xe8, 0xea, 0x82, 0xd1, 0x1c, 0x1e, 0x59, 0x7b, 0x94, 0xb2, 0xb6, 0xba, 0x60, 0xad, 0xaf, 0x10,
+	0x80, 0xd4, 0xbf, 0x48, 0x80, 0xd2, 0x16, 0xa1, 0x0f, 0x61, 0xcb, 0x88, 0x9a, 0x21, 0x91, 0x25,
+	0x85, 0x8c, 0x05, 0xa8, 0x6b, 0xb8, 0x21, 0x0b, 0xf0, 0x06, 0x7a, 0x02, 0x0a, 0xff, 0x18, 0x10,
+	0xc3, 0xa6, 0x16, 0x83, 0x0e, 0xac, 0x19, 0xa6, 0xae, 0x31, 0xf3, 0xa9, 0x2d, 0xaf, 0x2f, 0xed,
+	0x67, 0x1c, 0x39, 0xc3, 0x94, 0x1a, 0x26, 0x56, 0x0a, 0x3e, 0x47, 0x8a, 0xa6, 0xda, 0x87, 0x6a,
+	0x46, 0xa0, 0x56, 0x34, 0xf4, 0x0e, 0xdb, 0x98, 0x06, 0x0d, 0x99, 0x57, 0xb4, 0xd4, 0xa7, 0x50,
+	0xcd, 0x88, 0xe2, 0x6a, 0x83, 0xaa, 0x3f, 0x83, 0xcd, 0x78, 0x14, 0xd8, 0x24, 0x6c, 0x0f, 0x86,
+	0x70, 0xd1, 0x5a, 0x3a, 0xf9, 0x01, 0x6c, 0xc6, 0x83, 0xb2, 0x4c, 0x5f, 0xfd, 0xbd, 0x04, 0xc5,
+	0x80, 0x4a, 0xd1, 0x33, 0x28, 0x11, 0xf1, 0x1d, 0x50, 0xc1, 0xfd, 0x30, 0x25, 0x7c, 0x79, 0xf8,
+	0x41, 0x05, 0xe5, 0x87, 0x0a, 0xb5, 0x36, 0x54, 0x92, 0x9d, 0x19, 0xd4, 0xbe, 0x1f, 0xa7, 0xf6,
+	0x88, 0x68, 0x5e, 0x79, 0x86, 0xed, 0x5a, 0xee, 0x75, 0x9c, 0xeb, 0xf7, 0xa0, 0x18, 0x88, 0xa3,
+	0x13, 0x41, 0xe2, 0x21, 0xf6, 0x1b, 0xea, 0xb7, 0x05, 0xd8, 0x4a, 0xec, 0x54, 0xee, 0xdb, 0x50,
+	0xf0, 0x32, 0x9c, 0x3a, 0x29, 0x4c, 0x47, 0x20, 0x97, 0x15, 0xd6, 0x0f, 0x61, 0x6b, 0x6e, 0x10,
+	0x97, 0xe7, 0x50, 0xc7, 0x98, 0x61, 0xc1, 0x9f, 0x49, 0x21, 0xfa, 0x18, 0xca, 0x81, 0x07, 0x1a,
+	0xf4, 0x92, 0xe7, 0x55, 0xb4, 0xac, 0xc0, 0x1d, 0x7a, 0x1c, 0x83, 0x0e, 0xa0, 0x32, 0x33, 0xde,
+	0x44, 0x86, 0x53, 0x7e, 0x44, 0xae, 0xe9, 0x0b, 0x52, 0x54, 0x83, 0xe2, 0x9c, 0x58, 0x0e, 0xb1,
+	0xdc, 0x6b, 0x65, 0x9d, 0x23, 0xc2, 0x36, 0x3a, 0x81, 0x5d, 0xfc, 0x06, 0x8f, 0xbd, 0x20, 0xc1,
+	0x1d, 0xcf, 0x6d, 0x5b, 0xd3, 0xa9, 0xd5, 0xc7, 0x63, 0xc7, 0x9e, 0x50, 0x65, 0x83, 0xfb, 0xe9,
+	0x46, 0x0c, 0x3a, 0x86, 0x82, 0x6b, 0x98, 0x54, 0x29, 0x26, 0x02, 0x9d, 0x70, 0x68, 0x7d, 0x60,
+	0x98, 0x22, 0xd0, 0x1c, 0xcb, 0x9c, 0xe2, 0x1a, 0xf4, 0x92, 0xd7, 0x0d, 0xdc, 0x29, 0x25, 0xdf,
+	0x29, 0x09, 0x21, 0x2f, 0x39, 0xa6, 0xc6, 0x18, 0x7f, 0xed, 0x4c, 0x27, 0x98, 0x28, 0xb0, 0x27,
+	0x1d, 0x16, 0xf5, 0xb8, 0x08, 0xdd, 0x07, 0xe8, 0x12, 0xcb, 0xb4, 0x6c, 0xc3, 0x75, 0x88, 0x52,
+	0xe6, 0x80, 0x98, 0xa4, 0xf6, 0x18, 0x4a, 0xe1, 0xd4, 0xef, 0x54, 0x21, 0xfc, 0x23, 0x0f, 0x1f,
+	0x64, 0x1e, 0xa2, 0x2b, 0x6e, 0xe6, 0x5d, 0x28, 0x7d, 0xe3, 0x61, 0x0f, 0xf3, 0xc5, 0xf9, 0xa3,
+	0x47, 0x82, 0x15, 0x73, 0xe2, 0x21, 0xe4, 0x3d, 0xd3, 0x12, 0xb9, 0x10, 0x9c, 0x4b, 0x43, 0x8a,
+	0x09, 0xf7, 0x10, 0x3b, 0x50, 0xc9, 0x4c, 0x9c, 0x82, 0x9e, 0x69, 0xa1, 0x27, 0x22, 0x0e, 0x6b,
+	0x3c, 0x0e, 0x07, 0x37, 0x55, 0x02, 0xa9, 0x78, 0xbc, 0x2d, 0x0f, 0xd6, 0x57, 0xc8, 0x83, 0xc7,
+	0x50, 0x89, 0x85, 0x86, 0x65, 0xf1, 0x46, 0x76, 0x16, 0x2f, 0xc0, 0xd0, 0x47, 0x50, 0x35, 0x0d,
+	0xdb, 0xec, 0xfb, 0x75, 0xaf, 0x65, 0x9b, 0x7d, 0xf7, 0x7a, 0x8a, 0x95, 0x22, 0xf7, 0x49, 0x56,
+	0xd7, 0xff, 0x1f, 0xd6, 0x0b, 0x50, 0x96, 0xd5, 0x39, 0x2b, 0x06, 0x36, 0x15, 0xba, 0x5c, 0x46,
+	0xe8, 0xd4, 0x13, 0xd8, 0xc9, 0x0a, 0x14, 0xab, 0x7c, 0x3c, 0x8a, 0x49, 0x50, 0x72, 0xb3, 0x6f,
+	0x46, 0xa9, 0x26, 0xc3, 0x51, 0x7e, 0x18, 0x96, 0x74, 0xd1, 0x52, 0xff, 0x93, 0x07, 0x88, 0x76,
+	0xd1, 0x8a, 0x9c, 0xd4, 0x86, 0x4a, 0x24, 0x60, 0x3e, 0x12, 0x27, 0xec, 0x7e, 0x6a, 0x5b, 0xc6,
+	0x3e, 0xa3, 0x6c, 0x58, 0x50, 0x66, 0xf6, 0x0e, 0x87, 0x51, 0xcd, 0xc7, 0xbe, 0xd1, 0x53, 0x90,
+	0x03, 0x1a, 0xea, 0x61, 0xc2, 0x47, 0xe1, 0xcc, 0x93, 0x11, 0xe9, 0x14, 0xf0, 0x46, 0x32, 0x8a,
+	0xce, 0x96, 0x62, 0xe2, 0x6c, 0x4a, 0x05, 0xa6, 0xb4, 0x52, 0x60, 0x20, 0x6b, 0x4f, 0xa5, 0x88,
+	0xa7, 0xbc, 0x02, 0xf1, 0x6c, 0xa6, 0x88, 0xa7, 0xd6, 0x80, 0x6a, 0x86, 0xff, 0xde, 0x25, 0x17,
+	0xbf, 0x28, 0x14, 0x37, 0xe4, 0x62, 0x8c, 0x15, 0xd4, 0xbf, 0x49, 0x70, 0x6f, 0xe9, 0xe5, 0x00,
+	0x9d, 0xc1, 0x4e, 0x14, 0x1c, 0x3a, 0x70, 0x44, 0xbf, 0x38, 0x5f, 0x97, 0x17, 0xbc, 0x99, 0x5a,
+	0x68, 0x08, 0x77, 0x8d, 0x38, 0x43, 0xc7, 0x06, 0xcc, 0xbd, 0xbd, 0x0e, 0x5e, 0xa6, 0xab, 0xfe,
+	0x77, 0xe1, 0xd6, 0xe4, 0x4f, 0x96, 0x0a, 0x8d, 0xb4, 0x24, 0x34, 0x2b, 0x1c, 0xa7, 0x59, 0x19,
+	0xf9, 0x73, 0xd8, 0x76, 0x31, 0x99, 0x31, 0xce, 0x67, 0xd1, 0xb8, 0x9e, 0xfb, 0x85, 0x59, 0xe5,
+	0xf8, 0x8e, 0x58, 0xc4, 0x20, 0xd9, 0xab, 0x2f, 0xc2, 0xe3, 0x25, 0xdd, 0x5a, 0xa2, 0xa4, 0x4b,
+	0x6f, 0xbb, 0xf5, 0x8c, 0x6d, 0xa7, 0xfe, 0x4b, 0x82, 0x9d, 0x2c, 0x4f, 0xbd, 0xd7, 0xa5, 0xa7,
+	0x4c, 0xc9, 0x67, 0x31, 0xc0, 0x77, 0xe8, 0x0c, 0xf5, 0x4f, 0x05, 0x28, 0x06, 0x97, 0xb9, 0xa5,
+	0xa5, 0xe4, 0x23, 0x58, 0x37, 0xc6, 0x6e, 0xf0, 0x82, 0x50, 0x09, 0x2f, 0x45, 0x81, 0x62, 0xbd,
+	0xc1, 0x7b, 0x9f, 0x13, 0x67, 0xa6, 0xb7, 0x75, 0x81, 0x45, 0x9f, 0x01, 0x18, 0xae, 0x4b, 0xac,
+	0x73, 0xcf, 0xc5, 0xc1, 0x5d, 0xec, 0x41, 0x4a, 0x33, 0x44, 0xf8, 0x74, 0x15, 0x53, 0x41, 0x0d,
+	0xa8, 0x8a, 0x97, 0x13, 0xe3, 0x7c, 0x8a, 0x03, 0x0a, 0x5a, 0x56, 0x49, 0x65, 0x61, 0x19, 0xb3,
+	0x39, 0xe3, 0xb1, 0x37, 0xb7, 0xf0, 0x24, 0xd4, 0x5f, 0xc6, 0x6c, 0x8b, 0x40, 0x74, 0x0a, 0x55,
+	0xfc, 0xc6, 0xa2, 0xae, 0x65, 0x9b, 0xf1, 0x9a, 0x6c, 0x7d, 0xd9, 0xcd, 0x35, 0x0b, 0x5d, 0xfb,
+	0x29, 0x6c, 0x2f, 0xac, 0xf1, 0x9d, 0x8e, 0xb7, 0xdf, 0xb0, 0x6a, 0x3d, 0x72, 0x2e, 0xaa, 0xc1,
+	0x9d, 0x61, 0xe7, 0x65, 0xa7, 0xfb, 0x8b, 0xce, 0xa8, 0x71, 0x3a, 0x68, 0x75, 0x3b, 0xa3, 0xe7,
+	0x7a, 0xb7, 0x3d, 0xd2, 0xdb, 0xf2, 0x2d, 0x04, 0xb0, 0x7e, 0xaa, 0x6b, 0x8d, 0x81, 0x26, 0x4b,
+	0xec, 0x7b, 0xd8, 0x6b, 0xb2, 0xef, 0x1c, 0xaa, 0x00, 0x34, 0xf5, 0x46, 0xab, 0x33, 0xea, 0x74,
+	0x9b, 0x9a, 0x9c, 0x47, 0xdb, 0x50, 0x6e, 0x6a, 0xa7, 0xdd, 0x76, 0xab, 0xdf, 0x6f, 0x75, 0x3b,
+	0x72, 0x01, 0x29, 0xb0, 0xe3, 0x03, 0x06, 0xdd, 0x51, 0xff, 0xf4, 0x85, 0xd6, 0x1c, 0x9e, 0x35,
+	0x4e, 0xce, 0x34, 0x79, 0x4d, 0xfd, 0x35, 0x7c, 0x90, 0x79, 0xf3, 0x7d, 0xaf, 0xf5, 0x74, 0x74,
+	0x53, 0xc9, 0x27, 0x6e, 0x2a, 0xaf, 0xa1, 0xd2, 0x23, 0x78, 0xc2, 0x80, 0x98, 0x36, 0x88, 0x5f,
+	0x64, 0xae, 0x30, 0x6b, 0x94, 0xc6, 0xb9, 0x44, 0x1a, 0xd7, 0xa0, 0x28, 0x80, 0x7e, 0x79, 0x56,
+	0xd4, 0xc3, 0xb6, 0xfa, 0xf7, 0x1c, 0xec, 0xfb, 0x17, 0xd2, 0x53, 0xc7, 0x76, 0x0d, 0xcb, 0xc6,
+	0x24, 0x5e, 0xa2, 0x18, 0x6e, 0xf8, 0x22, 0x72, 0x00, 0x15, 0x61, 0x3e, 0x49, 0x54, 0x15, 0x0b,
+	0xd2, 0xb4, 0xad, 0xb9, 0x2c, 0x5b, 0xf5, 0xe0, 0x2e, 0x9b, 0xe7, 0x3b, 0xeb, 0x59, 0xe2, 0xb6,
+	0xfe, 0x16, 0x53, 0xea, 0x8b, 0x62, 0x71, 0x13, 0x8e, 0xfc, 0x59, 0x48, 0xf8, 0x13, 0xc3, 0xf6,
+	0x82, 0x06, 0xda, 0x05, 0x25, 0x48, 0x27, 0x11, 0xf8, 0x56, 0xe7, 0xf3, 0x51, 0x7f, 0xc0, 0x12,
+	0xe7, 0x16, 0x2a, 0xc3, 0x46, 0xff, 0x65, 0xab, 0xd7, 0xd3, 0x9a, 0xb2, 0x84, 0xb6, 0xa0, 0x24,
+	0x20, 0x5a, 0x53, 0xce, 0xa1, 0x4d, 0x28, 0xea, 0x5a, 0x5f, 0xd3, 0xbf, 0xd4, 0x9a, 0x72, 0x9e,
+	0xa5, 0xdb, 0xf3, 0x46, 0x8b, 0xf5, 0x14, 0xd4, 0x6b, 0xa8, 0x85, 0xe6, 0x5f, 0x58, 0xa6, 0x47,
+	0x12, 0x35, 0x59, 0xc6, 0x4b, 0xd1, 0x0a, 0x0f, 0x91, 0xd1, 0xa3, 0x61, 0x21, 0xfe, 0x68, 0xf8,
+	0x45, 0xa1, 0x28, 0xc9, 0x39, 0x7d, 0xc3, 0x6f, 0x51, 0xf5, 0x0f, 0x39, 0x28, 0x6b, 0x57, 0xd8,
+	0x76, 0x75, 0x3c, 0x76, 0xc8, 0x04, 0xfd, 0x18, 0x0a, 0x2e, 0xa3, 0x4b, 0x89, 0x3b, 0xf7, 0xae,
+	0x70, 0x6e, 0x0c, 0x51, 0xe7, 0x7c, 0xc9, 0x41, 0x2c, 0x3d, 0x9c, 0x73, 0x96, 0xeb, 0xa1, 0x75,
+	0x61, 0x9b, 0x11, 0x28, 0xaf, 0xe1, 0xc2, 0x63, 0x2a, 0x68, 0x2e, 0x73, 0xf6, 0xcd, 0xe7, 0x8f,
+	0x1b, 0xbc, 0x3c, 0x74, 0x0c, 0xdb, 0x11, 0xa5, 0x78, 0x52, 0xa8, 0x76, 0xa1, 0xc0, 0xa9, 0x3b,
+	0x16, 0x21, 0xed, 0x4b, 0xad, 0x33, 0xd0, 0xb5, 0xd3, 0xae, 0xde, 0x1c, 0x0d, 0xbe, 0xea, 0x89,
+	0x08, 0xe9, 0xda, 0xab, 0xa1, 0xd6, 0x1f, 0xc8, 0x12, 0xda, 0x80, 0x7c, 0xa3, 0xd7, 0x93, 0x73,
+	0xa8, 0x08, 0x05, 0xb1, 0xd5, 0x4b, 0xb0, 0xf6, 0x6a, 0xa8, 0x0d, 0x35, 0xb9, 0xf0, 0xa3, 0xdf,
+	0x4a, 0xb0, 0xbd, 0x70, 0x50, 0xc4, 0x07, 0x1f, 0x68, 0x7a, 0xbb, 0xd5, 0x69, 0x70, 0x4a, 0x11,
+	0x83, 0xdf, 0x86, 0xad, 0xfe, 0xa0, 0xcb, 0xc2, 0x3f, 0x3a, 0xf9, 0x8a, 0x51, 0x8c, 0xc4, 0xe6,
+	0x1b, 0xb4, 0xda, 0x5a, 0x77, 0x38, 0x90, 0x73, 0x8c, 0x8b, 0x7a, 0xba, 0xa6, 0xb5, 0x7b, 0x03,
+	0x1f, 0x11, 0xa4, 0x87, 0x2e, 0xe7, 0x19, 0xa5, 0xf4, 0xce, 0x1a, 0xa7, 0xda, 0x8b, 0xee, 0x59,
+	0x53, 0xd3, 0x47, 0xba, 0xc6, 0x5b, 0x4d, 0xb9, 0x70, 0xfc, 0xcf, 0x1c, 0x94, 0xfa, 0xc1, 0x83,
+	0x38, 0x7a, 0x0d, 0x77, 0x97, 0xbc, 0xdb, 0xa2, 0xfd, 0x95, 0x5e, 0x9a, 0x6b, 0x07, 0x6f, 0x83,
+	0x89, 0xe7, 0xdf, 0x5b, 0xa8, 0x0d, 0xb2, 0x9f, 0x98, 0xb1, 0x1a, 0x3c, 0xab, 0xca, 0xf2, 0xc7,
+	0xbd, 0x97, 0xd1, 0x13, 0x0c, 0x75, 0x28, 0x7d, 0x24, 0xa1, 0x1e, 0xdc, 0x16, 0xc3, 0xc5, 0xde,
+	0x70, 0x42, 0xad, 0xd4, 0x6d, 0xa4, 0x56, 0xcb, 0xea, 0x4a, 0x8c, 0xf8, 0x14, 0xc0, 0x1f, 0x91,
+	0x3f, 0xcc, 0xa0, 0xd8, 0x59, 0x19, 0x8c, 0x51, 0x4d, 0xc8, 0xe2, 0xca, 0x4f, 0x9e, 0x42, 0x89,
+	0x5a, 0x23, 0x8a, 0xc7, 0x04, 0xbb, 0xe8, 0xfb, 0x75, 0xff, 0x77, 0x42, 0x3d, 0xf8, 0x9d, 0x50,
+	0x7f, 0x6e, 0xe1, 0xe9, 0xa4, 0x3b, 0xf7, 0x8f, 0xb0, 0x3f, 0x17, 0x7d, 0xfa, 0xa3, 0xec, 0xaa,
+	0x47, 0xb0, 0x7b, 0x52, 0xfe, 0x65, 0x69, 0x6a, 0x9d, 0x1f, 0x99, 0xce, 0x11, 0xb5, 0xce, 0xd7,
+	0xb9, 0xd2, 0x27, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x41, 0x11, 0xf9, 0xc1, 0x18, 0x00,
+	0x00,
 }
diff --git a/scheduler-interface-spec.md b/scheduler-interface-spec.md
index 49e439b..566d470 100644
--- a/scheduler-interface-spec.md
+++ b/scheduler-interface-spec.md
@@ -158,7 +158,7 @@
 	UpdateNode(request *si.NodeRequest) error
 
 	// Notify scheduler to reload configuration and hot-refresh in-memory state based on configuration changes
-	UpdateConfiguration(clusterID string) error
+	UpdateConfiguration(request *si.UpdateConfigurationRequest) error
 }
 
 // RM side needs to implement this API
@@ -189,9 +189,6 @@
 	// the shim side cannot assume to only receive updates on state changes
 	// the shim side implementation must be thread safe
 	UpdateContainerSchedulingState(request *si.UpdateContainerSchedulingStateRequest)
-
-	// Update configuration
-	UpdateConfiguration(args *si.UpdateConfigurationRequest) *si.UpdateConfigurationResponse
 }
 ```
 
@@ -233,6 +230,9 @@
 
   // Pass the build information of k8shim to core.
   map<string, string> buildInfo = 4;
+
+  // Pass the serialized configuration for this policyGroup to core.
+  string config = 5;
 }
 
 // Upon success, scheduler returns RegisterResourceManagerResponse to RM, otherwise RM receives exception.
@@ -774,19 +774,17 @@
 }
 
 message UpdateConfigurationRequest {
-    // New config what needs to be saved
-    string configs = 1;
-}
+  // RM ID to update
+  string rmID = 2;
 
-message UpdateConfigurationResponse {
-    // flag that marks the config update success or failure
-    bool success = 1;
+  // PolicyGroup to update
+  string policyGroup = 3;
 
-    // the old configuration what was changed
-    string oldConfig = 2;
+  // New configuration to update
+  string config = 4;
 
-    // reason in case of failure
-    string reason = 3;
+  reserved 1;
+  reserved "configs";
 }
 ```
 
diff --git a/si.proto b/si.proto
index de5a9a8..46c3822 100644
--- a/si.proto
+++ b/si.proto
@@ -78,6 +78,9 @@
 
   // Pass the build information of k8shim to core.
   map<string, string> buildInfo = 4;
+
+  // Pass the serialized configuration for this policyGroup to core.
+  string config = 5;
 }
 
 // Upon success, scheduler returns RegisterResourceManagerResponse to RM, otherwise RM receives exception.
@@ -430,19 +433,17 @@
 }
 
 message UpdateConfigurationRequest {
-    // New config what needs to be saved
-    string configs = 1;
-}
+  // RM ID to update
+  string rmID = 2;
 
-message UpdateConfigurationResponse {
-    // flag that marks the config update success or failure
-    bool success = 1;
+  // PolicyGroup to update
+  string policyGroup = 3;
 
-    // the old configuration what was changed
-    string oldConfig = 2;
+  // New configuration to update
+  string config = 4;
 
-    // reason in case of failure
-    string reason = 3;
+  reserved 1;
+  reserved "configs";
 }
 message EventRecord {
    enum Type {
