pcm-coordinator/adaptor/pcm_vm/gen/idl/ecs.pb.go

3050 lines
108 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc (unknown)
// source: idl/ecs.proto
package ecspb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 云提供商
type CloudProvider int32
const (
// 0 - 阿里云
CloudProvider_ali CloudProvider = 0
// 1 - 腾讯云
CloudProvider_tencent CloudProvider = 1
// 2 - 华为云
CloudProvider_huawei CloudProvider = 2
// 3 - K8S
CloudProvider_k8s CloudProvider = 3
// 3 - Harvester
CloudProvider_harvester CloudProvider = 4
)
// Enum value maps for CloudProvider.
var (
CloudProvider_name = map[int32]string{
0: "ali",
1: "tencent",
2: "huawei",
3: "k8s",
4: "harvester",
}
CloudProvider_value = map[string]int32{
"ali": 0,
"tencent": 1,
"huawei": 2,
"k8s": 3,
"harvester": 4,
}
)
func (x CloudProvider) Enum() *CloudProvider {
p := new(CloudProvider)
*p = x
return p
}
func (x CloudProvider) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CloudProvider) Descriptor() protoreflect.EnumDescriptor {
return file_idl_ecs_proto_enumTypes[0].Descriptor()
}
func (CloudProvider) Type() protoreflect.EnumType {
return &file_idl_ecs_proto_enumTypes[0]
}
func (x CloudProvider) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CloudProvider.Descriptor instead.
func (CloudProvider) EnumDescriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{0}
}
// 网络计费类型
type InternetChargeType int32
const (
// 按固定带宽计费。
InternetChargeType_PayByBandwidth InternetChargeType = 0
// (默认):按使用流量计费
InternetChargeType_PayByTraffic InternetChargeType = 1
)
// Enum value maps for InternetChargeType.
var (
InternetChargeType_name = map[int32]string{
0: "PayByBandwidth",
1: "PayByTraffic",
}
InternetChargeType_value = map[string]int32{
"PayByBandwidth": 0,
"PayByTraffic": 1,
}
)
func (x InternetChargeType) Enum() *InternetChargeType {
p := new(InternetChargeType)
*p = x
return p
}
func (x InternetChargeType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (InternetChargeType) Descriptor() protoreflect.EnumDescriptor {
return file_idl_ecs_proto_enumTypes[1].Descriptor()
}
func (InternetChargeType) Type() protoreflect.EnumType {
return &file_idl_ecs_proto_enumTypes[1]
}
func (x InternetChargeType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use InternetChargeType.Descriptor instead.
func (InternetChargeType) EnumDescriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{1}
}
// 虚拟机状态操作
type ActionType int32
const (
// 启动
ActionType_start ActionType = 0
// 停止
ActionType_stop ActionType = 1
// 重启
ActionType_restart ActionType = 2
)
// Enum value maps for ActionType.
var (
ActionType_name = map[int32]string{
0: "start",
1: "stop",
2: "restart",
}
ActionType_value = map[string]int32{
"start": 0,
"stop": 1,
"restart": 2,
}
)
func (x ActionType) Enum() *ActionType {
p := new(ActionType)
*p = x
return p
}
func (x ActionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ActionType) Descriptor() protoreflect.EnumDescriptor {
return file_idl_ecs_proto_enumTypes[2].Descriptor()
}
func (ActionType) Type() protoreflect.EnumType {
return &file_idl_ecs_proto_enumTypes[2]
}
func (x ActionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ActionType.Descriptor instead.
func (ActionType) EnumDescriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{2}
}
// ECS 实例
type EcsInstance struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云类型
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账号名称
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 实例id
InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
// 实例名称
InstanceName string `protobuf:"bytes,4,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
// 地域,数据中心
RegionName string `protobuf:"bytes,5,opt,name=region_name,json=regionName,proto3" json:"region_name,omitempty"`
// 公网ip
PublicIps []string `protobuf:"bytes,6,rep,name=public_ips,json=publicIps,proto3" json:"public_ips,omitempty"`
// 实例类型
InstanceType string `protobuf:"bytes,7,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"`
// vcpu数
Cpu string `protobuf:"bytes,8,opt,name=cpu,proto3" json:"cpu,omitempty"`
// 内存MB
Memory string `protobuf:"bytes,9,opt,name=memory,proto3" json:"memory,omitempty"`
// 实例描述
Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"`
// 状态
Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
// 创建时间ISO8601
CreationTime string `protobuf:"bytes,12,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
// 过期时间
ExpireTime string `protobuf:"bytes,13,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
// 内网ip
InnerIps []string `protobuf:"bytes,14,rep,name=inner_ips,json=innerIps,proto3" json:"inner_ips,omitempty"`
// vpc id
VpcId string `protobuf:"bytes,15,opt,name=vpc_id,json=vpcId,proto3" json:"vpc_id,omitempty"`
// 资源组id
ResourceGroupId string `protobuf:"bytes,16,opt,name=resource_group_id,json=resourceGroupId,proto3" json:"resource_group_id,omitempty"`
// 收费类型
InstanceChargeType string `protobuf:"bytes,17,opt,name=instance_charge_type,json=instanceChargeType,proto3" json:"instance_charge_type,omitempty"`
// -----------harvester---------
// 虚拟机所在的节点
Node string `protobuf:"bytes,18,opt,name=node,proto3" json:"node,omitempty"`
// namespace
Namespace string `protobuf:"bytes,20,opt,name=namespace,proto3" json:"namespace,omitempty"`
}
func (x *EcsInstance) Reset() {
*x = EcsInstance{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EcsInstance) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EcsInstance) ProtoMessage() {}
func (x *EcsInstance) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EcsInstance.ProtoReflect.Descriptor instead.
func (*EcsInstance) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{0}
}
func (x *EcsInstance) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *EcsInstance) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *EcsInstance) GetInstanceId() string {
if x != nil {
return x.InstanceId
}
return ""
}
func (x *EcsInstance) GetInstanceName() string {
if x != nil {
return x.InstanceName
}
return ""
}
func (x *EcsInstance) GetRegionName() string {
if x != nil {
return x.RegionName
}
return ""
}
func (x *EcsInstance) GetPublicIps() []string {
if x != nil {
return x.PublicIps
}
return nil
}
func (x *EcsInstance) GetInstanceType() string {
if x != nil {
return x.InstanceType
}
return ""
}
func (x *EcsInstance) GetCpu() string {
if x != nil {
return x.Cpu
}
return ""
}
func (x *EcsInstance) GetMemory() string {
if x != nil {
return x.Memory
}
return ""
}
func (x *EcsInstance) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *EcsInstance) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *EcsInstance) GetCreationTime() string {
if x != nil {
return x.CreationTime
}
return ""
}
func (x *EcsInstance) GetExpireTime() string {
if x != nil {
return x.ExpireTime
}
return ""
}
func (x *EcsInstance) GetInnerIps() []string {
if x != nil {
return x.InnerIps
}
return nil
}
func (x *EcsInstance) GetVpcId() string {
if x != nil {
return x.VpcId
}
return ""
}
func (x *EcsInstance) GetResourceGroupId() string {
if x != nil {
return x.ResourceGroupId
}
return ""
}
func (x *EcsInstance) GetInstanceChargeType() string {
if x != nil {
return x.InstanceChargeType
}
return ""
}
func (x *EcsInstance) GetNode() string {
if x != nil {
return x.Node
}
return ""
}
func (x *EcsInstance) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
// 创建多家云ECS入参
type CreateEcsMultipleReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CreateEcsReqs []*CreateEcsReq `protobuf:"bytes,1,rep,name=createEcsReqs,proto3" json:"createEcsReqs,omitempty"`
}
func (x *CreateEcsMultipleReq) Reset() {
*x = CreateEcsMultipleReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateEcsMultipleReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateEcsMultipleReq) ProtoMessage() {}
func (x *CreateEcsMultipleReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateEcsMultipleReq.ProtoReflect.Descriptor instead.
func (*CreateEcsMultipleReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{1}
}
func (x *CreateEcsMultipleReq) GetCreateEcsReqs() []*CreateEcsReq {
if x != nil {
return x.CreateEcsReqs
}
return nil
}
// 创建多家云ECS返回值
type CreateEcsMultipleResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 请求ID
RequestId []string `protobuf:"bytes,1,rep,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// 查询是否完成,如果为否-false则可以将下面三个分页参数填入到请求中继续查询
Finished bool `protobuf:"varint,2,opt,name=finished,proto3" json:"finished,omitempty"`
}
func (x *CreateEcsMultipleResp) Reset() {
*x = CreateEcsMultipleResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateEcsMultipleResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateEcsMultipleResp) ProtoMessage() {}
func (x *CreateEcsMultipleResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateEcsMultipleResp.ProtoReflect.Descriptor instead.
func (*CreateEcsMultipleResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{2}
}
func (x *CreateEcsMultipleResp) GetRequestId() []string {
if x != nil {
return x.RequestId
}
return nil
}
func (x *CreateEcsMultipleResp) GetFinished() bool {
if x != nil {
return x.Finished
}
return false
}
// 创建ECS入参
type CreateEcsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云类型
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账号名称
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 地域,数据中心
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 镜像id
ImageId string `protobuf:"bytes,4,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"`
// 实例的付费方式
InstanceChargeType string `protobuf:"bytes,5,opt,name=instance_charge_type,json=instanceChargeType,proto3" json:"instance_charge_type,omitempty"`
// 实例的资源规格
InstanceType string `protobuf:"bytes,6,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"`
// 安全组id
SecurityGroupId string `protobuf:"bytes,7,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
// 交换机id
VSwitchId string `protobuf:"bytes,8,opt,name=v_switch_id,json=vSwitchId,proto3" json:"v_switch_id,omitempty"`
// 实例名称
InstanceName string `protobuf:"bytes,9,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
// 实例描述
Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"`
// 可用区id
ZoneId string `protobuf:"bytes,11,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
// 系统磁盘
SystemDisk *SystemDisk `protobuf:"bytes,12,opt,name=system_disk,json=systemDisk,proto3" json:"system_disk,omitempty"`
// 创建ECS的数量
Amount int32 `protobuf:"varint,13,opt,name=amount,proto3" json:"amount,omitempty"`
// 预检此次请求,为true时请求通过则返回 Request validation has been passed with DryRun flag set
DryRun string `protobuf:"bytes,14,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
// 数据盘N的云盘种类。取值范围cloud_efficiency高效云盘cloud_ssdSSD云盘cloud_essdESSD云盘cloud普通云盘。
Category string `protobuf:"bytes,15,opt,name=category,proto3" json:"category,omitempty"`
// 网络计费类型。取值范围PayByBandwidth按固定带宽计费。PayByTraffic默认按使用流量计费
InternetChargeType InternetChargeType `protobuf:"varint,16,opt,name=internet_charge_type,json=internetChargeType,proto3,enum=ecs.InternetChargeType" json:"internet_charge_type,omitempty"`
// 公网入带宽最大值单位为Mbit/s。创建的实例如果参数InternetMaxBandwidthOut的值大于0则自动为实例分配公网IP。
InternetMaxBandwidthOut int32 `protobuf:"varint,17,opt,name=internet_max_bandwidth_out,json=internetMaxBandwidthOut,proto3" json:"internet_max_bandwidth_out,omitempty"`
// vpc id 华为云必需
VpcId string `protobuf:"bytes,18,opt,name=vpc_id,json=vpcId,proto3" json:"vpc_id,omitempty"`
// 待创建云服务器所在的子网信息。需要指定vpcid对应VPC下已创建的子网subnet的网络IDUUID格式。华为云必需
SubnetId string `protobuf:"bytes,19,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
// -------------harvester---------------
// 命名空间
Namespace string `protobuf:"bytes,20,opt,name=namespace,proto3" json:"namespace,omitempty"`
// vCpu
Cpu int32 `protobuf:"varint,21,opt,name=cpu,proto3" json:"cpu,omitempty"`
// memory
Memory string `protobuf:"bytes,22,opt,name=memory,proto3" json:"memory,omitempty"`
// ssh_key
SshKey string `protobuf:"bytes,23,opt,name=ssh_key,json=sshKey,proto3" json:"ssh_key,omitempty"`
// diskName
DiskName string `protobuf:"bytes,24,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"`
// disk类型 disk,cd-rom
DiskType string `protobuf:"bytes,25,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
// 卷大小
DiskSize string `protobuf:"bytes,26,opt,name=disk_size,json=diskSize,proto3" json:"disk_size,omitempty"`
// bus 总线指示要模拟的磁盘设备的类型支持virtio, sata, scsi.
Bus string `protobuf:"bytes,27,opt,name=bus,proto3" json:"bus,omitempty"`
// 网络名称
NetworkName string `protobuf:"bytes,28,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
// network_model 网络模式支持e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio.
NetworkModel string `protobuf:"bytes,29,opt,name=network_model,json=networkModel,proto3" json:"network_model,omitempty"`
// 网络
Network string `protobuf:"bytes,30,opt,name=network,proto3" json:"network,omitempty"`
// 网络连接方法默认bridge
NetworkType string `protobuf:"bytes,31,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"`
// osType //系统类型
OsType string `protobuf:"bytes,32,opt,name=os_type,json=osType,proto3" json:"os_type,omitempty"`
// machineType //机器类型 none、q35、pc
MachineType string `protobuf:"bytes,33,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"`
// machineName //主机名称,默认为虚拟机名称
MachineName string `protobuf:"bytes,34,opt,name=machine_name,json=machineName,proto3" json:"machine_name,omitempty"`
// userDataTemplate //用户数据模板
UserDataTemplate string `protobuf:"bytes,35,opt,name=user_data_template,json=userDataTemplate,proto3" json:"user_data_template,omitempty"`
// networkDataTemplate //网络数据模板
NetworkDataTemplate string `protobuf:"bytes,36,opt,name=network_data_template,json=networkDataTemplate,proto3" json:"network_data_template,omitempty"`
// vmTemplateName //模板名称
VmTemplateName string `protobuf:"bytes,37,opt,name=vm_template_name,json=vmTemplateName,proto3" json:"vm_template_name,omitempty"`
// vmTemplateVersion //版本号
VmTemplateVersion string `protobuf:"bytes,38,opt,name=vm_template_version,json=vmTemplateVersion,proto3" json:"vm_template_version,omitempty"`
}
func (x *CreateEcsReq) Reset() {
*x = CreateEcsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateEcsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateEcsReq) ProtoMessage() {}
func (x *CreateEcsReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateEcsReq.ProtoReflect.Descriptor instead.
func (*CreateEcsReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{3}
}
func (x *CreateEcsReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *CreateEcsReq) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *CreateEcsReq) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *CreateEcsReq) GetImageId() string {
if x != nil {
return x.ImageId
}
return ""
}
func (x *CreateEcsReq) GetInstanceChargeType() string {
if x != nil {
return x.InstanceChargeType
}
return ""
}
func (x *CreateEcsReq) GetInstanceType() string {
if x != nil {
return x.InstanceType
}
return ""
}
func (x *CreateEcsReq) GetSecurityGroupId() string {
if x != nil {
return x.SecurityGroupId
}
return ""
}
func (x *CreateEcsReq) GetVSwitchId() string {
if x != nil {
return x.VSwitchId
}
return ""
}
func (x *CreateEcsReq) GetInstanceName() string {
if x != nil {
return x.InstanceName
}
return ""
}
func (x *CreateEcsReq) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *CreateEcsReq) GetZoneId() string {
if x != nil {
return x.ZoneId
}
return ""
}
func (x *CreateEcsReq) GetSystemDisk() *SystemDisk {
if x != nil {
return x.SystemDisk
}
return nil
}
func (x *CreateEcsReq) GetAmount() int32 {
if x != nil {
return x.Amount
}
return 0
}
func (x *CreateEcsReq) GetDryRun() string {
if x != nil {
return x.DryRun
}
return ""
}
func (x *CreateEcsReq) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *CreateEcsReq) GetInternetChargeType() InternetChargeType {
if x != nil {
return x.InternetChargeType
}
return InternetChargeType_PayByBandwidth
}
func (x *CreateEcsReq) GetInternetMaxBandwidthOut() int32 {
if x != nil {
return x.InternetMaxBandwidthOut
}
return 0
}
func (x *CreateEcsReq) GetVpcId() string {
if x != nil {
return x.VpcId
}
return ""
}
func (x *CreateEcsReq) GetSubnetId() string {
if x != nil {
return x.SubnetId
}
return ""
}
func (x *CreateEcsReq) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *CreateEcsReq) GetCpu() int32 {
if x != nil {
return x.Cpu
}
return 0
}
func (x *CreateEcsReq) GetMemory() string {
if x != nil {
return x.Memory
}
return ""
}
func (x *CreateEcsReq) GetSshKey() string {
if x != nil {
return x.SshKey
}
return ""
}
func (x *CreateEcsReq) GetDiskName() string {
if x != nil {
return x.DiskName
}
return ""
}
func (x *CreateEcsReq) GetDiskType() string {
if x != nil {
return x.DiskType
}
return ""
}
func (x *CreateEcsReq) GetDiskSize() string {
if x != nil {
return x.DiskSize
}
return ""
}
func (x *CreateEcsReq) GetBus() string {
if x != nil {
return x.Bus
}
return ""
}
func (x *CreateEcsReq) GetNetworkName() string {
if x != nil {
return x.NetworkName
}
return ""
}
func (x *CreateEcsReq) GetNetworkModel() string {
if x != nil {
return x.NetworkModel
}
return ""
}
func (x *CreateEcsReq) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
func (x *CreateEcsReq) GetNetworkType() string {
if x != nil {
return x.NetworkType
}
return ""
}
func (x *CreateEcsReq) GetOsType() string {
if x != nil {
return x.OsType
}
return ""
}
func (x *CreateEcsReq) GetMachineType() string {
if x != nil {
return x.MachineType
}
return ""
}
func (x *CreateEcsReq) GetMachineName() string {
if x != nil {
return x.MachineName
}
return ""
}
func (x *CreateEcsReq) GetUserDataTemplate() string {
if x != nil {
return x.UserDataTemplate
}
return ""
}
func (x *CreateEcsReq) GetNetworkDataTemplate() string {
if x != nil {
return x.NetworkDataTemplate
}
return ""
}
func (x *CreateEcsReq) GetVmTemplateName() string {
if x != nil {
return x.VmTemplateName
}
return ""
}
func (x *CreateEcsReq) GetVmTemplateVersion() string {
if x != nil {
return x.VmTemplateVersion
}
return ""
}
// 系统磁盘
type SystemDisk struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 系统盘大小单位为GiB。取值范围20~500。该参数的取值必须大于或者等于max{20, ImageSize}。默认值max{40, 参数ImageId对应的镜像大小}
Size string `protobuf:"bytes,1,opt,name=size,proto3" json:"size,omitempty"`
// 系统盘类型。系统盘的云盘种类。取值范围cloud_efficiency高效云盘。cloud_ssdSSD云盘。cloud_essdESSD云盘。cloud普通云盘。
Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"`
// 系统盘名称
DiskName string `protobuf:"bytes,3,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"`
// 系统盘描述
Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
// 创建ESSD云盘作为系统盘使用时设置云盘的性能等级。取值范围PL0单盘最高随机读写IOPS 1万。PL1默认单盘最高随机读写IOPS 5万。PL2单盘最高随机读写IOPS 10万。PL3单盘最高随机读写IOPS 100万。
PerformanceLevel string `protobuf:"bytes,5,opt,name=performance_level,json=performanceLevel,proto3" json:"performance_level,omitempty"`
// 系统盘采用的自动快照策略ID。
AutoSnapshotPolicyId string `protobuf:"bytes,6,opt,name=auto_snapshot_policy_id,json=autoSnapshotPolicyId,proto3" json:"auto_snapshot_policy_id,omitempty"`
}
func (x *SystemDisk) Reset() {
*x = SystemDisk{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SystemDisk) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SystemDisk) ProtoMessage() {}
func (x *SystemDisk) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SystemDisk.ProtoReflect.Descriptor instead.
func (*SystemDisk) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{4}
}
func (x *SystemDisk) GetSize() string {
if x != nil {
return x.Size
}
return ""
}
func (x *SystemDisk) GetCategory() string {
if x != nil {
return x.Category
}
return ""
}
func (x *SystemDisk) GetDiskName() string {
if x != nil {
return x.DiskName
}
return ""
}
func (x *SystemDisk) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *SystemDisk) GetPerformanceLevel() string {
if x != nil {
return x.PerformanceLevel
}
return ""
}
func (x *SystemDisk) GetAutoSnapshotPolicyId() string {
if x != nil {
return x.AutoSnapshotPolicyId
}
return ""
}
// 创建ECS返回值
type CreateEcsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 区域Id参考 tenant.proto 中的各个云的区域
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 请求ID
RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// 订单id
OrderId string `protobuf:"bytes,5,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
// 订单成交价
TradePrice float32 `protobuf:"fixed32,6,opt,name=trade_price,json=tradePrice,proto3" json:"trade_price,omitempty"`
// 实例IDInstanceIdSet列表
InstanceIdSets []string `protobuf:"bytes,7,rep,name=instance_id_sets,json=instanceIdSets,proto3" json:"instance_id_sets,omitempty"`
// 查询是否完成,如果为否-false则可以将下面三个分页参数填入到请求中继续查询
Finished bool `protobuf:"varint,8,opt,name=finished,proto3" json:"finished,omitempty"`
}
func (x *CreateEcsResp) Reset() {
*x = CreateEcsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateEcsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateEcsResp) ProtoMessage() {}
func (x *CreateEcsResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateEcsResp.ProtoReflect.Descriptor instead.
func (*CreateEcsResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{5}
}
func (x *CreateEcsResp) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *CreateEcsResp) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *CreateEcsResp) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *CreateEcsResp) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *CreateEcsResp) GetOrderId() string {
if x != nil {
return x.OrderId
}
return ""
}
func (x *CreateEcsResp) GetTradePrice() float32 {
if x != nil {
return x.TradePrice
}
return 0
}
func (x *CreateEcsResp) GetInstanceIdSets() []string {
if x != nil {
return x.InstanceIdSets
}
return nil
}
func (x *CreateEcsResp) GetFinished() bool {
if x != nil {
return x.Finished
}
return false
}
// 删除ECS入参
type DeleteEcsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云类型
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账号名称
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 地域,数据中心
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 是否只预检此次请求是否只预检此次请求。true发送检查请求不会查询资源状况。检查项包括AccessKey是否有效、RAM用户的授权情况和是否填写了必需参数。如果检查不通过则返回对应错误。如果检查通过会返回错误码DRYRUN.SUCCESS。
// false默认值发送正常请求通过检查后返回2XX HTTP状态码并直接查询资源状况。
DryRun string `protobuf:"bytes,4,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
// Force是否强制释放**运行中**true强制释放运行中Running的实例。强制释放相当于断电实例内存以及存储中的临时数据都会被擦除无法恢复。
// false默认值正常释放实例此时实例必须处于已停止Stopped状态
Force string `protobuf:"bytes,5,opt,name=force,proto3" json:"force,omitempty"`
// 是否释放已到期的包年包月实例 true,false
TerminateSubscription string `protobuf:"bytes,6,opt,name=terminate_subscription,json=terminateSubscription,proto3" json:"terminate_subscription,omitempty"`
// 实例ID数组以”,“分割。列i-8vb2nlubkow0fxbq2218,i-8vb2nlubkow0fxbq2216
InstanceIds string `protobuf:"bytes,7,opt,name=instance_ids,json=instanceIds,proto3" json:"instance_ids,omitempty"`
// 配置删除云服务器是否删除云服务器绑定的弹性IP。如果选择不删除则系统仅做解绑定操作保留弹性IP资源。
// 取值为true或false。默认false华为云
DeletePublicip string `protobuf:"bytes,8,opt,name=delete_publicip,json=deletePublicip,proto3" json:"delete_publicip,omitempty"`
// 配置删除云服务器是否删除云服务器对应的数据盘如果选择不删除则系统仅做卸载操作保留云硬盘资源。默认为false。
// 取值为true或false。默认false华为云
DeleteVolume string `protobuf:"bytes,9,opt,name=delete_volume,json=deleteVolume,proto3" json:"delete_volume,omitempty"`
// ----------------harvester----------------
// 虚拟机名称
InstanceName string `protobuf:"bytes,10,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
// namespace
Namespace string `protobuf:"bytes,11,opt,name=namespace,proto3" json:"namespace,omitempty"`
// diskName,以“,” 分割
DiskName string `protobuf:"bytes,12,opt,name=disk_name,json=diskName,proto3" json:"disk_name,omitempty"`
}
func (x *DeleteEcsReq) Reset() {
*x = DeleteEcsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteEcsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteEcsReq) ProtoMessage() {}
func (x *DeleteEcsReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteEcsReq.ProtoReflect.Descriptor instead.
func (*DeleteEcsReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{6}
}
func (x *DeleteEcsReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *DeleteEcsReq) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *DeleteEcsReq) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *DeleteEcsReq) GetDryRun() string {
if x != nil {
return x.DryRun
}
return ""
}
func (x *DeleteEcsReq) GetForce() string {
if x != nil {
return x.Force
}
return ""
}
func (x *DeleteEcsReq) GetTerminateSubscription() string {
if x != nil {
return x.TerminateSubscription
}
return ""
}
func (x *DeleteEcsReq) GetInstanceIds() string {
if x != nil {
return x.InstanceIds
}
return ""
}
func (x *DeleteEcsReq) GetDeletePublicip() string {
if x != nil {
return x.DeletePublicip
}
return ""
}
func (x *DeleteEcsReq) GetDeleteVolume() string {
if x != nil {
return x.DeleteVolume
}
return ""
}
func (x *DeleteEcsReq) GetInstanceName() string {
if x != nil {
return x.InstanceName
}
return ""
}
func (x *DeleteEcsReq) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *DeleteEcsReq) GetDiskName() string {
if x != nil {
return x.DiskName
}
return ""
}
// 删除ECS返回值
type DeleteEcsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 区域Id参考 tenant.proto 中的各个云的区域
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 请求ID
RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
}
func (x *DeleteEcsResp) Reset() {
*x = DeleteEcsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteEcsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteEcsResp) ProtoMessage() {}
func (x *DeleteEcsResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteEcsResp.ProtoReflect.Descriptor instead.
func (*DeleteEcsResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{7}
}
func (x *DeleteEcsResp) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *DeleteEcsResp) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *DeleteEcsResp) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *DeleteEcsResp) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
// 更新ECS入参
type UpdateEcsReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云类型
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账号名称
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 地域,数据中心
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 实例id
InstanceIds string `protobuf:"bytes,4,opt,name=instance_ids,json=instanceIds,proto3" json:"instance_ids,omitempty"`
// 实例状态不能为启动中Starting。重启实例后重置生效且必须是在ECS控制台重启或者调用API RebootInstance重启新密码才能生效。在操作系统内部重启不能生效。
Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
// 操作系统的主机名
HostName string `protobuf:"bytes,6,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"`
// 实例名称
InstanceName string `protobuf:"bytes,7,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
// 实例描述
Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
// 实例重新加入的安全组列表安全组ID不能重复。以”,“分割
SecurityGroupIds string `protobuf:"bytes,9,opt,name=security_group_ids,json=securityGroupIds,proto3" json:"security_group_ids,omitempty"`
// ---------------harvester-----------------
// namespace
Namespace string `protobuf:"bytes,10,opt,name=namespace,proto3" json:"namespace,omitempty"`
// cpu
Cpu string `protobuf:"bytes,11,opt,name=cpu,proto3" json:"cpu,omitempty"`
// memory
Memory string `protobuf:"bytes,12,opt,name=memory,proto3" json:"memory,omitempty"`
// 修改配置后是否重启
IsRestart bool `protobuf:"varint,13,opt,name=is_restart,json=isRestart,proto3" json:"is_restart,omitempty"`
}
func (x *UpdateEcsReq) Reset() {
*x = UpdateEcsReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateEcsReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateEcsReq) ProtoMessage() {}
func (x *UpdateEcsReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateEcsReq.ProtoReflect.Descriptor instead.
func (*UpdateEcsReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{8}
}
func (x *UpdateEcsReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *UpdateEcsReq) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *UpdateEcsReq) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *UpdateEcsReq) GetInstanceIds() string {
if x != nil {
return x.InstanceIds
}
return ""
}
func (x *UpdateEcsReq) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *UpdateEcsReq) GetHostName() string {
if x != nil {
return x.HostName
}
return ""
}
func (x *UpdateEcsReq) GetInstanceName() string {
if x != nil {
return x.InstanceName
}
return ""
}
func (x *UpdateEcsReq) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *UpdateEcsReq) GetSecurityGroupIds() string {
if x != nil {
return x.SecurityGroupIds
}
return ""
}
func (x *UpdateEcsReq) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *UpdateEcsReq) GetCpu() string {
if x != nil {
return x.Cpu
}
return ""
}
func (x *UpdateEcsReq) GetMemory() string {
if x != nil {
return x.Memory
}
return ""
}
func (x *UpdateEcsReq) GetIsRestart() bool {
if x != nil {
return x.IsRestart
}
return false
}
// 更新ECS返回值
type UpdateEcsResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 区域Id参考 tenant.proto 中的各个云的区域
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 请求ID
RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
}
func (x *UpdateEcsResp) Reset() {
*x = UpdateEcsResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateEcsResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateEcsResp) ProtoMessage() {}
func (x *UpdateEcsResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateEcsResp.ProtoReflect.Descriptor instead.
func (*UpdateEcsResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{9}
}
func (x *UpdateEcsResp) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *UpdateEcsResp) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *UpdateEcsResp) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *UpdateEcsResp) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
// 查询ECS入参
type ListDetailReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 区域Id参考 tenant.proto 中的各个云的区域
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 分页相关参数,页码
PageNumber int32 `protobuf:"varint,4,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
// 分页相关参数,每页数量
PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// 分页相关参数下一页的token
NextToken string `protobuf:"bytes,6,opt,name=next_token,json=nextToken,proto3" json:"next_token,omitempty"`
// --------harvester---------
// namespace
Namespace string `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"`
}
func (x *ListDetailReq) Reset() {
*x = ListDetailReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListDetailReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListDetailReq) ProtoMessage() {}
func (x *ListDetailReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListDetailReq.ProtoReflect.Descriptor instead.
func (*ListDetailReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{10}
}
func (x *ListDetailReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *ListDetailReq) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *ListDetailReq) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *ListDetailReq) GetPageNumber() int32 {
if x != nil {
return x.PageNumber
}
return 0
}
func (x *ListDetailReq) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListDetailReq) GetNextToken() string {
if x != nil {
return x.NextToken
}
return ""
}
func (x *ListDetailReq) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
// 查询ECS返回值
type ListDetailResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Ecs 机器集合
Ecses []*EcsInstance `protobuf:"bytes,1,rep,name=ecses,proto3" json:"ecses,omitempty"`
// 查询是否完成,如果为否-false则可以将下面三个分页参数填入到请求中继续查询
Finished bool `protobuf:"varint,2,opt,name=finished,proto3" json:"finished,omitempty"`
// 分页相关参数,页码
PageNumber int32 `protobuf:"varint,3,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
// 分页相关参数,每页数量
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// 分页相关参数下一页的token
NextToken string `protobuf:"bytes,5,opt,name=next_token,json=nextToken,proto3" json:"next_token,omitempty"`
// 请求id出现问题后提供给云厂商排查问题
RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
}
func (x *ListDetailResp) Reset() {
*x = ListDetailResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListDetailResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListDetailResp) ProtoMessage() {}
func (x *ListDetailResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListDetailResp.ProtoReflect.Descriptor instead.
func (*ListDetailResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{11}
}
func (x *ListDetailResp) GetEcses() []*EcsInstance {
if x != nil {
return x.Ecses
}
return nil
}
func (x *ListDetailResp) GetFinished() bool {
if x != nil {
return x.Finished
}
return false
}
func (x *ListDetailResp) GetPageNumber() int32 {
if x != nil {
return x.PageNumber
}
return 0
}
func (x *ListDetailResp) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListDetailResp) GetNextToken() string {
if x != nil {
return x.NextToken
}
return ""
}
func (x *ListDetailResp) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
type ActionReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 区域Id参考 tenant.proto 中的各个云的区域
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 命名空间
Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"`
// 虚拟机名称
VmName string `protobuf:"bytes,5,opt,name=vm_name,json=vmName,proto3" json:"vm_name,omitempty"`
// 虚拟机操作状态
ActionType ActionType `protobuf:"varint,6,opt,name=action_type,json=actionType,proto3,enum=ecs.ActionType" json:"action_type,omitempty"`
}
func (x *ActionReq) Reset() {
*x = ActionReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ActionReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ActionReq) ProtoMessage() {}
func (x *ActionReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ActionReq.ProtoReflect.Descriptor instead.
func (*ActionReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{12}
}
func (x *ActionReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *ActionReq) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *ActionReq) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *ActionReq) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *ActionReq) GetVmName() string {
if x != nil {
return x.VmName
}
return ""
}
func (x *ActionReq) GetActionType() ActionType {
if x != nil {
return x.ActionType
}
return ActionType_start
}
type ActionResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// Ecs 机器集合
Ecses []*EcsInstance `protobuf:"bytes,3,rep,name=ecses,proto3" json:"ecses,omitempty"`
// 查询是否完成,如果为否-false则可以将下面三个分页参数填入到请求中继续查询
Finished bool `protobuf:"varint,4,opt,name=finished,proto3" json:"finished,omitempty"`
// vm状态
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *ActionResp) Reset() {
*x = ActionResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ActionResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ActionResp) ProtoMessage() {}
func (x *ActionResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ActionResp.ProtoReflect.Descriptor instead.
func (*ActionResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{13}
}
func (x *ActionResp) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *ActionResp) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *ActionResp) GetEcses() []*EcsInstance {
if x != nil {
return x.Ecses
}
return nil
}
func (x *ActionResp) GetFinished() bool {
if x != nil {
return x.Finished
}
return false
}
func (x *ActionResp) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
type ListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
}
func (x *ListReq) Reset() {
*x = ListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListReq) ProtoMessage() {}
func (x *ListReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListReq.ProtoReflect.Descriptor instead.
func (*ListReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{14}
}
func (x *ListReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
type ListResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Ecs 机器集合
Ecses []*EcsInstance `protobuf:"bytes,1,rep,name=ecses,proto3" json:"ecses,omitempty"`
}
func (x *ListResp) Reset() {
*x = ListResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListResp) ProtoMessage() {}
func (x *ListResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListResp.ProtoReflect.Descriptor instead.
func (*ListResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{15}
}
func (x *ListResp) GetEcses() []*EcsInstance {
if x != nil {
return x.Ecses
}
return nil
}
type ListAllReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ListAllReq) Reset() {
*x = ListAllReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAllReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAllReq) ProtoMessage() {}
func (x *ListAllReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListAllReq.ProtoReflect.Descriptor instead.
func (*ListAllReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{16}
}
type ListImagesReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 区域Id参考 tenant.proto 中的各个云的区域
RegionId int32 `protobuf:"varint,3,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
// 命名空间
Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"`
// 分页相关参数,页码
PageNumber int32 `protobuf:"varint,5,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
// 分页相关参数,每页数量
PageSize int32 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
}
func (x *ListImagesReq) Reset() {
*x = ListImagesReq{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListImagesReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListImagesReq) ProtoMessage() {}
func (x *ListImagesReq) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListImagesReq.ProtoReflect.Descriptor instead.
func (*ListImagesReq) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{17}
}
func (x *ListImagesReq) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *ListImagesReq) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *ListImagesReq) GetRegionId() int32 {
if x != nil {
return x.RegionId
}
return 0
}
func (x *ListImagesReq) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *ListImagesReq) GetPageNumber() int32 {
if x != nil {
return x.PageNumber
}
return 0
}
func (x *ListImagesReq) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
type Image struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 账户名称根据config.yaml中的配置默认为第一个配置的账户
AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
// 镜像状态
Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
// 镜像名称
DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// 命名空间
Namespace string `protobuf:"bytes,5,opt,name=namespace,proto3" json:"namespace,omitempty"`
// 镜像id
Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *Image) Reset() {
*x = Image{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Image) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Image) ProtoMessage() {}
func (x *Image) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Image.ProtoReflect.Descriptor instead.
func (*Image) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{18}
}
func (x *Image) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *Image) GetAccountName() string {
if x != nil {
return x.AccountName
}
return ""
}
func (x *Image) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *Image) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Image) GetNamespace() string {
if x != nil {
return x.Namespace
}
return ""
}
func (x *Image) GetId() string {
if x != nil {
return x.Id
}
return ""
}
type ListImagesResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 云名称
Provider CloudProvider `protobuf:"varint,1,opt,name=provider,proto3,enum=ecs.CloudProvider" json:"provider,omitempty"`
// 镜像集合
Images []*Image `protobuf:"bytes,2,rep,name=images,proto3" json:"images,omitempty"`
}
func (x *ListImagesResp) Reset() {
*x = ListImagesResp{}
if protoimpl.UnsafeEnabled {
mi := &file_idl_ecs_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListImagesResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListImagesResp) ProtoMessage() {}
func (x *ListImagesResp) ProtoReflect() protoreflect.Message {
mi := &file_idl_ecs_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListImagesResp.ProtoReflect.Descriptor instead.
func (*ListImagesResp) Descriptor() ([]byte, []int) {
return file_idl_ecs_proto_rawDescGZIP(), []int{19}
}
func (x *ListImagesResp) GetProvider() CloudProvider {
if x != nil {
return x.Provider
}
return CloudProvider_ali
}
func (x *ListImagesResp) GetImages() []*Image {
if x != nil {
return x.Images
}
return nil
}
var File_idl_ecs_proto protoreflect.FileDescriptor
var file_idl_ecs_proto_rawDesc = []byte{
0x0a, 0x0d, 0x69, 0x64, 0x6c, 0x2f, 0x65, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x03, 0x65, 0x63, 0x73, 0x22, 0xf9, 0x04, 0x0a, 0x0b, 0x45, 0x63, 0x73, 0x49, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f,
0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a,
0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x73, 0x12, 0x23, 0x0a,
0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79,
0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x09,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63,
0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65,
0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52,
0x08, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x70, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x70, 0x63,
0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x70, 0x63, 0x49, 0x64,
0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14,
0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f,
0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
0x22, 0x4f, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x4d, 0x75, 0x6c,
0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x37, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x11, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52,
0x65, 0x71, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x71,
0x73, 0x22, 0x52, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x4d, 0x75,
0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x22, 0xc1, 0x0a, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x45, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43,
0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65,
0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49,
0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x68,
0x61, 0x72, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x54,
0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75,
0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x76, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68,
0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x53, 0x77, 0x69, 0x74,
0x63, 0x68, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x7a,
0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x7a, 0x6f,
0x6e, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x64,
0x69, 0x73, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x63, 0x73, 0x2e,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17,
0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
0x6f, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f,
0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x17, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,
0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b,
0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62,
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01,
0x28, 0x05, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x42,
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4f, 0x75, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x76,
0x70, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x70, 0x63,
0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x12,
0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a,
0x03, 0x63, 0x70, 0x75, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12,
0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x73, 0x68, 0x5f, 0x6b,
0x65, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79,
0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69,
0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64,
0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x73, 0x18, 0x1b,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x1d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4d, 0x6f, 0x64, 0x65,
0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x1e, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17,
0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69,
0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d,
0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61,
0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a,
0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c,
0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44,
0x61, 0x74, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
0x28, 0x0a, 0x10, 0x76, 0x6d, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x6d, 0x54, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x6d, 0x5f,
0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x0a, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73,
0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x10, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x4c,
0x65, 0x76, 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x6e, 0x61,
0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73,
0x68, 0x6f, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xa0, 0x02, 0x0a, 0x0d,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a,
0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a,
0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a,
0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65,
0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x72,
0x61, 0x64, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x53, 0x65,
0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x08,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x22, 0xb5,
0x03, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12,
0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12,
0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x35,
0x0a, 0x16, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15,
0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x69,
0x70, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75,
0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73,
0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69,
0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73,
0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xb6, 0x03, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73,
0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08,
0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72,
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74,
0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x73,
0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d,
0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61,
0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d,
0x6f, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
0x22, 0x9e, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65,
0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f,
0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
0x64, 0x22, 0xfa, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd0,
0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73,
0x70, 0x12, 0x26, 0x0a, 0x05, 0x65, 0x63, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x10, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x45, 0x63, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x52, 0x05, 0x65, 0x63, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
0x64, 0x22, 0xe4, 0x01, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12,
0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12,
0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a,
0x07, 0x76, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x76, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x65, 0x63,
0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x0a, 0x41, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e,
0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x65, 0x63,
0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x65, 0x63, 0x73, 0x2e,
0x45, 0x63, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x65, 0x63, 0x73,
0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x39, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x71, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x22, 0x32, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a,
0x05, 0x65, 0x63, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x65,
0x63, 0x73, 0x2e, 0x45, 0x63, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05,
0x65, 0x63, 0x73, 0x65, 0x73, 0x22, 0x0c, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
0x52, 0x65, 0x71, 0x22, 0xdb, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c,
0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69,
0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x67,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
0x65, 0x22, 0xc3, 0x01, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
0x65, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69,
0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d,
0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61,
0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x64, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x63,
0x73, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52,
0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x06, 0x69, 0x6d, 0x61,
0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x65, 0x63, 0x73, 0x2e,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2a, 0x49, 0x0a,
0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x07,
0x0a, 0x03, 0x61, 0x6c, 0x69, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x74, 0x65, 0x6e, 0x63, 0x65,
0x6e, 0x74, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x77, 0x65, 0x69, 0x10, 0x02,
0x12, 0x07, 0x0a, 0x03, 0x6b, 0x38, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x68, 0x61, 0x72,
0x76, 0x65, 0x73, 0x74, 0x65, 0x72, 0x10, 0x04, 0x2a, 0x3a, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12,
0x0a, 0x0e, 0x50, 0x61, 0x79, 0x42, 0x79, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x61, 0x79, 0x42, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
0x69, 0x63, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x10, 0x00, 0x12, 0x08, 0x0a,
0x04, 0x73, 0x74, 0x6f, 0x70, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x61,
0x72, 0x74, 0x10, 0x02, 0x32, 0xec, 0x03, 0x0a, 0x0a, 0x45, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x75, 0x6c,
0x74, 0x69, 0x70, 0x6c, 0x65, 0x45, 0x63, 0x73, 0x12, 0x19, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x45, 0x63, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
0x32, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x12, 0x11, 0x2e, 0x65,
0x63, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a,
0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52,
0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x63, 0x73,
0x12, 0x11, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x63, 0x73,
0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x45, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x45, 0x63, 0x73, 0x12, 0x11, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x45, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x4c,
0x69, 0x73, 0x74, 0x45, 0x63, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x2e, 0x65,
0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71,
0x1a, 0x13, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x63, 0x73,
0x12, 0x0c, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0d,
0x2e, 0x65, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a,
0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x63, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x0f, 0x2e, 0x65, 0x63,
0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x65,
0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x41,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x63, 0x73, 0x12, 0x0e, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x41,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x65, 0x63, 0x73, 0x2e, 0x41,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x4c, 0x69, 0x73,
0x74, 0x45, 0x63, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x2e, 0x65, 0x63, 0x73,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x13,
0x2e, 0x65, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52,
0x65, 0x73, 0x70, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x65, 0x63, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_idl_ecs_proto_rawDescOnce sync.Once
file_idl_ecs_proto_rawDescData = file_idl_ecs_proto_rawDesc
)
func file_idl_ecs_proto_rawDescGZIP() []byte {
file_idl_ecs_proto_rawDescOnce.Do(func() {
file_idl_ecs_proto_rawDescData = protoimpl.X.CompressGZIP(file_idl_ecs_proto_rawDescData)
})
return file_idl_ecs_proto_rawDescData
}
var file_idl_ecs_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_idl_ecs_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_idl_ecs_proto_goTypes = []interface{}{
(CloudProvider)(0), // 0: ecs.CloudProvider
(InternetChargeType)(0), // 1: ecs.InternetChargeType
(ActionType)(0), // 2: ecs.ActionType
(*EcsInstance)(nil), // 3: ecs.EcsInstance
(*CreateEcsMultipleReq)(nil), // 4: ecs.CreateEcsMultipleReq
(*CreateEcsMultipleResp)(nil), // 5: ecs.CreateEcsMultipleResp
(*CreateEcsReq)(nil), // 6: ecs.CreateEcsReq
(*SystemDisk)(nil), // 7: ecs.SystemDisk
(*CreateEcsResp)(nil), // 8: ecs.CreateEcsResp
(*DeleteEcsReq)(nil), // 9: ecs.DeleteEcsReq
(*DeleteEcsResp)(nil), // 10: ecs.DeleteEcsResp
(*UpdateEcsReq)(nil), // 11: ecs.UpdateEcsReq
(*UpdateEcsResp)(nil), // 12: ecs.UpdateEcsResp
(*ListDetailReq)(nil), // 13: ecs.ListDetailReq
(*ListDetailResp)(nil), // 14: ecs.ListDetailResp
(*ActionReq)(nil), // 15: ecs.ActionReq
(*ActionResp)(nil), // 16: ecs.ActionResp
(*ListReq)(nil), // 17: ecs.ListReq
(*ListResp)(nil), // 18: ecs.ListResp
(*ListAllReq)(nil), // 19: ecs.ListAllReq
(*ListImagesReq)(nil), // 20: ecs.ListImagesReq
(*Image)(nil), // 21: ecs.Image
(*ListImagesResp)(nil), // 22: ecs.ListImagesResp
}
var file_idl_ecs_proto_depIdxs = []int32{
0, // 0: ecs.EcsInstance.provider:type_name -> ecs.CloudProvider
6, // 1: ecs.CreateEcsMultipleReq.createEcsReqs:type_name -> ecs.CreateEcsReq
0, // 2: ecs.CreateEcsReq.provider:type_name -> ecs.CloudProvider
7, // 3: ecs.CreateEcsReq.system_disk:type_name -> ecs.SystemDisk
1, // 4: ecs.CreateEcsReq.internet_charge_type:type_name -> ecs.InternetChargeType
0, // 5: ecs.CreateEcsResp.provider:type_name -> ecs.CloudProvider
0, // 6: ecs.DeleteEcsReq.provider:type_name -> ecs.CloudProvider
0, // 7: ecs.DeleteEcsResp.provider:type_name -> ecs.CloudProvider
0, // 8: ecs.UpdateEcsReq.provider:type_name -> ecs.CloudProvider
0, // 9: ecs.UpdateEcsResp.provider:type_name -> ecs.CloudProvider
0, // 10: ecs.ListDetailReq.provider:type_name -> ecs.CloudProvider
3, // 11: ecs.ListDetailResp.ecses:type_name -> ecs.EcsInstance
0, // 12: ecs.ActionReq.provider:type_name -> ecs.CloudProvider
2, // 13: ecs.ActionReq.action_type:type_name -> ecs.ActionType
0, // 14: ecs.ActionResp.provider:type_name -> ecs.CloudProvider
3, // 15: ecs.ActionResp.ecses:type_name -> ecs.EcsInstance
0, // 16: ecs.ListReq.provider:type_name -> ecs.CloudProvider
3, // 17: ecs.ListResp.ecses:type_name -> ecs.EcsInstance
0, // 18: ecs.ListImagesReq.provider:type_name -> ecs.CloudProvider
0, // 19: ecs.Image.provider:type_name -> ecs.CloudProvider
0, // 20: ecs.ListImagesResp.provider:type_name -> ecs.CloudProvider
21, // 21: ecs.ListImagesResp.images:type_name -> ecs.Image
4, // 22: ecs.EcsService.CreateMultipleEcs:input_type -> ecs.CreateEcsMultipleReq
6, // 23: ecs.EcsService.CreateEcs:input_type -> ecs.CreateEcsReq
9, // 24: ecs.EcsService.DeleteEcs:input_type -> ecs.DeleteEcsReq
11, // 25: ecs.EcsService.UpdateEcs:input_type -> ecs.UpdateEcsReq
13, // 26: ecs.EcsService.ListEcsDetail:input_type -> ecs.ListDetailReq
17, // 27: ecs.EcsService.ListEcs:input_type -> ecs.ListReq
19, // 28: ecs.EcsService.ListEcsAll:input_type -> ecs.ListAllReq
15, // 29: ecs.EcsService.ActionEcs:input_type -> ecs.ActionReq
20, // 30: ecs.EcsService.ListEcsImages:input_type -> ecs.ListImagesReq
5, // 31: ecs.EcsService.CreateMultipleEcs:output_type -> ecs.CreateEcsMultipleResp
8, // 32: ecs.EcsService.CreateEcs:output_type -> ecs.CreateEcsResp
10, // 33: ecs.EcsService.DeleteEcs:output_type -> ecs.DeleteEcsResp
12, // 34: ecs.EcsService.UpdateEcs:output_type -> ecs.UpdateEcsResp
14, // 35: ecs.EcsService.ListEcsDetail:output_type -> ecs.ListDetailResp
18, // 36: ecs.EcsService.ListEcs:output_type -> ecs.ListResp
18, // 37: ecs.EcsService.ListEcsAll:output_type -> ecs.ListResp
16, // 38: ecs.EcsService.ActionEcs:output_type -> ecs.ActionResp
22, // 39: ecs.EcsService.ListEcsImages:output_type -> ecs.ListImagesResp
31, // [31:40] is the sub-list for method output_type
22, // [22:31] is the sub-list for method input_type
22, // [22:22] is the sub-list for extension type_name
22, // [22:22] is the sub-list for extension extendee
0, // [0:22] is the sub-list for field type_name
}
func init() { file_idl_ecs_proto_init() }
func file_idl_ecs_proto_init() {
if File_idl_ecs_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_idl_ecs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EcsInstance); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateEcsMultipleReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateEcsMultipleResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateEcsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SystemDisk); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateEcsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteEcsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteEcsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateEcsReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateEcsResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListDetailReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListDetailResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ActionReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ActionResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAllReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListImagesReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Image); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_idl_ecs_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListImagesResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_idl_ecs_proto_rawDesc,
NumEnums: 3,
NumMessages: 20,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_idl_ecs_proto_goTypes,
DependencyIndexes: file_idl_ecs_proto_depIdxs,
EnumInfos: file_idl_ecs_proto_enumTypes,
MessageInfos: file_idl_ecs_proto_msgTypes,
}.Build()
File_idl_ecs_proto = out.File
file_idl_ecs_proto_rawDesc = nil
file_idl_ecs_proto_goTypes = nil
file_idl_ecs_proto_depIdxs = nil
}