Precheck Capacity before Provisioning Virtual Machines and Virtual Hard Disks (#266)

This commit is contained in:
JamesLiang29 2024-06-20 09:00:51 +08:00 коммит произвёл GitHub
Родитель cf47788f85
Коммит c652621f71
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
6 изменённых файлов: 476 добавлений и 169 удалений

5
go.mod
Просмотреть файл

@ -15,9 +15,8 @@ require (
)
require (
golang.org/x/net v0.25.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
google.golang.org/protobuf v1.34.1 // indirect
golang.org/x/net v0.26.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4 // indirect
)
replace (

29
go.sum
Просмотреть файл

@ -866,8 +866,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@ -1056,6 +1057,9 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -1113,8 +1117,10 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@ -1161,8 +1167,11 @@ golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24 h1:TyKJRhyo17yWxOMCTHKWrc5rddHORMlnZ/j57umaUd8=
golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
@ -1173,8 +1182,10 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo=
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@ -1192,9 +1203,11 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@ -1263,6 +1276,8 @@ golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4=
golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -1506,8 +1521,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.
google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 h1:DujSIu+2tC9Ht0aPNA7jgj23Iq8Ewi5sgkQ++wdvonE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4 h1:Di6ANFilr+S60a4S61ZM00vLdw0IrQOSMS2/6mrnOU0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
@ -1530,8 +1545,8 @@ google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=

Просмотреть файл

@ -1309,6 +1309,94 @@ func (m *VirtualMachineRunCommandResponse) GetInstanceView() *common.VirtualMach
return nil
}
type VirtualMachinePrecheckRequest struct {
VirtualMachines []*VirtualMachine `protobuf:"bytes,1,rep,name=VirtualMachines,proto3" json:"VirtualMachines,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VirtualMachinePrecheckRequest) Reset() { *m = VirtualMachinePrecheckRequest{} }
func (m *VirtualMachinePrecheckRequest) String() string { return proto.CompactTextString(m) }
func (*VirtualMachinePrecheckRequest) ProtoMessage() {}
func (*VirtualMachinePrecheckRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a65ab853cd24c92b, []int{21}
}
func (m *VirtualMachinePrecheckRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VirtualMachinePrecheckRequest.Unmarshal(m, b)
}
func (m *VirtualMachinePrecheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VirtualMachinePrecheckRequest.Marshal(b, m, deterministic)
}
func (m *VirtualMachinePrecheckRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_VirtualMachinePrecheckRequest.Merge(m, src)
}
func (m *VirtualMachinePrecheckRequest) XXX_Size() int {
return xxx_messageInfo_VirtualMachinePrecheckRequest.Size(m)
}
func (m *VirtualMachinePrecheckRequest) XXX_DiscardUnknown() {
xxx_messageInfo_VirtualMachinePrecheckRequest.DiscardUnknown(m)
}
var xxx_messageInfo_VirtualMachinePrecheckRequest proto.InternalMessageInfo
func (m *VirtualMachinePrecheckRequest) GetVirtualMachines() []*VirtualMachine {
if m != nil {
return m.VirtualMachines
}
return nil
}
type VirtualMachinePrecheckResponse struct {
// The precheck result: true if the precheck criteria is passed; otherwise, false
Result *wrappers.BoolValue `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
// The error message if the precheck is not passed; otherwise, empty string
Error string `protobuf:"bytes,2,opt,name=Error,proto3" json:"Error,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VirtualMachinePrecheckResponse) Reset() { *m = VirtualMachinePrecheckResponse{} }
func (m *VirtualMachinePrecheckResponse) String() string { return proto.CompactTextString(m) }
func (*VirtualMachinePrecheckResponse) ProtoMessage() {}
func (*VirtualMachinePrecheckResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a65ab853cd24c92b, []int{22}
}
func (m *VirtualMachinePrecheckResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VirtualMachinePrecheckResponse.Unmarshal(m, b)
}
func (m *VirtualMachinePrecheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VirtualMachinePrecheckResponse.Marshal(b, m, deterministic)
}
func (m *VirtualMachinePrecheckResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_VirtualMachinePrecheckResponse.Merge(m, src)
}
func (m *VirtualMachinePrecheckResponse) XXX_Size() int {
return xxx_messageInfo_VirtualMachinePrecheckResponse.Size(m)
}
func (m *VirtualMachinePrecheckResponse) XXX_DiscardUnknown() {
xxx_messageInfo_VirtualMachinePrecheckResponse.DiscardUnknown(m)
}
var xxx_messageInfo_VirtualMachinePrecheckResponse proto.InternalMessageInfo
func (m *VirtualMachinePrecheckResponse) GetResult() *wrappers.BoolValue {
if m != nil {
return m.Result
}
return nil
}
func (m *VirtualMachinePrecheckResponse) GetError() string {
if m != nil {
return m.Error
}
return ""
}
func init() {
proto.RegisterEnum("moc.cloudagent.compute.VMType", VMType_name, VMType_value)
proto.RegisterType((*VirtualMachineRequest)(nil), "moc.cloudagent.compute.VirtualMachineRequest")
@ -1332,6 +1420,8 @@ func init() {
proto.RegisterType((*VirtualMachineOperationResponse)(nil), "moc.cloudagent.compute.VirtualMachineOperationResponse")
proto.RegisterType((*VirtualMachineRunCommandRequest)(nil), "moc.cloudagent.compute.VirtualMachineRunCommandRequest")
proto.RegisterType((*VirtualMachineRunCommandResponse)(nil), "moc.cloudagent.compute.VirtualMachineRunCommandResponse")
proto.RegisterType((*VirtualMachinePrecheckRequest)(nil), "moc.cloudagent.compute.VirtualMachinePrecheckRequest")
proto.RegisterType((*VirtualMachinePrecheckResponse)(nil), "moc.cloudagent.compute.VirtualMachinePrecheckResponse")
}
func init() {
@ -1339,117 +1429,121 @@ func init() {
}
var fileDescriptor_a65ab853cd24c92b = []byte{
// 1760 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0x4f, 0x6f, 0xe3, 0xc6,
0x15, 0x8f, 0x64, 0x5b, 0xb6, 0x9e, 0xff, 0xac, 0x3d, 0x6b, 0x7b, 0x59, 0xd7, 0xeb, 0x18, 0xdc,
0x20, 0x70, 0xb6, 0x89, 0x94, 0x3a, 0xdb, 0x6d, 0x50, 0xa4, 0x08, 0x64, 0x4b, 0xbb, 0x36, 0x62,
0xcb, 0xea, 0x48, 0xde, 0x05, 0x8c, 0x02, 0xce, 0x98, 0x1a, 0xcb, 0x03, 0x8b, 0x1c, 0x76, 0x66,
0x68, 0x45, 0x45, 0x2f, 0xcd, 0xa9, 0x45, 0x0f, 0xfd, 0x08, 0xfd, 0x12, 0x69, 0x6f, 0x3d, 0xf4,
0xde, 0xcf, 0xd1, 0x6b, 0xbf, 0x42, 0x31, 0x43, 0x4a, 0x22, 0x29, 0xd2, 0xf0, 0x02, 0xdd, 0x43,
0x4e, 0x12, 0xdf, 0xfb, 0xfd, 0x7e, 0x7c, 0x7c, 0xf3, 0xde, 0x9b, 0x19, 0x78, 0xe6, 0x72, 0xe7,
0xd2, 0xe9, 0xf3, 0xa0, 0x4b, 0x7a, 0xd4, 0x53, 0x97, 0x77, 0x4c, 0xa8, 0x80, 0xf4, 0x5d, 0xe2,
0xdc, 0x30, 0x8f, 0x56, 0x7c, 0xc1, 0x15, 0x47, 0x9b, 0x2e, 0x77, 0x2a, 0x13, 0x50, 0xc5, 0xe1,
0xae, 0x1f, 0x28, 0xba, 0xb5, 0xd3, 0xe3, 0xbc, 0xd7, 0xa7, 0x55, 0x83, 0xba, 0x0a, 0xae, 0xab,
0x03, 0x41, 0x7c, 0x9f, 0x0a, 0x19, 0xf2, 0xb6, 0x9e, 0x18, 0x71, 0xee, 0xba, 0xdc, 0x8b, 0x7e,
0x22, 0xc7, 0x4e, 0xd2, 0xa1, 0xc5, 0xe2, 0x7e, 0xfb, 0x6f, 0x05, 0xd8, 0x78, 0x13, 0x46, 0x72,
0x1a, 0x46, 0x82, 0xe9, 0xef, 0x02, 0x2a, 0x15, 0x6a, 0xc1, 0xa3, 0xa4, 0x43, 0x5a, 0x85, 0xdd,
0x99, 0xbd, 0xc5, 0xfd, 0x8f, 0x2b, 0xd9, 0x41, 0x56, 0x52, 0x3a, 0x69, 0x3a, 0x7a, 0x01, 0xcb,
0x67, 0x3e, 0x15, 0x44, 0x31, 0xee, 0x75, 0x86, 0x3e, 0xb5, 0x8a, 0xbb, 0x85, 0xbd, 0x95, 0xfd,
0x15, 0xa3, 0x37, 0xf6, 0xe0, 0x24, 0xc8, 0xfe, 0xa1, 0x00, 0x9b, 0xe9, 0x08, 0xa5, 0xcf, 0x3d,
0x49, 0xdf, 0x43, 0x88, 0xfb, 0x50, 0xc2, 0x54, 0x06, 0x7d, 0x65, 0x62, 0x5b, 0xdc, 0xdf, 0xaa,
0x84, 0x89, 0xaf, 0x8c, 0x12, 0x5f, 0x39, 0xe0, 0xbc, 0xff, 0x86, 0xf4, 0x03, 0x8a, 0x23, 0x24,
0x5a, 0x87, 0xb9, 0x86, 0x10, 0x5c, 0x58, 0x33, 0xbb, 0x85, 0xbd, 0x32, 0x0e, 0x1f, 0xec, 0x0a,
0x2c, 0xb5, 0xdb, 0x47, 0xad, 0xe0, 0xaa, 0xcf, 0x9c, 0x6f, 0xe8, 0x10, 0xed, 0xc0, 0xfc, 0x2d,
0x1d, 0x76, 0x89, 0x22, 0x56, 0x41, 0xe3, 0x0e, 0x66, 0xff, 0xf4, 0x77, 0xab, 0x80, 0x47, 0x46,
0xdb, 0x86, 0xd9, 0x3a, 0x93, 0xb7, 0x68, 0x0b, 0x16, 0xba, 0x4c, 0xde, 0x7a, 0xc4, 0xa5, 0x21,
0x10, 0x8f, 0x9f, 0xed, 0xff, 0x14, 0x60, 0xbd, 0xad, 0xb8, 0x20, 0x3d, 0x7a, 0xc8, 0xbd, 0x6b,
0xd6, 0x0b, 0xc2, 0x3c, 0xa1, 0x17, 0x50, 0xe2, 0x52, 0xc3, 0x0c, 0x65, 0x71, 0x7f, 0x3b, 0xef,
0xfb, 0xf5, 0x2b, 0x70, 0x84, 0x45, 0xbf, 0x82, 0xb2, 0x7e, 0xb5, 0xfe, 0x2f, 0xad, 0xa2, 0x49,
0xdc, 0xfd, 0xc4, 0x09, 0x1c, 0x7d, 0x0c, 0x2b, 0xcc, 0x25, 0x3d, 0x8a, 0xe9, 0x35, 0x15, 0xd4,
0x73, 0x68, 0xf4, 0xf5, 0x29, 0x2b, 0x7a, 0x01, 0x1b, 0x77, 0x6e, 0x18, 0xec, 0x21, 0xf7, 0x14,
0x61, 0x1e, 0x15, 0x4d, 0xfd, 0x6d, 0xb3, 0x06, 0x9e, 0xed, 0xb4, 0x5f, 0xc1, 0x6a, 0x93, 0xaa,
0x01, 0x17, 0xb7, 0xc7, 0x9e, 0xa2, 0xe2, 0x9a, 0x38, 0x14, 0xed, 0xc3, 0xba, 0x97, 0xb2, 0x35,
0x27, 0x49, 0xca, 0xf4, 0xd9, 0xdf, 0xc2, 0x7a, 0xa4, 0x93, 0xcc, 0xd7, 0x11, 0x00, 0x1b, 0x01,
0x47, 0x35, 0xb3, 0x97, 0xf7, 0xe9, 0xe9, 0x48, 0x70, 0x8c, 0x6b, 0x7f, 0x5f, 0x80, 0xb5, 0x73,
0x49, 0x45, 0x52, 0x7f, 0x17, 0x16, 0x02, 0x49, 0xc5, 0x64, 0x11, 0xa3, 0xd5, 0x1e, 0x5b, 0x35,
0xc2, 0x27, 0x52, 0x0e, 0xb8, 0xe8, 0x9a, 0x52, 0x1b, 0x23, 0x46, 0x56, 0xf4, 0x49, 0xa8, 0xa1,
0x74, 0xa3, 0xcc, 0x98, 0x46, 0x59, 0x36, 0x11, 0xea, 0xb7, 0xe9, 0xc6, 0xc0, 0x63, 0xb7, 0x4e,
0x17, 0xae, 0xb7, 0x92, 0x21, 0xec, 0x00, 0x74, 0x99, 0x24, 0x57, 0x7d, 0x8a, 0xeb, 0x2d, 0x13,
0xc4, 0x02, 0x8e, 0x59, 0x10, 0x82, 0x59, 0x9f, 0x8b, 0xb0, 0xce, 0x97, 0xb1, 0xf9, 0x6f, 0x5f,
0x00, 0x3a, 0x61, 0x5e, 0xf0, 0x5d, 0x52, 0xa9, 0x0e, 0x4f, 0x23, 0x5e, 0x2b, 0x8a, 0xad, 0x16,
0xa8, 0x1b, 0xea, 0x29, 0xe6, 0x18, 0x40, 0x24, 0x7e, 0x3f, 0xc8, 0xfe, 0x73, 0x11, 0xd6, 0xdf,
0x32, 0xaf, 0xcb, 0x07, 0x32, 0x29, 0xff, 0x12, 0x36, 0xa9, 0xa7, 0x89, 0xb5, 0x40, 0x71, 0x97,
0x28, 0xe6, 0x9c, 0xfb, 0x5d, 0xa2, 0xcc, 0xba, 0x68, 0xdd, 0x1c, 0xaf, 0x6e, 0x14, 0xc5, 0x5c,
0x7a, 0xc1, 0xbd, 0x70, 0x90, 0x94, 0xf1, 0xf8, 0x19, 0x75, 0xa6, 0x13, 0x62, 0x72, 0x78, 0xcf,
0x2a, 0xa7, 0xf1, 0x78, 0x3a, 0xa5, 0xaf, 0x01, 0xbd, 0x65, 0x1e, 0x3e, 0x4d, 0xea, 0xce, 0x1a,
0xdd, 0x27, 0x46, 0x77, 0xda, 0x8d, 0x33, 0x28, 0xf6, 0xbf, 0xe7, 0x60, 0x3b, 0x1a, 0x72, 0x5e,
0xaf, 0x3d, 0x94, 0x8a, 0xba, 0xc9, 0x37, 0xd9, 0xb0, 0x14, 0xc5, 0x25, 0x62, 0x35, 0x9e, 0xb0,
0xa1, 0x33, 0x58, 0x26, 0x5d, 0x97, 0x79, 0x4c, 0x2a, 0x41, 0x14, 0x17, 0xd1, 0xc4, 0xfa, 0x24,
0xef, 0x03, 0xa7, 0xaa, 0x14, 0x27, 0xf9, 0xe8, 0x6b, 0x98, 0xd3, 0x15, 0x25, 0xad, 0x19, 0xd3,
0x0f, 0xef, 0x20, 0x14, 0xf2, 0xd0, 0x47, 0x00, 0x4e, 0x20, 0x15, 0x77, 0xeb, 0x7a, 0xca, 0xcd,
0xc6, 0xaa, 0x3a, 0x66, 0x47, 0x75, 0x00, 0xdf, 0x4c, 0xc5, 0x5b, 0x3a, 0x94, 0xd6, 0x9c, 0x79,
0xd7, 0x47, 0x79, 0xef, 0x8a, 0x8f, 0x50, 0x1c, 0xe3, 0xa1, 0xcf, 0xf5, 0xc4, 0x33, 0xbd, 0x51,
0x32, 0xbd, 0x61, 0xc5, 0x37, 0x91, 0x51, 0x52, 0x4d, 0x9b, 0x44, 0x38, 0xf4, 0x1b, 0x58, 0xe3,
0xf2, 0x80, 0x73, 0xa5, 0xbf, 0xd7, 0x6f, 0x78, 0x3d, 0xe6, 0x51, 0x6b, 0xde, 0x90, 0x9f, 0x65,
0x91, 0x53, 0x50, 0x3c, 0xcd, 0x46, 0x17, 0x80, 0xfa, 0x53, 0xfd, 0x62, 0x2d, 0x98, 0x75, 0x78,
0x9e, 0xf7, 0x49, 0xd3, 0x1d, 0x86, 0x33, 0x54, 0xd0, 0xb7, 0xb0, 0x3e, 0xc8, 0x68, 0x17, 0xab,
0x6c, 0xd4, 0x3f, 0xcd, 0x53, 0xcf, 0x6a, 0x31, 0x9c, 0xa9, 0xa4, 0xcb, 0xd9, 0x17, 0xfc, 0xbb,
0x61, 0x52, 0x1f, 0x62, 0xe5, 0xdc, 0x9a, 0x72, 0xe3, 0x0c, 0x8a, 0xfd, 0x43, 0x11, 0x36, 0x8e,
0x88, 0xe8, 0x0e, 0x88, 0x48, 0xed, 0x4b, 0x5f, 0x40, 0xe9, 0xcd, 0x69, 0x9b, 0xfd, 0x3e, 0xac,
0xe0, 0x95, 0xfd, 0x9f, 0x1a, 0xd9, 0xe4, 0xa6, 0xab, 0xdd, 0xe1, 0x42, 0x85, 0x50, 0xf4, 0xeb,
0x51, 0x19, 0x19, 0x62, 0x58, 0xd5, 0x4f, 0x33, 0x88, 0x87, 0x63, 0x10, 0x8e, 0x11, 0xd0, 0x25,
0x6c, 0x75, 0x87, 0x1e, 0x71, 0x99, 0x73, 0x4a, 0x5d, 0x2e, 0x86, 0x59, 0x53, 0xe0, 0x43, 0x23,
0x57, 0xcf, 0x85, 0xe1, 0x7b, 0x24, 0xd0, 0x2b, 0x40, 0x77, 0x89, 0x40, 0x5e, 0xb7, 0xce, 0xa5,
0x35, 0x6b, 0x0a, 0x79, 0x33, 0x23, 0xce, 0xd7, 0xad, 0x73, 0x9c, 0xc1, 0xb0, 0xbf, 0x82, 0xa5,
0x73, 0x7a, 0xcd, 0xda, 0x54, 0xe9, 0xa2, 0x93, 0xe8, 0x53, 0x58, 0x93, 0xd4, 0x09, 0x04, 0xd5,
0x65, 0xd6, 0x30, 0x43, 0xaf, 0x1b, 0xcd, 0xc0, 0x69, 0x87, 0xfd, 0x8f, 0x02, 0x6c, 0xb4, 0xb5,
0x95, 0xa9, 0x54, 0x7c, 0xdb, 0x50, 0x0e, 0x47, 0x66, 0xa7, 0x75, 0x1a, 0xf1, 0x27, 0x06, 0x74,
0x04, 0x4b, 0x41, 0xec, 0xad, 0x51, 0x7e, 0x73, 0x1b, 0x30, 0x1e, 0x21, 0x4e, 0x30, 0xd1, 0x2f,
0x60, 0x49, 0x46, 0x01, 0x74, 0x26, 0x9b, 0xd4, 0x9a, 0x51, 0x6a, 0xc7, 0x1c, 0x38, 0x01, 0xb3,
0x4f, 0xc0, 0xaa, 0xdd, 0x11, 0xd6, 0x27, 0x57, 0xac, 0xcf, 0xd4, 0xb0, 0x4d, 0xd5, 0xe4, 0xb4,
0xb0, 0x0d, 0xe5, 0x9e, 0xe0, 0x81, 0x1f, 0x1b, 0x7a, 0x13, 0x83, 0xde, 0xb2, 0xcc, 0x8e, 0x1a,
0x4e, 0x7b, 0xf3, 0xdf, 0xfe, 0xcb, 0x02, 0xac, 0x24, 0xd3, 0x3d, 0x86, 0x15, 0x26, 0x30, 0xb4,
0x02, 0x45, 0x16, 0x6d, 0xb4, 0xb8, 0xc8, 0xba, 0xe8, 0x15, 0xcc, 0xcb, 0xf0, 0x20, 0x15, 0x55,
0x44, 0x6e, 0x43, 0x65, 0x9d, 0xb7, 0xf0, 0x88, 0x8c, 0xea, 0x50, 0xe4, 0x32, 0xda, 0x02, 0x5e,
0xe4, 0x49, 0xdc, 0x37, 0xea, 0x71, 0x91, 0x4b, 0x1d, 0x4d, 0x74, 0x7c, 0xb1, 0xe6, 0xee, 0x8f,
0x26, 0xeb, 0x34, 0x83, 0x47, 0x64, 0xbd, 0x25, 0x7a, 0xbc, 0x1b, 0x1e, 0x8b, 0x4a, 0xe1, 0x96,
0x38, 0x7a, 0x4e, 0xa6, 0x76, 0x3e, 0x9d, 0xda, 0x67, 0x50, 0x92, 0x8a, 0xa8, 0x40, 0x46, 0xd3,
0x6b, 0x31, 0x5c, 0x45, 0x63, 0xc2, 0x91, 0x4b, 0xef, 0x4a, 0x7d, 0x1e, 0x6e, 0xe7, 0x46, 0xa5,
0x1c, 0xee, 0x4a, 0x71, 0x1b, 0xfa, 0x12, 0x9e, 0x44, 0xe7, 0x80, 0x23, 0xd6, 0xbb, 0x89, 0x2f,
0xb4, 0x99, 0x2c, 0x0b, 0x38, 0xcf, 0x8d, 0x5e, 0x42, 0xe9, 0xce, 0x4c, 0x6c, 0x6b, 0xd1, 0x14,
0xd2, 0x4e, 0xee, 0x19, 0xfe, 0x34, 0x1c, 0x17, 0x21, 0x1a, 0x1d, 0xc3, 0xc2, 0x4d, 0x34, 0x7c,
0xac, 0x25, 0x13, 0xfc, 0x67, 0x79, 0xcc, 0xcc, 0x21, 0x85, 0xc7, 0x74, 0xdd, 0x81, 0xa4, 0xdf,
0xe7, 0x03, 0xda, 0x3d, 0x1b, 0xe8, 0xa3, 0x28, 0xef, 0x52, 0x69, 0x2d, 0xef, 0xce, 0xec, 0x95,
0xf1, 0xb4, 0x03, 0x55, 0x01, 0x7c, 0x3e, 0xa0, 0x42, 0x67, 0x89, 0x5a, 0x2b, 0x26, 0xe8, 0x47,
0xe1, 0xdc, 0x1c, 0x9b, 0x71, 0x0c, 0xa2, 0x23, 0x1d, 0x75, 0x82, 0xf5, 0xe8, 0xfe, 0x48, 0x33,
0x3b, 0x1b, 0x8f, 0xe9, 0xe8, 0x29, 0xcc, 0x2a, 0xd2, 0x93, 0xd6, 0xaa, 0x91, 0x29, 0x1b, 0x99,
0x0e, 0xe9, 0x49, 0x6c, 0xcc, 0xe8, 0x2b, 0x80, 0x9e, 0xbe, 0xc4, 0xd5, 0xb4, 0xa8, 0xb5, 0x16,
0xbb, 0x13, 0xbc, 0x1e, 0x9b, 0x93, 0xd2, 0x31, 0x3c, 0xfa, 0x2d, 0x6c, 0x4e, 0x9e, 0x8e, 0x3d,
0xa9, 0x88, 0xe7, 0xd0, 0x37, 0x8c, 0x0e, 0x2c, 0x14, 0x1b, 0x16, 0xc9, 0xae, 0x9b, 0xc2, 0xe2,
0x1c, 0x0d, 0x74, 0x01, 0x8f, 0x48, 0xb2, 0xff, 0xad, 0xc7, 0x46, 0xf6, 0xf3, 0xbc, 0x64, 0xe4,
0x8d, 0x0b, 0x9c, 0x16, 0xb2, 0xff, 0x5a, 0x84, 0x9d, 0x64, 0x5c, 0x93, 0x6b, 0xe5, 0x7b, 0xbb,
0xd6, 0xbe, 0x85, 0xcd, 0xb3, 0x83, 0xf6, 0xd9, 0x49, 0xa3, 0xd3, 0xb8, 0xcc, 0xba, 0xdf, 0x6e,
0x67, 0xa4, 0x6b, 0x8c, 0x3b, 0x28, 0x5a, 0x05, 0xbc, 0x31, 0xe2, 0x27, 0xe8, 0xe8, 0x20, 0x7d,
0x5f, 0x9e, 0x89, 0xe9, 0xb5, 0x04, 0xbf, 0x63, 0x5d, 0x2a, 0x6a, 0x8e, 0x43, 0xa5, 0xcc, 0xbd,
0x3d, 0xff, 0xb3, 0x00, 0x1f, 0xe6, 0x66, 0xe4, 0x47, 0x70, 0x8d, 0xfe, 0x6f, 0x31, 0x1d, 0x3f,
0x0e, 0xbc, 0x43, 0xee, 0xba, 0xc4, 0xeb, 0x8e, 0x96, 0xb4, 0x99, 0xde, 0x02, 0xa2, 0x5b, 0xf0,
0x43, 0xc3, 0x4f, 0x6f, 0x20, 0x35, 0x28, 0xb5, 0x79, 0x20, 0x1c, 0x9a, 0x38, 0x52, 0xe7, 0x45,
0xd1, 0x76, 0x04, 0xf3, 0x55, 0x48, 0xc0, 0x11, 0x11, 0x31, 0xf8, 0xc9, 0x04, 0x71, 0xec, 0xf9,
0x81, 0x6a, 0x11, 0x41, 0x5c, 0xaa, 0x26, 0xe7, 0xeb, 0x9f, 0xdd, 0xab, 0x9a, 0xe4, 0xe0, 0x7c,
0x35, 0x64, 0x43, 0x19, 0x07, 0x5e, 0x4d, 0xea, 0x63, 0x79, 0xe2, 0xd0, 0x3d, 0x31, 0xa3, 0xe7,
0xb0, 0x6c, 0x1e, 0x46, 0x77, 0x33, 0xb3, 0xcd, 0x8c, 0x70, 0x49, 0x97, 0xfd, 0xaf, 0x02, 0xec,
0xe6, 0x67, 0x3c, 0x2a, 0x99, 0xff, 0x77, 0xca, 0x4f, 0x61, 0x29, 0x31, 0x68, 0x1e, 0x92, 0xf8,
0xc4, 0xb4, 0x49, 0xd0, 0x9f, 0x7f, 0xad, 0xcf, 0x9d, 0xa6, 0x87, 0x00, 0x4a, 0x9d, 0x46, 0xb3,
0xd6, 0xec, 0xac, 0x7e, 0x80, 0x56, 0x61, 0xe9, 0xe4, 0xac, 0x56, 0x3f, 0xa8, 0x9d, 0xd4, 0x9a,
0x87, 0x0d, 0xbc, 0x5a, 0x40, 0x4f, 0xe0, 0x71, 0xbb, 0x53, 0x3b, 0xfc, 0xa6, 0x51, 0x3f, 0x3c,
0x6b, 0x76, 0xf0, 0xd9, 0x49, 0xeb, 0xa4, 0xd6, 0x6c, 0xac, 0x16, 0xf7, 0xbf, 0x9f, 0x81, 0xc7,
0x19, 0x03, 0x0e, 0x31, 0x28, 0x1d, 0x7b, 0x77, 0xfc, 0x96, 0xa2, 0xcf, 0x1e, 0xf8, 0xa5, 0x61,
0x8d, 0x6e, 0x55, 0x1e, 0x0a, 0x0f, 0x13, 0x6c, 0x7f, 0x80, 0xfe, 0x00, 0xf3, 0x61, 0xab, 0x52,
0xf4, 0xf2, 0x61, 0xe4, 0xf4, 0xac, 0xdb, 0xfa, 0xe5, 0x3b, 0xf3, 0xc6, 0x6f, 0xff, 0x63, 0x01,
0x60, 0x92, 0x6a, 0xf4, 0x40, 0xa5, 0xa9, 0xde, 0xdc, 0xfa, 0xf2, 0xdd, 0x89, 0xa3, 0x18, 0x0e,
0x7e, 0x7e, 0x51, 0xed, 0x31, 0x75, 0x13, 0x5c, 0x69, 0x52, 0xd5, 0x65, 0x8e, 0xe0, 0x92, 0x5f,
0xab, 0xaa, 0xcb, 0x9d, 0xaa, 0xf0, 0x9d, 0xea, 0x44, 0xb5, 0x1a, 0xa9, 0x5e, 0x95, 0xcc, 0x80,
0xf9, 0xe2, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x54, 0xff, 0xfb, 0xc5, 0x6d, 0x15, 0x00, 0x00,
// 1810 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0x4f, 0x53, 0x23, 0xc7,
0x15, 0xb7, 0x04, 0x08, 0xf4, 0xf8, 0xb3, 0xd0, 0x0b, 0xec, 0x44, 0x61, 0x31, 0x35, 0xeb, 0x72,
0xe1, 0x8d, 0x2d, 0x39, 0x78, 0xbd, 0x71, 0xa5, 0x9c, 0x72, 0x09, 0xa4, 0x5d, 0x28, 0x83, 0x50,
0x5a, 0x62, 0xb7, 0x8a, 0x4a, 0x15, 0x1e, 0x46, 0x8d, 0xe8, 0xa0, 0x99, 0x1e, 0x77, 0xf7, 0x20,
0x2b, 0xc9, 0x25, 0x39, 0x25, 0x95, 0x43, 0x3e, 0x42, 0xbe, 0x84, 0x93, 0x5b, 0x0e, 0xb9, 0xe7,
0x73, 0xe4, 0x9a, 0x8f, 0x90, 0x54, 0xf7, 0x8c, 0x34, 0x7f, 0x34, 0x43, 0x41, 0x55, 0xf6, 0xe0,
0x93, 0x34, 0xef, 0xbd, 0xdf, 0xaf, 0x5f, 0xbf, 0x7e, 0x7f, 0xba, 0xe1, 0x99, 0xc3, 0xec, 0x0b,
0x7b, 0xc0, 0xfc, 0x9e, 0xd5, 0x27, 0xae, 0xbc, 0xb8, 0xa5, 0x5c, 0xfa, 0xd6, 0xc0, 0xb1, 0xec,
0x6b, 0xea, 0x92, 0xaa, 0xc7, 0x99, 0x64, 0x68, 0xd3, 0x61, 0x76, 0x35, 0x32, 0xaa, 0xda, 0xcc,
0xf1, 0x7c, 0x49, 0x2a, 0xdb, 0x7d, 0xc6, 0xfa, 0x03, 0x52, 0xd3, 0x56, 0x97, 0xfe, 0x55, 0x6d,
0xc8, 0x2d, 0xcf, 0x23, 0x5c, 0x04, 0xb8, 0xca, 0x13, 0x4d, 0xce, 0x1c, 0x87, 0xb9, 0xe1, 0x4f,
0xa8, 0xd8, 0x4e, 0x2a, 0x14, 0x59, 0x5c, 0x6f, 0xfe, 0xb5, 0x00, 0x1b, 0x6f, 0x02, 0x4f, 0x4e,
0x02, 0x4f, 0x30, 0xf9, 0xd6, 0x27, 0x42, 0xa2, 0x36, 0x3c, 0x4a, 0x2a, 0x84, 0x51, 0xd8, 0x99,
0xd9, 0x5d, 0xdc, 0xfb, 0xb0, 0x9a, 0xed, 0x64, 0x35, 0xc5, 0x93, 0x86, 0xa3, 0x17, 0xb0, 0x7c,
0xea, 0x11, 0x6e, 0x49, 0xca, 0xdc, 0xee, 0xc8, 0x23, 0x46, 0x71, 0xa7, 0xb0, 0xbb, 0xb2, 0xb7,
0xa2, 0xf9, 0x26, 0x1a, 0x9c, 0x34, 0x32, 0xbf, 0x2f, 0xc0, 0x66, 0xda, 0x43, 0xe1, 0x31, 0x57,
0x90, 0x77, 0xe0, 0xe2, 0x1e, 0x94, 0x30, 0x11, 0xfe, 0x40, 0x6a, 0xdf, 0x16, 0xf7, 0x2a, 0xd5,
0x20, 0xf0, 0xd5, 0x71, 0xe0, 0xab, 0xfb, 0x8c, 0x0d, 0xde, 0x58, 0x03, 0x9f, 0xe0, 0xd0, 0x12,
0xad, 0xc3, 0x5c, 0x93, 0x73, 0xc6, 0x8d, 0x99, 0x9d, 0xc2, 0x6e, 0x19, 0x07, 0x1f, 0x66, 0x15,
0x96, 0x3a, 0x9d, 0xc3, 0xb6, 0x7f, 0x39, 0xa0, 0xf6, 0xd7, 0x64, 0x84, 0xb6, 0x61, 0xfe, 0x86,
0x8c, 0x7a, 0x96, 0xb4, 0x8c, 0x82, 0xb2, 0xdb, 0x9f, 0xfd, 0xe3, 0xdf, 0x8c, 0x02, 0x1e, 0x0b,
0x4d, 0x13, 0x66, 0x1b, 0x54, 0xdc, 0xa0, 0x0a, 0x2c, 0xf4, 0xa8, 0xb8, 0x71, 0x2d, 0x87, 0x04,
0x86, 0x78, 0xf2, 0x6d, 0xfe, 0xbb, 0x00, 0xeb, 0x1d, 0xc9, 0xb8, 0xd5, 0x27, 0x07, 0xcc, 0xbd,
0xa2, 0x7d, 0x3f, 0x88, 0x13, 0x7a, 0x01, 0x25, 0x26, 0x94, 0x99, 0x86, 0x2c, 0xee, 0x6d, 0xe5,
0xed, 0x5f, 0x2d, 0x81, 0x43, 0x5b, 0xf4, 0x73, 0x28, 0xab, 0xa5, 0xd5, 0x7f, 0x61, 0x14, 0x75,
0xe0, 0xee, 0x06, 0x46, 0xe6, 0xe8, 0x43, 0x58, 0xa1, 0x8e, 0xd5, 0x27, 0x98, 0x5c, 0x11, 0x4e,
0x5c, 0x9b, 0x84, 0xbb, 0x4f, 0x49, 0xd1, 0x0b, 0xd8, 0xb8, 0x75, 0x02, 0x67, 0x0f, 0x98, 0x2b,
0x2d, 0xea, 0x12, 0xde, 0x52, 0x7b, 0x9b, 0xd5, 0xe6, 0xd9, 0x4a, 0xf3, 0x15, 0xac, 0xb6, 0x88,
0x1c, 0x32, 0x7e, 0x73, 0xe4, 0x4a, 0xc2, 0xaf, 0x2c, 0x9b, 0xa0, 0x3d, 0x58, 0x77, 0x53, 0xb2,
0x56, 0x14, 0xa4, 0x4c, 0x9d, 0xf9, 0x0d, 0xac, 0x87, 0x3c, 0xc9, 0x78, 0x1d, 0x02, 0xd0, 0xb1,
0xe1, 0x38, 0x67, 0x76, 0xf3, 0xb6, 0x9e, 0xf6, 0x04, 0xc7, 0xb0, 0xe6, 0x1f, 0x0a, 0xb0, 0x76,
0x26, 0x08, 0x4f, 0xf2, 0xef, 0xc0, 0x82, 0x2f, 0x08, 0x8f, 0x0e, 0x31, 0x3c, 0xed, 0x89, 0x54,
0x59, 0x78, 0x96, 0x10, 0x43, 0xc6, 0x7b, 0x3a, 0xd5, 0x26, 0x16, 0x63, 0x29, 0xfa, 0x28, 0xe0,
0x90, 0xaa, 0x50, 0x66, 0x74, 0xa1, 0x2c, 0x6b, 0x0f, 0xd5, 0x6a, 0xaa, 0x30, 0xf0, 0x44, 0xad,
0xc2, 0x85, 0x1b, 0xed, 0xa4, 0x0b, 0xdb, 0x00, 0x3d, 0x2a, 0xac, 0xcb, 0x01, 0xc1, 0x8d, 0xb6,
0x76, 0x62, 0x01, 0xc7, 0x24, 0x08, 0xc1, 0xac, 0xc7, 0x78, 0x90, 0xe7, 0xcb, 0x58, 0xff, 0x37,
0xcf, 0x01, 0x1d, 0x53, 0xd7, 0xff, 0x2e, 0xc9, 0xd4, 0x80, 0xa7, 0x21, 0xae, 0x1d, 0xfa, 0x56,
0xf7, 0xe5, 0x35, 0x71, 0x25, 0xb5, 0xb5, 0x41, 0x48, 0x7e, 0xb7, 0x91, 0xf9, 0xa7, 0x22, 0xac,
0xbf, 0xa5, 0x6e, 0x8f, 0x0d, 0x45, 0x92, 0xfe, 0x25, 0x6c, 0x12, 0x57, 0x01, 0xeb, 0xbe, 0x64,
0x8e, 0x25, 0xa9, 0x7d, 0xe6, 0xf5, 0x2c, 0xa9, 0xcf, 0x45, 0xf1, 0xe6, 0x68, 0x55, 0xa1, 0x48,
0xea, 0x90, 0x73, 0xe6, 0x06, 0x8d, 0xa4, 0x8c, 0x27, 0xdf, 0xa8, 0x3b, 0x1d, 0x10, 0x1d, 0xc3,
0x3b, 0x4e, 0x39, 0x6d, 0x8f, 0xa7, 0x43, 0xfa, 0x1a, 0xd0, 0x5b, 0xea, 0xe2, 0x93, 0x24, 0xef,
0xac, 0xe6, 0x7d, 0xa2, 0x79, 0xa7, 0xd5, 0x38, 0x03, 0x62, 0xfe, 0x6b, 0x0e, 0xb6, 0xc2, 0x26,
0xe7, 0xf6, 0x3b, 0x23, 0x21, 0x89, 0x93, 0x5c, 0xc9, 0x84, 0xa5, 0xd0, 0x2f, 0x1e, 0xcb, 0xf1,
0x84, 0x0c, 0x9d, 0xc2, 0xb2, 0xd5, 0x73, 0xa8, 0x4b, 0x85, 0xe4, 0x96, 0x64, 0x3c, 0xec, 0x58,
0x1f, 0xe5, 0x6d, 0x70, 0x2a, 0x4b, 0x71, 0x12, 0x8f, 0xbe, 0x82, 0x39, 0x95, 0x51, 0xc2, 0x98,
0xd1, 0xf5, 0xf0, 0x00, 0xa2, 0x00, 0x87, 0x3e, 0x00, 0xb0, 0x7d, 0x21, 0x99, 0xd3, 0x50, 0x5d,
0x6e, 0x36, 0x96, 0xd5, 0x31, 0x39, 0x6a, 0x00, 0x78, 0xba, 0x2b, 0xde, 0x90, 0x91, 0x30, 0xe6,
0xf4, 0x5a, 0x1f, 0xe4, 0xad, 0x15, 0x6f, 0xa1, 0x38, 0x86, 0x43, 0x9f, 0xaa, 0x8e, 0xa7, 0x6b,
0xa3, 0xa4, 0x6b, 0xc3, 0x88, 0x0f, 0x91, 0x71, 0x50, 0x75, 0x99, 0x84, 0x76, 0xe8, 0x97, 0xb0,
0xc6, 0xc4, 0x3e, 0x63, 0x52, 0xed, 0xd7, 0x6b, 0xba, 0x7d, 0xea, 0x12, 0x63, 0x5e, 0x83, 0x9f,
0x65, 0x81, 0x53, 0xa6, 0x78, 0x1a, 0x8d, 0xce, 0x01, 0x0d, 0xa6, 0xea, 0xc5, 0x58, 0xd0, 0xe7,
0xf0, 0x3c, 0x6f, 0x4b, 0xd3, 0x15, 0x86, 0x33, 0x58, 0xd0, 0x37, 0xb0, 0x3e, 0xcc, 0x28, 0x17,
0xa3, 0xac, 0xd9, 0x3f, 0xce, 0x63, 0xcf, 0x2a, 0x31, 0x9c, 0xc9, 0xa4, 0xd2, 0xd9, 0xe3, 0xec,
0xbb, 0x51, 0x92, 0x1f, 0x62, 0xe9, 0xdc, 0x9e, 0x52, 0xe3, 0x0c, 0x88, 0xf9, 0x7d, 0x11, 0x36,
0x0e, 0x2d, 0xde, 0x1b, 0x5a, 0x3c, 0x35, 0x97, 0x3e, 0x83, 0xd2, 0x9b, 0x93, 0x0e, 0xfd, 0x4d,
0x90, 0xc1, 0x2b, 0x7b, 0x3f, 0xd6, 0xb4, 0xc9, 0xa1, 0xab, 0xd4, 0xc1, 0x41, 0x05, 0xa6, 0xe8,
0x17, 0xe3, 0x34, 0xd2, 0xc0, 0x20, 0xab, 0x9f, 0x66, 0x00, 0x0f, 0x26, 0x46, 0x38, 0x06, 0x40,
0x17, 0x50, 0xe9, 0x8d, 0x5c, 0xcb, 0xa1, 0xf6, 0x09, 0x71, 0x18, 0x1f, 0x65, 0x75, 0x81, 0xf7,
0x35, 0x5d, 0x23, 0xd7, 0x0c, 0xdf, 0x41, 0x81, 0x5e, 0x01, 0xba, 0x4d, 0x38, 0xf2, 0xba, 0x7d,
0x26, 0x8c, 0x59, 0x9d, 0xc8, 0x9b, 0x19, 0x7e, 0xbe, 0x6e, 0x9f, 0xe1, 0x0c, 0x84, 0xf9, 0x25,
0x2c, 0x9d, 0x91, 0x2b, 0xda, 0x21, 0x52, 0x25, 0x9d, 0x40, 0x1f, 0xc3, 0x9a, 0x20, 0xb6, 0xcf,
0x89, 0x4a, 0xb3, 0xa6, 0x6e, 0x7a, 0xbd, 0xb0, 0x07, 0x4e, 0x2b, 0xcc, 0xbf, 0x17, 0x60, 0xa3,
0xa3, 0xa4, 0x54, 0xa6, 0xfc, 0xdb, 0x82, 0x72, 0xd0, 0x32, 0xbb, 0xed, 0x93, 0x10, 0x1f, 0x09,
0xd0, 0x21, 0x2c, 0xf9, 0xb1, 0x55, 0xc3, 0xf8, 0xe6, 0x16, 0x60, 0xdc, 0x43, 0x9c, 0x40, 0xa2,
0xcf, 0x61, 0x49, 0x84, 0x0e, 0x74, 0xa3, 0x21, 0xb5, 0xa6, 0x99, 0x3a, 0x31, 0x05, 0x4e, 0x98,
0x99, 0xc7, 0x60, 0xd4, 0x6f, 0x2d, 0x3a, 0xb0, 0x2e, 0xe9, 0x80, 0xca, 0x51, 0x87, 0xc8, 0xe8,
0xb6, 0xb0, 0x05, 0xe5, 0x3e, 0x67, 0xbe, 0x17, 0x6b, 0x7a, 0x91, 0x40, 0x8d, 0x2c, 0x3d, 0x51,
0x83, 0x6e, 0xaf, 0xff, 0x9b, 0x7f, 0x5e, 0x80, 0x95, 0x64, 0xb8, 0x27, 0x66, 0x85, 0xc8, 0x0c,
0xad, 0x40, 0x91, 0x86, 0x83, 0x16, 0x17, 0x69, 0x0f, 0xbd, 0x82, 0x79, 0x11, 0x5c, 0xa4, 0xc2,
0x8c, 0xc8, 0x2d, 0xa8, 0xac, 0xfb, 0x16, 0x1e, 0x83, 0x51, 0x03, 0x8a, 0x4c, 0x84, 0x23, 0xe0,
0x45, 0x1e, 0xc5, 0x5d, 0xad, 0x1e, 0x17, 0x99, 0x50, 0xde, 0x84, 0xd7, 0x17, 0x63, 0xee, 0x6e,
0x6f, 0xb2, 0x6e, 0x33, 0x78, 0x0c, 0x56, 0x23, 0xd1, 0x65, 0xbd, 0xe0, 0x5a, 0x54, 0x0a, 0x46,
0xe2, 0xf8, 0x3b, 0x19, 0xda, 0xf9, 0x74, 0x68, 0x9f, 0x41, 0x49, 0x48, 0x4b, 0xfa, 0x22, 0xec,
0x5e, 0x8b, 0xc1, 0x29, 0x6a, 0x11, 0x0e, 0x55, 0x6a, 0x2a, 0x0d, 0x58, 0x30, 0xce, 0x35, 0x4b,
0x39, 0x98, 0x4a, 0x71, 0x19, 0xfa, 0x02, 0x9e, 0x84, 0xf7, 0x80, 0x43, 0xda, 0xbf, 0x8e, 0x1f,
0xb4, 0xee, 0x2c, 0x0b, 0x38, 0x4f, 0x8d, 0x5e, 0x42, 0xe9, 0x56, 0x77, 0x6c, 0x63, 0x51, 0x27,
0xd2, 0x76, 0xee, 0x1d, 0xfe, 0x24, 0x68, 0x17, 0x81, 0x35, 0x3a, 0x82, 0x85, 0xeb, 0xb0, 0xf9,
0x18, 0x4b, 0xda, 0xf9, 0x4f, 0xf2, 0x90, 0x99, 0x4d, 0x0a, 0x4f, 0xe0, 0xaa, 0x02, 0xad, 0xc1,
0x80, 0x0d, 0x49, 0xef, 0x74, 0xa8, 0xae, 0xa2, 0xac, 0x47, 0x84, 0xb1, 0xbc, 0x33, 0xb3, 0x5b,
0xc6, 0xd3, 0x0a, 0x54, 0x03, 0xf0, 0xd8, 0x90, 0x70, 0x15, 0x25, 0x62, 0xac, 0x68, 0xa7, 0x1f,
0x05, 0x7d, 0x73, 0x22, 0xc6, 0x31, 0x13, 0xe5, 0xe9, 0xb8, 0x12, 0x8c, 0x47, 0x77, 0x7b, 0x9a,
0x59, 0xd9, 0x78, 0x02, 0x47, 0x4f, 0x61, 0x56, 0x5a, 0x7d, 0x61, 0xac, 0x6a, 0x9a, 0xb2, 0xa6,
0xe9, 0x5a, 0x7d, 0x81, 0xb5, 0x18, 0x7d, 0x09, 0xd0, 0x57, 0x8f, 0xb8, 0xba, 0x22, 0x35, 0xd6,
0x62, 0x6f, 0x82, 0xd7, 0x13, 0x71, 0x92, 0x3a, 0x66, 0x8f, 0x7e, 0x05, 0x9b, 0xd1, 0xd7, 0x91,
0x2b, 0xa4, 0xe5, 0xda, 0xe4, 0x0d, 0x25, 0x43, 0x03, 0xc5, 0x9a, 0x45, 0xb2, 0xea, 0xa6, 0x6c,
0x71, 0x0e, 0x07, 0x3a, 0x87, 0x47, 0x56, 0xb2, 0xfe, 0x8d, 0xc7, 0x9a, 0xf6, 0xd3, 0xbc, 0x60,
0xe4, 0xb5, 0x0b, 0x9c, 0x26, 0x32, 0xff, 0x52, 0x84, 0xed, 0xa4, 0x5f, 0xd1, 0xb3, 0xf2, 0x9d,
0x3d, 0x6b, 0xdf, 0xc2, 0xe6, 0xe9, 0x7e, 0xe7, 0xf4, 0xb8, 0xd9, 0x6d, 0x5e, 0x64, 0xbd, 0x6f,
0xb7, 0x32, 0xc2, 0x35, 0xb1, 0xdb, 0x2f, 0x1a, 0x05, 0xbc, 0x31, 0xc6, 0x27, 0xe0, 0x68, 0x3f,
0xfd, 0x5e, 0x9e, 0x89, 0xf1, 0xb5, 0x39, 0xbb, 0xa5, 0x3d, 0xc2, 0xeb, 0xb6, 0x4d, 0x84, 0xc8,
0x7d, 0x3d, 0xff, 0xa3, 0x00, 0xef, 0xe7, 0x46, 0xe4, 0x07, 0xf0, 0x8c, 0xfe, 0x4f, 0x31, 0xed,
0x3f, 0xf6, 0xdd, 0x03, 0xe6, 0x38, 0x96, 0xdb, 0x1b, 0x1f, 0x69, 0x2b, 0x3d, 0x02, 0xc2, 0x57,
0xf0, 0x7d, 0xdd, 0x4f, 0x0f, 0x90, 0x3a, 0x94, 0x3a, 0xcc, 0xe7, 0x36, 0x49, 0x5c, 0xa9, 0xf3,
0xbc, 0xe8, 0xd8, 0x9c, 0x7a, 0x32, 0x00, 0xe0, 0x10, 0x88, 0x28, 0xfc, 0x28, 0xb2, 0x38, 0x72,
0x3d, 0x5f, 0xb6, 0x2d, 0x6e, 0x39, 0x44, 0x46, 0xf7, 0xeb, 0x9f, 0xdc, 0xc9, 0x9a, 0xc4, 0xe0,
0x7c, 0x36, 0x64, 0x42, 0x19, 0xfb, 0x6e, 0x5d, 0xa8, 0x6b, 0x79, 0xe2, 0xd2, 0x1d, 0x89, 0xd1,
0x73, 0x58, 0xd6, 0x1f, 0xe3, 0xb7, 0x99, 0x1e, 0x33, 0x63, 0xbb, 0xa4, 0xca, 0xfc, 0x67, 0x01,
0x76, 0xf2, 0x23, 0x1e, 0xa6, 0xcc, 0xff, 0x3b, 0xe4, 0x27, 0xb0, 0x94, 0x68, 0x34, 0xf7, 0x09,
0x7c, 0xa2, 0xdb, 0x24, 0xe0, 0xe6, 0xb7, 0xf0, 0x34, 0x89, 0x6a, 0x73, 0x62, 0x5f, 0x13, 0xfb,
0xe6, 0x9d, 0x75, 0x01, 0xf3, 0xd7, 0xe9, 0xce, 0x13, 0x2d, 0x19, 0xc6, 0x2c, 0x2a, 0x8a, 0xc2,
0xc3, 0x8b, 0xa2, 0x18, 0x2b, 0x8a, 0xe7, 0x5f, 0xa9, 0x6b, 0xb5, 0x6e, 0x11, 0x00, 0xa5, 0x6e,
0xb3, 0x55, 0x6f, 0x75, 0x57, 0xdf, 0x43, 0xab, 0xb0, 0x74, 0x7c, 0x5a, 0x6f, 0xec, 0xd7, 0x8f,
0xeb, 0xad, 0x83, 0x26, 0x5e, 0x2d, 0xa0, 0x27, 0xf0, 0xb8, 0xd3, 0xad, 0x1f, 0x7c, 0xdd, 0x6c,
0x1c, 0x9c, 0xb6, 0xba, 0xf8, 0xf4, 0xb8, 0x7d, 0x5c, 0x6f, 0x35, 0x57, 0x8b, 0x7b, 0xff, 0x9d,
0x81, 0xc7, 0x19, 0xfd, 0x1b, 0x51, 0x28, 0x1d, 0xb9, 0xb7, 0xec, 0x86, 0xa0, 0x4f, 0xee, 0x19,
0x87, 0x20, 0x9e, 0x95, 0xea, 0x7d, 0xcd, 0x83, 0x58, 0x98, 0xef, 0xa1, 0xdf, 0xc2, 0xc2, 0x38,
0x42, 0xe8, 0xf3, 0xfb, 0xa1, 0x53, 0x87, 0x58, 0x79, 0xf9, 0x50, 0xd8, 0x64, 0xf1, 0xdf, 0xc1,
0x7c, 0xd0, 0x06, 0x09, 0xba, 0x27, 0x49, 0x7a, 0x8e, 0x54, 0x7e, 0xf6, 0x60, 0xdc, 0x64, 0xf5,
0xdf, 0x17, 0x00, 0xa2, 0x34, 0x46, 0xf7, 0x64, 0x9a, 0xea, 0x7b, 0x95, 0x2f, 0x1e, 0x0e, 0x1c,
0xfb, 0xb0, 0xff, 0xd3, 0xf3, 0x5a, 0x9f, 0xca, 0x6b, 0xff, 0x52, 0x81, 0x6a, 0x0e, 0xb5, 0x39,
0x13, 0xec, 0x4a, 0xd6, 0x1c, 0x66, 0xd7, 0xb8, 0x67, 0xd7, 0x22, 0xd6, 0x5a, 0xc8, 0x7a, 0x59,
0xd2, 0x79, 0xfa, 0xd9, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x68, 0x31, 0x8d, 0xc9, 0x16,
0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -1465,6 +1559,8 @@ const _ = grpc.SupportPackageIsVersion4
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type VirtualMachineAgentClient interface {
Invoke(ctx context.Context, in *VirtualMachineRequest, opts ...grpc.CallOption) (*VirtualMachineResponse, error)
// Prechecks whether the system is able to create specified virtual machines (but does not actually create them).
Precheck(ctx context.Context, in *VirtualMachinePrecheckRequest, opts ...grpc.CallOption) (*VirtualMachinePrecheckResponse, error)
Operate(ctx context.Context, in *VirtualMachineOperationRequest, opts ...grpc.CallOption) (*VirtualMachineOperationResponse, error)
RunCommand(ctx context.Context, in *VirtualMachineRunCommandRequest, opts ...grpc.CallOption) (*VirtualMachineRunCommandResponse, error)
}
@ -1486,6 +1582,15 @@ func (c *virtualMachineAgentClient) Invoke(ctx context.Context, in *VirtualMachi
return out, nil
}
func (c *virtualMachineAgentClient) Precheck(ctx context.Context, in *VirtualMachinePrecheckRequest, opts ...grpc.CallOption) (*VirtualMachinePrecheckResponse, error) {
out := new(VirtualMachinePrecheckResponse)
err := c.cc.Invoke(ctx, "/moc.cloudagent.compute.VirtualMachineAgent/Precheck", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *virtualMachineAgentClient) Operate(ctx context.Context, in *VirtualMachineOperationRequest, opts ...grpc.CallOption) (*VirtualMachineOperationResponse, error) {
out := new(VirtualMachineOperationResponse)
err := c.cc.Invoke(ctx, "/moc.cloudagent.compute.VirtualMachineAgent/Operate", in, out, opts...)
@ -1507,6 +1612,8 @@ func (c *virtualMachineAgentClient) RunCommand(ctx context.Context, in *VirtualM
// VirtualMachineAgentServer is the server API for VirtualMachineAgent service.
type VirtualMachineAgentServer interface {
Invoke(context.Context, *VirtualMachineRequest) (*VirtualMachineResponse, error)
// Prechecks whether the system is able to create specified virtual machines (but does not actually create them).
Precheck(context.Context, *VirtualMachinePrecheckRequest) (*VirtualMachinePrecheckResponse, error)
Operate(context.Context, *VirtualMachineOperationRequest) (*VirtualMachineOperationResponse, error)
RunCommand(context.Context, *VirtualMachineRunCommandRequest) (*VirtualMachineRunCommandResponse, error)
}
@ -1518,6 +1625,9 @@ type UnimplementedVirtualMachineAgentServer struct {
func (*UnimplementedVirtualMachineAgentServer) Invoke(ctx context.Context, req *VirtualMachineRequest) (*VirtualMachineResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Invoke not implemented")
}
func (*UnimplementedVirtualMachineAgentServer) Precheck(ctx context.Context, req *VirtualMachinePrecheckRequest) (*VirtualMachinePrecheckResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Precheck not implemented")
}
func (*UnimplementedVirtualMachineAgentServer) Operate(ctx context.Context, req *VirtualMachineOperationRequest) (*VirtualMachineOperationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Operate not implemented")
}
@ -1547,6 +1657,24 @@ func _VirtualMachineAgent_Invoke_Handler(srv interface{}, ctx context.Context, d
return interceptor(ctx, in, info, handler)
}
func _VirtualMachineAgent_Precheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VirtualMachinePrecheckRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VirtualMachineAgentServer).Precheck(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/moc.cloudagent.compute.VirtualMachineAgent/Precheck",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VirtualMachineAgentServer).Precheck(ctx, req.(*VirtualMachinePrecheckRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VirtualMachineAgent_Operate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VirtualMachineOperationRequest)
if err := dec(in); err != nil {
@ -1591,6 +1719,10 @@ var _VirtualMachineAgent_serviceDesc = grpc.ServiceDesc{
MethodName: "Invoke",
Handler: _VirtualMachineAgent_Invoke_Handler,
},
{
MethodName: "Precheck",
Handler: _VirtualMachineAgent_Precheck_Handler,
},
{
MethodName: "Operate",
Handler: _VirtualMachineAgent_Operate_Handler,

Просмотреть файл

@ -156,8 +156,24 @@ message VirtualMachineRunCommandResponse {
VirtualMachineRunCommandInstanceView InstanceView = 2;
}
message VirtualMachinePrecheckRequest {
repeated VirtualMachine VirtualMachines = 1;
}
message VirtualMachinePrecheckResponse {
// The precheck result: true if the precheck criteria is passed; otherwise, false
google.protobuf.BoolValue Result = 1;
// The error message if the precheck is not passed; otherwise, empty string
string Error = 2;
}
service VirtualMachineAgent {
rpc Invoke(VirtualMachineRequest) returns (VirtualMachineResponse) {}
// Prechecks whether the system is able to create specified virtual machines (but does not actually create them).
rpc Precheck(VirtualMachinePrecheckRequest) returns (VirtualMachinePrecheckResponse) {}
rpc Operate(VirtualMachineOperationRequest) returns (VirtualMachineOperationResponse) {}
rpc RunCommand(VirtualMachineRunCommandRequest) returns (VirtualMachineRunCommandResponse) {}
}

Просмотреть файл

@ -343,10 +343,100 @@ func (m *VirtualHardDisk) GetTags() *common.Tags {
return nil
}
type VirtualHardDiskPrecheckRequest struct {
VirtualHardDisks []*VirtualHardDisk `protobuf:"bytes,1,rep,name=VirtualHardDisks,proto3" json:"VirtualHardDisks,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VirtualHardDiskPrecheckRequest) Reset() { *m = VirtualHardDiskPrecheckRequest{} }
func (m *VirtualHardDiskPrecheckRequest) String() string { return proto.CompactTextString(m) }
func (*VirtualHardDiskPrecheckRequest) ProtoMessage() {}
func (*VirtualHardDiskPrecheckRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_e3ff93a45373b349, []int{3}
}
func (m *VirtualHardDiskPrecheckRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VirtualHardDiskPrecheckRequest.Unmarshal(m, b)
}
func (m *VirtualHardDiskPrecheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VirtualHardDiskPrecheckRequest.Marshal(b, m, deterministic)
}
func (m *VirtualHardDiskPrecheckRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_VirtualHardDiskPrecheckRequest.Merge(m, src)
}
func (m *VirtualHardDiskPrecheckRequest) XXX_Size() int {
return xxx_messageInfo_VirtualHardDiskPrecheckRequest.Size(m)
}
func (m *VirtualHardDiskPrecheckRequest) XXX_DiscardUnknown() {
xxx_messageInfo_VirtualHardDiskPrecheckRequest.DiscardUnknown(m)
}
var xxx_messageInfo_VirtualHardDiskPrecheckRequest proto.InternalMessageInfo
func (m *VirtualHardDiskPrecheckRequest) GetVirtualHardDisks() []*VirtualHardDisk {
if m != nil {
return m.VirtualHardDisks
}
return nil
}
type VirtualHardDiskPrecheckResponse struct {
// The precheck result: true if the precheck criteria is passed; otherwise, false
Result *wrappers.BoolValue `protobuf:"bytes,1,opt,name=Result,proto3" json:"Result,omitempty"`
// The error message if the precheck is not passed; otherwise, empty string
Error string `protobuf:"bytes,2,opt,name=Error,proto3" json:"Error,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VirtualHardDiskPrecheckResponse) Reset() { *m = VirtualHardDiskPrecheckResponse{} }
func (m *VirtualHardDiskPrecheckResponse) String() string { return proto.CompactTextString(m) }
func (*VirtualHardDiskPrecheckResponse) ProtoMessage() {}
func (*VirtualHardDiskPrecheckResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_e3ff93a45373b349, []int{4}
}
func (m *VirtualHardDiskPrecheckResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VirtualHardDiskPrecheckResponse.Unmarshal(m, b)
}
func (m *VirtualHardDiskPrecheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VirtualHardDiskPrecheckResponse.Marshal(b, m, deterministic)
}
func (m *VirtualHardDiskPrecheckResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_VirtualHardDiskPrecheckResponse.Merge(m, src)
}
func (m *VirtualHardDiskPrecheckResponse) XXX_Size() int {
return xxx_messageInfo_VirtualHardDiskPrecheckResponse.Size(m)
}
func (m *VirtualHardDiskPrecheckResponse) XXX_DiscardUnknown() {
xxx_messageInfo_VirtualHardDiskPrecheckResponse.DiscardUnknown(m)
}
var xxx_messageInfo_VirtualHardDiskPrecheckResponse proto.InternalMessageInfo
func (m *VirtualHardDiskPrecheckResponse) GetResult() *wrappers.BoolValue {
if m != nil {
return m.Result
}
return nil
}
func (m *VirtualHardDiskPrecheckResponse) GetError() string {
if m != nil {
return m.Error
}
return ""
}
func init() {
proto.RegisterType((*VirtualHardDiskRequest)(nil), "moc.cloudagent.storage.VirtualHardDiskRequest")
proto.RegisterType((*VirtualHardDiskResponse)(nil), "moc.cloudagent.storage.VirtualHardDiskResponse")
proto.RegisterType((*VirtualHardDisk)(nil), "moc.cloudagent.storage.VirtualHardDisk")
proto.RegisterType((*VirtualHardDiskPrecheckRequest)(nil), "moc.cloudagent.storage.VirtualHardDiskPrecheckRequest")
proto.RegisterType((*VirtualHardDiskPrecheckResponse)(nil), "moc.cloudagent.storage.VirtualHardDiskPrecheckResponse")
}
func init() {
@ -354,52 +444,56 @@ func init() {
}
var fileDescriptor_e3ff93a45373b349 = []byte{
// 719 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x94, 0xcf, 0x6e, 0xdb, 0x38,
0x10, 0xc6, 0x57, 0x89, 0xe3, 0xc4, 0xe3, 0xc4, 0xf1, 0xd2, 0xf9, 0x43, 0x18, 0xbb, 0x81, 0xe1,
0x0d, 0x76, 0x8d, 0x3d, 0x48, 0xbb, 0x6e, 0x6f, 0x05, 0x0a, 0x24, 0x4d, 0xd3, 0xa4, 0x87, 0x14,
0x50, 0x02, 0x1f, 0x7a, 0x09, 0x68, 0x8a, 0x91, 0x09, 0x4b, 0xa2, 0x4a, 0x52, 0x29, 0xdc, 0x6b,
0x2f, 0x7d, 0x8f, 0x3e, 0x42, 0x51, 0xa0, 0x8f, 0x57, 0x68, 0x64, 0xc7, 0xb5, 0x6c, 0x14, 0xb9,
0xf4, 0x64, 0xeb, 0xfb, 0x7e, 0xf3, 0x69, 0x34, 0xd2, 0x10, 0x8e, 0x63, 0xc5, 0x6f, 0x79, 0xa4,
0xb2, 0x80, 0x85, 0x22, 0xb1, 0xb7, 0xf7, 0x52, 0xdb, 0x8c, 0x45, 0x23, 0xa6, 0x83, 0x40, 0x9a,
0xb1, 0x9b, 0x6a, 0x65, 0x15, 0x39, 0x88, 0x15, 0x77, 0xe7, 0x94, 0x6b, 0xac, 0xd2, 0x2c, 0x14,
0xed, 0xa3, 0x50, 0xa9, 0x30, 0x12, 0x1e, 0x52, 0xc3, 0xec, 0xce, 0x7b, 0xaf, 0x59, 0x9a, 0x0a,
0x6d, 0x8a, 0xba, 0xf6, 0x21, 0xa6, 0xab, 0x38, 0x56, 0xc9, 0xf4, 0xa7, 0x30, 0xba, 0x9f, 0x1d,
0x38, 0x18, 0x14, 0xb7, 0xba, 0x60, 0x3a, 0x38, 0x93, 0x66, 0xec, 0x8b, 0x77, 0x99, 0x30, 0x96,
0x5c, 0x43, 0xb3, 0xe4, 0x18, 0xea, 0x74, 0xd6, 0x7b, 0xf5, 0xfe, 0x3f, 0xee, 0xea, 0x36, 0xdc,
0x72, 0xd2, 0x52, 0x00, 0x79, 0x0a, 0x3b, 0x6f, 0x52, 0xa1, 0x99, 0x95, 0x2a, 0xb9, 0x99, 0xa4,
0x82, 0xae, 0x75, 0x9c, 0x5e, 0xa3, 0xdf, 0xc0, 0xc4, 0x07, 0xc7, 0x5f, 0x84, 0xba, 0xdf, 0x1c,
0x38, 0x5c, 0xea, 0xd2, 0xa4, 0x2a, 0x31, 0xe2, 0xd7, 0xb4, 0xd9, 0x87, 0xaa, 0x2f, 0x4c, 0x16,
0x59, 0xec, 0xaf, 0xde, 0x6f, 0xbb, 0xc5, 0x80, 0xdd, 0xd9, 0x80, 0xdd, 0x53, 0xa5, 0xa2, 0x01,
0x8b, 0x32, 0xe1, 0x4f, 0x49, 0xb2, 0x07, 0x1b, 0x2f, 0xb5, 0x56, 0x9a, 0xae, 0x77, 0x9c, 0x5e,
0xcd, 0x2f, 0x2e, 0xba, 0x5f, 0x36, 0x61, 0xb7, 0x14, 0x4f, 0x08, 0x54, 0x12, 0x16, 0x0b, 0xea,
0x20, 0x88, 0xff, 0x49, 0x03, 0xd6, 0x64, 0x80, 0x77, 0xab, 0xf9, 0x6b, 0x32, 0x20, 0xc7, 0xb0,
0xc3, 0x55, 0x62, 0x99, 0x4c, 0x84, 0xbe, 0xca, 0xe1, 0x22, 0x75, 0x51, 0x24, 0x14, 0x2a, 0x29,
0xb3, 0x23, 0x5a, 0xc9, 0xcd, 0xd3, 0xca, 0xa7, 0xaf, 0xd4, 0xf1, 0x51, 0x21, 0x7f, 0x41, 0xd5,
0x58, 0x66, 0x33, 0x43, 0x37, 0xf0, 0x09, 0xea, 0x38, 0x8c, 0x6b, 0x94, 0xfc, 0xa9, 0x95, 0x37,
0x62, 0xe4, 0x07, 0x41, 0xab, 0x1d, 0xa7, 0xb7, 0xee, 0xe3, 0x7f, 0x42, 0x61, 0x33, 0x98, 0x24,
0x2c, 0x96, 0x9c, 0x6e, 0x76, 0x9c, 0xde, 0x96, 0x3f, 0xbb, 0x24, 0x7f, 0x43, 0x63, 0x18, 0x29,
0x3e, 0xce, 0xb1, 0xe1, 0xc4, 0x0a, 0x43, 0xb7, 0x3a, 0x4e, 0x6f, 0xc3, 0x2f, 0xa9, 0xc4, 0x05,
0x12, 0xa9, 0x50, 0x72, 0x16, 0x19, 0xc1, 0xad, 0xd2, 0x05, 0x5b, 0x43, 0x76, 0x85, 0x43, 0xfe,
0x83, 0x56, 0x3a, 0x9a, 0x98, 0x72, 0x01, 0x60, 0xc1, 0x2a, 0x8b, 0xfc, 0x0b, 0xcd, 0x7c, 0x0e,
0x5a, 0x45, 0x91, 0xd0, 0x49, 0x16, 0x0f, 0x85, 0xa6, 0x75, 0x7c, 0x86, 0x25, 0x3d, 0xef, 0x66,
0xae, 0x45, 0x8a, 0xe3, 0x57, 0x45, 0xb7, 0x91, 0x5e, 0xe1, 0x90, 0x23, 0x80, 0x7c, 0xe1, 0xa6,
0xa9, 0x3b, 0xc8, 0xfd, 0xa0, 0xe4, 0x79, 0xd3, 0xdd, 0x8c, 0x19, 0x1f, 0xc9, 0x44, 0xe0, 0xdb,
0x69, 0xe0, 0xdb, 0x59, 0xe1, 0x90, 0x36, 0x6c, 0x19, 0x6e, 0x24, 0xbe, 0xa6, 0x5d, 0xa4, 0x1e,
0xae, 0xc9, 0x73, 0x68, 0x33, 0x6b, 0x19, 0x1f, 0x89, 0x60, 0xb0, 0x9c, 0xd9, 0x44, 0xfa, 0x27,
0x44, 0x3e, 0x87, 0x99, 0x7b, 0xa5, 0x82, 0xa2, 0xea, 0x77, 0xac, 0x5a, 0xd2, 0xc9, 0x1f, 0x50,
0x0b, 0xb5, 0xca, 0x52, 0x84, 0x08, 0x42, 0x73, 0x81, 0x74, 0x61, 0x7b, 0x36, 0x01, 0x04, 0x5a,
0x08, 0x2c, 0x68, 0xe4, 0x04, 0x9a, 0xa3, 0x49, 0x2a, 0xf4, 0xe0, 0x95, 0x48, 0xa6, 0xdb, 0x49,
0xf7, 0x70, 0x7d, 0xf7, 0xf1, 0xe3, 0xba, 0x28, 0x99, 0xfe, 0x12, 0x4e, 0x9e, 0x41, 0x23, 0x1f,
0xe5, 0xb9, 0x8c, 0xc4, 0xb9, 0xd2, 0x31, 0xb3, 0x74, 0x1f, 0x03, 0x5a, 0x18, 0x70, 0xb6, 0x60,
0xf9, 0x25, 0x94, 0xbc, 0x86, 0x16, 0x2e, 0xf3, 0x65, 0x22, 0xed, 0x19, 0xb3, 0xec, 0x5a, 0x65,
0x9a, 0x0b, 0x7a, 0x80, 0x09, 0x14, 0x13, 0x5e, 0x2c, 0xfb, 0xfe, 0xaa, 0x22, 0xf2, 0x27, 0x54,
0x2c, 0x0b, 0x0d, 0x3d, 0xc4, 0xe5, 0xa8, 0x61, 0xf1, 0x0d, 0x0b, 0x8d, 0x8f, 0x72, 0xff, 0xa3,
0x03, 0x7b, 0xa5, 0xad, 0x3d, 0xc9, 0x8f, 0x10, 0x32, 0x86, 0xea, 0x65, 0x72, 0xaf, 0xc6, 0x82,
0xb8, 0x8f, 0x3d, 0x5d, 0x8a, 0xe3, 0xb4, 0xed, 0x3d, 0x9a, 0x2f, 0x0e, 0xb6, 0xee, 0x6f, 0xa7,
0xff, 0xbf, 0xf5, 0x42, 0x69, 0x47, 0xd9, 0xd0, 0xe5, 0x2a, 0xf6, 0x62, 0xc9, 0xb5, 0x32, 0xea,
0xce, 0x7a, 0xb1, 0xe2, 0x9e, 0x4e, 0xb9, 0x37, 0x0f, 0xf3, 0xa6, 0x61, 0xc3, 0x2a, 0x1e, 0x50,
0x4f, 0xbe, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x0c, 0xd5, 0x92, 0x4f, 0x06, 0x00, 0x00,
// 772 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x94, 0x41, 0x6f, 0xe3, 0x44,
0x14, 0xc7, 0x71, 0x9a, 0xa6, 0xc9, 0xcb, 0x36, 0x1b, 0x26, 0xdd, 0x76, 0x14, 0x41, 0x89, 0xc2,
0x0a, 0x22, 0x0e, 0x36, 0x04, 0x04, 0x07, 0x24, 0xa4, 0x2d, 0x65, 0xd9, 0xe5, 0xb0, 0x20, 0xb7,
0xca, 0x81, 0x4b, 0x35, 0x19, 0x4f, 0xed, 0x51, 0x6c, 0x8f, 0x99, 0x19, 0x17, 0x05, 0x89, 0x0b,
0x27, 0xbe, 0x07, 0x1f, 0x01, 0x21, 0xf1, 0xf1, 0x90, 0x9f, 0x9d, 0xa6, 0x71, 0xc2, 0xaa, 0x3d,
0xf4, 0x94, 0xcc, 0xfb, 0xff, 0xde, 0x7f, 0xde, 0xbc, 0xf1, 0x1b, 0x78, 0x9e, 0x28, 0x7e, 0xc5,
0x63, 0x95, 0x07, 0x2c, 0x14, 0xa9, 0xbd, 0xba, 0x91, 0xda, 0xe6, 0x2c, 0x8e, 0x98, 0x0e, 0x02,
0x69, 0x16, 0x6e, 0xa6, 0x95, 0x55, 0xe4, 0x38, 0x51, 0xdc, 0x5d, 0x53, 0xae, 0xb1, 0x4a, 0xb3,
0x50, 0x0c, 0x4f, 0x43, 0xa5, 0xc2, 0x58, 0x78, 0x48, 0xcd, 0xf3, 0x6b, 0xef, 0x57, 0xcd, 0xb2,
0x4c, 0x68, 0x53, 0xe6, 0x0d, 0x4f, 0xd0, 0x5d, 0x25, 0x89, 0x4a, 0xab, 0x9f, 0x52, 0x18, 0xff,
0xe5, 0xc0, 0xf1, 0xac, 0xdc, 0xea, 0x15, 0xd3, 0xc1, 0xb9, 0x34, 0x0b, 0x5f, 0xfc, 0x92, 0x0b,
0x63, 0xc9, 0x05, 0xf4, 0x6b, 0x8a, 0xa1, 0xce, 0x68, 0x6f, 0xd2, 0x9d, 0x7e, 0xec, 0xee, 0x2e,
0xc3, 0xad, 0x3b, 0x6d, 0x19, 0x90, 0x2f, 0xe0, 0xf0, 0xc7, 0x4c, 0x68, 0x66, 0xa5, 0x4a, 0x2f,
0x97, 0x99, 0xa0, 0x8d, 0x91, 0x33, 0xe9, 0x4d, 0x7b, 0xe8, 0x78, 0xab, 0xf8, 0x9b, 0xd0, 0xf8,
0x5f, 0x07, 0x4e, 0xb6, 0xaa, 0x34, 0x99, 0x4a, 0x8d, 0x78, 0x9c, 0x32, 0xa7, 0xd0, 0xf2, 0x85,
0xc9, 0x63, 0x8b, 0xf5, 0x75, 0xa7, 0x43, 0xb7, 0x6c, 0xb0, 0xbb, 0x6a, 0xb0, 0x7b, 0xa6, 0x54,
0x3c, 0x63, 0x71, 0x2e, 0xfc, 0x8a, 0x24, 0x47, 0xb0, 0xff, 0x9d, 0xd6, 0x4a, 0xd3, 0xbd, 0x91,
0x33, 0xe9, 0xf8, 0xe5, 0x62, 0xfc, 0xf7, 0x01, 0x3c, 0xad, 0xd9, 0x13, 0x02, 0xcd, 0x94, 0x25,
0x82, 0x3a, 0x08, 0xe2, 0x7f, 0xd2, 0x83, 0x86, 0x0c, 0x70, 0xb7, 0x8e, 0xdf, 0x90, 0x01, 0x79,
0x0e, 0x87, 0x5c, 0xa5, 0x96, 0xc9, 0x54, 0xe8, 0x37, 0x05, 0x5c, 0xba, 0x6e, 0x06, 0x09, 0x85,
0x66, 0xc6, 0x6c, 0x44, 0x9b, 0x85, 0x78, 0xd6, 0xfc, 0xf3, 0x1f, 0xea, 0xf8, 0x18, 0x21, 0x1f,
0x42, 0xcb, 0x58, 0x66, 0x73, 0x43, 0xf7, 0xf1, 0x04, 0x5d, 0x6c, 0xc6, 0x05, 0x86, 0xfc, 0x4a,
0x2a, 0x0a, 0x31, 0xf2, 0x37, 0x41, 0x5b, 0x23, 0x67, 0xb2, 0xe7, 0xe3, 0x7f, 0x42, 0xe1, 0x20,
0x58, 0xa6, 0x2c, 0x91, 0x9c, 0x1e, 0x8c, 0x9c, 0x49, 0xdb, 0x5f, 0x2d, 0xc9, 0x47, 0xd0, 0x9b,
0xc7, 0x8a, 0x2f, 0x0a, 0x6c, 0xbe, 0xb4, 0xc2, 0xd0, 0xf6, 0xc8, 0x99, 0xec, 0xfb, 0xb5, 0x28,
0x71, 0x81, 0xc4, 0x2a, 0x94, 0x9c, 0xc5, 0x46, 0x70, 0xab, 0x74, 0xc9, 0x76, 0x90, 0xdd, 0xa1,
0x90, 0x4f, 0x61, 0x90, 0x45, 0x4b, 0x53, 0x4f, 0x00, 0x4c, 0xd8, 0x25, 0x91, 0x4f, 0xa0, 0x5f,
0xf4, 0x41, 0xab, 0x38, 0x16, 0x3a, 0xcd, 0x93, 0xb9, 0xd0, 0xb4, 0x8b, 0x67, 0xd8, 0x8a, 0x17,
0xd5, 0xac, 0x63, 0xb1, 0xe2, 0xf8, 0x55, 0xd1, 0x27, 0x48, 0xef, 0x50, 0xc8, 0x29, 0x40, 0x31,
0x70, 0x95, 0xeb, 0x21, 0x72, 0x77, 0x22, 0x85, 0x5f, 0x35, 0x9b, 0x09, 0xe3, 0x91, 0x4c, 0x05,
0xde, 0x4e, 0x0f, 0x6f, 0x67, 0x87, 0x42, 0x86, 0xd0, 0x36, 0xdc, 0x48, 0xbc, 0xa6, 0xa7, 0x48,
0xdd, 0xae, 0xc9, 0x37, 0x30, 0x64, 0xd6, 0x32, 0x1e, 0x89, 0x60, 0xb6, 0xed, 0xd9, 0x47, 0xfa,
0x2d, 0x44, 0xd1, 0x87, 0x95, 0xfa, 0x46, 0x05, 0x65, 0xd6, 0xbb, 0x98, 0xb5, 0x15, 0x27, 0xef,
0x41, 0x27, 0xd4, 0x2a, 0xcf, 0x10, 0x22, 0x08, 0xad, 0x03, 0x64, 0x0c, 0x4f, 0x56, 0x1d, 0x40,
0x60, 0x80, 0xc0, 0x46, 0x8c, 0xbc, 0x80, 0x7e, 0xb4, 0xcc, 0x84, 0x9e, 0x7d, 0x2f, 0xd2, 0x6a,
0x3a, 0xe9, 0x11, 0x8e, 0xef, 0x33, 0xfc, 0xb8, 0x5e, 0xd5, 0x44, 0x7f, 0x0b, 0x27, 0x5f, 0x43,
0xaf, 0x68, 0xe5, 0x4b, 0x19, 0x8b, 0x97, 0x4a, 0x27, 0xcc, 0xd2, 0x67, 0x68, 0x30, 0x40, 0x83,
0xf3, 0x0d, 0xc9, 0xaf, 0xa1, 0xe4, 0x07, 0x18, 0xe0, 0x30, 0xbf, 0x4e, 0xa5, 0x3d, 0x67, 0x96,
0x5d, 0xa8, 0x5c, 0x73, 0x41, 0x8f, 0xd1, 0x81, 0xa2, 0xc3, 0xb7, 0xdb, 0xba, 0xbf, 0x2b, 0x89,
0xbc, 0x0f, 0x4d, 0xcb, 0x42, 0x43, 0x4f, 0x70, 0x38, 0x3a, 0x98, 0x7c, 0xc9, 0x42, 0xe3, 0x63,
0x78, 0x9c, 0xc3, 0x69, 0x6d, 0x68, 0x7f, 0xd2, 0x82, 0x47, 0x82, 0x3f, 0xea, 0xeb, 0x38, 0x5e,
0xc0, 0x07, 0xff, 0xbb, 0x6d, 0xf5, 0xdc, 0xad, 0x5f, 0x26, 0xe7, 0xe1, 0x2f, 0x53, 0xe3, 0xce,
0xcb, 0x34, 0xfd, 0xa3, 0x01, 0x47, 0xb5, 0xdd, 0x5e, 0x14, 0xf5, 0x92, 0x05, 0xb4, 0x5e, 0xa7,
0x37, 0x6a, 0x21, 0x88, 0x7b, 0xdf, 0xa3, 0x94, 0x4d, 0x19, 0x7a, 0xf7, 0xe6, 0xcb, 0xd3, 0x8c,
0xdf, 0x21, 0xbf, 0x43, 0x7b, 0x75, 0x46, 0xf2, 0xe5, 0x3d, 0xd3, 0x6b, 0x77, 0x31, 0xfc, 0xea,
0xc1, 0x79, 0xab, 0xed, 0xcf, 0x3e, 0xfb, 0xd9, 0x0b, 0xa5, 0x8d, 0xf2, 0xb9, 0xcb, 0x55, 0xe2,
0x25, 0x92, 0x6b, 0x65, 0xd4, 0xb5, 0xf5, 0x12, 0xc5, 0x3d, 0x9d, 0x71, 0x6f, 0x6d, 0xea, 0x55,
0xa6, 0xf3, 0x16, 0x76, 0xfa, 0xf3, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x70, 0xaf, 0xf7, 0x87,
0xb2, 0x07, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -415,6 +509,8 @@ const _ = grpc.SupportPackageIsVersion4
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type VirtualHardDiskAgentClient interface {
Invoke(ctx context.Context, in *VirtualHardDiskRequest, opts ...grpc.CallOption) (*VirtualHardDiskResponse, error)
// Prechecks whether the system is able to create specified virtual hard disks (but does not actually create them).
Precheck(ctx context.Context, in *VirtualHardDiskPrecheckRequest, opts ...grpc.CallOption) (*VirtualHardDiskPrecheckResponse, error)
}
type virtualHardDiskAgentClient struct {
@ -434,9 +530,20 @@ func (c *virtualHardDiskAgentClient) Invoke(ctx context.Context, in *VirtualHard
return out, nil
}
func (c *virtualHardDiskAgentClient) Precheck(ctx context.Context, in *VirtualHardDiskPrecheckRequest, opts ...grpc.CallOption) (*VirtualHardDiskPrecheckResponse, error) {
out := new(VirtualHardDiskPrecheckResponse)
err := c.cc.Invoke(ctx, "/moc.cloudagent.storage.VirtualHardDiskAgent/Precheck", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// VirtualHardDiskAgentServer is the server API for VirtualHardDiskAgent service.
type VirtualHardDiskAgentServer interface {
Invoke(context.Context, *VirtualHardDiskRequest) (*VirtualHardDiskResponse, error)
// Prechecks whether the system is able to create specified virtual hard disks (but does not actually create them).
Precheck(context.Context, *VirtualHardDiskPrecheckRequest) (*VirtualHardDiskPrecheckResponse, error)
}
// UnimplementedVirtualHardDiskAgentServer can be embedded to have forward compatible implementations.
@ -446,6 +553,9 @@ type UnimplementedVirtualHardDiskAgentServer struct {
func (*UnimplementedVirtualHardDiskAgentServer) Invoke(ctx context.Context, req *VirtualHardDiskRequest) (*VirtualHardDiskResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Invoke not implemented")
}
func (*UnimplementedVirtualHardDiskAgentServer) Precheck(ctx context.Context, req *VirtualHardDiskPrecheckRequest) (*VirtualHardDiskPrecheckResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Precheck not implemented")
}
func RegisterVirtualHardDiskAgentServer(s *grpc.Server, srv VirtualHardDiskAgentServer) {
s.RegisterService(&_VirtualHardDiskAgent_serviceDesc, srv)
@ -469,6 +579,24 @@ func _VirtualHardDiskAgent_Invoke_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
func _VirtualHardDiskAgent_Precheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VirtualHardDiskPrecheckRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VirtualHardDiskAgentServer).Precheck(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/moc.cloudagent.storage.VirtualHardDiskAgent/Precheck",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VirtualHardDiskAgentServer).Precheck(ctx, req.(*VirtualHardDiskPrecheckRequest))
}
return interceptor(ctx, in, info, handler)
}
var _VirtualHardDiskAgent_serviceDesc = grpc.ServiceDesc{
ServiceName: "moc.cloudagent.storage.VirtualHardDiskAgent",
HandlerType: (*VirtualHardDiskAgentServer)(nil),
@ -477,6 +605,10 @@ var _VirtualHardDiskAgent_serviceDesc = grpc.ServiceDesc{
MethodName: "Invoke",
Handler: _VirtualHardDiskAgent_Invoke_Handler,
},
{
MethodName: "Precheck",
Handler: _VirtualHardDiskAgent_Precheck_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "moc_cloudagent_virtualharddisk.proto",

Просмотреть файл

@ -47,8 +47,21 @@ message VirtualHardDisk {
Tags tags = 23;
}
service VirtualHardDiskAgent {
rpc Invoke(VirtualHardDiskRequest) returns (VirtualHardDiskResponse) {}
message VirtualHardDiskPrecheckRequest {
repeated VirtualHardDisk VirtualHardDisks = 1;
}
message VirtualHardDiskPrecheckResponse {
// The precheck result: true if the precheck criteria is passed; otherwise, false
google.protobuf.BoolValue Result = 1;
// The error message if the precheck is not passed; otherwise, empty string
string Error = 2;
}
service VirtualHardDiskAgent {
rpc Invoke(VirtualHardDiskRequest) returns (VirtualHardDiskResponse) {}
// Prechecks whether the system is able to create specified virtual hard disks (but does not actually create them).
rpc Precheck(VirtualHardDiskPrecheckRequest) returns (VirtualHardDiskPrecheckResponse) {}
}