diff --git a/internal/common/Entity.go b/internal/common/Entity.go index fc0bb7e..d1302c4 100644 --- a/internal/common/Entity.go +++ b/internal/common/Entity.go @@ -2,6 +2,31 @@ package common import "time" +/*type Auth struct { + Auth struct { + Identity struct { + Methods []string `json:"methods"` + Password struct { + User struct { + Name string `json:"name"` + Password string `json:"password"` + Domain struct { + Name string `json:"name"` + } `json:"domain"` + } `json:"user"` + } `json:"password"` + } `json:"identity"` + Scope struct { + Project struct { + Name string `json:"name"` + Domain struct { + Name string `json:"name"` + } `json:"domain"` + } `json:"project"` + } `json:"scope"` + } `json:"auth"` +}*/ + type Auth struct { Auth struct { Identity struct { @@ -20,7 +45,7 @@ type Auth struct { Project struct { Name string `json:"name"` Domain struct { - Name string `json:"name"` + Id string `json:"id"` } `json:"domain"` } `json:"project"` } `json:"scope"` diff --git a/internal/common/tokenService.go b/internal/common/tokenService.go index 215615c..1ff72cc 100644 --- a/internal/common/tokenService.go +++ b/internal/common/tokenService.go @@ -32,7 +32,7 @@ func GenerateToken() (string, string, time.Time) { switch Platform { case C.OpenstackConfig.ZhiJiang.Platform: a.Auth.Scope.Project.Name = C.OpenstackConfig.ZhiJiang.USER - a.Auth.Scope.Project.Domain.Name = C.OpenstackConfig.ZhiJiang.ProjectName + a.Auth.Scope.Project.Domain.Id = C.OpenstackConfig.ZhiJiang.Id a.Auth.Identity.Methods = append(a.Auth.Identity.Methods, C.OpenstackConfig.ZhiJiang.AuthMethod) a.Auth.Identity.Password.User.Name = C.OpenstackConfig.ZhiJiang.USER a.Auth.Identity.Password.User.Password = C.OpenstackConfig.ZhiJiang.PASSWORD @@ -40,7 +40,7 @@ func GenerateToken() (string, string, time.Time) { TokenUrl = C.OpenstackConfig.ZhiJiang.TokenUrl case C.OpenstackConfig.Nudt.Platform: a.Auth.Scope.Project.Name = C.OpenstackConfig.Nudt.USER - a.Auth.Scope.Project.Domain.Name = C.OpenstackConfig.Nudt.ProjectName + a.Auth.Scope.Project.Domain.Id = C.OpenstackConfig.Nudt.Id a.Auth.Identity.Methods = append(a.Auth.Identity.Methods, C.OpenstackConfig.Nudt.AuthMethod) a.Auth.Identity.Password.User.Name = C.OpenstackConfig.Nudt.USER a.Auth.Identity.Password.User.Password = C.OpenstackConfig.Nudt.PASSWORD diff --git a/internal/config/openstackConfig.go b/internal/config/openstackConfig.go index 791fde8..3091392 100644 --- a/internal/config/openstackConfig.go +++ b/internal/config/openstackConfig.go @@ -23,4 +23,5 @@ type Conf struct { AuthMethod string `json:"AuthMethod"` ProjectName string `json:"ProjectName"` Platform string `json:"Platform"` + Id string `json:"Id"` } diff --git a/internal/logic/addsecuritygrouptoserverlogic.go b/internal/logic/addsecuritygrouptoserverlogic.go new file mode 100644 index 0000000..dd15d49 --- /dev/null +++ b/internal/logic/addsecuritygrouptoserverlogic.go @@ -0,0 +1,60 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type AddSecurityGroupToServerLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewAddSecurityGroupToServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddSecurityGroupToServerLogic { + return &AddSecurityGroupToServerLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *AddSecurityGroupToServerLogic) AddSecurityGroupToServer(in *openstack.AddSecurityGroupToServerReq) (*openstack.AddSecurityGroupToServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.AddSecurityGroupToServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + token := common.GetToken() + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + openstackUrl := platform.OpenstackComputeUrl + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil + +} diff --git a/internal/logic/bulkcreatenetworkslogic.go b/internal/logic/bulkcreatenetworkslogic.go index 7dbd9de..aee928e 100644 --- a/internal/logic/bulkcreatenetworkslogic.go +++ b/internal/logic/bulkcreatenetworkslogic.go @@ -56,5 +56,5 @@ func (l *BulkCreateNetworksLogic) BulkCreateNetworks(in *openstack.BulkCreateNet resp.Code = 400 resp.Msg = "Failure" } - return &openstack.BulkCreateNetworksResp{}, nil + return &resp, nil } diff --git a/internal/logic/changeadministrativepasswordlogic.go b/internal/logic/changeadministrativepasswordlogic.go new file mode 100644 index 0000000..f687c25 --- /dev/null +++ b/internal/logic/changeadministrativepasswordlogic.go @@ -0,0 +1,59 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ChangeAdministrativePasswordLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewChangeAdministrativePasswordLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ChangeAdministrativePasswordLogic { + return &ChangeAdministrativePasswordLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ChangeAdministrativePasswordLogic) ChangeAdministrativePassword(in *openstack.ChangeAdministrativePasswordReq) (*openstack.ChangeAdministrativePasswordResp, error) { + // todo: add your logic here and delete this line + var resp openstack.ChangeAdministrativePasswordResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + token := common.GetToken() + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + openstackUrl := platform.OpenstackComputeUrl + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/createfirewallgrouplogic.go b/internal/logic/createfirewallgrouplogic.go new file mode 100644 index 0000000..6c98464 --- /dev/null +++ b/internal/logic/createfirewallgrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateFirewallGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateFirewallGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateFirewallGroupLogic { + return &CreateFirewallGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateFirewallGroupLogic) CreateFirewallGroup(in *openstack.CreateFirewallGroupReq) (*openstack.CreateFirewallGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateFirewallGroupResp{}, nil +} diff --git a/internal/logic/createfirewallpolicylogic.go b/internal/logic/createfirewallpolicylogic.go new file mode 100644 index 0000000..2f0b953 --- /dev/null +++ b/internal/logic/createfirewallpolicylogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateFirewallPolicyLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateFirewallPolicyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateFirewallPolicyLogic { + return &CreateFirewallPolicyLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateFirewallPolicyLogic) CreateFirewallPolicy(in *openstack.CreateFirewallPolicyReq) (*openstack.CreateFirewallPolicyResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateFirewallPolicyResp{}, nil +} diff --git a/internal/logic/createfirewallrulelogic.go b/internal/logic/createfirewallrulelogic.go new file mode 100644 index 0000000..37c46df --- /dev/null +++ b/internal/logic/createfirewallrulelogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateFirewallRuleLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateFirewallRuleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateFirewallRuleLogic { + return &CreateFirewallRuleLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateFirewallRuleLogic) CreateFirewallRule(in *openstack.CreateFirewallRuleReq) (*openstack.CreateFirewallRuleResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateFirewallRuleResp{}, nil +} diff --git a/internal/logic/createflavorlogic.go b/internal/logic/createflavorlogic.go new file mode 100644 index 0000000..bf2a71f --- /dev/null +++ b/internal/logic/createflavorlogic.go @@ -0,0 +1,59 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateFlavorLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateFlavorLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateFlavorLogic { + return &CreateFlavorLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateFlavorLogic) CreateFlavor(in *openstack.CreateFlavorReq) (*openstack.CreateFlavorResp, error) { + // todo: add your logic here and delete this line + var resp openstack.CreateFlavorResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + token := common.GetToken() + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + openstackUrl := platform.OpenstackComputeUrl + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/flavors", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/createfloatingiplogic.go b/internal/logic/createfloatingiplogic.go new file mode 100644 index 0000000..da59500 --- /dev/null +++ b/internal/logic/createfloatingiplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateFloatingIPLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateFloatingIPLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateFloatingIPLogic { + return &CreateFloatingIPLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateFloatingIPLogic) CreateFloatingIP(in *openstack.CreateFloatingIPReq) (*openstack.CreateFloatingIPResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateFloatingIPResp{}, nil +} diff --git a/internal/logic/createnetworksegmentrangelogic.go b/internal/logic/createnetworksegmentrangelogic.go new file mode 100644 index 0000000..d92f2cc --- /dev/null +++ b/internal/logic/createnetworksegmentrangelogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateNetworkSegmentRangeLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateNetworkSegmentRangeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateNetworkSegmentRangeLogic { + return &CreateNetworkSegmentRangeLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 网段 +func (l *CreateNetworkSegmentRangeLogic) CreateNetworkSegmentRange(in *openstack.CreateNetworkSegmentRangeReq) (*openstack.CreateNetworkSegmentRangeResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateNetworkSegmentRangeResp{}, nil +} diff --git a/internal/logic/createportlogic.go b/internal/logic/createportlogic.go new file mode 100644 index 0000000..53243bb --- /dev/null +++ b/internal/logic/createportlogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreatePortLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreatePortLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreatePortLogic { + return &CreatePortLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 端口 +func (l *CreatePortLogic) CreatePort(in *openstack.CreatePortReq) (*openstack.CreatePortResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreatePortResp{}, nil +} diff --git a/internal/logic/createrouterlogic.go b/internal/logic/createrouterlogic.go new file mode 100644 index 0000000..1c2a137 --- /dev/null +++ b/internal/logic/createrouterlogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateRouterLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateRouterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateRouterLogic { + return &CreateRouterLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 路由 +func (l *CreateRouterLogic) CreateRouter(in *openstack.CreateRouterReq) (*openstack.CreateRouterResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateRouterResp{}, nil +} diff --git a/internal/logic/createsecuritygrouplogic.go b/internal/logic/createsecuritygrouplogic.go new file mode 100644 index 0000000..72a944d --- /dev/null +++ b/internal/logic/createsecuritygrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateSecurityGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateSecurityGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateSecurityGroupLogic { + return &CreateSecurityGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateSecurityGroupLogic) CreateSecurityGroup(in *openstack.CreateSecurityGroupReq) (*openstack.CreateSecurityGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateSecurityGroupResp{}, nil +} diff --git a/internal/logic/createsecuritygrouprulelogic.go b/internal/logic/createsecuritygrouprulelogic.go new file mode 100644 index 0000000..62adcf7 --- /dev/null +++ b/internal/logic/createsecuritygrouprulelogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateSecurityGroupRuleLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateSecurityGroupRuleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateSecurityGroupRuleLogic { + return &CreateSecurityGroupRuleLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateSecurityGroupRuleLogic) CreateSecurityGroupRule(in *openstack.CreateSecurityGroupRuleReq) (*openstack.CreateSecurityGroupRuleResp, error) { + // todo: add your logic here and delete this line + + return &openstack.CreateSecurityGroupRuleResp{}, nil +} diff --git a/internal/logic/deletefirewallgrouplogic.go b/internal/logic/deletefirewallgrouplogic.go new file mode 100644 index 0000000..1e0a772 --- /dev/null +++ b/internal/logic/deletefirewallgrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteFirewallGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteFirewallGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteFirewallGroupLogic { + return &DeleteFirewallGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteFirewallGroupLogic) DeleteFirewallGroup(in *openstack.DeleteFirewallGroupReq) (*openstack.DeleteFirewallGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteFirewallGroupResp{}, nil +} diff --git a/internal/logic/deletefirewallpolicylogic.go b/internal/logic/deletefirewallpolicylogic.go new file mode 100644 index 0000000..8a62d61 --- /dev/null +++ b/internal/logic/deletefirewallpolicylogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteFirewallPolicyLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteFirewallPolicyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteFirewallPolicyLogic { + return &DeleteFirewallPolicyLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteFirewallPolicyLogic) DeleteFirewallPolicy(in *openstack.DeleteFirewallPolicyReq) (*openstack.DeleteFirewallPolicyResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteFirewallPolicyResp{}, nil +} diff --git a/internal/logic/deletefirewallrulelogic.go b/internal/logic/deletefirewallrulelogic.go new file mode 100644 index 0000000..4a09a82 --- /dev/null +++ b/internal/logic/deletefirewallrulelogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteFirewallRuleLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteFirewallRuleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteFirewallRuleLogic { + return &DeleteFirewallRuleLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteFirewallRuleLogic) DeleteFirewallRule(in *openstack.DeleteFirewallRuleReq) (*openstack.DeleteFirewallRuleResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteFirewallRuleResp{}, nil +} diff --git a/internal/logic/deleteflavorlogic.go b/internal/logic/deleteflavorlogic.go new file mode 100644 index 0000000..0b2a030 --- /dev/null +++ b/internal/logic/deleteflavorlogic.go @@ -0,0 +1,54 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteFlavorLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteFlavorLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteFlavorLogic { + return &DeleteFlavorLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteFlavorLogic) DeleteFlavor(in *openstack.DeleteFlavorReq) (*openstack.DeleteFlavorResp, error) { + // todo: add your logic here and delete this line + var resp openstack.DeleteFlavorResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + openstackUrl := platform.OpenstackImageUrl + token := common.GetToken() + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.DELETE, openstackUrl+"/flavors/"+in.FlavorId, strings.NewReader(``), token) + if err != nil { + return nil, err + } + if statusCode == 204 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 204 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/deletefloatingiplogic.go b/internal/logic/deletefloatingiplogic.go new file mode 100644 index 0000000..11ba859 --- /dev/null +++ b/internal/logic/deletefloatingiplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteFloatingIPLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteFloatingIPLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteFloatingIPLogic { + return &DeleteFloatingIPLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteFloatingIPLogic) DeleteFloatingIP(in *openstack.DeleteFloatingIPReq) (*openstack.DeleteFloatingIPResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteFloatingIPResp{}, nil +} diff --git a/internal/logic/deletenetworksegmentrangeslogic.go b/internal/logic/deletenetworksegmentrangeslogic.go new file mode 100644 index 0000000..e9e640f --- /dev/null +++ b/internal/logic/deletenetworksegmentrangeslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteNetworkSegmentRangesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteNetworkSegmentRangesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteNetworkSegmentRangesLogic { + return &DeleteNetworkSegmentRangesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteNetworkSegmentRangesLogic) DeleteNetworkSegmentRanges(in *openstack.DeleteNetworkSegmentRangesReq) (*openstack.DeleteNetworkSegmentRangesResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteNetworkSegmentRangesResp{}, nil +} diff --git a/internal/logic/deleteportlogic.go b/internal/logic/deleteportlogic.go new file mode 100644 index 0000000..f76e448 --- /dev/null +++ b/internal/logic/deleteportlogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeletePortLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeletePortLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeletePortLogic { + return &DeletePortLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeletePortLogic) DeletePort(in *openstack.DeletePortReq) (*openstack.DeletePortResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeletePortResp{}, nil +} diff --git a/internal/logic/deleterouterlogic.go b/internal/logic/deleterouterlogic.go new file mode 100644 index 0000000..0b5e494 --- /dev/null +++ b/internal/logic/deleterouterlogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteRouterLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteRouterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteRouterLogic { + return &DeleteRouterLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteRouterLogic) DeleteRouter(in *openstack.DeleteRouterReq) (*openstack.DeleteRouterResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteRouterResp{}, nil +} diff --git a/internal/logic/deletesecuritygrouplogic.go b/internal/logic/deletesecuritygrouplogic.go new file mode 100644 index 0000000..4206988 --- /dev/null +++ b/internal/logic/deletesecuritygrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteSecurityGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteSecurityGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteSecurityGroupLogic { + return &DeleteSecurityGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteSecurityGroupLogic) DeleteSecurityGroup(in *openstack.DeleteSecurityGroupReq) (*openstack.DeleteSecurityGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteSecurityGroupResp{}, nil +} diff --git a/internal/logic/deletesecuritygrouprulelogic.go b/internal/logic/deletesecuritygrouprulelogic.go new file mode 100644 index 0000000..a811668 --- /dev/null +++ b/internal/logic/deletesecuritygrouprulelogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteSecurityGroupRuleLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteSecurityGroupRuleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteSecurityGroupRuleLogic { + return &DeleteSecurityGroupRuleLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteSecurityGroupRuleLogic) DeleteSecurityGroupRule(in *openstack.DeleteSecurityGroupRuleReq) (*openstack.DeleteSecurityGroupRuleResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteSecurityGroupRuleResp{}, nil +} diff --git a/internal/logic/deletesubnetlogic.go b/internal/logic/deletesubnetlogic.go new file mode 100644 index 0000000..a85f890 --- /dev/null +++ b/internal/logic/deletesubnetlogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteSubnetLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteSubnetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteSubnetLogic { + return &DeleteSubnetLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteSubnetLogic) DeleteSubnet(in *openstack.DeleteSubnetReq) (*openstack.DeleteSubnetResp, error) { + // todo: add your logic here and delete this line + + return &openstack.DeleteSubnetResp{}, nil +} diff --git a/internal/logic/listfirewallgroupslogic.go b/internal/logic/listfirewallgroupslogic.go new file mode 100644 index 0000000..715d120 --- /dev/null +++ b/internal/logic/listfirewallgroupslogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListFirewallGroupsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListFirewallGroupsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListFirewallGroupsLogic { + return &ListFirewallGroupsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 防火墙 +func (l *ListFirewallGroupsLogic) ListFirewallGroups(in *openstack.ListFirewallGroupsReq) (*openstack.ListFirewallGroupsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListFirewallGroupsResp{}, nil +} diff --git a/internal/logic/listfirewallpolicieslogic.go b/internal/logic/listfirewallpolicieslogic.go new file mode 100644 index 0000000..9b9bbe3 --- /dev/null +++ b/internal/logic/listfirewallpolicieslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListFirewallPoliciesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListFirewallPoliciesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListFirewallPoliciesLogic { + return &ListFirewallPoliciesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ListFirewallPoliciesLogic) ListFirewallPolicies(in *openstack.ListFirewallPoliciesReq) (*openstack.ListFirewallPoliciesResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListFirewallPoliciesResp{}, nil +} diff --git a/internal/logic/listfirewallruleslogic.go b/internal/logic/listfirewallruleslogic.go new file mode 100644 index 0000000..bc1905f --- /dev/null +++ b/internal/logic/listfirewallruleslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListFirewallRulesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListFirewallRulesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListFirewallRulesLogic { + return &ListFirewallRulesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ListFirewallRulesLogic) ListFirewallRules(in *openstack.ListFirewallRulesReq) (*openstack.ListFirewallRulesResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListFirewallRulesResp{}, nil +} diff --git a/internal/logic/listfloatingipslogic.go b/internal/logic/listfloatingipslogic.go new file mode 100644 index 0000000..11dca2e --- /dev/null +++ b/internal/logic/listfloatingipslogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListFloatingIPsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListFloatingIPsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListFloatingIPsLogic { + return &ListFloatingIPsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 浮动IP +func (l *ListFloatingIPsLogic) ListFloatingIPs(in *openstack.ListFloatingIPsReq) (*openstack.ListFloatingIPsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListFloatingIPsResp{}, nil +} diff --git a/internal/logic/listnetworksegmentrangeslogic.go b/internal/logic/listnetworksegmentrangeslogic.go new file mode 100644 index 0000000..5a5d064 --- /dev/null +++ b/internal/logic/listnetworksegmentrangeslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListNetworkSegmentRangesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListNetworkSegmentRangesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListNetworkSegmentRangesLogic { + return &ListNetworkSegmentRangesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ListNetworkSegmentRangesLogic) ListNetworkSegmentRanges(in *openstack.ListNetworkSegmentRangesReq) (*openstack.ListNetworkSegmentRangesResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListNetworkSegmentRangesResp{}, nil +} diff --git a/internal/logic/listportslogic.go b/internal/logic/listportslogic.go new file mode 100644 index 0000000..94c6dd1 --- /dev/null +++ b/internal/logic/listportslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListPortsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListPortsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListPortsLogic { + return &ListPortsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ListPortsLogic) ListPorts(in *openstack.ListPortsReq) (*openstack.ListPortsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListPortsResp{}, nil +} diff --git a/internal/logic/listrouterslogic.go b/internal/logic/listrouterslogic.go new file mode 100644 index 0000000..c1e66a1 --- /dev/null +++ b/internal/logic/listrouterslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListRoutersLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListRoutersLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListRoutersLogic { + return &ListRoutersLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ListRoutersLogic) ListRouters(in *openstack.ListRoutersReq) (*openstack.ListRoutersResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListRoutersResp{}, nil +} diff --git a/internal/logic/listsecuritygroupruleslogic.go b/internal/logic/listsecuritygroupruleslogic.go new file mode 100644 index 0000000..62d0a39 --- /dev/null +++ b/internal/logic/listsecuritygroupruleslogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListSecurityGroupRulesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListSecurityGroupRulesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListSecurityGroupRulesLogic { + return &ListSecurityGroupRulesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 安全组规则 +func (l *ListSecurityGroupRulesLogic) ListSecurityGroupRules(in *openstack.ListSecurityGroupRulesReq) (*openstack.ListSecurityGroupRulesResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListSecurityGroupRulesResp{}, nil +} diff --git a/internal/logic/listsecuritygroupslogic.go b/internal/logic/listsecuritygroupslogic.go new file mode 100644 index 0000000..6331eda --- /dev/null +++ b/internal/logic/listsecuritygroupslogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListSecurityGroupsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListSecurityGroupsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListSecurityGroupsLogic { + return &ListSecurityGroupsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// 安全组 +func (l *ListSecurityGroupsLogic) ListSecurityGroups(in *openstack.ListSecurityGroupsReq) (*openstack.ListSecurityGroupsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListSecurityGroupsResp{}, nil +} diff --git a/internal/logic/listserverslogic.go b/internal/logic/listserverslogic.go index 8f717ee..b19b939 100644 --- a/internal/logic/listserverslogic.go +++ b/internal/logic/listserverslogic.go @@ -30,7 +30,6 @@ func (l *ListServersLogic) ListServers(in *openstack.ListServersReq) (*openstack // todo: add your logic here and delete this line var resp openstack.ListServersResp platform, err := common.GetOpenstackConfWithPlatform(in.Platform) - //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackComputeUrl openstackUrl := platform.OpenstackComputeUrl token := common.GetToken() statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.GET, openstackUrl+"/servers", nil, token) diff --git a/internal/logic/listsubnetslogic.go b/internal/logic/listsubnetslogic.go new file mode 100644 index 0000000..b638059 --- /dev/null +++ b/internal/logic/listsubnetslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListSubnetsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListSubnetsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListSubnetsLogic { + return &ListSubnetsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ListSubnetsLogic) ListSubnets(in *openstack.ListSubnetsReq) (*openstack.ListSubnetsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ListSubnetsResp{}, nil +} diff --git a/internal/logic/rebuildserverlogic.go b/internal/logic/rebuildserverlogic.go index 60308ac..03c21d0 100644 --- a/internal/logic/rebuildserverlogic.go +++ b/internal/logic/rebuildserverlogic.go @@ -2,6 +2,11 @@ package logic import ( "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" @@ -25,6 +30,31 @@ func NewRebuildServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Reb func (l *RebuildServerLogic) RebuildServer(in *openstack.RebuildServerReq) (*openstack.RebuildServerResp, error) { // todo: add your logic here and delete this line - - return &openstack.RebuildServerResp{}, nil + var resp openstack.RebuildServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + if err != nil { + return nil, err + } + token := common.GetToken() + payload := strings.NewReader(string(reqByte)) + //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackVolumev2Url + openstackUrl := platform.OpenstackVolumev2Url + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil } diff --git a/internal/logic/removesecuritygrouplogic.go b/internal/logic/removesecuritygrouplogic.go new file mode 100644 index 0000000..328be74 --- /dev/null +++ b/internal/logic/removesecuritygrouplogic.go @@ -0,0 +1,60 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type RemoveSecurityGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewRemoveSecurityGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RemoveSecurityGroupLogic { + return &RemoveSecurityGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *RemoveSecurityGroupLogic) RemoveSecurityGroup(in *openstack.RemoveSecurityGroupReq) (*openstack.RemoveSecurityGroupResp, error) { + // todo: add your logic here and delete this line + var resp openstack.RemoveSecurityGroupResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + if err != nil { + return nil, err + } + token := common.GetToken() + payload := strings.NewReader(string(reqByte)) + //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackVolumev2Url + openstackUrl := platform.OpenstackVolumev2Url + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/rescueserverlogic.go b/internal/logic/rescueserverlogic.go new file mode 100644 index 0000000..de2d92e --- /dev/null +++ b/internal/logic/rescueserverlogic.go @@ -0,0 +1,59 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type RescueServerLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewRescueServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RescueServerLogic { + return &RescueServerLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *RescueServerLogic) RescueServer(in *openstack.RescueServerReq) (*openstack.RescueServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.RescueServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + if err != nil { + return nil, err + } + token := common.GetToken() + payload := strings.NewReader(string(reqByte)) + openstackUrl := platform.OpenstackVolumev2Url + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/resizeserverlogic.go b/internal/logic/resizeserverlogic.go index fc94cac..70fd7e1 100644 --- a/internal/logic/resizeserverlogic.go +++ b/internal/logic/resizeserverlogic.go @@ -2,6 +2,11 @@ package logic import ( "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" @@ -25,6 +30,30 @@ func NewResizeServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Resi func (l *ResizeServerLogic) ResizeServer(in *openstack.ResizeServerReq) (*openstack.ResizeServerResp, error) { // todo: add your logic here and delete this line - - return &openstack.ResizeServerResp{}, nil + var resp openstack.ResizeServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + reqByte, err := json.Marshal(in) + if err != nil { + return nil, err + } + token := common.GetToken() + payload := strings.NewReader(string(reqByte)) + openstackUrl := platform.OpenstackVolumev2Url + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 202 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 202 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil } diff --git a/internal/logic/shelveserverlogic.go b/internal/logic/shelveserverlogic.go new file mode 100644 index 0000000..9df6e7e --- /dev/null +++ b/internal/logic/shelveserverlogic.go @@ -0,0 +1,63 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShelveServerLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShelveServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShelveServerLogic { + return &ShelveServerLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShelveServerLogic) ShelveServer(in *openstack.ShelveServerReq) (*openstack.ShelveServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.ShelveServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + openstackUrl := platform.OpenstackComputeUrl + in.Action = map[string]string{ + in.ShelveAction: "", + } + reqByte, err := json.Marshal(in.Action) + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackComputeUrl + token := common.GetToken() + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers/"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 200 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 200 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/showfirewallgroupdetailslogic.go b/internal/logic/showfirewallgroupdetailslogic.go new file mode 100644 index 0000000..03afc64 --- /dev/null +++ b/internal/logic/showfirewallgroupdetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowFirewallGroupDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowFirewallGroupDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowFirewallGroupDetailsLogic { + return &ShowFirewallGroupDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowFirewallGroupDetailsLogic) ShowFirewallGroupDetails(in *openstack.ShowFirewallGroupDetailsReq) (*openstack.ShowFirewallGroupDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowFirewallGroupDetailsResp{}, nil +} diff --git a/internal/logic/showfirewallpolicydetailslogic.go b/internal/logic/showfirewallpolicydetailslogic.go new file mode 100644 index 0000000..5be6290 --- /dev/null +++ b/internal/logic/showfirewallpolicydetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowFirewallPolicyDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowFirewallPolicyDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowFirewallPolicyDetailsLogic { + return &ShowFirewallPolicyDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowFirewallPolicyDetailsLogic) ShowFirewallPolicyDetails(in *openstack.ShowFirewallPolicyDetailsReq) (*openstack.ShowFirewallPolicyDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowFirewallPolicyDetailsResp{}, nil +} diff --git a/internal/logic/showfirewallruledetailslogic.go b/internal/logic/showfirewallruledetailslogic.go new file mode 100644 index 0000000..13874a2 --- /dev/null +++ b/internal/logic/showfirewallruledetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowFirewallRuleDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowFirewallRuleDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowFirewallRuleDetailsLogic { + return &ShowFirewallRuleDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowFirewallRuleDetailsLogic) ShowFirewallRuleDetails(in *openstack.ShowFirewallRuleDetailsReq) (*openstack.ShowFirewallRuleDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowFirewallRuleDetailsResp{}, nil +} diff --git a/internal/logic/showfloatingipdetailslogic.go b/internal/logic/showfloatingipdetailslogic.go new file mode 100644 index 0000000..badbf6b --- /dev/null +++ b/internal/logic/showfloatingipdetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowFloatingIPDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowFloatingIPDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowFloatingIPDetailsLogic { + return &ShowFloatingIPDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowFloatingIPDetailsLogic) ShowFloatingIPDetails(in *openstack.ShowFloatingIPDetailsReq) (*openstack.ShowFloatingIPDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowFloatingIPDetailsResp{}, nil +} diff --git a/internal/logic/shownetworksegmentrangedetailslogic.go b/internal/logic/shownetworksegmentrangedetailslogic.go new file mode 100644 index 0000000..11082bf --- /dev/null +++ b/internal/logic/shownetworksegmentrangedetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowNetworkSegmentRangeDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowNetworkSegmentRangeDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowNetworkSegmentRangeDetailsLogic { + return &ShowNetworkSegmentRangeDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowNetworkSegmentRangeDetailsLogic) ShowNetworkSegmentRangeDetails(in *openstack.ShowNetworkSegmentRangeDetailsReq) (*openstack.ShowNetworkSegmentRangeDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowNetworkSegmentRangeDetailsResp{}, nil +} diff --git a/internal/logic/showportdetailslogic.go b/internal/logic/showportdetailslogic.go new file mode 100644 index 0000000..7f7fca5 --- /dev/null +++ b/internal/logic/showportdetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowPortDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowPortDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowPortDetailsLogic { + return &ShowPortDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowPortDetailsLogic) ShowPortDetails(in *openstack.ShowPortDetailsReq) (*openstack.ShowPortDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowPortDetailsResp{}, nil +} diff --git a/internal/logic/showrouterdetailslogic.go b/internal/logic/showrouterdetailslogic.go new file mode 100644 index 0000000..fff8728 --- /dev/null +++ b/internal/logic/showrouterdetailslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowRouterDetailsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowRouterDetailsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowRouterDetailsLogic { + return &ShowRouterDetailsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowRouterDetailsLogic) ShowRouterDetails(in *openstack.ShowRouterDetailsReq) (*openstack.ShowRouterDetailsResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowRouterDetailsResp{}, nil +} diff --git a/internal/logic/showsecuritygrouplogic.go b/internal/logic/showsecuritygrouplogic.go new file mode 100644 index 0000000..e44783f --- /dev/null +++ b/internal/logic/showsecuritygrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowSecurityGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowSecurityGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowSecurityGroupLogic { + return &ShowSecurityGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowSecurityGroupLogic) ShowSecurityGroup(in *openstack.ShowSecurityGroupReq) (*openstack.ShowSecurityGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowSecurityGroupResp{}, nil +} diff --git a/internal/logic/showsecuritygrouprulelogic.go b/internal/logic/showsecuritygrouprulelogic.go new file mode 100644 index 0000000..288b0c3 --- /dev/null +++ b/internal/logic/showsecuritygrouprulelogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ShowSecurityGroupRuleLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewShowSecurityGroupRuleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ShowSecurityGroupRuleLogic { + return &ShowSecurityGroupRuleLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ShowSecurityGroupRuleLogic) ShowSecurityGroupRule(in *openstack.ShowSecurityGroupRuleReq) (*openstack.ShowSecurityGroupRuleResp, error) { + // todo: add your logic here and delete this line + + return &openstack.ShowSecurityGroupRuleResp{}, nil +} diff --git a/internal/logic/suspendserverlogic.go b/internal/logic/suspendserverlogic.go new file mode 100644 index 0000000..39c00ca --- /dev/null +++ b/internal/logic/suspendserverlogic.go @@ -0,0 +1,63 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type SuspendServerLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewSuspendServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SuspendServerLogic { + return &SuspendServerLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *SuspendServerLogic) SuspendServer(in *openstack.SuspendServerReq) (*openstack.SuspendServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.SuspendServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + openstackUrl := platform.OpenstackComputeUrl + in.Action = map[string]string{ + in.SuspendAction: "", + } + reqByte, err := json.Marshal(in.Action) + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackComputeUrl + token := common.GetToken() + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers/"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 200 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 200 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/unpauseserverlogic.go b/internal/logic/unpauseserverlogic.go new file mode 100644 index 0000000..26b6a25 --- /dev/null +++ b/internal/logic/unpauseserverlogic.go @@ -0,0 +1,63 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UnpauseServerLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUnpauseServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UnpauseServerLogic { + return &UnpauseServerLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UnpauseServerLogic) UnpauseServer(in *openstack.UnpauseServerReq) (*openstack.UnpauseServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.UnpauseServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + openstackUrl := platform.OpenstackComputeUrl + in.Action = map[string]string{ + in.UnpauseAction: "", + } + reqByte, err := json.Marshal(in.Action) + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackComputeUrl + token := common.GetToken() + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers/"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 200 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 200 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/unrescuelogic.go b/internal/logic/unrescuelogic.go new file mode 100644 index 0000000..127cdad --- /dev/null +++ b/internal/logic/unrescuelogic.go @@ -0,0 +1,63 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UnRescueLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUnRescueLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UnRescueLogic { + return &UnRescueLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UnRescueLogic) UnRescue(in *openstack.UnRescueServerReq) (*openstack.UnRescueServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.UnRescueServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + openstackUrl := platform.OpenstackComputeUrl + in.Action = map[string]string{ + in.UnRescueAction: "", + } + reqByte, err := json.Marshal(in.Action) + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + //openstackUrl := l.svcCtx.Config.OpenstackConfig.OpenstackComputeUrl + token := common.GetToken() + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers/"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 200 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 200 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/unshelveserverlogic.go b/internal/logic/unshelveserverlogic.go new file mode 100644 index 0000000..41d018d --- /dev/null +++ b/internal/logic/unshelveserverlogic.go @@ -0,0 +1,62 @@ +package logic + +import ( + "context" + "fmt" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/common" + "gitlink.org.cn/jcce-pcm/utils/tool" + "k8s.io/apimachinery/pkg/util/json" + "strings" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UnshelveServerLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUnshelveServerLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UnshelveServerLogic { + return &UnshelveServerLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UnshelveServerLogic) UnshelveServer(in *openstack.UnshelveServerReq) (*openstack.UnshelveServerResp, error) { + // todo: add your logic here and delete this line + var resp openstack.UnshelveServerResp + platform, err := common.GetOpenstackConfWithPlatform(in.Platform) + openstackUrl := platform.OpenstackComputeUrl + in.Action = map[string]string{ + in.UnshelveAction: "", + } + reqByte, err := json.Marshal(in.Action) + if err != nil { + return nil, err + } + payload := strings.NewReader(string(reqByte)) + token := common.GetToken() + statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, openstackUrl+"/servers/"+in.ServerId+"/action", payload, token) + if err != nil { + return nil, err + } + if statusCode == 200 { + err := json.Unmarshal(body, &resp) + if err != nil { + fmt.Println(err) + } + resp.Code = 200 + resp.Msg = "Success" + } else if statusCode != 200 { + json.Unmarshal(body, &resp) + resp.Code = 400 + resp.Msg = "Failure" + } + return &resp, nil +} diff --git a/internal/logic/updatefirewallgrouplogic.go b/internal/logic/updatefirewallgrouplogic.go new file mode 100644 index 0000000..d6d0269 --- /dev/null +++ b/internal/logic/updatefirewallgrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdateFirewallGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateFirewallGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateFirewallGroupLogic { + return &UpdateFirewallGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateFirewallGroupLogic) UpdateFirewallGroup(in *openstack.UpdateFirewallGroupReq) (*openstack.UpdateFirewallGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdateFirewallGroupResp{}, nil +} diff --git a/internal/logic/updatefloatingiplogic.go b/internal/logic/updatefloatingiplogic.go new file mode 100644 index 0000000..ab135cf --- /dev/null +++ b/internal/logic/updatefloatingiplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdateFloatingIPLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateFloatingIPLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateFloatingIPLogic { + return &UpdateFloatingIPLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateFloatingIPLogic) UpdateFloatingIP(in *openstack.UpdateFloatingIPReq) (*openstack.UpdateFloatingIPResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdateFloatingIPResp{}, nil +} diff --git a/internal/logic/updatenetworksegmentrangeslogic.go b/internal/logic/updatenetworksegmentrangeslogic.go new file mode 100644 index 0000000..30ad010 --- /dev/null +++ b/internal/logic/updatenetworksegmentrangeslogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdateNetworkSegmentRangesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateNetworkSegmentRangesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateNetworkSegmentRangesLogic { + return &UpdateNetworkSegmentRangesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateNetworkSegmentRangesLogic) UpdateNetworkSegmentRanges(in *openstack.UpdateNetworkSegmentRangesReq) (*openstack.UpdateNetworkSegmentRangesResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdateNetworkSegmentRangesResp{}, nil +} diff --git a/internal/logic/updateportlogic.go b/internal/logic/updateportlogic.go new file mode 100644 index 0000000..d8aac18 --- /dev/null +++ b/internal/logic/updateportlogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdatePortLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdatePortLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdatePortLogic { + return &UpdatePortLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdatePortLogic) UpdatePort(in *openstack.UpdatePortReq) (*openstack.UpdatePortResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdatePortResp{}, nil +} diff --git a/internal/logic/updaterouterlogic.go b/internal/logic/updaterouterlogic.go new file mode 100644 index 0000000..6ff3578 --- /dev/null +++ b/internal/logic/updaterouterlogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdateRouterLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateRouterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateRouterLogic { + return &UpdateRouterLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateRouterLogic) UpdateRouter(in *openstack.UpdateRouterReq) (*openstack.UpdateRouterResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdateRouterResp{}, nil +} diff --git a/internal/logic/updatesecuritygrouplogic.go b/internal/logic/updatesecuritygrouplogic.go new file mode 100644 index 0000000..f9bfdc8 --- /dev/null +++ b/internal/logic/updatesecuritygrouplogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdateSecurityGroupLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateSecurityGroupLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateSecurityGroupLogic { + return &UpdateSecurityGroupLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateSecurityGroupLogic) UpdateSecurityGroup(in *openstack.UpdateSecurityGroupReq) (*openstack.UpdateSecurityGroupResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdateSecurityGroupResp{}, nil +} diff --git a/internal/logic/updatesubnetlogic.go b/internal/logic/updatesubnetlogic.go new file mode 100644 index 0000000..c237189 --- /dev/null +++ b/internal/logic/updatesubnetlogic.go @@ -0,0 +1,30 @@ +package logic + +import ( + "context" + + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-participant-openstack/openstack" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UpdateSubnetLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateSubnetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateSubnetLogic { + return &UpdateSubnetLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateSubnetLogic) UpdateSubnet(in *openstack.UpdateSubnetReq) (*openstack.UpdateSubnetResp, error) { + // todo: add your logic here and delete this line + + return &openstack.UpdateSubnetResp{}, nil +} diff --git a/internal/server/openstackserver.go b/internal/server/openstackserver.go index 3e887b0..e4187cf 100644 --- a/internal/server/openstackserver.go +++ b/internal/server/openstackserver.go @@ -84,9 +84,9 @@ func (s *OpenstackServer) PauseServer(ctx context.Context, in *openstack.PauseSe return l.PauseServer(in) } -func (s *OpenstackServer) ListFlavorsDetail(ctx context.Context, in *openstack.ListFlavorsDetailReq) (*openstack.ListFlavorsDetailResp, error) { - l := logic.NewListFlavorsDetailLogic(ctx, s.svcCtx) - return l.ListFlavorsDetail(in) +func (s *OpenstackServer) UnpauseServer(ctx context.Context, in *openstack.UnpauseServerReq) (*openstack.UnpauseServerResp, error) { + l := logic.NewUnpauseServerLogic(ctx, s.svcCtx) + return l.UnpauseServer(in) } func (s *OpenstackServer) RebuildServer(ctx context.Context, in *openstack.RebuildServerReq) (*openstack.RebuildServerResp, error) { @@ -104,6 +104,62 @@ func (s *OpenstackServer) MigrateServer(ctx context.Context, in *openstack.Migra return l.MigrateServer(in) } +func (s *OpenstackServer) ShelveServer(ctx context.Context, in *openstack.ShelveServerReq) (*openstack.ShelveServerResp, error) { + l := logic.NewShelveServerLogic(ctx, s.svcCtx) + return l.ShelveServer(in) +} + +func (s *OpenstackServer) UnshelveServer(ctx context.Context, in *openstack.UnshelveServerReq) (*openstack.UnshelveServerResp, error) { + l := logic.NewUnshelveServerLogic(ctx, s.svcCtx) + return l.UnshelveServer(in) +} + +func (s *OpenstackServer) ChangeAdministrativePassword(ctx context.Context, in *openstack.ChangeAdministrativePasswordReq) (*openstack.ChangeAdministrativePasswordResp, error) { + l := logic.NewChangeAdministrativePasswordLogic(ctx, s.svcCtx) + return l.ChangeAdministrativePassword(in) +} + +func (s *OpenstackServer) RescueServer(ctx context.Context, in *openstack.RescueServerReq) (*openstack.RescueServerResp, error) { + l := logic.NewRescueServerLogic(ctx, s.svcCtx) + return l.RescueServer(in) +} + +func (s *OpenstackServer) UnRescue(ctx context.Context, in *openstack.UnRescueServerReq) (*openstack.UnRescueServerResp, error) { + l := logic.NewUnRescueLogic(ctx, s.svcCtx) + return l.UnRescue(in) +} + +func (s *OpenstackServer) SuspendServer(ctx context.Context, in *openstack.SuspendServerReq) (*openstack.SuspendServerResp, error) { + l := logic.NewSuspendServerLogic(ctx, s.svcCtx) + return l.SuspendServer(in) +} + +func (s *OpenstackServer) AddSecurityGroupToServer(ctx context.Context, in *openstack.AddSecurityGroupToServerReq) (*openstack.AddSecurityGroupToServerResp, error) { + l := logic.NewAddSecurityGroupToServerLogic(ctx, s.svcCtx) + return l.AddSecurityGroupToServer(in) +} + +func (s *OpenstackServer) RemoveSecurityGroup(ctx context.Context, in *openstack.RemoveSecurityGroupReq) (*openstack.RemoveSecurityGroupResp, error) { + l := logic.NewRemoveSecurityGroupLogic(ctx, s.svcCtx) + return l.RemoveSecurityGroup(in) +} + +// 规格(Flavors) +func (s *OpenstackServer) ListFlavorsDetail(ctx context.Context, in *openstack.ListFlavorsDetailReq) (*openstack.ListFlavorsDetailResp, error) { + l := logic.NewListFlavorsDetailLogic(ctx, s.svcCtx) + return l.ListFlavorsDetail(in) +} + +func (s *OpenstackServer) CreateFlavor(ctx context.Context, in *openstack.CreateFlavorReq) (*openstack.CreateFlavorResp, error) { + l := logic.NewCreateFlavorLogic(ctx, s.svcCtx) + return l.CreateFlavor(in) +} + +func (s *OpenstackServer) DeleteFlavor(ctx context.Context, in *openstack.DeleteFlavorReq) (*openstack.DeleteFlavorResp, error) { + l := logic.NewDeleteFlavorLogic(ctx, s.svcCtx) + return l.DeleteFlavor(in) +} + // network func (s *OpenstackServer) ShowNetworkDetails(ctx context.Context, in *openstack.ShowNetworkDetailsReq) (*openstack.ShowNetworkDetailsResp, error) { l := logic.NewShowNetworkDetailsLogic(ctx, s.svcCtx) @@ -135,11 +191,244 @@ func (s *OpenstackServer) BulkCreateNetworks(ctx context.Context, in *openstack. return l.BulkCreateNetworks(in) } +// 子网 func (s *OpenstackServer) CreateSubnet(ctx context.Context, in *openstack.CreateSubnetReq) (*openstack.CreateSubnetResp, error) { l := logic.NewCreateSubnetLogic(ctx, s.svcCtx) return l.CreateSubnet(in) } +func (s *OpenstackServer) ListSubnets(ctx context.Context, in *openstack.ListSubnetsReq) (*openstack.ListSubnetsResp, error) { + l := logic.NewListSubnetsLogic(ctx, s.svcCtx) + return l.ListSubnets(in) +} + +func (s *OpenstackServer) DeleteSubnet(ctx context.Context, in *openstack.DeleteSubnetReq) (*openstack.DeleteSubnetResp, error) { + l := logic.NewDeleteSubnetLogic(ctx, s.svcCtx) + return l.DeleteSubnet(in) +} + +func (s *OpenstackServer) UpdateSubnet(ctx context.Context, in *openstack.UpdateSubnetReq) (*openstack.UpdateSubnetResp, error) { + l := logic.NewUpdateSubnetLogic(ctx, s.svcCtx) + return l.UpdateSubnet(in) +} + +// 网段 +func (s *OpenstackServer) CreateNetworkSegmentRange(ctx context.Context, in *openstack.CreateNetworkSegmentRangeReq) (*openstack.CreateNetworkSegmentRangeResp, error) { + l := logic.NewCreateNetworkSegmentRangeLogic(ctx, s.svcCtx) + return l.CreateNetworkSegmentRange(in) +} + +func (s *OpenstackServer) ListNetworkSegmentRanges(ctx context.Context, in *openstack.ListNetworkSegmentRangesReq) (*openstack.ListNetworkSegmentRangesResp, error) { + l := logic.NewListNetworkSegmentRangesLogic(ctx, s.svcCtx) + return l.ListNetworkSegmentRanges(in) +} + +func (s *OpenstackServer) DeleteNetworkSegmentRanges(ctx context.Context, in *openstack.DeleteNetworkSegmentRangesReq) (*openstack.DeleteNetworkSegmentRangesResp, error) { + l := logic.NewDeleteNetworkSegmentRangesLogic(ctx, s.svcCtx) + return l.DeleteNetworkSegmentRanges(in) +} + +func (s *OpenstackServer) UpdateNetworkSegmentRanges(ctx context.Context, in *openstack.UpdateNetworkSegmentRangesReq) (*openstack.UpdateNetworkSegmentRangesResp, error) { + l := logic.NewUpdateNetworkSegmentRangesLogic(ctx, s.svcCtx) + return l.UpdateNetworkSegmentRanges(in) +} + +func (s *OpenstackServer) ShowNetworkSegmentRangeDetails(ctx context.Context, in *openstack.ShowNetworkSegmentRangeDetailsReq) (*openstack.ShowNetworkSegmentRangeDetailsResp, error) { + l := logic.NewShowNetworkSegmentRangeDetailsLogic(ctx, s.svcCtx) + return l.ShowNetworkSegmentRangeDetails(in) +} + +// 端口 +func (s *OpenstackServer) CreatePort(ctx context.Context, in *openstack.CreatePortReq) (*openstack.CreatePortResp, error) { + l := logic.NewCreatePortLogic(ctx, s.svcCtx) + return l.CreatePort(in) +} + +func (s *OpenstackServer) ListPorts(ctx context.Context, in *openstack.ListPortsReq) (*openstack.ListPortsResp, error) { + l := logic.NewListPortsLogic(ctx, s.svcCtx) + return l.ListPorts(in) +} + +func (s *OpenstackServer) DeletePort(ctx context.Context, in *openstack.DeletePortReq) (*openstack.DeletePortResp, error) { + l := logic.NewDeletePortLogic(ctx, s.svcCtx) + return l.DeletePort(in) +} + +func (s *OpenstackServer) UpdatePort(ctx context.Context, in *openstack.UpdatePortReq) (*openstack.UpdatePortResp, error) { + l := logic.NewUpdatePortLogic(ctx, s.svcCtx) + return l.UpdatePort(in) +} + +func (s *OpenstackServer) ShowPortDetails(ctx context.Context, in *openstack.ShowPortDetailsReq) (*openstack.ShowPortDetailsResp, error) { + l := logic.NewShowPortDetailsLogic(ctx, s.svcCtx) + return l.ShowPortDetails(in) +} + +// 路由 +func (s *OpenstackServer) CreateRouter(ctx context.Context, in *openstack.CreateRouterReq) (*openstack.CreateRouterResp, error) { + l := logic.NewCreateRouterLogic(ctx, s.svcCtx) + return l.CreateRouter(in) +} + +func (s *OpenstackServer) ListRouters(ctx context.Context, in *openstack.ListRoutersReq) (*openstack.ListRoutersResp, error) { + l := logic.NewListRoutersLogic(ctx, s.svcCtx) + return l.ListRouters(in) +} + +func (s *OpenstackServer) ShowRouterDetails(ctx context.Context, in *openstack.ShowRouterDetailsReq) (*openstack.ShowRouterDetailsResp, error) { + l := logic.NewShowRouterDetailsLogic(ctx, s.svcCtx) + return l.ShowRouterDetails(in) +} + +func (s *OpenstackServer) UpdateRouter(ctx context.Context, in *openstack.UpdateRouterReq) (*openstack.UpdateRouterResp, error) { + l := logic.NewUpdateRouterLogic(ctx, s.svcCtx) + return l.UpdateRouter(in) +} + +func (s *OpenstackServer) DeleteRouter(ctx context.Context, in *openstack.DeleteRouterReq) (*openstack.DeleteRouterResp, error) { + l := logic.NewDeleteRouterLogic(ctx, s.svcCtx) + return l.DeleteRouter(in) +} + +// 浮动IP +func (s *OpenstackServer) ListFloatingIPs(ctx context.Context, in *openstack.ListFloatingIPsReq) (*openstack.ListFloatingIPsResp, error) { + l := logic.NewListFloatingIPsLogic(ctx, s.svcCtx) + return l.ListFloatingIPs(in) +} + +func (s *OpenstackServer) CreateFloatingIP(ctx context.Context, in *openstack.CreateFloatingIPReq) (*openstack.CreateFloatingIPResp, error) { + l := logic.NewCreateFloatingIPLogic(ctx, s.svcCtx) + return l.CreateFloatingIP(in) +} + +func (s *OpenstackServer) UpdateFloatingIP(ctx context.Context, in *openstack.UpdateFloatingIPReq) (*openstack.UpdateFloatingIPResp, error) { + l := logic.NewUpdateFloatingIPLogic(ctx, s.svcCtx) + return l.UpdateFloatingIP(in) +} + +func (s *OpenstackServer) DeleteFloatingIP(ctx context.Context, in *openstack.DeleteFloatingIPReq) (*openstack.DeleteFloatingIPResp, error) { + l := logic.NewDeleteFloatingIPLogic(ctx, s.svcCtx) + return l.DeleteFloatingIP(in) +} + +func (s *OpenstackServer) ShowFloatingIPDetails(ctx context.Context, in *openstack.ShowFloatingIPDetailsReq) (*openstack.ShowFloatingIPDetailsResp, error) { + l := logic.NewShowFloatingIPDetailsLogic(ctx, s.svcCtx) + return l.ShowFloatingIPDetails(in) +} + +// 防火墙 +func (s *OpenstackServer) ListFirewallGroups(ctx context.Context, in *openstack.ListFirewallGroupsReq) (*openstack.ListFirewallGroupsResp, error) { + l := logic.NewListFirewallGroupsLogic(ctx, s.svcCtx) + return l.ListFirewallGroups(in) +} + +func (s *OpenstackServer) DeleteFirewallGroup(ctx context.Context, in *openstack.DeleteFirewallGroupReq) (*openstack.DeleteFirewallGroupResp, error) { + l := logic.NewDeleteFirewallGroupLogic(ctx, s.svcCtx) + return l.DeleteFirewallGroup(in) +} + +func (s *OpenstackServer) CreateFirewallGroup(ctx context.Context, in *openstack.CreateFirewallGroupReq) (*openstack.CreateFirewallGroupResp, error) { + l := logic.NewCreateFirewallGroupLogic(ctx, s.svcCtx) + return l.CreateFirewallGroup(in) +} + +func (s *OpenstackServer) UpdateFirewallGroup(ctx context.Context, in *openstack.UpdateFirewallGroupReq) (*openstack.UpdateFirewallGroupResp, error) { + l := logic.NewUpdateFirewallGroupLogic(ctx, s.svcCtx) + return l.UpdateFirewallGroup(in) +} + +func (s *OpenstackServer) ShowFirewallGroupDetails(ctx context.Context, in *openstack.ShowFirewallGroupDetailsReq) (*openstack.ShowFirewallGroupDetailsResp, error) { + l := logic.NewShowFirewallGroupDetailsLogic(ctx, s.svcCtx) + return l.ShowFirewallGroupDetails(in) +} + +func (s *OpenstackServer) CreateFirewallPolicy(ctx context.Context, in *openstack.CreateFirewallPolicyReq) (*openstack.CreateFirewallPolicyResp, error) { + l := logic.NewCreateFirewallPolicyLogic(ctx, s.svcCtx) + return l.CreateFirewallPolicy(in) +} + +func (s *OpenstackServer) DeleteFirewallPolicy(ctx context.Context, in *openstack.DeleteFirewallPolicyReq) (*openstack.DeleteFirewallPolicyResp, error) { + l := logic.NewDeleteFirewallPolicyLogic(ctx, s.svcCtx) + return l.DeleteFirewallPolicy(in) +} + +func (s *OpenstackServer) ListFirewallPolicies(ctx context.Context, in *openstack.ListFirewallPoliciesReq) (*openstack.ListFirewallPoliciesResp, error) { + l := logic.NewListFirewallPoliciesLogic(ctx, s.svcCtx) + return l.ListFirewallPolicies(in) +} + +func (s *OpenstackServer) ShowFirewallPolicyDetails(ctx context.Context, in *openstack.ShowFirewallPolicyDetailsReq) (*openstack.ShowFirewallPolicyDetailsResp, error) { + l := logic.NewShowFirewallPolicyDetailsLogic(ctx, s.svcCtx) + return l.ShowFirewallPolicyDetails(in) +} + +func (s *OpenstackServer) CreateFirewallRule(ctx context.Context, in *openstack.CreateFirewallRuleReq) (*openstack.CreateFirewallRuleResp, error) { + l := logic.NewCreateFirewallRuleLogic(ctx, s.svcCtx) + return l.CreateFirewallRule(in) +} + +func (s *OpenstackServer) DeleteFirewallRule(ctx context.Context, in *openstack.DeleteFirewallRuleReq) (*openstack.DeleteFirewallRuleResp, error) { + l := logic.NewDeleteFirewallRuleLogic(ctx, s.svcCtx) + return l.DeleteFirewallRule(in) +} + +func (s *OpenstackServer) ListFirewallRules(ctx context.Context, in *openstack.ListFirewallRulesReq) (*openstack.ListFirewallRulesResp, error) { + l := logic.NewListFirewallRulesLogic(ctx, s.svcCtx) + return l.ListFirewallRules(in) +} + +func (s *OpenstackServer) ShowFirewallRuleDetails(ctx context.Context, in *openstack.ShowFirewallRuleDetailsReq) (*openstack.ShowFirewallRuleDetailsResp, error) { + l := logic.NewShowFirewallRuleDetailsLogic(ctx, s.svcCtx) + return l.ShowFirewallRuleDetails(in) +} + +// 安全组 +func (s *OpenstackServer) ListSecurityGroups(ctx context.Context, in *openstack.ListSecurityGroupsReq) (*openstack.ListSecurityGroupsResp, error) { + l := logic.NewListSecurityGroupsLogic(ctx, s.svcCtx) + return l.ListSecurityGroups(in) +} + +func (s *OpenstackServer) CreateSecurityGroup(ctx context.Context, in *openstack.CreateSecurityGroupReq) (*openstack.CreateSecurityGroupResp, error) { + l := logic.NewCreateSecurityGroupLogic(ctx, s.svcCtx) + return l.CreateSecurityGroup(in) +} + +func (s *OpenstackServer) DeleteSecurityGroup(ctx context.Context, in *openstack.DeleteSecurityGroupReq) (*openstack.DeleteSecurityGroupResp, error) { + l := logic.NewDeleteSecurityGroupLogic(ctx, s.svcCtx) + return l.DeleteSecurityGroup(in) +} + +func (s *OpenstackServer) UpdateSecurityGroup(ctx context.Context, in *openstack.UpdateSecurityGroupReq) (*openstack.UpdateSecurityGroupResp, error) { + l := logic.NewUpdateSecurityGroupLogic(ctx, s.svcCtx) + return l.UpdateSecurityGroup(in) +} + +func (s *OpenstackServer) ShowSecurityGroup(ctx context.Context, in *openstack.ShowSecurityGroupReq) (*openstack.ShowSecurityGroupResp, error) { + l := logic.NewShowSecurityGroupLogic(ctx, s.svcCtx) + return l.ShowSecurityGroup(in) +} + +// 安全组规则 +func (s *OpenstackServer) ListSecurityGroupRules(ctx context.Context, in *openstack.ListSecurityGroupRulesReq) (*openstack.ListSecurityGroupRulesResp, error) { + l := logic.NewListSecurityGroupRulesLogic(ctx, s.svcCtx) + return l.ListSecurityGroupRules(in) +} + +func (s *OpenstackServer) CreateSecurityGroupRule(ctx context.Context, in *openstack.CreateSecurityGroupRuleReq) (*openstack.CreateSecurityGroupRuleResp, error) { + l := logic.NewCreateSecurityGroupRuleLogic(ctx, s.svcCtx) + return l.CreateSecurityGroupRule(in) +} + +func (s *OpenstackServer) ShowSecurityGroupRule(ctx context.Context, in *openstack.ShowSecurityGroupRuleReq) (*openstack.ShowSecurityGroupRuleResp, error) { + l := logic.NewShowSecurityGroupRuleLogic(ctx, s.svcCtx) + return l.ShowSecurityGroupRule(in) +} + +func (s *OpenstackServer) DeleteSecurityGroupRule(ctx context.Context, in *openstack.DeleteSecurityGroupRuleReq) (*openstack.DeleteSecurityGroupRuleResp, error) { + l := logic.NewDeleteSecurityGroupRuleLogic(ctx, s.svcCtx) + return l.DeleteSecurityGroupRule(in) +} + // Images from glance func (s *OpenstackServer) CreateImage(ctx context.Context, in *openstack.CreateImageReq) (*openstack.CreateImageResp, error) { l := logic.NewCreateImageLogic(ctx, s.svcCtx) diff --git a/openstack/pcm-openstack.pb.go b/openstack/pcm-openstack.pb.go index a2fff7c..92987c0 100644 --- a/openstack/pcm-openstack.pb.go +++ b/openstack/pcm-openstack.pb.go @@ -1690,6 +1690,7 @@ type RebuildServerReq struct { ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` Rebuild *RebuildServerReq_Rebuild `protobuf:"bytes,2,opt,name=rebuild,proto3" json:"rebuild,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *RebuildServerReq) Reset() { @@ -1738,6 +1739,13 @@ func (x *RebuildServerReq) GetRebuild() *RebuildServerReq_Rebuild { return nil } +func (x *RebuildServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + type RebuildServerResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1816,6 +1824,7 @@ type ResizeServerReq struct { ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` Resize *ResizeServerReq_Resize `protobuf:"bytes,2,opt,name=resize,proto3" json:"resize,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *ResizeServerReq) Reset() { @@ -1864,6 +1873,13 @@ func (x *ResizeServerReq) GetResize() *ResizeServerReq_Resize { return nil } +func (x *ResizeServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + type ResizeServerResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1936,6 +1952,7 @@ type MigrateServerReq struct { Action map[string]string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` MigrateAction string `protobuf:"bytes,3,opt,name=migrate_action,json=migrateAction,proto3" json:"migrate_action,omitempty"` Migrate *MigrateServerReq_Migrate `protobuf:"bytes,4,opt,name=migrate,proto3" json:"migrate,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *MigrateServerReq) Reset() { @@ -1998,6 +2015,13 @@ func (x *MigrateServerReq) GetMigrate() *MigrateServerReq_Migrate { return nil } +func (x *MigrateServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + type MigrateServerResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2061,6 +2085,1188 @@ func (x *MigrateServerResp) GetErrorMsg() string { return "" } +type ChangeAdministrativePasswordReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + ChangePassword *ChangeAdministrativePasswordReq_Changepassword `protobuf:"bytes,2,opt,name=changePassword,proto3" json:"changePassword,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ChangeAdministrativePasswordReq) Reset() { + *x = ChangeAdministrativePasswordReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChangeAdministrativePasswordReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeAdministrativePasswordReq) ProtoMessage() {} + +func (x *ChangeAdministrativePasswordReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[32] + 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 ChangeAdministrativePasswordReq.ProtoReflect.Descriptor instead. +func (*ChangeAdministrativePasswordReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{32} +} + +func (x *ChangeAdministrativePasswordReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *ChangeAdministrativePasswordReq) GetChangePassword() *ChangeAdministrativePasswordReq_Changepassword { + if x != nil { + return x.ChangePassword + } + return nil +} + +func (x *ChangeAdministrativePasswordReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ChangeAdministrativePasswordResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ChangeAdministrativePasswordResp) Reset() { + *x = ChangeAdministrativePasswordResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChangeAdministrativePasswordResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeAdministrativePasswordResp) ProtoMessage() {} + +func (x *ChangeAdministrativePasswordResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[33] + 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 ChangeAdministrativePasswordResp.ProtoReflect.Descriptor instead. +func (*ChangeAdministrativePasswordResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{33} +} + +func (x *ChangeAdministrativePasswordResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ChangeAdministrativePasswordResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ChangeAdministrativePasswordResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type RescueServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + Rescue *RescueServerReq_Rescue `protobuf:"bytes,2,opt,name=rescue,proto3" json:"rescue,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *RescueServerReq) Reset() { + *x = RescueServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RescueServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RescueServerReq) ProtoMessage() {} + +func (x *RescueServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[34] + 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 RescueServerReq.ProtoReflect.Descriptor instead. +func (*RescueServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{34} +} + +func (x *RescueServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *RescueServerReq) GetRescue() *RescueServerReq_Rescue { + if x != nil { + return x.Rescue + } + return nil +} + +func (x *RescueServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type RescueServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminPass string `protobuf:"bytes,1,opt,name=adminPass,proto3" json:"adminPass,omitempty"` + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *RescueServerResp) Reset() { + *x = RescueServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RescueServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RescueServerResp) ProtoMessage() {} + +func (x *RescueServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[35] + 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 RescueServerResp.ProtoReflect.Descriptor instead. +func (*RescueServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{35} +} + +func (x *RescueServerResp) GetAdminPass() string { + if x != nil { + return x.AdminPass + } + return "" +} + +func (x *RescueServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *RescueServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *RescueServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UnRescueServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + Action map[string]string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + UnRescueAction string `protobuf:"bytes,3,opt,name=UnRescue_action,json=UnRescueAction,proto3" json:"UnRescue_action,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *UnRescueServerReq) Reset() { + *x = UnRescueServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnRescueServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnRescueServerReq) ProtoMessage() {} + +func (x *UnRescueServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[36] + 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 UnRescueServerReq.ProtoReflect.Descriptor instead. +func (*UnRescueServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{36} +} + +func (x *UnRescueServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *UnRescueServerReq) GetAction() map[string]string { + if x != nil { + return x.Action + } + return nil +} + +func (x *UnRescueServerReq) GetUnRescueAction() string { + if x != nil { + return x.UnRescueAction + } + return "" +} + +func (x *UnRescueServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type UnRescueServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UnRescueServerResp) Reset() { + *x = UnRescueServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnRescueServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnRescueServerResp) ProtoMessage() {} + +func (x *UnRescueServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[37] + 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 UnRescueServerResp.ProtoReflect.Descriptor instead. +func (*UnRescueServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{37} +} + +func (x *UnRescueServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UnRescueServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UnRescueServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UnpauseServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + Action map[string]string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + UnpauseAction string `protobuf:"bytes,3,opt,name=unpause_action,json=unpauseAction,proto3" json:"unpause_action,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *UnpauseServerReq) Reset() { + *x = UnpauseServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnpauseServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseServerReq) ProtoMessage() {} + +func (x *UnpauseServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[38] + 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 UnpauseServerReq.ProtoReflect.Descriptor instead. +func (*UnpauseServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{38} +} + +func (x *UnpauseServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *UnpauseServerReq) GetAction() map[string]string { + if x != nil { + return x.Action + } + return nil +} + +func (x *UnpauseServerReq) GetUnpauseAction() string { + if x != nil { + return x.UnpauseAction + } + return "" +} + +func (x *UnpauseServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type UnpauseServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UnpauseServerResp) Reset() { + *x = UnpauseServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnpauseServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseServerResp) ProtoMessage() {} + +func (x *UnpauseServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[39] + 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 UnpauseServerResp.ProtoReflect.Descriptor instead. +func (*UnpauseServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{39} +} + +func (x *UnpauseServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UnpauseServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UnpauseServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ShelveServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + Action map[string]string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ShelveAction string `protobuf:"bytes,3,opt,name=shelve_action,json=shelveAction,proto3" json:"shelve_action,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShelveServerReq) Reset() { + *x = ShelveServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShelveServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShelveServerReq) ProtoMessage() {} + +func (x *ShelveServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[40] + 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 ShelveServerReq.ProtoReflect.Descriptor instead. +func (*ShelveServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{40} +} + +func (x *ShelveServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *ShelveServerReq) GetAction() map[string]string { + if x != nil { + return x.Action + } + return nil +} + +func (x *ShelveServerReq) GetShelveAction() string { + if x != nil { + return x.ShelveAction + } + return "" +} + +func (x *ShelveServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShelveServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ShelveServerResp) Reset() { + *x = ShelveServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShelveServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShelveServerResp) ProtoMessage() {} + +func (x *ShelveServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[41] + 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 ShelveServerResp.ProtoReflect.Descriptor instead. +func (*ShelveServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{41} +} + +func (x *ShelveServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShelveServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShelveServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UnshelveServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + Action map[string]string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + UnshelveAction string `protobuf:"bytes,3,opt,name=unshelve_action,json=unshelveAction,proto3" json:"unshelve_action,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *UnshelveServerReq) Reset() { + *x = UnshelveServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnshelveServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnshelveServerReq) ProtoMessage() {} + +func (x *UnshelveServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[42] + 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 UnshelveServerReq.ProtoReflect.Descriptor instead. +func (*UnshelveServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{42} +} + +func (x *UnshelveServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *UnshelveServerReq) GetAction() map[string]string { + if x != nil { + return x.Action + } + return nil +} + +func (x *UnshelveServerReq) GetUnshelveAction() string { + if x != nil { + return x.UnshelveAction + } + return "" +} + +func (x *UnshelveServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type UnshelveServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UnshelveServerResp) Reset() { + *x = UnshelveServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnshelveServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnshelveServerResp) ProtoMessage() {} + +func (x *UnshelveServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[43] + 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 UnshelveServerResp.ProtoReflect.Descriptor instead. +func (*UnshelveServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{43} +} + +func (x *UnshelveServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UnshelveServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UnshelveServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type SuspendServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + Action map[string]string `protobuf:"bytes,2,rep,name=action,proto3" json:"action,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + SuspendAction string `protobuf:"bytes,3,opt,name=suspend_action,json=suspendAction,proto3" json:"suspend_action,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *SuspendServerReq) Reset() { + *x = SuspendServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SuspendServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SuspendServerReq) ProtoMessage() {} + +func (x *SuspendServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[44] + 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 SuspendServerReq.ProtoReflect.Descriptor instead. +func (*SuspendServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{44} +} + +func (x *SuspendServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *SuspendServerReq) GetAction() map[string]string { + if x != nil { + return x.Action + } + return nil +} + +func (x *SuspendServerReq) GetSuspendAction() string { + if x != nil { + return x.SuspendAction + } + return "" +} + +func (x *SuspendServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type SuspendServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *SuspendServerResp) Reset() { + *x = SuspendServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SuspendServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SuspendServerResp) ProtoMessage() {} + +func (x *SuspendServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[45] + 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 SuspendServerResp.ProtoReflect.Descriptor instead. +func (*SuspendServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{45} +} + +func (x *SuspendServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *SuspendServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *SuspendServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type AddSecurityGroupToServerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + AddSecurityGroup *AddSecurityGroupToServerReq_AddSecurityGroup `protobuf:"bytes,2,opt,name=addSecurityGroup,proto3" json:"addSecurityGroup,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *AddSecurityGroupToServerReq) Reset() { + *x = AddSecurityGroupToServerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSecurityGroupToServerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSecurityGroupToServerReq) ProtoMessage() {} + +func (x *AddSecurityGroupToServerReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[46] + 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 AddSecurityGroupToServerReq.ProtoReflect.Descriptor instead. +func (*AddSecurityGroupToServerReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{46} +} + +func (x *AddSecurityGroupToServerReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *AddSecurityGroupToServerReq) GetAddSecurityGroup() *AddSecurityGroupToServerReq_AddSecurityGroup { + if x != nil { + return x.AddSecurityGroup + } + return nil +} + +func (x *AddSecurityGroupToServerReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type AddSecurityGroupToServerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *AddSecurityGroupToServerResp) Reset() { + *x = AddSecurityGroupToServerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSecurityGroupToServerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSecurityGroupToServerResp) ProtoMessage() {} + +func (x *AddSecurityGroupToServerResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[47] + 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 AddSecurityGroupToServerResp.ProtoReflect.Descriptor instead. +func (*AddSecurityGroupToServerResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{47} +} + +func (x *AddSecurityGroupToServerResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *AddSecurityGroupToServerResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *AddSecurityGroupToServerResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type RemoveSecurityGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + RemoveSecurityGroup *RemoveSecurityGroupReq_RemoveSecurityGroup `protobuf:"bytes,2,opt,name=removeSecurityGroup,proto3" json:"removeSecurityGroup,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *RemoveSecurityGroupReq) Reset() { + *x = RemoveSecurityGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveSecurityGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSecurityGroupReq) ProtoMessage() {} + +func (x *RemoveSecurityGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[48] + 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 RemoveSecurityGroupReq.ProtoReflect.Descriptor instead. +func (*RemoveSecurityGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{48} +} + +func (x *RemoveSecurityGroupReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *RemoveSecurityGroupReq) GetRemoveSecurityGroup() *RemoveSecurityGroupReq_RemoveSecurityGroup { + if x != nil { + return x.RemoveSecurityGroup + } + return nil +} + +func (x *RemoveSecurityGroupReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type RemoveSecurityGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *RemoveSecurityGroupResp) Reset() { + *x = RemoveSecurityGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveSecurityGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSecurityGroupResp) ProtoMessage() {} + +func (x *RemoveSecurityGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[49] + 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 RemoveSecurityGroupResp.ProtoReflect.Descriptor instead. +func (*RemoveSecurityGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{49} +} + +func (x *RemoveSecurityGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *RemoveSecurityGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *RemoveSecurityGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + type ListFlavorsDetailReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2079,7 +3285,7 @@ type ListFlavorsDetailReq struct { func (x *ListFlavorsDetailReq) Reset() { *x = ListFlavorsDetailReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[32] + mi := &file_pcm_openstack_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2092,7 +3298,7 @@ func (x *ListFlavorsDetailReq) String() string { func (*ListFlavorsDetailReq) ProtoMessage() {} func (x *ListFlavorsDetailReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[32] + mi := &file_pcm_openstack_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2105,7 +3311,7 @@ func (x *ListFlavorsDetailReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFlavorsDetailReq.ProtoReflect.Descriptor instead. func (*ListFlavorsDetailReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{32} + return file_pcm_openstack_proto_rawDescGZIP(), []int{50} } func (x *ListFlavorsDetailReq) GetSortKey() string { @@ -2178,7 +3384,7 @@ type ListFlavorsDetailResp struct { func (x *ListFlavorsDetailResp) Reset() { *x = ListFlavorsDetailResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[33] + mi := &file_pcm_openstack_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2191,7 +3397,7 @@ func (x *ListFlavorsDetailResp) String() string { func (*ListFlavorsDetailResp) ProtoMessage() {} func (x *ListFlavorsDetailResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[33] + mi := &file_pcm_openstack_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2204,7 +3410,7 @@ func (x *ListFlavorsDetailResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFlavorsDetailResp.ProtoReflect.Descriptor instead. func (*ListFlavorsDetailResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{33} + return file_pcm_openstack_proto_rawDescGZIP(), []int{51} } func (x *ListFlavorsDetailResp) GetFlavors() []*ListFlavorsDetailResp_Flavor { @@ -2235,6 +3441,258 @@ func (x *ListFlavorsDetailResp) GetErrorMsg() string { return "" } +type CreateFlavorReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flavor *CreateFlavorReq_Flavor `protobuf:"bytes,1,opt,name=flavor,proto3" json:"flavor,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *CreateFlavorReq) Reset() { + *x = CreateFlavorReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFlavorReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFlavorReq) ProtoMessage() {} + +func (x *CreateFlavorReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[52] + 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 CreateFlavorReq.ProtoReflect.Descriptor instead. +func (*CreateFlavorReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{52} +} + +func (x *CreateFlavorReq) GetFlavor() *CreateFlavorReq_Flavor { + if x != nil { + return x.Flavor + } + return nil +} + +func (x *CreateFlavorReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type CreateFlavorResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Flavor *CreateFlavorResp_Flavor `protobuf:"bytes,1,opt,name=flavor,proto3" json:"flavor,omitempty"` + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *CreateFlavorResp) Reset() { + *x = CreateFlavorResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFlavorResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFlavorResp) ProtoMessage() {} + +func (x *CreateFlavorResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[53] + 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 CreateFlavorResp.ProtoReflect.Descriptor instead. +func (*CreateFlavorResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{53} +} + +func (x *CreateFlavorResp) GetFlavor() *CreateFlavorResp_Flavor { + if x != nil { + return x.Flavor + } + return nil +} + +func (x *CreateFlavorResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateFlavorResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateFlavorResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteFlavorReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServerId string `protobuf:"bytes,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` + FlavorId string `protobuf:"bytes,2,opt,name=flavor_id,json=flavorId,proto3" json:"flavor_id,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteFlavorReq) Reset() { + *x = DeleteFlavorReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFlavorReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFlavorReq) ProtoMessage() {} + +func (x *DeleteFlavorReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[54] + 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 DeleteFlavorReq.ProtoReflect.Descriptor instead. +func (*DeleteFlavorReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{54} +} + +func (x *DeleteFlavorReq) GetServerId() string { + if x != nil { + return x.ServerId + } + return "" +} + +func (x *DeleteFlavorReq) GetFlavorId() string { + if x != nil { + return x.FlavorId + } + return "" +} + +func (x *DeleteFlavorReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteFlavorResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteFlavorResp) Reset() { + *x = DeleteFlavorResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFlavorResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFlavorResp) ProtoMessage() {} + +func (x *DeleteFlavorResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[55] + 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 DeleteFlavorResp.ProtoReflect.Descriptor instead. +func (*DeleteFlavorResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{55} +} + +func (x *DeleteFlavorResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteFlavorResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteFlavorResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + // *****************Show network details Start************************ type ShowNetworkDetailsReq struct { state protoimpl.MessageState @@ -2248,7 +3706,7 @@ type ShowNetworkDetailsReq struct { func (x *ShowNetworkDetailsReq) Reset() { *x = ShowNetworkDetailsReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[34] + mi := &file_pcm_openstack_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2261,7 +3719,7 @@ func (x *ShowNetworkDetailsReq) String() string { func (*ShowNetworkDetailsReq) ProtoMessage() {} func (x *ShowNetworkDetailsReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[34] + mi := &file_pcm_openstack_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2274,7 +3732,7 @@ func (x *ShowNetworkDetailsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNetworkDetailsReq.ProtoReflect.Descriptor instead. func (*ShowNetworkDetailsReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{34} + return file_pcm_openstack_proto_rawDescGZIP(), []int{56} } func (x *ShowNetworkDetailsReq) GetNetworkId() string { @@ -2327,7 +3785,7 @@ type Network struct { func (x *Network) Reset() { *x = Network{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[35] + mi := &file_pcm_openstack_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2340,7 +3798,7 @@ func (x *Network) String() string { func (*Network) ProtoMessage() {} func (x *Network) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[35] + mi := &file_pcm_openstack_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2353,7 +3811,7 @@ func (x *Network) ProtoReflect() protoreflect.Message { // Deprecated: Use Network.ProtoReflect.Descriptor instead. func (*Network) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{35} + return file_pcm_openstack_proto_rawDescGZIP(), []int{57} } func (x *Network) GetAdminStateUp() bool { @@ -2574,7 +4032,7 @@ type ShowNetworkDetailsResp struct { func (x *ShowNetworkDetailsResp) Reset() { *x = ShowNetworkDetailsResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[36] + mi := &file_pcm_openstack_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2587,7 +4045,7 @@ func (x *ShowNetworkDetailsResp) String() string { func (*ShowNetworkDetailsResp) ProtoMessage() {} func (x *ShowNetworkDetailsResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[36] + mi := &file_pcm_openstack_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2600,7 +4058,7 @@ func (x *ShowNetworkDetailsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNetworkDetailsResp.ProtoReflect.Descriptor instead. func (*ShowNetworkDetailsResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{36} + return file_pcm_openstack_proto_rawDescGZIP(), []int{58} } func (x *ShowNetworkDetailsResp) GetNetwork() *Network { @@ -2645,7 +4103,7 @@ type UpdateNetworkReq struct { func (x *UpdateNetworkReq) Reset() { *x = UpdateNetworkReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[37] + mi := &file_pcm_openstack_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2658,7 +4116,7 @@ func (x *UpdateNetworkReq) String() string { func (*UpdateNetworkReq) ProtoMessage() {} func (x *UpdateNetworkReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[37] + mi := &file_pcm_openstack_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2671,7 +4129,7 @@ func (x *UpdateNetworkReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNetworkReq.ProtoReflect.Descriptor instead. func (*UpdateNetworkReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{37} + return file_pcm_openstack_proto_rawDescGZIP(), []int{59} } func (x *UpdateNetworkReq) GetNetworkId() string { @@ -2709,7 +4167,7 @@ type UpdateNetworkResp struct { func (x *UpdateNetworkResp) Reset() { *x = UpdateNetworkResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[38] + mi := &file_pcm_openstack_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2722,7 +4180,7 @@ func (x *UpdateNetworkResp) String() string { func (*UpdateNetworkResp) ProtoMessage() {} func (x *UpdateNetworkResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[38] + mi := &file_pcm_openstack_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2735,7 +4193,7 @@ func (x *UpdateNetworkResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNetworkResp.ProtoReflect.Descriptor instead. func (*UpdateNetworkResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{38} + return file_pcm_openstack_proto_rawDescGZIP(), []int{60} } func (x *UpdateNetworkResp) GetNetwork() *Network { @@ -2779,7 +4237,7 @@ type DeleteNetworkReq struct { func (x *DeleteNetworkReq) Reset() { *x = DeleteNetworkReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[39] + mi := &file_pcm_openstack_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2792,7 +4250,7 @@ func (x *DeleteNetworkReq) String() string { func (*DeleteNetworkReq) ProtoMessage() {} func (x *DeleteNetworkReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[39] + mi := &file_pcm_openstack_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2805,7 +4263,7 @@ func (x *DeleteNetworkReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNetworkReq.ProtoReflect.Descriptor instead. func (*DeleteNetworkReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{39} + return file_pcm_openstack_proto_rawDescGZIP(), []int{61} } func (x *DeleteNetworkReq) GetNetworkId() string { @@ -2835,7 +4293,7 @@ type DeleteNetworkResp struct { func (x *DeleteNetworkResp) Reset() { *x = DeleteNetworkResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[40] + mi := &file_pcm_openstack_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2848,7 +4306,7 @@ func (x *DeleteNetworkResp) String() string { func (*DeleteNetworkResp) ProtoMessage() {} func (x *DeleteNetworkResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[40] + mi := &file_pcm_openstack_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2861,7 +4319,7 @@ func (x *DeleteNetworkResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNetworkResp.ProtoReflect.Descriptor instead. func (*DeleteNetworkResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{40} + return file_pcm_openstack_proto_rawDescGZIP(), []int{62} } func (x *DeleteNetworkResp) GetMsg() string { @@ -2897,7 +4355,7 @@ type ListNetworksReq struct { func (x *ListNetworksReq) Reset() { *x = ListNetworksReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[41] + mi := &file_pcm_openstack_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2910,7 +4368,7 @@ func (x *ListNetworksReq) String() string { func (*ListNetworksReq) ProtoMessage() {} func (x *ListNetworksReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[41] + mi := &file_pcm_openstack_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2923,7 +4381,7 @@ func (x *ListNetworksReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNetworksReq.ProtoReflect.Descriptor instead. func (*ListNetworksReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{41} + return file_pcm_openstack_proto_rawDescGZIP(), []int{63} } func (x *ListNetworksReq) GetPlatform() string { @@ -2977,7 +4435,7 @@ type ListNetworksResp struct { func (x *ListNetworksResp) Reset() { *x = ListNetworksResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[42] + mi := &file_pcm_openstack_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2990,7 +4448,7 @@ func (x *ListNetworksResp) String() string { func (*ListNetworksResp) ProtoMessage() {} func (x *ListNetworksResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[42] + mi := &file_pcm_openstack_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3003,7 +4461,7 @@ func (x *ListNetworksResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNetworksResp.ProtoReflect.Descriptor instead. func (*ListNetworksResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{42} + return file_pcm_openstack_proto_rawDescGZIP(), []int{64} } func (x *ListNetworksResp) GetNetworks() []*Network { @@ -3047,7 +4505,7 @@ type CreateNetworkReq struct { func (x *CreateNetworkReq) Reset() { *x = CreateNetworkReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[43] + mi := &file_pcm_openstack_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3060,7 +4518,7 @@ func (x *CreateNetworkReq) String() string { func (*CreateNetworkReq) ProtoMessage() {} func (x *CreateNetworkReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[43] + mi := &file_pcm_openstack_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3073,7 +4531,7 @@ func (x *CreateNetworkReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNetworkReq.ProtoReflect.Descriptor instead. func (*CreateNetworkReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{43} + return file_pcm_openstack_proto_rawDescGZIP(), []int{65} } func (x *CreateNetworkReq) GetNetwork() *Network { @@ -3095,45 +4553,16 @@ type CreateNetworkResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Network *Network `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // @gotags: copier:"Network" - // bool admin_state_up = 2; - // - // repeated string availability_zone_hints = 3; - // repeated string availability_zones = 4; - // string created_at = 5; - // string dns_domain = 6; - // string id = 7; - // string ipv4_address_scope = 8; - // string ipv6_address_scope = 9; - // bool l2_adjacency = 10; - // int64 mtu = 11; - // string name = 12; - // bool port_security_enabled = 13; - // string project_id = 14; - // string provider_network_type = 15 [json_name = "provider:network_type"]; - // string provider_physical_network = 16 [json_name = "provider:physical_network"]; - // int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"]; - // string qos_policy_id = 18; - // int64 revision_number = 19; - // bool router_external = 20 [json_name = "router:external"]; - // repeated Segment segments = 21; - // bool shared = 22; - // string status = 23; - // repeated string subnets = 24; - // string updated_at = 25; - // bool vlan_transparent = 26; - // string description = 27; - // bool is_default = 28; - // repeated string tags = 29; - Code int32 `protobuf:"varint,30,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,31,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" - ErrorMsg string `protobuf:"bytes,32,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + Network *Network `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // @gotags: copier:"Network" + Code int32 `protobuf:"varint,30,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,31,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + ErrorMsg string `protobuf:"bytes,32,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" } func (x *CreateNetworkResp) Reset() { *x = CreateNetworkResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[44] + mi := &file_pcm_openstack_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3146,7 +4575,7 @@ func (x *CreateNetworkResp) String() string { func (*CreateNetworkResp) ProtoMessage() {} func (x *CreateNetworkResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[44] + mi := &file_pcm_openstack_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3159,7 +4588,7 @@ func (x *CreateNetworkResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNetworkResp.ProtoReflect.Descriptor instead. func (*CreateNetworkResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{44} + return file_pcm_openstack_proto_rawDescGZIP(), []int{66} } func (x *CreateNetworkResp) GetNetwork() *Network { @@ -3203,7 +4632,7 @@ type CreateSubnetReq struct { func (x *CreateSubnetReq) Reset() { *x = CreateSubnetReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[45] + mi := &file_pcm_openstack_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3216,7 +4645,7 @@ func (x *CreateSubnetReq) String() string { func (*CreateSubnetReq) ProtoMessage() {} func (x *CreateSubnetReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[45] + mi := &file_pcm_openstack_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3229,7 +4658,7 @@ func (x *CreateSubnetReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSubnetReq.ProtoReflect.Descriptor instead. func (*CreateSubnetReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{45} + return file_pcm_openstack_proto_rawDescGZIP(), []int{67} } func (x *CreateSubnetReq) GetSubnet() *Subnet { @@ -3260,7 +4689,7 @@ type CreateSubnetResp struct { func (x *CreateSubnetResp) Reset() { *x = CreateSubnetResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[46] + mi := &file_pcm_openstack_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3273,7 +4702,7 @@ func (x *CreateSubnetResp) String() string { func (*CreateSubnetResp) ProtoMessage() {} func (x *CreateSubnetResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[46] + mi := &file_pcm_openstack_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3286,7 +4715,7 @@ func (x *CreateSubnetResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSubnetResp.ProtoReflect.Descriptor instead. func (*CreateSubnetResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{46} + return file_pcm_openstack_proto_rawDescGZIP(), []int{68} } func (x *CreateSubnetResp) GetSubnet() *SubnetResp { @@ -3336,7 +4765,7 @@ type Subnet struct { func (x *Subnet) Reset() { *x = Subnet{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[47] + mi := &file_pcm_openstack_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3349,7 +4778,7 @@ func (x *Subnet) String() string { func (*Subnet) ProtoMessage() {} func (x *Subnet) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[47] + mi := &file_pcm_openstack_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3362,7 +4791,7 @@ func (x *Subnet) ProtoReflect() protoreflect.Message { // Deprecated: Use Subnet.ProtoReflect.Descriptor instead. func (*Subnet) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{47} + return file_pcm_openstack_proto_rawDescGZIP(), []int{69} } func (x *Subnet) GetNetworkId() string { @@ -3461,7 +4890,7 @@ type SubnetResp struct { func (x *SubnetResp) Reset() { *x = SubnetResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[48] + mi := &file_pcm_openstack_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3474,7 +4903,7 @@ func (x *SubnetResp) String() string { func (*SubnetResp) ProtoMessage() {} func (x *SubnetResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[48] + mi := &file_pcm_openstack_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3487,7 +4916,7 @@ func (x *SubnetResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SubnetResp.ProtoReflect.Descriptor instead. func (*SubnetResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{48} + return file_pcm_openstack_proto_rawDescGZIP(), []int{70} } func (x *SubnetResp) GetName() string { @@ -3663,7 +5092,7 @@ type AllocationPools struct { func (x *AllocationPools) Reset() { *x = AllocationPools{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[49] + mi := &file_pcm_openstack_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3676,7 +5105,7 @@ func (x *AllocationPools) String() string { func (*AllocationPools) ProtoMessage() {} func (x *AllocationPools) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[49] + mi := &file_pcm_openstack_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3689,7 +5118,7 @@ func (x *AllocationPools) ProtoReflect() protoreflect.Message { // Deprecated: Use AllocationPools.ProtoReflect.Descriptor instead. func (*AllocationPools) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{49} + return file_pcm_openstack_proto_rawDescGZIP(), []int{71} } func (x *AllocationPools) GetStart() string { @@ -3719,7 +5148,7 @@ type BulkCreateNetworksReq struct { func (x *BulkCreateNetworksReq) Reset() { *x = BulkCreateNetworksReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[50] + mi := &file_pcm_openstack_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3732,7 +5161,7 @@ func (x *BulkCreateNetworksReq) String() string { func (*BulkCreateNetworksReq) ProtoMessage() {} func (x *BulkCreateNetworksReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[50] + mi := &file_pcm_openstack_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3745,7 +5174,7 @@ func (x *BulkCreateNetworksReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkCreateNetworksReq.ProtoReflect.Descriptor instead. func (*BulkCreateNetworksReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{50} + return file_pcm_openstack_proto_rawDescGZIP(), []int{72} } func (x *BulkCreateNetworksReq) GetNetworks() []*Network { @@ -3805,7 +5234,7 @@ type BulkCreateNetworksResp struct { func (x *BulkCreateNetworksResp) Reset() { *x = BulkCreateNetworksResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[51] + mi := &file_pcm_openstack_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3818,7 +5247,7 @@ func (x *BulkCreateNetworksResp) String() string { func (*BulkCreateNetworksResp) ProtoMessage() {} func (x *BulkCreateNetworksResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[51] + mi := &file_pcm_openstack_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3831,7 +5260,7 @@ func (x *BulkCreateNetworksResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkCreateNetworksResp.ProtoReflect.Descriptor instead. func (*BulkCreateNetworksResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{51} + return file_pcm_openstack_proto_rawDescGZIP(), []int{73} } func (x *BulkCreateNetworksResp) GetNetworks() []*Network { @@ -4058,6 +5487,5388 @@ func (x *BulkCreateNetworksResp) GetErrorMsg() string { return "" } +type ListSubnetsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"Offset" + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListSubnetsReq) Reset() { + *x = ListSubnetsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubnetsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubnetsReq) ProtoMessage() {} + +func (x *ListSubnetsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[74] + 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 ListSubnetsReq.ProtoReflect.Descriptor instead. +func (*ListSubnetsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{74} +} + +func (x *ListSubnetsReq) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListSubnetsReq) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListSubnetsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListSubnetsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subnets []*ListSubnetsResp_Subnets `protobuf:"bytes,1,rep,name=subnets,proto3" json:"subnets,omitempty"` +} + +func (x *ListSubnetsResp) Reset() { + *x = ListSubnetsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubnetsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubnetsResp) ProtoMessage() {} + +func (x *ListSubnetsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[75] + 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 ListSubnetsResp.ProtoReflect.Descriptor instead. +func (*ListSubnetsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{75} +} + +func (x *ListSubnetsResp) GetSubnets() []*ListSubnetsResp_Subnets { + if x != nil { + return x.Subnets + } + return nil +} + +type DeleteSubnetReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubnetId string `protobuf:"bytes,1,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` // @gotags: copier:"subnet_id" + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteSubnetReq) Reset() { + *x = DeleteSubnetReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubnetReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubnetReq) ProtoMessage() {} + +func (x *DeleteSubnetReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[76] + 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 DeleteSubnetReq.ProtoReflect.Descriptor instead. +func (*DeleteSubnetReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{76} +} + +func (x *DeleteSubnetReq) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +func (x *DeleteSubnetReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteSubnetResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteSubnetResp) Reset() { + *x = DeleteSubnetResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSubnetResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSubnetResp) ProtoMessage() {} + +func (x *DeleteSubnetResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[77] + 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 DeleteSubnetResp.ProtoReflect.Descriptor instead. +func (*DeleteSubnetResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{77} +} + +func (x *DeleteSubnetResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteSubnetResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteSubnetResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdateSubnetReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubnetId string `protobuf:"bytes,1,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` // @gotags: copier:"subnet_id" +} + +func (x *UpdateSubnetReq) Reset() { + *x = UpdateSubnetReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubnetReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubnetReq) ProtoMessage() {} + +func (x *UpdateSubnetReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[78] + 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 UpdateSubnetReq.ProtoReflect.Descriptor instead. +func (*UpdateSubnetReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{78} +} + +func (x *UpdateSubnetReq) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type UpdateSubnetResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subnet *UpdateSubnetResp_Subnet `protobuf:"bytes,1,opt,name=subnet,proto3" json:"subnet,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UpdateSubnetResp) Reset() { + *x = UpdateSubnetResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubnetResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubnetResp) ProtoMessage() {} + +func (x *UpdateSubnetResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[79] + 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 UpdateSubnetResp.ProtoReflect.Descriptor instead. +func (*UpdateSubnetResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{79} +} + +func (x *UpdateSubnetResp) GetSubnet() *UpdateSubnetResp_Subnet { + if x != nil { + return x.Subnet + } + return nil +} + +func (x *UpdateSubnetResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UpdateSubnetResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UpdateSubnetResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type CreateNetworkSegmentRangeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRange *CreateNetworkSegmentRangeReq_NetworkSegmentRange `protobuf:"bytes,1,opt,name=network_segment_range,json=networkSegmentRange,proto3" json:"network_segment_range,omitempty"` +} + +func (x *CreateNetworkSegmentRangeReq) Reset() { + *x = CreateNetworkSegmentRangeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkSegmentRangeReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkSegmentRangeReq) ProtoMessage() {} + +func (x *CreateNetworkSegmentRangeReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[80] + 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 CreateNetworkSegmentRangeReq.ProtoReflect.Descriptor instead. +func (*CreateNetworkSegmentRangeReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{80} +} + +func (x *CreateNetworkSegmentRangeReq) GetNetworkSegmentRange() *CreateNetworkSegmentRangeReq_NetworkSegmentRange { + if x != nil { + return x.NetworkSegmentRange + } + return nil +} + +type CreateNetworkSegmentRangeResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRange *CreateNetworkSegmentRangeResp_NetworkSegmentRange `protobuf:"bytes,1,opt,name=network_segment_range,json=networkSegmentRange,proto3" json:"network_segment_range,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *CreateNetworkSegmentRangeResp) Reset() { + *x = CreateNetworkSegmentRangeResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkSegmentRangeResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkSegmentRangeResp) ProtoMessage() {} + +func (x *CreateNetworkSegmentRangeResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[81] + 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 CreateNetworkSegmentRangeResp.ProtoReflect.Descriptor instead. +func (*CreateNetworkSegmentRangeResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{81} +} + +func (x *CreateNetworkSegmentRangeResp) GetNetworkSegmentRange() *CreateNetworkSegmentRangeResp_NetworkSegmentRange { + if x != nil { + return x.NetworkSegmentRange + } + return nil +} + +func (x *CreateNetworkSegmentRangeResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateNetworkSegmentRangeResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ListNetworkSegmentRangesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"Offset" + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListNetworkSegmentRangesReq) Reset() { + *x = ListNetworkSegmentRangesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkSegmentRangesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkSegmentRangesReq) ProtoMessage() {} + +func (x *ListNetworkSegmentRangesReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[82] + 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 ListNetworkSegmentRangesReq.ProtoReflect.Descriptor instead. +func (*ListNetworkSegmentRangesReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{82} +} + +func (x *ListNetworkSegmentRangesReq) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListNetworkSegmentRangesReq) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListNetworkSegmentRangesReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListNetworkSegmentRangesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRanges []*ListNetworkSegmentRangesResp_NetworkSegmentRanges `protobuf:"bytes,1,rep,name=network_segment_ranges,json=networkSegmentRanges,proto3" json:"network_segment_ranges,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ListNetworkSegmentRangesResp) Reset() { + *x = ListNetworkSegmentRangesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkSegmentRangesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkSegmentRangesResp) ProtoMessage() {} + +func (x *ListNetworkSegmentRangesResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[83] + 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 ListNetworkSegmentRangesResp.ProtoReflect.Descriptor instead. +func (*ListNetworkSegmentRangesResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{83} +} + +func (x *ListNetworkSegmentRangesResp) GetNetworkSegmentRanges() []*ListNetworkSegmentRangesResp_NetworkSegmentRanges { + if x != nil { + return x.NetworkSegmentRanges + } + return nil +} + +func (x *ListNetworkSegmentRangesResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListNetworkSegmentRangesResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListNetworkSegmentRangesResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteNetworkSegmentRangesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRangeId string `protobuf:"bytes,1,opt,name=network_segment_range_id,json=networkSegmentRangeId,proto3" json:"network_segment_range_id,omitempty"` // @gotags: copier:"subnet_id" + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteNetworkSegmentRangesReq) Reset() { + *x = DeleteNetworkSegmentRangesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNetworkSegmentRangesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNetworkSegmentRangesReq) ProtoMessage() {} + +func (x *DeleteNetworkSegmentRangesReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[84] + 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 DeleteNetworkSegmentRangesReq.ProtoReflect.Descriptor instead. +func (*DeleteNetworkSegmentRangesReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{84} +} + +func (x *DeleteNetworkSegmentRangesReq) GetNetworkSegmentRangeId() string { + if x != nil { + return x.NetworkSegmentRangeId + } + return "" +} + +func (x *DeleteNetworkSegmentRangesReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteNetworkSegmentRangesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteNetworkSegmentRangesResp) Reset() { + *x = DeleteNetworkSegmentRangesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNetworkSegmentRangesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNetworkSegmentRangesResp) ProtoMessage() {} + +func (x *DeleteNetworkSegmentRangesResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[85] + 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 DeleteNetworkSegmentRangesResp.ProtoReflect.Descriptor instead. +func (*DeleteNetworkSegmentRangesResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{85} +} + +func (x *DeleteNetworkSegmentRangesResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteNetworkSegmentRangesResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteNetworkSegmentRangesResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdateNetworkSegmentRangesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRangeId string `protobuf:"bytes,1,opt,name=network_segment_range_id,json=networkSegmentRangeId,proto3" json:"network_segment_range_id,omitempty"` // @gotags: copier:"subnet_id" + NetworkSegmentRanges *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges `protobuf:"bytes,2,opt,name=network_segment_ranges,json=networkSegmentRanges,proto3" json:"network_segment_ranges,omitempty"` +} + +func (x *UpdateNetworkSegmentRangesReq) Reset() { + *x = UpdateNetworkSegmentRangesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkSegmentRangesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkSegmentRangesReq) ProtoMessage() {} + +func (x *UpdateNetworkSegmentRangesReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[86] + 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 UpdateNetworkSegmentRangesReq.ProtoReflect.Descriptor instead. +func (*UpdateNetworkSegmentRangesReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{86} +} + +func (x *UpdateNetworkSegmentRangesReq) GetNetworkSegmentRangeId() string { + if x != nil { + return x.NetworkSegmentRangeId + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq) GetNetworkSegmentRanges() *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges { + if x != nil { + return x.NetworkSegmentRanges + } + return nil +} + +type UpdateNetworkSegmentRangesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRange *UpdateNetworkSegmentRangesResp_NetworkSegmentRange `protobuf:"bytes,1,opt,name=network_segment_range,json=networkSegmentRange,proto3" json:"network_segment_range,omitempty"` +} + +func (x *UpdateNetworkSegmentRangesResp) Reset() { + *x = UpdateNetworkSegmentRangesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkSegmentRangesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkSegmentRangesResp) ProtoMessage() {} + +func (x *UpdateNetworkSegmentRangesResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[87] + 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 UpdateNetworkSegmentRangesResp.ProtoReflect.Descriptor instead. +func (*UpdateNetworkSegmentRangesResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{87} +} + +func (x *UpdateNetworkSegmentRangesResp) GetNetworkSegmentRange() *UpdateNetworkSegmentRangesResp_NetworkSegmentRange { + if x != nil { + return x.NetworkSegmentRange + } + return nil +} + +type ShowNetworkSegmentRangeDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRangeId string `protobuf:"bytes,1,opt,name=network_segment_range_id,json=networkSegmentRangeId,proto3" json:"network_segment_range_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowNetworkSegmentRangeDetailsReq) Reset() { + *x = ShowNetworkSegmentRangeDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowNetworkSegmentRangeDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowNetworkSegmentRangeDetailsReq) ProtoMessage() {} + +func (x *ShowNetworkSegmentRangeDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[88] + 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 ShowNetworkSegmentRangeDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowNetworkSegmentRangeDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{88} +} + +func (x *ShowNetworkSegmentRangeDetailsReq) GetNetworkSegmentRangeId() string { + if x != nil { + return x.NetworkSegmentRangeId + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowNetworkSegmentRangeDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkSegmentRange *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange `protobuf:"bytes,1,opt,name=network_segment_range,json=networkSegmentRange,proto3" json:"network_segment_range,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ShowNetworkSegmentRangeDetailsResp) Reset() { + *x = ShowNetworkSegmentRangeDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowNetworkSegmentRangeDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowNetworkSegmentRangeDetailsResp) ProtoMessage() {} + +func (x *ShowNetworkSegmentRangeDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[89] + 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 ShowNetworkSegmentRangeDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowNetworkSegmentRangeDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{89} +} + +func (x *ShowNetworkSegmentRangeDetailsResp) GetNetworkSegmentRange() *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange { + if x != nil { + return x.NetworkSegmentRange + } + return nil +} + +func (x *ShowNetworkSegmentRangeDetailsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowNetworkSegmentRangeDetailsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +// port +type CreatePortReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port *CreatePortReq_Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *CreatePortReq) Reset() { + *x = CreatePortReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortReq) ProtoMessage() {} + +func (x *CreatePortReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[90] + 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 CreatePortReq.ProtoReflect.Descriptor instead. +func (*CreatePortReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{90} +} + +func (x *CreatePortReq) GetPort() *CreatePortReq_Port { + if x != nil { + return x.Port + } + return nil +} + +func (x *CreatePortReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type CreatePortResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port *CreatePortResp_Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *CreatePortResp) Reset() { + *x = CreatePortResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortResp) ProtoMessage() {} + +func (x *CreatePortResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[91] + 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 CreatePortResp.ProtoReflect.Descriptor instead. +func (*CreatePortResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{91} +} + +func (x *CreatePortResp) GetPort() *CreatePortResp_Port { + if x != nil { + return x.Port + } + return nil +} + +type ListPortsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"Offset" + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListPortsReq) Reset() { + *x = ListPortsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsReq) ProtoMessage() {} + +func (x *ListPortsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[92] + 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 ListPortsReq.ProtoReflect.Descriptor instead. +func (*ListPortsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{92} +} + +func (x *ListPortsReq) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListPortsReq) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListPortsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListPortsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ports []*ListPortsResp_Ports `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` +} + +func (x *ListPortsResp) Reset() { + *x = ListPortsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp) ProtoMessage() {} + +func (x *ListPortsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[93] + 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 ListPortsResp.ProtoReflect.Descriptor instead. +func (*ListPortsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93} +} + +func (x *ListPortsResp) GetPorts() []*ListPortsResp_Ports { + if x != nil { + return x.Ports + } + return nil +} + +type DeletePortReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeletePortReq) Reset() { + *x = DeletePortReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePortReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePortReq) ProtoMessage() {} + +func (x *DeletePortReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[94] + 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 DeletePortReq.ProtoReflect.Descriptor instead. +func (*DeletePortReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{94} +} + +func (x *DeletePortReq) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *DeletePortReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeletePortResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeletePortResp) Reset() { + *x = DeletePortResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePortResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePortResp) ProtoMessage() {} + +func (x *DeletePortResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[95] + 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 DeletePortResp.ProtoReflect.Descriptor instead. +func (*DeletePortResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{95} +} + +func (x *DeletePortResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeletePortResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeletePortResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdatePortReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + Port *UpdatePortReq_Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *UpdatePortReq) Reset() { + *x = UpdatePortReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortReq) ProtoMessage() {} + +func (x *UpdatePortReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[96] + 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 UpdatePortReq.ProtoReflect.Descriptor instead. +func (*UpdatePortReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{96} +} + +func (x *UpdatePortReq) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *UpdatePortReq) GetPort() *UpdatePortReq_Port { + if x != nil { + return x.Port + } + return nil +} + +func (x *UpdatePortReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type UpdatePortResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port *UpdatePortResp_Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *UpdatePortResp) Reset() { + *x = UpdatePortResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp) ProtoMessage() {} + +func (x *UpdatePortResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[97] + 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 UpdatePortResp.ProtoReflect.Descriptor instead. +func (*UpdatePortResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97} +} + +func (x *UpdatePortResp) GetPort() *UpdatePortResp_Port { + if x != nil { + return x.Port + } + return nil +} + +type ShowPortDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + Fields string `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowPortDetailsReq) Reset() { + *x = ShowPortDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsReq) ProtoMessage() {} + +func (x *ShowPortDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[98] + 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 ShowPortDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{98} +} + +func (x *ShowPortDetailsReq) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *ShowPortDetailsReq) GetFields() string { + if x != nil { + return x.Fields + } + return "" +} + +func (x *ShowPortDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowPortDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Port *ShowPortDetailsResp_Port `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ShowPortDetailsResp) Reset() { + *x = ShowPortDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp) ProtoMessage() {} + +func (x *ShowPortDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[99] + 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 ShowPortDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99} +} + +func (x *ShowPortDetailsResp) GetPort() *ShowPortDetailsResp_Port { + if x != nil { + return x.Port + } + return nil +} + +// port +type ListRoutersReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"Offset" + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListRoutersReq) Reset() { + *x = ListRoutersReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersReq) ProtoMessage() {} + +func (x *ListRoutersReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[100] + 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 ListRoutersReq.ProtoReflect.Descriptor instead. +func (*ListRoutersReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{100} +} + +func (x *ListRoutersReq) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListRoutersReq) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListRoutersReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListRoutersResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Routers []*ListRoutersResp_Routers `protobuf:"bytes,1,rep,name=routers,proto3" json:"routers,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ListRoutersResp) Reset() { + *x = ListRoutersResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp) ProtoMessage() {} + +func (x *ListRoutersResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[101] + 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 ListRoutersResp.ProtoReflect.Descriptor instead. +func (*ListRoutersResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101} +} + +func (x *ListRoutersResp) GetRouters() []*ListRoutersResp_Routers { + if x != nil { + return x.Routers + } + return nil +} + +func (x *ListRoutersResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListRoutersResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListRoutersResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type CreateRouterReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Router *CreateRouterReq_Router `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"` +} + +func (x *CreateRouterReq) Reset() { + *x = CreateRouterReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterReq) ProtoMessage() {} + +func (x *CreateRouterReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[102] + 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 CreateRouterReq.ProtoReflect.Descriptor instead. +func (*CreateRouterReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{102} +} + +func (x *CreateRouterReq) GetRouter() *CreateRouterReq_Router { + if x != nil { + return x.Router + } + return nil +} + +type CreateRouterResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Router *CreateRouterResp_Router `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *CreateRouterResp) Reset() { + *x = CreateRouterResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp) ProtoMessage() {} + +func (x *CreateRouterResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[103] + 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 CreateRouterResp.ProtoReflect.Descriptor instead. +func (*CreateRouterResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103} +} + +func (x *CreateRouterResp) GetRouter() *CreateRouterResp_Router { + if x != nil { + return x.Router + } + return nil +} + +func (x *CreateRouterResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateRouterResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateRouterResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdateRouterReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` + Router *UpdateRouterReq_Router `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"` +} + +func (x *UpdateRouterReq) Reset() { + *x = UpdateRouterReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterReq) ProtoMessage() {} + +func (x *UpdateRouterReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[104] + 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 UpdateRouterReq.ProtoReflect.Descriptor instead. +func (*UpdateRouterReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{104} +} + +func (x *UpdateRouterReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *UpdateRouterReq) GetRouter() *UpdateRouterReq_Router { + if x != nil { + return x.Router + } + return nil +} + +type UpdateRouterResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Router *UpdateRouterResp_Router `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UpdateRouterResp) Reset() { + *x = UpdateRouterResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp) ProtoMessage() {} + +func (x *UpdateRouterResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[105] + 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 UpdateRouterResp.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105} +} + +func (x *UpdateRouterResp) GetRouter() *UpdateRouterResp_Router { + if x != nil { + return x.Router + } + return nil +} + +func (x *UpdateRouterResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UpdateRouterResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UpdateRouterResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ShowRouterDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` + Router *ShowRouterDetailsReq_Router `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"` + RouterId string `protobuf:"bytes,3,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` +} + +func (x *ShowRouterDetailsReq) Reset() { + *x = ShowRouterDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsReq) ProtoMessage() {} + +func (x *ShowRouterDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[106] + 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 ShowRouterDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{106} +} + +func (x *ShowRouterDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *ShowRouterDetailsReq) GetRouter() *ShowRouterDetailsReq_Router { + if x != nil { + return x.Router + } + return nil +} + +func (x *ShowRouterDetailsReq) GetRouterId() string { + if x != nil { + return x.RouterId + } + return "" +} + +type ShowRouterDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Router *ShowRouterDetailsResp_Router `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ShowRouterDetailsResp) Reset() { + *x = ShowRouterDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp) ProtoMessage() {} + +func (x *ShowRouterDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[107] + 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 ShowRouterDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107} +} + +func (x *ShowRouterDetailsResp) GetRouter() *ShowRouterDetailsResp_Router { + if x != nil { + return x.Router + } + return nil +} + +func (x *ShowRouterDetailsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowRouterDetailsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowRouterDetailsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteRouterReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RouterId string `protobuf:"bytes,1,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteRouterReq) Reset() { + *x = DeleteRouterReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteRouterReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRouterReq) ProtoMessage() {} + +func (x *DeleteRouterReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[108] + 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 DeleteRouterReq.ProtoReflect.Descriptor instead. +func (*DeleteRouterReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{108} +} + +func (x *DeleteRouterReq) GetRouterId() string { + if x != nil { + return x.RouterId + } + return "" +} + +func (x *DeleteRouterReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteRouterResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteRouterResp) Reset() { + *x = DeleteRouterResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteRouterResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRouterResp) ProtoMessage() {} + +func (x *DeleteRouterResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[109] + 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 DeleteRouterResp.ProtoReflect.Descriptor instead. +func (*DeleteRouterResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{109} +} + +func (x *DeleteRouterResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteRouterResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteRouterResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +// 浮动IPs +type ListFloatingIPsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"Offset" + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListFloatingIPsReq) Reset() { + *x = ListFloatingIPsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFloatingIPsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFloatingIPsReq) ProtoMessage() {} + +func (x *ListFloatingIPsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[110] + 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 ListFloatingIPsReq.ProtoReflect.Descriptor instead. +func (*ListFloatingIPsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{110} +} + +func (x *ListFloatingIPsReq) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListFloatingIPsReq) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListFloatingIPsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListFloatingIPsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Floatingips []*ListFloatingIPsResp_Floatingips `protobuf:"bytes,1,rep,name=floatingips,proto3" json:"floatingips,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ListFloatingIPsResp) Reset() { + *x = ListFloatingIPsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFloatingIPsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFloatingIPsResp) ProtoMessage() {} + +func (x *ListFloatingIPsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[111] + 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 ListFloatingIPsResp.ProtoReflect.Descriptor instead. +func (*ListFloatingIPsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{111} +} + +func (x *ListFloatingIPsResp) GetFloatingips() []*ListFloatingIPsResp_Floatingips { + if x != nil { + return x.Floatingips + } + return nil +} + +func (x *ListFloatingIPsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListFloatingIPsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListFloatingIPsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type CreateFloatingIPReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Floatingip *CreateFloatingIPReq_Floatingip `protobuf:"bytes,1,opt,name=floatingip,proto3" json:"floatingip,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *CreateFloatingIPReq) Reset() { + *x = CreateFloatingIPReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFloatingIPReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFloatingIPReq) ProtoMessage() {} + +func (x *CreateFloatingIPReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[112] + 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 CreateFloatingIPReq.ProtoReflect.Descriptor instead. +func (*CreateFloatingIPReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{112} +} + +func (x *CreateFloatingIPReq) GetFloatingip() *CreateFloatingIPReq_Floatingip { + if x != nil { + return x.Floatingip + } + return nil +} + +func (x *CreateFloatingIPReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type CreateFloatingIPResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Floatingip *CreateFloatingIPResp_Floatingip `protobuf:"bytes,1,opt,name=floatingip,proto3" json:"floatingip,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *CreateFloatingIPResp) Reset() { + *x = CreateFloatingIPResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFloatingIPResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFloatingIPResp) ProtoMessage() {} + +func (x *CreateFloatingIPResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[113] + 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 CreateFloatingIPResp.ProtoReflect.Descriptor instead. +func (*CreateFloatingIPResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{113} +} + +func (x *CreateFloatingIPResp) GetFloatingip() *CreateFloatingIPResp_Floatingip { + if x != nil { + return x.Floatingip + } + return nil +} + +func (x *CreateFloatingIPResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateFloatingIPResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateFloatingIPResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdateFloatingIPReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Floatingip *UpdateFloatingIPReq_Floatingip `protobuf:"bytes,1,opt,name=floatingip,proto3" json:"floatingip,omitempty"` +} + +func (x *UpdateFloatingIPReq) Reset() { + *x = UpdateFloatingIPReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFloatingIPReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFloatingIPReq) ProtoMessage() {} + +func (x *UpdateFloatingIPReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[114] + 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 UpdateFloatingIPReq.ProtoReflect.Descriptor instead. +func (*UpdateFloatingIPReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{114} +} + +func (x *UpdateFloatingIPReq) GetFloatingip() *UpdateFloatingIPReq_Floatingip { + if x != nil { + return x.Floatingip + } + return nil +} + +type UpdateFloatingIPResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Floatingip *UpdateFloatingIPResp_Floatingip `protobuf:"bytes,1,opt,name=floatingip,proto3" json:"floatingip,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UpdateFloatingIPResp) Reset() { + *x = UpdateFloatingIPResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFloatingIPResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFloatingIPResp) ProtoMessage() {} + +func (x *UpdateFloatingIPResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[115] + 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 UpdateFloatingIPResp.ProtoReflect.Descriptor instead. +func (*UpdateFloatingIPResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{115} +} + +func (x *UpdateFloatingIPResp) GetFloatingip() *UpdateFloatingIPResp_Floatingip { + if x != nil { + return x.Floatingip + } + return nil +} + +func (x *UpdateFloatingIPResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UpdateFloatingIPResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UpdateFloatingIPResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteFloatingIPReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FloatingipId string `protobuf:"bytes,1,opt,name=floatingip_id,json=floatingipId,proto3" json:"floatingip_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteFloatingIPReq) Reset() { + *x = DeleteFloatingIPReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFloatingIPReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFloatingIPReq) ProtoMessage() {} + +func (x *DeleteFloatingIPReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[116] + 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 DeleteFloatingIPReq.ProtoReflect.Descriptor instead. +func (*DeleteFloatingIPReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{116} +} + +func (x *DeleteFloatingIPReq) GetFloatingipId() string { + if x != nil { + return x.FloatingipId + } + return "" +} + +func (x *DeleteFloatingIPReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteFloatingIPResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteFloatingIPResp) Reset() { + *x = DeleteFloatingIPResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFloatingIPResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFloatingIPResp) ProtoMessage() {} + +func (x *DeleteFloatingIPResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[117] + 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 DeleteFloatingIPResp.ProtoReflect.Descriptor instead. +func (*DeleteFloatingIPResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{117} +} + +func (x *DeleteFloatingIPResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteFloatingIPResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteFloatingIPResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ShowFloatingIPDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FloatingipId string `protobuf:"bytes,1,opt,name=floatingip_id,json=floatingipId,proto3" json:"floatingip_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowFloatingIPDetailsReq) Reset() { + *x = ShowFloatingIPDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFloatingIPDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFloatingIPDetailsReq) ProtoMessage() {} + +func (x *ShowFloatingIPDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[118] + 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 ShowFloatingIPDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowFloatingIPDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{118} +} + +func (x *ShowFloatingIPDetailsReq) GetFloatingipId() string { + if x != nil { + return x.FloatingipId + } + return "" +} + +func (x *ShowFloatingIPDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowFloatingIPDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Floatingip *ShowFloatingIPDetailsResp_Floatingip `protobuf:"bytes,1,opt,name=floatingip,proto3" json:"floatingip,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ShowFloatingIPDetailsResp) Reset() { + *x = ShowFloatingIPDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFloatingIPDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFloatingIPDetailsResp) ProtoMessage() {} + +func (x *ShowFloatingIPDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[119] + 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 ShowFloatingIPDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowFloatingIPDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{119} +} + +func (x *ShowFloatingIPDetailsResp) GetFloatingip() *ShowFloatingIPDetailsResp_Floatingip { + if x != nil { + return x.Floatingip + } + return nil +} + +func (x *ShowFloatingIPDetailsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowFloatingIPDetailsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowFloatingIPDetailsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +// 防火墙 +type ListFirewallGroupsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fields string `protobuf:"bytes,1,opt,name=fields,proto3" json:"fields,omitempty"` +} + +func (x *ListFirewallGroupsReq) Reset() { + *x = ListFirewallGroupsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallGroupsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallGroupsReq) ProtoMessage() {} + +func (x *ListFirewallGroupsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[120] + 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 ListFirewallGroupsReq.ProtoReflect.Descriptor instead. +func (*ListFirewallGroupsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{120} +} + +func (x *ListFirewallGroupsReq) GetFields() string { + if x != nil { + return x.Fields + } + return "" +} + +type ListFirewallGroupsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroups []*ListFirewallGroupsResp_FirewallGroups `protobuf:"bytes,1,rep,name=firewall_groups,json=firewallGroups,proto3" json:"firewall_groups,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ListFirewallGroupsResp) Reset() { + *x = ListFirewallGroupsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallGroupsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallGroupsResp) ProtoMessage() {} + +func (x *ListFirewallGroupsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[121] + 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 ListFirewallGroupsResp.ProtoReflect.Descriptor instead. +func (*ListFirewallGroupsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{121} +} + +func (x *ListFirewallGroupsResp) GetFirewallGroups() []*ListFirewallGroupsResp_FirewallGroups { + if x != nil { + return x.FirewallGroups + } + return nil +} + +func (x *ListFirewallGroupsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListFirewallGroupsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListFirewallGroupsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteFirewallGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroupId string `protobuf:"bytes,1,opt,name=firewall_group_id,json=firewallGroupId,proto3" json:"firewall_group_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteFirewallGroupReq) Reset() { + *x = DeleteFirewallGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFirewallGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallGroupReq) ProtoMessage() {} + +func (x *DeleteFirewallGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[122] + 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 DeleteFirewallGroupReq.ProtoReflect.Descriptor instead. +func (*DeleteFirewallGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{122} +} + +func (x *DeleteFirewallGroupReq) GetFirewallGroupId() string { + if x != nil { + return x.FirewallGroupId + } + return "" +} + +func (x *DeleteFirewallGroupReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteFirewallGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteFirewallGroupResp) Reset() { + *x = DeleteFirewallGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFirewallGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallGroupResp) ProtoMessage() {} + +func (x *DeleteFirewallGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[123] + 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 DeleteFirewallGroupResp.ProtoReflect.Descriptor instead. +func (*DeleteFirewallGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{123} +} + +func (x *DeleteFirewallGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteFirewallGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteFirewallGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type CreateFirewallGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroup *CreateFirewallGroupReq_FirewallGroup `protobuf:"bytes,1,opt,name=firewall_group,json=firewallGroup,proto3" json:"firewall_group,omitempty"` +} + +func (x *CreateFirewallGroupReq) Reset() { + *x = CreateFirewallGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallGroupReq) ProtoMessage() {} + +func (x *CreateFirewallGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[124] + 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 CreateFirewallGroupReq.ProtoReflect.Descriptor instead. +func (*CreateFirewallGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{124} +} + +func (x *CreateFirewallGroupReq) GetFirewallGroup() *CreateFirewallGroupReq_FirewallGroup { + if x != nil { + return x.FirewallGroup + } + return nil +} + +type CreateFirewallGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroup *CreateFirewallGroupResp_FirewallGroup `protobuf:"bytes,1,opt,name=firewall_group,json=firewallGroup,proto3" json:"firewall_group,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *CreateFirewallGroupResp) Reset() { + *x = CreateFirewallGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallGroupResp) ProtoMessage() {} + +func (x *CreateFirewallGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[125] + 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 CreateFirewallGroupResp.ProtoReflect.Descriptor instead. +func (*CreateFirewallGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{125} +} + +func (x *CreateFirewallGroupResp) GetFirewallGroup() *CreateFirewallGroupResp_FirewallGroup { + if x != nil { + return x.FirewallGroup + } + return nil +} + +func (x *CreateFirewallGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateFirewallGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateFirewallGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdateFirewallGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroup *UpdateFirewallGroupReq_FirewallGroup `protobuf:"bytes,1,opt,name=firewall_group,json=firewallGroup,proto3" json:"firewall_group,omitempty"` +} + +func (x *UpdateFirewallGroupReq) Reset() { + *x = UpdateFirewallGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFirewallGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFirewallGroupReq) ProtoMessage() {} + +func (x *UpdateFirewallGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[126] + 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 UpdateFirewallGroupReq.ProtoReflect.Descriptor instead. +func (*UpdateFirewallGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{126} +} + +func (x *UpdateFirewallGroupReq) GetFirewallGroup() *UpdateFirewallGroupReq_FirewallGroup { + if x != nil { + return x.FirewallGroup + } + return nil +} + +type UpdateFirewallGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroup *UpdateFirewallGroupResp_FirewallGroup `protobuf:"bytes,1,opt,name=firewall_group,json=firewallGroup,proto3" json:"firewall_group,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *UpdateFirewallGroupResp) Reset() { + *x = UpdateFirewallGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFirewallGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFirewallGroupResp) ProtoMessage() {} + +func (x *UpdateFirewallGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[127] + 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 UpdateFirewallGroupResp.ProtoReflect.Descriptor instead. +func (*UpdateFirewallGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{127} +} + +func (x *UpdateFirewallGroupResp) GetFirewallGroup() *UpdateFirewallGroupResp_FirewallGroup { + if x != nil { + return x.FirewallGroup + } + return nil +} + +func (x *UpdateFirewallGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UpdateFirewallGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UpdateFirewallGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ShowFirewallGroupDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroupId string `protobuf:"bytes,1,opt,name=firewall_group_id,json=firewallGroupId,proto3" json:"firewall_group_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowFirewallGroupDetailsReq) Reset() { + *x = ShowFirewallGroupDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallGroupDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallGroupDetailsReq) ProtoMessage() {} + +func (x *ShowFirewallGroupDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[128] + 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 ShowFirewallGroupDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowFirewallGroupDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{128} +} + +func (x *ShowFirewallGroupDetailsReq) GetFirewallGroupId() string { + if x != nil { + return x.FirewallGroupId + } + return "" +} + +func (x *ShowFirewallGroupDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowFirewallGroupDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallGroup *ShowFirewallGroupDetailsResp_FirewallGroup `protobuf:"bytes,1,opt,name=firewall_group,json=firewallGroup,proto3" json:"firewall_group,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowFirewallGroupDetailsResp) Reset() { + *x = ShowFirewallGroupDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallGroupDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallGroupDetailsResp) ProtoMessage() {} + +func (x *ShowFirewallGroupDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[129] + 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 ShowFirewallGroupDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowFirewallGroupDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{129} +} + +func (x *ShowFirewallGroupDetailsResp) GetFirewallGroup() *ShowFirewallGroupDetailsResp_FirewallGroup { + if x != nil { + return x.FirewallGroup + } + return nil +} + +func (x *ShowFirewallGroupDetailsResp) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +// 安全组策略 +type CreateFirewallPolicyReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallPolicy *CreateFirewallPolicyReq_FirewallPolicy `protobuf:"bytes,1,opt,name=firewall_policy,json=firewallPolicy,proto3" json:"firewall_policy,omitempty"` +} + +func (x *CreateFirewallPolicyReq) Reset() { + *x = CreateFirewallPolicyReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallPolicyReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallPolicyReq) ProtoMessage() {} + +func (x *CreateFirewallPolicyReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[130] + 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 CreateFirewallPolicyReq.ProtoReflect.Descriptor instead. +func (*CreateFirewallPolicyReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{130} +} + +func (x *CreateFirewallPolicyReq) GetFirewallPolicy() *CreateFirewallPolicyReq_FirewallPolicy { + if x != nil { + return x.FirewallPolicy + } + return nil +} + +type CreateFirewallPolicyResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallPolicy *CreateFirewallPolicyResp_FirewallPolicy `protobuf:"bytes,1,opt,name=firewall_policy,json=firewallPolicy,proto3" json:"firewall_policy,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,4,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *CreateFirewallPolicyResp) Reset() { + *x = CreateFirewallPolicyResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallPolicyResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallPolicyResp) ProtoMessage() {} + +func (x *CreateFirewallPolicyResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[131] + 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 CreateFirewallPolicyResp.ProtoReflect.Descriptor instead. +func (*CreateFirewallPolicyResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{131} +} + +func (x *CreateFirewallPolicyResp) GetFirewallPolicy() *CreateFirewallPolicyResp_FirewallPolicy { + if x != nil { + return x.FirewallPolicy + } + return nil +} + +func (x *CreateFirewallPolicyResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateFirewallPolicyResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateFirewallPolicyResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteFirewallPolicyReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallPolicyId string `protobuf:"bytes,1,opt,name=firewall_policy_id,json=firewallPolicyId,proto3" json:"firewall_policy_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteFirewallPolicyReq) Reset() { + *x = DeleteFirewallPolicyReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFirewallPolicyReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallPolicyReq) ProtoMessage() {} + +func (x *DeleteFirewallPolicyReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[132] + 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 DeleteFirewallPolicyReq.ProtoReflect.Descriptor instead. +func (*DeleteFirewallPolicyReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{132} +} + +func (x *DeleteFirewallPolicyReq) GetFirewallPolicyId() string { + if x != nil { + return x.FirewallPolicyId + } + return "" +} + +func (x *DeleteFirewallPolicyReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteFirewallPolicyResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteFirewallPolicyResp) Reset() { + *x = DeleteFirewallPolicyResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFirewallPolicyResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallPolicyResp) ProtoMessage() {} + +func (x *DeleteFirewallPolicyResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[133] + 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 DeleteFirewallPolicyResp.ProtoReflect.Descriptor instead. +func (*DeleteFirewallPolicyResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{133} +} + +func (x *DeleteFirewallPolicyResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteFirewallPolicyResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteFirewallPolicyResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ListFirewallPoliciesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fields string `protobuf:"bytes,1,opt,name=fields,proto3" json:"fields,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListFirewallPoliciesReq) Reset() { + *x = ListFirewallPoliciesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallPoliciesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallPoliciesReq) ProtoMessage() {} + +func (x *ListFirewallPoliciesReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[134] + 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 ListFirewallPoliciesReq.ProtoReflect.Descriptor instead. +func (*ListFirewallPoliciesReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{134} +} + +func (x *ListFirewallPoliciesReq) GetFields() string { + if x != nil { + return x.Fields + } + return "" +} + +func (x *ListFirewallPoliciesReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListFirewallPoliciesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + FirewallPolicies []*ListFirewallPoliciesResp_FirewallPolicies `protobuf:"bytes,4,rep,name=firewall_policies,json=firewallPolicies,proto3" json:"firewall_policies,omitempty"` +} + +func (x *ListFirewallPoliciesResp) Reset() { + *x = ListFirewallPoliciesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallPoliciesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallPoliciesResp) ProtoMessage() {} + +func (x *ListFirewallPoliciesResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[135] + 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 ListFirewallPoliciesResp.ProtoReflect.Descriptor instead. +func (*ListFirewallPoliciesResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{135} +} + +func (x *ListFirewallPoliciesResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListFirewallPoliciesResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListFirewallPoliciesResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ListFirewallPoliciesResp) GetFirewallPolicies() []*ListFirewallPoliciesResp_FirewallPolicies { + if x != nil { + return x.FirewallPolicies + } + return nil +} + +type ShowFirewallPolicyDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallPolicyId string `protobuf:"bytes,1,opt,name=firewall_policy_id,json=firewallPolicyId,proto3" json:"firewall_policy_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowFirewallPolicyDetailsReq) Reset() { + *x = ShowFirewallPolicyDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallPolicyDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallPolicyDetailsReq) ProtoMessage() {} + +func (x *ShowFirewallPolicyDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[136] + 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 ShowFirewallPolicyDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowFirewallPolicyDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{136} +} + +func (x *ShowFirewallPolicyDetailsReq) GetFirewallPolicyId() string { + if x != nil { + return x.FirewallPolicyId + } + return "" +} + +func (x *ShowFirewallPolicyDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowFirewallPolicyDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + FirewallPolicy *ShowFirewallPolicyDetailsResp_FirewallPolicy `protobuf:"bytes,4,opt,name=firewall_policy,json=firewallPolicy,proto3" json:"firewall_policy,omitempty"` +} + +func (x *ShowFirewallPolicyDetailsResp) Reset() { + *x = ShowFirewallPolicyDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallPolicyDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallPolicyDetailsResp) ProtoMessage() {} + +func (x *ShowFirewallPolicyDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[137] + 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 ShowFirewallPolicyDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowFirewallPolicyDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{137} +} + +func (x *ShowFirewallPolicyDetailsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowFirewallPolicyDetailsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowFirewallPolicyDetailsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ShowFirewallPolicyDetailsResp) GetFirewallPolicy() *ShowFirewallPolicyDetailsResp_FirewallPolicy { + if x != nil { + return x.FirewallPolicy + } + return nil +} + +// 安全组 +type CreateFirewallRuleReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` + FirewallRule *CreateFirewallRuleReq_FirewallRule `protobuf:"bytes,1,opt,name=firewall_rule,json=firewallRule,proto3" json:"firewall_rule,omitempty"` +} + +func (x *CreateFirewallRuleReq) Reset() { + *x = CreateFirewallRuleReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallRuleReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallRuleReq) ProtoMessage() {} + +func (x *CreateFirewallRuleReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[138] + 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 CreateFirewallRuleReq.ProtoReflect.Descriptor instead. +func (*CreateFirewallRuleReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{138} +} + +func (x *CreateFirewallRuleReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreateFirewallRuleReq) GetFirewallRule() *CreateFirewallRuleReq_FirewallRule { + if x != nil { + return x.FirewallRule + } + return nil +} + +type CreateFirewallRuleResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + FirewallRule *CreateFirewallRuleResp_FirewallRule `protobuf:"bytes,4,opt,name=firewall_rule,json=firewallRule,proto3" json:"firewall_rule,omitempty"` +} + +func (x *CreateFirewallRuleResp) Reset() { + *x = CreateFirewallRuleResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallRuleResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallRuleResp) ProtoMessage() {} + +func (x *CreateFirewallRuleResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[139] + 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 CreateFirewallRuleResp.ProtoReflect.Descriptor instead. +func (*CreateFirewallRuleResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{139} +} + +func (x *CreateFirewallRuleResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateFirewallRuleResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateFirewallRuleResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *CreateFirewallRuleResp) GetFirewallRule() *CreateFirewallRuleResp_FirewallRule { + if x != nil { + return x.FirewallRule + } + return nil +} + +type DeleteFirewallRuleReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallRuleId string `protobuf:"bytes,1,opt,name=firewall_rule_id,json=firewallRuleId,proto3" json:"firewall_rule_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteFirewallRuleReq) Reset() { + *x = DeleteFirewallRuleReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFirewallRuleReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallRuleReq) ProtoMessage() {} + +func (x *DeleteFirewallRuleReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[140] + 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 DeleteFirewallRuleReq.ProtoReflect.Descriptor instead. +func (*DeleteFirewallRuleReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{140} +} + +func (x *DeleteFirewallRuleReq) GetFirewallRuleId() string { + if x != nil { + return x.FirewallRuleId + } + return "" +} + +func (x *DeleteFirewallRuleReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteFirewallRuleResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteFirewallRuleResp) Reset() { + *x = DeleteFirewallRuleResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFirewallRuleResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallRuleResp) ProtoMessage() {} + +func (x *DeleteFirewallRuleResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[141] + 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 DeleteFirewallRuleResp.ProtoReflect.Descriptor instead. +func (*DeleteFirewallRuleResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{141} +} + +func (x *DeleteFirewallRuleResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteFirewallRuleResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteFirewallRuleResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type ListFirewallRulesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fields string `protobuf:"bytes,1,opt,name=fields,proto3" json:"fields,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListFirewallRulesReq) Reset() { + *x = ListFirewallRulesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallRulesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallRulesReq) ProtoMessage() {} + +func (x *ListFirewallRulesReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[142] + 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 ListFirewallRulesReq.ProtoReflect.Descriptor instead. +func (*ListFirewallRulesReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{142} +} + +func (x *ListFirewallRulesReq) GetFields() string { + if x != nil { + return x.Fields + } + return "" +} + +func (x *ListFirewallRulesReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListFirewallRulesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallRules []*ListFirewallRulesResp_FirewallRules `protobuf:"bytes,1,rep,name=firewall_rules,json=firewallRules,proto3" json:"firewall_rules,omitempty"` +} + +func (x *ListFirewallRulesResp) Reset() { + *x = ListFirewallRulesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallRulesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallRulesResp) ProtoMessage() {} + +func (x *ListFirewallRulesResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[143] + 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 ListFirewallRulesResp.ProtoReflect.Descriptor instead. +func (*ListFirewallRulesResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{143} +} + +func (x *ListFirewallRulesResp) GetFirewallRules() []*ListFirewallRulesResp_FirewallRules { + if x != nil { + return x.FirewallRules + } + return nil +} + +type ShowFirewallRuleDetailsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirewallRuleId string `protobuf:"bytes,1,opt,name=firewall_rule_id,json=firewallRuleId,proto3" json:"firewall_rule_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowFirewallRuleDetailsReq) Reset() { + *x = ShowFirewallRuleDetailsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallRuleDetailsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallRuleDetailsReq) ProtoMessage() {} + +func (x *ShowFirewallRuleDetailsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[144] + 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 ShowFirewallRuleDetailsReq.ProtoReflect.Descriptor instead. +func (*ShowFirewallRuleDetailsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{144} +} + +func (x *ShowFirewallRuleDetailsReq) GetFirewallRuleId() string { + if x != nil { + return x.FirewallRuleId + } + return "" +} + +func (x *ShowFirewallRuleDetailsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowFirewallRuleDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + FirewallRule *ShowFirewallRuleDetailsResp_FirewallRule `protobuf:"bytes,4,opt,name=firewall_rule,json=firewallRule,proto3" json:"firewall_rule,omitempty"` +} + +func (x *ShowFirewallRuleDetailsResp) Reset() { + *x = ShowFirewallRuleDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallRuleDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallRuleDetailsResp) ProtoMessage() {} + +func (x *ShowFirewallRuleDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[145] + 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 ShowFirewallRuleDetailsResp.ProtoReflect.Descriptor instead. +func (*ShowFirewallRuleDetailsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{145} +} + +func (x *ShowFirewallRuleDetailsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowFirewallRuleDetailsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp) GetFirewallRule() *ShowFirewallRuleDetailsResp_FirewallRule { + if x != nil { + return x.FirewallRule + } + return nil +} + +// 安全组 +type ListSecurityGroupsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fields string `protobuf:"bytes,1,opt,name=fields,proto3" json:"fields,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListSecurityGroupsReq) Reset() { + *x = ListSecurityGroupsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupsReq) ProtoMessage() {} + +func (x *ListSecurityGroupsReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[146] + 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 ListSecurityGroupsReq.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupsReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{146} +} + +func (x *ListSecurityGroupsReq) GetFields() string { + if x != nil { + return x.Fields + } + return "" +} + +func (x *ListSecurityGroupsReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListSecurityGroupsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + SecurityGroups []*ListSecurityGroupsResp_SecurityGroups `protobuf:"bytes,4,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"` +} + +func (x *ListSecurityGroupsResp) Reset() { + *x = ListSecurityGroupsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupsResp) ProtoMessage() {} + +func (x *ListSecurityGroupsResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[147] + 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 ListSecurityGroupsResp.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupsResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{147} +} + +func (x *ListSecurityGroupsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListSecurityGroupsResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListSecurityGroupsResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ListSecurityGroupsResp) GetSecurityGroups() []*ListSecurityGroupsResp_SecurityGroups { + if x != nil { + return x.SecurityGroups + } + return nil +} + +type CreateSecurityGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroup *CreateSecurityGroupReq_SecurityGroup `protobuf:"bytes,1,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` +} + +func (x *CreateSecurityGroupReq) Reset() { + *x = CreateSecurityGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupReq) ProtoMessage() {} + +func (x *CreateSecurityGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[148] + 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 CreateSecurityGroupReq.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{148} +} + +func (x *CreateSecurityGroupReq) GetSecurityGroup() *CreateSecurityGroupReq_SecurityGroup { + if x != nil { + return x.SecurityGroup + } + return nil +} + +type CreateSecurityGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + SecurityGroup *CreateSecurityGroupResp_SecurityGroup `protobuf:"bytes,4,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` +} + +func (x *CreateSecurityGroupResp) Reset() { + *x = CreateSecurityGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupResp) ProtoMessage() {} + +func (x *CreateSecurityGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[149] + 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 CreateSecurityGroupResp.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{149} +} + +func (x *CreateSecurityGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreateSecurityGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateSecurityGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *CreateSecurityGroupResp) GetSecurityGroup() *CreateSecurityGroupResp_SecurityGroup { + if x != nil { + return x.SecurityGroup + } + return nil +} + +type DeleteSecurityGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteSecurityGroupReq) Reset() { + *x = DeleteSecurityGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSecurityGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSecurityGroupReq) ProtoMessage() {} + +func (x *DeleteSecurityGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[150] + 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 DeleteSecurityGroupReq.ProtoReflect.Descriptor instead. +func (*DeleteSecurityGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{150} +} + +func (x *DeleteSecurityGroupReq) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *DeleteSecurityGroupReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteSecurityGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *DeleteSecurityGroupResp) Reset() { + *x = DeleteSecurityGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSecurityGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSecurityGroupResp) ProtoMessage() {} + +func (x *DeleteSecurityGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[151] + 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 DeleteSecurityGroupResp.ProtoReflect.Descriptor instead. +func (*DeleteSecurityGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{151} +} + +func (x *DeleteSecurityGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteSecurityGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteSecurityGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type UpdateSecurityGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *UpdateSecurityGroupReq) Reset() { + *x = UpdateSecurityGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSecurityGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSecurityGroupReq) ProtoMessage() {} + +func (x *UpdateSecurityGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[152] + 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 UpdateSecurityGroupReq.ProtoReflect.Descriptor instead. +func (*UpdateSecurityGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{152} +} + +func (x *UpdateSecurityGroupReq) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *UpdateSecurityGroupReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type UpdateSecurityGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + SecurityGroup *UpdateSecurityGroupResp_SecurityGroup `protobuf:"bytes,4,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` +} + +func (x *UpdateSecurityGroupResp) Reset() { + *x = UpdateSecurityGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSecurityGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSecurityGroupResp) ProtoMessage() {} + +func (x *UpdateSecurityGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[153] + 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 UpdateSecurityGroupResp.ProtoReflect.Descriptor instead. +func (*UpdateSecurityGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{153} +} + +func (x *UpdateSecurityGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *UpdateSecurityGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *UpdateSecurityGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *UpdateSecurityGroupResp) GetSecurityGroup() *UpdateSecurityGroupResp_SecurityGroup { + if x != nil { + return x.SecurityGroup + } + return nil +} + +type ShowSecurityGroupReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + Verbose bool `protobuf:"varint,2,opt,name=verbose,proto3" json:"verbose,omitempty"` + Fields string `protobuf:"bytes,3,opt,name=fields,proto3" json:"fields,omitempty"` +} + +func (x *ShowSecurityGroupReq) Reset() { + *x = ShowSecurityGroupReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowSecurityGroupReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowSecurityGroupReq) ProtoMessage() {} + +func (x *ShowSecurityGroupReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[154] + 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 ShowSecurityGroupReq.ProtoReflect.Descriptor instead. +func (*ShowSecurityGroupReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{154} +} + +func (x *ShowSecurityGroupReq) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *ShowSecurityGroupReq) GetVerbose() bool { + if x != nil { + return x.Verbose + } + return false +} + +func (x *ShowSecurityGroupReq) GetFields() string { + if x != nil { + return x.Fields + } + return "" +} + +type ShowSecurityGroupResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + SecurityGroup *ShowSecurityGroupResp_SecurityGroup `protobuf:"bytes,4,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` +} + +func (x *ShowSecurityGroupResp) Reset() { + *x = ShowSecurityGroupResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowSecurityGroupResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowSecurityGroupResp) ProtoMessage() {} + +func (x *ShowSecurityGroupResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[155] + 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 ShowSecurityGroupResp.ProtoReflect.Descriptor instead. +func (*ShowSecurityGroupResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{155} +} + +func (x *ShowSecurityGroupResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowSecurityGroupResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowSecurityGroupResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ShowSecurityGroupResp) GetSecurityGroup() *ShowSecurityGroupResp_SecurityGroup { + if x != nil { + return x.SecurityGroup + } + return nil +} + +// 安全组规则 +type ListSecurityGroupRulesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ListSecurityGroupRulesReq) Reset() { + *x = ListSecurityGroupRulesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupRulesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupRulesReq) ProtoMessage() {} + +func (x *ListSecurityGroupRulesReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[156] + 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 ListSecurityGroupRulesReq.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupRulesReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{156} +} + +func (x *ListSecurityGroupRulesReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ListSecurityGroupRulesResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + SecurityGroupRules []*ListSecurityGroupRulesResp_SecurityGroupRules `protobuf:"bytes,4,rep,name=security_group_rules,json=securityGroupRules,proto3" json:"security_group_rules,omitempty"` +} + +func (x *ListSecurityGroupRulesResp) Reset() { + *x = ListSecurityGroupRulesResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupRulesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupRulesResp) ProtoMessage() {} + +func (x *ListSecurityGroupRulesResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[157] + 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 ListSecurityGroupRulesResp.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupRulesResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{157} +} + +func (x *ListSecurityGroupRulesResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListSecurityGroupRulesResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListSecurityGroupRulesResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *ListSecurityGroupRulesResp) GetSecurityGroupRules() []*ListSecurityGroupRulesResp_SecurityGroupRules { + if x != nil { + return x.SecurityGroupRules + } + return nil +} + +type CreateSecurityGroupRuleReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupRule *CreateSecurityGroupRuleReq_SecurityGroupRule `protobuf:"bytes,1,opt,name=security_group_rule,json=securityGroupRule,proto3" json:"security_group_rule,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *CreateSecurityGroupRuleReq) Reset() { + *x = CreateSecurityGroupRuleReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupRuleReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupRuleReq) ProtoMessage() {} + +func (x *CreateSecurityGroupRuleReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[158] + 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 CreateSecurityGroupRuleReq.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupRuleReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{158} +} + +func (x *CreateSecurityGroupRuleReq) GetSecurityGroupRule() *CreateSecurityGroupRuleReq_SecurityGroupRule { + if x != nil { + return x.SecurityGroupRule + } + return nil +} + +func (x *CreateSecurityGroupRuleReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type CreateSecurityGroupRuleResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupRule *CreateSecurityGroupRuleResp_SecurityGroupRule `protobuf:"bytes,1,opt,name=security_group_rule,json=securityGroupRule,proto3" json:"security_group_rule,omitempty"` +} + +func (x *CreateSecurityGroupRuleResp) Reset() { + *x = CreateSecurityGroupRuleResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupRuleResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupRuleResp) ProtoMessage() {} + +func (x *CreateSecurityGroupRuleResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[159] + 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 CreateSecurityGroupRuleResp.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupRuleResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{159} +} + +func (x *CreateSecurityGroupRuleResp) GetSecurityGroupRule() *CreateSecurityGroupRuleResp_SecurityGroupRule { + if x != nil { + return x.SecurityGroupRule + } + return nil +} + +type ShowSecurityGroupRuleReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupRuleId string `protobuf:"bytes,1,opt,name=security_group_rule_id,json=securityGroupRuleId,proto3" json:"security_group_rule_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *ShowSecurityGroupRuleReq) Reset() { + *x = ShowSecurityGroupRuleReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowSecurityGroupRuleReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowSecurityGroupRuleReq) ProtoMessage() {} + +func (x *ShowSecurityGroupRuleReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[160] + 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 ShowSecurityGroupRuleReq.ProtoReflect.Descriptor instead. +func (*ShowSecurityGroupRuleReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{160} +} + +func (x *ShowSecurityGroupRuleReq) GetSecurityGroupRuleId() string { + if x != nil { + return x.SecurityGroupRuleId + } + return "" +} + +func (x *ShowSecurityGroupRuleReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type ShowSecurityGroupRuleResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" +} + +func (x *ShowSecurityGroupRuleResp) Reset() { + *x = ShowSecurityGroupRuleResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowSecurityGroupRuleResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowSecurityGroupRuleResp) ProtoMessage() {} + +func (x *ShowSecurityGroupRuleResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[161] + 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 ShowSecurityGroupRuleResp.ProtoReflect.Descriptor instead. +func (*ShowSecurityGroupRuleResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{161} +} + +func (x *ShowSecurityGroupRuleResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ShowSecurityGroupRuleResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ShowSecurityGroupRuleResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +type DeleteSecurityGroupRuleReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupRuleId string `protobuf:"bytes,1,opt,name=security_group_rule_id,json=securityGroupRuleId,proto3" json:"security_group_rule_id,omitempty"` + Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *DeleteSecurityGroupRuleReq) Reset() { + *x = DeleteSecurityGroupRuleReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSecurityGroupRuleReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSecurityGroupRuleReq) ProtoMessage() {} + +func (x *DeleteSecurityGroupRuleReq) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[162] + 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 DeleteSecurityGroupRuleReq.ProtoReflect.Descriptor instead. +func (*DeleteSecurityGroupRuleReq) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{162} +} + +func (x *DeleteSecurityGroupRuleReq) GetSecurityGroupRuleId() string { + if x != nil { + return x.SecurityGroupRuleId + } + return "" +} + +func (x *DeleteSecurityGroupRuleReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type DeleteSecurityGroupRuleResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" + ErrorMsg string `protobuf:"bytes,3,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"` // @gotags: copier:"ErrorMsg" + SecurityGroupRule *DeleteSecurityGroupRuleResp_SecurityGroupRule `protobuf:"bytes,4,opt,name=security_group_rule,json=securityGroupRule,proto3" json:"security_group_rule,omitempty"` +} + +func (x *DeleteSecurityGroupRuleResp) Reset() { + *x = DeleteSecurityGroupRuleResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSecurityGroupRuleResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSecurityGroupRuleResp) ProtoMessage() {} + +func (x *DeleteSecurityGroupRuleResp) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[163] + 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 DeleteSecurityGroupRuleResp.ProtoReflect.Descriptor instead. +func (*DeleteSecurityGroupRuleResp) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{163} +} + +func (x *DeleteSecurityGroupRuleResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *DeleteSecurityGroupRuleResp) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp) GetSecurityGroupRule() *DeleteSecurityGroupRuleResp_SecurityGroupRule { + if x != nil { + return x.SecurityGroupRule + } + return nil +} + // ***************** Bare Metal ListNodes Start************************ type ListNodesReq struct { state protoimpl.MessageState @@ -4090,7 +10901,7 @@ type ListNodesReq struct { func (x *ListNodesReq) Reset() { *x = ListNodesReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[52] + mi := &file_pcm_openstack_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4103,7 +10914,7 @@ func (x *ListNodesReq) String() string { func (*ListNodesReq) ProtoMessage() {} func (x *ListNodesReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[52] + mi := &file_pcm_openstack_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4116,7 +10927,7 @@ func (x *ListNodesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodesReq.ProtoReflect.Descriptor instead. func (*ListNodesReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{52} + return file_pcm_openstack_proto_rawDescGZIP(), []int{164} } func (x *ListNodesReq) GetInstanceUuid() string { @@ -4280,7 +11091,7 @@ type ListNodesResp struct { func (x *ListNodesResp) Reset() { *x = ListNodesResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[53] + mi := &file_pcm_openstack_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4293,7 +11104,7 @@ func (x *ListNodesResp) String() string { func (*ListNodesResp) ProtoMessage() {} func (x *ListNodesResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[53] + mi := &file_pcm_openstack_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4306,7 +11117,7 @@ func (x *ListNodesResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodesResp.ProtoReflect.Descriptor instead. func (*ListNodesResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{53} + return file_pcm_openstack_proto_rawDescGZIP(), []int{165} } func (x *ListNodesResp) GetNodes() []*ListNodesResp_Nodes { @@ -4383,7 +11194,7 @@ type CreateNodeReq struct { func (x *CreateNodeReq) Reset() { *x = CreateNodeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[54] + mi := &file_pcm_openstack_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4396,7 +11207,7 @@ func (x *CreateNodeReq) String() string { func (*CreateNodeReq) ProtoMessage() {} func (x *CreateNodeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[54] + mi := &file_pcm_openstack_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4409,7 +11220,7 @@ func (x *CreateNodeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeReq.ProtoReflect.Descriptor instead. func (*CreateNodeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{54} + return file_pcm_openstack_proto_rawDescGZIP(), []int{166} } func (x *CreateNodeReq) GetName() string { @@ -4731,7 +11542,7 @@ type CreateNodeResp struct { func (x *CreateNodeResp) Reset() { *x = CreateNodeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[55] + mi := &file_pcm_openstack_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4744,7 +11555,7 @@ func (x *CreateNodeResp) String() string { func (*CreateNodeResp) ProtoMessage() {} func (x *CreateNodeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[55] + mi := &file_pcm_openstack_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4757,7 +11568,7 @@ func (x *CreateNodeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp.ProtoReflect.Descriptor instead. func (*CreateNodeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167} } func (x *CreateNodeResp) GetAllocationUuid() string { @@ -5221,7 +12032,7 @@ type DeleteNodeReq struct { func (x *DeleteNodeReq) Reset() { *x = DeleteNodeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[56] + mi := &file_pcm_openstack_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5234,7 +12045,7 @@ func (x *DeleteNodeReq) String() string { func (*DeleteNodeReq) ProtoMessage() {} func (x *DeleteNodeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[56] + mi := &file_pcm_openstack_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5247,7 +12058,7 @@ func (x *DeleteNodeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNodeReq.ProtoReflect.Descriptor instead. func (*DeleteNodeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{56} + return file_pcm_openstack_proto_rawDescGZIP(), []int{168} } func (x *DeleteNodeReq) GetNodeIdent() string { @@ -5277,7 +12088,7 @@ type DeleteNodeResp struct { func (x *DeleteNodeResp) Reset() { *x = DeleteNodeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[57] + mi := &file_pcm_openstack_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5290,7 +12101,7 @@ func (x *DeleteNodeResp) String() string { func (*DeleteNodeResp) ProtoMessage() {} func (x *DeleteNodeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[57] + mi := &file_pcm_openstack_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5303,7 +12114,7 @@ func (x *DeleteNodeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNodeResp.ProtoReflect.Descriptor instead. func (*DeleteNodeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{57} + return file_pcm_openstack_proto_rawDescGZIP(), []int{169} } func (x *DeleteNodeResp) GetCode() int32 { @@ -5341,7 +12152,7 @@ type ShowNodeDetailsReq struct { func (x *ShowNodeDetailsReq) Reset() { *x = ShowNodeDetailsReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[58] + mi := &file_pcm_openstack_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5354,7 +12165,7 @@ func (x *ShowNodeDetailsReq) String() string { func (*ShowNodeDetailsReq) ProtoMessage() {} func (x *ShowNodeDetailsReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[58] + mi := &file_pcm_openstack_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5367,7 +12178,7 @@ func (x *ShowNodeDetailsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsReq.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{58} + return file_pcm_openstack_proto_rawDescGZIP(), []int{170} } func (x *ShowNodeDetailsReq) GetNodeIdent() string { @@ -5464,7 +12275,7 @@ type ShowNodeDetailsResp struct { func (x *ShowNodeDetailsResp) Reset() { *x = ShowNodeDetailsResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[59] + mi := &file_pcm_openstack_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5477,7 +12288,7 @@ func (x *ShowNodeDetailsResp) String() string { func (*ShowNodeDetailsResp) ProtoMessage() {} func (x *ShowNodeDetailsResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[59] + mi := &file_pcm_openstack_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5490,7 +12301,7 @@ func (x *ShowNodeDetailsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171} } func (x *ShowNodeDetailsResp) GetUuid() string { @@ -5955,7 +12766,7 @@ type CreateImageReq struct { func (x *CreateImageReq) Reset() { *x = CreateImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[60] + mi := &file_pcm_openstack_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5968,7 +12779,7 @@ func (x *CreateImageReq) String() string { func (*CreateImageReq) ProtoMessage() {} func (x *CreateImageReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[60] + mi := &file_pcm_openstack_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5981,7 +12792,7 @@ func (x *CreateImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageReq.ProtoReflect.Descriptor instead. func (*CreateImageReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{60} + return file_pcm_openstack_proto_rawDescGZIP(), []int{172} } func (x *CreateImageReq) GetContainerFormat() string { @@ -6063,7 +12874,7 @@ type Tags struct { func (x *Tags) Reset() { *x = Tags{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[61] + mi := &file_pcm_openstack_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6076,7 +12887,7 @@ func (x *Tags) String() string { func (*Tags) ProtoMessage() {} func (x *Tags) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[61] + mi := &file_pcm_openstack_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6089,7 +12900,7 @@ func (x *Tags) ProtoReflect() protoreflect.Message { // Deprecated: Use Tags.ProtoReflect.Descriptor instead. func (*Tags) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{61} + return file_pcm_openstack_proto_rawDescGZIP(), []int{173} } type CreateImageResp struct { @@ -6132,7 +12943,7 @@ type CreateImageResp struct { func (x *CreateImageResp) Reset() { *x = CreateImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[62] + mi := &file_pcm_openstack_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6145,7 +12956,7 @@ func (x *CreateImageResp) String() string { func (*CreateImageResp) ProtoMessage() {} func (x *CreateImageResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[62] + mi := &file_pcm_openstack_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6158,7 +12969,7 @@ func (x *CreateImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageResp.ProtoReflect.Descriptor instead. func (*CreateImageResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{62} + return file_pcm_openstack_proto_rawDescGZIP(), []int{174} } func (x *CreateImageResp) GetLocation() string { @@ -6383,7 +13194,7 @@ type ListImagesReq struct { func (x *ListImagesReq) Reset() { *x = ListImagesReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[63] + mi := &file_pcm_openstack_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6396,7 +13207,7 @@ func (x *ListImagesReq) String() string { func (*ListImagesReq) ProtoMessage() {} func (x *ListImagesReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[63] + mi := &file_pcm_openstack_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6409,7 +13220,7 @@ func (x *ListImagesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListImagesReq.ProtoReflect.Descriptor instead. func (*ListImagesReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{63} + return file_pcm_openstack_proto_rawDescGZIP(), []int{175} } func (x *ListImagesReq) GetLimit() int32 { @@ -6443,7 +13254,7 @@ type ListImagesResp struct { func (x *ListImagesResp) Reset() { *x = ListImagesResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[64] + mi := &file_pcm_openstack_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6456,7 +13267,7 @@ func (x *ListImagesResp) String() string { func (*ListImagesResp) ProtoMessage() {} func (x *ListImagesResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[64] + mi := &file_pcm_openstack_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6469,7 +13280,7 @@ func (x *ListImagesResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListImagesResp.ProtoReflect.Descriptor instead. func (*ListImagesResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{64} + return file_pcm_openstack_proto_rawDescGZIP(), []int{176} } func (x *ListImagesResp) GetFirst() string { @@ -6533,7 +13344,7 @@ type DeleteImageReq struct { func (x *DeleteImageReq) Reset() { *x = DeleteImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[65] + mi := &file_pcm_openstack_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6546,7 +13357,7 @@ func (x *DeleteImageReq) String() string { func (*DeleteImageReq) ProtoMessage() {} func (x *DeleteImageReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[65] + mi := &file_pcm_openstack_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6559,7 +13370,7 @@ func (x *DeleteImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageReq.ProtoReflect.Descriptor instead. func (*DeleteImageReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{65} + return file_pcm_openstack_proto_rawDescGZIP(), []int{177} } func (x *DeleteImageReq) GetImageId() string { @@ -6589,7 +13400,7 @@ type DeleteImageResp struct { func (x *DeleteImageResp) Reset() { *x = DeleteImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[66] + mi := &file_pcm_openstack_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6602,7 +13413,7 @@ func (x *DeleteImageResp) String() string { func (*DeleteImageResp) ProtoMessage() {} func (x *DeleteImageResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[66] + mi := &file_pcm_openstack_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6615,7 +13426,7 @@ func (x *DeleteImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageResp.ProtoReflect.Descriptor instead. func (*DeleteImageResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{66} + return file_pcm_openstack_proto_rawDescGZIP(), []int{178} } func (x *DeleteImageResp) GetCode() int32 { @@ -6651,7 +13462,7 @@ type UploadOsImageReq struct { func (x *UploadOsImageReq) Reset() { *x = UploadOsImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[67] + mi := &file_pcm_openstack_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6664,7 +13475,7 @@ func (x *UploadOsImageReq) String() string { func (*UploadOsImageReq) ProtoMessage() {} func (x *UploadOsImageReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[67] + mi := &file_pcm_openstack_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6677,7 +13488,7 @@ func (x *UploadOsImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadOsImageReq.ProtoReflect.Descriptor instead. func (*UploadOsImageReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{67} + return file_pcm_openstack_proto_rawDescGZIP(), []int{179} } func (x *UploadOsImageReq) GetImageId() string { @@ -6707,7 +13518,7 @@ type UploadOsImageResp struct { func (x *UploadOsImageResp) Reset() { *x = UploadOsImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[68] + mi := &file_pcm_openstack_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6720,7 +13531,7 @@ func (x *UploadOsImageResp) String() string { func (*UploadOsImageResp) ProtoMessage() {} func (x *UploadOsImageResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[68] + mi := &file_pcm_openstack_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6733,7 +13544,7 @@ func (x *UploadOsImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadOsImageResp.ProtoReflect.Descriptor instead. func (*UploadOsImageResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{68} + return file_pcm_openstack_proto_rawDescGZIP(), []int{180} } func (x *UploadOsImageResp) GetCode() int32 { @@ -6779,7 +13590,7 @@ type ListVolumesReq struct { func (x *ListVolumesReq) Reset() { *x = ListVolumesReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[69] + mi := &file_pcm_openstack_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6792,7 +13603,7 @@ func (x *ListVolumesReq) String() string { func (*ListVolumesReq) ProtoMessage() {} func (x *ListVolumesReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[69] + mi := &file_pcm_openstack_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6805,7 +13616,7 @@ func (x *ListVolumesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesReq.ProtoReflect.Descriptor instead. func (*ListVolumesReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{69} + return file_pcm_openstack_proto_rawDescGZIP(), []int{181} } func (x *ListVolumesReq) GetProjectId() string { @@ -6899,7 +13710,7 @@ type ListVolumesResp struct { func (x *ListVolumesResp) Reset() { *x = ListVolumesResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[70] + mi := &file_pcm_openstack_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6912,7 +13723,7 @@ func (x *ListVolumesResp) String() string { func (*ListVolumesResp) ProtoMessage() {} func (x *ListVolumesResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[70] + mi := &file_pcm_openstack_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6925,7 +13736,7 @@ func (x *ListVolumesResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesResp.ProtoReflect.Descriptor instead. func (*ListVolumesResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{70} + return file_pcm_openstack_proto_rawDescGZIP(), []int{182} } func (x *ListVolumesResp) GetVolumes() []*ListVolumesResp_Volumes { @@ -6976,7 +13787,7 @@ type ListVolumesDetailReq struct { func (x *ListVolumesDetailReq) Reset() { *x = ListVolumesDetailReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[71] + mi := &file_pcm_openstack_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6989,7 +13800,7 @@ func (x *ListVolumesDetailReq) String() string { func (*ListVolumesDetailReq) ProtoMessage() {} func (x *ListVolumesDetailReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[71] + mi := &file_pcm_openstack_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7002,7 +13813,7 @@ func (x *ListVolumesDetailReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesDetailReq.ProtoReflect.Descriptor instead. func (*ListVolumesDetailReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{71} + return file_pcm_openstack_proto_rawDescGZIP(), []int{183} } func (x *ListVolumesDetailReq) GetAllTenants() string { @@ -7089,7 +13900,7 @@ type ListVolumesDetailResp struct { func (x *ListVolumesDetailResp) Reset() { *x = ListVolumesDetailResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[72] + mi := &file_pcm_openstack_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7102,7 +13913,7 @@ func (x *ListVolumesDetailResp) String() string { func (*ListVolumesDetailResp) ProtoMessage() {} func (x *ListVolumesDetailResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[72] + mi := &file_pcm_openstack_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7115,7 +13926,7 @@ func (x *ListVolumesDetailResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesDetailResp.ProtoReflect.Descriptor instead. func (*ListVolumesDetailResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{72} + return file_pcm_openstack_proto_rawDescGZIP(), []int{184} } func (x *ListVolumesDetailResp) GetVolumes() []*ListVolumesDetailResp_VolumeDetail { @@ -7159,7 +13970,7 @@ type CreateVolumeReq struct { func (x *CreateVolumeReq) Reset() { *x = CreateVolumeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[73] + mi := &file_pcm_openstack_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7172,7 +13983,7 @@ func (x *CreateVolumeReq) String() string { func (*CreateVolumeReq) ProtoMessage() {} func (x *CreateVolumeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[73] + mi := &file_pcm_openstack_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7185,7 +13996,7 @@ func (x *CreateVolumeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeReq.ProtoReflect.Descriptor instead. func (*CreateVolumeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{73} + return file_pcm_openstack_proto_rawDescGZIP(), []int{185} } func (x *CreateVolumeReq) GetProjectId() string { @@ -7223,7 +14034,7 @@ type CreateVolumeResp struct { func (x *CreateVolumeResp) Reset() { *x = CreateVolumeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[74] + mi := &file_pcm_openstack_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7236,7 +14047,7 @@ func (x *CreateVolumeResp) String() string { func (*CreateVolumeResp) ProtoMessage() {} func (x *CreateVolumeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[74] + mi := &file_pcm_openstack_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7249,7 +14060,7 @@ func (x *CreateVolumeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeResp.ProtoReflect.Descriptor instead. func (*CreateVolumeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{74} + return file_pcm_openstack_proto_rawDescGZIP(), []int{186} } func (x *CreateVolumeResp) GetVolume() *CreateVolumeResp_Volume { @@ -7295,7 +14106,7 @@ type DeleteVolumeReq struct { func (x *DeleteVolumeReq) Reset() { *x = DeleteVolumeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[75] + mi := &file_pcm_openstack_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7308,7 +14119,7 @@ func (x *DeleteVolumeReq) String() string { func (*DeleteVolumeReq) ProtoMessage() {} func (x *DeleteVolumeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[75] + mi := &file_pcm_openstack_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7321,7 +14132,7 @@ func (x *DeleteVolumeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVolumeReq.ProtoReflect.Descriptor instead. func (*DeleteVolumeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{75} + return file_pcm_openstack_proto_rawDescGZIP(), []int{187} } func (x *DeleteVolumeReq) GetVolumeId() string { @@ -7365,7 +14176,7 @@ type DeleteVolumeResp struct { func (x *DeleteVolumeResp) Reset() { *x = DeleteVolumeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[76] + mi := &file_pcm_openstack_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7378,7 +14189,7 @@ func (x *DeleteVolumeResp) String() string { func (*DeleteVolumeResp) ProtoMessage() {} func (x *DeleteVolumeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[76] + mi := &file_pcm_openstack_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7391,7 +14202,7 @@ func (x *DeleteVolumeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVolumeResp.ProtoReflect.Descriptor instead. func (*DeleteVolumeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{76} + return file_pcm_openstack_proto_rawDescGZIP(), []int{188} } func (x *DeleteVolumeResp) GetCode() int32 { @@ -7428,7 +14239,7 @@ type UpdateVolumeReq struct { func (x *UpdateVolumeReq) Reset() { *x = UpdateVolumeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[77] + mi := &file_pcm_openstack_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7441,7 +14252,7 @@ func (x *UpdateVolumeReq) String() string { func (*UpdateVolumeReq) ProtoMessage() {} func (x *UpdateVolumeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[77] + mi := &file_pcm_openstack_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7454,7 +14265,7 @@ func (x *UpdateVolumeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeReq.ProtoReflect.Descriptor instead. func (*UpdateVolumeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{77} + return file_pcm_openstack_proto_rawDescGZIP(), []int{189} } func (x *UpdateVolumeReq) GetVolumeId() string { @@ -7492,7 +14303,7 @@ type UpdateVolumeResp struct { func (x *UpdateVolumeResp) Reset() { *x = UpdateVolumeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[78] + mi := &file_pcm_openstack_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7505,7 +14316,7 @@ func (x *UpdateVolumeResp) String() string { func (*UpdateVolumeResp) ProtoMessage() {} func (x *UpdateVolumeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[78] + mi := &file_pcm_openstack_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7518,7 +14329,7 @@ func (x *UpdateVolumeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeResp.ProtoReflect.Descriptor instead. func (*UpdateVolumeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{78} + return file_pcm_openstack_proto_rawDescGZIP(), []int{190} } func (x *UpdateVolumeResp) GetVolume() *UpdateVolumeResp_Volume { @@ -7561,7 +14372,7 @@ type GetVolumeDetailedByIdReq struct { func (x *GetVolumeDetailedByIdReq) Reset() { *x = GetVolumeDetailedByIdReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[79] + mi := &file_pcm_openstack_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7574,7 +14385,7 @@ func (x *GetVolumeDetailedByIdReq) String() string { func (*GetVolumeDetailedByIdReq) ProtoMessage() {} func (x *GetVolumeDetailedByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[79] + mi := &file_pcm_openstack_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7587,7 +14398,7 @@ func (x *GetVolumeDetailedByIdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVolumeDetailedByIdReq.ProtoReflect.Descriptor instead. func (*GetVolumeDetailedByIdReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{79} + return file_pcm_openstack_proto_rawDescGZIP(), []int{191} } func (x *GetVolumeDetailedByIdReq) GetVolumeId() string { @@ -7619,7 +14430,7 @@ type GetVolumeDetailedByIdResp struct { func (x *GetVolumeDetailedByIdResp) Reset() { *x = GetVolumeDetailedByIdResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[80] + mi := &file_pcm_openstack_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7632,7 +14443,7 @@ func (x *GetVolumeDetailedByIdResp) String() string { func (*GetVolumeDetailedByIdResp) ProtoMessage() {} func (x *GetVolumeDetailedByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[80] + mi := &file_pcm_openstack_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7645,7 +14456,7 @@ func (x *GetVolumeDetailedByIdResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVolumeDetailedByIdResp.ProtoReflect.Descriptor instead. func (*GetVolumeDetailedByIdResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{80} + return file_pcm_openstack_proto_rawDescGZIP(), []int{192} } func (x *GetVolumeDetailedByIdResp) GetVolume() *GetVolumeDetailedByIdResp_Volume { @@ -7700,7 +14511,7 @@ type ListVolumeTypesReq struct { func (x *ListVolumeTypesReq) Reset() { *x = ListVolumeTypesReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[81] + mi := &file_pcm_openstack_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7713,7 +14524,7 @@ func (x *ListVolumeTypesReq) String() string { func (*ListVolumeTypesReq) ProtoMessage() {} func (x *ListVolumeTypesReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[81] + mi := &file_pcm_openstack_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7726,7 +14537,7 @@ func (x *ListVolumeTypesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumeTypesReq.ProtoReflect.Descriptor instead. func (*ListVolumeTypesReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{81} + return file_pcm_openstack_proto_rawDescGZIP(), []int{193} } func (x *ListVolumeTypesReq) GetProjectId() string { @@ -7792,7 +14603,7 @@ type ListVolumeTypesResp struct { func (x *ListVolumeTypesResp) Reset() { *x = ListVolumeTypesResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[82] + mi := &file_pcm_openstack_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7805,7 +14616,7 @@ func (x *ListVolumeTypesResp) String() string { func (*ListVolumeTypesResp) ProtoMessage() {} func (x *ListVolumeTypesResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[82] + mi := &file_pcm_openstack_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7818,7 +14629,7 @@ func (x *ListVolumeTypesResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumeTypesResp.ProtoReflect.Descriptor instead. func (*ListVolumeTypesResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{82} + return file_pcm_openstack_proto_rawDescGZIP(), []int{194} } func (x *ListVolumeTypesResp) GetVolumeTypes() []*ListVolumeTypesResp_VolumeTypes { @@ -7862,7 +14673,7 @@ type CreateVolumeTypeReq struct { func (x *CreateVolumeTypeReq) Reset() { *x = CreateVolumeTypeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[83] + mi := &file_pcm_openstack_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7875,7 +14686,7 @@ func (x *CreateVolumeTypeReq) String() string { func (*CreateVolumeTypeReq) ProtoMessage() {} func (x *CreateVolumeTypeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[83] + mi := &file_pcm_openstack_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7888,7 +14699,7 @@ func (x *CreateVolumeTypeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeTypeReq.ProtoReflect.Descriptor instead. func (*CreateVolumeTypeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{83} + return file_pcm_openstack_proto_rawDescGZIP(), []int{195} } func (x *CreateVolumeTypeReq) GetVolumeType() *CreateVolumeTypeReq_VolumeType { @@ -7919,7 +14730,7 @@ type CreateVolumeTypeResp struct { func (x *CreateVolumeTypeResp) Reset() { *x = CreateVolumeTypeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[84] + mi := &file_pcm_openstack_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7932,7 +14743,7 @@ func (x *CreateVolumeTypeResp) String() string { func (*CreateVolumeTypeResp) ProtoMessage() {} func (x *CreateVolumeTypeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[84] + mi := &file_pcm_openstack_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7945,7 +14756,7 @@ func (x *CreateVolumeTypeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeTypeResp.ProtoReflect.Descriptor instead. func (*CreateVolumeTypeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{84} + return file_pcm_openstack_proto_rawDescGZIP(), []int{196} } func (x *CreateVolumeTypeResp) GetVolumeType() *CreateVolumeTypeResp_VolumeType { @@ -7988,7 +14799,7 @@ type DeleteVolumeTypeReq struct { func (x *DeleteVolumeTypeReq) Reset() { *x = DeleteVolumeTypeReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[85] + mi := &file_pcm_openstack_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8001,7 +14812,7 @@ func (x *DeleteVolumeTypeReq) String() string { func (*DeleteVolumeTypeReq) ProtoMessage() {} func (x *DeleteVolumeTypeReq) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[85] + mi := &file_pcm_openstack_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8014,7 +14825,7 @@ func (x *DeleteVolumeTypeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVolumeTypeReq.ProtoReflect.Descriptor instead. func (*DeleteVolumeTypeReq) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{85} + return file_pcm_openstack_proto_rawDescGZIP(), []int{197} } func (x *DeleteVolumeTypeReq) GetVolumeTypeId() string { @@ -8044,7 +14855,7 @@ type DeleteVolumeTypeResp struct { func (x *DeleteVolumeTypeResp) Reset() { *x = DeleteVolumeTypeResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[86] + mi := &file_pcm_openstack_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8057,7 +14868,7 @@ func (x *DeleteVolumeTypeResp) String() string { func (*DeleteVolumeTypeResp) ProtoMessage() {} func (x *DeleteVolumeTypeResp) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[86] + mi := &file_pcm_openstack_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8070,7 +14881,7 @@ func (x *DeleteVolumeTypeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVolumeTypeResp.ProtoReflect.Descriptor instead. func (*DeleteVolumeTypeResp) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{86} + return file_pcm_openstack_proto_rawDescGZIP(), []int{198} } func (x *DeleteVolumeTypeResp) GetCode() int32 { @@ -8103,7 +14914,7 @@ type GetComputeLimitsResp_Rate struct { func (x *GetComputeLimitsResp_Rate) Reset() { *x = GetComputeLimitsResp_Rate{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[87] + mi := &file_pcm_openstack_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8116,7 +14927,7 @@ func (x *GetComputeLimitsResp_Rate) String() string { func (*GetComputeLimitsResp_Rate) ProtoMessage() {} func (x *GetComputeLimitsResp_Rate) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[87] + mi := &file_pcm_openstack_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8161,7 +14972,7 @@ type GetComputeLimitsResp_Absolute struct { func (x *GetComputeLimitsResp_Absolute) Reset() { *x = GetComputeLimitsResp_Absolute{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[88] + mi := &file_pcm_openstack_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8174,7 +14985,7 @@ func (x *GetComputeLimitsResp_Absolute) String() string { func (*GetComputeLimitsResp_Absolute) ProtoMessage() {} func (x *GetComputeLimitsResp_Absolute) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[88] + mi := &file_pcm_openstack_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8335,7 +15146,7 @@ type GetComputeLimitsResp_Limits struct { func (x *GetComputeLimitsResp_Limits) Reset() { *x = GetComputeLimitsResp_Limits{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[89] + mi := &file_pcm_openstack_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8348,7 +15159,7 @@ func (x *GetComputeLimitsResp_Limits) String() string { func (*GetComputeLimitsResp_Limits) ProtoMessage() {} func (x *GetComputeLimitsResp_Limits) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[89] + mi := &file_pcm_openstack_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8387,7 +15198,7 @@ type GetVolumeLimitsResp_Rate struct { func (x *GetVolumeLimitsResp_Rate) Reset() { *x = GetVolumeLimitsResp_Rate{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[90] + mi := &file_pcm_openstack_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8400,7 +15211,7 @@ func (x *GetVolumeLimitsResp_Rate) String() string { func (*GetVolumeLimitsResp_Rate) ProtoMessage() {} func (x *GetVolumeLimitsResp_Rate) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[90] + mi := &file_pcm_openstack_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8436,7 +15247,7 @@ type GetVolumeLimitsResp_Absolute struct { func (x *GetVolumeLimitsResp_Absolute) Reset() { *x = GetVolumeLimitsResp_Absolute{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[91] + mi := &file_pcm_openstack_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8449,7 +15260,7 @@ func (x *GetVolumeLimitsResp_Absolute) String() string { func (*GetVolumeLimitsResp_Absolute) ProtoMessage() {} func (x *GetVolumeLimitsResp_Absolute) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[91] + mi := &file_pcm_openstack_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8547,7 +15358,7 @@ type GetVolumeLimitsResp_Limits struct { func (x *GetVolumeLimitsResp_Limits) Reset() { *x = GetVolumeLimitsResp_Limits{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[92] + mi := &file_pcm_openstack_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8560,7 +15371,7 @@ func (x *GetVolumeLimitsResp_Limits) String() string { func (*GetVolumeLimitsResp_Limits) ProtoMessage() {} func (x *GetVolumeLimitsResp_Limits) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[92] + mi := &file_pcm_openstack_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8602,7 +15413,7 @@ type ListServersResp_Links struct { func (x *ListServersResp_Links) Reset() { *x = ListServersResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[93] + mi := &file_pcm_openstack_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8615,7 +15426,7 @@ func (x *ListServersResp_Links) String() string { func (*ListServersResp_Links) ProtoMessage() {} func (x *ListServersResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[93] + mi := &file_pcm_openstack_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8658,7 +15469,7 @@ type ListServersResp_Servers struct { func (x *ListServersResp_Servers) Reset() { *x = ListServersResp_Servers{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[94] + mi := &file_pcm_openstack_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8671,7 +15482,7 @@ func (x *ListServersResp_Servers) String() string { func (*ListServersResp_Servers) ProtoMessage() {} func (x *ListServersResp_Servers) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[94] + mi := &file_pcm_openstack_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8720,7 +15531,7 @@ type ListServersResp_ServersLinks struct { func (x *ListServersResp_ServersLinks) Reset() { *x = ListServersResp_ServersLinks{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[95] + mi := &file_pcm_openstack_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8733,7 +15544,7 @@ func (x *ListServersResp_ServersLinks) String() string { func (*ListServersResp_ServersLinks) ProtoMessage() {} func (x *ListServersResp_ServersLinks) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[95] + mi := &file_pcm_openstack_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8777,7 +15588,7 @@ type ListServersDetailedResp_Private struct { func (x *ListServersDetailedResp_Private) Reset() { *x = ListServersDetailedResp_Private{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[96] + mi := &file_pcm_openstack_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8790,7 +15601,7 @@ func (x *ListServersDetailedResp_Private) String() string { func (*ListServersDetailedResp_Private) ProtoMessage() {} func (x *ListServersDetailedResp_Private) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[96] + mi := &file_pcm_openstack_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8845,7 +15656,7 @@ type ListServersDetailedResp_Addresses struct { func (x *ListServersDetailedResp_Addresses) Reset() { *x = ListServersDetailedResp_Addresses{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[97] + mi := &file_pcm_openstack_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8858,7 +15669,7 @@ func (x *ListServersDetailedResp_Addresses) String() string { func (*ListServersDetailedResp_Addresses) ProtoMessage() {} func (x *ListServersDetailedResp_Addresses) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[97] + mi := &file_pcm_openstack_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8890,7 +15701,7 @@ type ListServersDetailedResp_ExtraSpecs struct { func (x *ListServersDetailedResp_ExtraSpecs) Reset() { *x = ListServersDetailedResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[98] + mi := &file_pcm_openstack_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8903,7 +15714,7 @@ func (x *ListServersDetailedResp_ExtraSpecs) String() string { func (*ListServersDetailedResp_ExtraSpecs) ProtoMessage() {} func (x *ListServersDetailedResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[98] + mi := &file_pcm_openstack_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8939,7 +15750,7 @@ type ListServersDetailedResp_Flavor struct { func (x *ListServersDetailedResp_Flavor) Reset() { *x = ListServersDetailedResp_Flavor{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[99] + mi := &file_pcm_openstack_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8952,7 +15763,7 @@ func (x *ListServersDetailedResp_Flavor) String() string { func (*ListServersDetailedResp_Flavor) ProtoMessage() {} func (x *ListServersDetailedResp_Flavor) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[99] + mi := &file_pcm_openstack_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8994,7 +15805,7 @@ type ListServersDetailedResp_Links struct { func (x *ListServersDetailedResp_Links) Reset() { *x = ListServersDetailedResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[100] + mi := &file_pcm_openstack_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9007,7 +15818,7 @@ func (x *ListServersDetailedResp_Links) String() string { func (*ListServersDetailedResp_Links) ProtoMessage() {} func (x *ListServersDetailedResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[100] + mi := &file_pcm_openstack_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9049,7 +15860,7 @@ type ListServersDetailedResp_Image struct { func (x *ListServersDetailedResp_Image) Reset() { *x = ListServersDetailedResp_Image{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[101] + mi := &file_pcm_openstack_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9062,7 +15873,7 @@ func (x *ListServersDetailedResp_Image) String() string { func (*ListServersDetailedResp_Image) ProtoMessage() {} func (x *ListServersDetailedResp_Image) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[101] + mi := &file_pcm_openstack_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9104,7 +15915,7 @@ type ListServersDetailedResp_Links1 struct { func (x *ListServersDetailedResp_Links1) Reset() { *x = ListServersDetailedResp_Links1{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[102] + mi := &file_pcm_openstack_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9117,7 +15928,7 @@ func (x *ListServersDetailedResp_Links1) String() string { func (*ListServersDetailedResp_Links1) ProtoMessage() {} func (x *ListServersDetailedResp_Links1) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[102] + mi := &file_pcm_openstack_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9156,7 +15967,7 @@ type ListServersDetailedResp_Metadata struct { func (x *ListServersDetailedResp_Metadata) Reset() { *x = ListServersDetailedResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[103] + mi := &file_pcm_openstack_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9169,7 +15980,7 @@ func (x *ListServersDetailedResp_Metadata) String() string { func (*ListServersDetailedResp_Metadata) ProtoMessage() {} func (x *ListServersDetailedResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[103] + mi := &file_pcm_openstack_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9196,7 +16007,7 @@ type ListServersDetailedResp_SecurityGroups struct { func (x *ListServersDetailedResp_SecurityGroups) Reset() { *x = ListServersDetailedResp_SecurityGroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[104] + mi := &file_pcm_openstack_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9209,7 +16020,7 @@ func (x *ListServersDetailedResp_SecurityGroups) String() string { func (*ListServersDetailedResp_SecurityGroups) ProtoMessage() {} func (x *ListServersDetailedResp_SecurityGroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[104] + mi := &file_pcm_openstack_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9277,7 +16088,7 @@ type ListServersDetailedResp_ServersDetailed struct { func (x *ListServersDetailedResp_ServersDetailed) Reset() { *x = ListServersDetailedResp_ServersDetailed{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[105] + mi := &file_pcm_openstack_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9290,7 +16101,7 @@ func (x *ListServersDetailedResp_ServersDetailed) String() string { func (*ListServersDetailedResp_ServersDetailed) ProtoMessage() {} func (x *ListServersDetailedResp_ServersDetailed) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[105] + mi := &file_pcm_openstack_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9565,7 +16376,7 @@ type CreateServerReq_Networks struct { func (x *CreateServerReq_Networks) Reset() { *x = CreateServerReq_Networks{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[106] + mi := &file_pcm_openstack_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9578,7 +16389,7 @@ func (x *CreateServerReq_Networks) String() string { func (*CreateServerReq_Networks) ProtoMessage() {} func (x *CreateServerReq_Networks) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[106] + mi := &file_pcm_openstack_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9645,7 +16456,7 @@ type CreateServerReq_BlockDeviceMappingV2 struct { func (x *CreateServerReq_BlockDeviceMappingV2) Reset() { *x = CreateServerReq_BlockDeviceMappingV2{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[107] + mi := &file_pcm_openstack_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9658,7 +16469,7 @@ func (x *CreateServerReq_BlockDeviceMappingV2) String() string { func (*CreateServerReq_BlockDeviceMappingV2) ProtoMessage() {} func (x *CreateServerReq_BlockDeviceMappingV2) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[107] + mi := &file_pcm_openstack_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9776,7 +16587,7 @@ type CreateServerReq_Metadata struct { func (x *CreateServerReq_Metadata) Reset() { *x = CreateServerReq_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[108] + mi := &file_pcm_openstack_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9789,7 +16600,7 @@ func (x *CreateServerReq_Metadata) String() string { func (*CreateServerReq_Metadata) ProtoMessage() {} func (x *CreateServerReq_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[108] + mi := &file_pcm_openstack_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9824,7 +16635,7 @@ type CreateServerReq_Personality struct { func (x *CreateServerReq_Personality) Reset() { *x = CreateServerReq_Personality{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[109] + mi := &file_pcm_openstack_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9837,7 +16648,7 @@ func (x *CreateServerReq_Personality) String() string { func (*CreateServerReq_Personality) ProtoMessage() {} func (x *CreateServerReq_Personality) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[109] + mi := &file_pcm_openstack_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9878,7 +16689,7 @@ type CreateServerReq_SecurityGroups struct { func (x *CreateServerReq_SecurityGroups) Reset() { *x = CreateServerReq_SecurityGroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[110] + mi := &file_pcm_openstack_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9891,7 +16702,7 @@ func (x *CreateServerReq_SecurityGroups) String() string { func (*CreateServerReq_SecurityGroups) ProtoMessage() {} func (x *CreateServerReq_SecurityGroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[110] + mi := &file_pcm_openstack_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9946,7 +16757,7 @@ type CreateServerReq_Server struct { func (x *CreateServerReq_Server) Reset() { *x = CreateServerReq_Server{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[111] + mi := &file_pcm_openstack_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9959,7 +16770,7 @@ func (x *CreateServerReq_Server) String() string { func (*CreateServerReq_Server) ProtoMessage() {} func (x *CreateServerReq_Server) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[111] + mi := &file_pcm_openstack_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10147,7 +16958,7 @@ type CreateServerReq_OsSchHntSchedulerHints struct { func (x *CreateServerReq_OsSchHntSchedulerHints) Reset() { *x = CreateServerReq_OsSchHntSchedulerHints{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[112] + mi := &file_pcm_openstack_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10160,7 +16971,7 @@ func (x *CreateServerReq_OsSchHntSchedulerHints) String() string { func (*CreateServerReq_OsSchHntSchedulerHints) ProtoMessage() {} func (x *CreateServerReq_OsSchHntSchedulerHints) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[112] + mi := &file_pcm_openstack_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10244,7 +17055,7 @@ type CreateServerResp_Links struct { func (x *CreateServerResp_Links) Reset() { *x = CreateServerResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[113] + mi := &file_pcm_openstack_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10257,7 +17068,7 @@ func (x *CreateServerResp_Links) String() string { func (*CreateServerResp_Links) ProtoMessage() {} func (x *CreateServerResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[113] + mi := &file_pcm_openstack_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10298,7 +17109,7 @@ type CreateServerResp_SecurityGroups struct { func (x *CreateServerResp_SecurityGroups) Reset() { *x = CreateServerResp_SecurityGroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[114] + mi := &file_pcm_openstack_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10311,7 +17122,7 @@ func (x *CreateServerResp_SecurityGroups) String() string { func (*CreateServerResp_SecurityGroups) ProtoMessage() {} func (x *CreateServerResp_SecurityGroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[114] + mi := &file_pcm_openstack_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10349,7 +17160,7 @@ type CreateServerResp_Server struct { func (x *CreateServerResp_Server) Reset() { *x = CreateServerResp_Server{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[115] + mi := &file_pcm_openstack_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10362,7 +17173,7 @@ func (x *CreateServerResp_Server) String() string { func (*CreateServerResp_Server) ProtoMessage() {} func (x *CreateServerResp_Server) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[115] + mi := &file_pcm_openstack_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10427,7 +17238,7 @@ type GetServersDetailedByIdResp_Private struct { func (x *GetServersDetailedByIdResp_Private) Reset() { *x = GetServersDetailedByIdResp_Private{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[116] + mi := &file_pcm_openstack_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10440,7 +17251,7 @@ func (x *GetServersDetailedByIdResp_Private) String() string { func (*GetServersDetailedByIdResp_Private) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Private) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[116] + mi := &file_pcm_openstack_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10495,7 +17306,7 @@ type GetServersDetailedByIdResp_Addresses struct { func (x *GetServersDetailedByIdResp_Addresses) Reset() { *x = GetServersDetailedByIdResp_Addresses{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[117] + mi := &file_pcm_openstack_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10508,7 +17319,7 @@ func (x *GetServersDetailedByIdResp_Addresses) String() string { func (*GetServersDetailedByIdResp_Addresses) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Addresses) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[117] + mi := &file_pcm_openstack_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10540,7 +17351,7 @@ type GetServersDetailedByIdResp_ExtraSpecs struct { func (x *GetServersDetailedByIdResp_ExtraSpecs) Reset() { *x = GetServersDetailedByIdResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[118] + mi := &file_pcm_openstack_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10553,7 +17364,7 @@ func (x *GetServersDetailedByIdResp_ExtraSpecs) String() string { func (*GetServersDetailedByIdResp_ExtraSpecs) ProtoMessage() {} func (x *GetServersDetailedByIdResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[118] + mi := &file_pcm_openstack_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10588,7 +17399,7 @@ type GetServersDetailedByIdResp_Flavor struct { func (x *GetServersDetailedByIdResp_Flavor) Reset() { *x = GetServersDetailedByIdResp_Flavor{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[119] + mi := &file_pcm_openstack_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10601,7 +17412,7 @@ func (x *GetServersDetailedByIdResp_Flavor) String() string { func (*GetServersDetailedByIdResp_Flavor) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Flavor) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[119] + mi := &file_pcm_openstack_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10692,7 +17503,7 @@ type GetServersDetailedByIdResp_Links struct { func (x *GetServersDetailedByIdResp_Links) Reset() { *x = GetServersDetailedByIdResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[120] + mi := &file_pcm_openstack_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10705,7 +17516,7 @@ func (x *GetServersDetailedByIdResp_Links) String() string { func (*GetServersDetailedByIdResp_Links) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[120] + mi := &file_pcm_openstack_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10747,7 +17558,7 @@ type GetServersDetailedByIdResp_Image struct { func (x *GetServersDetailedByIdResp_Image) Reset() { *x = GetServersDetailedByIdResp_Image{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[121] + mi := &file_pcm_openstack_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10760,7 +17571,7 @@ func (x *GetServersDetailedByIdResp_Image) String() string { func (*GetServersDetailedByIdResp_Image) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Image) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[121] + mi := &file_pcm_openstack_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10802,7 +17613,7 @@ type GetServersDetailedByIdResp_Links1 struct { func (x *GetServersDetailedByIdResp_Links1) Reset() { *x = GetServersDetailedByIdResp_Links1{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[122] + mi := &file_pcm_openstack_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10815,7 +17626,7 @@ func (x *GetServersDetailedByIdResp_Links1) String() string { func (*GetServersDetailedByIdResp_Links1) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Links1) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[122] + mi := &file_pcm_openstack_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10854,7 +17665,7 @@ type GetServersDetailedByIdResp_Metadata struct { func (x *GetServersDetailedByIdResp_Metadata) Reset() { *x = GetServersDetailedByIdResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[123] + mi := &file_pcm_openstack_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10867,7 +17678,7 @@ func (x *GetServersDetailedByIdResp_Metadata) String() string { func (*GetServersDetailedByIdResp_Metadata) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[123] + mi := &file_pcm_openstack_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10895,7 +17706,7 @@ type GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached struct { func (x *GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached) Reset() { *x = GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[124] + mi := &file_pcm_openstack_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10908,7 +17719,7 @@ func (x *GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached) String() s func (*GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached) ProtoMessage() {} func (x *GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[124] + mi := &file_pcm_openstack_proto_msgTypes[236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10952,7 +17763,7 @@ type GetServersDetailedByIdResp_Fault struct { func (x *GetServersDetailedByIdResp_Fault) Reset() { *x = GetServersDetailedByIdResp_Fault{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[125] + mi := &file_pcm_openstack_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10965,7 +17776,7 @@ func (x *GetServersDetailedByIdResp_Fault) String() string { func (*GetServersDetailedByIdResp_Fault) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Fault) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[125] + mi := &file_pcm_openstack_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11020,7 +17831,7 @@ type GetServersDetailedByIdResp_SecurityGroups struct { func (x *GetServersDetailedByIdResp_SecurityGroups) Reset() { *x = GetServersDetailedByIdResp_SecurityGroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[126] + mi := &file_pcm_openstack_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11033,7 +17844,7 @@ func (x *GetServersDetailedByIdResp_SecurityGroups) String() string { func (*GetServersDetailedByIdResp_SecurityGroups) ProtoMessage() {} func (x *GetServersDetailedByIdResp_SecurityGroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[126] + mi := &file_pcm_openstack_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11111,7 +17922,7 @@ type GetServersDetailedByIdResp_Servers struct { func (x *GetServersDetailedByIdResp_Servers) Reset() { *x = GetServersDetailedByIdResp_Servers{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[127] + mi := &file_pcm_openstack_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11124,7 +17935,7 @@ func (x *GetServersDetailedByIdResp_Servers) String() string { func (*GetServersDetailedByIdResp_Servers) ProtoMessage() {} func (x *GetServersDetailedByIdResp_Servers) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[127] + mi := &file_pcm_openstack_proto_msgTypes[239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11469,7 +18280,7 @@ type UpdateServerResp_Private struct { func (x *UpdateServerResp_Private) Reset() { *x = UpdateServerResp_Private{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[128] + mi := &file_pcm_openstack_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11482,7 +18293,7 @@ func (x *UpdateServerResp_Private) String() string { func (*UpdateServerResp_Private) ProtoMessage() {} func (x *UpdateServerResp_Private) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[128] + mi := &file_pcm_openstack_proto_msgTypes[240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11537,7 +18348,7 @@ type UpdateServerResp_Addresses struct { func (x *UpdateServerResp_Addresses) Reset() { *x = UpdateServerResp_Addresses{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[129] + mi := &file_pcm_openstack_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11550,7 +18361,7 @@ func (x *UpdateServerResp_Addresses) String() string { func (*UpdateServerResp_Addresses) ProtoMessage() {} func (x *UpdateServerResp_Addresses) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[129] + mi := &file_pcm_openstack_proto_msgTypes[241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11582,7 +18393,7 @@ type UpdateServerResp_ExtraSpecs struct { func (x *UpdateServerResp_ExtraSpecs) Reset() { *x = UpdateServerResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[130] + mi := &file_pcm_openstack_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11595,7 +18406,7 @@ func (x *UpdateServerResp_ExtraSpecs) String() string { func (*UpdateServerResp_ExtraSpecs) ProtoMessage() {} func (x *UpdateServerResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[130] + mi := &file_pcm_openstack_proto_msgTypes[242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11628,7 +18439,7 @@ type UpdateServerResp_Flavor struct { func (x *UpdateServerResp_Flavor) Reset() { *x = UpdateServerResp_Flavor{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[131] + mi := &file_pcm_openstack_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11641,7 +18452,7 @@ func (x *UpdateServerResp_Flavor) String() string { func (*UpdateServerResp_Flavor) ProtoMessage() {} func (x *UpdateServerResp_Flavor) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[131] + mi := &file_pcm_openstack_proto_msgTypes[243] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11718,7 +18529,7 @@ type UpdateServerResp_Links struct { func (x *UpdateServerResp_Links) Reset() { *x = UpdateServerResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[132] + mi := &file_pcm_openstack_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11731,7 +18542,7 @@ func (x *UpdateServerResp_Links) String() string { func (*UpdateServerResp_Links) ProtoMessage() {} func (x *UpdateServerResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[132] + mi := &file_pcm_openstack_proto_msgTypes[244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11773,7 +18584,7 @@ type UpdateServerResp_Image struct { func (x *UpdateServerResp_Image) Reset() { *x = UpdateServerResp_Image{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[133] + mi := &file_pcm_openstack_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11786,7 +18597,7 @@ func (x *UpdateServerResp_Image) String() string { func (*UpdateServerResp_Image) ProtoMessage() {} func (x *UpdateServerResp_Image) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[133] + mi := &file_pcm_openstack_proto_msgTypes[245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11828,7 +18639,7 @@ type UpdateServerResp_Links1 struct { func (x *UpdateServerResp_Links1) Reset() { *x = UpdateServerResp_Links1{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[134] + mi := &file_pcm_openstack_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11841,7 +18652,7 @@ func (x *UpdateServerResp_Links1) String() string { func (*UpdateServerResp_Links1) ProtoMessage() {} func (x *UpdateServerResp_Links1) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[134] + mi := &file_pcm_openstack_proto_msgTypes[246] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11882,7 +18693,7 @@ type UpdateServerResp_Metadata struct { func (x *UpdateServerResp_Metadata) Reset() { *x = UpdateServerResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[135] + mi := &file_pcm_openstack_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11895,7 +18706,7 @@ func (x *UpdateServerResp_Metadata) String() string { func (*UpdateServerResp_Metadata) ProtoMessage() {} func (x *UpdateServerResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[135] + mi := &file_pcm_openstack_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11929,7 +18740,7 @@ type UpdateServerResp_SecurityGroups struct { func (x *UpdateServerResp_SecurityGroups) Reset() { *x = UpdateServerResp_SecurityGroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[136] + mi := &file_pcm_openstack_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11942,7 +18753,7 @@ func (x *UpdateServerResp_SecurityGroups) String() string { func (*UpdateServerResp_SecurityGroups) ProtoMessage() {} func (x *UpdateServerResp_SecurityGroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[136] + mi := &file_pcm_openstack_proto_msgTypes[248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12019,7 +18830,7 @@ type UpdateServerResp_Server struct { func (x *UpdateServerResp_Server) Reset() { *x = UpdateServerResp_Server{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[137] + mi := &file_pcm_openstack_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12032,7 +18843,7 @@ func (x *UpdateServerResp_Server) String() string { func (*UpdateServerResp_Server) ProtoMessage() {} func (x *UpdateServerResp_Server) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[137] + mi := &file_pcm_openstack_proto_msgTypes[249] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12367,7 +19178,7 @@ type RebootServerReq_Reboot struct { func (x *RebootServerReq_Reboot) Reset() { *x = RebootServerReq_Reboot{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[140] + mi := &file_pcm_openstack_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12380,7 +19191,7 @@ func (x *RebootServerReq_Reboot) String() string { func (*RebootServerReq_Reboot) ProtoMessage() {} func (x *RebootServerReq_Reboot) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[140] + mi := &file_pcm_openstack_proto_msgTypes[252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12427,7 +19238,7 @@ type RebuildServerReq_Rebuild struct { func (x *RebuildServerReq_Rebuild) Reset() { *x = RebuildServerReq_Rebuild{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[142] + mi := &file_pcm_openstack_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12440,7 +19251,7 @@ func (x *RebuildServerReq_Rebuild) String() string { func (*RebuildServerReq_Rebuild) ProtoMessage() {} func (x *RebuildServerReq_Rebuild) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[142] + mi := &file_pcm_openstack_proto_msgTypes[254] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12563,7 +19374,7 @@ type RebuildServerReq_Metadata struct { func (x *RebuildServerReq_Metadata) Reset() { *x = RebuildServerReq_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[143] + mi := &file_pcm_openstack_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12576,7 +19387,7 @@ func (x *RebuildServerReq_Metadata) String() string { func (*RebuildServerReq_Metadata) ProtoMessage() {} func (x *RebuildServerReq_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[143] + mi := &file_pcm_openstack_proto_msgTypes[255] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12604,7 +19415,7 @@ type RebuildServerReq_Personality struct { func (x *RebuildServerReq_Personality) Reset() { *x = RebuildServerReq_Personality{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[144] + mi := &file_pcm_openstack_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12617,7 +19428,7 @@ func (x *RebuildServerReq_Personality) String() string { func (*RebuildServerReq_Personality) ProtoMessage() {} func (x *RebuildServerReq_Personality) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[144] + mi := &file_pcm_openstack_proto_msgTypes[256] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12656,7 +19467,7 @@ type RebuildServerReqTrustedImageCertificates struct { func (x *RebuildServerReqTrustedImageCertificates) Reset() { *x = RebuildServerReqTrustedImageCertificates{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[145] + mi := &file_pcm_openstack_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12669,7 +19480,7 @@ func (x *RebuildServerReqTrustedImageCertificates) String() string { func (*RebuildServerReqTrustedImageCertificates) ProtoMessage() {} func (x *RebuildServerReqTrustedImageCertificates) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[145] + mi := &file_pcm_openstack_proto_msgTypes[257] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12699,7 +19510,7 @@ type RebuildServerResp_Private struct { func (x *RebuildServerResp_Private) Reset() { *x = RebuildServerResp_Private{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[146] + mi := &file_pcm_openstack_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12712,7 +19523,7 @@ func (x *RebuildServerResp_Private) String() string { func (*RebuildServerResp_Private) ProtoMessage() {} func (x *RebuildServerResp_Private) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[146] + mi := &file_pcm_openstack_proto_msgTypes[258] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12767,7 +19578,7 @@ type RebuildServerResp_Addresses struct { func (x *RebuildServerResp_Addresses) Reset() { *x = RebuildServerResp_Addresses{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[147] + mi := &file_pcm_openstack_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12780,7 +19591,7 @@ func (x *RebuildServerResp_Addresses) String() string { func (*RebuildServerResp_Addresses) ProtoMessage() {} func (x *RebuildServerResp_Addresses) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[147] + mi := &file_pcm_openstack_proto_msgTypes[259] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12812,7 +19623,7 @@ type RebuildServerResp_ExtraSpecs struct { func (x *RebuildServerResp_ExtraSpecs) Reset() { *x = RebuildServerResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[148] + mi := &file_pcm_openstack_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12825,7 +19636,7 @@ func (x *RebuildServerResp_ExtraSpecs) String() string { func (*RebuildServerResp_ExtraSpecs) ProtoMessage() {} func (x *RebuildServerResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[148] + mi := &file_pcm_openstack_proto_msgTypes[260] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12860,7 +19671,7 @@ type RebuildServerResp_Flavor struct { func (x *RebuildServerResp_Flavor) Reset() { *x = RebuildServerResp_Flavor{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[149] + mi := &file_pcm_openstack_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12873,7 +19684,7 @@ func (x *RebuildServerResp_Flavor) String() string { func (*RebuildServerResp_Flavor) ProtoMessage() {} func (x *RebuildServerResp_Flavor) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[149] + mi := &file_pcm_openstack_proto_msgTypes[261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12964,7 +19775,7 @@ type RebuildServerResp_Links struct { func (x *RebuildServerResp_Links) Reset() { *x = RebuildServerResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[150] + mi := &file_pcm_openstack_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12977,7 +19788,7 @@ func (x *RebuildServerResp_Links) String() string { func (*RebuildServerResp_Links) ProtoMessage() {} func (x *RebuildServerResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[150] + mi := &file_pcm_openstack_proto_msgTypes[262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13019,7 +19830,7 @@ type RebuildServerResp_Image struct { func (x *RebuildServerResp_Image) Reset() { *x = RebuildServerResp_Image{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[151] + mi := &file_pcm_openstack_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13032,7 +19843,7 @@ func (x *RebuildServerResp_Image) String() string { func (*RebuildServerResp_Image) ProtoMessage() {} func (x *RebuildServerResp_Image) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[151] + mi := &file_pcm_openstack_proto_msgTypes[263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13074,7 +19885,7 @@ type RebuildServerResp_Links1 struct { func (x *RebuildServerResp_Links1) Reset() { *x = RebuildServerResp_Links1{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[152] + mi := &file_pcm_openstack_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13087,7 +19898,7 @@ func (x *RebuildServerResp_Links1) String() string { func (*RebuildServerResp_Links1) ProtoMessage() {} func (x *RebuildServerResp_Links1) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[152] + mi := &file_pcm_openstack_proto_msgTypes[264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13126,7 +19937,7 @@ type RebuildServerResp_Metadata struct { func (x *RebuildServerResp_Metadata) Reset() { *x = RebuildServerResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[153] + mi := &file_pcm_openstack_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13139,7 +19950,7 @@ func (x *RebuildServerResp_Metadata) String() string { func (*RebuildServerResp_Metadata) ProtoMessage() {} func (x *RebuildServerResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[153] + mi := &file_pcm_openstack_proto_msgTypes[265] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13167,7 +19978,7 @@ type RebuildServerResp_OsExtendedVolumesVolumesAttached struct { func (x *RebuildServerResp_OsExtendedVolumesVolumesAttached) Reset() { *x = RebuildServerResp_OsExtendedVolumesVolumesAttached{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[154] + mi := &file_pcm_openstack_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13180,7 +19991,7 @@ func (x *RebuildServerResp_OsExtendedVolumesVolumesAttached) String() string { func (*RebuildServerResp_OsExtendedVolumesVolumesAttached) ProtoMessage() {} func (x *RebuildServerResp_OsExtendedVolumesVolumesAttached) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[154] + mi := &file_pcm_openstack_proto_msgTypes[266] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13224,7 +20035,7 @@ type RebuildServerResp_Fault struct { func (x *RebuildServerResp_Fault) Reset() { *x = RebuildServerResp_Fault{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[155] + mi := &file_pcm_openstack_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13237,7 +20048,7 @@ func (x *RebuildServerResp_Fault) String() string { func (*RebuildServerResp_Fault) ProtoMessage() {} func (x *RebuildServerResp_Fault) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[155] + mi := &file_pcm_openstack_proto_msgTypes[267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13292,7 +20103,7 @@ type RebuildServerResp_SecurityGroups struct { func (x *RebuildServerResp_SecurityGroups) Reset() { *x = RebuildServerResp_SecurityGroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[156] + mi := &file_pcm_openstack_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13305,7 +20116,7 @@ func (x *RebuildServerResp_SecurityGroups) String() string { func (*RebuildServerResp_SecurityGroups) ProtoMessage() {} func (x *RebuildServerResp_SecurityGroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[156] + mi := &file_pcm_openstack_proto_msgTypes[268] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13383,7 +20194,7 @@ type RebuildServerResp_Servers struct { func (x *RebuildServerResp_Servers) Reset() { *x = RebuildServerResp_Servers{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[157] + mi := &file_pcm_openstack_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13396,7 +20207,7 @@ func (x *RebuildServerResp_Servers) String() string { func (*RebuildServerResp_Servers) ProtoMessage() {} func (x *RebuildServerResp_Servers) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[157] + mi := &file_pcm_openstack_proto_msgTypes[269] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13739,7 +20550,7 @@ type ResizeServerReq_Resize struct { func (x *ResizeServerReq_Resize) Reset() { *x = ResizeServerReq_Resize{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[158] + mi := &file_pcm_openstack_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13752,7 +20563,7 @@ func (x *ResizeServerReq_Resize) String() string { func (*ResizeServerReq_Resize) ProtoMessage() {} func (x *ResizeServerReq_Resize) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[158] + mi := &file_pcm_openstack_proto_msgTypes[270] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13793,7 +20604,7 @@ type MigrateServerReq_Migrate struct { func (x *MigrateServerReq_Migrate) Reset() { *x = MigrateServerReq_Migrate{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[160] + mi := &file_pcm_openstack_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13806,7 +20617,7 @@ func (x *MigrateServerReq_Migrate) String() string { func (*MigrateServerReq_Migrate) ProtoMessage() {} func (x *MigrateServerReq_Migrate) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[160] + mi := &file_pcm_openstack_proto_msgTypes[272] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13829,6 +20640,202 @@ func (x *MigrateServerReq_Migrate) GetHost() map[string]string { return nil } +type ChangeAdministrativePasswordReq_Changepassword struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminPass string `protobuf:"bytes,1,opt,name=adminPass,proto3" json:"adminPass,omitempty"` +} + +func (x *ChangeAdministrativePasswordReq_Changepassword) Reset() { + *x = ChangeAdministrativePasswordReq_Changepassword{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[274] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChangeAdministrativePasswordReq_Changepassword) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeAdministrativePasswordReq_Changepassword) ProtoMessage() {} + +func (x *ChangeAdministrativePasswordReq_Changepassword) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[274] + 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 ChangeAdministrativePasswordReq_Changepassword.ProtoReflect.Descriptor instead. +func (*ChangeAdministrativePasswordReq_Changepassword) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{32, 0} +} + +func (x *ChangeAdministrativePasswordReq_Changepassword) GetAdminPass() string { + if x != nil { + return x.AdminPass + } + return "" +} + +type RescueServerReq_Rescue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminPass string `protobuf:"bytes,2,opt,name=adminPass,proto3" json:"adminPass,omitempty"` + RescueImageRef string `protobuf:"bytes,3,opt,name=rescue_image_ref,json=rescueImageRef,proto3" json:"rescue_image_ref,omitempty"` +} + +func (x *RescueServerReq_Rescue) Reset() { + *x = RescueServerReq_Rescue{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[275] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RescueServerReq_Rescue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RescueServerReq_Rescue) ProtoMessage() {} + +func (x *RescueServerReq_Rescue) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[275] + 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 RescueServerReq_Rescue.ProtoReflect.Descriptor instead. +func (*RescueServerReq_Rescue) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{34, 0} +} + +func (x *RescueServerReq_Rescue) GetAdminPass() string { + if x != nil { + return x.AdminPass + } + return "" +} + +func (x *RescueServerReq_Rescue) GetRescueImageRef() string { + if x != nil { + return x.RescueImageRef + } + return "" +} + +type AddSecurityGroupToServerReq_AddSecurityGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AddSecurityGroupToServerReq_AddSecurityGroup) Reset() { + *x = AddSecurityGroupToServerReq_AddSecurityGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[281] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddSecurityGroupToServerReq_AddSecurityGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSecurityGroupToServerReq_AddSecurityGroup) ProtoMessage() {} + +func (x *AddSecurityGroupToServerReq_AddSecurityGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[281] + 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 AddSecurityGroupToServerReq_AddSecurityGroup.ProtoReflect.Descriptor instead. +func (*AddSecurityGroupToServerReq_AddSecurityGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{46, 0} +} + +func (x *AddSecurityGroupToServerReq_AddSecurityGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type RemoveSecurityGroupReq_RemoveSecurityGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RemoveSecurityGroupReq_RemoveSecurityGroup) Reset() { + *x = RemoveSecurityGroupReq_RemoveSecurityGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[282] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveSecurityGroupReq_RemoveSecurityGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSecurityGroupReq_RemoveSecurityGroup) ProtoMessage() {} + +func (x *RemoveSecurityGroupReq_RemoveSecurityGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[282] + 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 RemoveSecurityGroupReq_RemoveSecurityGroup.ProtoReflect.Descriptor instead. +func (*RemoveSecurityGroupReq_RemoveSecurityGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{48, 0} +} + +func (x *RemoveSecurityGroupReq_RemoveSecurityGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + type ListFlavorsDetailResp_Flavor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -13854,7 +20861,7 @@ type ListFlavorsDetailResp_Flavor struct { func (x *ListFlavorsDetailResp_Flavor) Reset() { *x = ListFlavorsDetailResp_Flavor{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[162] + mi := &file_pcm_openstack_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13867,7 +20874,7 @@ func (x *ListFlavorsDetailResp_Flavor) String() string { func (*ListFlavorsDetailResp_Flavor) ProtoMessage() {} func (x *ListFlavorsDetailResp_Flavor) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[162] + mi := &file_pcm_openstack_proto_msgTypes[283] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13880,7 +20887,7 @@ func (x *ListFlavorsDetailResp_Flavor) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFlavorsDetailResp_Flavor.ProtoReflect.Descriptor instead. func (*ListFlavorsDetailResp_Flavor) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{33, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{51, 0} } func (x *ListFlavorsDetailResp_Flavor) GetName() string { @@ -13997,7 +21004,7 @@ type ListFlavorsDetailResp_ExtraSpecs struct { func (x *ListFlavorsDetailResp_ExtraSpecs) Reset() { *x = ListFlavorsDetailResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[163] + mi := &file_pcm_openstack_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14010,7 +21017,7 @@ func (x *ListFlavorsDetailResp_ExtraSpecs) String() string { func (*ListFlavorsDetailResp_ExtraSpecs) ProtoMessage() {} func (x *ListFlavorsDetailResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[163] + mi := &file_pcm_openstack_proto_msgTypes[284] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14023,7 +21030,7 @@ func (x *ListFlavorsDetailResp_ExtraSpecs) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFlavorsDetailResp_ExtraSpecs.ProtoReflect.Descriptor instead. func (*ListFlavorsDetailResp_ExtraSpecs) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{33, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{51, 1} } type ListFlavorsDetailResp_Links struct { @@ -14038,7 +21045,7 @@ type ListFlavorsDetailResp_Links struct { func (x *ListFlavorsDetailResp_Links) Reset() { *x = ListFlavorsDetailResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[164] + mi := &file_pcm_openstack_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14051,7 +21058,7 @@ func (x *ListFlavorsDetailResp_Links) String() string { func (*ListFlavorsDetailResp_Links) ProtoMessage() {} func (x *ListFlavorsDetailResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[164] + mi := &file_pcm_openstack_proto_msgTypes[285] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14064,7 +21071,7 @@ func (x *ListFlavorsDetailResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFlavorsDetailResp_Links.ProtoReflect.Descriptor instead. func (*ListFlavorsDetailResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{33, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{51, 2} } func (x *ListFlavorsDetailResp_Links) GetHref() string { @@ -14081,6 +21088,12628 @@ func (x *ListFlavorsDetailResp_Links) GetRel() string { return "" } +type CreateFlavorReq_Flavor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Ram uint32 `protobuf:"varint,2,opt,name=ram,proto3" json:"ram,omitempty"` + Vcpus uint32 `protobuf:"varint,3,opt,name=vcpus,proto3" json:"vcpus,omitempty"` + Disk uint32 `protobuf:"varint,4,opt,name=disk,proto3" json:"disk,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + RxtxFactor float64 `protobuf:"fixed64,6,opt,name=rxtx_factor,json=rxtxFactor,proto3" json:"rxtx_factor,omitempty"` + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *CreateFlavorReq_Flavor) Reset() { + *x = CreateFlavorReq_Flavor{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[286] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFlavorReq_Flavor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFlavorReq_Flavor) ProtoMessage() {} + +func (x *CreateFlavorReq_Flavor) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[286] + 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 CreateFlavorReq_Flavor.ProtoReflect.Descriptor instead. +func (*CreateFlavorReq_Flavor) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{52, 0} +} + +func (x *CreateFlavorReq_Flavor) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFlavorReq_Flavor) GetRam() uint32 { + if x != nil { + return x.Ram + } + return 0 +} + +func (x *CreateFlavorReq_Flavor) GetVcpus() uint32 { + if x != nil { + return x.Vcpus + } + return 0 +} + +func (x *CreateFlavorReq_Flavor) GetDisk() uint32 { + if x != nil { + return x.Disk + } + return 0 +} + +func (x *CreateFlavorReq_Flavor) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateFlavorReq_Flavor) GetRxtxFactor() float64 { + if x != nil { + return x.RxtxFactor + } + return 0 +} + +func (x *CreateFlavorReq_Flavor) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type CreateFlavorResp_Links struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Href string `protobuf:"bytes,1,opt,name=href,proto3" json:"href,omitempty"` + Rel string `protobuf:"bytes,2,opt,name=rel,proto3" json:"rel,omitempty"` +} + +func (x *CreateFlavorResp_Links) Reset() { + *x = CreateFlavorResp_Links{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[287] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFlavorResp_Links) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFlavorResp_Links) ProtoMessage() {} + +func (x *CreateFlavorResp_Links) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[287] + 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 CreateFlavorResp_Links.ProtoReflect.Descriptor instead. +func (*CreateFlavorResp_Links) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{53, 0} +} + +func (x *CreateFlavorResp_Links) GetHref() string { + if x != nil { + return x.Href + } + return "" +} + +func (x *CreateFlavorResp_Links) GetRel() string { + if x != nil { + return x.Rel + } + return "" +} + +type CreateFlavorResp_ExtraSpecs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateFlavorResp_ExtraSpecs) Reset() { + *x = CreateFlavorResp_ExtraSpecs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[288] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFlavorResp_ExtraSpecs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFlavorResp_ExtraSpecs) ProtoMessage() {} + +func (x *CreateFlavorResp_ExtraSpecs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[288] + 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 CreateFlavorResp_ExtraSpecs.ProtoReflect.Descriptor instead. +func (*CreateFlavorResp_ExtraSpecs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{53, 1} +} + +type CreateFlavorResp_Flavor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OS_FLV_DISABLEDDisabled bool `protobuf:"varint,1,opt,name=OS_FLV_DISABLED_disabled,json=OS-FLV-DISABLED:disabled,proto3" json:"OS_FLV_DISABLED_disabled,omitempty"` + Disk uint32 `protobuf:"varint,2,opt,name=disk,proto3" json:"disk,omitempty"` + OS_FLV_EXT_DATAEphemeral uint32 `protobuf:"varint,3,opt,name=OS_FLV_EXT_DATA_ephemeral,json=OS-FLV-EXT-DATA:ephemeral,proto3" json:"OS_FLV_EXT_DATA_ephemeral,omitempty"` + OsFlavorAccessIsPublic bool `protobuf:"varint,4,opt,name=os_flavor_access_is_public,json=os-flavor-access:is_public,proto3" json:"os_flavor_access_is_public,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + Links []*CreateFlavorResp_Links `protobuf:"bytes,6,rep,name=links,proto3" json:"links,omitempty"` + Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` + Ram uint32 `protobuf:"varint,8,opt,name=ram,proto3" json:"ram,omitempty"` + Swap uint32 `protobuf:"varint,9,opt,name=swap,proto3" json:"swap,omitempty"` + RxtxFactor float64 `protobuf:"fixed64,10,opt,name=rxtx_factor,json=rxtxFactor,proto3" json:"rxtx_factor,omitempty"` + Vcpus uint32 `protobuf:"varint,11,opt,name=vcpus,proto3" json:"vcpus,omitempty"` + Description string `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"` + ExtraSpecs *CreateFlavorResp_ExtraSpecs `protobuf:"bytes,13,opt,name=extra_specs,json=extraSpecs,proto3" json:"extra_specs,omitempty"` +} + +func (x *CreateFlavorResp_Flavor) Reset() { + *x = CreateFlavorResp_Flavor{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[289] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFlavorResp_Flavor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFlavorResp_Flavor) ProtoMessage() {} + +func (x *CreateFlavorResp_Flavor) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[289] + 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 CreateFlavorResp_Flavor.ProtoReflect.Descriptor instead. +func (*CreateFlavorResp_Flavor) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{53, 2} +} + +func (x *CreateFlavorResp_Flavor) GetOS_FLV_DISABLEDDisabled() bool { + if x != nil { + return x.OS_FLV_DISABLEDDisabled + } + return false +} + +func (x *CreateFlavorResp_Flavor) GetDisk() uint32 { + if x != nil { + return x.Disk + } + return 0 +} + +func (x *CreateFlavorResp_Flavor) GetOS_FLV_EXT_DATAEphemeral() uint32 { + if x != nil { + return x.OS_FLV_EXT_DATAEphemeral + } + return 0 +} + +func (x *CreateFlavorResp_Flavor) GetOsFlavorAccessIsPublic() bool { + if x != nil { + return x.OsFlavorAccessIsPublic + } + return false +} + +func (x *CreateFlavorResp_Flavor) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateFlavorResp_Flavor) GetLinks() []*CreateFlavorResp_Links { + if x != nil { + return x.Links + } + return nil +} + +func (x *CreateFlavorResp_Flavor) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFlavorResp_Flavor) GetRam() uint32 { + if x != nil { + return x.Ram + } + return 0 +} + +func (x *CreateFlavorResp_Flavor) GetSwap() uint32 { + if x != nil { + return x.Swap + } + return 0 +} + +func (x *CreateFlavorResp_Flavor) GetRxtxFactor() float64 { + if x != nil { + return x.RxtxFactor + } + return 0 +} + +func (x *CreateFlavorResp_Flavor) GetVcpus() uint32 { + if x != nil { + return x.Vcpus + } + return 0 +} + +func (x *CreateFlavorResp_Flavor) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateFlavorResp_Flavor) GetExtraSpecs() *CreateFlavorResp_ExtraSpecs { + if x != nil { + return x.ExtraSpecs + } + return nil +} + +type ListSubnetsResp_AllocationPools struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` +} + +func (x *ListSubnetsResp_AllocationPools) Reset() { + *x = ListSubnetsResp_AllocationPools{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[290] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubnetsResp_AllocationPools) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubnetsResp_AllocationPools) ProtoMessage() {} + +func (x *ListSubnetsResp_AllocationPools) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[290] + 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 ListSubnetsResp_AllocationPools.ProtoReflect.Descriptor instead. +func (*ListSubnetsResp_AllocationPools) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{75, 0} +} + +func (x *ListSubnetsResp_AllocationPools) GetStart() string { + if x != nil { + return x.Start + } + return "" +} + +func (x *ListSubnetsResp_AllocationPools) GetEnd() string { + if x != nil { + return x.End + } + return "" +} + +type ListSubnetsResp_Subnets struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + EnableDhcp bool `protobuf:"varint,2,opt,name=enable_dhcp,json=enableDhcp,proto3" json:"enable_dhcp,omitempty"` + NetworkId string `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + SegmentId string `protobuf:"bytes,4,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + DnsNameservers []string `protobuf:"bytes,7,rep,name=dns_nameservers,json=dnsNameservers,proto3" json:"dns_nameservers,omitempty"` + DnsPublishFixedIp bool `protobuf:"varint,8,opt,name=dns_publish_fixed_ip,json=dnsPublishFixedIp,proto3" json:"dns_publish_fixed_ip,omitempty"` + AllocationPools []*ListSubnetsResp_AllocationPools `protobuf:"bytes,9,rep,name=allocation_pools,json=allocationPools,proto3" json:"allocation_pools,omitempty"` + HostRoutes []string `protobuf:"bytes,10,rep,name=host_routes,json=hostRoutes,proto3" json:"host_routes,omitempty"` + IpVersion uint32 `protobuf:"varint,11,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + GatewayIp string `protobuf:"bytes,12,opt,name=gateway_ip,json=gatewayIp,proto3" json:"gateway_ip,omitempty"` + Cidr string `protobuf:"bytes,13,opt,name=cidr,proto3" json:"cidr,omitempty"` + Id string `protobuf:"bytes,14,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt int64 `protobuf:"varint,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` + Ipv6AddressMode string `protobuf:"bytes,17,opt,name=ipv6_address_mode,json=ipv6AddressMode,proto3" json:"ipv6_address_mode,omitempty"` + Ipv6RaMode string `protobuf:"bytes,18,opt,name=ipv6_ra_mode,json=ipv6RaMode,proto3" json:"ipv6_ra_mode,omitempty"` + RevisionNumber uint32 `protobuf:"varint,19,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + ServiceTypes []string `protobuf:"bytes,20,rep,name=service_types,json=serviceTypes,proto3" json:"service_types,omitempty"` + SubnetpoolId string `protobuf:"bytes,21,opt,name=subnetpool_id,json=subnetpoolId,proto3" json:"subnetpool_id,omitempty"` + Tags []string `protobuf:"bytes,22,rep,name=tags,proto3" json:"tags,omitempty"` + UpdatedAt int64 `protobuf:"varint,23,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *ListSubnetsResp_Subnets) Reset() { + *x = ListSubnetsResp_Subnets{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[291] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSubnetsResp_Subnets) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSubnetsResp_Subnets) ProtoMessage() {} + +func (x *ListSubnetsResp_Subnets) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[291] + 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 ListSubnetsResp_Subnets.ProtoReflect.Descriptor instead. +func (*ListSubnetsResp_Subnets) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{75, 1} +} + +func (x *ListSubnetsResp_Subnets) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetEnableDhcp() bool { + if x != nil { + return x.EnableDhcp + } + return false +} + +func (x *ListSubnetsResp_Subnets) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetSegmentId() string { + if x != nil { + return x.SegmentId + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetDnsNameservers() []string { + if x != nil { + return x.DnsNameservers + } + return nil +} + +func (x *ListSubnetsResp_Subnets) GetDnsPublishFixedIp() bool { + if x != nil { + return x.DnsPublishFixedIp + } + return false +} + +func (x *ListSubnetsResp_Subnets) GetAllocationPools() []*ListSubnetsResp_AllocationPools { + if x != nil { + return x.AllocationPools + } + return nil +} + +func (x *ListSubnetsResp_Subnets) GetHostRoutes() []string { + if x != nil { + return x.HostRoutes + } + return nil +} + +func (x *ListSubnetsResp_Subnets) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *ListSubnetsResp_Subnets) GetGatewayIp() string { + if x != nil { + return x.GatewayIp + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetCidr() string { + if x != nil { + return x.Cidr + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListSubnetsResp_Subnets) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetIpv6AddressMode() string { + if x != nil { + return x.Ipv6AddressMode + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetIpv6RaMode() string { + if x != nil { + return x.Ipv6RaMode + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListSubnetsResp_Subnets) GetServiceTypes() []string { + if x != nil { + return x.ServiceTypes + } + return nil +} + +func (x *ListSubnetsResp_Subnets) GetSubnetpoolId() string { + if x != nil { + return x.SubnetpoolId + } + return "" +} + +func (x *ListSubnetsResp_Subnets) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ListSubnetsResp_Subnets) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +type UpdateSubnetResp_AllocationPools struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` +} + +func (x *UpdateSubnetResp_AllocationPools) Reset() { + *x = UpdateSubnetResp_AllocationPools{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[292] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubnetResp_AllocationPools) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubnetResp_AllocationPools) ProtoMessage() {} + +func (x *UpdateSubnetResp_AllocationPools) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[292] + 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 UpdateSubnetResp_AllocationPools.ProtoReflect.Descriptor instead. +func (*UpdateSubnetResp_AllocationPools) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{79, 0} +} + +func (x *UpdateSubnetResp_AllocationPools) GetStart() string { + if x != nil { + return x.Start + } + return "" +} + +func (x *UpdateSubnetResp_AllocationPools) GetEnd() string { + if x != nil { + return x.End + } + return "" +} + +type UpdateSubnetResp_Subnet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + EnableDhcp bool `protobuf:"varint,2,opt,name=enable_dhcp,json=enableDhcp,proto3" json:"enable_dhcp,omitempty"` + NetworkId string `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,4,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + SegmentId string `protobuf:"bytes,5,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` + ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,7,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DnsNameservers []string `protobuf:"bytes,9,rep,name=dns_nameservers,json=dnsNameservers,proto3" json:"dns_nameservers,omitempty"` + DnsPublishFixedIp bool `protobuf:"varint,10,opt,name=dns_publish_fixed_ip,json=dnsPublishFixedIp,proto3" json:"dns_publish_fixed_ip,omitempty"` + ServiceTypes []string `protobuf:"bytes,11,rep,name=service_types,json=serviceTypes,proto3" json:"service_types,omitempty"` + AllocationPools []*UpdateSubnetResp_AllocationPools `protobuf:"bytes,12,rep,name=allocation_pools,json=allocationPools,proto3" json:"allocation_pools,omitempty"` + HostRoutes []string `protobuf:"bytes,13,rep,name=host_routes,json=hostRoutes,proto3" json:"host_routes,omitempty"` + IpVersion uint32 `protobuf:"varint,14,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + GatewayIp string `protobuf:"bytes,15,opt,name=gateway_ip,json=gatewayIp,proto3" json:"gateway_ip,omitempty"` + Cidr string `protobuf:"bytes,16,opt,name=cidr,proto3" json:"cidr,omitempty"` + UpdatedAt string `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Id string `protobuf:"bytes,18,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,19,opt,name=description,proto3" json:"description,omitempty"` + Tags []string `protobuf:"bytes,20,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *UpdateSubnetResp_Subnet) Reset() { + *x = UpdateSubnetResp_Subnet{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[293] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSubnetResp_Subnet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSubnetResp_Subnet) ProtoMessage() {} + +func (x *UpdateSubnetResp_Subnet) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[293] + 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 UpdateSubnetResp_Subnet.ProtoReflect.Descriptor instead. +func (*UpdateSubnetResp_Subnet) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{79, 1} +} + +func (x *UpdateSubnetResp_Subnet) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetEnableDhcp() bool { + if x != nil { + return x.EnableDhcp + } + return false +} + +func (x *UpdateSubnetResp_Subnet) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateSubnetResp_Subnet) GetSegmentId() string { + if x != nil { + return x.SegmentId + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetDnsNameservers() []string { + if x != nil { + return x.DnsNameservers + } + return nil +} + +func (x *UpdateSubnetResp_Subnet) GetDnsPublishFixedIp() bool { + if x != nil { + return x.DnsPublishFixedIp + } + return false +} + +func (x *UpdateSubnetResp_Subnet) GetServiceTypes() []string { + if x != nil { + return x.ServiceTypes + } + return nil +} + +func (x *UpdateSubnetResp_Subnet) GetAllocationPools() []*UpdateSubnetResp_AllocationPools { + if x != nil { + return x.AllocationPools + } + return nil +} + +func (x *UpdateSubnetResp_Subnet) GetHostRoutes() []string { + if x != nil { + return x.HostRoutes + } + return nil +} + +func (x *UpdateSubnetResp_Subnet) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *UpdateSubnetResp_Subnet) GetGatewayIp() string { + if x != nil { + return x.GatewayIp + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetCidr() string { + if x != nil { + return x.Cidr + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateSubnetResp_Subnet) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type CreateNetworkSegmentRangeReq_NetworkSegmentRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Shared bool `protobuf:"varint,3,opt,name=shared,proto3" json:"shared,omitempty"` + ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + NetworkType string `protobuf:"bytes,5,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` + PhysicalNetwork string `protobuf:"bytes,6,opt,name=physical_network,json=physicalNetwork,proto3" json:"physical_network,omitempty"` + Minimum uint32 `protobuf:"varint,7,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint32 `protobuf:"varint,8,opt,name=maximum,proto3" json:"maximum,omitempty"` +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) Reset() { + *x = CreateNetworkSegmentRangeReq_NetworkSegmentRange{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[294] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkSegmentRangeReq_NetworkSegmentRange) ProtoMessage() {} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[294] + 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 CreateNetworkSegmentRangeReq_NetworkSegmentRange.ProtoReflect.Descriptor instead. +func (*CreateNetworkSegmentRangeReq_NetworkSegmentRange) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{80, 0} +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetNetworkType() string { + if x != nil { + return x.NetworkType + } + return "" +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetPhysicalNetwork() string { + if x != nil { + return x.PhysicalNetwork + } + return "" +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetMinimum() uint32 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *CreateNetworkSegmentRangeReq_NetworkSegmentRange) GetMaximum() uint32 { + if x != nil { + return x.Maximum + } + return 0 +} + +type CreateNetworkSegmentRangeResp_Used struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateNetworkSegmentRangeResp_Used) Reset() { + *x = CreateNetworkSegmentRangeResp_Used{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[295] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkSegmentRangeResp_Used) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkSegmentRangeResp_Used) ProtoMessage() {} + +func (x *CreateNetworkSegmentRangeResp_Used) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[295] + 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 CreateNetworkSegmentRangeResp_Used.ProtoReflect.Descriptor instead. +func (*CreateNetworkSegmentRangeResp_Used) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{81, 0} +} + +type CreateNetworkSegmentRangeResp_NetworkSegmentRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + Shared bool `protobuf:"varint,5,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + NetworkType string `protobuf:"bytes,8,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` + PhysicalNetwork string `protobuf:"bytes,9,opt,name=physical_network,json=physicalNetwork,proto3" json:"physical_network,omitempty"` + Minimum uint32 `protobuf:"varint,10,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint32 `protobuf:"varint,11,opt,name=maximum,proto3" json:"maximum,omitempty"` + Available []uint32 `protobuf:"varint,12,rep,packed,name=available,proto3" json:"available,omitempty"` + Used *CreateNetworkSegmentRangeResp_Used `protobuf:"bytes,13,opt,name=used,proto3" json:"used,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,16,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) Reset() { + *x = CreateNetworkSegmentRangeResp_NetworkSegmentRange{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[296] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkSegmentRangeResp_NetworkSegmentRange) ProtoMessage() {} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[296] + 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 CreateNetworkSegmentRangeResp_NetworkSegmentRange.ProtoReflect.Descriptor instead. +func (*CreateNetworkSegmentRangeResp_NetworkSegmentRange) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{81, 1} +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetDefault() bool { + if x != nil { + return x.Default + } + return false +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetNetworkType() string { + if x != nil { + return x.NetworkType + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetPhysicalNetwork() string { + if x != nil { + return x.PhysicalNetwork + } + return "" +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetMinimum() uint32 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetMaximum() uint32 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetAvailable() []uint32 { + if x != nil { + return x.Available + } + return nil +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetUsed() *CreateNetworkSegmentRangeResp_Used { + if x != nil { + return x.Used + } + return nil +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateNetworkSegmentRangeResp_NetworkSegmentRange) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type ListNetworkSegmentRangesResp_Used struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListNetworkSegmentRangesResp_Used) Reset() { + *x = ListNetworkSegmentRangesResp_Used{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[297] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkSegmentRangesResp_Used) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkSegmentRangesResp_Used) ProtoMessage() {} + +func (x *ListNetworkSegmentRangesResp_Used) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[297] + 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 ListNetworkSegmentRangesResp_Used.ProtoReflect.Descriptor instead. +func (*ListNetworkSegmentRangesResp_Used) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{83, 0} +} + +type ListNetworkSegmentRangesResp_NetworkSegmentRanges struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + Shared bool `protobuf:"varint,5,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + NetworkType string `protobuf:"bytes,8,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` + PhysicalNetwork string `protobuf:"bytes,9,opt,name=physical_network,json=physicalNetwork,proto3" json:"physical_network,omitempty"` + Minimum uint32 `protobuf:"varint,10,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint32 `protobuf:"varint,11,opt,name=maximum,proto3" json:"maximum,omitempty"` + Available []uint32 `protobuf:"varint,12,rep,packed,name=available,proto3" json:"available,omitempty"` + Used *ListNetworkSegmentRangesResp_Used `protobuf:"bytes,13,opt,name=used,proto3" json:"used,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,16,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) Reset() { + *x = ListNetworkSegmentRangesResp_NetworkSegmentRanges{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[298] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkSegmentRangesResp_NetworkSegmentRanges) ProtoMessage() {} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[298] + 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 ListNetworkSegmentRangesResp_NetworkSegmentRanges.ProtoReflect.Descriptor instead. +func (*ListNetworkSegmentRangesResp_NetworkSegmentRanges) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{83, 1} +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetDefault() bool { + if x != nil { + return x.Default + } + return false +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetNetworkType() string { + if x != nil { + return x.NetworkType + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetPhysicalNetwork() string { + if x != nil { + return x.PhysicalNetwork + } + return "" +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetMinimum() uint32 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetMaximum() uint32 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetAvailable() []uint32 { + if x != nil { + return x.Available + } + return nil +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetUsed() *ListNetworkSegmentRangesResp_Used { + if x != nil { + return x.Used + } + return nil +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListNetworkSegmentRangesResp_NetworkSegmentRanges) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type UpdateNetworkSegmentRangesReq_NetworkSegmentRanges struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + Shared bool `protobuf:"varint,5,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + NetworkType string `protobuf:"bytes,8,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` + PhysicalNetwork string `protobuf:"bytes,9,opt,name=physical_network,json=physicalNetwork,proto3" json:"physical_network,omitempty"` + Minimum uint32 `protobuf:"varint,10,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint32 `protobuf:"varint,11,opt,name=maximum,proto3" json:"maximum,omitempty"` + Available []uint32 `protobuf:"varint,12,rep,packed,name=available,proto3" json:"available,omitempty"` + Used *UpdateNetworkSegmentRangesReq_Used `protobuf:"bytes,13,opt,name=used,proto3" json:"used,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,16,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) Reset() { + *x = UpdateNetworkSegmentRangesReq_NetworkSegmentRanges{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[299] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) ProtoMessage() {} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[299] + 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 UpdateNetworkSegmentRangesReq_NetworkSegmentRanges.ProtoReflect.Descriptor instead. +func (*UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{86, 0} +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetDefault() bool { + if x != nil { + return x.Default + } + return false +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetNetworkType() string { + if x != nil { + return x.NetworkType + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetPhysicalNetwork() string { + if x != nil { + return x.PhysicalNetwork + } + return "" +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetMinimum() uint32 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetMaximum() uint32 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetAvailable() []uint32 { + if x != nil { + return x.Available + } + return nil +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetUsed() *UpdateNetworkSegmentRangesReq_Used { + if x != nil { + return x.Used + } + return nil +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesReq_NetworkSegmentRanges) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type UpdateNetworkSegmentRangesReq_Used struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateNetworkSegmentRangesReq_Used) Reset() { + *x = UpdateNetworkSegmentRangesReq_Used{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[300] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkSegmentRangesReq_Used) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkSegmentRangesReq_Used) ProtoMessage() {} + +func (x *UpdateNetworkSegmentRangesReq_Used) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[300] + 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 UpdateNetworkSegmentRangesReq_Used.ProtoReflect.Descriptor instead. +func (*UpdateNetworkSegmentRangesReq_Used) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{86, 1} +} + +type UpdateNetworkSegmentRangesResp_Used struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateNetworkSegmentRangesResp_Used) Reset() { + *x = UpdateNetworkSegmentRangesResp_Used{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[301] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkSegmentRangesResp_Used) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkSegmentRangesResp_Used) ProtoMessage() {} + +func (x *UpdateNetworkSegmentRangesResp_Used) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[301] + 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 UpdateNetworkSegmentRangesResp_Used.ProtoReflect.Descriptor instead. +func (*UpdateNetworkSegmentRangesResp_Used) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{87, 0} +} + +type UpdateNetworkSegmentRangesResp_NetworkSegmentRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + Shared bool `protobuf:"varint,5,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + NetworkType string `protobuf:"bytes,8,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` + PhysicalNetwork string `protobuf:"bytes,9,opt,name=physical_network,json=physicalNetwork,proto3" json:"physical_network,omitempty"` + Minimum uint32 `protobuf:"varint,10,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint32 `protobuf:"varint,11,opt,name=maximum,proto3" json:"maximum,omitempty"` + Available []uint32 `protobuf:"varint,12,rep,packed,name=available,proto3" json:"available,omitempty"` + Used *UpdateNetworkSegmentRangesResp_Used `protobuf:"bytes,13,opt,name=used,proto3" json:"used,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,16,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) Reset() { + *x = UpdateNetworkSegmentRangesResp_NetworkSegmentRange{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[302] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkSegmentRangesResp_NetworkSegmentRange) ProtoMessage() {} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[302] + 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 UpdateNetworkSegmentRangesResp_NetworkSegmentRange.ProtoReflect.Descriptor instead. +func (*UpdateNetworkSegmentRangesResp_NetworkSegmentRange) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{87, 1} +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetDefault() bool { + if x != nil { + return x.Default + } + return false +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetNetworkType() string { + if x != nil { + return x.NetworkType + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetPhysicalNetwork() string { + if x != nil { + return x.PhysicalNetwork + } + return "" +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetMinimum() uint32 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetMaximum() uint32 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetAvailable() []uint32 { + if x != nil { + return x.Available + } + return nil +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetUsed() *UpdateNetworkSegmentRangesResp_Used { + if x != nil { + return x.Used + } + return nil +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateNetworkSegmentRangesResp_NetworkSegmentRange) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type ShowNetworkSegmentRangeDetailsResp_Used struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ShowNetworkSegmentRangeDetailsResp_Used) Reset() { + *x = ShowNetworkSegmentRangeDetailsResp_Used{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[303] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowNetworkSegmentRangeDetailsResp_Used) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowNetworkSegmentRangeDetailsResp_Used) ProtoMessage() {} + +func (x *ShowNetworkSegmentRangeDetailsResp_Used) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[303] + 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 ShowNetworkSegmentRangeDetailsResp_Used.ProtoReflect.Descriptor instead. +func (*ShowNetworkSegmentRangeDetailsResp_Used) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{89, 0} +} + +type ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` + Shared bool `protobuf:"varint,5,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + NetworkType string `protobuf:"bytes,8,opt,name=network_type,json=networkType,proto3" json:"network_type,omitempty"` + PhysicalNetwork string `protobuf:"bytes,9,opt,name=physical_network,json=physicalNetwork,proto3" json:"physical_network,omitempty"` + Minimum uint32 `protobuf:"varint,10,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint32 `protobuf:"varint,11,opt,name=maximum,proto3" json:"maximum,omitempty"` + Available []uint32 `protobuf:"varint,12,rep,packed,name=available,proto3" json:"available,omitempty"` + Used *ShowNetworkSegmentRangeDetailsResp_Used `protobuf:"bytes,13,opt,name=used,proto3" json:"used,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,16,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) Reset() { + *x = ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[304] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) ProtoMessage() {} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[304] + 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 ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange.ProtoReflect.Descriptor instead. +func (*ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{89, 1} +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetDefault() bool { + if x != nil { + return x.Default + } + return false +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetNetworkType() string { + if x != nil { + return x.NetworkType + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetPhysicalNetwork() string { + if x != nil { + return x.PhysicalNetwork + } + return "" +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetMinimum() uint32 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetMaximum() uint32 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetAvailable() []uint32 { + if x != nil { + return x.Available + } + return nil +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetUsed() *ShowNetworkSegmentRangeDetailsResp_Used { + if x != nil { + return x.Used + } + return nil +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type CreatePortReq_AllowedAddressPairs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + MacAddress string `protobuf:"bytes,2,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` +} + +func (x *CreatePortReq_AllowedAddressPairs) Reset() { + *x = CreatePortReq_AllowedAddressPairs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[305] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortReq_AllowedAddressPairs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortReq_AllowedAddressPairs) ProtoMessage() {} + +func (x *CreatePortReq_AllowedAddressPairs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[305] + 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 CreatePortReq_AllowedAddressPairs.ProtoReflect.Descriptor instead. +func (*CreatePortReq_AllowedAddressPairs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{90, 0} +} + +func (x *CreatePortReq_AllowedAddressPairs) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *CreatePortReq_AllowedAddressPairs) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +type CreatePortReq_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + DnsDomain string `protobuf:"bytes,2,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,3,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + NetworkId string `protobuf:"bytes,5,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + QosPolicyId string `protobuf:"bytes,6,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` + PortSecurityEnabled bool `protobuf:"varint,7,opt,name=port_security_enabled,json=portSecurityEnabled,proto3" json:"port_security_enabled,omitempty"` + AllowedAddressPairs []*CreatePortReq_AllowedAddressPairs `protobuf:"bytes,8,rep,name=allowed_address_pairs,json=allowedAddressPairs,proto3" json:"allowed_address_pairs,omitempty"` + PropagateUplinkStatus bool `protobuf:"varint,9,opt,name=propagate_uplink_status,json=propagateUplinkStatus,proto3" json:"propagate_uplink_status,omitempty"` + HardwareOffloadType string `protobuf:"bytes,10,opt,name=hardware_offload_type,json=hardwareOffloadType,proto3" json:"hardware_offload_type,omitempty"` +} + +func (x *CreatePortReq_Port) Reset() { + *x = CreatePortReq_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[306] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortReq_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortReq_Port) ProtoMessage() {} + +func (x *CreatePortReq_Port) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[306] + 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 CreatePortReq_Port.ProtoReflect.Descriptor instead. +func (*CreatePortReq_Port) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{90, 1} +} + +func (x *CreatePortReq_Port) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreatePortReq_Port) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *CreatePortReq_Port) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *CreatePortReq_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreatePortReq_Port) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *CreatePortReq_Port) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +func (x *CreatePortReq_Port) GetPortSecurityEnabled() bool { + if x != nil { + return x.PortSecurityEnabled + } + return false +} + +func (x *CreatePortReq_Port) GetAllowedAddressPairs() []*CreatePortReq_AllowedAddressPairs { + if x != nil { + return x.AllowedAddressPairs + } + return nil +} + +func (x *CreatePortReq_Port) GetPropagateUplinkStatus() bool { + if x != nil { + return x.PropagateUplinkStatus + } + return false +} + +func (x *CreatePortReq_Port) GetHardwareOffloadType() string { + if x != nil { + return x.HardwareOffloadType + } + return "" +} + +type CreatePortResp_AllowedAddressPairs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + MacAddress string `protobuf:"bytes,2,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` +} + +func (x *CreatePortResp_AllowedAddressPairs) Reset() { + *x = CreatePortResp_AllowedAddressPairs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[307] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortResp_AllowedAddressPairs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortResp_AllowedAddressPairs) ProtoMessage() {} + +func (x *CreatePortResp_AllowedAddressPairs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[307] + 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 CreatePortResp_AllowedAddressPairs.ProtoReflect.Descriptor instead. +func (*CreatePortResp_AllowedAddressPairs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{91, 0} +} + +func (x *CreatePortResp_AllowedAddressPairs) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *CreatePortResp_AllowedAddressPairs) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +type CreatePortResp_DnsAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + Fqdn string `protobuf:"bytes,3,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *CreatePortResp_DnsAssignment) Reset() { + *x = CreatePortResp_DnsAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[308] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortResp_DnsAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortResp_DnsAssignment) ProtoMessage() {} + +func (x *CreatePortResp_DnsAssignment) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[308] + 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 CreatePortResp_DnsAssignment.ProtoReflect.Descriptor instead. +func (*CreatePortResp_DnsAssignment) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{91, 1} +} + +func (x *CreatePortResp_DnsAssignment) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *CreatePortResp_DnsAssignment) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *CreatePortResp_DnsAssignment) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +type CreatePortResp_ExtraDhcpOpts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptValue string `protobuf:"bytes,1,opt,name=opt_value,json=optValue,proto3" json:"opt_value,omitempty"` + IpVersion uint32 `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + OptName string `protobuf:"bytes,3,opt,name=opt_name,json=optName,proto3" json:"opt_name,omitempty"` +} + +func (x *CreatePortResp_ExtraDhcpOpts) Reset() { + *x = CreatePortResp_ExtraDhcpOpts{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[309] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortResp_ExtraDhcpOpts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortResp_ExtraDhcpOpts) ProtoMessage() {} + +func (x *CreatePortResp_ExtraDhcpOpts) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[309] + 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 CreatePortResp_ExtraDhcpOpts.ProtoReflect.Descriptor instead. +func (*CreatePortResp_ExtraDhcpOpts) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{91, 2} +} + +func (x *CreatePortResp_ExtraDhcpOpts) GetOptValue() string { + if x != nil { + return x.OptValue + } + return "" +} + +func (x *CreatePortResp_ExtraDhcpOpts) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *CreatePortResp_ExtraDhcpOpts) GetOptName() string { + if x != nil { + return x.OptName + } + return "" +} + +type CreatePortResp_FixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *CreatePortResp_FixedIps) Reset() { + *x = CreatePortResp_FixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[310] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortResp_FixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortResp_FixedIps) ProtoMessage() {} + +func (x *CreatePortResp_FixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[310] + 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 CreatePortResp_FixedIps.ProtoReflect.Descriptor instead. +func (*CreatePortResp_FixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{91, 3} +} + +func (x *CreatePortResp_FixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *CreatePortResp_FixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type CreatePortResp_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AllowedAddressPairs []*CreatePortResp_AllowedAddressPairs `protobuf:"bytes,2,rep,name=allowed_address_pairs,json=allowedAddressPairs,proto3" json:"allowed_address_pairs,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DataPlaneStatus string `protobuf:"bytes,4,opt,name=data_plane_status,json=dataPlaneStatus,proto3" json:"data_plane_status,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + DeviceOwner string `protobuf:"bytes,7,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + DnsAssignment []*CreatePortResp_DnsAssignment `protobuf:"bytes,8,rep,name=dns_assignment,json=dnsAssignment,proto3" json:"dns_assignment,omitempty"` + DnsDomain string `protobuf:"bytes,9,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,10,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + ExtraDhcpOpts []*CreatePortResp_ExtraDhcpOpts `protobuf:"bytes,11,rep,name=extra_dhcp_opts,json=extraDhcpOpts,proto3" json:"extra_dhcp_opts,omitempty"` + FixedIps []*CreatePortResp_FixedIps `protobuf:"bytes,12,rep,name=fixed_ips,json=fixedIps,proto3" json:"fixed_ips,omitempty"` + Id string `protobuf:"bytes,13,opt,name=id,proto3" json:"id,omitempty"` + IpAllocation string `protobuf:"bytes,14,opt,name=ip_allocation,json=ipAllocation,proto3" json:"ip_allocation,omitempty"` + MacAddress string `protobuf:"bytes,15,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + Name string `protobuf:"bytes,16,opt,name=name,proto3" json:"name,omitempty"` + NetworkId string `protobuf:"bytes,17,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + PortSecurityEnabled bool `protobuf:"varint,18,opt,name=port_security_enabled,json=portSecurityEnabled,proto3" json:"port_security_enabled,omitempty"` + ProjectId string `protobuf:"bytes,19,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,20,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + SecurityGroups []string `protobuf:"bytes,21,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"` + Status string `protobuf:"bytes,22,opt,name=status,proto3" json:"status,omitempty"` + Tags []string `protobuf:"bytes,23,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,24,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + UpdatedAt string `protobuf:"bytes,25,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,26,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,27,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` + PropagateUplinkStatus bool `protobuf:"varint,28,opt,name=propagate_uplink_status,json=propagateUplinkStatus,proto3" json:"propagate_uplink_status,omitempty"` + HardwareOffloadType string `protobuf:"bytes,29,opt,name=hardware_offload_type,json=hardwareOffloadType,proto3" json:"hardware_offload_type,omitempty"` +} + +func (x *CreatePortResp_Port) Reset() { + *x = CreatePortResp_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[311] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePortResp_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePortResp_Port) ProtoMessage() {} + +func (x *CreatePortResp_Port) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[311] + 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 CreatePortResp_Port.ProtoReflect.Descriptor instead. +func (*CreatePortResp_Port) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{91, 4} +} + +func (x *CreatePortResp_Port) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreatePortResp_Port) GetAllowedAddressPairs() []*CreatePortResp_AllowedAddressPairs { + if x != nil { + return x.AllowedAddressPairs + } + return nil +} + +func (x *CreatePortResp_Port) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *CreatePortResp_Port) GetDataPlaneStatus() string { + if x != nil { + return x.DataPlaneStatus + } + return "" +} + +func (x *CreatePortResp_Port) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreatePortResp_Port) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +func (x *CreatePortResp_Port) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *CreatePortResp_Port) GetDnsAssignment() []*CreatePortResp_DnsAssignment { + if x != nil { + return x.DnsAssignment + } + return nil +} + +func (x *CreatePortResp_Port) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *CreatePortResp_Port) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *CreatePortResp_Port) GetExtraDhcpOpts() []*CreatePortResp_ExtraDhcpOpts { + if x != nil { + return x.ExtraDhcpOpts + } + return nil +} + +func (x *CreatePortResp_Port) GetFixedIps() []*CreatePortResp_FixedIps { + if x != nil { + return x.FixedIps + } + return nil +} + +func (x *CreatePortResp_Port) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreatePortResp_Port) GetIpAllocation() string { + if x != nil { + return x.IpAllocation + } + return "" +} + +func (x *CreatePortResp_Port) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *CreatePortResp_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreatePortResp_Port) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *CreatePortResp_Port) GetPortSecurityEnabled() bool { + if x != nil { + return x.PortSecurityEnabled + } + return false +} + +func (x *CreatePortResp_Port) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreatePortResp_Port) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreatePortResp_Port) GetSecurityGroups() []string { + if x != nil { + return x.SecurityGroups + } + return nil +} + +func (x *CreatePortResp_Port) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreatePortResp_Port) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CreatePortResp_Port) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreatePortResp_Port) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *CreatePortResp_Port) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *CreatePortResp_Port) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +func (x *CreatePortResp_Port) GetPropagateUplinkStatus() bool { + if x != nil { + return x.PropagateUplinkStatus + } + return false +} + +func (x *CreatePortResp_Port) GetHardwareOffloadType() string { + if x != nil { + return x.HardwareOffloadType + } + return "" +} + +type ListPortsResp_DnsAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + Fqdn string `protobuf:"bytes,3,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *ListPortsResp_DnsAssignment) Reset() { + *x = ListPortsResp_DnsAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[312] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp_DnsAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp_DnsAssignment) ProtoMessage() {} + +func (x *ListPortsResp_DnsAssignment) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[312] + 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 ListPortsResp_DnsAssignment.ProtoReflect.Descriptor instead. +func (*ListPortsResp_DnsAssignment) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93, 0} +} + +func (x *ListPortsResp_DnsAssignment) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *ListPortsResp_DnsAssignment) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ListPortsResp_DnsAssignment) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +type ListPortsResp_ExtraDhcpOpts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptValue string `protobuf:"bytes,1,opt,name=opt_value,json=optValue,proto3" json:"opt_value,omitempty"` + IpVersion uint32 `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + OptName string `protobuf:"bytes,3,opt,name=opt_name,json=optName,proto3" json:"opt_name,omitempty"` +} + +func (x *ListPortsResp_ExtraDhcpOpts) Reset() { + *x = ListPortsResp_ExtraDhcpOpts{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[313] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp_ExtraDhcpOpts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp_ExtraDhcpOpts) ProtoMessage() {} + +func (x *ListPortsResp_ExtraDhcpOpts) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[313] + 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 ListPortsResp_ExtraDhcpOpts.ProtoReflect.Descriptor instead. +func (*ListPortsResp_ExtraDhcpOpts) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93, 1} +} + +func (x *ListPortsResp_ExtraDhcpOpts) GetOptValue() string { + if x != nil { + return x.OptValue + } + return "" +} + +func (x *ListPortsResp_ExtraDhcpOpts) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *ListPortsResp_ExtraDhcpOpts) GetOptName() string { + if x != nil { + return x.OptName + } + return "" +} + +type ListPortsResp_FixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *ListPortsResp_FixedIps) Reset() { + *x = ListPortsResp_FixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[314] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp_FixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp_FixedIps) ProtoMessage() {} + +func (x *ListPortsResp_FixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[314] + 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 ListPortsResp_FixedIps.ProtoReflect.Descriptor instead. +func (*ListPortsResp_FixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93, 2} +} + +func (x *ListPortsResp_FixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ListPortsResp_FixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type ListPortsResp_AllowedAddressPairs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListPortsResp_AllowedAddressPairs) Reset() { + *x = ListPortsResp_AllowedAddressPairs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[315] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp_AllowedAddressPairs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp_AllowedAddressPairs) ProtoMessage() {} + +func (x *ListPortsResp_AllowedAddressPairs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[315] + 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 ListPortsResp_AllowedAddressPairs.ProtoReflect.Descriptor instead. +func (*ListPortsResp_AllowedAddressPairs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93, 3} +} + +type ListPortsResp_SecurityGroups struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListPortsResp_SecurityGroups) Reset() { + *x = ListPortsResp_SecurityGroups{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[316] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp_SecurityGroups) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp_SecurityGroups) ProtoMessage() {} + +func (x *ListPortsResp_SecurityGroups) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[316] + 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 ListPortsResp_SecurityGroups.ProtoReflect.Descriptor instead. +func (*ListPortsResp_SecurityGroups) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93, 4} +} + +type ListPortsResp_Ports struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AllowedAddressPairs []*ListPortsResp_AllowedAddressPairs `protobuf:"bytes,2,rep,name=allowed_address_pairs,json=allowedAddressPairs,proto3" json:"allowed_address_pairs,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DataPlaneStatus string `protobuf:"bytes,4,opt,name=data_plane_status,json=dataPlaneStatus,proto3" json:"data_plane_status,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + DeviceOwner string `protobuf:"bytes,7,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + DnsAssignment []*ListPortsResp_DnsAssignment `protobuf:"bytes,8,rep,name=dns_assignment,json=dnsAssignment,proto3" json:"dns_assignment,omitempty"` + DnsDomain string `protobuf:"bytes,9,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,10,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + ExtraDhcpOpts []*ListPortsResp_ExtraDhcpOpts `protobuf:"bytes,11,rep,name=extra_dhcp_opts,json=extraDhcpOpts,proto3" json:"extra_dhcp_opts,omitempty"` + FixedIps []*ListPortsResp_FixedIps `protobuf:"bytes,12,rep,name=fixed_ips,json=fixedIps,proto3" json:"fixed_ips,omitempty"` + Id string `protobuf:"bytes,13,opt,name=id,proto3" json:"id,omitempty"` + IpAllocation string `protobuf:"bytes,14,opt,name=ip_allocation,json=ipAllocation,proto3" json:"ip_allocation,omitempty"` + MacAddress string `protobuf:"bytes,15,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + Name string `protobuf:"bytes,16,opt,name=name,proto3" json:"name,omitempty"` + NetworkId string `protobuf:"bytes,17,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + ProjectId string `protobuf:"bytes,18,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,19,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + SecurityGroups []*ListPortsResp_SecurityGroups `protobuf:"bytes,20,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"` + Status string `protobuf:"bytes,21,opt,name=status,proto3" json:"status,omitempty"` + Tags []string `protobuf:"bytes,22,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,23,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + UpdatedAt string `protobuf:"bytes,24,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,25,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,26,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` + PortSecurityEnabled bool `protobuf:"varint,27,opt,name=port_security_enabled,json=portSecurityEnabled,proto3" json:"port_security_enabled,omitempty"` + PropagateUplinkStatus bool `protobuf:"varint,28,opt,name=propagate_uplink_status,json=propagateUplinkStatus,proto3" json:"propagate_uplink_status,omitempty"` +} + +func (x *ListPortsResp_Ports) Reset() { + *x = ListPortsResp_Ports{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[317] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPortsResp_Ports) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPortsResp_Ports) ProtoMessage() {} + +func (x *ListPortsResp_Ports) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[317] + 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 ListPortsResp_Ports.ProtoReflect.Descriptor instead. +func (*ListPortsResp_Ports) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{93, 5} +} + +func (x *ListPortsResp_Ports) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ListPortsResp_Ports) GetAllowedAddressPairs() []*ListPortsResp_AllowedAddressPairs { + if x != nil { + return x.AllowedAddressPairs + } + return nil +} + +func (x *ListPortsResp_Ports) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ListPortsResp_Ports) GetDataPlaneStatus() string { + if x != nil { + return x.DataPlaneStatus + } + return "" +} + +func (x *ListPortsResp_Ports) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListPortsResp_Ports) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +func (x *ListPortsResp_Ports) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *ListPortsResp_Ports) GetDnsAssignment() []*ListPortsResp_DnsAssignment { + if x != nil { + return x.DnsAssignment + } + return nil +} + +func (x *ListPortsResp_Ports) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *ListPortsResp_Ports) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *ListPortsResp_Ports) GetExtraDhcpOpts() []*ListPortsResp_ExtraDhcpOpts { + if x != nil { + return x.ExtraDhcpOpts + } + return nil +} + +func (x *ListPortsResp_Ports) GetFixedIps() []*ListPortsResp_FixedIps { + if x != nil { + return x.FixedIps + } + return nil +} + +func (x *ListPortsResp_Ports) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListPortsResp_Ports) GetIpAllocation() string { + if x != nil { + return x.IpAllocation + } + return "" +} + +func (x *ListPortsResp_Ports) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *ListPortsResp_Ports) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListPortsResp_Ports) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *ListPortsResp_Ports) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListPortsResp_Ports) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListPortsResp_Ports) GetSecurityGroups() []*ListPortsResp_SecurityGroups { + if x != nil { + return x.SecurityGroups + } + return nil +} + +func (x *ListPortsResp_Ports) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListPortsResp_Ports) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ListPortsResp_Ports) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListPortsResp_Ports) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ListPortsResp_Ports) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *ListPortsResp_Ports) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +func (x *ListPortsResp_Ports) GetPortSecurityEnabled() bool { + if x != nil { + return x.PortSecurityEnabled + } + return false +} + +func (x *ListPortsResp_Ports) GetPropagateUplinkStatus() bool { + if x != nil { + return x.PropagateUplinkStatus + } + return false +} + +type UpdatePortReq_AllowedAddressPairs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + MacAddress string `protobuf:"bytes,2,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` +} + +func (x *UpdatePortReq_AllowedAddressPairs) Reset() { + *x = UpdatePortReq_AllowedAddressPairs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[318] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortReq_AllowedAddressPairs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortReq_AllowedAddressPairs) ProtoMessage() {} + +func (x *UpdatePortReq_AllowedAddressPairs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[318] + 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 UpdatePortReq_AllowedAddressPairs.ProtoReflect.Descriptor instead. +func (*UpdatePortReq_AllowedAddressPairs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{96, 0} +} + +func (x *UpdatePortReq_AllowedAddressPairs) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdatePortReq_AllowedAddressPairs) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +type UpdatePortReq_DnsAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + Fqdn string `protobuf:"bytes,3,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *UpdatePortReq_DnsAssignment) Reset() { + *x = UpdatePortReq_DnsAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[319] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortReq_DnsAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortReq_DnsAssignment) ProtoMessage() {} + +func (x *UpdatePortReq_DnsAssignment) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[319] + 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 UpdatePortReq_DnsAssignment.ProtoReflect.Descriptor instead. +func (*UpdatePortReq_DnsAssignment) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{96, 1} +} + +func (x *UpdatePortReq_DnsAssignment) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *UpdatePortReq_DnsAssignment) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdatePortReq_DnsAssignment) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +type UpdatePortReq_ExtraDhcpOpts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptValue string `protobuf:"bytes,1,opt,name=opt_value,json=optValue,proto3" json:"opt_value,omitempty"` + IpVersion uint32 `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + OptName string `protobuf:"bytes,3,opt,name=opt_name,json=optName,proto3" json:"opt_name,omitempty"` +} + +func (x *UpdatePortReq_ExtraDhcpOpts) Reset() { + *x = UpdatePortReq_ExtraDhcpOpts{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[320] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortReq_ExtraDhcpOpts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortReq_ExtraDhcpOpts) ProtoMessage() {} + +func (x *UpdatePortReq_ExtraDhcpOpts) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[320] + 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 UpdatePortReq_ExtraDhcpOpts.ProtoReflect.Descriptor instead. +func (*UpdatePortReq_ExtraDhcpOpts) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{96, 2} +} + +func (x *UpdatePortReq_ExtraDhcpOpts) GetOptValue() string { + if x != nil { + return x.OptValue + } + return "" +} + +func (x *UpdatePortReq_ExtraDhcpOpts) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *UpdatePortReq_ExtraDhcpOpts) GetOptName() string { + if x != nil { + return x.OptName + } + return "" +} + +type UpdatePortReq_FixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *UpdatePortReq_FixedIps) Reset() { + *x = UpdatePortReq_FixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[321] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortReq_FixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortReq_FixedIps) ProtoMessage() {} + +func (x *UpdatePortReq_FixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[321] + 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 UpdatePortReq_FixedIps.ProtoReflect.Descriptor instead. +func (*UpdatePortReq_FixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{96, 3} +} + +func (x *UpdatePortReq_FixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdatePortReq_FixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type UpdatePortReq_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AllowedAddressPairs []*UpdatePortReq_AllowedAddressPairs `protobuf:"bytes,2,rep,name=allowed_address_pairs,json=allowedAddressPairs,proto3" json:"allowed_address_pairs,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DataPlaneStatus string `protobuf:"bytes,4,opt,name=data_plane_status,json=dataPlaneStatus,proto3" json:"data_plane_status,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + DeviceOwner string `protobuf:"bytes,7,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + DnsAssignment []*UpdatePortReq_DnsAssignment `protobuf:"bytes,8,rep,name=dns_assignment,json=dnsAssignment,proto3" json:"dns_assignment,omitempty"` + DnsDomain string `protobuf:"bytes,9,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,10,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + ExtraDhcpOpts []*UpdatePortReq_ExtraDhcpOpts `protobuf:"bytes,11,rep,name=extra_dhcp_opts,json=extraDhcpOpts,proto3" json:"extra_dhcp_opts,omitempty"` + FixedIps []*UpdatePortReq_FixedIps `protobuf:"bytes,12,rep,name=fixed_ips,json=fixedIps,proto3" json:"fixed_ips,omitempty"` + Id string `protobuf:"bytes,13,opt,name=id,proto3" json:"id,omitempty"` + IpAllocation string `protobuf:"bytes,14,opt,name=ip_allocation,json=ipAllocation,proto3" json:"ip_allocation,omitempty"` + MacAddress string `protobuf:"bytes,15,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + Name string `protobuf:"bytes,16,opt,name=name,proto3" json:"name,omitempty"` + NetworkId string `protobuf:"bytes,17,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + PortSecurityEnabled bool `protobuf:"varint,18,opt,name=port_security_enabled,json=portSecurityEnabled,proto3" json:"port_security_enabled,omitempty"` + ProjectId string `protobuf:"bytes,19,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,20,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + SecurityGroups []string `protobuf:"bytes,21,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"` + Status string `protobuf:"bytes,22,opt,name=status,proto3" json:"status,omitempty"` + Tags []string `protobuf:"bytes,23,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,24,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + UpdatedAt string `protobuf:"bytes,25,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,26,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,27,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` + PropagateUplinkStatus bool `protobuf:"varint,28,opt,name=propagate_uplink_status,json=propagateUplinkStatus,proto3" json:"propagate_uplink_status,omitempty"` + HardwareOffloadType string `protobuf:"bytes,29,opt,name=hardware_offload_type,json=hardwareOffloadType,proto3" json:"hardware_offload_type,omitempty"` +} + +func (x *UpdatePortReq_Port) Reset() { + *x = UpdatePortReq_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[322] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortReq_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortReq_Port) ProtoMessage() {} + +func (x *UpdatePortReq_Port) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[322] + 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 UpdatePortReq_Port.ProtoReflect.Descriptor instead. +func (*UpdatePortReq_Port) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{96, 4} +} + +func (x *UpdatePortReq_Port) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *UpdatePortReq_Port) GetAllowedAddressPairs() []*UpdatePortReq_AllowedAddressPairs { + if x != nil { + return x.AllowedAddressPairs + } + return nil +} + +func (x *UpdatePortReq_Port) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *UpdatePortReq_Port) GetDataPlaneStatus() string { + if x != nil { + return x.DataPlaneStatus + } + return "" +} + +func (x *UpdatePortReq_Port) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdatePortReq_Port) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +func (x *UpdatePortReq_Port) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *UpdatePortReq_Port) GetDnsAssignment() []*UpdatePortReq_DnsAssignment { + if x != nil { + return x.DnsAssignment + } + return nil +} + +func (x *UpdatePortReq_Port) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *UpdatePortReq_Port) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *UpdatePortReq_Port) GetExtraDhcpOpts() []*UpdatePortReq_ExtraDhcpOpts { + if x != nil { + return x.ExtraDhcpOpts + } + return nil +} + +func (x *UpdatePortReq_Port) GetFixedIps() []*UpdatePortReq_FixedIps { + if x != nil { + return x.FixedIps + } + return nil +} + +func (x *UpdatePortReq_Port) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdatePortReq_Port) GetIpAllocation() string { + if x != nil { + return x.IpAllocation + } + return "" +} + +func (x *UpdatePortReq_Port) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *UpdatePortReq_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdatePortReq_Port) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *UpdatePortReq_Port) GetPortSecurityEnabled() bool { + if x != nil { + return x.PortSecurityEnabled + } + return false +} + +func (x *UpdatePortReq_Port) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdatePortReq_Port) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdatePortReq_Port) GetSecurityGroups() []string { + if x != nil { + return x.SecurityGroups + } + return nil +} + +func (x *UpdatePortReq_Port) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdatePortReq_Port) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdatePortReq_Port) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdatePortReq_Port) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *UpdatePortReq_Port) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *UpdatePortReq_Port) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +func (x *UpdatePortReq_Port) GetPropagateUplinkStatus() bool { + if x != nil { + return x.PropagateUplinkStatus + } + return false +} + +func (x *UpdatePortReq_Port) GetHardwareOffloadType() string { + if x != nil { + return x.HardwareOffloadType + } + return "" +} + +type UpdatePortResp_BindingProfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdatePortResp_BindingProfile) Reset() { + *x = UpdatePortResp_BindingProfile{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[323] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_BindingProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_BindingProfile) ProtoMessage() {} + +func (x *UpdatePortResp_BindingProfile) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[323] + 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 UpdatePortResp_BindingProfile.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_BindingProfile) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 0} +} + +type UpdatePortResp_BindingVifDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdatePortResp_BindingVifDetails) Reset() { + *x = UpdatePortResp_BindingVifDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[324] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_BindingVifDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_BindingVifDetails) ProtoMessage() {} + +func (x *UpdatePortResp_BindingVifDetails) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[324] + 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 UpdatePortResp_BindingVifDetails.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_BindingVifDetails) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 1} +} + +type UpdatePortResp_DnsAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + Fqdn string `protobuf:"bytes,3,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *UpdatePortResp_DnsAssignment) Reset() { + *x = UpdatePortResp_DnsAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[325] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_DnsAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_DnsAssignment) ProtoMessage() {} + +func (x *UpdatePortResp_DnsAssignment) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[325] + 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 UpdatePortResp_DnsAssignment.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_DnsAssignment) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 2} +} + +func (x *UpdatePortResp_DnsAssignment) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *UpdatePortResp_DnsAssignment) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdatePortResp_DnsAssignment) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +type UpdatePortResp_ExtraDhcpOpts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptValue string `protobuf:"bytes,1,opt,name=opt_value,json=optValue,proto3" json:"opt_value,omitempty"` + IpVersion uint32 `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + OptName string `protobuf:"bytes,3,opt,name=opt_name,json=optName,proto3" json:"opt_name,omitempty"` +} + +func (x *UpdatePortResp_ExtraDhcpOpts) Reset() { + *x = UpdatePortResp_ExtraDhcpOpts{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[326] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_ExtraDhcpOpts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_ExtraDhcpOpts) ProtoMessage() {} + +func (x *UpdatePortResp_ExtraDhcpOpts) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[326] + 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 UpdatePortResp_ExtraDhcpOpts.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_ExtraDhcpOpts) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 3} +} + +func (x *UpdatePortResp_ExtraDhcpOpts) GetOptValue() string { + if x != nil { + return x.OptValue + } + return "" +} + +func (x *UpdatePortResp_ExtraDhcpOpts) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *UpdatePortResp_ExtraDhcpOpts) GetOptName() string { + if x != nil { + return x.OptName + } + return "" +} + +type UpdatePortResp_FixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *UpdatePortResp_FixedIps) Reset() { + *x = UpdatePortResp_FixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[327] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_FixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_FixedIps) ProtoMessage() {} + +func (x *UpdatePortResp_FixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[327] + 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 UpdatePortResp_FixedIps.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_FixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 4} +} + +func (x *UpdatePortResp_FixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdatePortResp_FixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type UpdatePortResp_AllowedAddressPairs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdatePortResp_AllowedAddressPairs) Reset() { + *x = UpdatePortResp_AllowedAddressPairs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[328] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_AllowedAddressPairs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_AllowedAddressPairs) ProtoMessage() {} + +func (x *UpdatePortResp_AllowedAddressPairs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[328] + 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 UpdatePortResp_AllowedAddressPairs.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_AllowedAddressPairs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 5} +} + +type UpdatePortResp_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AllowedAddressPairs []*UpdatePortResp_AllowedAddressPairs `protobuf:"bytes,2,rep,name=allowed_address_pairs,json=allowedAddressPairs,proto3" json:"allowed_address_pairs,omitempty"` + BindingHostId string `protobuf:"bytes,3,opt,name=binding_host_id,json=Binding:profile,proto3" json:"binding_host_id,omitempty"` + BindingProfile *UpdatePortResp_BindingProfile `protobuf:"bytes,4,opt,name=Binding_profile,json=Binding:profile,proto3" json:"Binding_profile,omitempty"` + BindingVifDetails *UpdatePortResp_BindingVifDetails `protobuf:"bytes,5,opt,name=binding_vif_details,json=Binding:vif_details,proto3" json:"binding_vif_details,omitempty"` + BindingVifType string `protobuf:"bytes,6,opt,name=binding_vif_type,json=binding:vif_type,proto3" json:"binding_vif_type,omitempty"` + BindingVnicType string `protobuf:"bytes,7,opt,name=binding_vnic_type,json=binding:vnic_type,proto3" json:"binding_vnic_type,omitempty"` + CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DataPlaneStatus string `protobuf:"bytes,9,opt,name=data_plane_status,json=dataPlaneStatus,proto3" json:"data_plane_status,omitempty"` + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + DeviceId string `protobuf:"bytes,11,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + DeviceOwner string `protobuf:"bytes,12,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + DnsAssignment []*UpdatePortResp_DnsAssignment `protobuf:"bytes,13,rep,name=dns_assignment,json=dnsAssignment,proto3" json:"dns_assignment,omitempty"` + DnsDomain string `protobuf:"bytes,14,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,15,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + ExtraDhcpOpts []*UpdatePortResp_ExtraDhcpOpts `protobuf:"bytes,16,rep,name=extra_dhcp_opts,json=extraDhcpOpts,proto3" json:"extra_dhcp_opts,omitempty"` + FixedIps []*UpdatePortResp_FixedIps `protobuf:"bytes,17,rep,name=fixed_ips,json=fixedIps,proto3" json:"fixed_ips,omitempty"` + Id string `protobuf:"bytes,18,opt,name=id,proto3" json:"id,omitempty"` + IpAllocation string `protobuf:"bytes,19,opt,name=ip_allocation,json=ipAllocation,proto3" json:"ip_allocation,omitempty"` + MacAddress string `protobuf:"bytes,20,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + Name string `protobuf:"bytes,21,opt,name=name,proto3" json:"name,omitempty"` + NetworkId string `protobuf:"bytes,22,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + ProjectId string `protobuf:"bytes,23,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,24,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + SecurityGroups []string `protobuf:"bytes,25,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"` + Status string `protobuf:"bytes,26,opt,name=status,proto3" json:"status,omitempty"` + Tags []string `protobuf:"bytes,27,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,28,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + UpdatedAt string `protobuf:"bytes,29,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,30,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,31,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` + PortSecurityEnabled bool `protobuf:"varint,32,opt,name=port_security_enabled,json=portSecurityEnabled,proto3" json:"port_security_enabled,omitempty"` + PropagateUplinkStatus bool `protobuf:"varint,33,opt,name=propagate_uplink_status,json=propagateUplinkStatus,proto3" json:"propagate_uplink_status,omitempty"` + HardwareOffloadType string `protobuf:"bytes,34,opt,name=hardware_offload_type,json=hardwareOffloadType,proto3" json:"hardware_offload_type,omitempty"` +} + +func (x *UpdatePortResp_Port) Reset() { + *x = UpdatePortResp_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[329] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePortResp_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePortResp_Port) ProtoMessage() {} + +func (x *UpdatePortResp_Port) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[329] + 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 UpdatePortResp_Port.ProtoReflect.Descriptor instead. +func (*UpdatePortResp_Port) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{97, 6} +} + +func (x *UpdatePortResp_Port) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *UpdatePortResp_Port) GetAllowedAddressPairs() []*UpdatePortResp_AllowedAddressPairs { + if x != nil { + return x.AllowedAddressPairs + } + return nil +} + +func (x *UpdatePortResp_Port) GetBindingHostId() string { + if x != nil { + return x.BindingHostId + } + return "" +} + +func (x *UpdatePortResp_Port) GetBindingProfile() *UpdatePortResp_BindingProfile { + if x != nil { + return x.BindingProfile + } + return nil +} + +func (x *UpdatePortResp_Port) GetBindingVifDetails() *UpdatePortResp_BindingVifDetails { + if x != nil { + return x.BindingVifDetails + } + return nil +} + +func (x *UpdatePortResp_Port) GetBindingVifType() string { + if x != nil { + return x.BindingVifType + } + return "" +} + +func (x *UpdatePortResp_Port) GetBindingVnicType() string { + if x != nil { + return x.BindingVnicType + } + return "" +} + +func (x *UpdatePortResp_Port) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *UpdatePortResp_Port) GetDataPlaneStatus() string { + if x != nil { + return x.DataPlaneStatus + } + return "" +} + +func (x *UpdatePortResp_Port) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdatePortResp_Port) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +func (x *UpdatePortResp_Port) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *UpdatePortResp_Port) GetDnsAssignment() []*UpdatePortResp_DnsAssignment { + if x != nil { + return x.DnsAssignment + } + return nil +} + +func (x *UpdatePortResp_Port) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *UpdatePortResp_Port) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *UpdatePortResp_Port) GetExtraDhcpOpts() []*UpdatePortResp_ExtraDhcpOpts { + if x != nil { + return x.ExtraDhcpOpts + } + return nil +} + +func (x *UpdatePortResp_Port) GetFixedIps() []*UpdatePortResp_FixedIps { + if x != nil { + return x.FixedIps + } + return nil +} + +func (x *UpdatePortResp_Port) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdatePortResp_Port) GetIpAllocation() string { + if x != nil { + return x.IpAllocation + } + return "" +} + +func (x *UpdatePortResp_Port) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *UpdatePortResp_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdatePortResp_Port) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *UpdatePortResp_Port) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdatePortResp_Port) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdatePortResp_Port) GetSecurityGroups() []string { + if x != nil { + return x.SecurityGroups + } + return nil +} + +func (x *UpdatePortResp_Port) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdatePortResp_Port) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdatePortResp_Port) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdatePortResp_Port) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *UpdatePortResp_Port) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *UpdatePortResp_Port) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +func (x *UpdatePortResp_Port) GetPortSecurityEnabled() bool { + if x != nil { + return x.PortSecurityEnabled + } + return false +} + +func (x *UpdatePortResp_Port) GetPropagateUplinkStatus() bool { + if x != nil { + return x.PropagateUplinkStatus + } + return false +} + +func (x *UpdatePortResp_Port) GetHardwareOffloadType() string { + if x != nil { + return x.HardwareOffloadType + } + return "" +} + +type ShowPortDetailsResp_DnsAssignment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + Fqdn string `protobuf:"bytes,3,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *ShowPortDetailsResp_DnsAssignment) Reset() { + *x = ShowPortDetailsResp_DnsAssignment{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[330] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp_DnsAssignment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp_DnsAssignment) ProtoMessage() {} + +func (x *ShowPortDetailsResp_DnsAssignment) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[330] + 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 ShowPortDetailsResp_DnsAssignment.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp_DnsAssignment) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99, 0} +} + +func (x *ShowPortDetailsResp_DnsAssignment) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *ShowPortDetailsResp_DnsAssignment) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ShowPortDetailsResp_DnsAssignment) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +type ShowPortDetailsResp_ExtraDhcpOpts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptValue string `protobuf:"bytes,1,opt,name=opt_value,json=optValue,proto3" json:"opt_value,omitempty"` + IpVersion uint32 `protobuf:"varint,2,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + OptName string `protobuf:"bytes,3,opt,name=opt_name,json=optName,proto3" json:"opt_name,omitempty"` +} + +func (x *ShowPortDetailsResp_ExtraDhcpOpts) Reset() { + *x = ShowPortDetailsResp_ExtraDhcpOpts{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[331] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp_ExtraDhcpOpts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp_ExtraDhcpOpts) ProtoMessage() {} + +func (x *ShowPortDetailsResp_ExtraDhcpOpts) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[331] + 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 ShowPortDetailsResp_ExtraDhcpOpts.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp_ExtraDhcpOpts) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99, 1} +} + +func (x *ShowPortDetailsResp_ExtraDhcpOpts) GetOptValue() string { + if x != nil { + return x.OptValue + } + return "" +} + +func (x *ShowPortDetailsResp_ExtraDhcpOpts) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *ShowPortDetailsResp_ExtraDhcpOpts) GetOptName() string { + if x != nil { + return x.OptName + } + return "" +} + +type ShowPortDetailsResp_FixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *ShowPortDetailsResp_FixedIps) Reset() { + *x = ShowPortDetailsResp_FixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[332] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp_FixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp_FixedIps) ProtoMessage() {} + +func (x *ShowPortDetailsResp_FixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[332] + 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 ShowPortDetailsResp_FixedIps.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp_FixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99, 2} +} + +func (x *ShowPortDetailsResp_FixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ShowPortDetailsResp_FixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type ShowPortDetailsResp_AllowedAddressPairs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ShowPortDetailsResp_AllowedAddressPairs) Reset() { + *x = ShowPortDetailsResp_AllowedAddressPairs{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[333] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp_AllowedAddressPairs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp_AllowedAddressPairs) ProtoMessage() {} + +func (x *ShowPortDetailsResp_AllowedAddressPairs) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[333] + 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 ShowPortDetailsResp_AllowedAddressPairs.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp_AllowedAddressPairs) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99, 3} +} + +type ShowPortDetailsResp_SecurityGroups struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ShowPortDetailsResp_SecurityGroups) Reset() { + *x = ShowPortDetailsResp_SecurityGroups{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[334] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp_SecurityGroups) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp_SecurityGroups) ProtoMessage() {} + +func (x *ShowPortDetailsResp_SecurityGroups) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[334] + 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 ShowPortDetailsResp_SecurityGroups.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp_SecurityGroups) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99, 4} +} + +type ShowPortDetailsResp_Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AllowedAddressPairs []*ShowPortDetailsResp_AllowedAddressPairs `protobuf:"bytes,2,rep,name=allowed_address_pairs,json=allowedAddressPairs,proto3" json:"allowed_address_pairs,omitempty"` + CreatedAt string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + DataPlaneStatus string `protobuf:"bytes,4,opt,name=data_plane_status,json=dataPlaneStatus,proto3" json:"data_plane_status,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + DeviceOwner string `protobuf:"bytes,7,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + DnsAssignment []*ShowPortDetailsResp_DnsAssignment `protobuf:"bytes,8,rep,name=dns_assignment,json=dnsAssignment,proto3" json:"dns_assignment,omitempty"` + DnsDomain string `protobuf:"bytes,9,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,10,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + ExtraDhcpOpts []*ShowPortDetailsResp_ExtraDhcpOpts `protobuf:"bytes,11,rep,name=extra_dhcp_opts,json=extraDhcpOpts,proto3" json:"extra_dhcp_opts,omitempty"` + FixedIps []*ShowPortDetailsResp_FixedIps `protobuf:"bytes,12,rep,name=fixed_ips,json=fixedIps,proto3" json:"fixed_ips,omitempty"` + Id string `protobuf:"bytes,13,opt,name=id,proto3" json:"id,omitempty"` + IpAllocation string `protobuf:"bytes,14,opt,name=ip_allocation,json=ipAllocation,proto3" json:"ip_allocation,omitempty"` + MacAddress string `protobuf:"bytes,15,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + Name string `protobuf:"bytes,16,opt,name=name,proto3" json:"name,omitempty"` + NetworkId string `protobuf:"bytes,17,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + PortSecurityEnabled bool `protobuf:"varint,18,opt,name=port_security_enabled,json=portSecurityEnabled,proto3" json:"port_security_enabled,omitempty"` + ProjectId string `protobuf:"bytes,19,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,20,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + SecurityGroups []*ShowPortDetailsResp_SecurityGroups `protobuf:"bytes,21,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"` + Status string `protobuf:"bytes,22,opt,name=status,proto3" json:"status,omitempty"` + Tags []string `protobuf:"bytes,23,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,24,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + UpdatedAt string `protobuf:"bytes,25,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,26,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,27,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` + PropagateUplinkStatus bool `protobuf:"varint,28,opt,name=propagate_uplink_status,json=propagateUplinkStatus,proto3" json:"propagate_uplink_status,omitempty"` + HardwareOffloadType string `protobuf:"bytes,29,opt,name=hardware_offload_type,json=hardwareOffloadType,proto3" json:"hardware_offload_type,omitempty"` +} + +func (x *ShowPortDetailsResp_Port) Reset() { + *x = ShowPortDetailsResp_Port{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[335] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowPortDetailsResp_Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowPortDetailsResp_Port) ProtoMessage() {} + +func (x *ShowPortDetailsResp_Port) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[335] + 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 ShowPortDetailsResp_Port.ProtoReflect.Descriptor instead. +func (*ShowPortDetailsResp_Port) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{99, 5} +} + +func (x *ShowPortDetailsResp_Port) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ShowPortDetailsResp_Port) GetAllowedAddressPairs() []*ShowPortDetailsResp_AllowedAddressPairs { + if x != nil { + return x.AllowedAddressPairs + } + return nil +} + +func (x *ShowPortDetailsResp_Port) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetDataPlaneStatus() string { + if x != nil { + return x.DataPlaneStatus + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetDnsAssignment() []*ShowPortDetailsResp_DnsAssignment { + if x != nil { + return x.DnsAssignment + } + return nil +} + +func (x *ShowPortDetailsResp_Port) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetExtraDhcpOpts() []*ShowPortDetailsResp_ExtraDhcpOpts { + if x != nil { + return x.ExtraDhcpOpts + } + return nil +} + +func (x *ShowPortDetailsResp_Port) GetFixedIps() []*ShowPortDetailsResp_FixedIps { + if x != nil { + return x.FixedIps + } + return nil +} + +func (x *ShowPortDetailsResp_Port) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetIpAllocation() string { + if x != nil { + return x.IpAllocation + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetPortSecurityEnabled() bool { + if x != nil { + return x.PortSecurityEnabled + } + return false +} + +func (x *ShowPortDetailsResp_Port) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ShowPortDetailsResp_Port) GetSecurityGroups() []*ShowPortDetailsResp_SecurityGroups { + if x != nil { + return x.SecurityGroups + } + return nil +} + +func (x *ShowPortDetailsResp_Port) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ShowPortDetailsResp_Port) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +func (x *ShowPortDetailsResp_Port) GetPropagateUplinkStatus() bool { + if x != nil { + return x.PropagateUplinkStatus + } + return false +} + +func (x *ShowPortDetailsResp_Port) GetHardwareOffloadType() string { + if x != nil { + return x.HardwareOffloadType + } + return "" +} + +type ListRoutersResp_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *ListRoutersResp_ExternalFixedIps) Reset() { + *x = ListRoutersResp_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[336] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp_ExternalFixedIps) ProtoMessage() {} + +func (x *ListRoutersResp_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[336] + 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 ListRoutersResp_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*ListRoutersResp_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101, 0} +} + +func (x *ListRoutersResp_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ListRoutersResp_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type ListRoutersResp_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnableSnat bool `protobuf:"varint,1,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*ListRoutersResp_ExternalFixedIps `protobuf:"bytes,2,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` + NetworkId string `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` +} + +func (x *ListRoutersResp_ExternalGatewayInfo) Reset() { + *x = ListRoutersResp_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[337] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp_ExternalGatewayInfo) ProtoMessage() {} + +func (x *ListRoutersResp_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[337] + 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 ListRoutersResp_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*ListRoutersResp_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101, 1} +} + +func (x *ListRoutersResp_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *ListRoutersResp_ExternalGatewayInfo) GetExternalFixedIps() []*ListRoutersResp_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +func (x *ListRoutersResp_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +type ListRoutersResp_Routes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Nexthop string `protobuf:"bytes,2,opt,name=nexthop,proto3" json:"nexthop,omitempty"` +} + +func (x *ListRoutersResp_Routes) Reset() { + *x = ListRoutersResp_Routes{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[338] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp_Routes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp_Routes) ProtoMessage() {} + +func (x *ListRoutersResp_Routes) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[338] + 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 ListRoutersResp_Routes.ProtoReflect.Descriptor instead. +func (*ListRoutersResp_Routes) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101, 2} +} + +func (x *ListRoutersResp_Routes) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *ListRoutersResp_Routes) GetNexthop() string { + if x != nil { + return x.Nexthop + } + return "" +} + +type ListRoutersResp_ConntrackHelpers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` + Helper string `protobuf:"bytes,2,opt,name=helper,proto3" json:"helper,omitempty"` + Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ListRoutersResp_ConntrackHelpers) Reset() { + *x = ListRoutersResp_ConntrackHelpers{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[339] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp_ConntrackHelpers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp_ConntrackHelpers) ProtoMessage() {} + +func (x *ListRoutersResp_ConntrackHelpers) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[339] + 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 ListRoutersResp_ConntrackHelpers.ProtoReflect.Descriptor instead. +func (*ListRoutersResp_ConntrackHelpers) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101, 3} +} + +func (x *ListRoutersResp_ConntrackHelpers) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ListRoutersResp_ConntrackHelpers) GetHelper() string { + if x != nil { + return x.Helper + } + return "" +} + +func (x *ListRoutersResp_ConntrackHelpers) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +type ListRoutersResp_AvailabilityZoneHints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListRoutersResp_AvailabilityZoneHints) Reset() { + *x = ListRoutersResp_AvailabilityZoneHints{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[340] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp_AvailabilityZoneHints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp_AvailabilityZoneHints) ProtoMessage() {} + +func (x *ListRoutersResp_AvailabilityZoneHints) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[340] + 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 ListRoutersResp_AvailabilityZoneHints.ProtoReflect.Descriptor instead. +func (*ListRoutersResp_AvailabilityZoneHints) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101, 4} +} + +type ListRoutersResp_Routers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AvailabilityZoneHints []*ListRoutersResp_AvailabilityZoneHints `protobuf:"bytes,2,rep,name=availability_zone_hints,json=availabilityZoneHints,proto3" json:"availability_zone_hints,omitempty"` + AvailabilityZones []string `protobuf:"bytes,3,rep,name=availability_zones,json=availabilityZones,proto3" json:"availability_zones,omitempty"` + CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Distributed bool `protobuf:"varint,6,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *ListRoutersResp_ExternalGatewayInfo `protobuf:"bytes,7,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` + FlavorId string `protobuf:"bytes,8,opt,name=flavor_id,json=flavorId,proto3" json:"flavor_id,omitempty"` + Ha bool `protobuf:"varint,9,opt,name=ha,proto3" json:"ha,omitempty"` + Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + RevisionNumber uint32 `protobuf:"varint,12,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Routes []*ListRoutersResp_Routes `protobuf:"bytes,13,rep,name=routes,proto3" json:"routes,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,17,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ServiceTypeId string `protobuf:"bytes,18,opt,name=service_type_id,json=serviceTypeId,proto3" json:"service_type_id,omitempty"` + Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"` + ConntrackHelpers []*ListRoutersResp_ConntrackHelpers `protobuf:"bytes,20,rep,name=conntrack_helpers,json=conntrackHelpers,proto3" json:"conntrack_helpers,omitempty"` +} + +func (x *ListRoutersResp_Routers) Reset() { + *x = ListRoutersResp_Routers{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[341] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRoutersResp_Routers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRoutersResp_Routers) ProtoMessage() {} + +func (x *ListRoutersResp_Routers) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[341] + 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 ListRoutersResp_Routers.ProtoReflect.Descriptor instead. +func (*ListRoutersResp_Routers) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{101, 5} +} + +func (x *ListRoutersResp_Routers) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ListRoutersResp_Routers) GetAvailabilityZoneHints() []*ListRoutersResp_AvailabilityZoneHints { + if x != nil { + return x.AvailabilityZoneHints + } + return nil +} + +func (x *ListRoutersResp_Routers) GetAvailabilityZones() []string { + if x != nil { + return x.AvailabilityZones + } + return nil +} + +func (x *ListRoutersResp_Routers) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListRoutersResp_Routers) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListRoutersResp_Routers) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *ListRoutersResp_Routers) GetExternalGatewayInfo() *ListRoutersResp_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +func (x *ListRoutersResp_Routers) GetFlavorId() string { + if x != nil { + return x.FlavorId + } + return "" +} + +func (x *ListRoutersResp_Routers) GetHa() bool { + if x != nil { + return x.Ha + } + return false +} + +func (x *ListRoutersResp_Routers) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListRoutersResp_Routers) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListRoutersResp_Routers) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListRoutersResp_Routers) GetRoutes() []*ListRoutersResp_Routes { + if x != nil { + return x.Routes + } + return nil +} + +func (x *ListRoutersResp_Routers) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListRoutersResp_Routers) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ListRoutersResp_Routers) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListRoutersResp_Routers) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListRoutersResp_Routers) GetServiceTypeId() string { + if x != nil { + return x.ServiceTypeId + } + return "" +} + +func (x *ListRoutersResp_Routers) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ListRoutersResp_Routers) GetConntrackHelpers() []*ListRoutersResp_ConntrackHelpers { + if x != nil { + return x.ConntrackHelpers + } + return nil +} + +type CreateRouterReq_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *CreateRouterReq_ExternalFixedIps) Reset() { + *x = CreateRouterReq_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[342] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterReq_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterReq_ExternalFixedIps) ProtoMessage() {} + +func (x *CreateRouterReq_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[342] + 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 CreateRouterReq_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*CreateRouterReq_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{102, 0} +} + +func (x *CreateRouterReq_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *CreateRouterReq_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type CreateRouterReq_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkId string `protobuf:"bytes,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + EnableSnat bool `protobuf:"varint,2,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*CreateRouterReq_ExternalFixedIps `protobuf:"bytes,3,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` +} + +func (x *CreateRouterReq_ExternalGatewayInfo) Reset() { + *x = CreateRouterReq_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[343] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterReq_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterReq_ExternalGatewayInfo) ProtoMessage() {} + +func (x *CreateRouterReq_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[343] + 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 CreateRouterReq_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*CreateRouterReq_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{102, 1} +} + +func (x *CreateRouterReq_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *CreateRouterReq_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *CreateRouterReq_ExternalGatewayInfo) GetExternalFixedIps() []*CreateRouterReq_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +type CreateRouterReq_Router struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ExternalGatewayInfo *CreateRouterReq_ExternalGatewayInfo `protobuf:"bytes,2,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` + AdminStateUp bool `protobuf:"varint,3,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` +} + +func (x *CreateRouterReq_Router) Reset() { + *x = CreateRouterReq_Router{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[344] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterReq_Router) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterReq_Router) ProtoMessage() {} + +func (x *CreateRouterReq_Router) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[344] + 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 CreateRouterReq_Router.ProtoReflect.Descriptor instead. +func (*CreateRouterReq_Router) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{102, 2} +} + +func (x *CreateRouterReq_Router) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateRouterReq_Router) GetExternalGatewayInfo() *CreateRouterReq_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +func (x *CreateRouterReq_Router) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +type CreateRouterResp_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *CreateRouterResp_ExternalFixedIps) Reset() { + *x = CreateRouterResp_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[345] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp_ExternalFixedIps) ProtoMessage() {} + +func (x *CreateRouterResp_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[345] + 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 CreateRouterResp_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*CreateRouterResp_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103, 0} +} + +func (x *CreateRouterResp_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *CreateRouterResp_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type CreateRouterResp_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnableSnat bool `protobuf:"varint,1,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*CreateRouterResp_ExternalFixedIps `protobuf:"bytes,2,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` + NetworkId string `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` +} + +func (x *CreateRouterResp_ExternalGatewayInfo) Reset() { + *x = CreateRouterResp_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[346] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp_ExternalGatewayInfo) ProtoMessage() {} + +func (x *CreateRouterResp_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[346] + 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 CreateRouterResp_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*CreateRouterResp_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103, 1} +} + +func (x *CreateRouterResp_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *CreateRouterResp_ExternalGatewayInfo) GetExternalFixedIps() []*CreateRouterResp_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +func (x *CreateRouterResp_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +type CreateRouterResp_Routers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AvailabilityZones []string `protobuf:"bytes,3,rep,name=availability_zones,json=availabilityZones,proto3" json:"availability_zones,omitempty"` + CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Distributed bool `protobuf:"varint,6,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *CreateRouterResp_ExternalGatewayInfo `protobuf:"bytes,7,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` + FlavorId string `protobuf:"bytes,8,opt,name=flavor_id,json=flavorId,proto3" json:"flavor_id,omitempty"` + Ha bool `protobuf:"varint,9,opt,name=ha,proto3" json:"ha,omitempty"` + Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + RevisionNumber uint32 `protobuf:"varint,12,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,17,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ServiceTypeId string `protobuf:"bytes,18,opt,name=service_type_id,json=serviceTypeId,proto3" json:"service_type_id,omitempty"` + Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *CreateRouterResp_Routers) Reset() { + *x = CreateRouterResp_Routers{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[347] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp_Routers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp_Routers) ProtoMessage() {} + +func (x *CreateRouterResp_Routers) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[347] + 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 CreateRouterResp_Routers.ProtoReflect.Descriptor instead. +func (*CreateRouterResp_Routers) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103, 2} +} + +func (x *CreateRouterResp_Routers) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreateRouterResp_Routers) GetAvailabilityZones() []string { + if x != nil { + return x.AvailabilityZones + } + return nil +} + +func (x *CreateRouterResp_Routers) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateRouterResp_Routers) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateRouterResp_Routers) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *CreateRouterResp_Routers) GetExternalGatewayInfo() *CreateRouterResp_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +func (x *CreateRouterResp_Routers) GetFlavorId() string { + if x != nil { + return x.FlavorId + } + return "" +} + +func (x *CreateRouterResp_Routers) GetHa() bool { + if x != nil { + return x.Ha + } + return false +} + +func (x *CreateRouterResp_Routers) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateRouterResp_Routers) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateRouterResp_Routers) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateRouterResp_Routers) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateRouterResp_Routers) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateRouterResp_Routers) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateRouterResp_Routers) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateRouterResp_Routers) GetServiceTypeId() string { + if x != nil { + return x.ServiceTypeId + } + return "" +} + +func (x *CreateRouterResp_Routers) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type CreateRouterResp_AvailabilityZoneHints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateRouterResp_AvailabilityZoneHints) Reset() { + *x = CreateRouterResp_AvailabilityZoneHints{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[348] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp_AvailabilityZoneHints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp_AvailabilityZoneHints) ProtoMessage() {} + +func (x *CreateRouterResp_AvailabilityZoneHints) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[348] + 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 CreateRouterResp_AvailabilityZoneHints.ProtoReflect.Descriptor instead. +func (*CreateRouterResp_AvailabilityZoneHints) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103, 3} +} + +type CreateRouterResp_ConntrackHelpers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateRouterResp_ConntrackHelpers) Reset() { + *x = CreateRouterResp_ConntrackHelpers{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[349] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp_ConntrackHelpers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp_ConntrackHelpers) ProtoMessage() {} + +func (x *CreateRouterResp_ConntrackHelpers) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[349] + 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 CreateRouterResp_ConntrackHelpers.ProtoReflect.Descriptor instead. +func (*CreateRouterResp_ConntrackHelpers) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103, 4} +} + +type CreateRouterResp_Router struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AvailabilityZoneHints []*CreateRouterResp_AvailabilityZoneHints `protobuf:"bytes,2,rep,name=availability_zone_hints,json=availabilityZoneHints,proto3" json:"availability_zone_hints,omitempty"` + AvailabilityZones []string `protobuf:"bytes,3,rep,name=availability_zones,json=availabilityZones,proto3" json:"availability_zones,omitempty"` + CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Distributed bool `protobuf:"varint,6,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *CreateRouterResp_ExternalGatewayInfo `protobuf:"bytes,7,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` + FlavorId string `protobuf:"bytes,8,opt,name=flavor_id,json=flavorId,proto3" json:"flavor_id,omitempty"` + Ha bool `protobuf:"varint,9,opt,name=ha,proto3" json:"ha,omitempty"` + Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + Routers []*CreateRouterResp_Routers `protobuf:"bytes,12,rep,name=routers,proto3" json:"routers,omitempty"` + RevisionNumber uint32 `protobuf:"varint,13,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,17,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ServiceTypeId string `protobuf:"bytes,18,opt,name=service_type_id,json=serviceTypeId,proto3" json:"service_type_id,omitempty"` + Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"` + ConntrackHelpers []*CreateRouterResp_ConntrackHelpers `protobuf:"bytes,20,rep,name=conntrack_helpers,json=conntrackHelpers,proto3" json:"conntrack_helpers,omitempty"` +} + +func (x *CreateRouterResp_Router) Reset() { + *x = CreateRouterResp_Router{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[350] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRouterResp_Router) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRouterResp_Router) ProtoMessage() {} + +func (x *CreateRouterResp_Router) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[350] + 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 CreateRouterResp_Router.ProtoReflect.Descriptor instead. +func (*CreateRouterResp_Router) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{103, 5} +} + +func (x *CreateRouterResp_Router) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreateRouterResp_Router) GetAvailabilityZoneHints() []*CreateRouterResp_AvailabilityZoneHints { + if x != nil { + return x.AvailabilityZoneHints + } + return nil +} + +func (x *CreateRouterResp_Router) GetAvailabilityZones() []string { + if x != nil { + return x.AvailabilityZones + } + return nil +} + +func (x *CreateRouterResp_Router) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateRouterResp_Router) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateRouterResp_Router) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *CreateRouterResp_Router) GetExternalGatewayInfo() *CreateRouterResp_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +func (x *CreateRouterResp_Router) GetFlavorId() string { + if x != nil { + return x.FlavorId + } + return "" +} + +func (x *CreateRouterResp_Router) GetHa() bool { + if x != nil { + return x.Ha + } + return false +} + +func (x *CreateRouterResp_Router) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateRouterResp_Router) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateRouterResp_Router) GetRouters() []*CreateRouterResp_Routers { + if x != nil { + return x.Routers + } + return nil +} + +func (x *CreateRouterResp_Router) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateRouterResp_Router) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateRouterResp_Router) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateRouterResp_Router) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateRouterResp_Router) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateRouterResp_Router) GetServiceTypeId() string { + if x != nil { + return x.ServiceTypeId + } + return "" +} + +func (x *CreateRouterResp_Router) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CreateRouterResp_Router) GetConntrackHelpers() []*CreateRouterResp_ConntrackHelpers { + if x != nil { + return x.ConntrackHelpers + } + return nil +} + +type UpdateRouterReq_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *UpdateRouterReq_ExternalFixedIps) Reset() { + *x = UpdateRouterReq_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[351] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterReq_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterReq_ExternalFixedIps) ProtoMessage() {} + +func (x *UpdateRouterReq_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[351] + 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 UpdateRouterReq_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*UpdateRouterReq_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{104, 0} +} + +func (x *UpdateRouterReq_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdateRouterReq_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type UpdateRouterReq_Routes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Nexthop string `protobuf:"bytes,2,opt,name=nexthop,proto3" json:"nexthop,omitempty"` +} + +func (x *UpdateRouterReq_Routes) Reset() { + *x = UpdateRouterReq_Routes{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[352] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterReq_Routes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterReq_Routes) ProtoMessage() {} + +func (x *UpdateRouterReq_Routes) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[352] + 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 UpdateRouterReq_Routes.ProtoReflect.Descriptor instead. +func (*UpdateRouterReq_Routes) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{104, 1} +} + +func (x *UpdateRouterReq_Routes) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *UpdateRouterReq_Routes) GetNexthop() string { + if x != nil { + return x.Nexthop + } + return "" +} + +type UpdateRouterReq_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkId string `protobuf:"bytes,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + EnableSnat bool `protobuf:"varint,2,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*UpdateRouterReq_ExternalFixedIps `protobuf:"bytes,3,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` + Routes []*UpdateRouterReq_Routes `protobuf:"bytes,4,rep,name=routes,proto3" json:"routes,omitempty"` +} + +func (x *UpdateRouterReq_ExternalGatewayInfo) Reset() { + *x = UpdateRouterReq_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[353] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterReq_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterReq_ExternalGatewayInfo) ProtoMessage() {} + +func (x *UpdateRouterReq_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[353] + 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 UpdateRouterReq_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*UpdateRouterReq_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{104, 2} +} + +func (x *UpdateRouterReq_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *UpdateRouterReq_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *UpdateRouterReq_ExternalGatewayInfo) GetExternalFixedIps() []*UpdateRouterReq_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +func (x *UpdateRouterReq_ExternalGatewayInfo) GetRoutes() []*UpdateRouterReq_Routes { + if x != nil { + return x.Routes + } + return nil +} + +type UpdateRouterReq_Router struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Distributed bool `protobuf:"varint,1,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *UpdateRouterReq_ExternalGatewayInfo `protobuf:"bytes,2,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` +} + +func (x *UpdateRouterReq_Router) Reset() { + *x = UpdateRouterReq_Router{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[354] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterReq_Router) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterReq_Router) ProtoMessage() {} + +func (x *UpdateRouterReq_Router) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[354] + 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 UpdateRouterReq_Router.ProtoReflect.Descriptor instead. +func (*UpdateRouterReq_Router) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{104, 3} +} + +func (x *UpdateRouterReq_Router) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *UpdateRouterReq_Router) GetExternalGatewayInfo() *UpdateRouterReq_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +type UpdateRouterResp_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *UpdateRouterResp_ExternalFixedIps) Reset() { + *x = UpdateRouterResp_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[355] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp_ExternalFixedIps) ProtoMessage() {} + +func (x *UpdateRouterResp_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[355] + 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 UpdateRouterResp_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105, 0} +} + +func (x *UpdateRouterResp_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UpdateRouterResp_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type UpdateRouterResp_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnableSnat bool `protobuf:"varint,1,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*UpdateRouterResp_ExternalFixedIps `protobuf:"bytes,2,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` + NetworkId string `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` +} + +func (x *UpdateRouterResp_ExternalGatewayInfo) Reset() { + *x = UpdateRouterResp_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[356] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp_ExternalGatewayInfo) ProtoMessage() {} + +func (x *UpdateRouterResp_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[356] + 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 UpdateRouterResp_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105, 1} +} + +func (x *UpdateRouterResp_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *UpdateRouterResp_ExternalGatewayInfo) GetExternalFixedIps() []*UpdateRouterResp_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +func (x *UpdateRouterResp_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +type UpdateRouterResp_Routes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Nexthop string `protobuf:"bytes,2,opt,name=nexthop,proto3" json:"nexthop,omitempty"` +} + +func (x *UpdateRouterResp_Routes) Reset() { + *x = UpdateRouterResp_Routes{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[357] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp_Routes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp_Routes) ProtoMessage() {} + +func (x *UpdateRouterResp_Routes) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[357] + 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 UpdateRouterResp_Routes.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp_Routes) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105, 2} +} + +func (x *UpdateRouterResp_Routes) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *UpdateRouterResp_Routes) GetNexthop() string { + if x != nil { + return x.Nexthop + } + return "" +} + +type UpdateRouterResp_AvailabilityZoneHints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateRouterResp_AvailabilityZoneHints) Reset() { + *x = UpdateRouterResp_AvailabilityZoneHints{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[358] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp_AvailabilityZoneHints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp_AvailabilityZoneHints) ProtoMessage() {} + +func (x *UpdateRouterResp_AvailabilityZoneHints) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[358] + 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 UpdateRouterResp_AvailabilityZoneHints.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp_AvailabilityZoneHints) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105, 3} +} + +type UpdateRouterResp_ConntrackHelpers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateRouterResp_ConntrackHelpers) Reset() { + *x = UpdateRouterResp_ConntrackHelpers{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[359] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp_ConntrackHelpers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp_ConntrackHelpers) ProtoMessage() {} + +func (x *UpdateRouterResp_ConntrackHelpers) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[359] + 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 UpdateRouterResp_ConntrackHelpers.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp_ConntrackHelpers) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105, 4} +} + +type UpdateRouterResp_Router struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AvailabilityZoneHints []*UpdateRouterResp_AvailabilityZoneHints `protobuf:"bytes,2,rep,name=availability_zone_hints,json=availabilityZoneHints,proto3" json:"availability_zone_hints,omitempty"` + AvailabilityZones []string `protobuf:"bytes,3,rep,name=availability_zones,json=availabilityZones,proto3" json:"availability_zones,omitempty"` + CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Distributed bool `protobuf:"varint,6,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *UpdateRouterResp_ExternalGatewayInfo `protobuf:"bytes,7,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` + FlavorId string `protobuf:"bytes,8,opt,name=flavor_id,json=flavorId,proto3" json:"flavor_id,omitempty"` + Ha bool `protobuf:"varint,9,opt,name=ha,proto3" json:"ha,omitempty"` + Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + RevisionNumber uint32 `protobuf:"varint,12,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Routes []*UpdateRouterResp_Routes `protobuf:"bytes,13,rep,name=routes,proto3" json:"routes,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,17,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ServiceTypeId string `protobuf:"bytes,18,opt,name=service_type_id,json=serviceTypeId,proto3" json:"service_type_id,omitempty"` + Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"` + ConntrackHelpers []*UpdateRouterResp_ConntrackHelpers `protobuf:"bytes,20,rep,name=conntrack_helpers,json=conntrackHelpers,proto3" json:"conntrack_helpers,omitempty"` +} + +func (x *UpdateRouterResp_Router) Reset() { + *x = UpdateRouterResp_Router{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[360] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRouterResp_Router) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRouterResp_Router) ProtoMessage() {} + +func (x *UpdateRouterResp_Router) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[360] + 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 UpdateRouterResp_Router.ProtoReflect.Descriptor instead. +func (*UpdateRouterResp_Router) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{105, 5} +} + +func (x *UpdateRouterResp_Router) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *UpdateRouterResp_Router) GetAvailabilityZoneHints() []*UpdateRouterResp_AvailabilityZoneHints { + if x != nil { + return x.AvailabilityZoneHints + } + return nil +} + +func (x *UpdateRouterResp_Router) GetAvailabilityZones() []string { + if x != nil { + return x.AvailabilityZones + } + return nil +} + +func (x *UpdateRouterResp_Router) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *UpdateRouterResp_Router) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateRouterResp_Router) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *UpdateRouterResp_Router) GetExternalGatewayInfo() *UpdateRouterResp_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +func (x *UpdateRouterResp_Router) GetFlavorId() string { + if x != nil { + return x.FlavorId + } + return "" +} + +func (x *UpdateRouterResp_Router) GetHa() bool { + if x != nil { + return x.Ha + } + return false +} + +func (x *UpdateRouterResp_Router) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateRouterResp_Router) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateRouterResp_Router) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateRouterResp_Router) GetRoutes() []*UpdateRouterResp_Routes { + if x != nil { + return x.Routes + } + return nil +} + +func (x *UpdateRouterResp_Router) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdateRouterResp_Router) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *UpdateRouterResp_Router) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateRouterResp_Router) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateRouterResp_Router) GetServiceTypeId() string { + if x != nil { + return x.ServiceTypeId + } + return "" +} + +func (x *UpdateRouterResp_Router) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdateRouterResp_Router) GetConntrackHelpers() []*UpdateRouterResp_ConntrackHelpers { + if x != nil { + return x.ConntrackHelpers + } + return nil +} + +type ShowRouterDetailsReq_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *ShowRouterDetailsReq_ExternalFixedIps) Reset() { + *x = ShowRouterDetailsReq_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[361] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsReq_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsReq_ExternalFixedIps) ProtoMessage() {} + +func (x *ShowRouterDetailsReq_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[361] + 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 ShowRouterDetailsReq_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsReq_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{106, 0} +} + +func (x *ShowRouterDetailsReq_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ShowRouterDetailsReq_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type ShowRouterDetailsReq_Routes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Nexthop string `protobuf:"bytes,2,opt,name=nexthop,proto3" json:"nexthop,omitempty"` +} + +func (x *ShowRouterDetailsReq_Routes) Reset() { + *x = ShowRouterDetailsReq_Routes{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[362] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsReq_Routes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsReq_Routes) ProtoMessage() {} + +func (x *ShowRouterDetailsReq_Routes) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[362] + 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 ShowRouterDetailsReq_Routes.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsReq_Routes) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{106, 1} +} + +func (x *ShowRouterDetailsReq_Routes) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *ShowRouterDetailsReq_Routes) GetNexthop() string { + if x != nil { + return x.Nexthop + } + return "" +} + +type ShowRouterDetailsReq_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkId string `protobuf:"bytes,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + EnableSnat bool `protobuf:"varint,2,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*ShowRouterDetailsReq_ExternalFixedIps `protobuf:"bytes,3,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` + Routes []*ShowRouterDetailsReq_Routes `protobuf:"bytes,4,rep,name=routes,proto3" json:"routes,omitempty"` +} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) Reset() { + *x = ShowRouterDetailsReq_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[363] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsReq_ExternalGatewayInfo) ProtoMessage() {} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[363] + 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 ShowRouterDetailsReq_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsReq_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{106, 2} +} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) GetExternalFixedIps() []*ShowRouterDetailsReq_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +func (x *ShowRouterDetailsReq_ExternalGatewayInfo) GetRoutes() []*ShowRouterDetailsReq_Routes { + if x != nil { + return x.Routes + } + return nil +} + +type ShowRouterDetailsReq_Router struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Distributed bool `protobuf:"varint,1,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *ShowRouterDetailsReq_ExternalGatewayInfo `protobuf:"bytes,2,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` +} + +func (x *ShowRouterDetailsReq_Router) Reset() { + *x = ShowRouterDetailsReq_Router{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[364] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsReq_Router) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsReq_Router) ProtoMessage() {} + +func (x *ShowRouterDetailsReq_Router) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[364] + 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 ShowRouterDetailsReq_Router.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsReq_Router) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{106, 3} +} + +func (x *ShowRouterDetailsReq_Router) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *ShowRouterDetailsReq_Router) GetExternalGatewayInfo() *ShowRouterDetailsReq_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +type ShowRouterDetailsResp_ExternalFixedIps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + SubnetId string `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` +} + +func (x *ShowRouterDetailsResp_ExternalFixedIps) Reset() { + *x = ShowRouterDetailsResp_ExternalFixedIps{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[365] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp_ExternalFixedIps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp_ExternalFixedIps) ProtoMessage() {} + +func (x *ShowRouterDetailsResp_ExternalFixedIps) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[365] + 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 ShowRouterDetailsResp_ExternalFixedIps.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp_ExternalFixedIps) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107, 0} +} + +func (x *ShowRouterDetailsResp_ExternalFixedIps) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *ShowRouterDetailsResp_ExternalFixedIps) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +type ShowRouterDetailsResp_ExternalGatewayInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnableSnat bool `protobuf:"varint,1,opt,name=enable_snat,json=enableSnat,proto3" json:"enable_snat,omitempty"` + ExternalFixedIps []*ShowRouterDetailsResp_ExternalFixedIps `protobuf:"bytes,2,rep,name=external_fixed_ips,json=externalFixedIps,proto3" json:"external_fixed_ips,omitempty"` + NetworkId string `protobuf:"bytes,3,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` +} + +func (x *ShowRouterDetailsResp_ExternalGatewayInfo) Reset() { + *x = ShowRouterDetailsResp_ExternalGatewayInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[366] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp_ExternalGatewayInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp_ExternalGatewayInfo) ProtoMessage() {} + +func (x *ShowRouterDetailsResp_ExternalGatewayInfo) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[366] + 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 ShowRouterDetailsResp_ExternalGatewayInfo.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp_ExternalGatewayInfo) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107, 1} +} + +func (x *ShowRouterDetailsResp_ExternalGatewayInfo) GetEnableSnat() bool { + if x != nil { + return x.EnableSnat + } + return false +} + +func (x *ShowRouterDetailsResp_ExternalGatewayInfo) GetExternalFixedIps() []*ShowRouterDetailsResp_ExternalFixedIps { + if x != nil { + return x.ExternalFixedIps + } + return nil +} + +func (x *ShowRouterDetailsResp_ExternalGatewayInfo) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +type ShowRouterDetailsResp_Routes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Nexthop string `protobuf:"bytes,2,opt,name=nexthop,proto3" json:"nexthop,omitempty"` +} + +func (x *ShowRouterDetailsResp_Routes) Reset() { + *x = ShowRouterDetailsResp_Routes{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[367] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp_Routes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp_Routes) ProtoMessage() {} + +func (x *ShowRouterDetailsResp_Routes) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[367] + 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 ShowRouterDetailsResp_Routes.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp_Routes) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107, 2} +} + +func (x *ShowRouterDetailsResp_Routes) GetDestination() string { + if x != nil { + return x.Destination + } + return "" +} + +func (x *ShowRouterDetailsResp_Routes) GetNexthop() string { + if x != nil { + return x.Nexthop + } + return "" +} + +type ShowRouterDetailsResp_AvailabilityZoneHints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ShowRouterDetailsResp_AvailabilityZoneHints) Reset() { + *x = ShowRouterDetailsResp_AvailabilityZoneHints{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[368] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp_AvailabilityZoneHints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp_AvailabilityZoneHints) ProtoMessage() {} + +func (x *ShowRouterDetailsResp_AvailabilityZoneHints) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[368] + 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 ShowRouterDetailsResp_AvailabilityZoneHints.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp_AvailabilityZoneHints) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107, 3} +} + +type ShowRouterDetailsResp_ConntrackHelpers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ShowRouterDetailsResp_ConntrackHelpers) Reset() { + *x = ShowRouterDetailsResp_ConntrackHelpers{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[369] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp_ConntrackHelpers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp_ConntrackHelpers) ProtoMessage() {} + +func (x *ShowRouterDetailsResp_ConntrackHelpers) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[369] + 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 ShowRouterDetailsResp_ConntrackHelpers.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp_ConntrackHelpers) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107, 4} +} + +type ShowRouterDetailsResp_Router struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + AvailabilityZoneHints []*ShowRouterDetailsResp_AvailabilityZoneHints `protobuf:"bytes,2,rep,name=availability_zone_hints,json=availabilityZoneHints,proto3" json:"availability_zone_hints,omitempty"` + AvailabilityZones []string `protobuf:"bytes,3,rep,name=availability_zones,json=availabilityZones,proto3" json:"availability_zones,omitempty"` + CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Distributed bool `protobuf:"varint,6,opt,name=distributed,proto3" json:"distributed,omitempty"` + ExternalGatewayInfo *ShowRouterDetailsResp_ExternalGatewayInfo `protobuf:"bytes,7,opt,name=external_gateway_info,json=externalGatewayInfo,proto3" json:"external_gateway_info,omitempty"` + FlavorId string `protobuf:"bytes,8,opt,name=flavor_id,json=flavorId,proto3" json:"flavor_id,omitempty"` + Ha bool `protobuf:"varint,9,opt,name=ha,proto3" json:"ha,omitempty"` + Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + RevisionNumber uint32 `protobuf:"varint,12,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Routes []*ShowRouterDetailsResp_Routes `protobuf:"bytes,13,rep,name=routes,proto3" json:"routes,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,17,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ServiceTypeId string `protobuf:"bytes,18,opt,name=service_type_id,json=serviceTypeId,proto3" json:"service_type_id,omitempty"` + Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"` + ConntrackHelpers []*ShowRouterDetailsResp_ConntrackHelpers `protobuf:"bytes,20,rep,name=conntrack_helpers,json=conntrackHelpers,proto3" json:"conntrack_helpers,omitempty"` +} + +func (x *ShowRouterDetailsResp_Router) Reset() { + *x = ShowRouterDetailsResp_Router{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[370] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowRouterDetailsResp_Router) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowRouterDetailsResp_Router) ProtoMessage() {} + +func (x *ShowRouterDetailsResp_Router) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[370] + 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 ShowRouterDetailsResp_Router.ProtoReflect.Descriptor instead. +func (*ShowRouterDetailsResp_Router) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{107, 5} +} + +func (x *ShowRouterDetailsResp_Router) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ShowRouterDetailsResp_Router) GetAvailabilityZoneHints() []*ShowRouterDetailsResp_AvailabilityZoneHints { + if x != nil { + return x.AvailabilityZoneHints + } + return nil +} + +func (x *ShowRouterDetailsResp_Router) GetAvailabilityZones() []string { + if x != nil { + return x.AvailabilityZones + } + return nil +} + +func (x *ShowRouterDetailsResp_Router) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ShowRouterDetailsResp_Router) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetDistributed() bool { + if x != nil { + return x.Distributed + } + return false +} + +func (x *ShowRouterDetailsResp_Router) GetExternalGatewayInfo() *ShowRouterDetailsResp_ExternalGatewayInfo { + if x != nil { + return x.ExternalGatewayInfo + } + return nil +} + +func (x *ShowRouterDetailsResp_Router) GetFlavorId() string { + if x != nil { + return x.FlavorId + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetHa() bool { + if x != nil { + return x.Ha + } + return false +} + +func (x *ShowRouterDetailsResp_Router) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ShowRouterDetailsResp_Router) GetRoutes() []*ShowRouterDetailsResp_Routes { + if x != nil { + return x.Routes + } + return nil +} + +func (x *ShowRouterDetailsResp_Router) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ShowRouterDetailsResp_Router) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetServiceTypeId() string { + if x != nil { + return x.ServiceTypeId + } + return "" +} + +func (x *ShowRouterDetailsResp_Router) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ShowRouterDetailsResp_Router) GetConntrackHelpers() []*ShowRouterDetailsResp_ConntrackHelpers { + if x != nil { + return x.ConntrackHelpers + } + return nil +} + +type ListFloatingIPsResp_PortDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + AdminStateUp bool `protobuf:"varint,3,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + NetworkId string `protobuf:"bytes,4,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + DeviceOwner string `protobuf:"bytes,5,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + MacAddress string `protobuf:"bytes,6,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` +} + +func (x *ListFloatingIPsResp_PortDetails) Reset() { + *x = ListFloatingIPsResp_PortDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[371] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFloatingIPsResp_PortDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFloatingIPsResp_PortDetails) ProtoMessage() {} + +func (x *ListFloatingIPsResp_PortDetails) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[371] + 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 ListFloatingIPsResp_PortDetails.ProtoReflect.Descriptor instead. +func (*ListFloatingIPsResp_PortDetails) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{111, 0} +} + +func (x *ListFloatingIPsResp_PortDetails) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListFloatingIPsResp_PortDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListFloatingIPsResp_PortDetails) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ListFloatingIPsResp_PortDetails) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *ListFloatingIPsResp_PortDetails) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *ListFloatingIPsResp_PortDetails) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *ListFloatingIPsResp_PortDetails) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +type ListFloatingIPsResp_PortForwardings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` + InternalIpAddress string `protobuf:"bytes,2,opt,name=internal_ip_address,json=internalIpAddress,proto3" json:"internal_ip_address,omitempty"` + InternalPort uint32 `protobuf:"varint,3,opt,name=internal_port,json=internalPort,proto3" json:"internal_port,omitempty"` + InternalPortId string `protobuf:"bytes,4,opt,name=internal_port_id,json=internalPortId,proto3" json:"internal_port_id,omitempty"` + ExternalPort uint32 `protobuf:"varint,5,opt,name=external_port,json=externalPort,proto3" json:"external_port,omitempty"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *ListFloatingIPsResp_PortForwardings) Reset() { + *x = ListFloatingIPsResp_PortForwardings{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[372] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFloatingIPsResp_PortForwardings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFloatingIPsResp_PortForwardings) ProtoMessage() {} + +func (x *ListFloatingIPsResp_PortForwardings) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[372] + 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 ListFloatingIPsResp_PortForwardings.ProtoReflect.Descriptor instead. +func (*ListFloatingIPsResp_PortForwardings) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{111, 1} +} + +func (x *ListFloatingIPsResp_PortForwardings) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ListFloatingIPsResp_PortForwardings) GetInternalIpAddress() string { + if x != nil { + return x.InternalIpAddress + } + return "" +} + +func (x *ListFloatingIPsResp_PortForwardings) GetInternalPort() uint32 { + if x != nil { + return x.InternalPort + } + return 0 +} + +func (x *ListFloatingIPsResp_PortForwardings) GetInternalPortId() string { + if x != nil { + return x.InternalPortId + } + return "" +} + +func (x *ListFloatingIPsResp_PortForwardings) GetExternalPort() uint32 { + if x != nil { + return x.ExternalPort + } + return 0 +} + +func (x *ListFloatingIPsResp_PortForwardings) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type ListFloatingIPsResp_Floatingips struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RouterId string `protobuf:"bytes,1,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + DnsDomain string `protobuf:"bytes,3,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,4,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + CreatedAt int64 `protobuf:"varint,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,7,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,9,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + FloatingNetworkId string `protobuf:"bytes,10,opt,name=floating_network_id,json=floatingNetworkId,proto3" json:"floating_network_id,omitempty"` + FixedIpAddress string `protobuf:"bytes,11,opt,name=fixed_ip_address,json=fixedIpAddress,proto3" json:"fixed_ip_address,omitempty"` + FloatingIpAddress string `protobuf:"bytes,12,opt,name=floating_ip_address,json=floatingIpAddress,proto3" json:"floating_ip_address,omitempty"` + PortId string `protobuf:"bytes,13,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + Id string `protobuf:"bytes,14,opt,name=id,proto3" json:"id,omitempty"` + Status string `protobuf:"bytes,15,opt,name=status,proto3" json:"status,omitempty"` + PortDetails *ListFloatingIPsResp_PortDetails `protobuf:"bytes,16,opt,name=port_details,json=portDetails,proto3" json:"port_details,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` + PortForwardings []*ListFloatingIPsResp_PortForwardings `protobuf:"bytes,18,rep,name=port_forwardings,json=portForwardings,proto3" json:"port_forwardings,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,19,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,20,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` +} + +func (x *ListFloatingIPsResp_Floatingips) Reset() { + *x = ListFloatingIPsResp_Floatingips{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[373] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFloatingIPsResp_Floatingips) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFloatingIPsResp_Floatingips) ProtoMessage() {} + +func (x *ListFloatingIPsResp_Floatingips) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[373] + 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 ListFloatingIPsResp_Floatingips.ProtoReflect.Descriptor instead. +func (*ListFloatingIPsResp_Floatingips) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{111, 2} +} + +func (x *ListFloatingIPsResp_Floatingips) GetRouterId() string { + if x != nil { + return x.RouterId + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListFloatingIPsResp_Floatingips) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ListFloatingIPsResp_Floatingips) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListFloatingIPsResp_Floatingips) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetFloatingNetworkId() string { + if x != nil { + return x.FloatingNetworkId + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetFixedIpAddress() string { + if x != nil { + return x.FixedIpAddress + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetFloatingIpAddress() string { + if x != nil { + return x.FloatingIpAddress + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetPortDetails() *ListFloatingIPsResp_PortDetails { + if x != nil { + return x.PortDetails + } + return nil +} + +func (x *ListFloatingIPsResp_Floatingips) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ListFloatingIPsResp_Floatingips) GetPortForwardings() []*ListFloatingIPsResp_PortForwardings { + if x != nil { + return x.PortForwardings + } + return nil +} + +func (x *ListFloatingIPsResp_Floatingips) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *ListFloatingIPsResp_Floatingips) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +type CreateFloatingIPReq_Floatingip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FloatingNetworkId string `protobuf:"bytes,1,opt,name=floating_network_id,json=floatingNetworkId,proto3" json:"floating_network_id,omitempty"` + PortId string `protobuf:"bytes,2,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + SubnetId string `protobuf:"bytes,3,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"` + FixedIpAddress string `protobuf:"bytes,4,opt,name=fixed_ip_address,json=fixedIpAddress,proto3" json:"fixed_ip_address,omitempty"` + FloatingIpAddress string `protobuf:"bytes,5,opt,name=floating_ip_address,json=floatingIpAddress,proto3" json:"floating_ip_address,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + DnsDomain string `protobuf:"bytes,7,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,8,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + QosPolicyId string `protobuf:"bytes,9,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` +} + +func (x *CreateFloatingIPReq_Floatingip) Reset() { + *x = CreateFloatingIPReq_Floatingip{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[374] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFloatingIPReq_Floatingip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFloatingIPReq_Floatingip) ProtoMessage() {} + +func (x *CreateFloatingIPReq_Floatingip) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[374] + 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 CreateFloatingIPReq_Floatingip.ProtoReflect.Descriptor instead. +func (*CreateFloatingIPReq_Floatingip) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{112, 0} +} + +func (x *CreateFloatingIPReq_Floatingip) GetFloatingNetworkId() string { + if x != nil { + return x.FloatingNetworkId + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetSubnetId() string { + if x != nil { + return x.SubnetId + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetFixedIpAddress() string { + if x != nil { + return x.FixedIpAddress + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetFloatingIpAddress() string { + if x != nil { + return x.FloatingIpAddress + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *CreateFloatingIPReq_Floatingip) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +type CreateFloatingIPResp_PortDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + AdminStateUp bool `protobuf:"varint,3,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + NetworkId string `protobuf:"bytes,4,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + DeviceOwner string `protobuf:"bytes,5,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + MacAddress string `protobuf:"bytes,6,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` +} + +func (x *CreateFloatingIPResp_PortDetails) Reset() { + *x = CreateFloatingIPResp_PortDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[375] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFloatingIPResp_PortDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFloatingIPResp_PortDetails) ProtoMessage() {} + +func (x *CreateFloatingIPResp_PortDetails) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[375] + 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 CreateFloatingIPResp_PortDetails.ProtoReflect.Descriptor instead. +func (*CreateFloatingIPResp_PortDetails) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{113, 0} +} + +func (x *CreateFloatingIPResp_PortDetails) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateFloatingIPResp_PortDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFloatingIPResp_PortDetails) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreateFloatingIPResp_PortDetails) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *CreateFloatingIPResp_PortDetails) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *CreateFloatingIPResp_PortDetails) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *CreateFloatingIPResp_PortDetails) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +type CreateFloatingIPResp_PortForwardings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` + InternalIpAddress string `protobuf:"bytes,2,opt,name=internal_ip_address,json=internalIpAddress,proto3" json:"internal_ip_address,omitempty"` + InternalPort uint32 `protobuf:"varint,3,opt,name=internal_port,json=internalPort,proto3" json:"internal_port,omitempty"` + InternalPortId string `protobuf:"bytes,4,opt,name=internal_port_id,json=internalPortId,proto3" json:"internal_port_id,omitempty"` + ExternalPort uint32 `protobuf:"varint,5,opt,name=external_port,json=externalPort,proto3" json:"external_port,omitempty"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *CreateFloatingIPResp_PortForwardings) Reset() { + *x = CreateFloatingIPResp_PortForwardings{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[376] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFloatingIPResp_PortForwardings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFloatingIPResp_PortForwardings) ProtoMessage() {} + +func (x *CreateFloatingIPResp_PortForwardings) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[376] + 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 CreateFloatingIPResp_PortForwardings.ProtoReflect.Descriptor instead. +func (*CreateFloatingIPResp_PortForwardings) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{113, 1} +} + +func (x *CreateFloatingIPResp_PortForwardings) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateFloatingIPResp_PortForwardings) GetInternalIpAddress() string { + if x != nil { + return x.InternalIpAddress + } + return "" +} + +func (x *CreateFloatingIPResp_PortForwardings) GetInternalPort() uint32 { + if x != nil { + return x.InternalPort + } + return 0 +} + +func (x *CreateFloatingIPResp_PortForwardings) GetInternalPortId() string { + if x != nil { + return x.InternalPortId + } + return "" +} + +func (x *CreateFloatingIPResp_PortForwardings) GetExternalPort() uint32 { + if x != nil { + return x.ExternalPort + } + return 0 +} + +func (x *CreateFloatingIPResp_PortForwardings) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type CreateFloatingIPResp_Floatingip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FixedIpAddress string `protobuf:"bytes,1,opt,name=fixed_ip_address,json=fixedIpAddress,proto3" json:"fixed_ip_address,omitempty"` + FloatingIpAddress string `protobuf:"bytes,2,opt,name=floating_ip_address,json=floatingIpAddress,proto3" json:"floating_ip_address,omitempty"` + FloatingNetworkId string `protobuf:"bytes,3,opt,name=floating_network_id,json=floatingNetworkId,proto3" json:"floating_network_id,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + PortId string `protobuf:"bytes,5,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + RouterId string `protobuf:"bytes,6,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,9,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + DnsDomain string `protobuf:"bytes,11,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,12,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + CreatedAt int64 `protobuf:"varint,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,15,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + PortDetails *CreateFloatingIPResp_PortDetails `protobuf:"bytes,16,opt,name=port_details,json=portDetails,proto3" json:"port_details,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` + PortForwardings []*CreateFloatingIPResp_PortForwardings `protobuf:"bytes,18,rep,name=port_forwardings,json=portForwardings,proto3" json:"port_forwardings,omitempty"` + QosPolicyId string `protobuf:"bytes,19,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` +} + +func (x *CreateFloatingIPResp_Floatingip) Reset() { + *x = CreateFloatingIPResp_Floatingip{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[377] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFloatingIPResp_Floatingip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFloatingIPResp_Floatingip) ProtoMessage() {} + +func (x *CreateFloatingIPResp_Floatingip) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[377] + 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 CreateFloatingIPResp_Floatingip.ProtoReflect.Descriptor instead. +func (*CreateFloatingIPResp_Floatingip) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{113, 2} +} + +func (x *CreateFloatingIPResp_Floatingip) GetFixedIpAddress() string { + if x != nil { + return x.FixedIpAddress + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetFloatingIpAddress() string { + if x != nil { + return x.FloatingIpAddress + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetFloatingNetworkId() string { + if x != nil { + return x.FloatingNetworkId + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetRouterId() string { + if x != nil { + return x.RouterId + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *CreateFloatingIPResp_Floatingip) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateFloatingIPResp_Floatingip) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateFloatingIPResp_Floatingip) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateFloatingIPResp_Floatingip) GetPortDetails() *CreateFloatingIPResp_PortDetails { + if x != nil { + return x.PortDetails + } + return nil +} + +func (x *CreateFloatingIPResp_Floatingip) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CreateFloatingIPResp_Floatingip) GetPortForwardings() []*CreateFloatingIPResp_PortForwardings { + if x != nil { + return x.PortForwardings + } + return nil +} + +func (x *CreateFloatingIPResp_Floatingip) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +type UpdateFloatingIPReq_Floatingip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` +} + +func (x *UpdateFloatingIPReq_Floatingip) Reset() { + *x = UpdateFloatingIPReq_Floatingip{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[378] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFloatingIPReq_Floatingip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFloatingIPReq_Floatingip) ProtoMessage() {} + +func (x *UpdateFloatingIPReq_Floatingip) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[378] + 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 UpdateFloatingIPReq_Floatingip.ProtoReflect.Descriptor instead. +func (*UpdateFloatingIPReq_Floatingip) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{114, 0} +} + +func (x *UpdateFloatingIPReq_Floatingip) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +type UpdateFloatingIPResp_PortDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + AdminStateUp bool `protobuf:"varint,3,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + NetworkId string `protobuf:"bytes,4,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + DeviceOwner string `protobuf:"bytes,5,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + MacAddress string `protobuf:"bytes,6,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` +} + +func (x *UpdateFloatingIPResp_PortDetails) Reset() { + *x = UpdateFloatingIPResp_PortDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[379] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFloatingIPResp_PortDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFloatingIPResp_PortDetails) ProtoMessage() {} + +func (x *UpdateFloatingIPResp_PortDetails) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[379] + 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 UpdateFloatingIPResp_PortDetails.ProtoReflect.Descriptor instead. +func (*UpdateFloatingIPResp_PortDetails) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{115, 0} +} + +func (x *UpdateFloatingIPResp_PortDetails) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdateFloatingIPResp_PortDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateFloatingIPResp_PortDetails) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *UpdateFloatingIPResp_PortDetails) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *UpdateFloatingIPResp_PortDetails) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *UpdateFloatingIPResp_PortDetails) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *UpdateFloatingIPResp_PortDetails) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +type UpdateFloatingIPResp_PortForwardings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` + InternalIpAddress string `protobuf:"bytes,2,opt,name=internal_ip_address,json=internalIpAddress,proto3" json:"internal_ip_address,omitempty"` + InternalPort uint32 `protobuf:"varint,3,opt,name=internal_port,json=internalPort,proto3" json:"internal_port,omitempty"` + InternalPortId string `protobuf:"bytes,4,opt,name=internal_port_id,json=internalPortId,proto3" json:"internal_port_id,omitempty"` + ExternalPort uint32 `protobuf:"varint,5,opt,name=external_port,json=externalPort,proto3" json:"external_port,omitempty"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *UpdateFloatingIPResp_PortForwardings) Reset() { + *x = UpdateFloatingIPResp_PortForwardings{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[380] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFloatingIPResp_PortForwardings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFloatingIPResp_PortForwardings) ProtoMessage() {} + +func (x *UpdateFloatingIPResp_PortForwardings) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[380] + 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 UpdateFloatingIPResp_PortForwardings.ProtoReflect.Descriptor instead. +func (*UpdateFloatingIPResp_PortForwardings) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{115, 1} +} + +func (x *UpdateFloatingIPResp_PortForwardings) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *UpdateFloatingIPResp_PortForwardings) GetInternalIpAddress() string { + if x != nil { + return x.InternalIpAddress + } + return "" +} + +func (x *UpdateFloatingIPResp_PortForwardings) GetInternalPort() uint32 { + if x != nil { + return x.InternalPort + } + return 0 +} + +func (x *UpdateFloatingIPResp_PortForwardings) GetInternalPortId() string { + if x != nil { + return x.InternalPortId + } + return "" +} + +func (x *UpdateFloatingIPResp_PortForwardings) GetExternalPort() uint32 { + if x != nil { + return x.ExternalPort + } + return 0 +} + +func (x *UpdateFloatingIPResp_PortForwardings) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type UpdateFloatingIPResp_Floatingip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreatedAt int64 `protobuf:"varint,1,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + DnsDomain string `protobuf:"bytes,3,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,4,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + FixedIpAddress string `protobuf:"bytes,5,opt,name=fixed_ip_address,json=fixedIpAddress,proto3" json:"fixed_ip_address,omitempty"` + FloatingIpAddress string `protobuf:"bytes,6,opt,name=floating_ip_address,json=floatingIpAddress,proto3" json:"floating_ip_address,omitempty"` + FloatingNetworkId string `protobuf:"bytes,7,opt,name=floating_network_id,json=floatingNetworkId,proto3" json:"floating_network_id,omitempty"` + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` + PortId string `protobuf:"bytes,9,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,11,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + RouterId string `protobuf:"bytes,12,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` + Status string `protobuf:"bytes,13,opt,name=status,proto3" json:"status,omitempty"` + Tags []string `protobuf:"bytes,14,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,15,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + UpdatedAt int64 `protobuf:"varint,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + PortDetails *UpdateFloatingIPResp_PortDetails `protobuf:"bytes,17,opt,name=port_details,json=portDetails,proto3" json:"port_details,omitempty"` + PortForwardings []*UpdateFloatingIPResp_PortForwardings `protobuf:"bytes,18,rep,name=port_forwardings,json=portForwardings,proto3" json:"port_forwardings,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,19,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,20,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` +} + +func (x *UpdateFloatingIPResp_Floatingip) Reset() { + *x = UpdateFloatingIPResp_Floatingip{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[381] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFloatingIPResp_Floatingip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFloatingIPResp_Floatingip) ProtoMessage() {} + +func (x *UpdateFloatingIPResp_Floatingip) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[381] + 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 UpdateFloatingIPResp_Floatingip.ProtoReflect.Descriptor instead. +func (*UpdateFloatingIPResp_Floatingip) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{115, 2} +} + +func (x *UpdateFloatingIPResp_Floatingip) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *UpdateFloatingIPResp_Floatingip) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetFixedIpAddress() string { + if x != nil { + return x.FixedIpAddress + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetFloatingIpAddress() string { + if x != nil { + return x.FloatingIpAddress + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetFloatingNetworkId() string { + if x != nil { + return x.FloatingNetworkId + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateFloatingIPResp_Floatingip) GetRouterId() string { + if x != nil { + return x.RouterId + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdateFloatingIPResp_Floatingip) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *UpdateFloatingIPResp_Floatingip) GetPortDetails() *UpdateFloatingIPResp_PortDetails { + if x != nil { + return x.PortDetails + } + return nil +} + +func (x *UpdateFloatingIPResp_Floatingip) GetPortForwardings() []*UpdateFloatingIPResp_PortForwardings { + if x != nil { + return x.PortForwardings + } + return nil +} + +func (x *UpdateFloatingIPResp_Floatingip) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *UpdateFloatingIPResp_Floatingip) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +type ShowFloatingIPDetailsResp_PortDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + AdminStateUp bool `protobuf:"varint,3,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + NetworkId string `protobuf:"bytes,4,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"` + DeviceOwner string `protobuf:"bytes,5,opt,name=device_owner,json=deviceOwner,proto3" json:"device_owner,omitempty"` + MacAddress string `protobuf:"bytes,6,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` + DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) Reset() { + *x = ShowFloatingIPDetailsResp_PortDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[382] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFloatingIPDetailsResp_PortDetails) ProtoMessage() {} + +func (x *ShowFloatingIPDetailsResp_PortDetails) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[382] + 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 ShowFloatingIPDetailsResp_PortDetails.ProtoReflect.Descriptor instead. +func (*ShowFloatingIPDetailsResp_PortDetails) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{119, 0} +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetNetworkId() string { + if x != nil { + return x.NetworkId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetDeviceOwner() string { + if x != nil { + return x.DeviceOwner + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetMacAddress() string { + if x != nil { + return x.MacAddress + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortDetails) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +type ShowFloatingIPDetailsResp_PortForwardings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Protocol string `protobuf:"bytes,1,opt,name=protocol,proto3" json:"protocol,omitempty"` + InternalIpAddress string `protobuf:"bytes,2,opt,name=internal_ip_address,json=internalIpAddress,proto3" json:"internal_ip_address,omitempty"` + InternalPort uint32 `protobuf:"varint,3,opt,name=internal_port,json=internalPort,proto3" json:"internal_port,omitempty"` + InternalPortId string `protobuf:"bytes,4,opt,name=internal_port_id,json=internalPortId,proto3" json:"internal_port_id,omitempty"` + ExternalPort uint32 `protobuf:"varint,5,opt,name=external_port,json=externalPort,proto3" json:"external_port,omitempty"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) Reset() { + *x = ShowFloatingIPDetailsResp_PortForwardings{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[383] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFloatingIPDetailsResp_PortForwardings) ProtoMessage() {} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[383] + 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 ShowFloatingIPDetailsResp_PortForwardings.ProtoReflect.Descriptor instead. +func (*ShowFloatingIPDetailsResp_PortForwardings) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{119, 1} +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) GetInternalIpAddress() string { + if x != nil { + return x.InternalIpAddress + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) GetInternalPort() uint32 { + if x != nil { + return x.InternalPort + } + return 0 +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) GetInternalPortId() string { + if x != nil { + return x.InternalPortId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) GetExternalPort() uint32 { + if x != nil { + return x.ExternalPort + } + return 0 +} + +func (x *ShowFloatingIPDetailsResp_PortForwardings) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type ShowFloatingIPDetailsResp_Floatingip struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FloatingNetworkId string `protobuf:"bytes,1,opt,name=floating_network_id,json=floatingNetworkId,proto3" json:"floating_network_id,omitempty"` + RouterId string `protobuf:"bytes,2,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` + FixedIpAddress string `protobuf:"bytes,3,opt,name=fixed_ip_address,json=fixedIpAddress,proto3" json:"fixed_ip_address,omitempty"` + FloatingIpAddress string `protobuf:"bytes,4,opt,name=floating_ip_address,json=floatingIpAddress,proto3" json:"floating_ip_address,omitempty"` + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,6,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + PortId string `protobuf:"bytes,8,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty"` + Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + DnsDomain string `protobuf:"bytes,11,opt,name=dns_domain,json=dnsDomain,proto3" json:"dns_domain,omitempty"` + DnsName string `protobuf:"bytes,12,opt,name=dns_name,json=dnsName,proto3" json:"dns_name,omitempty"` + CreatedAt int64 `protobuf:"varint,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,15,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + PortDetails *ShowFloatingIPDetailsResp_PortDetails `protobuf:"bytes,16,opt,name=port_details,json=portDetails,proto3" json:"port_details,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` + PortForwardings []*ShowFloatingIPDetailsResp_PortForwardings `protobuf:"bytes,18,rep,name=port_forwardings,json=portForwardings,proto3" json:"port_forwardings,omitempty"` + QosNetworkPolicyId string `protobuf:"bytes,19,opt,name=qos_network_policy_id,json=qosNetworkPolicyId,proto3" json:"qos_network_policy_id,omitempty"` + QosPolicyId string `protobuf:"bytes,20,opt,name=qos_policy_id,json=qosPolicyId,proto3" json:"qos_policy_id,omitempty"` +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) Reset() { + *x = ShowFloatingIPDetailsResp_Floatingip{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[384] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFloatingIPDetailsResp_Floatingip) ProtoMessage() {} + +func (x *ShowFloatingIPDetailsResp_Floatingip) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[384] + 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 ShowFloatingIPDetailsResp_Floatingip.ProtoReflect.Descriptor instead. +func (*ShowFloatingIPDetailsResp_Floatingip) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{119, 2} +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetFloatingNetworkId() string { + if x != nil { + return x.FloatingNetworkId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetRouterId() string { + if x != nil { + return x.RouterId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetFixedIpAddress() string { + if x != nil { + return x.FixedIpAddress + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetFloatingIpAddress() string { + if x != nil { + return x.FloatingIpAddress + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetPortId() string { + if x != nil { + return x.PortId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetDnsDomain() string { + if x != nil { + return x.DnsDomain + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetDnsName() string { + if x != nil { + return x.DnsName + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetPortDetails() *ShowFloatingIPDetailsResp_PortDetails { + if x != nil { + return x.PortDetails + } + return nil +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetPortForwardings() []*ShowFloatingIPDetailsResp_PortForwardings { + if x != nil { + return x.PortForwardings + } + return nil +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetQosNetworkPolicyId() string { + if x != nil { + return x.QosNetworkPolicyId + } + return "" +} + +func (x *ShowFloatingIPDetailsResp_Floatingip) GetQosPolicyId() string { + if x != nil { + return x.QosPolicyId + } + return "" +} + +type ListFirewallGroupsResp_FirewallGroups struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + EgressFirewallPolicyId string `protobuf:"bytes,3,opt,name=egress_firewall_policy_id,json=egressFirewallPolicyId,proto3" json:"egress_firewall_policy_id,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + IngressFirewallPolicyId string `protobuf:"bytes,5,opt,name=ingress_firewall_policy_id,json=ingressFirewallPolicyId,proto3" json:"ingress_firewall_policy_id,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Ports []string `protobuf:"bytes,7,rep,name=ports,proto3" json:"ports,omitempty"` + Shared bool `protobuf:"varint,8,opt,name=shared,proto3" json:"shared,omitempty"` + ProjectId string `protobuf:"bytes,9,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` + TenantId string `protobuf:"bytes,11,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *ListFirewallGroupsResp_FirewallGroups) Reset() { + *x = ListFirewallGroupsResp_FirewallGroups{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[385] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallGroupsResp_FirewallGroups) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallGroupsResp_FirewallGroups) ProtoMessage() {} + +func (x *ListFirewallGroupsResp_FirewallGroups) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[385] + 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 ListFirewallGroupsResp_FirewallGroups.ProtoReflect.Descriptor instead. +func (*ListFirewallGroupsResp_FirewallGroups) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{121, 0} +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetEgressFirewallPolicyId() string { + if x != nil { + return x.EgressFirewallPolicyId + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetIngressFirewallPolicyId() string { + if x != nil { + return x.IngressFirewallPolicyId + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetPorts() []string { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListFirewallGroupsResp_FirewallGroups) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type CreateFirewallGroupReq_FirewallGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + EgressFirewallPolicyId string `protobuf:"bytes,2,opt,name=egress_firewall_policy_id,json=egressFirewallPolicyId,proto3" json:"egress_firewall_policy_id,omitempty"` + IngressFirewallPolicyId string `protobuf:"bytes,3,opt,name=ingress_firewall_policy_id,json=ingressFirewallPolicyId,proto3" json:"ingress_firewall_policy_id,omitempty"` +} + +func (x *CreateFirewallGroupReq_FirewallGroup) Reset() { + *x = CreateFirewallGroupReq_FirewallGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[386] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallGroupReq_FirewallGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallGroupReq_FirewallGroup) ProtoMessage() {} + +func (x *CreateFirewallGroupReq_FirewallGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[386] + 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 CreateFirewallGroupReq_FirewallGroup.ProtoReflect.Descriptor instead. +func (*CreateFirewallGroupReq_FirewallGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{124, 0} +} + +func (x *CreateFirewallGroupReq_FirewallGroup) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreateFirewallGroupReq_FirewallGroup) GetEgressFirewallPolicyId() string { + if x != nil { + return x.EgressFirewallPolicyId + } + return "" +} + +func (x *CreateFirewallGroupReq_FirewallGroup) GetIngressFirewallPolicyId() string { + if x != nil { + return x.IngressFirewallPolicyId + } + return "" +} + +type CreateFirewallGroupResp_FirewallGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + EgressFirewallPolicyId string `protobuf:"bytes,3,opt,name=egress_firewall_policy_id,json=egressFirewallPolicyId,proto3" json:"egress_firewall_policy_id,omitempty"` + IngressFirewallPolicyId string `protobuf:"bytes,4,opt,name=ingress_firewall_policy_id,json=ingressFirewallPolicyId,proto3" json:"ingress_firewall_policy_id,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Ports []string `protobuf:"bytes,7,rep,name=ports,proto3" json:"ports,omitempty"` + ProjectId string `protobuf:"bytes,8,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Shared bool `protobuf:"varint,9,opt,name=shared,proto3" json:"shared,omitempty"` + Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` + TenantId string `protobuf:"bytes,11,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *CreateFirewallGroupResp_FirewallGroup) Reset() { + *x = CreateFirewallGroupResp_FirewallGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[387] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallGroupResp_FirewallGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallGroupResp_FirewallGroup) ProtoMessage() {} + +func (x *CreateFirewallGroupResp_FirewallGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[387] + 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 CreateFirewallGroupResp_FirewallGroup.ProtoReflect.Descriptor instead. +func (*CreateFirewallGroupResp_FirewallGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{125, 0} +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetEgressFirewallPolicyId() string { + if x != nil { + return x.EgressFirewallPolicyId + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetIngressFirewallPolicyId() string { + if x != nil { + return x.IngressFirewallPolicyId + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetPorts() []string { + if x != nil { + return x.Ports + } + return nil +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateFirewallGroupResp_FirewallGroup) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type UpdateFirewallGroupReq_FirewallGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp string `protobuf:"bytes,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` +} + +func (x *UpdateFirewallGroupReq_FirewallGroup) Reset() { + *x = UpdateFirewallGroupReq_FirewallGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[388] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFirewallGroupReq_FirewallGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFirewallGroupReq_FirewallGroup) ProtoMessage() {} + +func (x *UpdateFirewallGroupReq_FirewallGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[388] + 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 UpdateFirewallGroupReq_FirewallGroup.ProtoReflect.Descriptor instead. +func (*UpdateFirewallGroupReq_FirewallGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{126, 0} +} + +func (x *UpdateFirewallGroupReq_FirewallGroup) GetAdminStateUp() string { + if x != nil { + return x.AdminStateUp + } + return "" +} + +type UpdateFirewallGroupResp_FirewallGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + EgressFirewallPolicyId string `protobuf:"bytes,3,opt,name=egress_firewall_policy_id,json=egressFirewallPolicyId,proto3" json:"egress_firewall_policy_id,omitempty"` + IngressFirewallPolicyId string `protobuf:"bytes,4,opt,name=ingress_firewall_policy_id,json=ingressFirewallPolicyId,proto3" json:"ingress_firewall_policy_id,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Ports []string `protobuf:"bytes,7,rep,name=ports,proto3" json:"ports,omitempty"` + Shared bool `protobuf:"varint,8,opt,name=shared,proto3" json:"shared,omitempty"` + ProjectId string `protobuf:"bytes,9,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` + TenantId string `protobuf:"bytes,11,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) Reset() { + *x = UpdateFirewallGroupResp_FirewallGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[389] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFirewallGroupResp_FirewallGroup) ProtoMessage() {} + +func (x *UpdateFirewallGroupResp_FirewallGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[389] + 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 UpdateFirewallGroupResp_FirewallGroup.ProtoReflect.Descriptor instead. +func (*UpdateFirewallGroupResp_FirewallGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{127, 0} +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetEgressFirewallPolicyId() string { + if x != nil { + return x.EgressFirewallPolicyId + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetIngressFirewallPolicyId() string { + if x != nil { + return x.IngressFirewallPolicyId + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetPorts() []string { + if x != nil { + return x.Ports + } + return nil +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdateFirewallGroupResp_FirewallGroup) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type ShowFirewallGroupDetailsResp_FirewallGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdminStateUp bool `protobuf:"varint,1,opt,name=admin_state_up,json=adminStateUp,proto3" json:"admin_state_up,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + EgressFirewallPolicyId string `protobuf:"bytes,3,opt,name=egress_firewall_policy_id,json=egressFirewallPolicyId,proto3" json:"egress_firewall_policy_id,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + IngressFirewallPolicyId string `protobuf:"bytes,5,opt,name=ingress_firewall_policy_id,json=ingressFirewallPolicyId,proto3" json:"ingress_firewall_policy_id,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Shared bool `protobuf:"varint,8,opt,name=shared,proto3" json:"shared,omitempty"` + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` + TenantId string `protobuf:"bytes,10,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) Reset() { + *x = ShowFirewallGroupDetailsResp_FirewallGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[390] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallGroupDetailsResp_FirewallGroup) ProtoMessage() {} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[390] + 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 ShowFirewallGroupDetailsResp_FirewallGroup.ProtoReflect.Descriptor instead. +func (*ShowFirewallGroupDetailsResp_FirewallGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{129, 0} +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetAdminStateUp() bool { + if x != nil { + return x.AdminStateUp + } + return false +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetEgressFirewallPolicyId() string { + if x != nil { + return x.EgressFirewallPolicyId + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetIngressFirewallPolicyId() string { + if x != nil { + return x.IngressFirewallPolicyId + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ShowFirewallGroupDetailsResp_FirewallGroup) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type CreateFirewallPolicyReq_FirewallPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + FirewallRules []string `protobuf:"bytes,2,rep,name=firewall_rules,json=firewallRules,proto3" json:"firewall_rules,omitempty"` +} + +func (x *CreateFirewallPolicyReq_FirewallPolicy) Reset() { + *x = CreateFirewallPolicyReq_FirewallPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[391] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallPolicyReq_FirewallPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallPolicyReq_FirewallPolicy) ProtoMessage() {} + +func (x *CreateFirewallPolicyReq_FirewallPolicy) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[391] + 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 CreateFirewallPolicyReq_FirewallPolicy.ProtoReflect.Descriptor instead. +func (*CreateFirewallPolicyReq_FirewallPolicy) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{130, 0} +} + +func (x *CreateFirewallPolicyReq_FirewallPolicy) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFirewallPolicyReq_FirewallPolicy) GetFirewallRules() []string { + if x != nil { + return x.FirewallRules + } + return nil +} + +type CreateFirewallPolicyResp_FirewallPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Audited bool `protobuf:"varint,1,opt,name=audited,proto3" json:"audited,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + FirewallRules []string `protobuf:"bytes,3,rep,name=firewall_rules,json=firewallRules,proto3" json:"firewall_rules,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Shared bool `protobuf:"varint,7,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,8,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) Reset() { + *x = CreateFirewallPolicyResp_FirewallPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[392] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallPolicyResp_FirewallPolicy) ProtoMessage() {} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[392] + 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 CreateFirewallPolicyResp_FirewallPolicy.ProtoReflect.Descriptor instead. +func (*CreateFirewallPolicyResp_FirewallPolicy) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{131, 0} +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetAudited() bool { + if x != nil { + return x.Audited + } + return false +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetFirewallRules() []string { + if x != nil { + return x.FirewallRules + } + return nil +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *CreateFirewallPolicyResp_FirewallPolicy) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type ListFirewallPoliciesResp_FirewallPolicies struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Audited bool `protobuf:"varint,1,opt,name=audited,proto3" json:"audited,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + FirewallRules []string `protobuf:"bytes,3,rep,name=firewall_rules,json=firewallRules,proto3" json:"firewall_rules,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Shared bool `protobuf:"varint,7,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,8,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) Reset() { + *x = ListFirewallPoliciesResp_FirewallPolicies{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[393] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallPoliciesResp_FirewallPolicies) ProtoMessage() {} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[393] + 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 ListFirewallPoliciesResp_FirewallPolicies.ProtoReflect.Descriptor instead. +func (*ListFirewallPoliciesResp_FirewallPolicies) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{135, 0} +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetAudited() bool { + if x != nil { + return x.Audited + } + return false +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetFirewallRules() []string { + if x != nil { + return x.FirewallRules + } + return nil +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ListFirewallPoliciesResp_FirewallPolicies) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type ShowFirewallPolicyDetailsResp_FirewallPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Audited bool `protobuf:"varint,1,opt,name=audited,proto3" json:"audited,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + FirewallRules []string `protobuf:"bytes,3,rep,name=firewall_rules,json=firewallRules,proto3" json:"firewall_rules,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Shared bool `protobuf:"varint,7,opt,name=shared,proto3" json:"shared,omitempty"` + TenantId string `protobuf:"bytes,8,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) Reset() { + *x = ShowFirewallPolicyDetailsResp_FirewallPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[394] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallPolicyDetailsResp_FirewallPolicy) ProtoMessage() {} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[394] + 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 ShowFirewallPolicyDetailsResp_FirewallPolicy.ProtoReflect.Descriptor instead. +func (*ShowFirewallPolicyDetailsResp_FirewallPolicy) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{137, 0} +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetAudited() bool { + if x != nil { + return x.Audited + } + return false +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetFirewallRules() []string { + if x != nil { + return x.FirewallRules + } + return nil +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ShowFirewallPolicyDetailsResp_FirewallPolicy) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type CreateFirewallRuleReq_FirewallRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + DestinationPort string `protobuf:"bytes,2,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Protocol string `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"` +} + +func (x *CreateFirewallRuleReq_FirewallRule) Reset() { + *x = CreateFirewallRuleReq_FirewallRule{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[395] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallRuleReq_FirewallRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallRuleReq_FirewallRule) ProtoMessage() {} + +func (x *CreateFirewallRuleReq_FirewallRule) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[395] + 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 CreateFirewallRuleReq_FirewallRule.ProtoReflect.Descriptor instead. +func (*CreateFirewallRuleReq_FirewallRule) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{138, 0} +} + +func (x *CreateFirewallRuleReq_FirewallRule) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *CreateFirewallRuleReq_FirewallRule) GetDestinationPort() string { + if x != nil { + return x.DestinationPort + } + return "" +} + +func (x *CreateFirewallRuleReq_FirewallRule) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *CreateFirewallRuleReq_FirewallRule) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFirewallRuleReq_FirewallRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +type CreateFirewallRuleResp_FirewallRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + DestinationFirewallGroupId string `protobuf:"bytes,3,opt,name=destination_firewall_group_id,json=destinationFirewallGroupId,proto3" json:"destination_firewall_group_id,omitempty"` + DestinationIpAddress string `protobuf:"bytes,4,opt,name=destination_ip_address,json=destinationIpAddress,proto3" json:"destination_ip_address,omitempty"` + DestinationPort string `protobuf:"bytes,5,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` + Id string `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` + IpVersion uint32 `protobuf:"varint,8,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Protocol string `protobuf:"bytes,11,opt,name=protocol,proto3" json:"protocol,omitempty"` + Shared bool `protobuf:"varint,12,opt,name=shared,proto3" json:"shared,omitempty"` + SourceFirewallGroupId string `protobuf:"bytes,13,opt,name=source_firewall_group_id,json=sourceFirewallGroupId,proto3" json:"source_firewall_group_id,omitempty"` + SourceIpAddress string `protobuf:"bytes,14,opt,name=source_ip_address,json=sourceIpAddress,proto3" json:"source_ip_address,omitempty"` + SourcePort string `protobuf:"bytes,15,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` + TenantId string `protobuf:"bytes,16,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *CreateFirewallRuleResp_FirewallRule) Reset() { + *x = CreateFirewallRuleResp_FirewallRule{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[396] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFirewallRuleResp_FirewallRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallRuleResp_FirewallRule) ProtoMessage() {} + +func (x *CreateFirewallRuleResp_FirewallRule) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[396] + 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 CreateFirewallRuleResp_FirewallRule.ProtoReflect.Descriptor instead. +func (*CreateFirewallRuleResp_FirewallRule) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{139, 0} +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetDestinationFirewallGroupId() string { + if x != nil { + return x.DestinationFirewallGroupId + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetDestinationIpAddress() string { + if x != nil { + return x.DestinationIpAddress + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetDestinationPort() string { + if x != nil { + return x.DestinationPort + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetSourceFirewallGroupId() string { + if x != nil { + return x.SourceFirewallGroupId + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetSourceIpAddress() string { + if x != nil { + return x.SourceIpAddress + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetSourcePort() string { + if x != nil { + return x.SourcePort + } + return "" +} + +func (x *CreateFirewallRuleResp_FirewallRule) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type ListFirewallRulesResp_FirewallRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + DestinationFirewallGroupId string `protobuf:"bytes,3,opt,name=destination_firewall_group_id,json=destinationFirewallGroupId,proto3" json:"destination_firewall_group_id,omitempty"` + DestinationIpAddress string `protobuf:"bytes,4,opt,name=destination_ip_address,json=destinationIpAddress,proto3" json:"destination_ip_address,omitempty"` + DestinationPort string `protobuf:"bytes,5,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` + FirewallPolicyId string `protobuf:"bytes,7,opt,name=firewall_policy_id,json=firewallPolicyId,proto3" json:"firewall_policy_id,omitempty"` + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` + IpVersion uint32 `protobuf:"varint,9,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` + Position uint32 `protobuf:"varint,11,opt,name=position,proto3" json:"position,omitempty"` + ProjectId string `protobuf:"bytes,12,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Protocol string `protobuf:"bytes,13,opt,name=protocol,proto3" json:"protocol,omitempty"` + Shared bool `protobuf:"varint,14,opt,name=shared,proto3" json:"shared,omitempty"` + SourceFirewallGroupId string `protobuf:"bytes,15,opt,name=source_firewall_group_id,json=sourceFirewallGroupId,proto3" json:"source_firewall_group_id,omitempty"` + SourceIpAddress string `protobuf:"bytes,16,opt,name=source_ip_address,json=sourceIpAddress,proto3" json:"source_ip_address,omitempty"` + SourcePort string `protobuf:"bytes,17,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` + TenantId string `protobuf:"bytes,18,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *ListFirewallRulesResp_FirewallRules) Reset() { + *x = ListFirewallRulesResp_FirewallRules{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[397] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFirewallRulesResp_FirewallRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallRulesResp_FirewallRules) ProtoMessage() {} + +func (x *ListFirewallRulesResp_FirewallRules) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[397] + 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 ListFirewallRulesResp_FirewallRules.ProtoReflect.Descriptor instead. +func (*ListFirewallRulesResp_FirewallRules) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{143, 0} +} + +func (x *ListFirewallRulesResp_FirewallRules) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetDestinationFirewallGroupId() string { + if x != nil { + return x.DestinationFirewallGroupId + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetDestinationIpAddress() string { + if x != nil { + return x.DestinationIpAddress + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetDestinationPort() string { + if x != nil { + return x.DestinationPort + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ListFirewallRulesResp_FirewallRules) GetFirewallPolicyId() string { + if x != nil { + return x.FirewallPolicyId + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *ListFirewallRulesResp_FirewallRules) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetPosition() uint32 { + if x != nil { + return x.Position + } + return 0 +} + +func (x *ListFirewallRulesResp_FirewallRules) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ListFirewallRulesResp_FirewallRules) GetSourceFirewallGroupId() string { + if x != nil { + return x.SourceFirewallGroupId + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetSourceIpAddress() string { + if x != nil { + return x.SourceIpAddress + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetSourcePort() string { + if x != nil { + return x.SourcePort + } + return "" +} + +func (x *ListFirewallRulesResp_FirewallRules) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type ShowFirewallRuleDetailsResp_FirewallRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + DestinationFirewallGroupId string `protobuf:"bytes,3,opt,name=destination_firewall_group_id,json=destinationFirewallGroupId,proto3" json:"destination_firewall_group_id,omitempty"` + DestinationIpAddress string `protobuf:"bytes,4,opt,name=destination_ip_address,json=destinationIpAddress,proto3" json:"destination_ip_address,omitempty"` + DestinationPort string `protobuf:"bytes,5,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` + FirewallPolicyId string `protobuf:"bytes,7,opt,name=firewall_policy_id,json=firewallPolicyId,proto3" json:"firewall_policy_id,omitempty"` + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` + IpVersion uint32 `protobuf:"varint,9,opt,name=ip_version,json=ipVersion,proto3" json:"ip_version,omitempty"` + Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` + Position string `protobuf:"bytes,11,opt,name=position,proto3" json:"position,omitempty"` + ProjectId string `protobuf:"bytes,12,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Protocol string `protobuf:"bytes,13,opt,name=protocol,proto3" json:"protocol,omitempty"` + Shared bool `protobuf:"varint,14,opt,name=shared,proto3" json:"shared,omitempty"` + SourceFirewallGroupId string `protobuf:"bytes,15,opt,name=source_firewall_group_id,json=sourceFirewallGroupId,proto3" json:"source_firewall_group_id,omitempty"` + SourceIpAddress string `protobuf:"bytes,16,opt,name=source_ip_address,json=sourceIpAddress,proto3" json:"source_ip_address,omitempty"` + SourcePort string `protobuf:"bytes,17,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` + TenantId string `protobuf:"bytes,18,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) Reset() { + *x = ShowFirewallRuleDetailsResp_FirewallRule{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[398] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowFirewallRuleDetailsResp_FirewallRule) ProtoMessage() {} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[398] + 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 ShowFirewallRuleDetailsResp_FirewallRule.ProtoReflect.Descriptor instead. +func (*ShowFirewallRuleDetailsResp_FirewallRule) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{145, 0} +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetDestinationFirewallGroupId() string { + if x != nil { + return x.DestinationFirewallGroupId + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetDestinationIpAddress() string { + if x != nil { + return x.DestinationIpAddress + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetDestinationPort() string { + if x != nil { + return x.DestinationPort + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetFirewallPolicyId() string { + if x != nil { + return x.FirewallPolicyId + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetIpVersion() uint32 { + if x != nil { + return x.IpVersion + } + return 0 +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetPosition() string { + if x != nil { + return x.Position + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetSourceFirewallGroupId() string { + if x != nil { + return x.SourceFirewallGroupId + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetSourceIpAddress() string { + if x != nil { + return x.SourceIpAddress + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetSourcePort() string { + if x != nil { + return x.SourcePort + } + return "" +} + +func (x *ShowFirewallRuleDetailsResp_FirewallRule) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type ListSecurityGroupsResp_SecurityGroupRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax int64 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin int64 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + SecurityGroupId string `protobuf:"bytes,9,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,11,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,13,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,17,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) Reset() { + *x = ListSecurityGroupsResp_SecurityGroupRules{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[399] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupsResp_SecurityGroupRules) ProtoMessage() {} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[399] + 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 ListSecurityGroupsResp_SecurityGroupRules.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupsResp_SecurityGroupRules) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{147, 0} +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetPortRangeMax() int64 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetPortRangeMin() int64 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroupRules) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type ListSecurityGroupsResp_SecurityGroups struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + SecurityGroupRules []*ListSecurityGroupsResp_SecurityGroupRules `protobuf:"bytes,4,rep,name=security_group_rules,json=securityGroupRules,proto3" json:"security_group_rules,omitempty"` + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,6,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + CreatedAt int64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,10,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Stateful bool `protobuf:"varint,11,opt,name=stateful,proto3" json:"stateful,omitempty"` + Shared bool `protobuf:"varint,12,opt,name=shared,proto3" json:"shared,omitempty"` +} + +func (x *ListSecurityGroupsResp_SecurityGroups) Reset() { + *x = ListSecurityGroupsResp_SecurityGroups{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[400] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupsResp_SecurityGroups) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupsResp_SecurityGroups) ProtoMessage() {} + +func (x *ListSecurityGroupsResp_SecurityGroups) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[400] + 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 ListSecurityGroupsResp_SecurityGroups.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupsResp_SecurityGroups) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{147, 1} +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetSecurityGroupRules() []*ListSecurityGroupsResp_SecurityGroupRules { + if x != nil { + return x.SecurityGroupRules + } + return nil +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetStateful() bool { + if x != nil { + return x.Stateful + } + return false +} + +func (x *ListSecurityGroupsResp_SecurityGroups) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +type CreateSecurityGroupReq_SecurityGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Stateful bool `protobuf:"varint,3,opt,name=stateful,proto3" json:"stateful,omitempty"` +} + +func (x *CreateSecurityGroupReq_SecurityGroup) Reset() { + *x = CreateSecurityGroupReq_SecurityGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[401] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupReq_SecurityGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupReq_SecurityGroup) ProtoMessage() {} + +func (x *CreateSecurityGroupReq_SecurityGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[401] + 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 CreateSecurityGroupReq_SecurityGroup.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupReq_SecurityGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{148, 0} +} + +func (x *CreateSecurityGroupReq_SecurityGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateSecurityGroupReq_SecurityGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateSecurityGroupReq_SecurityGroup) GetStateful() bool { + if x != nil { + return x.Stateful + } + return false +} + +type CreateSecurityGroupResp_SecurityGroupRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax int64 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin int64 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + SecurityGroupId string `protobuf:"bytes,9,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + CreatedAt int64 `protobuf:"varint,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,13,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,15,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,16,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Description string `protobuf:"bytes,17,opt,name=description,proto3" json:"description,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,18,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) Reset() { + *x = CreateSecurityGroupResp_SecurityGroupRules{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[402] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupResp_SecurityGroupRules) ProtoMessage() {} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[402] + 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 CreateSecurityGroupResp_SecurityGroupRules.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupResp_SecurityGroupRules) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{149, 0} +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetPortRangeMax() int64 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetPortRangeMin() int64 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroupRules) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type CreateSecurityGroupResp_SecurityGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + SecurityGroupRules []*CreateSecurityGroupResp_SecurityGroupRules `protobuf:"bytes,4,rep,name=security_group_rules,json=securityGroupRules,proto3" json:"security_group_rules,omitempty"` + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + CreatedAt int64 `protobuf:"varint,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,8,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,10,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Stateful bool `protobuf:"varint,11,opt,name=stateful,proto3" json:"stateful,omitempty"` + Shared bool `protobuf:"varint,12,opt,name=shared,proto3" json:"shared,omitempty"` +} + +func (x *CreateSecurityGroupResp_SecurityGroup) Reset() { + *x = CreateSecurityGroupResp_SecurityGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[403] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupResp_SecurityGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupResp_SecurityGroup) ProtoMessage() {} + +func (x *CreateSecurityGroupResp_SecurityGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[403] + 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 CreateSecurityGroupResp_SecurityGroup.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupResp_SecurityGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{149, 1} +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetSecurityGroupRules() []*CreateSecurityGroupResp_SecurityGroupRules { + if x != nil { + return x.SecurityGroupRules + } + return nil +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetStateful() bool { + if x != nil { + return x.Stateful + } + return false +} + +func (x *CreateSecurityGroupResp_SecurityGroup) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +type UpdateSecurityGroupResp_SecurityGroupRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax int64 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin int64 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + SecurityGroupId string `protobuf:"bytes,9,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,11,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,13,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,17,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) Reset() { + *x = UpdateSecurityGroupResp_SecurityGroupRules{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[404] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSecurityGroupResp_SecurityGroupRules) ProtoMessage() {} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[404] + 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 UpdateSecurityGroupResp_SecurityGroupRules.ProtoReflect.Descriptor instead. +func (*UpdateSecurityGroupResp_SecurityGroupRules) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{153, 0} +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetPortRangeMax() int64 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetPortRangeMin() int64 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroupRules) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type UpdateSecurityGroupResp_SecurityGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SecurityGroupRules []*UpdateSecurityGroupResp_SecurityGroupRules `protobuf:"bytes,1,rep,name=security_group_rules,json=securityGroupRules,proto3" json:"security_group_rules,omitempty"` + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,3,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + CreatedAt int64 `protobuf:"varint,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Id string `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,9,opt,name=description,proto3" json:"description,omitempty"` + Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"` + Stateful bool `protobuf:"varint,11,opt,name=stateful,proto3" json:"stateful,omitempty"` + Shared bool `protobuf:"varint,12,opt,name=shared,proto3" json:"shared,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,13,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) Reset() { + *x = UpdateSecurityGroupResp_SecurityGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[405] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSecurityGroupResp_SecurityGroup) ProtoMessage() {} + +func (x *UpdateSecurityGroupResp_SecurityGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[405] + 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 UpdateSecurityGroupResp_SecurityGroup.ProtoReflect.Descriptor instead. +func (*UpdateSecurityGroupResp_SecurityGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{153, 1} +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetSecurityGroupRules() []*UpdateSecurityGroupResp_SecurityGroupRules { + if x != nil { + return x.SecurityGroupRules + } + return nil +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetStateful() bool { + if x != nil { + return x.Stateful + } + return false +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +func (x *UpdateSecurityGroupResp_SecurityGroup) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type ShowSecurityGroupResp_SecurityGroupRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax int64 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin int64 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + SecurityGroupId string `protobuf:"bytes,9,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,11,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,12,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,13,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,17,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) Reset() { + *x = ShowSecurityGroupResp_SecurityGroupRules{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[406] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowSecurityGroupResp_SecurityGroupRules) ProtoMessage() {} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[406] + 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 ShowSecurityGroupResp_SecurityGroupRules.ProtoReflect.Descriptor instead. +func (*ShowSecurityGroupResp_SecurityGroupRules) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{155, 0} +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetPortRangeMax() int64 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetPortRangeMin() int64 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroupRules) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type ShowSecurityGroupResp_SecurityGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + SecurityGroupRules []*ShowSecurityGroupResp_SecurityGroupRules `protobuf:"bytes,4,rep,name=security_group_rules,json=securityGroupRules,proto3" json:"security_group_rules,omitempty"` + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + CreatedAt int64 `protobuf:"varint,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + RevisionNumber uint32 `protobuf:"varint,8,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"` + TenantId string `protobuf:"bytes,10,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Stateful bool `protobuf:"varint,11,opt,name=stateful,proto3" json:"stateful,omitempty"` + Shared bool `protobuf:"varint,12,opt,name=shared,proto3" json:"shared,omitempty"` +} + +func (x *ShowSecurityGroupResp_SecurityGroup) Reset() { + *x = ShowSecurityGroupResp_SecurityGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[407] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowSecurityGroupResp_SecurityGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowSecurityGroupResp_SecurityGroup) ProtoMessage() {} + +func (x *ShowSecurityGroupResp_SecurityGroup) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[407] + 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 ShowSecurityGroupResp_SecurityGroup.ProtoReflect.Descriptor instead. +func (*ShowSecurityGroupResp_SecurityGroup) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{155, 1} +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetSecurityGroupRules() []*ShowSecurityGroupResp_SecurityGroupRules { + if x != nil { + return x.SecurityGroupRules + } + return nil +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetStateful() bool { + if x != nil { + return x.Stateful + } + return false +} + +func (x *ShowSecurityGroupResp_SecurityGroup) GetShared() bool { + if x != nil { + return x.Shared + } + return false +} + +type ListSecurityGroupRulesResp_SecurityGroupRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax int64 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin int64 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + SecurityGroupId string `protobuf:"bytes,9,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,11,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + CreatedAt int64 `protobuf:"varint,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + TenantId string `protobuf:"bytes,14,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Description string `protobuf:"bytes,15,opt,name=description,proto3" json:"description,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,16,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) Reset() { + *x = ListSecurityGroupRulesResp_SecurityGroupRules{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[408] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSecurityGroupRulesResp_SecurityGroupRules) ProtoMessage() {} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[408] + 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 ListSecurityGroupRulesResp_SecurityGroupRules.ProtoReflect.Descriptor instead. +func (*ListSecurityGroupRulesResp_SecurityGroupRules) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{157, 0} +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetPortRangeMax() int64 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetPortRangeMin() int64 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ListSecurityGroupRulesResp_SecurityGroupRules) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type CreateSecurityGroupRuleReq_SecurityGroupRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + PortRangeMin string `protobuf:"bytes,2,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Ethertype string `protobuf:"bytes,3,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + PortRangeMax string `protobuf:"bytes,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + Protocol string `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,6,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + SecurityGroupId string `protobuf:"bytes,7,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) Reset() { + *x = CreateSecurityGroupRuleReq_SecurityGroupRule{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[409] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupRuleReq_SecurityGroupRule) ProtoMessage() {} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[409] + 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 CreateSecurityGroupRuleReq_SecurityGroupRule.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupRuleReq_SecurityGroupRule) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{158, 0} +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetPortRangeMin() string { + if x != nil { + return x.PortRangeMin + } + return "" +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetPortRangeMax() string { + if x != nil { + return x.PortRangeMax + } + return "" +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *CreateSecurityGroupRuleReq_SecurityGroupRule) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +type CreateSecurityGroupRuleResp_SecurityGroupRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax uint32 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin uint32 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + SecurityGroupId string `protobuf:"bytes,9,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RevisionNumber uint32 `protobuf:"varint,11,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + TenantId string `protobuf:"bytes,12,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + CreatedAt int64 `protobuf:"varint,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Description string `protobuf:"bytes,15,opt,name=description,proto3" json:"description,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,16,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) Reset() { + *x = CreateSecurityGroupRuleResp_SecurityGroupRule{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[410] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSecurityGroupRuleResp_SecurityGroupRule) ProtoMessage() {} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[410] + 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 CreateSecurityGroupRuleResp_SecurityGroupRule.ProtoReflect.Descriptor instead. +func (*CreateSecurityGroupRuleResp_SecurityGroupRule) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{159, 0} +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetPortRangeMax() uint32 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetPortRangeMin() uint32 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateSecurityGroupRuleResp_SecurityGroupRule) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + +type DeleteSecurityGroupRuleResp_SecurityGroupRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Direction string `protobuf:"bytes,1,opt,name=direction,proto3" json:"direction,omitempty"` + Ethertype string `protobuf:"bytes,2,opt,name=ethertype,proto3" json:"ethertype,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + PortRangeMax int64 `protobuf:"varint,4,opt,name=port_range_max,json=portRangeMax,proto3" json:"port_range_max,omitempty"` + PortRangeMin int64 `protobuf:"varint,5,opt,name=port_range_min,json=portRangeMin,proto3" json:"port_range_min,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + RemoteGroupId string `protobuf:"bytes,7,opt,name=remote_group_id,json=remoteGroupId,proto3" json:"remote_group_id,omitempty"` + RemoteIpPrefix string `protobuf:"bytes,8,opt,name=remote_ip_prefix,json=remoteIpPrefix,proto3" json:"remote_ip_prefix,omitempty"` + RevisionNumber uint32 `protobuf:"varint,9,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt int64 `protobuf:"varint,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + SecurityGroupId string `protobuf:"bytes,12,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"` + ProjectId string `protobuf:"bytes,13,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + TenantId string `protobuf:"bytes,14,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + BelongsToDefaultSg bool `protobuf:"varint,15,opt,name=belongs_to_default_sg,json=belongsToDefaultSg,proto3" json:"belongs_to_default_sg,omitempty"` +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) Reset() { + *x = DeleteSecurityGroupRuleResp_SecurityGroupRule{} + if protoimpl.UnsafeEnabled { + mi := &file_pcm_openstack_proto_msgTypes[411] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSecurityGroupRuleResp_SecurityGroupRule) ProtoMessage() {} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) ProtoReflect() protoreflect.Message { + mi := &file_pcm_openstack_proto_msgTypes[411] + 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 DeleteSecurityGroupRuleResp_SecurityGroupRule.ProtoReflect.Descriptor instead. +func (*DeleteSecurityGroupRuleResp_SecurityGroupRule) Descriptor() ([]byte, []int) { + return file_pcm_openstack_proto_rawDescGZIP(), []int{163, 0} +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetEthertype() string { + if x != nil { + return x.Ethertype + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetPortRangeMax() int64 { + if x != nil { + return x.PortRangeMax + } + return 0 +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetPortRangeMin() int64 { + if x != nil { + return x.PortRangeMin + } + return 0 +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetRemoteGroupId() string { + if x != nil { + return x.RemoteGroupId + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetRemoteIpPrefix() string { + if x != nil { + return x.RemoteIpPrefix + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetRevisionNumber() uint32 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetSecurityGroupId() string { + if x != nil { + return x.SecurityGroupId + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *DeleteSecurityGroupRuleResp_SecurityGroupRule) GetBelongsToDefaultSg() bool { + if x != nil { + return x.BelongsToDefaultSg + } + return false +} + type ListNodesResp_Links struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -14093,7 +33722,7 @@ type ListNodesResp_Links struct { func (x *ListNodesResp_Links) Reset() { *x = ListNodesResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[165] + mi := &file_pcm_openstack_proto_msgTypes[412] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14106,7 +33735,7 @@ func (x *ListNodesResp_Links) String() string { func (*ListNodesResp_Links) ProtoMessage() {} func (x *ListNodesResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[165] + mi := &file_pcm_openstack_proto_msgTypes[412] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14119,7 +33748,7 @@ func (x *ListNodesResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodesResp_Links.ProtoReflect.Descriptor instead. func (*ListNodesResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{53, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{165, 0} } func (x *ListNodesResp_Links) GetHref() string { @@ -14153,7 +33782,7 @@ type ListNodesResp_Nodes struct { func (x *ListNodesResp_Nodes) Reset() { *x = ListNodesResp_Nodes{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[166] + mi := &file_pcm_openstack_proto_msgTypes[413] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14166,7 +33795,7 @@ func (x *ListNodesResp_Nodes) String() string { func (*ListNodesResp_Nodes) ProtoMessage() {} func (x *ListNodesResp_Nodes) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[166] + mi := &file_pcm_openstack_proto_msgTypes[413] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14179,7 +33808,7 @@ func (x *ListNodesResp_Nodes) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodesResp_Nodes.ProtoReflect.Descriptor instead. func (*ListNodesResp_Nodes) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{53, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{165, 1} } func (x *ListNodesResp_Nodes) GetInstanceUuid() string { @@ -14243,7 +33872,7 @@ type CreateNodeReq_DriverInfo struct { func (x *CreateNodeReq_DriverInfo) Reset() { *x = CreateNodeReq_DriverInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[167] + mi := &file_pcm_openstack_proto_msgTypes[414] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14256,7 +33885,7 @@ func (x *CreateNodeReq_DriverInfo) String() string { func (*CreateNodeReq_DriverInfo) ProtoMessage() {} func (x *CreateNodeReq_DriverInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[167] + mi := &file_pcm_openstack_proto_msgTypes[414] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14269,7 +33898,7 @@ func (x *CreateNodeReq_DriverInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeReq_DriverInfo.ProtoReflect.Descriptor instead. func (*CreateNodeReq_DriverInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{54, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{166, 0} } func (x *CreateNodeReq_DriverInfo) GetIpmiUsername() string { @@ -14295,7 +33924,7 @@ type CreateNodeReq_Properties struct { func (x *CreateNodeReq_Properties) Reset() { *x = CreateNodeReq_Properties{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[168] + mi := &file_pcm_openstack_proto_msgTypes[415] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14308,7 +33937,7 @@ func (x *CreateNodeReq_Properties) String() string { func (*CreateNodeReq_Properties) ProtoMessage() {} func (x *CreateNodeReq_Properties) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[168] + mi := &file_pcm_openstack_proto_msgTypes[415] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14321,7 +33950,7 @@ func (x *CreateNodeReq_Properties) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeReq_Properties.ProtoReflect.Descriptor instead. func (*CreateNodeReq_Properties) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{54, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{166, 1} } type CreateNodeReq_InstanceInfo struct { @@ -14333,7 +33962,7 @@ type CreateNodeReq_InstanceInfo struct { func (x *CreateNodeReq_InstanceInfo) Reset() { *x = CreateNodeReq_InstanceInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[169] + mi := &file_pcm_openstack_proto_msgTypes[416] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14346,7 +33975,7 @@ func (x *CreateNodeReq_InstanceInfo) String() string { func (*CreateNodeReq_InstanceInfo) ProtoMessage() {} func (x *CreateNodeReq_InstanceInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[169] + mi := &file_pcm_openstack_proto_msgTypes[416] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14359,7 +33988,7 @@ func (x *CreateNodeReq_InstanceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeReq_InstanceInfo.ProtoReflect.Descriptor instead. func (*CreateNodeReq_InstanceInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{54, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{166, 2} } type CreateNodeReq_NetworkData struct { @@ -14371,7 +34000,7 @@ type CreateNodeReq_NetworkData struct { func (x *CreateNodeReq_NetworkData) Reset() { *x = CreateNodeReq_NetworkData{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[170] + mi := &file_pcm_openstack_proto_msgTypes[417] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14384,7 +34013,7 @@ func (x *CreateNodeReq_NetworkData) String() string { func (*CreateNodeReq_NetworkData) ProtoMessage() {} func (x *CreateNodeReq_NetworkData) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[170] + mi := &file_pcm_openstack_proto_msgTypes[417] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14397,7 +34026,7 @@ func (x *CreateNodeReq_NetworkData) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeReq_NetworkData.ProtoReflect.Descriptor instead. func (*CreateNodeReq_NetworkData) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{54, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{166, 3} } type CreateNodeResp_CleanStep struct { @@ -14409,7 +34038,7 @@ type CreateNodeResp_CleanStep struct { func (x *CreateNodeResp_CleanStep) Reset() { *x = CreateNodeResp_CleanStep{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[171] + mi := &file_pcm_openstack_proto_msgTypes[418] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14422,7 +34051,7 @@ func (x *CreateNodeResp_CleanStep) String() string { func (*CreateNodeResp_CleanStep) ProtoMessage() {} func (x *CreateNodeResp_CleanStep) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[171] + mi := &file_pcm_openstack_proto_msgTypes[418] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14435,7 +34064,7 @@ func (x *CreateNodeResp_CleanStep) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_CleanStep.ProtoReflect.Descriptor instead. func (*CreateNodeResp_CleanStep) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 0} } type CreateNodeResp_DeployStep struct { @@ -14447,7 +34076,7 @@ type CreateNodeResp_DeployStep struct { func (x *CreateNodeResp_DeployStep) Reset() { *x = CreateNodeResp_DeployStep{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[172] + mi := &file_pcm_openstack_proto_msgTypes[419] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14460,7 +34089,7 @@ func (x *CreateNodeResp_DeployStep) String() string { func (*CreateNodeResp_DeployStep) ProtoMessage() {} func (x *CreateNodeResp_DeployStep) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[172] + mi := &file_pcm_openstack_proto_msgTypes[419] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14473,7 +34102,7 @@ func (x *CreateNodeResp_DeployStep) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_DeployStep.ProtoReflect.Descriptor instead. func (*CreateNodeResp_DeployStep) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 1} } type CreateNodeResp_DriverInfo struct { @@ -14488,7 +34117,7 @@ type CreateNodeResp_DriverInfo struct { func (x *CreateNodeResp_DriverInfo) Reset() { *x = CreateNodeResp_DriverInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[173] + mi := &file_pcm_openstack_proto_msgTypes[420] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14501,7 +34130,7 @@ func (x *CreateNodeResp_DriverInfo) String() string { func (*CreateNodeResp_DriverInfo) ProtoMessage() {} func (x *CreateNodeResp_DriverInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[173] + mi := &file_pcm_openstack_proto_msgTypes[420] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14514,7 +34143,7 @@ func (x *CreateNodeResp_DriverInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_DriverInfo.ProtoReflect.Descriptor instead. func (*CreateNodeResp_DriverInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 2} } func (x *CreateNodeResp_DriverInfo) GetIpmiPassword() string { @@ -14540,7 +34169,7 @@ type CreateNodeResp_DriverInternalInfo struct { func (x *CreateNodeResp_DriverInternalInfo) Reset() { *x = CreateNodeResp_DriverInternalInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[174] + mi := &file_pcm_openstack_proto_msgTypes[421] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14553,7 +34182,7 @@ func (x *CreateNodeResp_DriverInternalInfo) String() string { func (*CreateNodeResp_DriverInternalInfo) ProtoMessage() {} func (x *CreateNodeResp_DriverInternalInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[174] + mi := &file_pcm_openstack_proto_msgTypes[421] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14566,7 +34195,7 @@ func (x *CreateNodeResp_DriverInternalInfo) ProtoReflect() protoreflect.Message // Deprecated: Use CreateNodeResp_DriverInternalInfo.ProtoReflect.Descriptor instead. func (*CreateNodeResp_DriverInternalInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 3} } type CreateNodeResp_Extra struct { @@ -14578,7 +34207,7 @@ type CreateNodeResp_Extra struct { func (x *CreateNodeResp_Extra) Reset() { *x = CreateNodeResp_Extra{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[175] + mi := &file_pcm_openstack_proto_msgTypes[422] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14591,7 +34220,7 @@ func (x *CreateNodeResp_Extra) String() string { func (*CreateNodeResp_Extra) ProtoMessage() {} func (x *CreateNodeResp_Extra) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[175] + mi := &file_pcm_openstack_proto_msgTypes[422] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14604,7 +34233,7 @@ func (x *CreateNodeResp_Extra) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_Extra.ProtoReflect.Descriptor instead. func (*CreateNodeResp_Extra) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 4} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 4} } type CreateNodeResp_InstanceInfo struct { @@ -14616,7 +34245,7 @@ type CreateNodeResp_InstanceInfo struct { func (x *CreateNodeResp_InstanceInfo) Reset() { *x = CreateNodeResp_InstanceInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[176] + mi := &file_pcm_openstack_proto_msgTypes[423] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14629,7 +34258,7 @@ func (x *CreateNodeResp_InstanceInfo) String() string { func (*CreateNodeResp_InstanceInfo) ProtoMessage() {} func (x *CreateNodeResp_InstanceInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[176] + mi := &file_pcm_openstack_proto_msgTypes[423] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14642,7 +34271,7 @@ func (x *CreateNodeResp_InstanceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_InstanceInfo.ProtoReflect.Descriptor instead. func (*CreateNodeResp_InstanceInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 5} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 5} } type CreateNodeResp_Links struct { @@ -14657,7 +34286,7 @@ type CreateNodeResp_Links struct { func (x *CreateNodeResp_Links) Reset() { *x = CreateNodeResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[177] + mi := &file_pcm_openstack_proto_msgTypes[424] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14670,7 +34299,7 @@ func (x *CreateNodeResp_Links) String() string { func (*CreateNodeResp_Links) ProtoMessage() {} func (x *CreateNodeResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[177] + mi := &file_pcm_openstack_proto_msgTypes[424] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14683,7 +34312,7 @@ func (x *CreateNodeResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_Links.ProtoReflect.Descriptor instead. func (*CreateNodeResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 6} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 6} } func (x *CreateNodeResp_Links) GetHref() string { @@ -14709,7 +34338,7 @@ type CreateNodeResp_NetworkData struct { func (x *CreateNodeResp_NetworkData) Reset() { *x = CreateNodeResp_NetworkData{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[178] + mi := &file_pcm_openstack_proto_msgTypes[425] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14722,7 +34351,7 @@ func (x *CreateNodeResp_NetworkData) String() string { func (*CreateNodeResp_NetworkData) ProtoMessage() {} func (x *CreateNodeResp_NetworkData) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[178] + mi := &file_pcm_openstack_proto_msgTypes[425] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14735,7 +34364,7 @@ func (x *CreateNodeResp_NetworkData) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_NetworkData.ProtoReflect.Descriptor instead. func (*CreateNodeResp_NetworkData) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 7} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 7} } type CreateNodeResp_Portgroups struct { @@ -14750,7 +34379,7 @@ type CreateNodeResp_Portgroups struct { func (x *CreateNodeResp_Portgroups) Reset() { *x = CreateNodeResp_Portgroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[179] + mi := &file_pcm_openstack_proto_msgTypes[426] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14763,7 +34392,7 @@ func (x *CreateNodeResp_Portgroups) String() string { func (*CreateNodeResp_Portgroups) ProtoMessage() {} func (x *CreateNodeResp_Portgroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[179] + mi := &file_pcm_openstack_proto_msgTypes[426] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14776,7 +34405,7 @@ func (x *CreateNodeResp_Portgroups) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_Portgroups.ProtoReflect.Descriptor instead. func (*CreateNodeResp_Portgroups) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 8} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 8} } func (x *CreateNodeResp_Portgroups) GetHref() string { @@ -14805,7 +34434,7 @@ type CreateNodeResp_Ports struct { func (x *CreateNodeResp_Ports) Reset() { *x = CreateNodeResp_Ports{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[180] + mi := &file_pcm_openstack_proto_msgTypes[427] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14818,7 +34447,7 @@ func (x *CreateNodeResp_Ports) String() string { func (*CreateNodeResp_Ports) ProtoMessage() {} func (x *CreateNodeResp_Ports) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[180] + mi := &file_pcm_openstack_proto_msgTypes[427] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14831,7 +34460,7 @@ func (x *CreateNodeResp_Ports) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_Ports.ProtoReflect.Descriptor instead. func (*CreateNodeResp_Ports) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 9} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 9} } func (x *CreateNodeResp_Ports) GetHref() string { @@ -14857,7 +34486,7 @@ type CreateNodeResp_Properties struct { func (x *CreateNodeResp_Properties) Reset() { *x = CreateNodeResp_Properties{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[181] + mi := &file_pcm_openstack_proto_msgTypes[428] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14870,7 +34499,7 @@ func (x *CreateNodeResp_Properties) String() string { func (*CreateNodeResp_Properties) ProtoMessage() {} func (x *CreateNodeResp_Properties) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[181] + mi := &file_pcm_openstack_proto_msgTypes[428] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14883,7 +34512,7 @@ func (x *CreateNodeResp_Properties) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_Properties.ProtoReflect.Descriptor instead. func (*CreateNodeResp_Properties) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 10} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 10} } type CreateNodeResp_RaidConfig struct { @@ -14895,7 +34524,7 @@ type CreateNodeResp_RaidConfig struct { func (x *CreateNodeResp_RaidConfig) Reset() { *x = CreateNodeResp_RaidConfig{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[182] + mi := &file_pcm_openstack_proto_msgTypes[429] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14908,7 +34537,7 @@ func (x *CreateNodeResp_RaidConfig) String() string { func (*CreateNodeResp_RaidConfig) ProtoMessage() {} func (x *CreateNodeResp_RaidConfig) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[182] + mi := &file_pcm_openstack_proto_msgTypes[429] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14921,7 +34550,7 @@ func (x *CreateNodeResp_RaidConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_RaidConfig.ProtoReflect.Descriptor instead. func (*CreateNodeResp_RaidConfig) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 11} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 11} } type CreateNodeResp_States struct { @@ -14936,7 +34565,7 @@ type CreateNodeResp_States struct { func (x *CreateNodeResp_States) Reset() { *x = CreateNodeResp_States{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[183] + mi := &file_pcm_openstack_proto_msgTypes[430] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14949,7 +34578,7 @@ func (x *CreateNodeResp_States) String() string { func (*CreateNodeResp_States) ProtoMessage() {} func (x *CreateNodeResp_States) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[183] + mi := &file_pcm_openstack_proto_msgTypes[430] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14962,7 +34591,7 @@ func (x *CreateNodeResp_States) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_States.ProtoReflect.Descriptor instead. func (*CreateNodeResp_States) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 12} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 12} } func (x *CreateNodeResp_States) GetHref() string { @@ -14988,7 +34617,7 @@ type CreateNodeResp_TargetRaidConfig struct { func (x *CreateNodeResp_TargetRaidConfig) Reset() { *x = CreateNodeResp_TargetRaidConfig{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[184] + mi := &file_pcm_openstack_proto_msgTypes[431] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15001,7 +34630,7 @@ func (x *CreateNodeResp_TargetRaidConfig) String() string { func (*CreateNodeResp_TargetRaidConfig) ProtoMessage() {} func (x *CreateNodeResp_TargetRaidConfig) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[184] + mi := &file_pcm_openstack_proto_msgTypes[431] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15014,7 +34643,7 @@ func (x *CreateNodeResp_TargetRaidConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_TargetRaidConfig.ProtoReflect.Descriptor instead. func (*CreateNodeResp_TargetRaidConfig) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 13} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 13} } type CreateNodeResp_Volume struct { @@ -15029,7 +34658,7 @@ type CreateNodeResp_Volume struct { func (x *CreateNodeResp_Volume) Reset() { *x = CreateNodeResp_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[185] + mi := &file_pcm_openstack_proto_msgTypes[432] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15042,7 +34671,7 @@ func (x *CreateNodeResp_Volume) String() string { func (*CreateNodeResp_Volume) ProtoMessage() {} func (x *CreateNodeResp_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[185] + mi := &file_pcm_openstack_proto_msgTypes[432] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15055,7 +34684,7 @@ func (x *CreateNodeResp_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNodeResp_Volume.ProtoReflect.Descriptor instead. func (*CreateNodeResp_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{55, 14} + return file_pcm_openstack_proto_rawDescGZIP(), []int{167, 14} } func (x *CreateNodeResp_Volume) GetHref() string { @@ -15081,7 +34710,7 @@ type ShowNodeDetailsReq_Fields struct { func (x *ShowNodeDetailsReq_Fields) Reset() { *x = ShowNodeDetailsReq_Fields{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[186] + mi := &file_pcm_openstack_proto_msgTypes[433] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15094,7 +34723,7 @@ func (x *ShowNodeDetailsReq_Fields) String() string { func (*ShowNodeDetailsReq_Fields) ProtoMessage() {} func (x *ShowNodeDetailsReq_Fields) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[186] + mi := &file_pcm_openstack_proto_msgTypes[433] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15107,7 +34736,7 @@ func (x *ShowNodeDetailsReq_Fields) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsReq_Fields.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsReq_Fields) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{58, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{170, 0} } type ShowNodeDetailsResp_CleanStep struct { @@ -15119,7 +34748,7 @@ type ShowNodeDetailsResp_CleanStep struct { func (x *ShowNodeDetailsResp_CleanStep) Reset() { *x = ShowNodeDetailsResp_CleanStep{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[187] + mi := &file_pcm_openstack_proto_msgTypes[434] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15132,7 +34761,7 @@ func (x *ShowNodeDetailsResp_CleanStep) String() string { func (*ShowNodeDetailsResp_CleanStep) ProtoMessage() {} func (x *ShowNodeDetailsResp_CleanStep) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[187] + mi := &file_pcm_openstack_proto_msgTypes[434] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15145,7 +34774,7 @@ func (x *ShowNodeDetailsResp_CleanStep) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_CleanStep.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_CleanStep) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 0} } type ShowNodeDetailsResp_DeployStep struct { @@ -15157,7 +34786,7 @@ type ShowNodeDetailsResp_DeployStep struct { func (x *ShowNodeDetailsResp_DeployStep) Reset() { *x = ShowNodeDetailsResp_DeployStep{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[188] + mi := &file_pcm_openstack_proto_msgTypes[435] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15170,7 +34799,7 @@ func (x *ShowNodeDetailsResp_DeployStep) String() string { func (*ShowNodeDetailsResp_DeployStep) ProtoMessage() {} func (x *ShowNodeDetailsResp_DeployStep) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[188] + mi := &file_pcm_openstack_proto_msgTypes[435] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15183,7 +34812,7 @@ func (x *ShowNodeDetailsResp_DeployStep) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_DeployStep.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_DeployStep) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 1} } type ShowNodeDetailsResp_DriverInfo struct { @@ -15198,7 +34827,7 @@ type ShowNodeDetailsResp_DriverInfo struct { func (x *ShowNodeDetailsResp_DriverInfo) Reset() { *x = ShowNodeDetailsResp_DriverInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[189] + mi := &file_pcm_openstack_proto_msgTypes[436] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15211,7 +34840,7 @@ func (x *ShowNodeDetailsResp_DriverInfo) String() string { func (*ShowNodeDetailsResp_DriverInfo) ProtoMessage() {} func (x *ShowNodeDetailsResp_DriverInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[189] + mi := &file_pcm_openstack_proto_msgTypes[436] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15224,7 +34853,7 @@ func (x *ShowNodeDetailsResp_DriverInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_DriverInfo.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_DriverInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 2} } func (x *ShowNodeDetailsResp_DriverInfo) GetIpmiPassword() string { @@ -15252,7 +34881,7 @@ type ShowNodeDetailsResp_DriverInternalInfo struct { func (x *ShowNodeDetailsResp_DriverInternalInfo) Reset() { *x = ShowNodeDetailsResp_DriverInternalInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[190] + mi := &file_pcm_openstack_proto_msgTypes[437] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15265,7 +34894,7 @@ func (x *ShowNodeDetailsResp_DriverInternalInfo) String() string { func (*ShowNodeDetailsResp_DriverInternalInfo) ProtoMessage() {} func (x *ShowNodeDetailsResp_DriverInternalInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[190] + mi := &file_pcm_openstack_proto_msgTypes[437] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15278,7 +34907,7 @@ func (x *ShowNodeDetailsResp_DriverInternalInfo) ProtoReflect() protoreflect.Mes // Deprecated: Use ShowNodeDetailsResp_DriverInternalInfo.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_DriverInternalInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 3} } func (x *ShowNodeDetailsResp_DriverInternalInfo) GetCleanSteps() string { @@ -15297,7 +34926,7 @@ type ShowNodeDetailsResp_Extra struct { func (x *ShowNodeDetailsResp_Extra) Reset() { *x = ShowNodeDetailsResp_Extra{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[191] + mi := &file_pcm_openstack_proto_msgTypes[438] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15310,7 +34939,7 @@ func (x *ShowNodeDetailsResp_Extra) String() string { func (*ShowNodeDetailsResp_Extra) ProtoMessage() {} func (x *ShowNodeDetailsResp_Extra) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[191] + mi := &file_pcm_openstack_proto_msgTypes[438] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15323,7 +34952,7 @@ func (x *ShowNodeDetailsResp_Extra) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Extra.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Extra) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 4} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 4} } type ShowNodeDetailsResp_InstanceInfo struct { @@ -15335,7 +34964,7 @@ type ShowNodeDetailsResp_InstanceInfo struct { func (x *ShowNodeDetailsResp_InstanceInfo) Reset() { *x = ShowNodeDetailsResp_InstanceInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[192] + mi := &file_pcm_openstack_proto_msgTypes[439] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15348,7 +34977,7 @@ func (x *ShowNodeDetailsResp_InstanceInfo) String() string { func (*ShowNodeDetailsResp_InstanceInfo) ProtoMessage() {} func (x *ShowNodeDetailsResp_InstanceInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[192] + mi := &file_pcm_openstack_proto_msgTypes[439] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15361,7 +34990,7 @@ func (x *ShowNodeDetailsResp_InstanceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_InstanceInfo.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_InstanceInfo) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 5} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 5} } type ShowNodeDetailsResp_Links struct { @@ -15376,7 +35005,7 @@ type ShowNodeDetailsResp_Links struct { func (x *ShowNodeDetailsResp_Links) Reset() { *x = ShowNodeDetailsResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[193] + mi := &file_pcm_openstack_proto_msgTypes[440] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15389,7 +35018,7 @@ func (x *ShowNodeDetailsResp_Links) String() string { func (*ShowNodeDetailsResp_Links) ProtoMessage() {} func (x *ShowNodeDetailsResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[193] + mi := &file_pcm_openstack_proto_msgTypes[440] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15402,7 +35031,7 @@ func (x *ShowNodeDetailsResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Links.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 6} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 6} } func (x *ShowNodeDetailsResp_Links) GetHref() string { @@ -15428,7 +35057,7 @@ type ShowNodeDetailsResp_NetworkData struct { func (x *ShowNodeDetailsResp_NetworkData) Reset() { *x = ShowNodeDetailsResp_NetworkData{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[194] + mi := &file_pcm_openstack_proto_msgTypes[441] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15441,7 +35070,7 @@ func (x *ShowNodeDetailsResp_NetworkData) String() string { func (*ShowNodeDetailsResp_NetworkData) ProtoMessage() {} func (x *ShowNodeDetailsResp_NetworkData) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[194] + mi := &file_pcm_openstack_proto_msgTypes[441] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15454,7 +35083,7 @@ func (x *ShowNodeDetailsResp_NetworkData) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_NetworkData.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_NetworkData) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 7} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 7} } type ShowNodeDetailsResp_Portgroups struct { @@ -15469,7 +35098,7 @@ type ShowNodeDetailsResp_Portgroups struct { func (x *ShowNodeDetailsResp_Portgroups) Reset() { *x = ShowNodeDetailsResp_Portgroups{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[195] + mi := &file_pcm_openstack_proto_msgTypes[442] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15482,7 +35111,7 @@ func (x *ShowNodeDetailsResp_Portgroups) String() string { func (*ShowNodeDetailsResp_Portgroups) ProtoMessage() {} func (x *ShowNodeDetailsResp_Portgroups) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[195] + mi := &file_pcm_openstack_proto_msgTypes[442] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15495,7 +35124,7 @@ func (x *ShowNodeDetailsResp_Portgroups) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Portgroups.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Portgroups) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 8} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 8} } func (x *ShowNodeDetailsResp_Portgroups) GetHref() string { @@ -15524,7 +35153,7 @@ type ShowNodeDetailsResp_Ports struct { func (x *ShowNodeDetailsResp_Ports) Reset() { *x = ShowNodeDetailsResp_Ports{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[196] + mi := &file_pcm_openstack_proto_msgTypes[443] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15537,7 +35166,7 @@ func (x *ShowNodeDetailsResp_Ports) String() string { func (*ShowNodeDetailsResp_Ports) ProtoMessage() {} func (x *ShowNodeDetailsResp_Ports) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[196] + mi := &file_pcm_openstack_proto_msgTypes[443] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15550,7 +35179,7 @@ func (x *ShowNodeDetailsResp_Ports) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Ports.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Ports) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 9} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 9} } func (x *ShowNodeDetailsResp_Ports) GetHref() string { @@ -15576,7 +35205,7 @@ type ShowNodeDetailsResp_Properties struct { func (x *ShowNodeDetailsResp_Properties) Reset() { *x = ShowNodeDetailsResp_Properties{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[197] + mi := &file_pcm_openstack_proto_msgTypes[444] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15589,7 +35218,7 @@ func (x *ShowNodeDetailsResp_Properties) String() string { func (*ShowNodeDetailsResp_Properties) ProtoMessage() {} func (x *ShowNodeDetailsResp_Properties) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[197] + mi := &file_pcm_openstack_proto_msgTypes[444] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15602,7 +35231,7 @@ func (x *ShowNodeDetailsResp_Properties) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Properties.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Properties) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 10} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 10} } type ShowNodeDetailsResp_RaidConfig struct { @@ -15614,7 +35243,7 @@ type ShowNodeDetailsResp_RaidConfig struct { func (x *ShowNodeDetailsResp_RaidConfig) Reset() { *x = ShowNodeDetailsResp_RaidConfig{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[198] + mi := &file_pcm_openstack_proto_msgTypes[445] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15627,7 +35256,7 @@ func (x *ShowNodeDetailsResp_RaidConfig) String() string { func (*ShowNodeDetailsResp_RaidConfig) ProtoMessage() {} func (x *ShowNodeDetailsResp_RaidConfig) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[198] + mi := &file_pcm_openstack_proto_msgTypes[445] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15640,7 +35269,7 @@ func (x *ShowNodeDetailsResp_RaidConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_RaidConfig.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_RaidConfig) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 11} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 11} } type ShowNodeDetailsResp_States struct { @@ -15655,7 +35284,7 @@ type ShowNodeDetailsResp_States struct { func (x *ShowNodeDetailsResp_States) Reset() { *x = ShowNodeDetailsResp_States{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[199] + mi := &file_pcm_openstack_proto_msgTypes[446] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15668,7 +35297,7 @@ func (x *ShowNodeDetailsResp_States) String() string { func (*ShowNodeDetailsResp_States) ProtoMessage() {} func (x *ShowNodeDetailsResp_States) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[199] + mi := &file_pcm_openstack_proto_msgTypes[446] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15681,7 +35310,7 @@ func (x *ShowNodeDetailsResp_States) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_States.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_States) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 12} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 12} } func (x *ShowNodeDetailsResp_States) GetHref() string { @@ -15707,7 +35336,7 @@ type ShowNodeDetailsResp_TargetRaidConfig struct { func (x *ShowNodeDetailsResp_TargetRaidConfig) Reset() { *x = ShowNodeDetailsResp_TargetRaidConfig{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[200] + mi := &file_pcm_openstack_proto_msgTypes[447] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15720,7 +35349,7 @@ func (x *ShowNodeDetailsResp_TargetRaidConfig) String() string { func (*ShowNodeDetailsResp_TargetRaidConfig) ProtoMessage() {} func (x *ShowNodeDetailsResp_TargetRaidConfig) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[200] + mi := &file_pcm_openstack_proto_msgTypes[447] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15733,7 +35362,7 @@ func (x *ShowNodeDetailsResp_TargetRaidConfig) ProtoReflect() protoreflect.Messa // Deprecated: Use ShowNodeDetailsResp_TargetRaidConfig.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_TargetRaidConfig) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 13} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 13} } type ShowNodeDetailsResp_Volume struct { @@ -15748,7 +35377,7 @@ type ShowNodeDetailsResp_Volume struct { func (x *ShowNodeDetailsResp_Volume) Reset() { *x = ShowNodeDetailsResp_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[201] + mi := &file_pcm_openstack_proto_msgTypes[448] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15761,7 +35390,7 @@ func (x *ShowNodeDetailsResp_Volume) String() string { func (*ShowNodeDetailsResp_Volume) ProtoMessage() {} func (x *ShowNodeDetailsResp_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[201] + mi := &file_pcm_openstack_proto_msgTypes[448] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15774,7 +35403,7 @@ func (x *ShowNodeDetailsResp_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Volume.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 14} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 14} } func (x *ShowNodeDetailsResp_Volume) GetHref() string { @@ -15800,7 +35429,7 @@ type ShowNodeDetailsResp_Traits struct { func (x *ShowNodeDetailsResp_Traits) Reset() { *x = ShowNodeDetailsResp_Traits{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[202] + mi := &file_pcm_openstack_proto_msgTypes[449] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15813,7 +35442,7 @@ func (x *ShowNodeDetailsResp_Traits) String() string { func (*ShowNodeDetailsResp_Traits) ProtoMessage() {} func (x *ShowNodeDetailsResp_Traits) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[202] + mi := &file_pcm_openstack_proto_msgTypes[449] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15826,7 +35455,7 @@ func (x *ShowNodeDetailsResp_Traits) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowNodeDetailsResp_Traits.ProtoReflect.Descriptor instead. func (*ShowNodeDetailsResp_Traits) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{59, 15} + return file_pcm_openstack_proto_rawDescGZIP(), []int{171, 15} } type CreateImageResp_Tags struct { @@ -15838,7 +35467,7 @@ type CreateImageResp_Tags struct { func (x *CreateImageResp_Tags) Reset() { *x = CreateImageResp_Tags{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[203] + mi := &file_pcm_openstack_proto_msgTypes[450] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15851,7 +35480,7 @@ func (x *CreateImageResp_Tags) String() string { func (*CreateImageResp_Tags) ProtoMessage() {} func (x *CreateImageResp_Tags) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[203] + mi := &file_pcm_openstack_proto_msgTypes[450] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15864,7 +35493,7 @@ func (x *CreateImageResp_Tags) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageResp_Tags.ProtoReflect.Descriptor instead. func (*CreateImageResp_Tags) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{62, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{174, 0} } type CreateImageResp_Locations struct { @@ -15876,7 +35505,7 @@ type CreateImageResp_Locations struct { func (x *CreateImageResp_Locations) Reset() { *x = CreateImageResp_Locations{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[204] + mi := &file_pcm_openstack_proto_msgTypes[451] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15889,7 +35518,7 @@ func (x *CreateImageResp_Locations) String() string { func (*CreateImageResp_Locations) ProtoMessage() {} func (x *CreateImageResp_Locations) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[204] + mi := &file_pcm_openstack_proto_msgTypes[451] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15902,7 +35531,7 @@ func (x *CreateImageResp_Locations) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageResp_Locations.ProtoReflect.Descriptor instead. func (*CreateImageResp_Locations) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{62, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{174, 1} } type ListImagesResp_Images struct { @@ -15937,7 +35566,7 @@ type ListImagesResp_Images struct { func (x *ListImagesResp_Images) Reset() { *x = ListImagesResp_Images{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[205] + mi := &file_pcm_openstack_proto_msgTypes[452] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15950,7 +35579,7 @@ func (x *ListImagesResp_Images) String() string { func (*ListImagesResp_Images) ProtoMessage() {} func (x *ListImagesResp_Images) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[205] + mi := &file_pcm_openstack_proto_msgTypes[452] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15963,7 +35592,7 @@ func (x *ListImagesResp_Images) ProtoReflect() protoreflect.Message { // Deprecated: Use ListImagesResp_Images.ProtoReflect.Descriptor instead. func (*ListImagesResp_Images) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{64, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{176, 0} } func (x *ListImagesResp_Images) GetStatus() string { @@ -16129,7 +35758,7 @@ type ListImagesResp_Tags struct { func (x *ListImagesResp_Tags) Reset() { *x = ListImagesResp_Tags{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[206] + mi := &file_pcm_openstack_proto_msgTypes[453] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16142,7 +35771,7 @@ func (x *ListImagesResp_Tags) String() string { func (*ListImagesResp_Tags) ProtoMessage() {} func (x *ListImagesResp_Tags) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[206] + mi := &file_pcm_openstack_proto_msgTypes[453] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16155,7 +35784,7 @@ func (x *ListImagesResp_Tags) ProtoReflect() protoreflect.Message { // Deprecated: Use ListImagesResp_Tags.ProtoReflect.Descriptor instead. func (*ListImagesResp_Tags) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{64, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{176, 1} } type ListVolumesResp_Links struct { @@ -16170,7 +35799,7 @@ type ListVolumesResp_Links struct { func (x *ListVolumesResp_Links) Reset() { *x = ListVolumesResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[207] + mi := &file_pcm_openstack_proto_msgTypes[454] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16183,7 +35812,7 @@ func (x *ListVolumesResp_Links) String() string { func (*ListVolumesResp_Links) ProtoMessage() {} func (x *ListVolumesResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[207] + mi := &file_pcm_openstack_proto_msgTypes[454] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16196,7 +35825,7 @@ func (x *ListVolumesResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesResp_Links.ProtoReflect.Descriptor instead. func (*ListVolumesResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{70, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{182, 0} } func (x *ListVolumesResp_Links) GetHref() string { @@ -16226,7 +35855,7 @@ type ListVolumesResp_Volumes struct { func (x *ListVolumesResp_Volumes) Reset() { *x = ListVolumesResp_Volumes{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[208] + mi := &file_pcm_openstack_proto_msgTypes[455] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16239,7 +35868,7 @@ func (x *ListVolumesResp_Volumes) String() string { func (*ListVolumesResp_Volumes) ProtoMessage() {} func (x *ListVolumesResp_Volumes) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[208] + mi := &file_pcm_openstack_proto_msgTypes[455] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16252,7 +35881,7 @@ func (x *ListVolumesResp_Volumes) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesResp_Volumes.ProtoReflect.Descriptor instead. func (*ListVolumesResp_Volumes) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{70, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{182, 1} } func (x *ListVolumesResp_Volumes) GetId() string { @@ -16288,7 +35917,7 @@ type ListVolumesDetailResp_Links struct { func (x *ListVolumesDetailResp_Links) Reset() { *x = ListVolumesDetailResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[209] + mi := &file_pcm_openstack_proto_msgTypes[456] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16301,7 +35930,7 @@ func (x *ListVolumesDetailResp_Links) String() string { func (*ListVolumesDetailResp_Links) ProtoMessage() {} func (x *ListVolumesDetailResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[209] + mi := &file_pcm_openstack_proto_msgTypes[456] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16314,7 +35943,7 @@ func (x *ListVolumesDetailResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesDetailResp_Links.ProtoReflect.Descriptor instead. func (*ListVolumesDetailResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{72, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{184, 0} } func (x *ListVolumesDetailResp_Links) GetHref() string { @@ -16348,7 +35977,7 @@ type ListVolumesDetailResp_Attachments struct { func (x *ListVolumesDetailResp_Attachments) Reset() { *x = ListVolumesDetailResp_Attachments{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[210] + mi := &file_pcm_openstack_proto_msgTypes[457] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16361,7 +35990,7 @@ func (x *ListVolumesDetailResp_Attachments) String() string { func (*ListVolumesDetailResp_Attachments) ProtoMessage() {} func (x *ListVolumesDetailResp_Attachments) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[210] + mi := &file_pcm_openstack_proto_msgTypes[457] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16374,7 +36003,7 @@ func (x *ListVolumesDetailResp_Attachments) ProtoReflect() protoreflect.Message // Deprecated: Use ListVolumesDetailResp_Attachments.ProtoReflect.Descriptor instead. func (*ListVolumesDetailResp_Attachments) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{72, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{184, 1} } func (x *ListVolumesDetailResp_Attachments) GetServerId() string { @@ -16435,7 +36064,7 @@ type ListVolumesDetailResp_Metadata struct { func (x *ListVolumesDetailResp_Metadata) Reset() { *x = ListVolumesDetailResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[211] + mi := &file_pcm_openstack_proto_msgTypes[458] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16448,7 +36077,7 @@ func (x *ListVolumesDetailResp_Metadata) String() string { func (*ListVolumesDetailResp_Metadata) ProtoMessage() {} func (x *ListVolumesDetailResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[211] + mi := &file_pcm_openstack_proto_msgTypes[458] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16461,7 +36090,7 @@ func (x *ListVolumesDetailResp_Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumesDetailResp_Metadata.ProtoReflect.Descriptor instead. func (*ListVolumesDetailResp_Metadata) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{72, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{184, 2} } type ListVolumesDetailResp_VolumeDetail struct { @@ -16508,7 +36137,7 @@ type ListVolumesDetailResp_VolumeDetail struct { func (x *ListVolumesDetailResp_VolumeDetail) Reset() { *x = ListVolumesDetailResp_VolumeDetail{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[212] + mi := &file_pcm_openstack_proto_msgTypes[459] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16521,7 +36150,7 @@ func (x *ListVolumesDetailResp_VolumeDetail) String() string { func (*ListVolumesDetailResp_VolumeDetail) ProtoMessage() {} func (x *ListVolumesDetailResp_VolumeDetail) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[212] + mi := &file_pcm_openstack_proto_msgTypes[459] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16534,7 +36163,7 @@ func (x *ListVolumesDetailResp_VolumeDetail) ProtoReflect() protoreflect.Message // Deprecated: Use ListVolumesDetailResp_VolumeDetail.ProtoReflect.Descriptor instead. func (*ListVolumesDetailResp_VolumeDetail) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{72, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{184, 3} } func (x *ListVolumesDetailResp_VolumeDetail) GetId() string { @@ -16785,7 +36414,7 @@ type CreateVolumeReq_Metadata struct { func (x *CreateVolumeReq_Metadata) Reset() { *x = CreateVolumeReq_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[213] + mi := &file_pcm_openstack_proto_msgTypes[460] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16798,7 +36427,7 @@ func (x *CreateVolumeReq_Metadata) String() string { func (*CreateVolumeReq_Metadata) ProtoMessage() {} func (x *CreateVolumeReq_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[213] + mi := &file_pcm_openstack_proto_msgTypes[460] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16811,7 +36440,7 @@ func (x *CreateVolumeReq_Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeReq_Metadata.ProtoReflect.Descriptor instead. func (*CreateVolumeReq_Metadata) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{73, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{185, 0} } type CreateVolumeReq_Volume struct { @@ -16830,7 +36459,7 @@ type CreateVolumeReq_Volume struct { func (x *CreateVolumeReq_Volume) Reset() { *x = CreateVolumeReq_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[214] + mi := &file_pcm_openstack_proto_msgTypes[461] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16843,7 +36472,7 @@ func (x *CreateVolumeReq_Volume) String() string { func (*CreateVolumeReq_Volume) ProtoMessage() {} func (x *CreateVolumeReq_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[214] + mi := &file_pcm_openstack_proto_msgTypes[461] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16856,7 +36485,7 @@ func (x *CreateVolumeReq_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeReq_Volume.ProtoReflect.Descriptor instead. func (*CreateVolumeReq_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{73, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{185, 1} } func (x *CreateVolumeReq_Volume) GetSize() int32 { @@ -16913,7 +36542,7 @@ type CreateVolumeResp_Links struct { func (x *CreateVolumeResp_Links) Reset() { *x = CreateVolumeResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[215] + mi := &file_pcm_openstack_proto_msgTypes[462] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16926,7 +36555,7 @@ func (x *CreateVolumeResp_Links) String() string { func (*CreateVolumeResp_Links) ProtoMessage() {} func (x *CreateVolumeResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[215] + mi := &file_pcm_openstack_proto_msgTypes[462] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16939,7 +36568,7 @@ func (x *CreateVolumeResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeResp_Links.ProtoReflect.Descriptor instead. func (*CreateVolumeResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{74, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{186, 0} } func (x *CreateVolumeResp_Links) GetHref() string { @@ -16965,7 +36594,7 @@ type CreateVolumeResp_Metadata struct { func (x *CreateVolumeResp_Metadata) Reset() { *x = CreateVolumeResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[216] + mi := &file_pcm_openstack_proto_msgTypes[463] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16978,7 +36607,7 @@ func (x *CreateVolumeResp_Metadata) String() string { func (*CreateVolumeResp_Metadata) ProtoMessage() {} func (x *CreateVolumeResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[216] + mi := &file_pcm_openstack_proto_msgTypes[463] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16991,7 +36620,7 @@ func (x *CreateVolumeResp_Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeResp_Metadata.ProtoReflect.Descriptor instead. func (*CreateVolumeResp_Metadata) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{74, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{186, 1} } type CreateVolumeResp_Volume struct { @@ -17032,7 +36661,7 @@ type CreateVolumeResp_Volume struct { func (x *CreateVolumeResp_Volume) Reset() { *x = CreateVolumeResp_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[217] + mi := &file_pcm_openstack_proto_msgTypes[464] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17045,7 +36674,7 @@ func (x *CreateVolumeResp_Volume) String() string { func (*CreateVolumeResp_Volume) ProtoMessage() {} func (x *CreateVolumeResp_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[217] + mi := &file_pcm_openstack_proto_msgTypes[464] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17058,7 +36687,7 @@ func (x *CreateVolumeResp_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeResp_Volume.ProtoReflect.Descriptor instead. func (*CreateVolumeResp_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{74, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{186, 2} } func (x *CreateVolumeResp_Volume) GetAttachments() []*CreateVolumeResp_Attachments { @@ -17274,7 +36903,7 @@ type CreateVolumeResp_Attachments struct { func (x *CreateVolumeResp_Attachments) Reset() { *x = CreateVolumeResp_Attachments{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[218] + mi := &file_pcm_openstack_proto_msgTypes[465] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17287,7 +36916,7 @@ func (x *CreateVolumeResp_Attachments) String() string { func (*CreateVolumeResp_Attachments) ProtoMessage() {} func (x *CreateVolumeResp_Attachments) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[218] + mi := &file_pcm_openstack_proto_msgTypes[465] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17300,7 +36929,7 @@ func (x *CreateVolumeResp_Attachments) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeResp_Attachments.ProtoReflect.Descriptor instead. func (*CreateVolumeResp_Attachments) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{74, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{186, 3} } func (x *CreateVolumeResp_Attachments) GetServerId() string { @@ -17363,7 +36992,7 @@ type UpdateVolumeReq_Metadata struct { func (x *UpdateVolumeReq_Metadata) Reset() { *x = UpdateVolumeReq_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[219] + mi := &file_pcm_openstack_proto_msgTypes[466] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17376,7 +37005,7 @@ func (x *UpdateVolumeReq_Metadata) String() string { func (*UpdateVolumeReq_Metadata) ProtoMessage() {} func (x *UpdateVolumeReq_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[219] + mi := &file_pcm_openstack_proto_msgTypes[466] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17389,7 +37018,7 @@ func (x *UpdateVolumeReq_Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeReq_Metadata.ProtoReflect.Descriptor instead. func (*UpdateVolumeReq_Metadata) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{77, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{189, 0} } func (x *UpdateVolumeReq_Metadata) GetName() string { @@ -17412,7 +37041,7 @@ type UpdateVolumeReq_Volume struct { func (x *UpdateVolumeReq_Volume) Reset() { *x = UpdateVolumeReq_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[220] + mi := &file_pcm_openstack_proto_msgTypes[467] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17425,7 +37054,7 @@ func (x *UpdateVolumeReq_Volume) String() string { func (*UpdateVolumeReq_Volume) ProtoMessage() {} func (x *UpdateVolumeReq_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[220] + mi := &file_pcm_openstack_proto_msgTypes[467] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17438,7 +37067,7 @@ func (x *UpdateVolumeReq_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeReq_Volume.ProtoReflect.Descriptor instead. func (*UpdateVolumeReq_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{77, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{189, 1} } func (x *UpdateVolumeReq_Volume) GetName() string { @@ -17474,7 +37103,7 @@ type UpdateVolumeResp_Links struct { func (x *UpdateVolumeResp_Links) Reset() { *x = UpdateVolumeResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[221] + mi := &file_pcm_openstack_proto_msgTypes[468] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17487,7 +37116,7 @@ func (x *UpdateVolumeResp_Links) String() string { func (*UpdateVolumeResp_Links) ProtoMessage() {} func (x *UpdateVolumeResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[221] + mi := &file_pcm_openstack_proto_msgTypes[468] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17500,7 +37129,7 @@ func (x *UpdateVolumeResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeResp_Links.ProtoReflect.Descriptor instead. func (*UpdateVolumeResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{78, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{190, 0} } func (x *UpdateVolumeResp_Links) GetHref() string { @@ -17528,7 +37157,7 @@ type UpdateVolumeResp_Metadata struct { func (x *UpdateVolumeResp_Metadata) Reset() { *x = UpdateVolumeResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[222] + mi := &file_pcm_openstack_proto_msgTypes[469] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17541,7 +37170,7 @@ func (x *UpdateVolumeResp_Metadata) String() string { func (*UpdateVolumeResp_Metadata) ProtoMessage() {} func (x *UpdateVolumeResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[222] + mi := &file_pcm_openstack_proto_msgTypes[469] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17554,7 +37183,7 @@ func (x *UpdateVolumeResp_Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeResp_Metadata.ProtoReflect.Descriptor instead. func (*UpdateVolumeResp_Metadata) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{78, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{190, 1} } func (x *UpdateVolumeResp_Metadata) GetName() string { @@ -17602,7 +37231,7 @@ type UpdateVolumeResp_Volume struct { func (x *UpdateVolumeResp_Volume) Reset() { *x = UpdateVolumeResp_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[223] + mi := &file_pcm_openstack_proto_msgTypes[470] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17615,7 +37244,7 @@ func (x *UpdateVolumeResp_Volume) String() string { func (*UpdateVolumeResp_Volume) ProtoMessage() {} func (x *UpdateVolumeResp_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[223] + mi := &file_pcm_openstack_proto_msgTypes[470] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17628,7 +37257,7 @@ func (x *UpdateVolumeResp_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeResp_Volume.ProtoReflect.Descriptor instead. func (*UpdateVolumeResp_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{78, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{190, 2} } func (x *UpdateVolumeResp_Volume) GetAttachments() []*UpdateVolumeResp_Attachments { @@ -17844,7 +37473,7 @@ type UpdateVolumeResp_Attachments struct { func (x *UpdateVolumeResp_Attachments) Reset() { *x = UpdateVolumeResp_Attachments{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[224] + mi := &file_pcm_openstack_proto_msgTypes[471] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17857,7 +37486,7 @@ func (x *UpdateVolumeResp_Attachments) String() string { func (*UpdateVolumeResp_Attachments) ProtoMessage() {} func (x *UpdateVolumeResp_Attachments) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[224] + mi := &file_pcm_openstack_proto_msgTypes[471] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17870,7 +37499,7 @@ func (x *UpdateVolumeResp_Attachments) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVolumeResp_Attachments.ProtoReflect.Descriptor instead. func (*UpdateVolumeResp_Attachments) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{78, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{190, 3} } func (x *UpdateVolumeResp_Attachments) GetServerId() string { @@ -17934,7 +37563,7 @@ type GetVolumeDetailedByIdResp_Links struct { func (x *GetVolumeDetailedByIdResp_Links) Reset() { *x = GetVolumeDetailedByIdResp_Links{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[225] + mi := &file_pcm_openstack_proto_msgTypes[472] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17947,7 +37576,7 @@ func (x *GetVolumeDetailedByIdResp_Links) String() string { func (*GetVolumeDetailedByIdResp_Links) ProtoMessage() {} func (x *GetVolumeDetailedByIdResp_Links) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[225] + mi := &file_pcm_openstack_proto_msgTypes[472] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17960,7 +37589,7 @@ func (x *GetVolumeDetailedByIdResp_Links) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVolumeDetailedByIdResp_Links.ProtoReflect.Descriptor instead. func (*GetVolumeDetailedByIdResp_Links) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{80, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{192, 0} } func (x *GetVolumeDetailedByIdResp_Links) GetHref() string { @@ -17986,7 +37615,7 @@ type GetVolumeDetailedByIdResp_Metadata struct { func (x *GetVolumeDetailedByIdResp_Metadata) Reset() { *x = GetVolumeDetailedByIdResp_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[226] + mi := &file_pcm_openstack_proto_msgTypes[473] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17999,7 +37628,7 @@ func (x *GetVolumeDetailedByIdResp_Metadata) String() string { func (*GetVolumeDetailedByIdResp_Metadata) ProtoMessage() {} func (x *GetVolumeDetailedByIdResp_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[226] + mi := &file_pcm_openstack_proto_msgTypes[473] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18012,7 +37641,7 @@ func (x *GetVolumeDetailedByIdResp_Metadata) ProtoReflect() protoreflect.Message // Deprecated: Use GetVolumeDetailedByIdResp_Metadata.ProtoReflect.Descriptor instead. func (*GetVolumeDetailedByIdResp_Metadata) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{80, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{192, 1} } type GetVolumeDetailedByIdResp_Attachments struct { @@ -18024,7 +37653,7 @@ type GetVolumeDetailedByIdResp_Attachments struct { func (x *GetVolumeDetailedByIdResp_Attachments) Reset() { *x = GetVolumeDetailedByIdResp_Attachments{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[227] + mi := &file_pcm_openstack_proto_msgTypes[474] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18037,7 +37666,7 @@ func (x *GetVolumeDetailedByIdResp_Attachments) String() string { func (*GetVolumeDetailedByIdResp_Attachments) ProtoMessage() {} func (x *GetVolumeDetailedByIdResp_Attachments) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[227] + mi := &file_pcm_openstack_proto_msgTypes[474] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18050,7 +37679,7 @@ func (x *GetVolumeDetailedByIdResp_Attachments) ProtoReflect() protoreflect.Mess // Deprecated: Use GetVolumeDetailedByIdResp_Attachments.ProtoReflect.Descriptor instead. func (*GetVolumeDetailedByIdResp_Attachments) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{80, 2} + return file_pcm_openstack_proto_rawDescGZIP(), []int{192, 2} } type GetVolumeDetailedByIdResp_Volume struct { @@ -18091,7 +37720,7 @@ type GetVolumeDetailedByIdResp_Volume struct { func (x *GetVolumeDetailedByIdResp_Volume) Reset() { *x = GetVolumeDetailedByIdResp_Volume{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[228] + mi := &file_pcm_openstack_proto_msgTypes[475] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18104,7 +37733,7 @@ func (x *GetVolumeDetailedByIdResp_Volume) String() string { func (*GetVolumeDetailedByIdResp_Volume) ProtoMessage() {} func (x *GetVolumeDetailedByIdResp_Volume) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[228] + mi := &file_pcm_openstack_proto_msgTypes[475] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18117,7 +37746,7 @@ func (x *GetVolumeDetailedByIdResp_Volume) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVolumeDetailedByIdResp_Volume.ProtoReflect.Descriptor instead. func (*GetVolumeDetailedByIdResp_Volume) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{80, 3} + return file_pcm_openstack_proto_rawDescGZIP(), []int{192, 3} } func (x *GetVolumeDetailedByIdResp_Volume) GetAttachments() []*GetVolumeDetailedByIdResp_Attachments { @@ -18327,7 +37956,7 @@ type ListVolumeTypesResp_ExtraSpecs struct { func (x *ListVolumeTypesResp_ExtraSpecs) Reset() { *x = ListVolumeTypesResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[229] + mi := &file_pcm_openstack_proto_msgTypes[476] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18340,7 +37969,7 @@ func (x *ListVolumeTypesResp_ExtraSpecs) String() string { func (*ListVolumeTypesResp_ExtraSpecs) ProtoMessage() {} func (x *ListVolumeTypesResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[229] + mi := &file_pcm_openstack_proto_msgTypes[476] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18353,7 +37982,7 @@ func (x *ListVolumeTypesResp_ExtraSpecs) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumeTypesResp_ExtraSpecs.ProtoReflect.Descriptor instead. func (*ListVolumeTypesResp_ExtraSpecs) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{82, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{194, 0} } func (x *ListVolumeTypesResp_ExtraSpecs) GetCapabilities() string { @@ -18380,7 +38009,7 @@ type ListVolumeTypesResp_VolumeTypes struct { func (x *ListVolumeTypesResp_VolumeTypes) Reset() { *x = ListVolumeTypesResp_VolumeTypes{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[230] + mi := &file_pcm_openstack_proto_msgTypes[477] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18393,7 +38022,7 @@ func (x *ListVolumeTypesResp_VolumeTypes) String() string { func (*ListVolumeTypesResp_VolumeTypes) ProtoMessage() {} func (x *ListVolumeTypesResp_VolumeTypes) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[230] + mi := &file_pcm_openstack_proto_msgTypes[477] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18406,7 +38035,7 @@ func (x *ListVolumeTypesResp_VolumeTypes) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVolumeTypesResp_VolumeTypes.ProtoReflect.Descriptor instead. func (*ListVolumeTypesResp_VolumeTypes) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{82, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{194, 1} } func (x *ListVolumeTypesResp_VolumeTypes) GetDescription() string { @@ -18469,7 +38098,7 @@ type CreateVolumeTypeReq_ExtraSpecs struct { func (x *CreateVolumeTypeReq_ExtraSpecs) Reset() { *x = CreateVolumeTypeReq_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[231] + mi := &file_pcm_openstack_proto_msgTypes[478] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18482,7 +38111,7 @@ func (x *CreateVolumeTypeReq_ExtraSpecs) String() string { func (*CreateVolumeTypeReq_ExtraSpecs) ProtoMessage() {} func (x *CreateVolumeTypeReq_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[231] + mi := &file_pcm_openstack_proto_msgTypes[478] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18495,7 +38124,7 @@ func (x *CreateVolumeTypeReq_ExtraSpecs) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeTypeReq_ExtraSpecs.ProtoReflect.Descriptor instead. func (*CreateVolumeTypeReq_ExtraSpecs) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{83, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{195, 0} } func (x *CreateVolumeTypeReq_ExtraSpecs) GetCapabilities() string { @@ -18519,7 +38148,7 @@ type CreateVolumeTypeReq_VolumeType struct { func (x *CreateVolumeTypeReq_VolumeType) Reset() { *x = CreateVolumeTypeReq_VolumeType{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[232] + mi := &file_pcm_openstack_proto_msgTypes[479] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18532,7 +38161,7 @@ func (x *CreateVolumeTypeReq_VolumeType) String() string { func (*CreateVolumeTypeReq_VolumeType) ProtoMessage() {} func (x *CreateVolumeTypeReq_VolumeType) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[232] + mi := &file_pcm_openstack_proto_msgTypes[479] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18545,7 +38174,7 @@ func (x *CreateVolumeTypeReq_VolumeType) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeTypeReq_VolumeType.ProtoReflect.Descriptor instead. func (*CreateVolumeTypeReq_VolumeType) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{83, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{195, 1} } func (x *CreateVolumeTypeReq_VolumeType) GetName() string { @@ -18587,7 +38216,7 @@ type CreateVolumeTypeResp_ExtraSpecs struct { func (x *CreateVolumeTypeResp_ExtraSpecs) Reset() { *x = CreateVolumeTypeResp_ExtraSpecs{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[233] + mi := &file_pcm_openstack_proto_msgTypes[480] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18600,7 +38229,7 @@ func (x *CreateVolumeTypeResp_ExtraSpecs) String() string { func (*CreateVolumeTypeResp_ExtraSpecs) ProtoMessage() {} func (x *CreateVolumeTypeResp_ExtraSpecs) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[233] + mi := &file_pcm_openstack_proto_msgTypes[480] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18613,7 +38242,7 @@ func (x *CreateVolumeTypeResp_ExtraSpecs) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeTypeResp_ExtraSpecs.ProtoReflect.Descriptor instead. func (*CreateVolumeTypeResp_ExtraSpecs) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{84, 0} + return file_pcm_openstack_proto_rawDescGZIP(), []int{196, 0} } func (x *CreateVolumeTypeResp_ExtraSpecs) GetCapabilities() string { @@ -18639,7 +38268,7 @@ type CreateVolumeTypeResp_VolumeType struct { func (x *CreateVolumeTypeResp_VolumeType) Reset() { *x = CreateVolumeTypeResp_VolumeType{} if protoimpl.UnsafeEnabled { - mi := &file_pcm_openstack_proto_msgTypes[234] + mi := &file_pcm_openstack_proto_msgTypes[481] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18652,7 +38281,7 @@ func (x *CreateVolumeTypeResp_VolumeType) String() string { func (*CreateVolumeTypeResp_VolumeType) ProtoMessage() {} func (x *CreateVolumeTypeResp_VolumeType) ProtoReflect() protoreflect.Message { - mi := &file_pcm_openstack_proto_msgTypes[234] + mi := &file_pcm_openstack_proto_msgTypes[481] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18665,7 +38294,7 @@ func (x *CreateVolumeTypeResp_VolumeType) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVolumeTypeResp_VolumeType.ProtoReflect.Descriptor instead. func (*CreateVolumeTypeResp_VolumeType) Descriptor() ([]byte, []int) { - return file_pcm_openstack_proto_rawDescGZIP(), []int{84, 1} + return file_pcm_openstack_proto_rawDescGZIP(), []int{196, 1} } func (x *CreateVolumeTypeResp_VolumeType) GetName() string { @@ -19714,716 +39343,599 @@ var file_pcm_openstack_proto_rawDesc = []byte{ 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x4d, 0x73, 0x67, 0x22, 0xc7, 0x06, 0x0a, 0x10, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x72, 0x4d, 0x73, 0x67, 0x22, 0xe3, 0x06, 0x0a, 0x10, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x07, 0x72, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x1a, 0xed, 0x04, 0x0a, 0x07, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x34, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x36, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x44, 0x43, 0x46, 0x5f, 0x64, 0x69, 0x73, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x4f, 0x53, - 0x2d, 0x44, 0x43, 0x46, 0x3a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x49, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6b, - 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, - 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x74, 0x0a, 0x1a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x2e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x1a, 0x3d, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x1a, 0x1c, 0x0a, 0x1a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0xb8, - 0x1a, 0x0a, 0x11, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x9b, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x12, 0x38, 0x0a, 0x17, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x49, 0x50, 0x53, 0x5f, - 0x4d, 0x41, 0x43, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x17, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x49, 0x50, 0x53, 0x2d, 0x4d, - 0x41, 0x43, 0x3a, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x4f, - 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x49, 0x50, 0x53, - 0x3a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x1a, 0x4b, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x1a, 0x0d, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, - 0x8c, 0x02, 0x0a, 0x06, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x63, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x76, 0x63, 0x70, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x1c, 0x0a, 0x09, - 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x77, - 0x61, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x23, - 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, - 0x63, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, - 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x2d, - 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x51, 0x0a, - 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, - 0x1a, 0x2e, 0x0a, 0x06, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, - 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, - 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, - 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6a, 0x0a, 0x24, - 0x4f, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, - 0x6e, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x54, 0x65, 0x72, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x69, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x1a, 0x25, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xdc, 0x11, 0x0a, 0x07, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x50, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x50, 0x76, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x50, 0x76, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x49, 0x50, 0x76, 0x36, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x1a, 0xed, 0x04, 0x0a, 0x07, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x36, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x72, 0x69, 0x76, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x6c, 0x61, - 0x76, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x06, - 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, - 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, - 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x31, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x41, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x44, 0x43, 0x46, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x4f, 0x53, 0x2d, 0x44, 0x43, 0x46, 0x3a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x1b, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x41, 0x5a, - 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, - 0x2d, 0x41, 0x5a, 0x3a, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, - 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x14, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, - 0x41, 0x54, 0x54, 0x52, 0x3a, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x4f, 0x53, 0x5f, - 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x4f, 0x53, 0x2d, - 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x23, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, - 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x76, 0x69, - 0x73, 0x6f, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x23, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, - 0x54, 0x54, 0x52, 0x3a, 0x68, 0x79, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x5f, 0x68, - 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x4f, 0x53, 0x5f, 0x45, 0x58, - 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, - 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, - 0x19, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x19, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, - 0x52, 0x3a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x1c, 0x4f, - 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x6c, - 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x1c, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, - 0x54, 0x52, 0x3a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x3e, 0x0a, 0x1a, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x72, 0x61, 0x6d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x1a, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, - 0x41, 0x54, 0x54, 0x52, 0x3a, 0x72, 0x61, 0x6d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x12, - 0x46, 0x0a, 0x1e, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, - 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x20, 0x4f, 0x53, 0x5f, 0x45, 0x58, - 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x20, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, - 0x54, 0x52, 0x3a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, - 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, - 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x36, 0x0a, 0x16, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x54, 0x53, 0x5f, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x16, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x54, 0x53, 0x3a, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x4f, 0x53, 0x5f, - 0x45, 0x58, 0x54, 0x5f, 0x53, 0x54, 0x53, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, - 0x2d, 0x53, 0x54, 0x53, 0x3a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x30, 0x0a, 0x13, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x54, 0x53, 0x5f, 0x76, 0x6d, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x4f, 0x53, - 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x54, 0x53, 0x3a, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x6f, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x41, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4f, - 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x52, 0x24, 0x6f, 0x73, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, - 0x2d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x3a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, - 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x4f, 0x53, 0x5f, - 0x53, 0x52, 0x56, 0x5f, 0x55, 0x53, 0x47, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x4f, 0x53, 0x2d, 0x53, 0x52, - 0x56, 0x2d, 0x55, 0x53, 0x47, 0x3a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x4f, 0x53, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x55, 0x53, 0x47, 0x5f, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1f, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x18, 0x4f, 0x53, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x55, 0x53, 0x47, 0x3a, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x22, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x24, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x26, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, - 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, - 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, - 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x52, 0x65, - 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, - 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0x54, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x12, 0x2c, 0x0a, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x44, 0x43, 0x46, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x4f, 0x53, 0x2d, 0x44, 0x43, 0x46, - 0x3a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x55, 0x0a, 0x10, 0x52, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x4f, 0x53, 0x2d, 0x44, 0x43, 0x46, + 0x3a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x70, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x5f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x11, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x70, 0x68, 0x65, + 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x74, 0x0a, 0x1a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x2e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x18, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, + 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x1c, 0x0a, 0x1a, + 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0xb8, 0x1a, 0x0a, 0x11, 0x52, + 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x1a, 0x9b, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, + 0x17, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x4d, 0x41, 0x43, 0x5f, + 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, + 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x49, 0x50, 0x53, 0x2d, 0x4d, 0x41, 0x43, 0x3a, 0x6d, + 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x53, 0x5f, 0x45, 0x58, + 0x54, 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x49, 0x50, 0x53, 0x3a, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, + 0x4b, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x07, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x0d, 0x0a, 0x0b, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x8c, 0x02, 0x0a, 0x06, + 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x63, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x63, 0x70, + 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x70, 0x68, 0x65, + 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x70, 0x68, + 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x49, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x51, 0x0a, 0x05, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x1a, 0x2e, 0x0a, 0x06, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0a, 0x0a, 0x08, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6a, 0x0a, 0x24, 0x4f, 0x73, 0x5f, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x74, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x69, 0x0a, 0x05, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, + 0x25, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xdc, 0x11, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x34, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, + 0x76, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, 0x76, 0x36, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x50, + 0x76, 0x36, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x09, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x72, 0x69, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x39, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, + 0x6b, 0x73, 0x31, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x44, 0x43, 0x46, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x4f, 0x53, + 0x2d, 0x44, 0x43, 0x46, 0x3a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x40, 0x0a, 0x1b, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x41, 0x5a, 0x5f, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x41, 0x5a, 0x3a, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, + 0x65, 0x12, 0x32, 0x0a, 0x14, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, + 0x3a, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, + 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, + 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x50, 0x0a, 0x23, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x5f, + 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x23, + 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, + 0x68, 0x79, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, + 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x4f, 0x53, 0x2d, 0x45, + 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x4f, 0x53, 0x5f, + 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x6b, 0x65, 0x72, + 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x4f, 0x53, + 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x6b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x1c, 0x4f, 0x53, 0x5f, 0x45, 0x58, + 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, + 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x4f, + 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x6c, + 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3e, 0x0a, 0x1a, 0x4f, + 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x72, + 0x61, 0x6d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x1a, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, + 0x3a, 0x72, 0x61, 0x6d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x1e, 0x4f, + 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x1e, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, + 0x41, 0x54, 0x54, 0x52, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x20, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, + 0x56, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x20, 0x4f, + 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, 0x54, 0x54, 0x52, 0x3a, 0x72, + 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x3c, 0x0a, 0x19, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x19, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x41, + 0x54, 0x54, 0x52, 0x3a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, + 0x16, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x54, 0x53, 0x5f, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4f, + 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x54, 0x53, 0x3a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x4f, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, + 0x53, 0x54, 0x53, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x53, 0x54, 0x53, + 0x3a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x4f, + 0x53, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x53, 0x54, 0x53, 0x5f, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x4f, 0x53, 0x2d, 0x45, 0x58, 0x54, + 0x2d, 0x53, 0x54, 0x53, 0x3a, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x95, 0x01, + 0x0a, 0x24, 0x6f, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4f, 0x73, 0x5f, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, + 0x24, 0x6f, 0x73, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x2d, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x73, 0x3a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x4f, 0x53, 0x5f, 0x53, 0x52, 0x56, 0x5f, + 0x55, 0x53, 0x47, 0x5f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x4f, 0x53, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x55, 0x53, + 0x47, 0x3a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x3a, 0x0a, + 0x18, 0x4f, 0x53, 0x5f, 0x53, 0x52, 0x56, 0x5f, 0x55, 0x53, 0x47, 0x5f, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x18, 0x4f, 0x53, 0x2d, 0x53, 0x52, 0x56, 0x2d, 0x55, 0x53, 0x47, 0x3a, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x21, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, + 0x61, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x0e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3c, 0x0a, + 0x1a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x2c, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xdb, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x69, 0x7a, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x54, 0x0a, + 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, + 0x72, 0x52, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x52, 0x65, 0x66, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x44, 0x43, 0x46, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x4f, 0x53, 0x2d, 0x44, 0x43, 0x46, 0x3a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0x55, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xb5, 0x03, 0x0a, 0x10, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x07, 0x6d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, + 0x39, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x85, 0x01, 0x0a, 0x07, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x1a, 0x37, 0x0a, 0x09, 0x48, 0x6f, 0x73, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x56, 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x1f, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x0e, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x0e, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x2e, 0x0a, 0x0e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x20, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, + 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x52, + 0x65, 0x73, 0x63, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x50, 0x0a, 0x06, 0x52, 0x65, 0x73, + 0x63, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, + 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, + 0x63, 0x75, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x22, 0x73, 0x0a, 0x10, 0x52, + 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, + 0x22, 0xf2, 0x01, 0x0a, 0x11, 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x12, 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xee, + 0x01, 0x0a, 0x10, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x6e, 0x70, + 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x75, + 0x73, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x56, 0x0a, 0x11, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xea, 0x01, 0x0a, 0x0f, 0x53, 0x68, 0x65, 0x6c, + 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x65, 0x6c, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x10, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xf2, 0x01, 0x0a, 0x11, + 0x55, 0x6e, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x6e, 0x73, 0x68, 0x65, + 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x6e, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x6e, 0x73, 0x68, 0x65, + 0x6c, 0x76, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x39, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x57, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xee, 0x01, 0x0a, 0x10, 0x53, 0x75, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, + 0x39, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x11, 0x53, 0x75, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, - 0x73, 0x67, 0x22, 0x99, 0x03, 0x0a, 0x10, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x73, 0x67, 0x22, 0xe3, 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x63, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x10, 0x61, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x1a, 0x26, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xe5, 0x01, 0x0a, 0x16, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x67, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x29, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x22, 0xe5, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, + 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, + 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, + 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x52, + 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x6d, + 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa7, 0x06, 0x0a, 0x15, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, - 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, - 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x52, 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x85, 0x01, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4d, 0x69, 0x67, - 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x04, 0x68, 0x6f, 0x73, 0x74, 0x1a, 0x37, 0x0a, 0x09, 0x48, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, - 0x0a, 0x11, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xe5, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, - 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, - 0x19, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, - 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, - 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, - 0x69, 0x6e, 0x52, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa7, - 0x06, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x76, - 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, - 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x61, 0x76, - 0x6f, 0x72, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xc9, - 0x04, 0x0a, 0x06, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, - 0x69, 0x73, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, - 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, - 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x63, 0x70, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x63, 0x70, 0x75, - 0x73, 0x12, 0x3c, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, - 0x3c, 0x0a, 0x19, 0x4f, 0x53, 0x5f, 0x46, 0x4c, 0x56, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x19, 0x4f, 0x53, 0x2d, 0x46, 0x4c, 0x56, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x44, - 0x41, 0x54, 0x41, 0x3a, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x3a, 0x0a, - 0x18, 0x4f, 0x53, 0x5f, 0x46, 0x4c, 0x56, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x18, 0x4f, 0x53, 0x2d, 0x46, 0x4c, 0x56, 0x2d, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x3a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x78, 0x74, - 0x78, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, - 0x72, 0x78, 0x74, 0x78, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x1a, 0x6f, 0x73, - 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, - 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, - 0x6f, 0x73, 0x2d, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x3a, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x1a, 0x0d, 0x0a, 0x0b, 0x45, 0x78, - 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x22, 0x52, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x77, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xd9, 0x06, 0x0a, - 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x36, - 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, - 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x15, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, - 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x69, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, - 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x6c, 0x32, 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x32, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, - 0x63, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x03, 0x6d, 0x74, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, - 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x13, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, - 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x76, 0x6c, 0x61, 0x6e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, - 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x16, 0x53, 0x68, 0x6f, - 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x4d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x1e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, - 0x2d, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x85, - 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5c, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, - 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x58, 0x0a, 0x0f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x29, - 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xc0, 0x02, 0x0a, - 0x06, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, - 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x68, 0x63, 0x70, 0x12, 0x46, 0x0a, - 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, - 0x95, 0x06, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, - 0x68, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x44, 0x68, 0x63, 0x70, 0x12, 0x46, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x0f, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, - 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x64, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x49, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x20, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x72, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x36, 0x52, 0x61, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x70, 0x6f, - 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x16, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x3a, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x65, 0x6e, 0x64, 0x22, 0x63, 0x0a, 0x15, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x08, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x8b, 0x09, 0x0a, 0x16, 0x42, 0x75, 0x6c, - 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, - 0x0a, 0x12, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x70, 0x76, 0x34, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, - 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x32, - 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x6c, 0x32, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x74, 0x75, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x19, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, - 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x19, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, - 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3a, 0x0a, 0x18, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, - 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x3a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x76, - 0x6c, 0x61, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x1d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x20, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xfc, 0x04, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4e, - 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, - 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x65, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x75, - 0x63, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, - 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x68, 0x61, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, - 0x19, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, - 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, - 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x29, - 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, - 0x65, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xb0, 0x03, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x07, 0x66, + 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xc9, 0x04, 0x0a, 0x06, 0x46, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, + 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x1c, + 0x0a, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, + 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, + 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x63, 0x70, 0x75, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x63, 0x70, 0x75, 0x73, 0x12, 0x3c, 0x0a, 0x05, + 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x4f, 0x53, + 0x5f, 0x46, 0x4c, 0x56, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x65, 0x70, + 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x4f, + 0x53, 0x2d, 0x46, 0x4c, 0x56, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x44, 0x41, 0x54, 0x41, 0x3a, 0x65, + 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x18, 0x4f, 0x53, 0x5f, 0x46, + 0x4c, 0x56, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x4f, 0x53, 0x2d, 0x46, + 0x4c, 0x56, 0x2d, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x3a, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x78, 0x74, 0x78, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x72, 0x78, 0x74, 0x78, 0x46, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x1a, 0x6f, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x6f, 0x73, 0x2d, 0x66, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, 0x73, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x1a, 0x0d, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x73, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, + 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x72, 0x65, 0x6c, 0x22, 0x96, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, + 0x52, 0x65, 0x71, 0x2e, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0xab, + 0x01, 0x0a, 0x06, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x61, 0x6d, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x63, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x76, 0x63, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x78, 0x74, + 0x78, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, + 0x72, 0x78, 0x74, 0x78, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xce, 0x05, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, + 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, @@ -20431,795 +39943,4371 @@ var file_pcm_openstack_proto_rawDesc = []byte{ 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, - 0xf6, 0x01, 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x34, - 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, - 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, - 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x98, 0x0c, 0x0a, 0x0d, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x52, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, - 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, - 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, - 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x0a, - 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, - 0x73, 0x63, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, - 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x29, - 0x0a, 0x10, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, - 0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x25, 0x0a, - 0x0e, 0x62, 0x69, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x73, - 0x73, 0x69, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, - 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6d, - 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0c, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, - 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, - 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x57, 0x0a, 0x0b, 0x44, - 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, - 0x6d, 0x69, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x50, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x1a, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xf8, 0x19, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, - 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, - 0x76, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x12, 0x46, 0x0a, 0x0b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, - 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x14, 0x64, 0x72, 0x69, - 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x55, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, - 0x75, 0x75, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x73, - 0x73, 0x69, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x27, - 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x61, 0x69, 0x64, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x5a, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, - 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0a, 0x63, - 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, - 0x5f, 0x73, 0x74, 0x65, 0x70, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, - 0x12, 0x46, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x52, 0x0a, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, - 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, - 0x35, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, - 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x38, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x61, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x26, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x69, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, - 0x73, 0x63, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, - 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x72, - 0x61, 0x69, 0x74, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x72, 0x61, 0x69, - 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, - 0x6e, 0x64, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x38, 0x0a, - 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, - 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x2e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x18, 0x30, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, - 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x25, 0x0a, - 0x0e, 0x62, 0x69, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, - 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x37, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x38, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, - 0x67, 0x18, 0x41, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, - 0x67, 0x1a, 0x0c, 0x0a, 0x0a, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x1a, - 0x0d, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x57, - 0x0a, 0x0b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, - 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x55, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x16, 0x0a, 0x14, 0x44, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, - 0x07, 0x0a, 0x05, 0x45, 0x78, 0x74, 0x72, 0x61, 0x1a, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0e, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x2d, 0x0a, 0x05, - 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0c, 0x0a, 0x0a, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, 0x52, 0x61, 0x69, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x14, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, - 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, - 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x22, 0x4a, - 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, - 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x53, 0x0a, 0x0e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, - 0x97, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, - 0x08, 0x0a, 0x06, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xf1, 0x1a, 0x0a, 0x13, 0x53, 0x68, - 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, - 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, - 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x69, - 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x20, 0x0a, - 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x72, 0x69, - 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x65, 0x0a, 0x14, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, - 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, - 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, - 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x27, 0x0a, - 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x61, 0x69, 0x64, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, - 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, - 0x65, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, - 0x74, 0x65, 0x70, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x12, 0x4b, - 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x18, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x52, - 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x65, 0x70, 0x12, 0x3a, 0x0a, 0x05, 0x6c, - 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x05, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x3d, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x69, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, - 0x6f, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, - 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x1f, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, - 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, - 0x29, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x69, 0x64, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x63, 0x75, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, - 0x3d, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, - 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x54, 0x72, 0x61, 0x69, 0x74, 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, - 0x75, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x2c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x2d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, - 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, - 0x64, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x32, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x33, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x27, - 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x15, - 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, - 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x4e, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x18, 0x3b, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x3c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x3f, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x0c, 0x0a, 0x0a, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, - 0x74, 0x65, 0x70, 0x1a, 0x0d, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, - 0x65, 0x70, 0x1a, 0x57, 0x0a, 0x0b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x50, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, - 0x70, 0x6d, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x37, 0x0a, 0x14, 0x44, - 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x65, - 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, - 0x74, 0x65, 0x70, 0x73, 0x1a, 0x07, 0x0a, 0x05, 0x45, 0x78, 0x74, 0x72, 0x61, 0x1a, 0x0f, 0x0a, - 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x2d, - 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0e, 0x0a, - 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x0a, - 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, - 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, - 0x6c, 0x1a, 0x2d, 0x0a, 0x05, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, - 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, - 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, - 0x1a, 0x0c, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x0d, - 0x0a, 0x0b, 0x52, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x14, 0x0a, - 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, - 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x72, 0x65, 0x6c, 0x1a, 0x08, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x69, 0x74, 0x73, 0x22, 0xb3, 0x02, - 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x72, - 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x6d, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x54, 0x61, 0x67, - 0x73, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x22, 0x06, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x22, 0xe7, 0x07, 0x0a, 0x0f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x1e, 0x4f, - 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x1e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x2d, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2d, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x2d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2d, 0x69, 0x64, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x5f, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, - 0x73, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x72, - 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x6d, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, - 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x73, 0x48, 0x61, - 0x73, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x73, 0x48, 0x61, 0x73, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x73, - 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, - 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, - 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, - 0x61, 0x67, 0x73, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, - 0x1a, 0x06, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x0b, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xda, 0x06, 0x0a, 0x0e, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x38, 0x0a, - 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, - 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, - 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x80, 0x05, 0x0a, 0x06, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x52, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, - 0x65, 0x6c, 0x66, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x1c, - 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0c, - 0x6f, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x73, 0x48, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x12, 0x22, - 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x48, 0x61, 0x73, 0x68, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, - 0x5f, 0x72, 0x61, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x52, - 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x06, 0x0a, - 0x04, 0x54, 0x61, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x54, - 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x0d, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, 0xfc, + 0x03, 0x0a, 0x06, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x18, 0x4f, 0x53, 0x5f, + 0x46, 0x4c, 0x56, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x4f, 0x53, 0x2d, + 0x46, 0x4c, 0x56, 0x2d, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x3a, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x3c, 0x0a, 0x19, 0x4f, 0x53, 0x5f, + 0x46, 0x4c, 0x56, 0x5f, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x65, 0x70, 0x68, + 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x4f, 0x53, + 0x2d, 0x46, 0x4c, 0x56, 0x2d, 0x45, 0x58, 0x54, 0x2d, 0x44, 0x41, 0x54, 0x41, 0x3a, 0x65, 0x70, + 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x1a, 0x6f, 0x73, 0x5f, 0x66, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x6f, 0x73, 0x2d, + 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, 0x73, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x78, + 0x74, 0x78, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x0a, 0x72, 0x78, 0x74, 0x78, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x63, 0x70, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x63, 0x70, 0x75, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x73, 0x22, 0x67, 0x0a, + 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x71, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x55, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x52, 0x0a, + 0x15, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x22, 0xd9, 0x06, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, + 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x55, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, + 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x34, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x32, 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x32, 0x41, 0x64, + 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, + 0x15, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, + 0x72, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, + 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x76, 0x6c, 0x61, + 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x89, 0x01, + 0x0a, 0x16, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x7b, 0x0a, 0x10, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, + 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x07, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x07, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x20, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4d, 0x0a, + 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, + 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x56, 0x0a, 0x11, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x4d, 0x73, 0x67, 0x22, 0x49, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x72, 0x4d, 0x73, 0x67, 0x22, 0x2d, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5c, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x12, + 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, + 0x22, 0x58, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x2d, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x22, 0xc0, 0x02, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x69, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, + 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x68, 0x63, 0x70, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x68, + 0x63, 0x70, 0x12, 0x46, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x6e, + 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x22, 0x95, 0x06, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x68, 0x63, 0x70, 0x12, 0x46, 0x0a, 0x10, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6e, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, + 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x6e, 0x73, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x70, 0x76, 0x36, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x72, 0x61, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x36, + 0x52, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x70, 0x6f, + 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x3a, 0x0a, 0x10, + 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x63, 0x0a, 0x15, 0x42, 0x75, 0x6c, 0x6b, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x8b, 0x09, + 0x0a, 0x16, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x36, + 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x15, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, + 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x69, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, + 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x6c, 0x32, 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x32, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x6d, 0x74, 0x75, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x3a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x70, + 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x3a, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x18, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, + 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x18, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x6c, 0x61, 0x6e, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x76, 0x6c, 0x61, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1e, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5a, 0x0a, 0x0e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xb0, 0x07, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x07, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, + 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x1a, 0x3a, 0x0a, 0x10, 0x41, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x65, 0x6e, 0x64, 0x1a, 0xa2, 0x06, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x64, 0x68, 0x63, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x44, 0x68, 0x63, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x6e, 0x73, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, + 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x12, 0x56, 0x0a, 0x10, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x70, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x72, 0x61, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x36, 0x52, 0x61, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x14, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x70, 0x6f, 0x6f, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4a, 0x0a, 0x0f, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, + 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x55, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x2e, 0x0a, + 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x22, 0xff, 0x06, + 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x1a, 0x3a, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x1a, 0xaf, 0x05, + 0x0a, 0x06, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x68, 0x63, 0x70, 0x12, 0x1d, 0x0a, + 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x6e, 0x73, 0x5f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x57, + 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, + 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x49, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, + 0x9a, 0x03, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x12, 0x71, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x1a, 0x86, 0x02, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, + 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x22, 0x8a, 0x06, 0x0a, + 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x72, + 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x06, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x64, 0x1a, 0xa9, 0x04, + 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x67, 0x0a, 0x1b, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x22, 0x8b, 0x06, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x74, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x06, 0x0a, 0x04, + 0x55, 0x73, 0x65, 0x64, 0x1a, 0xa9, 0x04, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x22, 0x74, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x37, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x63, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x84, 0x06, 0x0a, 0x1d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x37, 0x0a, + 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x75, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0xaa, 0x04, + 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x68, 0x79, 0x73, 0x69, + 0x63, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x06, 0x0a, 0x04, 0x55, 0x73, + 0x65, 0x64, 0x22, 0xca, 0x05, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x73, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x55, 0x73, + 0x65, 0x64, 0x1a, 0xaa, 0x04, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, + 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x42, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, + 0x78, 0x0a, 0x21, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x37, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x99, 0x06, 0x0a, 0x22, 0x53, 0x68, + 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x77, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x43, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x06, 0x0a, 0x04, + 0x55, 0x73, 0x65, 0x64, 0x1a, 0xae, 0x04, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, + 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, + 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x55, 0x73, 0x65, 0x64, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xfb, 0x04, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x57, 0x0a, 0x15, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, + 0xc1, 0x03, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x1d, + 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, + 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, + 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, + 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, + 0x72, 0x73, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, + 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x32, 0x0a, 0x15, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x22, 0xeb, 0x0c, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x57, 0x0a, 0x15, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, + 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x1a, 0x5f, 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x71, 0x64, 0x6e, 0x1a, 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, + 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, + 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0xb7, 0x09, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x63, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6c, 0x61, 0x6e, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x5f, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, + 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, + 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, + 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x68, + 0x63, 0x70, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, + 0x69, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x08, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x61, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, + 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x19, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, + 0x0a, 0x15, 0x71, 0x6f, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, + 0x6f, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, + 0x74, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, + 0x65, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, + 0x15, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x61, + 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x58, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xb2, 0x0c, 0x0a, 0x0d, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x1a, 0x5f, 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x71, 0x64, 0x6e, 0x1a, 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, + 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, + 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0x17, 0x0a, 0x15, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, + 0x1a, 0x11, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x1a, 0xaa, 0x09, 0x0a, 0x05, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x24, 0x0a, + 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x55, 0x70, 0x12, 0x62, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, + 0x72, 0x73, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x50, + 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, + 0x73, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x68, 0x63, 0x70, 0x4f, 0x70, 0x74, 0x73, + 0x12, 0x3f, 0x0a, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x0c, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x08, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, + 0x15, 0x71, 0x6f, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, + 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x70, 0x61, + 0x67, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x22, 0x44, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x53, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x9a, 0x0d, 0x0a, 0x0d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, + 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x57, 0x0a, 0x15, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x5f, + 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x71, 0x64, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x1a, + 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, + 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x09, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x49, 0x64, 0x1a, 0xb3, 0x09, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, + 0x70, 0x12, 0x62, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, + 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x2e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x0f, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x52, + 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x68, 0x63, 0x70, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x3f, + 0x0a, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x08, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x73, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x17, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x71, 0x6f, 0x73, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, + 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, + 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, + 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4f, 0x66, 0x66, + 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8f, 0x0f, 0x0a, 0x0e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, + 0x11, 0x0a, 0x0f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x1a, 0x15, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x69, + 0x66, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x5f, 0x0a, 0x0e, 0x44, 0x6e, 0x73, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, + 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, + 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x1a, 0x68, 0x0a, 0x0f, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x09, 0x46, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0x17, 0x0a, + 0x15, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0xf1, 0x0b, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x63, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, + 0x70, 0x61, 0x69, 0x72, 0x73, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x3a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x62, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x69, 0x66, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x69, 0x66, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x13, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x76, + 0x69, 0x66, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x69, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x76, 0x69, + 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x76, 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x76, 0x6e, 0x69, 0x63, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x64, 0x61, 0x74, 0x61, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x4f, 0x0a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0f, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, + 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, + 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x68, 0x63, 0x70, 0x4f, 0x70, 0x74, 0x73, 0x12, + 0x40, 0x0a, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x11, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x08, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x41, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x71, 0x6f, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, + 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, + 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x69, + 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x15, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, + 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4f, + 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x61, 0x0a, 0x12, 0x53, 0x68, + 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x8c, 0x0d, + 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x5f, + 0x0a, 0x0e, 0x44, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x71, 0x64, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x1a, + 0x68, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, + 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x47, 0x0a, 0x09, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x49, 0x64, 0x1a, 0x17, 0x0a, 0x15, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x11, 0x0a, 0x0f, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0xfb, + 0x09, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x68, 0x0a, + 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x61, 0x69, + 0x72, 0x73, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x6e, 0x73, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x6e, 0x73, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, + 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x6e, 0x73, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, + 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, + 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x52, 0x0d, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x44, 0x68, 0x63, 0x70, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x09, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x08, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x49, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x41, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, + 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6f, 0x72, + 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, + 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x71, 0x6f, 0x73, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, 0x73, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, + 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, + 0x12, 0x36, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, + 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x69, + 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x68, 0x61, 0x72, 0x64, + 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, + 0x65, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5a, 0x0a, 0x0e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xae, 0x0b, 0x0a, 0x0f, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x07, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x50, 0x0a, + 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, + 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, + 0xb4, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6e, 0x61, 0x74, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x1a, 0x44, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x1a, 0x5b, 0x0a, 0x11, + 0x43, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, + 0x65, 0x6c, 0x70, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x19, 0x0a, 0x17, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, + 0x69, 0x6e, 0x74, 0x73, 0x1a, 0xd2, 0x06, 0x0a, 0x07, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x6a, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x64, 0x12, 0x64, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x61, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x02, 0x68, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x59, + 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, + 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, + 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x22, 0x80, 0x04, 0x0a, 0x0f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x39, 0x0a, + 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x1a, 0x50, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0xb4, 0x01, 0x0a, 0x15, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6e, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x6e, 0x61, 0x74, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, + 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, + 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x64, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x22, 0xfa, 0x0e, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, + 0x1a, 0x50, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x49, 0x64, 0x1a, 0xb5, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6e, 0x61, 0x74, 0x12, 0x5c, 0x0a, + 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, + 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x1a, 0xd1, 0x04, 0x0a, 0x07, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x2d, 0x0a, 0x12, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x65, + 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, + 0x68, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x19, + 0x0a, 0x17, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x1a, 0xd8, + 0x06, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, + 0x6b, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, + 0x68, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x65, + 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, + 0x68, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x07, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x5a, 0x0a, + 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, + 0x72, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, + 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x22, 0x85, 0x05, 0x0a, 0x0f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x1a, 0x50, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0x44, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x1a, 0xef, 0x01, 0x0a, + 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x73, 0x6e, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x6e, 0x61, 0x74, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, + 0x73, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x49, 0x70, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x90, + 0x01, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x64, 0x0a, 0x15, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0xe9, 0x0a, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x50, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0xb5, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6e, + 0x61, 0x74, 0x12, 0x5c, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x10, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x1a, + 0x44, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, + 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, + 0x78, 0x74, 0x68, 0x6f, 0x70, 0x1a, 0x19, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, + 0x1a, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, + 0x6c, 0x70, 0x65, 0x72, 0x73, 0x1a, 0xd5, 0x06, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, + 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x6b, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x65, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x61, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x68, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, + 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x10, 0x63, 0x6f, 0x6e, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x22, 0xbb, 0x05, + 0x0a, 0x14, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x1a, + 0x50, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, + 0x64, 0x1a, 0x44, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x1a, 0xf9, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6e, 0x61, + 0x74, 0x12, 0x60, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, + 0x73, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x49, 0x70, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x06, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x1a, 0x95, 0x01, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x12, 0x69, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8c, 0x0b, 0x0a, 0x15, + 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x06, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x50, 0x0a, 0x12, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x1a, 0xba, 0x01, 0x0a, 0x15, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x73, 0x6e, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x6e, 0x61, 0x74, 0x12, 0x61, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x73, 0x52, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x1a, 0x44, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x1a, 0x19, + 0x0a, 0x17, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x1a, 0xe9, + 0x06, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, + 0x70, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, + 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x64, 0x12, 0x6a, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1b, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x68, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x68, 0x61, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x63, 0x6f, 0x6e, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x18, 0x14, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x6b, + 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x22, 0x4a, 0x0a, 0x0f, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x55, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x5e, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x73, + 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xfc, 0x0a, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x50, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x69, 0x70, 0x73, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x69, 0x70, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xe0, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x5f, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, + 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x1a, 0xe2, 0x01, 0x0a, 0x10, 0x50, 0x6f, + 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x8b, + 0x06, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, + 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, + 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4e, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x5a, 0x0a, 0x10, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x71, 0x6f, 0x73, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xcb, 0x03, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, + 0x50, 0x52, 0x65, 0x71, 0x12, 0x49, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x69, 0x70, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0xcc, 0x02, 0x0a, 0x0a, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x64, + 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, + 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xc9, 0x0a, 0x0a, 0x14, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x69, 0x70, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x73, 0x67, 0x1a, 0xe0, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, + 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x49, 0x64, 0x1a, 0xe2, 0x01, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, + 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xd9, 0x05, 0x0a, 0x0a, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 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, + 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, + 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x4f, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x5b, 0x0a, 0x10, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x71, 0x12, 0x49, + 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, + 0x65, 0x71, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x52, 0x0a, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x1a, 0x25, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, + 0x22, 0xfc, 0x0a, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xe0, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x72, + 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x1a, 0xe2, 0x01, 0x0a, 0x10, + 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2e, 0x0a, 0x13, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x1a, 0x8c, 0x06, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x19, 0x0a, 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x4f, 0x0a, 0x0c, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, + 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5b, 0x0a, 0x10, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x71, 0x6f, 0x73, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, 0x73, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x71, + 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, + 0x56, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x49, 0x50, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x59, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x73, 0x67, 0x22, 0x5b, 0x0a, 0x18, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x49, 0x50, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, + 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, + 0x90, 0x0b, 0x0a, 0x19, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x49, 0x50, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, + 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, + 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x69, 0x70, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x1a, 0xe0, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, + 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x55, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x49, 0x64, 0x1a, 0xe2, 0x01, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, + 0x72, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x96, 0x06, 0x0a, 0x0a, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x69, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2e, 0x0a, 0x13, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 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, 0x1d, + 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, + 0x08, 0x64, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x64, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x54, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0f, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x71, + 0x6f, 0x73, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x71, 0x6f, 0x73, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0d, 0x71, 0x6f, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x6f, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x22, 0xb1, 0x04, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, + 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xf7, 0x02, + 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5c, 0x0a, 0x17, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xa2, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xae, 0x01, 0x0a, 0x0e, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24, + 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x55, 0x70, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, + 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x17, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xaf, 0x04, 0x0a, + 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xf6, 0x02, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x39, 0x0a, 0x19, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x69, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x17, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xa9, + 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x1a, 0x36, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x22, 0xaf, 0x04, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x4d, 0x73, 0x67, 0x1a, 0xf6, 0x02, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, + 0x0a, 0x19, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x16, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x69, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x1b, + 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x22, 0xfc, 0x03, 0x0a, 0x1c, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x5d, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, + 0xe0, 0x02, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x69, 0x6e, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x12, 0x5b, + 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x4c, 0x0a, 0x0f, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xaa, 0x03, 0x0a, 0x18, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0xec, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5d, 0x0a, 0x18, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4d, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xb2, 0x03, 0x0a, 0x18, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x11, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x10, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0xee, 0x01, + 0x0a, 0x11, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x68, + 0x0a, 0x1c, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, + 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xb4, 0x03, 0x0a, 0x1d, 0x53, 0x68, 0x6f, + 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x61, 0x0a, + 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x1a, 0xec, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x64, 0x69, 0x74, 0x65, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, + 0xa7, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x9c, 0x01, 0x0a, 0x0d, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xf4, 0x05, 0x0a, 0x16, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x54, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x52, + 0x0c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0xc0, 0x04, + 0x0a, 0x0d, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x37, 0x0a, + 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x22, 0x5d, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, - 0x56, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x5b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xfd, 0x05, 0x0a, 0x15, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x56, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0d, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x8b, 0x05, 0x0a, 0x0e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2a, + 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x1a, 0x53, 0x68, 0x6f, 0x77, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xc8, 0x06, 0x0a, + 0x1b, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, + 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, + 0x59, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, + 0x75, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x8a, 0x05, 0x0a, 0x0d, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x1d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xbd, 0x09, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x73, 0x67, 0x12, 0x5a, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x0e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0xd4, + 0x04, 0x0a, 0x14, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, + 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x53, 0x67, 0x1a, 0xac, 0x03, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x68, 0x0a, 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x22, 0xd5, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, + 0x57, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x62, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x22, 0xbc, 0x09, 0x0a, + 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x58, 0x0a, 0x0e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xd4, 0x04, 0x0a, 0x14, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, + 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, + 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, 0x6c, + 0x6f, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x73, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x73, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x67, 0x1a, 0xac, 0x03, 0x0a, + 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x69, 0x0a, 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x12, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x66, 0x75, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x66, 0x75, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x22, 0x60, 0x0a, 0x16, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5c, 0x0a, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x60, 0x0a, 0x16, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xef, 0x09, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x58, 0x0a, 0x0e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xd4, 0x04, 0x0a, 0x14, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, + 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, + 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x73, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, 0x6f, 0x6e, + 0x67, 0x73, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x67, 0x1a, 0xdf, 0x03, + 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x69, 0x0a, 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, + 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x73, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, + 0x6f, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x67, 0x22, + 0x74, 0x0a, 0x14, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xb6, 0x09, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x73, 0x67, 0x12, 0x56, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xd4, 0x04, 0x0a, 0x14, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, + 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, + 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, + 0x0a, 0x15, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, + 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, + 0x67, 0x1a, 0xaa, 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x14, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x52, + 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x22, 0x37, + 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x90, 0x06, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x6c, 0x0a, 0x14, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xc0, 0x04, 0x0a, 0x14, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, + 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, 0x6c, 0x6f, 0x6e, + 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x67, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x54, + 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x67, 0x22, 0xb3, 0x03, 0x0a, 0x1a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x69, 0x0a, 0x13, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x1a, 0x8d, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x49, 0x64, 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, + 0x22, 0xcb, 0x05, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x6a, 0x0a, 0x13, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0xbf, 0x04, 0x0a, + 0x13, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, + 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, + 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x49, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x62, + 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x73, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, 0x6f, + 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x67, 0x22, 0x6b, + 0x0a, 0x18, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5e, 0x0a, 0x19, 0x53, + 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x6d, 0x0a, 0x1a, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xec, 0x05, 0x0a, 0x1b, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x6a, 0x0a, + 0x13, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x9d, 0x04, 0x0a, 0x13, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1c, 0x0a, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x65, 0x74, 0x68, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, + 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, + 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, + 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x67, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x54, 0x6f, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x67, 0x22, 0xfc, 0x04, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, + 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, + 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xb0, 0x03, 0x0a, 0x0d, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x05, 0x6e, 0x6f, + 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, + 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, + 0x65, 0x6c, 0x1a, 0xf6, 0x01, 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, + 0x64, 0x12, 0x34, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x98, 0x0c, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x64, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x75, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x6e, + 0x64, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, + 0x72, 0x64, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x6e, + 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x69, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, + 0x69, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, + 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x48, 0x0a, + 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x22, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x23, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x57, + 0x0a, 0x0b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, + 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf8, 0x19, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, + 0x0a, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x52, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x14, + 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x64, 0x72, 0x69, 0x76, + 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, + 0x69, 0x73, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x55, 0x75, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x61, + 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x61, 0x69, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, + 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6c, + 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, + 0x74, 0x65, 0x70, 0x12, 0x46, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x52, + 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x05, 0x6c, + 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, + 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x6f, 0x72, + 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x22, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x23, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x24, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x69, 0x64, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x72, 0x61, 0x69, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x12, 0x38, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, + 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x6e, + 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x69, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x18, 0x36, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x37, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x39, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x3f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x41, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x0c, 0x0a, 0x0a, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x1a, 0x0d, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, + 0x70, 0x1a, 0x57, 0x0a, 0x0b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, + 0x6d, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x16, 0x0a, 0x14, 0x44, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x1a, 0x07, 0x0a, 0x05, 0x45, 0x78, 0x74, 0x72, 0x61, 0x1a, 0x0f, 0x0a, 0x0d, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x2d, 0x0a, 0x05, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0e, 0x0a, 0x0c, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x0a, 0x0a, 0x50, + 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, + 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, + 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, + 0x2d, 0x0a, 0x05, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, + 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0c, + 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, + 0x52, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x14, 0x0a, 0x12, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x1a, 0x2e, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, + 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, + 0x6c, 0x22, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x53, 0x0a, + 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x73, 0x67, 0x22, 0x97, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x6f, 0x64, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x1a, 0x08, 0x0a, 0x06, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xf1, 0x1a, 0x0a, + 0x13, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, + 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x72, + 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x65, 0x0a, 0x14, 0x64, 0x72, 0x69, 0x76, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x64, 0x72, 0x69, 0x76, + 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, + 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x75, 0x69, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, + 0x55, 0x75, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x72, 0x61, 0x69, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, + 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, + 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x61, 0x69, 0x64, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x61, 0x69, + 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x6e, + 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x6c, 0x65, 0x61, + 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x52, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x74, 0x65, + 0x70, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x65, 0x70, 0x12, 0x3a, + 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, + 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, + 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, + 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x69, 0x6f, 0x73, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x62, 0x69, 0x6f, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x61, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x61, 0x69, + 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, + 0x73, 0x63, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x27, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, 0x18, 0x29, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x74, 0x73, 0x52, 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, + 0x73, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x6e, + 0x64, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x06, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, + 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, + 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x2c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x18, 0x30, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x73, 0x73, 0x65, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x75, 0x75, 0x69, 0x64, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x73, + 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, + 0x18, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x3e, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x0c, 0x0a, 0x0a, 0x43, 0x6c, 0x65, 0x61, + 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x0d, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x5f, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x57, 0x0a, 0x0b, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, 0x69, 0x5f, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x70, 0x6d, + 0x69, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x70, 0x6d, + 0x69, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x69, 0x70, 0x6d, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x37, + 0x0a, 0x14, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, + 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x73, 0x1a, 0x07, 0x0a, 0x05, 0x45, 0x78, 0x74, 0x72, 0x61, + 0x1a, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, + 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, + 0x1a, 0x0e, 0x0a, 0x0c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x32, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, + 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x2d, 0x0a, 0x05, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, + 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x72, 0x65, 0x6c, 0x1a, 0x0c, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x1a, 0x0d, 0x0a, 0x0b, 0x52, 0x61, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x1a, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, + 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, + 0x1a, 0x14, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x69, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x08, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x69, 0x74, 0x73, + 0x22, 0xb3, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, + 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, + 0x52, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x2b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x54, 0x61, 0x67, 0x73, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x06, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x22, 0xe7, + 0x07, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, + 0x0a, 0x1e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x2d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2d, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x53, + 0x74, 0x61, 0x63, 0x6b, 0x2d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2d, 0x69, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, + 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x6e, + 0x52, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x73, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x73, 0x48, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x67, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6f, 0x73, 0x48, 0x61, 0x73, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x6f, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x6f, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x76, 0x69, 0x72, + 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x73, 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x4d, 0x73, 0x67, 0x1a, 0x06, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x0b, 0x0a, 0x09, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x41, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xda, 0x06, 0x0a, 0x0e, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x12, 0x38, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x80, 0x05, + 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x54, 0x61, + 0x67, 0x73, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, + 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, + 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, + 0x20, 0x0a, 0x0c, 0x6f, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x73, 0x48, 0x61, 0x73, 0x68, 0x41, 0x6c, 0x67, + 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x73, 0x48, 0x61, 0x73, 0x68, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x73, 0x48, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x17, 0x0a, 0x07, + 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, + 0x69, 0x6e, 0x52, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x21, 0x0a, + 0x0c, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, + 0x1a, 0x06, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x22, 0x54, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, - 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x6c, 0x6c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x71, - 0x75, 0x6f, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, - 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa8, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x07, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x65, 0x0a, 0x07, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, - 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xb1, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x5f, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x6c, 0x6c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x71, 0x75, - 0x6f, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x75, - 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x22, 0x9d, 0x0e, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, - 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x49, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x4f, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x22, 0x56, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x4c, + 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, + 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, + 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa8, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x07, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, + 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x65, 0x0a, 0x07, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, + 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, + 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x9d, 0x0e, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x07, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, - 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x41, 0x74, 0x74, + 0x12, 0x47, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xe7, 0x0a, 0x0a, + 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, + 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x6f, 0x73, 0x5f, 0x76, 0x6f, + 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x2d, 0x68, + 0x6f, 0x73, 0x74, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x3a, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x1c, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x5f, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x6f, 0x73, 0x2d, 0x76, 0x6f, + 0x6c, 0x2d, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x3a, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x1e, 0x6f, 0x73, 0x5f, 0x76, 0x6f, + 0x6c, 0x5f, 0x6d, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x5f, 0x6d, 0x69, 0x67, 0x73, 0x74, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x1e, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x2d, 0x6d, 0x69, 0x67, 0x2d, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x3a, 0x6d, 0x69, 0x67, 0x73, 0x74, 0x61, 0x74, 0x12, + 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, + 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x56, 0x6f, 0x6c, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x1e, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, + 0x5f, 0x6d, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, + 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x2d, 0x6d, 0x69, 0x67, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x3a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x21, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xe1, 0x01, 0x0a, + 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0xaa, 0x0b, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, + 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x72, 0x65, 0x6c, 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x86, 0x08, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, + 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, + 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, + 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x69, 0x64, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x69, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x71, 0x75, + 0x6f, 0x74, 0x61, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, @@ -21232,134 +44320,56 @@ var file_pcm_openstack_proto_rawDesc = []byte{ 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x0a, 0x0a, - 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xe7, 0x0a, 0x0a, 0x0c, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x6c, 0x69, - 0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, - 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x5f, 0x68, - 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x15, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x2d, 0x68, 0x6f, 0x73, 0x74, - 0x2d, 0x61, 0x74, 0x74, 0x72, 0x3a, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x42, 0x0a, 0x1c, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x2d, 0x74, - 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x3a, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x1e, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x5f, 0x6d, - 0x69, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6d, - 0x69, 0x67, 0x73, 0x74, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x6f, 0x73, - 0x2d, 0x76, 0x6f, 0x6c, 0x2d, 0x6d, 0x69, 0x67, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2d, - 0x61, 0x74, 0x74, 0x72, 0x3a, 0x6d, 0x69, 0x67, 0x73, 0x74, 0x61, 0x74, 0x12, 0x45, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, - 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x69, 0x64, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x6f, 0x6c, - 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x1e, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x5f, 0x6d, 0x69, - 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x6f, 0x73, 0x2d, - 0x76, 0x6f, 0x6c, 0x2d, 0x6d, 0x69, 0x67, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2d, 0x61, - 0x74, 0x74, 0x72, 0x3a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, - 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, - 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x1f, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x65, 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, - 0x65, 0x71, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x0a, 0x0a, - 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xe1, 0x01, 0x0a, 0x06, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xaa, 0x0b, - 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, - 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, - 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, - 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, - 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, - 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x86, 0x08, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7a, 0x0a, + 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x55, 0x0a, 0x10, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, + 0x22, 0xa6, 0x02, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, + 0x64, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x1e, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x7f, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbe, 0x0b, 0x0a, 0x10, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, + 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, + 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x1e, 0x0a, 0x08, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x86, 0x08, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, @@ -21378,11 +44388,11 @@ var file_pcm_openstack_proto_rawDesc = []byte{ 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, + 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, @@ -21434,527 +44444,716 @@ var file_pcm_openstack_proto_rawDesc = []byte{ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7a, 0x0a, 0x0f, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, - 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, - 0x73, 0x63, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x73, - 0x63, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x55, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, - 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0xa6, 0x02, - 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x39, - 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x1e, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x7f, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbe, 0x0b, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, - 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, - 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, - 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x1e, 0x0a, 0x08, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x86, 0x08, 0x0a, 0x06, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, - 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, - 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x53, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, + 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, + 0xae, 0x0a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, + 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x53, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xae, 0x0a, 0x0a, - 0x19, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x06, 0x76, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, - 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, - 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x1a, 0x0a, - 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0d, 0x0a, 0x0b, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xa1, 0x08, 0x0a, 0x06, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x40, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, - 0x6e, 0x6b, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, - 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x6f, - 0x6c, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x56, 0x6f, 0x6c, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, - 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, - 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x65, 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x22, 0xc6, 0x01, - 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x88, 0x04, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, - 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, - 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, - 0x67, 0x1a, 0x31, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, - 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x1a, 0xaa, 0x02, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, - 0x70, 0x65, 0x63, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x1f, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, - 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, - 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2d, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, - 0x20, 0x0a, 0x0c, 0x71, 0x6f, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x5f, 0x69, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x6f, 0x73, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, - 0x64, 0x22, 0x8e, 0x03, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x1a, 0x31, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, - 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x1f, 0x6f, - 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, 0x73, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x4b, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, - 0x63, 0x73, 0x22, 0xe5, 0x03, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0b, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x31, 0x0a, 0x0b, - 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, - 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, - 0x88, 0x02, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, - 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, - 0x73, 0x12, 0x48, 0x0a, 0x1f, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6f, 0x73, 0x2d, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x3a, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x69, - 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x13, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, - 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x22, 0x59, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x32, 0xa1, - 0x18, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x53, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x73, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x47, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, - 0x79, 0x49, 0x64, 0x12, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x47, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x41, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x18, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, - 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x50, - 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x56, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x52, 0x65, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, - 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, - 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, - 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4d, 0x69, 0x67, 0x72, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x53, 0x68, - 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, - 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, - 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, - 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, - 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x1a, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, - 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1a, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, - 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x44, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x3e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x41, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, - 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x62, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x24, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x73, 0x67, 0x1a, 0x2d, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x12, + 0x10, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, + 0x6c, 0x1a, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0d, 0x0a, + 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xa1, 0x08, 0x0a, + 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, + 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x76, 0x6f, 0x6c, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x20, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x22, 0xc6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x88, 0x04, 0x0a, 0x13, 0x4c, 0x69, + 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x4e, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6f, 0x70, + 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x4d, 0x73, 0x67, 0x1a, 0x31, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xaa, 0x02, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0b, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x2e, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x1f, 0x6f, 0x73, 0x5f, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1f, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2d, 0x74, 0x79, 0x70, + 0x65, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0c, 0x71, 0x6f, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x6f, 0x73, 0x53, 0x70, 0x65, + 0x63, 0x73, 0x49, 0x64, 0x22, 0x8e, 0x03, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x0b, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x71, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x31, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, + 0x0a, 0x1f, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6f, 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, + 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x4b, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x53, 0x70, 0x65, 0x63, 0x73, 0x22, 0xe5, 0x03, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, + 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x1a, + 0x31, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x74, + 0x72, 0x61, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, + 0x70, 0x65, 0x63, 0x73, 0x12, 0x48, 0x0a, 0x1f, 0x6f, 0x73, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x73, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6f, + 0x73, 0x2d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2d, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x3a, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1b, + 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, + 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x59, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x32, 0xb5, 0x3f, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, + 0x53, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, + 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x12, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, + 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x6f, + 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, + 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, + 0x0a, 0x0b, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x19, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x55, 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x4a, 0x0a, 0x0d, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1c, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, + 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, + 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x55, 0x6e, + 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x6e, 0x73, 0x68, 0x65, 0x6c, 0x76, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x6e, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x77, 0x0a, 0x1c, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, + 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x75, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x08, 0x55, + 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x12, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x6b, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, + 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, + 0x76, 0x6f, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x1a, + 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x1a, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x76, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x4a, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1c, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, + 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, + 0x12, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, + 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x47, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x19, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, + 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6b, 0x0a, 0x18, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x71, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x29, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x71, 0x0a, 0x1a, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x7d, 0x0a, 0x1e, + 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2c, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2d, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, + 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, + 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x19, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, + 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x50, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, + 0x50, 0x73, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x53, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x50, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x49, 0x50, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x12, 0x53, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x12, 0x53, 0x0a, 0x10, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x12, + 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x71, 0x1a, + 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x62, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x49, 0x50, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x49, 0x50, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x50, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x5c, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6b, 0x0a, 0x18, 0x53, 0x68, 0x6f, + 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x19, 0x53, 0x68, 0x6f, + 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x56, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x77, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x59, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x25, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x62, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, + 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0b, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x73, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, + 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, + 0x6f, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, + 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, + 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, + 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x47, 0x65, 0x74, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x79, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x4c, + 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, + 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2f, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -21969,7 +45168,7 @@ func file_pcm_openstack_proto_rawDescGZIP() []byte { return file_pcm_openstack_proto_rawDescData } -var file_pcm_openstack_proto_msgTypes = make([]protoimpl.MessageInfo, 235) +var file_pcm_openstack_proto_msgTypes = make([]protoimpl.MessageInfo, 482) var file_pcm_openstack_proto_goTypes = []interface{}{ (*GetComputeLimitsReq)(nil), // 0: openstack.GetComputeLimitsReq (*GetComputeLimitsResp)(nil), // 1: openstack.GetComputeLimitsResp @@ -22003,458 +45202,953 @@ var file_pcm_openstack_proto_goTypes = []interface{}{ (*ResizeServerResp)(nil), // 29: openstack.ResizeServerResp (*MigrateServerReq)(nil), // 30: openstack.MigrateServerReq (*MigrateServerResp)(nil), // 31: openstack.MigrateServerResp - (*ListFlavorsDetailReq)(nil), // 32: openstack.ListFlavorsDetailReq - (*ListFlavorsDetailResp)(nil), // 33: openstack.ListFlavorsDetailResp - (*ShowNetworkDetailsReq)(nil), // 34: openstack.ShowNetworkDetailsReq - (*Network)(nil), // 35: openstack.Network - (*ShowNetworkDetailsResp)(nil), // 36: openstack.ShowNetworkDetailsResp - (*UpdateNetworkReq)(nil), // 37: openstack.UpdateNetworkReq - (*UpdateNetworkResp)(nil), // 38: openstack.UpdateNetworkResp - (*DeleteNetworkReq)(nil), // 39: openstack.DeleteNetworkReq - (*DeleteNetworkResp)(nil), // 40: openstack.DeleteNetworkResp - (*ListNetworksReq)(nil), // 41: openstack.ListNetworksReq - (*ListNetworksResp)(nil), // 42: openstack.ListNetworksResp - (*CreateNetworkReq)(nil), // 43: openstack.CreateNetworkReq - (*CreateNetworkResp)(nil), // 44: openstack.CreateNetworkResp - (*CreateSubnetReq)(nil), // 45: openstack.CreateSubnetReq - (*CreateSubnetResp)(nil), // 46: openstack.CreateSubnetResp - (*Subnet)(nil), // 47: openstack.Subnet - (*SubnetResp)(nil), // 48: openstack.SubnetResp - (*AllocationPools)(nil), // 49: openstack.Allocation_pools - (*BulkCreateNetworksReq)(nil), // 50: openstack.BulkCreateNetworksReq - (*BulkCreateNetworksResp)(nil), // 51: openstack.BulkCreateNetworksResp - (*ListNodesReq)(nil), // 52: openstack.ListNodesReq - (*ListNodesResp)(nil), // 53: openstack.ListNodesResp - (*CreateNodeReq)(nil), // 54: openstack.CreateNodeReq - (*CreateNodeResp)(nil), // 55: openstack.CreateNodeResp - (*DeleteNodeReq)(nil), // 56: openstack.DeleteNodeReq - (*DeleteNodeResp)(nil), // 57: openstack.DeleteNodeResp - (*ShowNodeDetailsReq)(nil), // 58: openstack.ShowNodeDetailsReq - (*ShowNodeDetailsResp)(nil), // 59: openstack.ShowNodeDetailsResp - (*CreateImageReq)(nil), // 60: openstack.CreateImageReq - (*Tags)(nil), // 61: openstack.Tags - (*CreateImageResp)(nil), // 62: openstack.CreateImageResp - (*ListImagesReq)(nil), // 63: openstack.ListImagesReq - (*ListImagesResp)(nil), // 64: openstack.ListImagesResp - (*DeleteImageReq)(nil), // 65: openstack.DeleteImageReq - (*DeleteImageResp)(nil), // 66: openstack.DeleteImageResp - (*UploadOsImageReq)(nil), // 67: openstack.UploadOsImageReq - (*UploadOsImageResp)(nil), // 68: openstack.UploadOsImageResp - (*ListVolumesReq)(nil), // 69: openstack.ListVolumesReq - (*ListVolumesResp)(nil), // 70: openstack.ListVolumesResp - (*ListVolumesDetailReq)(nil), // 71: openstack.ListVolumesDetailReq - (*ListVolumesDetailResp)(nil), // 72: openstack.ListVolumesDetailResp - (*CreateVolumeReq)(nil), // 73: openstack.CreateVolumeReq - (*CreateVolumeResp)(nil), // 74: openstack.CreateVolumeResp - (*DeleteVolumeReq)(nil), // 75: openstack.DeleteVolumeReq - (*DeleteVolumeResp)(nil), // 76: openstack.DeleteVolumeResp - (*UpdateVolumeReq)(nil), // 77: openstack.UpdateVolumeReq - (*UpdateVolumeResp)(nil), // 78: openstack.UpdateVolumeResp - (*GetVolumeDetailedByIdReq)(nil), // 79: openstack.GetVolumeDetailedByIdReq - (*GetVolumeDetailedByIdResp)(nil), // 80: openstack.GetVolumeDetailedByIdResp - (*ListVolumeTypesReq)(nil), // 81: openstack.ListVolumeTypesReq - (*ListVolumeTypesResp)(nil), // 82: openstack.ListVolumeTypesResp - (*CreateVolumeTypeReq)(nil), // 83: openstack.CreateVolumeTypeReq - (*CreateVolumeTypeResp)(nil), // 84: openstack.CreateVolumeTypeResp - (*DeleteVolumeTypeReq)(nil), // 85: openstack.DeleteVolumeTypeReq - (*DeleteVolumeTypeResp)(nil), // 86: openstack.DeleteVolumeTypeResp - (*GetComputeLimitsResp_Rate)(nil), // 87: openstack.GetComputeLimitsResp.Rate - (*GetComputeLimitsResp_Absolute)(nil), // 88: openstack.GetComputeLimitsResp.Absolute - (*GetComputeLimitsResp_Limits)(nil), // 89: openstack.GetComputeLimitsResp.Limits - (*GetVolumeLimitsResp_Rate)(nil), // 90: openstack.GetVolumeLimitsResp.Rate - (*GetVolumeLimitsResp_Absolute)(nil), // 91: openstack.GetVolumeLimitsResp.Absolute - (*GetVolumeLimitsResp_Limits)(nil), // 92: openstack.GetVolumeLimitsResp.Limits - (*ListServersResp_Links)(nil), // 93: openstack.ListServersResp.Links - (*ListServersResp_Servers)(nil), // 94: openstack.ListServersResp.Servers - (*ListServersResp_ServersLinks)(nil), // 95: openstack.ListServersResp.Servers_links - (*ListServersDetailedResp_Private)(nil), // 96: openstack.ListServersDetailedResp.Private - (*ListServersDetailedResp_Addresses)(nil), // 97: openstack.ListServersDetailedResp.Addresses - (*ListServersDetailedResp_ExtraSpecs)(nil), // 98: openstack.ListServersDetailedResp.Extra_specs - (*ListServersDetailedResp_Flavor)(nil), // 99: openstack.ListServersDetailedResp.Flavor - (*ListServersDetailedResp_Links)(nil), // 100: openstack.ListServersDetailedResp.Links - (*ListServersDetailedResp_Image)(nil), // 101: openstack.ListServersDetailedResp.Image - (*ListServersDetailedResp_Links1)(nil), // 102: openstack.ListServersDetailedResp.Links1 - (*ListServersDetailedResp_Metadata)(nil), // 103: openstack.ListServersDetailedResp.Metadata - (*ListServersDetailedResp_SecurityGroups)(nil), // 104: openstack.ListServersDetailedResp.Security_groups - (*ListServersDetailedResp_ServersDetailed)(nil), // 105: openstack.ListServersDetailedResp.ServersDetailed - (*CreateServerReq_Networks)(nil), // 106: openstack.CreateServerReq.Networks - (*CreateServerReq_BlockDeviceMappingV2)(nil), // 107: openstack.CreateServerReq.Block_device_mapping_v2 - (*CreateServerReq_Metadata)(nil), // 108: openstack.CreateServerReq.Metadata - (*CreateServerReq_Personality)(nil), // 109: openstack.CreateServerReq.Personality - (*CreateServerReq_SecurityGroups)(nil), // 110: openstack.CreateServerReq.Security_groups - (*CreateServerReq_Server)(nil), // 111: openstack.CreateServerReq.Server - (*CreateServerReq_OsSchHntSchedulerHints)(nil), // 112: openstack.CreateServerReq.Os_sch_hnt_scheduler_hints - (*CreateServerResp_Links)(nil), // 113: openstack.CreateServerResp.Links - (*CreateServerResp_SecurityGroups)(nil), // 114: openstack.CreateServerResp.Security_groups - (*CreateServerResp_Server)(nil), // 115: openstack.CreateServerResp.Server - (*GetServersDetailedByIdResp_Private)(nil), // 116: openstack.GetServersDetailedByIdResp.Private - (*GetServersDetailedByIdResp_Addresses)(nil), // 117: openstack.GetServersDetailedByIdResp.Addresses - (*GetServersDetailedByIdResp_ExtraSpecs)(nil), // 118: openstack.GetServersDetailedByIdResp.Extra_specs - (*GetServersDetailedByIdResp_Flavor)(nil), // 119: openstack.GetServersDetailedByIdResp.Flavor - (*GetServersDetailedByIdResp_Links)(nil), // 120: openstack.GetServersDetailedByIdResp.Links - (*GetServersDetailedByIdResp_Image)(nil), // 121: openstack.GetServersDetailedByIdResp.Image - (*GetServersDetailedByIdResp_Links1)(nil), // 122: openstack.GetServersDetailedByIdResp.Links1 - (*GetServersDetailedByIdResp_Metadata)(nil), // 123: openstack.GetServersDetailedByIdResp.Metadata - (*GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached)(nil), // 124: openstack.GetServersDetailedByIdResp.Os_extended_volumes_volumes_attached - (*GetServersDetailedByIdResp_Fault)(nil), // 125: openstack.GetServersDetailedByIdResp.Fault - (*GetServersDetailedByIdResp_SecurityGroups)(nil), // 126: openstack.GetServersDetailedByIdResp.Security_groups - (*GetServersDetailedByIdResp_Servers)(nil), // 127: openstack.GetServersDetailedByIdResp.Servers - (*UpdateServerResp_Private)(nil), // 128: openstack.UpdateServerResp.Private - (*UpdateServerResp_Addresses)(nil), // 129: openstack.UpdateServerResp.Addresses - (*UpdateServerResp_ExtraSpecs)(nil), // 130: openstack.UpdateServerResp.Extra_specs - (*UpdateServerResp_Flavor)(nil), // 131: openstack.UpdateServerResp.Flavor - (*UpdateServerResp_Links)(nil), // 132: openstack.UpdateServerResp.Links - (*UpdateServerResp_Image)(nil), // 133: openstack.UpdateServerResp.Image - (*UpdateServerResp_Links1)(nil), // 134: openstack.UpdateServerResp.Links1 - (*UpdateServerResp_Metadata)(nil), // 135: openstack.UpdateServerResp.Metadata - (*UpdateServerResp_SecurityGroups)(nil), // 136: openstack.UpdateServerResp.Security_groups - (*UpdateServerResp_Server)(nil), // 137: openstack.UpdateServerResp.Server - nil, // 138: openstack.StartServerReq.ActionEntry - nil, // 139: openstack.StopServerReq.ActionEntry - (*RebootServerReq_Reboot)(nil), // 140: openstack.RebootServerReq.Reboot - nil, // 141: openstack.PauseServerReq.ActionEntry - (*RebuildServerReq_Rebuild)(nil), // 142: openstack.RebuildServerReq.Rebuild - (*RebuildServerReq_Metadata)(nil), // 143: openstack.RebuildServerReq.Metadata - (*RebuildServerReq_Personality)(nil), // 144: openstack.RebuildServerReq.Personality - (*RebuildServerReqTrustedImageCertificates)(nil), // 145: openstack.RebuildServerReq.trusted_image_certificates - (*RebuildServerResp_Private)(nil), // 146: openstack.RebuildServerResp.Private - (*RebuildServerResp_Addresses)(nil), // 147: openstack.RebuildServerResp.Addresses - (*RebuildServerResp_ExtraSpecs)(nil), // 148: openstack.RebuildServerResp.Extra_specs - (*RebuildServerResp_Flavor)(nil), // 149: openstack.RebuildServerResp.Flavor - (*RebuildServerResp_Links)(nil), // 150: openstack.RebuildServerResp.Links - (*RebuildServerResp_Image)(nil), // 151: openstack.RebuildServerResp.Image - (*RebuildServerResp_Links1)(nil), // 152: openstack.RebuildServerResp.Links1 - (*RebuildServerResp_Metadata)(nil), // 153: openstack.RebuildServerResp.Metadata - (*RebuildServerResp_OsExtendedVolumesVolumesAttached)(nil), // 154: openstack.RebuildServerResp.Os_extended_volumes_volumes_attached - (*RebuildServerResp_Fault)(nil), // 155: openstack.RebuildServerResp.Fault - (*RebuildServerResp_SecurityGroups)(nil), // 156: openstack.RebuildServerResp.Security_groups - (*RebuildServerResp_Servers)(nil), // 157: openstack.RebuildServerResp.Servers - (*ResizeServerReq_Resize)(nil), // 158: openstack.ResizeServerReq.Resize - nil, // 159: openstack.MigrateServerReq.ActionEntry - (*MigrateServerReq_Migrate)(nil), // 160: openstack.MigrateServerReq.Migrate - nil, // 161: openstack.MigrateServerReq.Migrate.HostEntry - (*ListFlavorsDetailResp_Flavor)(nil), // 162: openstack.ListFlavorsDetailResp.Flavor - (*ListFlavorsDetailResp_ExtraSpecs)(nil), // 163: openstack.ListFlavorsDetailResp.Extra_specs - (*ListFlavorsDetailResp_Links)(nil), // 164: openstack.ListFlavorsDetailResp.Links - (*ListNodesResp_Links)(nil), // 165: openstack.ListNodesResp.Links - (*ListNodesResp_Nodes)(nil), // 166: openstack.ListNodesResp.Nodes - (*CreateNodeReq_DriverInfo)(nil), // 167: openstack.CreateNodeReq.Driver_info - (*CreateNodeReq_Properties)(nil), // 168: openstack.CreateNodeReq.Properties - (*CreateNodeReq_InstanceInfo)(nil), // 169: openstack.CreateNodeReq.Instance_info - (*CreateNodeReq_NetworkData)(nil), // 170: openstack.CreateNodeReq.Network_data - (*CreateNodeResp_CleanStep)(nil), // 171: openstack.CreateNodeResp.Clean_step - (*CreateNodeResp_DeployStep)(nil), // 172: openstack.CreateNodeResp.Deploy_step - (*CreateNodeResp_DriverInfo)(nil), // 173: openstack.CreateNodeResp.Driver_info - (*CreateNodeResp_DriverInternalInfo)(nil), // 174: openstack.CreateNodeResp.Driver_internal_info - (*CreateNodeResp_Extra)(nil), // 175: openstack.CreateNodeResp.Extra - (*CreateNodeResp_InstanceInfo)(nil), // 176: openstack.CreateNodeResp.Instance_info - (*CreateNodeResp_Links)(nil), // 177: openstack.CreateNodeResp.Links - (*CreateNodeResp_NetworkData)(nil), // 178: openstack.CreateNodeResp.Network_data - (*CreateNodeResp_Portgroups)(nil), // 179: openstack.CreateNodeResp.Portgroups - (*CreateNodeResp_Ports)(nil), // 180: openstack.CreateNodeResp.Ports - (*CreateNodeResp_Properties)(nil), // 181: openstack.CreateNodeResp.Properties - (*CreateNodeResp_RaidConfig)(nil), // 182: openstack.CreateNodeResp.Raid_config - (*CreateNodeResp_States)(nil), // 183: openstack.CreateNodeResp.States - (*CreateNodeResp_TargetRaidConfig)(nil), // 184: openstack.CreateNodeResp.Target_raid_config - (*CreateNodeResp_Volume)(nil), // 185: openstack.CreateNodeResp.Volume - (*ShowNodeDetailsReq_Fields)(nil), // 186: openstack.ShowNodeDetailsReq.Fields - (*ShowNodeDetailsResp_CleanStep)(nil), // 187: openstack.ShowNodeDetailsResp.Clean_step - (*ShowNodeDetailsResp_DeployStep)(nil), // 188: openstack.ShowNodeDetailsResp.Deploy_step - (*ShowNodeDetailsResp_DriverInfo)(nil), // 189: openstack.ShowNodeDetailsResp.Driver_info - (*ShowNodeDetailsResp_DriverInternalInfo)(nil), // 190: openstack.ShowNodeDetailsResp.Driver_internal_info - (*ShowNodeDetailsResp_Extra)(nil), // 191: openstack.ShowNodeDetailsResp.Extra - (*ShowNodeDetailsResp_InstanceInfo)(nil), // 192: openstack.ShowNodeDetailsResp.Instance_info - (*ShowNodeDetailsResp_Links)(nil), // 193: openstack.ShowNodeDetailsResp.Links - (*ShowNodeDetailsResp_NetworkData)(nil), // 194: openstack.ShowNodeDetailsResp.Network_data - (*ShowNodeDetailsResp_Portgroups)(nil), // 195: openstack.ShowNodeDetailsResp.Portgroups - (*ShowNodeDetailsResp_Ports)(nil), // 196: openstack.ShowNodeDetailsResp.Ports - (*ShowNodeDetailsResp_Properties)(nil), // 197: openstack.ShowNodeDetailsResp.Properties - (*ShowNodeDetailsResp_RaidConfig)(nil), // 198: openstack.ShowNodeDetailsResp.Raid_config - (*ShowNodeDetailsResp_States)(nil), // 199: openstack.ShowNodeDetailsResp.States - (*ShowNodeDetailsResp_TargetRaidConfig)(nil), // 200: openstack.ShowNodeDetailsResp.Target_raid_config - (*ShowNodeDetailsResp_Volume)(nil), // 201: openstack.ShowNodeDetailsResp.Volume - (*ShowNodeDetailsResp_Traits)(nil), // 202: openstack.ShowNodeDetailsResp.Traits - (*CreateImageResp_Tags)(nil), // 203: openstack.CreateImageResp.Tags - (*CreateImageResp_Locations)(nil), // 204: openstack.CreateImageResp.Locations - (*ListImagesResp_Images)(nil), // 205: openstack.ListImagesResp.Images - (*ListImagesResp_Tags)(nil), // 206: openstack.ListImagesResp.Tags - (*ListVolumesResp_Links)(nil), // 207: openstack.ListVolumesResp.Links - (*ListVolumesResp_Volumes)(nil), // 208: openstack.ListVolumesResp.Volumes - (*ListVolumesDetailResp_Links)(nil), // 209: openstack.ListVolumesDetailResp.Links - (*ListVolumesDetailResp_Attachments)(nil), // 210: openstack.ListVolumesDetailResp.Attachments - (*ListVolumesDetailResp_Metadata)(nil), // 211: openstack.ListVolumesDetailResp.Metadata - (*ListVolumesDetailResp_VolumeDetail)(nil), // 212: openstack.ListVolumesDetailResp.VolumeDetail - (*CreateVolumeReq_Metadata)(nil), // 213: openstack.CreateVolumeReq.Metadata - (*CreateVolumeReq_Volume)(nil), // 214: openstack.CreateVolumeReq.Volume - (*CreateVolumeResp_Links)(nil), // 215: openstack.CreateVolumeResp.Links - (*CreateVolumeResp_Metadata)(nil), // 216: openstack.CreateVolumeResp.Metadata - (*CreateVolumeResp_Volume)(nil), // 217: openstack.CreateVolumeResp.Volume - (*CreateVolumeResp_Attachments)(nil), // 218: openstack.CreateVolumeResp.Attachments - (*UpdateVolumeReq_Metadata)(nil), // 219: openstack.UpdateVolumeReq.Metadata - (*UpdateVolumeReq_Volume)(nil), // 220: openstack.UpdateVolumeReq.Volume - (*UpdateVolumeResp_Links)(nil), // 221: openstack.UpdateVolumeResp.Links - (*UpdateVolumeResp_Metadata)(nil), // 222: openstack.UpdateVolumeResp.Metadata - (*UpdateVolumeResp_Volume)(nil), // 223: openstack.UpdateVolumeResp.Volume - (*UpdateVolumeResp_Attachments)(nil), // 224: openstack.UpdateVolumeResp.Attachments - (*GetVolumeDetailedByIdResp_Links)(nil), // 225: openstack.GetVolumeDetailedByIdResp.Links - (*GetVolumeDetailedByIdResp_Metadata)(nil), // 226: openstack.GetVolumeDetailedByIdResp.Metadata - (*GetVolumeDetailedByIdResp_Attachments)(nil), // 227: openstack.GetVolumeDetailedByIdResp.Attachments - (*GetVolumeDetailedByIdResp_Volume)(nil), // 228: openstack.GetVolumeDetailedByIdResp.Volume - (*ListVolumeTypesResp_ExtraSpecs)(nil), // 229: openstack.ListVolumeTypesResp.Extra_specs - (*ListVolumeTypesResp_VolumeTypes)(nil), // 230: openstack.ListVolumeTypesResp.Volume_types - (*CreateVolumeTypeReq_ExtraSpecs)(nil), // 231: openstack.CreateVolumeTypeReq.Extra_specs - (*CreateVolumeTypeReq_VolumeType)(nil), // 232: openstack.CreateVolumeTypeReq.Volume_type - (*CreateVolumeTypeResp_ExtraSpecs)(nil), // 233: openstack.CreateVolumeTypeResp.Extra_specs - (*CreateVolumeTypeResp_VolumeType)(nil), // 234: openstack.CreateVolumeTypeResp.Volume_type + (*ChangeAdministrativePasswordReq)(nil), // 32: openstack.ChangeAdministrativePasswordReq + (*ChangeAdministrativePasswordResp)(nil), // 33: openstack.ChangeAdministrativePasswordResp + (*RescueServerReq)(nil), // 34: openstack.RescueServerReq + (*RescueServerResp)(nil), // 35: openstack.RescueServerResp + (*UnRescueServerReq)(nil), // 36: openstack.UnRescueServerReq + (*UnRescueServerResp)(nil), // 37: openstack.UnRescueServerResp + (*UnpauseServerReq)(nil), // 38: openstack.UnpauseServerReq + (*UnpauseServerResp)(nil), // 39: openstack.UnpauseServerResp + (*ShelveServerReq)(nil), // 40: openstack.ShelveServerReq + (*ShelveServerResp)(nil), // 41: openstack.ShelveServerResp + (*UnshelveServerReq)(nil), // 42: openstack.UnshelveServerReq + (*UnshelveServerResp)(nil), // 43: openstack.UnshelveServerResp + (*SuspendServerReq)(nil), // 44: openstack.SuspendServerReq + (*SuspendServerResp)(nil), // 45: openstack.SuspendServerResp + (*AddSecurityGroupToServerReq)(nil), // 46: openstack.AddSecurityGroupToServerReq + (*AddSecurityGroupToServerResp)(nil), // 47: openstack.AddSecurityGroupToServerResp + (*RemoveSecurityGroupReq)(nil), // 48: openstack.removeSecurityGroupReq + (*RemoveSecurityGroupResp)(nil), // 49: openstack.removeSecurityGroupResp + (*ListFlavorsDetailReq)(nil), // 50: openstack.ListFlavorsDetailReq + (*ListFlavorsDetailResp)(nil), // 51: openstack.ListFlavorsDetailResp + (*CreateFlavorReq)(nil), // 52: openstack.CreateFlavorReq + (*CreateFlavorResp)(nil), // 53: openstack.CreateFlavorResp + (*DeleteFlavorReq)(nil), // 54: openstack.DeleteFlavorReq + (*DeleteFlavorResp)(nil), // 55: openstack.DeleteFlavorResp + (*ShowNetworkDetailsReq)(nil), // 56: openstack.ShowNetworkDetailsReq + (*Network)(nil), // 57: openstack.Network + (*ShowNetworkDetailsResp)(nil), // 58: openstack.ShowNetworkDetailsResp + (*UpdateNetworkReq)(nil), // 59: openstack.UpdateNetworkReq + (*UpdateNetworkResp)(nil), // 60: openstack.UpdateNetworkResp + (*DeleteNetworkReq)(nil), // 61: openstack.DeleteNetworkReq + (*DeleteNetworkResp)(nil), // 62: openstack.DeleteNetworkResp + (*ListNetworksReq)(nil), // 63: openstack.ListNetworksReq + (*ListNetworksResp)(nil), // 64: openstack.ListNetworksResp + (*CreateNetworkReq)(nil), // 65: openstack.CreateNetworkReq + (*CreateNetworkResp)(nil), // 66: openstack.CreateNetworkResp + (*CreateSubnetReq)(nil), // 67: openstack.CreateSubnetReq + (*CreateSubnetResp)(nil), // 68: openstack.CreateSubnetResp + (*Subnet)(nil), // 69: openstack.Subnet + (*SubnetResp)(nil), // 70: openstack.SubnetResp + (*AllocationPools)(nil), // 71: openstack.Allocation_pools + (*BulkCreateNetworksReq)(nil), // 72: openstack.BulkCreateNetworksReq + (*BulkCreateNetworksResp)(nil), // 73: openstack.BulkCreateNetworksResp + (*ListSubnetsReq)(nil), // 74: openstack.ListSubnetsReq + (*ListSubnetsResp)(nil), // 75: openstack.ListSubnetsResp + (*DeleteSubnetReq)(nil), // 76: openstack.DeleteSubnetReq + (*DeleteSubnetResp)(nil), // 77: openstack.DeleteSubnetResp + (*UpdateSubnetReq)(nil), // 78: openstack.UpdateSubnetReq + (*UpdateSubnetResp)(nil), // 79: openstack.UpdateSubnetResp + (*CreateNetworkSegmentRangeReq)(nil), // 80: openstack.CreateNetworkSegmentRangeReq + (*CreateNetworkSegmentRangeResp)(nil), // 81: openstack.CreateNetworkSegmentRangeResp + (*ListNetworkSegmentRangesReq)(nil), // 82: openstack.ListNetworkSegmentRangesReq + (*ListNetworkSegmentRangesResp)(nil), // 83: openstack.ListNetworkSegmentRangesResp + (*DeleteNetworkSegmentRangesReq)(nil), // 84: openstack.DeleteNetworkSegmentRangesReq + (*DeleteNetworkSegmentRangesResp)(nil), // 85: openstack.DeleteNetworkSegmentRangesResp + (*UpdateNetworkSegmentRangesReq)(nil), // 86: openstack.UpdateNetworkSegmentRangesReq + (*UpdateNetworkSegmentRangesResp)(nil), // 87: openstack.UpdateNetworkSegmentRangesResp + (*ShowNetworkSegmentRangeDetailsReq)(nil), // 88: openstack.ShowNetworkSegmentRangeDetailsReq + (*ShowNetworkSegmentRangeDetailsResp)(nil), // 89: openstack.ShowNetworkSegmentRangeDetailsResp + (*CreatePortReq)(nil), // 90: openstack.CreatePortReq + (*CreatePortResp)(nil), // 91: openstack.CreatePortResp + (*ListPortsReq)(nil), // 92: openstack.ListPortsReq + (*ListPortsResp)(nil), // 93: openstack.ListPortsResp + (*DeletePortReq)(nil), // 94: openstack.DeletePortReq + (*DeletePortResp)(nil), // 95: openstack.DeletePortResp + (*UpdatePortReq)(nil), // 96: openstack.UpdatePortReq + (*UpdatePortResp)(nil), // 97: openstack.UpdatePortResp + (*ShowPortDetailsReq)(nil), // 98: openstack.ShowPortDetailsReq + (*ShowPortDetailsResp)(nil), // 99: openstack.ShowPortDetailsResp + (*ListRoutersReq)(nil), // 100: openstack.ListRoutersReq + (*ListRoutersResp)(nil), // 101: openstack.ListRoutersResp + (*CreateRouterReq)(nil), // 102: openstack.CreateRouterReq + (*CreateRouterResp)(nil), // 103: openstack.CreateRouterResp + (*UpdateRouterReq)(nil), // 104: openstack.UpdateRouterReq + (*UpdateRouterResp)(nil), // 105: openstack.UpdateRouterResp + (*ShowRouterDetailsReq)(nil), // 106: openstack.ShowRouterDetailsReq + (*ShowRouterDetailsResp)(nil), // 107: openstack.ShowRouterDetailsResp + (*DeleteRouterReq)(nil), // 108: openstack.DeleteRouterReq + (*DeleteRouterResp)(nil), // 109: openstack.DeleteRouterResp + (*ListFloatingIPsReq)(nil), // 110: openstack.ListFloatingIPsReq + (*ListFloatingIPsResp)(nil), // 111: openstack.ListFloatingIPsResp + (*CreateFloatingIPReq)(nil), // 112: openstack.CreateFloatingIPReq + (*CreateFloatingIPResp)(nil), // 113: openstack.CreateFloatingIPResp + (*UpdateFloatingIPReq)(nil), // 114: openstack.UpdateFloatingIPReq + (*UpdateFloatingIPResp)(nil), // 115: openstack.UpdateFloatingIPResp + (*DeleteFloatingIPReq)(nil), // 116: openstack.DeleteFloatingIPReq + (*DeleteFloatingIPResp)(nil), // 117: openstack.DeleteFloatingIPResp + (*ShowFloatingIPDetailsReq)(nil), // 118: openstack.ShowFloatingIPDetailsReq + (*ShowFloatingIPDetailsResp)(nil), // 119: openstack.ShowFloatingIPDetailsResp + (*ListFirewallGroupsReq)(nil), // 120: openstack.ListFirewallGroupsReq + (*ListFirewallGroupsResp)(nil), // 121: openstack.ListFirewallGroupsResp + (*DeleteFirewallGroupReq)(nil), // 122: openstack.DeleteFirewallGroupReq + (*DeleteFirewallGroupResp)(nil), // 123: openstack.DeleteFirewallGroupResp + (*CreateFirewallGroupReq)(nil), // 124: openstack.CreateFirewallGroupReq + (*CreateFirewallGroupResp)(nil), // 125: openstack.CreateFirewallGroupResp + (*UpdateFirewallGroupReq)(nil), // 126: openstack.UpdateFirewallGroupReq + (*UpdateFirewallGroupResp)(nil), // 127: openstack.UpdateFirewallGroupResp + (*ShowFirewallGroupDetailsReq)(nil), // 128: openstack.ShowFirewallGroupDetailsReq + (*ShowFirewallGroupDetailsResp)(nil), // 129: openstack.ShowFirewallGroupDetailsResp + (*CreateFirewallPolicyReq)(nil), // 130: openstack.CreateFirewallPolicyReq + (*CreateFirewallPolicyResp)(nil), // 131: openstack.CreateFirewallPolicyResp + (*DeleteFirewallPolicyReq)(nil), // 132: openstack.DeleteFirewallPolicyReq + (*DeleteFirewallPolicyResp)(nil), // 133: openstack.DeleteFirewallPolicyResp + (*ListFirewallPoliciesReq)(nil), // 134: openstack.ListFirewallPoliciesReq + (*ListFirewallPoliciesResp)(nil), // 135: openstack.ListFirewallPoliciesResp + (*ShowFirewallPolicyDetailsReq)(nil), // 136: openstack.ShowFirewallPolicyDetailsReq + (*ShowFirewallPolicyDetailsResp)(nil), // 137: openstack.ShowFirewallPolicyDetailsResp + (*CreateFirewallRuleReq)(nil), // 138: openstack.CreateFirewallRuleReq + (*CreateFirewallRuleResp)(nil), // 139: openstack.CreateFirewallRuleResp + (*DeleteFirewallRuleReq)(nil), // 140: openstack.DeleteFirewallRuleReq + (*DeleteFirewallRuleResp)(nil), // 141: openstack.DeleteFirewallRuleResp + (*ListFirewallRulesReq)(nil), // 142: openstack.ListFirewallRulesReq + (*ListFirewallRulesResp)(nil), // 143: openstack.ListFirewallRulesResp + (*ShowFirewallRuleDetailsReq)(nil), // 144: openstack.ShowFirewallRuleDetailsReq + (*ShowFirewallRuleDetailsResp)(nil), // 145: openstack.ShowFirewallRuleDetailsResp + (*ListSecurityGroupsReq)(nil), // 146: openstack.ListSecurityGroupsReq + (*ListSecurityGroupsResp)(nil), // 147: openstack.ListSecurityGroupsResp + (*CreateSecurityGroupReq)(nil), // 148: openstack.CreateSecurityGroupReq + (*CreateSecurityGroupResp)(nil), // 149: openstack.CreateSecurityGroupResp + (*DeleteSecurityGroupReq)(nil), // 150: openstack.DeleteSecurityGroupReq + (*DeleteSecurityGroupResp)(nil), // 151: openstack.DeleteSecurityGroupResp + (*UpdateSecurityGroupReq)(nil), // 152: openstack.UpdateSecurityGroupReq + (*UpdateSecurityGroupResp)(nil), // 153: openstack.UpdateSecurityGroupResp + (*ShowSecurityGroupReq)(nil), // 154: openstack.ShowSecurityGroupReq + (*ShowSecurityGroupResp)(nil), // 155: openstack.ShowSecurityGroupResp + (*ListSecurityGroupRulesReq)(nil), // 156: openstack.ListSecurityGroupRulesReq + (*ListSecurityGroupRulesResp)(nil), // 157: openstack.ListSecurityGroupRulesResp + (*CreateSecurityGroupRuleReq)(nil), // 158: openstack.CreateSecurityGroupRuleReq + (*CreateSecurityGroupRuleResp)(nil), // 159: openstack.CreateSecurityGroupRuleResp + (*ShowSecurityGroupRuleReq)(nil), // 160: openstack.ShowSecurityGroupRuleReq + (*ShowSecurityGroupRuleResp)(nil), // 161: openstack.ShowSecurityGroupRuleResp + (*DeleteSecurityGroupRuleReq)(nil), // 162: openstack.DeleteSecurityGroupRuleReq + (*DeleteSecurityGroupRuleResp)(nil), // 163: openstack.DeleteSecurityGroupRuleResp + (*ListNodesReq)(nil), // 164: openstack.ListNodesReq + (*ListNodesResp)(nil), // 165: openstack.ListNodesResp + (*CreateNodeReq)(nil), // 166: openstack.CreateNodeReq + (*CreateNodeResp)(nil), // 167: openstack.CreateNodeResp + (*DeleteNodeReq)(nil), // 168: openstack.DeleteNodeReq + (*DeleteNodeResp)(nil), // 169: openstack.DeleteNodeResp + (*ShowNodeDetailsReq)(nil), // 170: openstack.ShowNodeDetailsReq + (*ShowNodeDetailsResp)(nil), // 171: openstack.ShowNodeDetailsResp + (*CreateImageReq)(nil), // 172: openstack.CreateImageReq + (*Tags)(nil), // 173: openstack.Tags + (*CreateImageResp)(nil), // 174: openstack.CreateImageResp + (*ListImagesReq)(nil), // 175: openstack.ListImagesReq + (*ListImagesResp)(nil), // 176: openstack.ListImagesResp + (*DeleteImageReq)(nil), // 177: openstack.DeleteImageReq + (*DeleteImageResp)(nil), // 178: openstack.DeleteImageResp + (*UploadOsImageReq)(nil), // 179: openstack.UploadOsImageReq + (*UploadOsImageResp)(nil), // 180: openstack.UploadOsImageResp + (*ListVolumesReq)(nil), // 181: openstack.ListVolumesReq + (*ListVolumesResp)(nil), // 182: openstack.ListVolumesResp + (*ListVolumesDetailReq)(nil), // 183: openstack.ListVolumesDetailReq + (*ListVolumesDetailResp)(nil), // 184: openstack.ListVolumesDetailResp + (*CreateVolumeReq)(nil), // 185: openstack.CreateVolumeReq + (*CreateVolumeResp)(nil), // 186: openstack.CreateVolumeResp + (*DeleteVolumeReq)(nil), // 187: openstack.DeleteVolumeReq + (*DeleteVolumeResp)(nil), // 188: openstack.DeleteVolumeResp + (*UpdateVolumeReq)(nil), // 189: openstack.UpdateVolumeReq + (*UpdateVolumeResp)(nil), // 190: openstack.UpdateVolumeResp + (*GetVolumeDetailedByIdReq)(nil), // 191: openstack.GetVolumeDetailedByIdReq + (*GetVolumeDetailedByIdResp)(nil), // 192: openstack.GetVolumeDetailedByIdResp + (*ListVolumeTypesReq)(nil), // 193: openstack.ListVolumeTypesReq + (*ListVolumeTypesResp)(nil), // 194: openstack.ListVolumeTypesResp + (*CreateVolumeTypeReq)(nil), // 195: openstack.CreateVolumeTypeReq + (*CreateVolumeTypeResp)(nil), // 196: openstack.CreateVolumeTypeResp + (*DeleteVolumeTypeReq)(nil), // 197: openstack.DeleteVolumeTypeReq + (*DeleteVolumeTypeResp)(nil), // 198: openstack.DeleteVolumeTypeResp + (*GetComputeLimitsResp_Rate)(nil), // 199: openstack.GetComputeLimitsResp.Rate + (*GetComputeLimitsResp_Absolute)(nil), // 200: openstack.GetComputeLimitsResp.Absolute + (*GetComputeLimitsResp_Limits)(nil), // 201: openstack.GetComputeLimitsResp.Limits + (*GetVolumeLimitsResp_Rate)(nil), // 202: openstack.GetVolumeLimitsResp.Rate + (*GetVolumeLimitsResp_Absolute)(nil), // 203: openstack.GetVolumeLimitsResp.Absolute + (*GetVolumeLimitsResp_Limits)(nil), // 204: openstack.GetVolumeLimitsResp.Limits + (*ListServersResp_Links)(nil), // 205: openstack.ListServersResp.Links + (*ListServersResp_Servers)(nil), // 206: openstack.ListServersResp.Servers + (*ListServersResp_ServersLinks)(nil), // 207: openstack.ListServersResp.Servers_links + (*ListServersDetailedResp_Private)(nil), // 208: openstack.ListServersDetailedResp.Private + (*ListServersDetailedResp_Addresses)(nil), // 209: openstack.ListServersDetailedResp.Addresses + (*ListServersDetailedResp_ExtraSpecs)(nil), // 210: openstack.ListServersDetailedResp.Extra_specs + (*ListServersDetailedResp_Flavor)(nil), // 211: openstack.ListServersDetailedResp.Flavor + (*ListServersDetailedResp_Links)(nil), // 212: openstack.ListServersDetailedResp.Links + (*ListServersDetailedResp_Image)(nil), // 213: openstack.ListServersDetailedResp.Image + (*ListServersDetailedResp_Links1)(nil), // 214: openstack.ListServersDetailedResp.Links1 + (*ListServersDetailedResp_Metadata)(nil), // 215: openstack.ListServersDetailedResp.Metadata + (*ListServersDetailedResp_SecurityGroups)(nil), // 216: openstack.ListServersDetailedResp.Security_groups + (*ListServersDetailedResp_ServersDetailed)(nil), // 217: openstack.ListServersDetailedResp.ServersDetailed + (*CreateServerReq_Networks)(nil), // 218: openstack.CreateServerReq.Networks + (*CreateServerReq_BlockDeviceMappingV2)(nil), // 219: openstack.CreateServerReq.Block_device_mapping_v2 + (*CreateServerReq_Metadata)(nil), // 220: openstack.CreateServerReq.Metadata + (*CreateServerReq_Personality)(nil), // 221: openstack.CreateServerReq.Personality + (*CreateServerReq_SecurityGroups)(nil), // 222: openstack.CreateServerReq.Security_groups + (*CreateServerReq_Server)(nil), // 223: openstack.CreateServerReq.Server + (*CreateServerReq_OsSchHntSchedulerHints)(nil), // 224: openstack.CreateServerReq.Os_sch_hnt_scheduler_hints + (*CreateServerResp_Links)(nil), // 225: openstack.CreateServerResp.Links + (*CreateServerResp_SecurityGroups)(nil), // 226: openstack.CreateServerResp.Security_groups + (*CreateServerResp_Server)(nil), // 227: openstack.CreateServerResp.Server + (*GetServersDetailedByIdResp_Private)(nil), // 228: openstack.GetServersDetailedByIdResp.Private + (*GetServersDetailedByIdResp_Addresses)(nil), // 229: openstack.GetServersDetailedByIdResp.Addresses + (*GetServersDetailedByIdResp_ExtraSpecs)(nil), // 230: openstack.GetServersDetailedByIdResp.Extra_specs + (*GetServersDetailedByIdResp_Flavor)(nil), // 231: openstack.GetServersDetailedByIdResp.Flavor + (*GetServersDetailedByIdResp_Links)(nil), // 232: openstack.GetServersDetailedByIdResp.Links + (*GetServersDetailedByIdResp_Image)(nil), // 233: openstack.GetServersDetailedByIdResp.Image + (*GetServersDetailedByIdResp_Links1)(nil), // 234: openstack.GetServersDetailedByIdResp.Links1 + (*GetServersDetailedByIdResp_Metadata)(nil), // 235: openstack.GetServersDetailedByIdResp.Metadata + (*GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached)(nil), // 236: openstack.GetServersDetailedByIdResp.Os_extended_volumes_volumes_attached + (*GetServersDetailedByIdResp_Fault)(nil), // 237: openstack.GetServersDetailedByIdResp.Fault + (*GetServersDetailedByIdResp_SecurityGroups)(nil), // 238: openstack.GetServersDetailedByIdResp.Security_groups + (*GetServersDetailedByIdResp_Servers)(nil), // 239: openstack.GetServersDetailedByIdResp.Servers + (*UpdateServerResp_Private)(nil), // 240: openstack.UpdateServerResp.Private + (*UpdateServerResp_Addresses)(nil), // 241: openstack.UpdateServerResp.Addresses + (*UpdateServerResp_ExtraSpecs)(nil), // 242: openstack.UpdateServerResp.Extra_specs + (*UpdateServerResp_Flavor)(nil), // 243: openstack.UpdateServerResp.Flavor + (*UpdateServerResp_Links)(nil), // 244: openstack.UpdateServerResp.Links + (*UpdateServerResp_Image)(nil), // 245: openstack.UpdateServerResp.Image + (*UpdateServerResp_Links1)(nil), // 246: openstack.UpdateServerResp.Links1 + (*UpdateServerResp_Metadata)(nil), // 247: openstack.UpdateServerResp.Metadata + (*UpdateServerResp_SecurityGroups)(nil), // 248: openstack.UpdateServerResp.Security_groups + (*UpdateServerResp_Server)(nil), // 249: openstack.UpdateServerResp.Server + nil, // 250: openstack.StartServerReq.ActionEntry + nil, // 251: openstack.StopServerReq.ActionEntry + (*RebootServerReq_Reboot)(nil), // 252: openstack.RebootServerReq.Reboot + nil, // 253: openstack.PauseServerReq.ActionEntry + (*RebuildServerReq_Rebuild)(nil), // 254: openstack.RebuildServerReq.Rebuild + (*RebuildServerReq_Metadata)(nil), // 255: openstack.RebuildServerReq.Metadata + (*RebuildServerReq_Personality)(nil), // 256: openstack.RebuildServerReq.Personality + (*RebuildServerReqTrustedImageCertificates)(nil), // 257: openstack.RebuildServerReq.trusted_image_certificates + (*RebuildServerResp_Private)(nil), // 258: openstack.RebuildServerResp.Private + (*RebuildServerResp_Addresses)(nil), // 259: openstack.RebuildServerResp.Addresses + (*RebuildServerResp_ExtraSpecs)(nil), // 260: openstack.RebuildServerResp.Extra_specs + (*RebuildServerResp_Flavor)(nil), // 261: openstack.RebuildServerResp.Flavor + (*RebuildServerResp_Links)(nil), // 262: openstack.RebuildServerResp.Links + (*RebuildServerResp_Image)(nil), // 263: openstack.RebuildServerResp.Image + (*RebuildServerResp_Links1)(nil), // 264: openstack.RebuildServerResp.Links1 + (*RebuildServerResp_Metadata)(nil), // 265: openstack.RebuildServerResp.Metadata + (*RebuildServerResp_OsExtendedVolumesVolumesAttached)(nil), // 266: openstack.RebuildServerResp.Os_extended_volumes_volumes_attached + (*RebuildServerResp_Fault)(nil), // 267: openstack.RebuildServerResp.Fault + (*RebuildServerResp_SecurityGroups)(nil), // 268: openstack.RebuildServerResp.Security_groups + (*RebuildServerResp_Servers)(nil), // 269: openstack.RebuildServerResp.Servers + (*ResizeServerReq_Resize)(nil), // 270: openstack.ResizeServerReq.Resize + nil, // 271: openstack.MigrateServerReq.ActionEntry + (*MigrateServerReq_Migrate)(nil), // 272: openstack.MigrateServerReq.Migrate + nil, // 273: openstack.MigrateServerReq.Migrate.HostEntry + (*ChangeAdministrativePasswordReq_Changepassword)(nil), // 274: openstack.ChangeAdministrativePasswordReq.Changepassword + (*RescueServerReq_Rescue)(nil), // 275: openstack.RescueServerReq.Rescue + nil, // 276: openstack.UnRescueServerReq.ActionEntry + nil, // 277: openstack.UnpauseServerReq.ActionEntry + nil, // 278: openstack.ShelveServerReq.ActionEntry + nil, // 279: openstack.UnshelveServerReq.ActionEntry + nil, // 280: openstack.SuspendServerReq.ActionEntry + (*AddSecurityGroupToServerReq_AddSecurityGroup)(nil), // 281: openstack.AddSecurityGroupToServerReq.AddSecurityGroup + (*RemoveSecurityGroupReq_RemoveSecurityGroup)(nil), // 282: openstack.removeSecurityGroupReq.RemoveSecurityGroup + (*ListFlavorsDetailResp_Flavor)(nil), // 283: openstack.ListFlavorsDetailResp.Flavor + (*ListFlavorsDetailResp_ExtraSpecs)(nil), // 284: openstack.ListFlavorsDetailResp.Extra_specs + (*ListFlavorsDetailResp_Links)(nil), // 285: openstack.ListFlavorsDetailResp.Links + (*CreateFlavorReq_Flavor)(nil), // 286: openstack.CreateFlavorReq.Flavor + (*CreateFlavorResp_Links)(nil), // 287: openstack.CreateFlavorResp.Links + (*CreateFlavorResp_ExtraSpecs)(nil), // 288: openstack.CreateFlavorResp.Extra_specs + (*CreateFlavorResp_Flavor)(nil), // 289: openstack.CreateFlavorResp.Flavor + (*ListSubnetsResp_AllocationPools)(nil), // 290: openstack.ListSubnetsResp.Allocation_pools + (*ListSubnetsResp_Subnets)(nil), // 291: openstack.ListSubnetsResp.Subnets + (*UpdateSubnetResp_AllocationPools)(nil), // 292: openstack.UpdateSubnetResp.Allocation_pools + (*UpdateSubnetResp_Subnet)(nil), // 293: openstack.UpdateSubnetResp.Subnet + (*CreateNetworkSegmentRangeReq_NetworkSegmentRange)(nil), // 294: openstack.CreateNetworkSegmentRangeReq.Network_segment_range + (*CreateNetworkSegmentRangeResp_Used)(nil), // 295: openstack.CreateNetworkSegmentRangeResp.Used + (*CreateNetworkSegmentRangeResp_NetworkSegmentRange)(nil), // 296: openstack.CreateNetworkSegmentRangeResp.Network_segment_range + (*ListNetworkSegmentRangesResp_Used)(nil), // 297: openstack.ListNetworkSegmentRangesResp.Used + (*ListNetworkSegmentRangesResp_NetworkSegmentRanges)(nil), // 298: openstack.ListNetworkSegmentRangesResp.Network_segment_ranges + (*UpdateNetworkSegmentRangesReq_NetworkSegmentRanges)(nil), // 299: openstack.UpdateNetworkSegmentRangesReq.Network_segment_ranges + (*UpdateNetworkSegmentRangesReq_Used)(nil), // 300: openstack.UpdateNetworkSegmentRangesReq.Used + (*UpdateNetworkSegmentRangesResp_Used)(nil), // 301: openstack.UpdateNetworkSegmentRangesResp.Used + (*UpdateNetworkSegmentRangesResp_NetworkSegmentRange)(nil), // 302: openstack.UpdateNetworkSegmentRangesResp.Network_segment_range + (*ShowNetworkSegmentRangeDetailsResp_Used)(nil), // 303: openstack.ShowNetworkSegmentRangeDetailsResp.Used + (*ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange)(nil), // 304: openstack.ShowNetworkSegmentRangeDetailsResp.Network_segment_range + (*CreatePortReq_AllowedAddressPairs)(nil), // 305: openstack.CreatePortReq.Allowed_address_pairs + (*CreatePortReq_Port)(nil), // 306: openstack.CreatePortReq.Port + (*CreatePortResp_AllowedAddressPairs)(nil), // 307: openstack.CreatePortResp.Allowed_address_pairs + (*CreatePortResp_DnsAssignment)(nil), // 308: openstack.CreatePortResp.Dns_assignment + (*CreatePortResp_ExtraDhcpOpts)(nil), // 309: openstack.CreatePortResp.Extra_dhcp_opts + (*CreatePortResp_FixedIps)(nil), // 310: openstack.CreatePortResp.Fixed_ips + (*CreatePortResp_Port)(nil), // 311: openstack.CreatePortResp.Port + (*ListPortsResp_DnsAssignment)(nil), // 312: openstack.ListPortsResp.Dns_assignment + (*ListPortsResp_ExtraDhcpOpts)(nil), // 313: openstack.ListPortsResp.Extra_dhcp_opts + (*ListPortsResp_FixedIps)(nil), // 314: openstack.ListPortsResp.Fixed_ips + (*ListPortsResp_AllowedAddressPairs)(nil), // 315: openstack.ListPortsResp.Allowed_address_pairs + (*ListPortsResp_SecurityGroups)(nil), // 316: openstack.ListPortsResp.Security_groups + (*ListPortsResp_Ports)(nil), // 317: openstack.ListPortsResp.Ports + (*UpdatePortReq_AllowedAddressPairs)(nil), // 318: openstack.UpdatePortReq.Allowed_address_pairs + (*UpdatePortReq_DnsAssignment)(nil), // 319: openstack.UpdatePortReq.Dns_assignment + (*UpdatePortReq_ExtraDhcpOpts)(nil), // 320: openstack.UpdatePortReq.Extra_dhcp_opts + (*UpdatePortReq_FixedIps)(nil), // 321: openstack.UpdatePortReq.Fixed_ips + (*UpdatePortReq_Port)(nil), // 322: openstack.UpdatePortReq.Port + (*UpdatePortResp_BindingProfile)(nil), // 323: openstack.UpdatePortResp.Binding_profile + (*UpdatePortResp_BindingVifDetails)(nil), // 324: openstack.UpdatePortResp.Binding_vif_details + (*UpdatePortResp_DnsAssignment)(nil), // 325: openstack.UpdatePortResp.Dns_assignment + (*UpdatePortResp_ExtraDhcpOpts)(nil), // 326: openstack.UpdatePortResp.Extra_dhcp_opts + (*UpdatePortResp_FixedIps)(nil), // 327: openstack.UpdatePortResp.Fixed_ips + (*UpdatePortResp_AllowedAddressPairs)(nil), // 328: openstack.UpdatePortResp.Allowed_address_pairs + (*UpdatePortResp_Port)(nil), // 329: openstack.UpdatePortResp.Port + (*ShowPortDetailsResp_DnsAssignment)(nil), // 330: openstack.ShowPortDetailsResp.Dns_assignment + (*ShowPortDetailsResp_ExtraDhcpOpts)(nil), // 331: openstack.ShowPortDetailsResp.Extra_dhcp_opts + (*ShowPortDetailsResp_FixedIps)(nil), // 332: openstack.ShowPortDetailsResp.Fixed_ips + (*ShowPortDetailsResp_AllowedAddressPairs)(nil), // 333: openstack.ShowPortDetailsResp.Allowed_address_pairs + (*ShowPortDetailsResp_SecurityGroups)(nil), // 334: openstack.ShowPortDetailsResp.Security_groups + (*ShowPortDetailsResp_Port)(nil), // 335: openstack.ShowPortDetailsResp.Port + (*ListRoutersResp_ExternalFixedIps)(nil), // 336: openstack.ListRoutersResp.External_fixed_ips + (*ListRoutersResp_ExternalGatewayInfo)(nil), // 337: openstack.ListRoutersResp.External_gateway_info + (*ListRoutersResp_Routes)(nil), // 338: openstack.ListRoutersResp.Routes + (*ListRoutersResp_ConntrackHelpers)(nil), // 339: openstack.ListRoutersResp.Conntrack_helpers + (*ListRoutersResp_AvailabilityZoneHints)(nil), // 340: openstack.ListRoutersResp.Availability_zone_hints + (*ListRoutersResp_Routers)(nil), // 341: openstack.ListRoutersResp.Routers + (*CreateRouterReq_ExternalFixedIps)(nil), // 342: openstack.CreateRouterReq.External_fixed_ips + (*CreateRouterReq_ExternalGatewayInfo)(nil), // 343: openstack.CreateRouterReq.External_gateway_info + (*CreateRouterReq_Router)(nil), // 344: openstack.CreateRouterReq.Router + (*CreateRouterResp_ExternalFixedIps)(nil), // 345: openstack.CreateRouterResp.External_fixed_ips + (*CreateRouterResp_ExternalGatewayInfo)(nil), // 346: openstack.CreateRouterResp.External_gateway_info + (*CreateRouterResp_Routers)(nil), // 347: openstack.CreateRouterResp.Routers + (*CreateRouterResp_AvailabilityZoneHints)(nil), // 348: openstack.CreateRouterResp.Availability_zone_hints + (*CreateRouterResp_ConntrackHelpers)(nil), // 349: openstack.CreateRouterResp.Conntrack_helpers + (*CreateRouterResp_Router)(nil), // 350: openstack.CreateRouterResp.Router + (*UpdateRouterReq_ExternalFixedIps)(nil), // 351: openstack.UpdateRouterReq.External_fixed_ips + (*UpdateRouterReq_Routes)(nil), // 352: openstack.UpdateRouterReq.Routes + (*UpdateRouterReq_ExternalGatewayInfo)(nil), // 353: openstack.UpdateRouterReq.External_gateway_info + (*UpdateRouterReq_Router)(nil), // 354: openstack.UpdateRouterReq.Router + (*UpdateRouterResp_ExternalFixedIps)(nil), // 355: openstack.UpdateRouterResp.External_fixed_ips + (*UpdateRouterResp_ExternalGatewayInfo)(nil), // 356: openstack.UpdateRouterResp.External_gateway_info + (*UpdateRouterResp_Routes)(nil), // 357: openstack.UpdateRouterResp.Routes + (*UpdateRouterResp_AvailabilityZoneHints)(nil), // 358: openstack.UpdateRouterResp.Availability_zone_hints + (*UpdateRouterResp_ConntrackHelpers)(nil), // 359: openstack.UpdateRouterResp.Conntrack_helpers + (*UpdateRouterResp_Router)(nil), // 360: openstack.UpdateRouterResp.Router + (*ShowRouterDetailsReq_ExternalFixedIps)(nil), // 361: openstack.ShowRouterDetailsReq.External_fixed_ips + (*ShowRouterDetailsReq_Routes)(nil), // 362: openstack.ShowRouterDetailsReq.Routes + (*ShowRouterDetailsReq_ExternalGatewayInfo)(nil), // 363: openstack.ShowRouterDetailsReq.External_gateway_info + (*ShowRouterDetailsReq_Router)(nil), // 364: openstack.ShowRouterDetailsReq.Router + (*ShowRouterDetailsResp_ExternalFixedIps)(nil), // 365: openstack.ShowRouterDetailsResp.External_fixed_ips + (*ShowRouterDetailsResp_ExternalGatewayInfo)(nil), // 366: openstack.ShowRouterDetailsResp.External_gateway_info + (*ShowRouterDetailsResp_Routes)(nil), // 367: openstack.ShowRouterDetailsResp.Routes + (*ShowRouterDetailsResp_AvailabilityZoneHints)(nil), // 368: openstack.ShowRouterDetailsResp.Availability_zone_hints + (*ShowRouterDetailsResp_ConntrackHelpers)(nil), // 369: openstack.ShowRouterDetailsResp.Conntrack_helpers + (*ShowRouterDetailsResp_Router)(nil), // 370: openstack.ShowRouterDetailsResp.Router + (*ListFloatingIPsResp_PortDetails)(nil), // 371: openstack.ListFloatingIPsResp.Port_details + (*ListFloatingIPsResp_PortForwardings)(nil), // 372: openstack.ListFloatingIPsResp.Port_forwardings + (*ListFloatingIPsResp_Floatingips)(nil), // 373: openstack.ListFloatingIPsResp.Floatingips + (*CreateFloatingIPReq_Floatingip)(nil), // 374: openstack.CreateFloatingIPReq.Floatingip + (*CreateFloatingIPResp_PortDetails)(nil), // 375: openstack.CreateFloatingIPResp.Port_details + (*CreateFloatingIPResp_PortForwardings)(nil), // 376: openstack.CreateFloatingIPResp.Port_forwardings + (*CreateFloatingIPResp_Floatingip)(nil), // 377: openstack.CreateFloatingIPResp.Floatingip + (*UpdateFloatingIPReq_Floatingip)(nil), // 378: openstack.UpdateFloatingIPReq.Floatingip + (*UpdateFloatingIPResp_PortDetails)(nil), // 379: openstack.UpdateFloatingIPResp.Port_details + (*UpdateFloatingIPResp_PortForwardings)(nil), // 380: openstack.UpdateFloatingIPResp.Port_forwardings + (*UpdateFloatingIPResp_Floatingip)(nil), // 381: openstack.UpdateFloatingIPResp.Floatingip + (*ShowFloatingIPDetailsResp_PortDetails)(nil), // 382: openstack.ShowFloatingIPDetailsResp.Port_details + (*ShowFloatingIPDetailsResp_PortForwardings)(nil), // 383: openstack.ShowFloatingIPDetailsResp.Port_forwardings + (*ShowFloatingIPDetailsResp_Floatingip)(nil), // 384: openstack.ShowFloatingIPDetailsResp.Floatingip + (*ListFirewallGroupsResp_FirewallGroups)(nil), // 385: openstack.ListFirewallGroupsResp.Firewall_groups + (*CreateFirewallGroupReq_FirewallGroup)(nil), // 386: openstack.CreateFirewallGroupReq.Firewall_group + (*CreateFirewallGroupResp_FirewallGroup)(nil), // 387: openstack.CreateFirewallGroupResp.Firewall_group + (*UpdateFirewallGroupReq_FirewallGroup)(nil), // 388: openstack.UpdateFirewallGroupReq.Firewall_group + (*UpdateFirewallGroupResp_FirewallGroup)(nil), // 389: openstack.UpdateFirewallGroupResp.Firewall_group + (*ShowFirewallGroupDetailsResp_FirewallGroup)(nil), // 390: openstack.ShowFirewallGroupDetailsResp.Firewall_group + (*CreateFirewallPolicyReq_FirewallPolicy)(nil), // 391: openstack.CreateFirewallPolicyReq.Firewall_policy + (*CreateFirewallPolicyResp_FirewallPolicy)(nil), // 392: openstack.CreateFirewallPolicyResp.Firewall_policy + (*ListFirewallPoliciesResp_FirewallPolicies)(nil), // 393: openstack.ListFirewallPoliciesResp.Firewall_policies + (*ShowFirewallPolicyDetailsResp_FirewallPolicy)(nil), // 394: openstack.ShowFirewallPolicyDetailsResp.Firewall_policy + (*CreateFirewallRuleReq_FirewallRule)(nil), // 395: openstack.CreateFirewallRuleReq.Firewall_rule + (*CreateFirewallRuleResp_FirewallRule)(nil), // 396: openstack.CreateFirewallRuleResp.Firewall_rule + (*ListFirewallRulesResp_FirewallRules)(nil), // 397: openstack.ListFirewallRulesResp.Firewall_rules + (*ShowFirewallRuleDetailsResp_FirewallRule)(nil), // 398: openstack.ShowFirewallRuleDetailsResp.Firewall_rule + (*ListSecurityGroupsResp_SecurityGroupRules)(nil), // 399: openstack.ListSecurityGroupsResp.Security_group_rules + (*ListSecurityGroupsResp_SecurityGroups)(nil), // 400: openstack.ListSecurityGroupsResp.Security_groups + (*CreateSecurityGroupReq_SecurityGroup)(nil), // 401: openstack.CreateSecurityGroupReq.Security_group + (*CreateSecurityGroupResp_SecurityGroupRules)(nil), // 402: openstack.CreateSecurityGroupResp.Security_group_rules + (*CreateSecurityGroupResp_SecurityGroup)(nil), // 403: openstack.CreateSecurityGroupResp.Security_group + (*UpdateSecurityGroupResp_SecurityGroupRules)(nil), // 404: openstack.UpdateSecurityGroupResp.Security_group_rules + (*UpdateSecurityGroupResp_SecurityGroup)(nil), // 405: openstack.UpdateSecurityGroupResp.Security_group + (*ShowSecurityGroupResp_SecurityGroupRules)(nil), // 406: openstack.ShowSecurityGroupResp.Security_group_rules + (*ShowSecurityGroupResp_SecurityGroup)(nil), // 407: openstack.ShowSecurityGroupResp.Security_group + (*ListSecurityGroupRulesResp_SecurityGroupRules)(nil), // 408: openstack.ListSecurityGroupRulesResp.Security_group_rules + (*CreateSecurityGroupRuleReq_SecurityGroupRule)(nil), // 409: openstack.CreateSecurityGroupRuleReq.Security_group_rule + (*CreateSecurityGroupRuleResp_SecurityGroupRule)(nil), // 410: openstack.CreateSecurityGroupRuleResp.Security_group_rule + (*DeleteSecurityGroupRuleResp_SecurityGroupRule)(nil), // 411: openstack.DeleteSecurityGroupRuleResp.Security_group_rule + (*ListNodesResp_Links)(nil), // 412: openstack.ListNodesResp.Links + (*ListNodesResp_Nodes)(nil), // 413: openstack.ListNodesResp.Nodes + (*CreateNodeReq_DriverInfo)(nil), // 414: openstack.CreateNodeReq.Driver_info + (*CreateNodeReq_Properties)(nil), // 415: openstack.CreateNodeReq.Properties + (*CreateNodeReq_InstanceInfo)(nil), // 416: openstack.CreateNodeReq.Instance_info + (*CreateNodeReq_NetworkData)(nil), // 417: openstack.CreateNodeReq.Network_data + (*CreateNodeResp_CleanStep)(nil), // 418: openstack.CreateNodeResp.Clean_step + (*CreateNodeResp_DeployStep)(nil), // 419: openstack.CreateNodeResp.Deploy_step + (*CreateNodeResp_DriverInfo)(nil), // 420: openstack.CreateNodeResp.Driver_info + (*CreateNodeResp_DriverInternalInfo)(nil), // 421: openstack.CreateNodeResp.Driver_internal_info + (*CreateNodeResp_Extra)(nil), // 422: openstack.CreateNodeResp.Extra + (*CreateNodeResp_InstanceInfo)(nil), // 423: openstack.CreateNodeResp.Instance_info + (*CreateNodeResp_Links)(nil), // 424: openstack.CreateNodeResp.Links + (*CreateNodeResp_NetworkData)(nil), // 425: openstack.CreateNodeResp.Network_data + (*CreateNodeResp_Portgroups)(nil), // 426: openstack.CreateNodeResp.Portgroups + (*CreateNodeResp_Ports)(nil), // 427: openstack.CreateNodeResp.Ports + (*CreateNodeResp_Properties)(nil), // 428: openstack.CreateNodeResp.Properties + (*CreateNodeResp_RaidConfig)(nil), // 429: openstack.CreateNodeResp.Raid_config + (*CreateNodeResp_States)(nil), // 430: openstack.CreateNodeResp.States + (*CreateNodeResp_TargetRaidConfig)(nil), // 431: openstack.CreateNodeResp.Target_raid_config + (*CreateNodeResp_Volume)(nil), // 432: openstack.CreateNodeResp.Volume + (*ShowNodeDetailsReq_Fields)(nil), // 433: openstack.ShowNodeDetailsReq.Fields + (*ShowNodeDetailsResp_CleanStep)(nil), // 434: openstack.ShowNodeDetailsResp.Clean_step + (*ShowNodeDetailsResp_DeployStep)(nil), // 435: openstack.ShowNodeDetailsResp.Deploy_step + (*ShowNodeDetailsResp_DriverInfo)(nil), // 436: openstack.ShowNodeDetailsResp.Driver_info + (*ShowNodeDetailsResp_DriverInternalInfo)(nil), // 437: openstack.ShowNodeDetailsResp.Driver_internal_info + (*ShowNodeDetailsResp_Extra)(nil), // 438: openstack.ShowNodeDetailsResp.Extra + (*ShowNodeDetailsResp_InstanceInfo)(nil), // 439: openstack.ShowNodeDetailsResp.Instance_info + (*ShowNodeDetailsResp_Links)(nil), // 440: openstack.ShowNodeDetailsResp.Links + (*ShowNodeDetailsResp_NetworkData)(nil), // 441: openstack.ShowNodeDetailsResp.Network_data + (*ShowNodeDetailsResp_Portgroups)(nil), // 442: openstack.ShowNodeDetailsResp.Portgroups + (*ShowNodeDetailsResp_Ports)(nil), // 443: openstack.ShowNodeDetailsResp.Ports + (*ShowNodeDetailsResp_Properties)(nil), // 444: openstack.ShowNodeDetailsResp.Properties + (*ShowNodeDetailsResp_RaidConfig)(nil), // 445: openstack.ShowNodeDetailsResp.Raid_config + (*ShowNodeDetailsResp_States)(nil), // 446: openstack.ShowNodeDetailsResp.States + (*ShowNodeDetailsResp_TargetRaidConfig)(nil), // 447: openstack.ShowNodeDetailsResp.Target_raid_config + (*ShowNodeDetailsResp_Volume)(nil), // 448: openstack.ShowNodeDetailsResp.Volume + (*ShowNodeDetailsResp_Traits)(nil), // 449: openstack.ShowNodeDetailsResp.Traits + (*CreateImageResp_Tags)(nil), // 450: openstack.CreateImageResp.Tags + (*CreateImageResp_Locations)(nil), // 451: openstack.CreateImageResp.Locations + (*ListImagesResp_Images)(nil), // 452: openstack.ListImagesResp.Images + (*ListImagesResp_Tags)(nil), // 453: openstack.ListImagesResp.Tags + (*ListVolumesResp_Links)(nil), // 454: openstack.ListVolumesResp.Links + (*ListVolumesResp_Volumes)(nil), // 455: openstack.ListVolumesResp.Volumes + (*ListVolumesDetailResp_Links)(nil), // 456: openstack.ListVolumesDetailResp.Links + (*ListVolumesDetailResp_Attachments)(nil), // 457: openstack.ListVolumesDetailResp.Attachments + (*ListVolumesDetailResp_Metadata)(nil), // 458: openstack.ListVolumesDetailResp.Metadata + (*ListVolumesDetailResp_VolumeDetail)(nil), // 459: openstack.ListVolumesDetailResp.VolumeDetail + (*CreateVolumeReq_Metadata)(nil), // 460: openstack.CreateVolumeReq.Metadata + (*CreateVolumeReq_Volume)(nil), // 461: openstack.CreateVolumeReq.Volume + (*CreateVolumeResp_Links)(nil), // 462: openstack.CreateVolumeResp.Links + (*CreateVolumeResp_Metadata)(nil), // 463: openstack.CreateVolumeResp.Metadata + (*CreateVolumeResp_Volume)(nil), // 464: openstack.CreateVolumeResp.Volume + (*CreateVolumeResp_Attachments)(nil), // 465: openstack.CreateVolumeResp.Attachments + (*UpdateVolumeReq_Metadata)(nil), // 466: openstack.UpdateVolumeReq.Metadata + (*UpdateVolumeReq_Volume)(nil), // 467: openstack.UpdateVolumeReq.Volume + (*UpdateVolumeResp_Links)(nil), // 468: openstack.UpdateVolumeResp.Links + (*UpdateVolumeResp_Metadata)(nil), // 469: openstack.UpdateVolumeResp.Metadata + (*UpdateVolumeResp_Volume)(nil), // 470: openstack.UpdateVolumeResp.Volume + (*UpdateVolumeResp_Attachments)(nil), // 471: openstack.UpdateVolumeResp.Attachments + (*GetVolumeDetailedByIdResp_Links)(nil), // 472: openstack.GetVolumeDetailedByIdResp.Links + (*GetVolumeDetailedByIdResp_Metadata)(nil), // 473: openstack.GetVolumeDetailedByIdResp.Metadata + (*GetVolumeDetailedByIdResp_Attachments)(nil), // 474: openstack.GetVolumeDetailedByIdResp.Attachments + (*GetVolumeDetailedByIdResp_Volume)(nil), // 475: openstack.GetVolumeDetailedByIdResp.Volume + (*ListVolumeTypesResp_ExtraSpecs)(nil), // 476: openstack.ListVolumeTypesResp.Extra_specs + (*ListVolumeTypesResp_VolumeTypes)(nil), // 477: openstack.ListVolumeTypesResp.Volume_types + (*CreateVolumeTypeReq_ExtraSpecs)(nil), // 478: openstack.CreateVolumeTypeReq.Extra_specs + (*CreateVolumeTypeReq_VolumeType)(nil), // 479: openstack.CreateVolumeTypeReq.Volume_type + (*CreateVolumeTypeResp_ExtraSpecs)(nil), // 480: openstack.CreateVolumeTypeResp.Extra_specs + (*CreateVolumeTypeResp_VolumeType)(nil), // 481: openstack.CreateVolumeTypeResp.Volume_type } var file_pcm_openstack_proto_depIdxs = []int32{ - 89, // 0: openstack.GetComputeLimitsResp.limits:type_name -> openstack.GetComputeLimitsResp.Limits - 92, // 1: openstack.GetVolumeLimitsResp.limits:type_name -> openstack.GetVolumeLimitsResp.Limits - 94, // 2: openstack.ListServersResp.servers:type_name -> openstack.ListServersResp.Servers - 95, // 3: openstack.ListServersResp.servers_links:type_name -> openstack.ListServersResp.Servers_links - 105, // 4: openstack.ListServersDetailedResp.servers:type_name -> openstack.ListServersDetailedResp.ServersDetailed - 111, // 5: openstack.CreateServerReq.server:type_name -> openstack.CreateServerReq.Server - 115, // 6: openstack.CreateServerResp.server:type_name -> openstack.CreateServerResp.Server - 127, // 7: openstack.GetServersDetailedByIdResp.server:type_name -> openstack.GetServersDetailedByIdResp.Servers + 201, // 0: openstack.GetComputeLimitsResp.limits:type_name -> openstack.GetComputeLimitsResp.Limits + 204, // 1: openstack.GetVolumeLimitsResp.limits:type_name -> openstack.GetVolumeLimitsResp.Limits + 206, // 2: openstack.ListServersResp.servers:type_name -> openstack.ListServersResp.Servers + 207, // 3: openstack.ListServersResp.servers_links:type_name -> openstack.ListServersResp.Servers_links + 217, // 4: openstack.ListServersDetailedResp.servers:type_name -> openstack.ListServersDetailedResp.ServersDetailed + 223, // 5: openstack.CreateServerReq.server:type_name -> openstack.CreateServerReq.Server + 227, // 6: openstack.CreateServerResp.server:type_name -> openstack.CreateServerResp.Server + 239, // 7: openstack.GetServersDetailedByIdResp.server:type_name -> openstack.GetServersDetailedByIdResp.Servers 15, // 8: openstack.UpdateServerReq.server_update:type_name -> openstack.ServerUpdate 16, // 9: openstack.ServerUpdate.server:type_name -> openstack.Server - 137, // 10: openstack.UpdateServerResp.server:type_name -> openstack.UpdateServerResp.Server - 138, // 11: openstack.StartServerReq.action:type_name -> openstack.StartServerReq.ActionEntry - 139, // 12: openstack.StopServerReq.action:type_name -> openstack.StopServerReq.ActionEntry - 140, // 13: openstack.RebootServerReq.reboot:type_name -> openstack.RebootServerReq.Reboot - 141, // 14: openstack.PauseServerReq.action:type_name -> openstack.PauseServerReq.ActionEntry - 142, // 15: openstack.RebuildServerReq.rebuild:type_name -> openstack.RebuildServerReq.Rebuild - 157, // 16: openstack.RebuildServerResp.server:type_name -> openstack.RebuildServerResp.Servers - 158, // 17: openstack.ResizeServerReq.resize:type_name -> openstack.ResizeServerReq.Resize - 159, // 18: openstack.MigrateServerReq.action:type_name -> openstack.MigrateServerReq.ActionEntry - 160, // 19: openstack.MigrateServerReq.migrate:type_name -> openstack.MigrateServerReq.Migrate - 162, // 20: openstack.ListFlavorsDetailResp.flavors:type_name -> openstack.ListFlavorsDetailResp.Flavor - 35, // 21: openstack.ShowNetworkDetailsResp.network:type_name -> openstack.Network - 35, // 22: openstack.UpdateNetworkReq.network:type_name -> openstack.Network - 35, // 23: openstack.UpdateNetworkResp.network:type_name -> openstack.Network - 35, // 24: openstack.ListNetworksResp.networks:type_name -> openstack.Network - 35, // 25: openstack.CreateNetworkReq.network:type_name -> openstack.Network - 35, // 26: openstack.CreateNetworkResp.network:type_name -> openstack.Network - 47, // 27: openstack.CreateSubnetReq.subnet:type_name -> openstack.Subnet - 48, // 28: openstack.CreateSubnetResp.subnet:type_name -> openstack.SubnetResp - 49, // 29: openstack.Subnet.allocation_pools:type_name -> openstack.Allocation_pools - 49, // 30: openstack.SubnetResp.allocation_pools:type_name -> openstack.Allocation_pools - 35, // 31: openstack.BulkCreateNetworksReq.networks:type_name -> openstack.Network - 35, // 32: openstack.BulkCreateNetworksResp.networks:type_name -> openstack.Network - 166, // 33: openstack.ListNodesResp.nodes:type_name -> openstack.ListNodesResp.Nodes - 167, // 34: openstack.CreateNodeReq.driver_info:type_name -> openstack.CreateNodeReq.Driver_info - 168, // 35: openstack.CreateNodeReq.properties:type_name -> openstack.CreateNodeReq.Properties - 169, // 36: openstack.CreateNodeReq.instance_info:type_name -> openstack.CreateNodeReq.Instance_info - 170, // 37: openstack.CreateNodeReq.network_data:type_name -> openstack.CreateNodeReq.Network_data - 173, // 38: openstack.CreateNodeResp.driver_info:type_name -> openstack.CreateNodeResp.Driver_info - 174, // 39: openstack.CreateNodeResp.driver_internal_info:type_name -> openstack.CreateNodeResp.Driver_internal_info - 181, // 40: openstack.CreateNodeResp.properties:type_name -> openstack.CreateNodeResp.Properties - 176, // 41: openstack.CreateNodeResp.instance_info:type_name -> openstack.CreateNodeResp.Instance_info - 175, // 42: openstack.CreateNodeResp.extra:type_name -> openstack.CreateNodeResp.Extra - 182, // 43: openstack.CreateNodeResp.raid_config:type_name -> openstack.CreateNodeResp.Raid_config - 184, // 44: openstack.CreateNodeResp.target_raid_config:type_name -> openstack.CreateNodeResp.Target_raid_config - 171, // 45: openstack.CreateNodeResp.clean_step:type_name -> openstack.CreateNodeResp.Clean_step - 172, // 46: openstack.CreateNodeResp.deploy_step:type_name -> openstack.CreateNodeResp.Deploy_step - 177, // 47: openstack.CreateNodeResp.links:type_name -> openstack.CreateNodeResp.Links - 180, // 48: openstack.CreateNodeResp.ports:type_name -> openstack.CreateNodeResp.Ports - 179, // 49: openstack.CreateNodeResp.portgroups:type_name -> openstack.CreateNodeResp.Portgroups - 183, // 50: openstack.CreateNodeResp.states:type_name -> openstack.CreateNodeResp.States - 185, // 51: openstack.CreateNodeResp.volume:type_name -> openstack.CreateNodeResp.Volume - 178, // 52: openstack.CreateNodeResp.network_data:type_name -> openstack.CreateNodeResp.Network_data - 186, // 53: openstack.ShowNodeDetailsReq.fields:type_name -> openstack.ShowNodeDetailsReq.Fields - 189, // 54: openstack.ShowNodeDetailsResp.driver_info:type_name -> openstack.ShowNodeDetailsResp.Driver_info - 190, // 55: openstack.ShowNodeDetailsResp.driver_internal_info:type_name -> openstack.ShowNodeDetailsResp.Driver_internal_info - 197, // 56: openstack.ShowNodeDetailsResp.properties:type_name -> openstack.ShowNodeDetailsResp.Properties - 192, // 57: openstack.ShowNodeDetailsResp.instance_info:type_name -> openstack.ShowNodeDetailsResp.Instance_info - 191, // 58: openstack.ShowNodeDetailsResp.extra:type_name -> openstack.ShowNodeDetailsResp.Extra - 198, // 59: openstack.ShowNodeDetailsResp.raid_config:type_name -> openstack.ShowNodeDetailsResp.Raid_config - 200, // 60: openstack.ShowNodeDetailsResp.target_raid_config:type_name -> openstack.ShowNodeDetailsResp.Target_raid_config - 187, // 61: openstack.ShowNodeDetailsResp.clean_step:type_name -> openstack.ShowNodeDetailsResp.Clean_step - 188, // 62: openstack.ShowNodeDetailsResp.deploy_step:type_name -> openstack.ShowNodeDetailsResp.Deploy_step - 193, // 63: openstack.ShowNodeDetailsResp.links:type_name -> openstack.ShowNodeDetailsResp.Links - 196, // 64: openstack.ShowNodeDetailsResp.ports:type_name -> openstack.ShowNodeDetailsResp.Ports - 195, // 65: openstack.ShowNodeDetailsResp.portgroups:type_name -> openstack.ShowNodeDetailsResp.Portgroups - 199, // 66: openstack.ShowNodeDetailsResp.states:type_name -> openstack.ShowNodeDetailsResp.States - 202, // 67: openstack.ShowNodeDetailsResp.traits:type_name -> openstack.ShowNodeDetailsResp.Traits - 201, // 68: openstack.ShowNodeDetailsResp.volume:type_name -> openstack.ShowNodeDetailsResp.Volume - 194, // 69: openstack.ShowNodeDetailsResp.network_data:type_name -> openstack.ShowNodeDetailsResp.Network_data - 61, // 70: openstack.CreateImageReq.tags:type_name -> openstack.Tags - 203, // 71: openstack.CreateImageResp.tags:type_name -> openstack.CreateImageResp.Tags - 204, // 72: openstack.CreateImageResp.locations:type_name -> openstack.CreateImageResp.Locations - 205, // 73: openstack.ListImagesResp.images:type_name -> openstack.ListImagesResp.Images - 208, // 74: openstack.ListVolumesResp.volumes:type_name -> openstack.ListVolumesResp.Volumes - 212, // 75: openstack.ListVolumesDetailResp.volumes:type_name -> openstack.ListVolumesDetailResp.VolumeDetail - 214, // 76: openstack.CreateVolumeReq.volume:type_name -> openstack.CreateVolumeReq.Volume - 217, // 77: openstack.CreateVolumeResp.volume:type_name -> openstack.CreateVolumeResp.Volume - 220, // 78: openstack.UpdateVolumeReq.volume:type_name -> openstack.UpdateVolumeReq.Volume - 223, // 79: openstack.UpdateVolumeResp.volume:type_name -> openstack.UpdateVolumeResp.Volume - 228, // 80: openstack.GetVolumeDetailedByIdResp.volume:type_name -> openstack.GetVolumeDetailedByIdResp.Volume - 230, // 81: openstack.ListVolumeTypesResp.volume_types:type_name -> openstack.ListVolumeTypesResp.Volume_types - 232, // 82: openstack.CreateVolumeTypeReq.volume_type:type_name -> openstack.CreateVolumeTypeReq.Volume_type - 234, // 83: openstack.CreateVolumeTypeResp.volume_type:type_name -> openstack.CreateVolumeTypeResp.Volume_type - 87, // 84: openstack.GetComputeLimitsResp.Limits.rate:type_name -> openstack.GetComputeLimitsResp.Rate - 88, // 85: openstack.GetComputeLimitsResp.Limits.absolute:type_name -> openstack.GetComputeLimitsResp.Absolute - 90, // 86: openstack.GetVolumeLimitsResp.Limits.rate:type_name -> openstack.GetVolumeLimitsResp.Rate - 91, // 87: openstack.GetVolumeLimitsResp.Limits.absolute:type_name -> openstack.GetVolumeLimitsResp.Absolute - 93, // 88: openstack.ListServersResp.Servers.links:type_name -> openstack.ListServersResp.Links - 96, // 89: openstack.ListServersDetailedResp.Addresses.private:type_name -> openstack.ListServersDetailedResp.Private - 102, // 90: openstack.ListServersDetailedResp.Flavor.links:type_name -> openstack.ListServersDetailedResp.Links1 - 100, // 91: openstack.ListServersDetailedResp.Image.links:type_name -> openstack.ListServersDetailedResp.Links - 97, // 92: openstack.ListServersDetailedResp.ServersDetailed.addresses:type_name -> openstack.ListServersDetailedResp.Addresses - 99, // 93: openstack.ListServersDetailedResp.ServersDetailed.flavor:type_name -> openstack.ListServersDetailedResp.Flavor - 101, // 94: openstack.ListServersDetailedResp.ServersDetailed.image:type_name -> openstack.ListServersDetailedResp.Image - 102, // 95: openstack.ListServersDetailedResp.ServersDetailed.links:type_name -> openstack.ListServersDetailedResp.Links1 - 103, // 96: openstack.ListServersDetailedResp.ServersDetailed.metadata:type_name -> openstack.ListServersDetailedResp.Metadata - 104, // 97: openstack.ListServersDetailedResp.ServersDetailed.security_groups:type_name -> openstack.ListServersDetailedResp.Security_groups - 106, // 98: openstack.CreateServerReq.Server.networks:type_name -> openstack.CreateServerReq.Networks - 107, // 99: openstack.CreateServerReq.Server.block_device_mapping_v2:type_name -> openstack.CreateServerReq.Block_device_mapping_v2 - 108, // 100: openstack.CreateServerReq.Server.metadata:type_name -> openstack.CreateServerReq.Metadata - 109, // 101: openstack.CreateServerReq.Server.personality:type_name -> openstack.CreateServerReq.Personality - 110, // 102: openstack.CreateServerReq.Server.security_groups:type_name -> openstack.CreateServerReq.Security_groups - 113, // 103: openstack.CreateServerResp.Server.links:type_name -> openstack.CreateServerResp.Links - 114, // 104: openstack.CreateServerResp.Server.security_groups:type_name -> openstack.CreateServerResp.Security_groups - 116, // 105: openstack.GetServersDetailedByIdResp.Addresses.private:type_name -> openstack.GetServersDetailedByIdResp.Private - 118, // 106: openstack.GetServersDetailedByIdResp.Flavor.extra_specs:type_name -> openstack.GetServersDetailedByIdResp.Extra_specs - 120, // 107: openstack.GetServersDetailedByIdResp.Image.links:type_name -> openstack.GetServersDetailedByIdResp.Links - 117, // 108: openstack.GetServersDetailedByIdResp.Servers.addresses:type_name -> openstack.GetServersDetailedByIdResp.Addresses - 119, // 109: openstack.GetServersDetailedByIdResp.Servers.flavor:type_name -> openstack.GetServersDetailedByIdResp.Flavor - 121, // 110: openstack.GetServersDetailedByIdResp.Servers.image:type_name -> openstack.GetServersDetailedByIdResp.Image - 122, // 111: openstack.GetServersDetailedByIdResp.Servers.links:type_name -> openstack.GetServersDetailedByIdResp.Links1 - 123, // 112: openstack.GetServersDetailedByIdResp.Servers.metadata:type_name -> openstack.GetServersDetailedByIdResp.Metadata - 124, // 113: openstack.GetServersDetailedByIdResp.Servers.os_extended_volumes_volumes_attached:type_name -> openstack.GetServersDetailedByIdResp.Os_extended_volumes_volumes_attached - 125, // 114: openstack.GetServersDetailedByIdResp.Servers.fault:type_name -> openstack.GetServersDetailedByIdResp.Fault - 126, // 115: openstack.GetServersDetailedByIdResp.Servers.security_groups:type_name -> openstack.GetServersDetailedByIdResp.Security_groups - 128, // 116: openstack.UpdateServerResp.Addresses.private:type_name -> openstack.UpdateServerResp.Private - 130, // 117: openstack.UpdateServerResp.Flavor.extra_specs:type_name -> openstack.UpdateServerResp.Extra_specs - 132, // 118: openstack.UpdateServerResp.Image.links:type_name -> openstack.UpdateServerResp.Links - 129, // 119: openstack.UpdateServerResp.Server.addresses:type_name -> openstack.UpdateServerResp.Addresses - 131, // 120: openstack.UpdateServerResp.Server.flavor:type_name -> openstack.UpdateServerResp.Flavor - 133, // 121: openstack.UpdateServerResp.Server.image:type_name -> openstack.UpdateServerResp.Image - 134, // 122: openstack.UpdateServerResp.Server.links:type_name -> openstack.UpdateServerResp.Links1 - 135, // 123: openstack.UpdateServerResp.Server.metadata:type_name -> openstack.UpdateServerResp.Metadata - 136, // 124: openstack.UpdateServerResp.Server.security_groups:type_name -> openstack.UpdateServerResp.Security_groups - 143, // 125: openstack.RebuildServerReq.Rebuild.metadata:type_name -> openstack.RebuildServerReq.Metadata - 144, // 126: openstack.RebuildServerReq.Rebuild.personality:type_name -> openstack.RebuildServerReq.Personality - 145, // 127: openstack.RebuildServerReq.Rebuild.trusted_image_certificates:type_name -> openstack.RebuildServerReq.trusted_image_certificates - 146, // 128: openstack.RebuildServerResp.Addresses.private:type_name -> openstack.RebuildServerResp.Private - 148, // 129: openstack.RebuildServerResp.Flavor.extra_specs:type_name -> openstack.RebuildServerResp.Extra_specs - 150, // 130: openstack.RebuildServerResp.Image.links:type_name -> openstack.RebuildServerResp.Links - 147, // 131: openstack.RebuildServerResp.Servers.addresses:type_name -> openstack.RebuildServerResp.Addresses - 149, // 132: openstack.RebuildServerResp.Servers.flavor:type_name -> openstack.RebuildServerResp.Flavor - 151, // 133: openstack.RebuildServerResp.Servers.image:type_name -> openstack.RebuildServerResp.Image - 152, // 134: openstack.RebuildServerResp.Servers.links:type_name -> openstack.RebuildServerResp.Links1 - 153, // 135: openstack.RebuildServerResp.Servers.metadata:type_name -> openstack.RebuildServerResp.Metadata - 154, // 136: openstack.RebuildServerResp.Servers.os_extended_volumes_volumes_attached:type_name -> openstack.RebuildServerResp.Os_extended_volumes_volumes_attached - 155, // 137: openstack.RebuildServerResp.Servers.fault:type_name -> openstack.RebuildServerResp.Fault - 156, // 138: openstack.RebuildServerResp.Servers.security_groups:type_name -> openstack.RebuildServerResp.Security_groups - 161, // 139: openstack.MigrateServerReq.Migrate.host:type_name -> openstack.MigrateServerReq.Migrate.HostEntry - 163, // 140: openstack.ListFlavorsDetailResp.Flavor.extra_specs:type_name -> openstack.ListFlavorsDetailResp.Extra_specs - 164, // 141: openstack.ListFlavorsDetailResp.Flavor.links:type_name -> openstack.ListFlavorsDetailResp.Links - 165, // 142: openstack.ListNodesResp.Nodes.links:type_name -> openstack.ListNodesResp.Links - 206, // 143: openstack.ListImagesResp.Images.tags:type_name -> openstack.ListImagesResp.Tags - 207, // 144: openstack.ListVolumesResp.Volumes.links:type_name -> openstack.ListVolumesResp.Links - 209, // 145: openstack.ListVolumesDetailResp.VolumeDetail.links:type_name -> openstack.ListVolumesDetailResp.Links - 210, // 146: openstack.ListVolumesDetailResp.VolumeDetail.attachments:type_name -> openstack.ListVolumesDetailResp.Attachments - 211, // 147: openstack.ListVolumesDetailResp.VolumeDetail.metadata:type_name -> openstack.ListVolumesDetailResp.Metadata - 213, // 148: openstack.CreateVolumeReq.Volume.metadata:type_name -> openstack.CreateVolumeReq.Metadata - 218, // 149: openstack.CreateVolumeResp.Volume.attachments:type_name -> openstack.CreateVolumeResp.Attachments - 215, // 150: openstack.CreateVolumeResp.Volume.links:type_name -> openstack.CreateVolumeResp.Links - 216, // 151: openstack.CreateVolumeResp.Volume.metadata:type_name -> openstack.CreateVolumeResp.Metadata - 219, // 152: openstack.UpdateVolumeReq.Volume.metadata:type_name -> openstack.UpdateVolumeReq.Metadata - 224, // 153: openstack.UpdateVolumeResp.Volume.attachments:type_name -> openstack.UpdateVolumeResp.Attachments - 221, // 154: openstack.UpdateVolumeResp.Volume.links:type_name -> openstack.UpdateVolumeResp.Links - 222, // 155: openstack.UpdateVolumeResp.Volume.metadata:type_name -> openstack.UpdateVolumeResp.Metadata - 227, // 156: openstack.GetVolumeDetailedByIdResp.Volume.attachments:type_name -> openstack.GetVolumeDetailedByIdResp.Attachments - 225, // 157: openstack.GetVolumeDetailedByIdResp.Volume.links:type_name -> openstack.GetVolumeDetailedByIdResp.Links - 226, // 158: openstack.GetVolumeDetailedByIdResp.Volume.metadata:type_name -> openstack.GetVolumeDetailedByIdResp.Metadata - 229, // 159: openstack.ListVolumeTypesResp.Volume_types.extra_specs:type_name -> openstack.ListVolumeTypesResp.Extra_specs - 231, // 160: openstack.CreateVolumeTypeReq.Volume_type.extra_specs:type_name -> openstack.CreateVolumeTypeReq.Extra_specs - 233, // 161: openstack.CreateVolumeTypeResp.Volume_type.extra_specs:type_name -> openstack.CreateVolumeTypeResp.Extra_specs - 0, // 162: openstack.Openstack.GetComputeLimits:input_type -> openstack.GetComputeLimitsReq - 2, // 163: openstack.Openstack.GetVolumeLimits:input_type -> openstack.GetVolumeLimitsReq - 4, // 164: openstack.Openstack.ListServers:input_type -> openstack.ListServersReq - 6, // 165: openstack.Openstack.ListServersDetailed:input_type -> openstack.ListServersDetailedReq - 8, // 166: openstack.Openstack.CreateServer:input_type -> openstack.CreateServerReq - 10, // 167: openstack.Openstack.DeleteServer:input_type -> openstack.DeleteServerReq - 12, // 168: openstack.Openstack.GetServersDetailedById:input_type -> openstack.GetServersDetailedByIdReq - 14, // 169: openstack.Openstack.UpdateServer:input_type -> openstack.UpdateServerReq - 18, // 170: openstack.Openstack.StartServer:input_type -> openstack.StartServerReq - 20, // 171: openstack.Openstack.StopServer:input_type -> openstack.StopServerReq - 22, // 172: openstack.Openstack.RebootServer:input_type -> openstack.RebootServerReq - 24, // 173: openstack.Openstack.PauseServer:input_type -> openstack.PauseServerReq - 32, // 174: openstack.Openstack.ListFlavorsDetail:input_type -> openstack.ListFlavorsDetailReq - 26, // 175: openstack.Openstack.RebuildServer:input_type -> openstack.RebuildServerReq - 28, // 176: openstack.Openstack.ResizeServer:input_type -> openstack.ResizeServerReq - 30, // 177: openstack.Openstack.MigrateServer:input_type -> openstack.MigrateServerReq - 34, // 178: openstack.Openstack.ShowNetworkDetails:input_type -> openstack.ShowNetworkDetailsReq - 37, // 179: openstack.Openstack.UpdateNetwork:input_type -> openstack.UpdateNetworkReq - 39, // 180: openstack.Openstack.DeleteNetwork:input_type -> openstack.DeleteNetworkReq - 41, // 181: openstack.Openstack.ListNetworks:input_type -> openstack.ListNetworksReq - 43, // 182: openstack.Openstack.CreateNetwork:input_type -> openstack.CreateNetworkReq - 50, // 183: openstack.Openstack.BulkCreateNetworks:input_type -> openstack.BulkCreateNetworksReq - 45, // 184: openstack.Openstack.CreateSubnet:input_type -> openstack.CreateSubnetReq - 60, // 185: openstack.Openstack.CreateImage:input_type -> openstack.CreateImageReq - 63, // 186: openstack.Openstack.ListImages:input_type -> openstack.ListImagesReq - 65, // 187: openstack.Openstack.DeleteImage:input_type -> openstack.DeleteImageReq - 67, // 188: openstack.Openstack.UploadImage:input_type -> openstack.UploadOsImageReq - 52, // 189: openstack.Openstack.ListNodes:input_type -> openstack.ListNodesReq - 54, // 190: openstack.Openstack.CreateNode:input_type -> openstack.CreateNodeReq - 56, // 191: openstack.Openstack.DeleteNode:input_type -> openstack.DeleteNodeReq - 58, // 192: openstack.Openstack.ShowNodeDetails:input_type -> openstack.ShowNodeDetailsReq - 69, // 193: openstack.Openstack.ListVolumes:input_type -> openstack.ListVolumesReq - 71, // 194: openstack.Openstack.ListVolumesDetail:input_type -> openstack.ListVolumesDetailReq - 73, // 195: openstack.Openstack.CreateVolume:input_type -> openstack.CreateVolumeReq - 75, // 196: openstack.Openstack.DeleteVolume:input_type -> openstack.DeleteVolumeReq - 77, // 197: openstack.Openstack.UpdateVolume:input_type -> openstack.UpdateVolumeReq - 79, // 198: openstack.Openstack.GetVolumeDetailedById:input_type -> openstack.GetVolumeDetailedByIdReq - 81, // 199: openstack.Openstack.ListVolumeTypes:input_type -> openstack.ListVolumeTypesReq - 83, // 200: openstack.Openstack.CreateVolumeTypes:input_type -> openstack.CreateVolumeTypeReq - 85, // 201: openstack.Openstack.DeleteVolumeTypes:input_type -> openstack.DeleteVolumeTypeReq - 1, // 202: openstack.Openstack.GetComputeLimits:output_type -> openstack.GetComputeLimitsResp - 3, // 203: openstack.Openstack.GetVolumeLimits:output_type -> openstack.GetVolumeLimitsResp - 5, // 204: openstack.Openstack.ListServers:output_type -> openstack.ListServersResp - 7, // 205: openstack.Openstack.ListServersDetailed:output_type -> openstack.ListServersDetailedResp - 9, // 206: openstack.Openstack.CreateServer:output_type -> openstack.CreateServerResp - 11, // 207: openstack.Openstack.DeleteServer:output_type -> openstack.DeleteServerResp - 13, // 208: openstack.Openstack.GetServersDetailedById:output_type -> openstack.GetServersDetailedByIdResp - 17, // 209: openstack.Openstack.UpdateServer:output_type -> openstack.UpdateServerResp - 19, // 210: openstack.Openstack.StartServer:output_type -> openstack.StartServerResp - 21, // 211: openstack.Openstack.StopServer:output_type -> openstack.StopServerResp - 23, // 212: openstack.Openstack.RebootServer:output_type -> openstack.RebootServerResp - 25, // 213: openstack.Openstack.PauseServer:output_type -> openstack.PauseServerResp - 33, // 214: openstack.Openstack.ListFlavorsDetail:output_type -> openstack.ListFlavorsDetailResp - 27, // 215: openstack.Openstack.RebuildServer:output_type -> openstack.RebuildServerResp - 29, // 216: openstack.Openstack.ResizeServer:output_type -> openstack.ResizeServerResp - 31, // 217: openstack.Openstack.MigrateServer:output_type -> openstack.MigrateServerResp - 36, // 218: openstack.Openstack.ShowNetworkDetails:output_type -> openstack.ShowNetworkDetailsResp - 38, // 219: openstack.Openstack.UpdateNetwork:output_type -> openstack.UpdateNetworkResp - 40, // 220: openstack.Openstack.DeleteNetwork:output_type -> openstack.DeleteNetworkResp - 42, // 221: openstack.Openstack.ListNetworks:output_type -> openstack.ListNetworksResp - 44, // 222: openstack.Openstack.CreateNetwork:output_type -> openstack.CreateNetworkResp - 51, // 223: openstack.Openstack.BulkCreateNetworks:output_type -> openstack.BulkCreateNetworksResp - 46, // 224: openstack.Openstack.CreateSubnet:output_type -> openstack.CreateSubnetResp - 62, // 225: openstack.Openstack.CreateImage:output_type -> openstack.CreateImageResp - 64, // 226: openstack.Openstack.ListImages:output_type -> openstack.ListImagesResp - 66, // 227: openstack.Openstack.DeleteImage:output_type -> openstack.DeleteImageResp - 68, // 228: openstack.Openstack.UploadImage:output_type -> openstack.UploadOsImageResp - 53, // 229: openstack.Openstack.ListNodes:output_type -> openstack.ListNodesResp - 55, // 230: openstack.Openstack.CreateNode:output_type -> openstack.CreateNodeResp - 57, // 231: openstack.Openstack.DeleteNode:output_type -> openstack.DeleteNodeResp - 59, // 232: openstack.Openstack.ShowNodeDetails:output_type -> openstack.ShowNodeDetailsResp - 70, // 233: openstack.Openstack.ListVolumes:output_type -> openstack.ListVolumesResp - 72, // 234: openstack.Openstack.ListVolumesDetail:output_type -> openstack.ListVolumesDetailResp - 74, // 235: openstack.Openstack.CreateVolume:output_type -> openstack.CreateVolumeResp - 76, // 236: openstack.Openstack.DeleteVolume:output_type -> openstack.DeleteVolumeResp - 78, // 237: openstack.Openstack.UpdateVolume:output_type -> openstack.UpdateVolumeResp - 80, // 238: openstack.Openstack.GetVolumeDetailedById:output_type -> openstack.GetVolumeDetailedByIdResp - 82, // 239: openstack.Openstack.ListVolumeTypes:output_type -> openstack.ListVolumeTypesResp - 84, // 240: openstack.Openstack.CreateVolumeTypes:output_type -> openstack.CreateVolumeTypeResp - 86, // 241: openstack.Openstack.DeleteVolumeTypes:output_type -> openstack.DeleteVolumeTypeResp - 202, // [202:242] is the sub-list for method output_type - 162, // [162:202] is the sub-list for method input_type - 162, // [162:162] is the sub-list for extension type_name - 162, // [162:162] is the sub-list for extension extendee - 0, // [0:162] is the sub-list for field type_name + 249, // 10: openstack.UpdateServerResp.server:type_name -> openstack.UpdateServerResp.Server + 250, // 11: openstack.StartServerReq.action:type_name -> openstack.StartServerReq.ActionEntry + 251, // 12: openstack.StopServerReq.action:type_name -> openstack.StopServerReq.ActionEntry + 252, // 13: openstack.RebootServerReq.reboot:type_name -> openstack.RebootServerReq.Reboot + 253, // 14: openstack.PauseServerReq.action:type_name -> openstack.PauseServerReq.ActionEntry + 254, // 15: openstack.RebuildServerReq.rebuild:type_name -> openstack.RebuildServerReq.Rebuild + 269, // 16: openstack.RebuildServerResp.server:type_name -> openstack.RebuildServerResp.Servers + 270, // 17: openstack.ResizeServerReq.resize:type_name -> openstack.ResizeServerReq.Resize + 271, // 18: openstack.MigrateServerReq.action:type_name -> openstack.MigrateServerReq.ActionEntry + 272, // 19: openstack.MigrateServerReq.migrate:type_name -> openstack.MigrateServerReq.Migrate + 274, // 20: openstack.ChangeAdministrativePasswordReq.changePassword:type_name -> openstack.ChangeAdministrativePasswordReq.Changepassword + 275, // 21: openstack.RescueServerReq.rescue:type_name -> openstack.RescueServerReq.Rescue + 276, // 22: openstack.UnRescueServerReq.action:type_name -> openstack.UnRescueServerReq.ActionEntry + 277, // 23: openstack.UnpauseServerReq.action:type_name -> openstack.UnpauseServerReq.ActionEntry + 278, // 24: openstack.ShelveServerReq.action:type_name -> openstack.ShelveServerReq.ActionEntry + 279, // 25: openstack.UnshelveServerReq.action:type_name -> openstack.UnshelveServerReq.ActionEntry + 280, // 26: openstack.SuspendServerReq.action:type_name -> openstack.SuspendServerReq.ActionEntry + 281, // 27: openstack.AddSecurityGroupToServerReq.addSecurityGroup:type_name -> openstack.AddSecurityGroupToServerReq.AddSecurityGroup + 282, // 28: openstack.removeSecurityGroupReq.removeSecurityGroup:type_name -> openstack.removeSecurityGroupReq.RemoveSecurityGroup + 283, // 29: openstack.ListFlavorsDetailResp.flavors:type_name -> openstack.ListFlavorsDetailResp.Flavor + 286, // 30: openstack.CreateFlavorReq.flavor:type_name -> openstack.CreateFlavorReq.Flavor + 289, // 31: openstack.CreateFlavorResp.flavor:type_name -> openstack.CreateFlavorResp.Flavor + 57, // 32: openstack.ShowNetworkDetailsResp.network:type_name -> openstack.Network + 57, // 33: openstack.UpdateNetworkReq.network:type_name -> openstack.Network + 57, // 34: openstack.UpdateNetworkResp.network:type_name -> openstack.Network + 57, // 35: openstack.ListNetworksResp.networks:type_name -> openstack.Network + 57, // 36: openstack.CreateNetworkReq.network:type_name -> openstack.Network + 57, // 37: openstack.CreateNetworkResp.network:type_name -> openstack.Network + 69, // 38: openstack.CreateSubnetReq.subnet:type_name -> openstack.Subnet + 70, // 39: openstack.CreateSubnetResp.subnet:type_name -> openstack.SubnetResp + 71, // 40: openstack.Subnet.allocation_pools:type_name -> openstack.Allocation_pools + 71, // 41: openstack.SubnetResp.allocation_pools:type_name -> openstack.Allocation_pools + 57, // 42: openstack.BulkCreateNetworksReq.networks:type_name -> openstack.Network + 57, // 43: openstack.BulkCreateNetworksResp.networks:type_name -> openstack.Network + 291, // 44: openstack.ListSubnetsResp.subnets:type_name -> openstack.ListSubnetsResp.Subnets + 293, // 45: openstack.UpdateSubnetResp.subnet:type_name -> openstack.UpdateSubnetResp.Subnet + 294, // 46: openstack.CreateNetworkSegmentRangeReq.network_segment_range:type_name -> openstack.CreateNetworkSegmentRangeReq.Network_segment_range + 296, // 47: openstack.CreateNetworkSegmentRangeResp.network_segment_range:type_name -> openstack.CreateNetworkSegmentRangeResp.Network_segment_range + 298, // 48: openstack.ListNetworkSegmentRangesResp.network_segment_ranges:type_name -> openstack.ListNetworkSegmentRangesResp.Network_segment_ranges + 299, // 49: openstack.UpdateNetworkSegmentRangesReq.network_segment_ranges:type_name -> openstack.UpdateNetworkSegmentRangesReq.Network_segment_ranges + 302, // 50: openstack.UpdateNetworkSegmentRangesResp.network_segment_range:type_name -> openstack.UpdateNetworkSegmentRangesResp.Network_segment_range + 304, // 51: openstack.ShowNetworkSegmentRangeDetailsResp.network_segment_range:type_name -> openstack.ShowNetworkSegmentRangeDetailsResp.Network_segment_range + 306, // 52: openstack.CreatePortReq.port:type_name -> openstack.CreatePortReq.Port + 311, // 53: openstack.CreatePortResp.port:type_name -> openstack.CreatePortResp.Port + 317, // 54: openstack.ListPortsResp.ports:type_name -> openstack.ListPortsResp.Ports + 322, // 55: openstack.UpdatePortReq.port:type_name -> openstack.UpdatePortReq.Port + 329, // 56: openstack.UpdatePortResp.port:type_name -> openstack.UpdatePortResp.Port + 335, // 57: openstack.ShowPortDetailsResp.port:type_name -> openstack.ShowPortDetailsResp.Port + 341, // 58: openstack.ListRoutersResp.routers:type_name -> openstack.ListRoutersResp.Routers + 344, // 59: openstack.CreateRouterReq.router:type_name -> openstack.CreateRouterReq.Router + 350, // 60: openstack.CreateRouterResp.router:type_name -> openstack.CreateRouterResp.Router + 354, // 61: openstack.UpdateRouterReq.router:type_name -> openstack.UpdateRouterReq.Router + 360, // 62: openstack.UpdateRouterResp.router:type_name -> openstack.UpdateRouterResp.Router + 364, // 63: openstack.ShowRouterDetailsReq.router:type_name -> openstack.ShowRouterDetailsReq.Router + 370, // 64: openstack.ShowRouterDetailsResp.router:type_name -> openstack.ShowRouterDetailsResp.Router + 373, // 65: openstack.ListFloatingIPsResp.floatingips:type_name -> openstack.ListFloatingIPsResp.Floatingips + 374, // 66: openstack.CreateFloatingIPReq.floatingip:type_name -> openstack.CreateFloatingIPReq.Floatingip + 377, // 67: openstack.CreateFloatingIPResp.floatingip:type_name -> openstack.CreateFloatingIPResp.Floatingip + 378, // 68: openstack.UpdateFloatingIPReq.floatingip:type_name -> openstack.UpdateFloatingIPReq.Floatingip + 381, // 69: openstack.UpdateFloatingIPResp.floatingip:type_name -> openstack.UpdateFloatingIPResp.Floatingip + 384, // 70: openstack.ShowFloatingIPDetailsResp.floatingip:type_name -> openstack.ShowFloatingIPDetailsResp.Floatingip + 385, // 71: openstack.ListFirewallGroupsResp.firewall_groups:type_name -> openstack.ListFirewallGroupsResp.Firewall_groups + 386, // 72: openstack.CreateFirewallGroupReq.firewall_group:type_name -> openstack.CreateFirewallGroupReq.Firewall_group + 387, // 73: openstack.CreateFirewallGroupResp.firewall_group:type_name -> openstack.CreateFirewallGroupResp.Firewall_group + 388, // 74: openstack.UpdateFirewallGroupReq.firewall_group:type_name -> openstack.UpdateFirewallGroupReq.Firewall_group + 389, // 75: openstack.UpdateFirewallGroupResp.firewall_group:type_name -> openstack.UpdateFirewallGroupResp.Firewall_group + 390, // 76: openstack.ShowFirewallGroupDetailsResp.firewall_group:type_name -> openstack.ShowFirewallGroupDetailsResp.Firewall_group + 391, // 77: openstack.CreateFirewallPolicyReq.firewall_policy:type_name -> openstack.CreateFirewallPolicyReq.Firewall_policy + 392, // 78: openstack.CreateFirewallPolicyResp.firewall_policy:type_name -> openstack.CreateFirewallPolicyResp.Firewall_policy + 393, // 79: openstack.ListFirewallPoliciesResp.firewall_policies:type_name -> openstack.ListFirewallPoliciesResp.Firewall_policies + 394, // 80: openstack.ShowFirewallPolicyDetailsResp.firewall_policy:type_name -> openstack.ShowFirewallPolicyDetailsResp.Firewall_policy + 395, // 81: openstack.CreateFirewallRuleReq.firewall_rule:type_name -> openstack.CreateFirewallRuleReq.Firewall_rule + 396, // 82: openstack.CreateFirewallRuleResp.firewall_rule:type_name -> openstack.CreateFirewallRuleResp.Firewall_rule + 397, // 83: openstack.ListFirewallRulesResp.firewall_rules:type_name -> openstack.ListFirewallRulesResp.Firewall_rules + 398, // 84: openstack.ShowFirewallRuleDetailsResp.firewall_rule:type_name -> openstack.ShowFirewallRuleDetailsResp.Firewall_rule + 400, // 85: openstack.ListSecurityGroupsResp.security_groups:type_name -> openstack.ListSecurityGroupsResp.Security_groups + 401, // 86: openstack.CreateSecurityGroupReq.security_group:type_name -> openstack.CreateSecurityGroupReq.Security_group + 403, // 87: openstack.CreateSecurityGroupResp.security_group:type_name -> openstack.CreateSecurityGroupResp.Security_group + 405, // 88: openstack.UpdateSecurityGroupResp.security_group:type_name -> openstack.UpdateSecurityGroupResp.Security_group + 407, // 89: openstack.ShowSecurityGroupResp.security_group:type_name -> openstack.ShowSecurityGroupResp.Security_group + 408, // 90: openstack.ListSecurityGroupRulesResp.security_group_rules:type_name -> openstack.ListSecurityGroupRulesResp.Security_group_rules + 409, // 91: openstack.CreateSecurityGroupRuleReq.security_group_rule:type_name -> openstack.CreateSecurityGroupRuleReq.Security_group_rule + 410, // 92: openstack.CreateSecurityGroupRuleResp.security_group_rule:type_name -> openstack.CreateSecurityGroupRuleResp.Security_group_rule + 411, // 93: openstack.DeleteSecurityGroupRuleResp.security_group_rule:type_name -> openstack.DeleteSecurityGroupRuleResp.Security_group_rule + 413, // 94: openstack.ListNodesResp.nodes:type_name -> openstack.ListNodesResp.Nodes + 414, // 95: openstack.CreateNodeReq.driver_info:type_name -> openstack.CreateNodeReq.Driver_info + 415, // 96: openstack.CreateNodeReq.properties:type_name -> openstack.CreateNodeReq.Properties + 416, // 97: openstack.CreateNodeReq.instance_info:type_name -> openstack.CreateNodeReq.Instance_info + 417, // 98: openstack.CreateNodeReq.network_data:type_name -> openstack.CreateNodeReq.Network_data + 420, // 99: openstack.CreateNodeResp.driver_info:type_name -> openstack.CreateNodeResp.Driver_info + 421, // 100: openstack.CreateNodeResp.driver_internal_info:type_name -> openstack.CreateNodeResp.Driver_internal_info + 428, // 101: openstack.CreateNodeResp.properties:type_name -> openstack.CreateNodeResp.Properties + 423, // 102: openstack.CreateNodeResp.instance_info:type_name -> openstack.CreateNodeResp.Instance_info + 422, // 103: openstack.CreateNodeResp.extra:type_name -> openstack.CreateNodeResp.Extra + 429, // 104: openstack.CreateNodeResp.raid_config:type_name -> openstack.CreateNodeResp.Raid_config + 431, // 105: openstack.CreateNodeResp.target_raid_config:type_name -> openstack.CreateNodeResp.Target_raid_config + 418, // 106: openstack.CreateNodeResp.clean_step:type_name -> openstack.CreateNodeResp.Clean_step + 419, // 107: openstack.CreateNodeResp.deploy_step:type_name -> openstack.CreateNodeResp.Deploy_step + 424, // 108: openstack.CreateNodeResp.links:type_name -> openstack.CreateNodeResp.Links + 427, // 109: openstack.CreateNodeResp.ports:type_name -> openstack.CreateNodeResp.Ports + 426, // 110: openstack.CreateNodeResp.portgroups:type_name -> openstack.CreateNodeResp.Portgroups + 430, // 111: openstack.CreateNodeResp.states:type_name -> openstack.CreateNodeResp.States + 432, // 112: openstack.CreateNodeResp.volume:type_name -> openstack.CreateNodeResp.Volume + 425, // 113: openstack.CreateNodeResp.network_data:type_name -> openstack.CreateNodeResp.Network_data + 433, // 114: openstack.ShowNodeDetailsReq.fields:type_name -> openstack.ShowNodeDetailsReq.Fields + 436, // 115: openstack.ShowNodeDetailsResp.driver_info:type_name -> openstack.ShowNodeDetailsResp.Driver_info + 437, // 116: openstack.ShowNodeDetailsResp.driver_internal_info:type_name -> openstack.ShowNodeDetailsResp.Driver_internal_info + 444, // 117: openstack.ShowNodeDetailsResp.properties:type_name -> openstack.ShowNodeDetailsResp.Properties + 439, // 118: openstack.ShowNodeDetailsResp.instance_info:type_name -> openstack.ShowNodeDetailsResp.Instance_info + 438, // 119: openstack.ShowNodeDetailsResp.extra:type_name -> openstack.ShowNodeDetailsResp.Extra + 445, // 120: openstack.ShowNodeDetailsResp.raid_config:type_name -> openstack.ShowNodeDetailsResp.Raid_config + 447, // 121: openstack.ShowNodeDetailsResp.target_raid_config:type_name -> openstack.ShowNodeDetailsResp.Target_raid_config + 434, // 122: openstack.ShowNodeDetailsResp.clean_step:type_name -> openstack.ShowNodeDetailsResp.Clean_step + 435, // 123: openstack.ShowNodeDetailsResp.deploy_step:type_name -> openstack.ShowNodeDetailsResp.Deploy_step + 440, // 124: openstack.ShowNodeDetailsResp.links:type_name -> openstack.ShowNodeDetailsResp.Links + 443, // 125: openstack.ShowNodeDetailsResp.ports:type_name -> openstack.ShowNodeDetailsResp.Ports + 442, // 126: openstack.ShowNodeDetailsResp.portgroups:type_name -> openstack.ShowNodeDetailsResp.Portgroups + 446, // 127: openstack.ShowNodeDetailsResp.states:type_name -> openstack.ShowNodeDetailsResp.States + 449, // 128: openstack.ShowNodeDetailsResp.traits:type_name -> openstack.ShowNodeDetailsResp.Traits + 448, // 129: openstack.ShowNodeDetailsResp.volume:type_name -> openstack.ShowNodeDetailsResp.Volume + 441, // 130: openstack.ShowNodeDetailsResp.network_data:type_name -> openstack.ShowNodeDetailsResp.Network_data + 173, // 131: openstack.CreateImageReq.tags:type_name -> openstack.Tags + 450, // 132: openstack.CreateImageResp.tags:type_name -> openstack.CreateImageResp.Tags + 451, // 133: openstack.CreateImageResp.locations:type_name -> openstack.CreateImageResp.Locations + 452, // 134: openstack.ListImagesResp.images:type_name -> openstack.ListImagesResp.Images + 455, // 135: openstack.ListVolumesResp.volumes:type_name -> openstack.ListVolumesResp.Volumes + 459, // 136: openstack.ListVolumesDetailResp.volumes:type_name -> openstack.ListVolumesDetailResp.VolumeDetail + 461, // 137: openstack.CreateVolumeReq.volume:type_name -> openstack.CreateVolumeReq.Volume + 464, // 138: openstack.CreateVolumeResp.volume:type_name -> openstack.CreateVolumeResp.Volume + 467, // 139: openstack.UpdateVolumeReq.volume:type_name -> openstack.UpdateVolumeReq.Volume + 470, // 140: openstack.UpdateVolumeResp.volume:type_name -> openstack.UpdateVolumeResp.Volume + 475, // 141: openstack.GetVolumeDetailedByIdResp.volume:type_name -> openstack.GetVolumeDetailedByIdResp.Volume + 477, // 142: openstack.ListVolumeTypesResp.volume_types:type_name -> openstack.ListVolumeTypesResp.Volume_types + 479, // 143: openstack.CreateVolumeTypeReq.volume_type:type_name -> openstack.CreateVolumeTypeReq.Volume_type + 481, // 144: openstack.CreateVolumeTypeResp.volume_type:type_name -> openstack.CreateVolumeTypeResp.Volume_type + 199, // 145: openstack.GetComputeLimitsResp.Limits.rate:type_name -> openstack.GetComputeLimitsResp.Rate + 200, // 146: openstack.GetComputeLimitsResp.Limits.absolute:type_name -> openstack.GetComputeLimitsResp.Absolute + 202, // 147: openstack.GetVolumeLimitsResp.Limits.rate:type_name -> openstack.GetVolumeLimitsResp.Rate + 203, // 148: openstack.GetVolumeLimitsResp.Limits.absolute:type_name -> openstack.GetVolumeLimitsResp.Absolute + 205, // 149: openstack.ListServersResp.Servers.links:type_name -> openstack.ListServersResp.Links + 208, // 150: openstack.ListServersDetailedResp.Addresses.private:type_name -> openstack.ListServersDetailedResp.Private + 214, // 151: openstack.ListServersDetailedResp.Flavor.links:type_name -> openstack.ListServersDetailedResp.Links1 + 212, // 152: openstack.ListServersDetailedResp.Image.links:type_name -> openstack.ListServersDetailedResp.Links + 209, // 153: openstack.ListServersDetailedResp.ServersDetailed.addresses:type_name -> openstack.ListServersDetailedResp.Addresses + 211, // 154: openstack.ListServersDetailedResp.ServersDetailed.flavor:type_name -> openstack.ListServersDetailedResp.Flavor + 213, // 155: openstack.ListServersDetailedResp.ServersDetailed.image:type_name -> openstack.ListServersDetailedResp.Image + 214, // 156: openstack.ListServersDetailedResp.ServersDetailed.links:type_name -> openstack.ListServersDetailedResp.Links1 + 215, // 157: openstack.ListServersDetailedResp.ServersDetailed.metadata:type_name -> openstack.ListServersDetailedResp.Metadata + 216, // 158: openstack.ListServersDetailedResp.ServersDetailed.security_groups:type_name -> openstack.ListServersDetailedResp.Security_groups + 218, // 159: openstack.CreateServerReq.Server.networks:type_name -> openstack.CreateServerReq.Networks + 219, // 160: openstack.CreateServerReq.Server.block_device_mapping_v2:type_name -> openstack.CreateServerReq.Block_device_mapping_v2 + 220, // 161: openstack.CreateServerReq.Server.metadata:type_name -> openstack.CreateServerReq.Metadata + 221, // 162: openstack.CreateServerReq.Server.personality:type_name -> openstack.CreateServerReq.Personality + 222, // 163: openstack.CreateServerReq.Server.security_groups:type_name -> openstack.CreateServerReq.Security_groups + 225, // 164: openstack.CreateServerResp.Server.links:type_name -> openstack.CreateServerResp.Links + 226, // 165: openstack.CreateServerResp.Server.security_groups:type_name -> openstack.CreateServerResp.Security_groups + 228, // 166: openstack.GetServersDetailedByIdResp.Addresses.private:type_name -> openstack.GetServersDetailedByIdResp.Private + 230, // 167: openstack.GetServersDetailedByIdResp.Flavor.extra_specs:type_name -> openstack.GetServersDetailedByIdResp.Extra_specs + 232, // 168: openstack.GetServersDetailedByIdResp.Image.links:type_name -> openstack.GetServersDetailedByIdResp.Links + 229, // 169: openstack.GetServersDetailedByIdResp.Servers.addresses:type_name -> openstack.GetServersDetailedByIdResp.Addresses + 231, // 170: openstack.GetServersDetailedByIdResp.Servers.flavor:type_name -> openstack.GetServersDetailedByIdResp.Flavor + 233, // 171: openstack.GetServersDetailedByIdResp.Servers.image:type_name -> openstack.GetServersDetailedByIdResp.Image + 234, // 172: openstack.GetServersDetailedByIdResp.Servers.links:type_name -> openstack.GetServersDetailedByIdResp.Links1 + 235, // 173: openstack.GetServersDetailedByIdResp.Servers.metadata:type_name -> openstack.GetServersDetailedByIdResp.Metadata + 236, // 174: openstack.GetServersDetailedByIdResp.Servers.os_extended_volumes_volumes_attached:type_name -> openstack.GetServersDetailedByIdResp.Os_extended_volumes_volumes_attached + 237, // 175: openstack.GetServersDetailedByIdResp.Servers.fault:type_name -> openstack.GetServersDetailedByIdResp.Fault + 238, // 176: openstack.GetServersDetailedByIdResp.Servers.security_groups:type_name -> openstack.GetServersDetailedByIdResp.Security_groups + 240, // 177: openstack.UpdateServerResp.Addresses.private:type_name -> openstack.UpdateServerResp.Private + 242, // 178: openstack.UpdateServerResp.Flavor.extra_specs:type_name -> openstack.UpdateServerResp.Extra_specs + 244, // 179: openstack.UpdateServerResp.Image.links:type_name -> openstack.UpdateServerResp.Links + 241, // 180: openstack.UpdateServerResp.Server.addresses:type_name -> openstack.UpdateServerResp.Addresses + 243, // 181: openstack.UpdateServerResp.Server.flavor:type_name -> openstack.UpdateServerResp.Flavor + 245, // 182: openstack.UpdateServerResp.Server.image:type_name -> openstack.UpdateServerResp.Image + 246, // 183: openstack.UpdateServerResp.Server.links:type_name -> openstack.UpdateServerResp.Links1 + 247, // 184: openstack.UpdateServerResp.Server.metadata:type_name -> openstack.UpdateServerResp.Metadata + 248, // 185: openstack.UpdateServerResp.Server.security_groups:type_name -> openstack.UpdateServerResp.Security_groups + 255, // 186: openstack.RebuildServerReq.Rebuild.metadata:type_name -> openstack.RebuildServerReq.Metadata + 256, // 187: openstack.RebuildServerReq.Rebuild.personality:type_name -> openstack.RebuildServerReq.Personality + 257, // 188: openstack.RebuildServerReq.Rebuild.trusted_image_certificates:type_name -> openstack.RebuildServerReq.trusted_image_certificates + 258, // 189: openstack.RebuildServerResp.Addresses.private:type_name -> openstack.RebuildServerResp.Private + 260, // 190: openstack.RebuildServerResp.Flavor.extra_specs:type_name -> openstack.RebuildServerResp.Extra_specs + 262, // 191: openstack.RebuildServerResp.Image.links:type_name -> openstack.RebuildServerResp.Links + 259, // 192: openstack.RebuildServerResp.Servers.addresses:type_name -> openstack.RebuildServerResp.Addresses + 261, // 193: openstack.RebuildServerResp.Servers.flavor:type_name -> openstack.RebuildServerResp.Flavor + 263, // 194: openstack.RebuildServerResp.Servers.image:type_name -> openstack.RebuildServerResp.Image + 264, // 195: openstack.RebuildServerResp.Servers.links:type_name -> openstack.RebuildServerResp.Links1 + 265, // 196: openstack.RebuildServerResp.Servers.metadata:type_name -> openstack.RebuildServerResp.Metadata + 266, // 197: openstack.RebuildServerResp.Servers.os_extended_volumes_volumes_attached:type_name -> openstack.RebuildServerResp.Os_extended_volumes_volumes_attached + 267, // 198: openstack.RebuildServerResp.Servers.fault:type_name -> openstack.RebuildServerResp.Fault + 268, // 199: openstack.RebuildServerResp.Servers.security_groups:type_name -> openstack.RebuildServerResp.Security_groups + 273, // 200: openstack.MigrateServerReq.Migrate.host:type_name -> openstack.MigrateServerReq.Migrate.HostEntry + 284, // 201: openstack.ListFlavorsDetailResp.Flavor.extra_specs:type_name -> openstack.ListFlavorsDetailResp.Extra_specs + 285, // 202: openstack.ListFlavorsDetailResp.Flavor.links:type_name -> openstack.ListFlavorsDetailResp.Links + 287, // 203: openstack.CreateFlavorResp.Flavor.links:type_name -> openstack.CreateFlavorResp.Links + 288, // 204: openstack.CreateFlavorResp.Flavor.extra_specs:type_name -> openstack.CreateFlavorResp.Extra_specs + 290, // 205: openstack.ListSubnetsResp.Subnets.allocation_pools:type_name -> openstack.ListSubnetsResp.Allocation_pools + 292, // 206: openstack.UpdateSubnetResp.Subnet.allocation_pools:type_name -> openstack.UpdateSubnetResp.Allocation_pools + 295, // 207: openstack.CreateNetworkSegmentRangeResp.Network_segment_range.used:type_name -> openstack.CreateNetworkSegmentRangeResp.Used + 297, // 208: openstack.ListNetworkSegmentRangesResp.Network_segment_ranges.used:type_name -> openstack.ListNetworkSegmentRangesResp.Used + 300, // 209: openstack.UpdateNetworkSegmentRangesReq.Network_segment_ranges.used:type_name -> openstack.UpdateNetworkSegmentRangesReq.Used + 301, // 210: openstack.UpdateNetworkSegmentRangesResp.Network_segment_range.used:type_name -> openstack.UpdateNetworkSegmentRangesResp.Used + 303, // 211: openstack.ShowNetworkSegmentRangeDetailsResp.Network_segment_range.used:type_name -> openstack.ShowNetworkSegmentRangeDetailsResp.Used + 305, // 212: openstack.CreatePortReq.Port.allowed_address_pairs:type_name -> openstack.CreatePortReq.Allowed_address_pairs + 307, // 213: openstack.CreatePortResp.Port.allowed_address_pairs:type_name -> openstack.CreatePortResp.Allowed_address_pairs + 308, // 214: openstack.CreatePortResp.Port.dns_assignment:type_name -> openstack.CreatePortResp.Dns_assignment + 309, // 215: openstack.CreatePortResp.Port.extra_dhcp_opts:type_name -> openstack.CreatePortResp.Extra_dhcp_opts + 310, // 216: openstack.CreatePortResp.Port.fixed_ips:type_name -> openstack.CreatePortResp.Fixed_ips + 315, // 217: openstack.ListPortsResp.Ports.allowed_address_pairs:type_name -> openstack.ListPortsResp.Allowed_address_pairs + 312, // 218: openstack.ListPortsResp.Ports.dns_assignment:type_name -> openstack.ListPortsResp.Dns_assignment + 313, // 219: openstack.ListPortsResp.Ports.extra_dhcp_opts:type_name -> openstack.ListPortsResp.Extra_dhcp_opts + 314, // 220: openstack.ListPortsResp.Ports.fixed_ips:type_name -> openstack.ListPortsResp.Fixed_ips + 316, // 221: openstack.ListPortsResp.Ports.security_groups:type_name -> openstack.ListPortsResp.Security_groups + 318, // 222: openstack.UpdatePortReq.Port.allowed_address_pairs:type_name -> openstack.UpdatePortReq.Allowed_address_pairs + 319, // 223: openstack.UpdatePortReq.Port.dns_assignment:type_name -> openstack.UpdatePortReq.Dns_assignment + 320, // 224: openstack.UpdatePortReq.Port.extra_dhcp_opts:type_name -> openstack.UpdatePortReq.Extra_dhcp_opts + 321, // 225: openstack.UpdatePortReq.Port.fixed_ips:type_name -> openstack.UpdatePortReq.Fixed_ips + 328, // 226: openstack.UpdatePortResp.Port.allowed_address_pairs:type_name -> openstack.UpdatePortResp.Allowed_address_pairs + 323, // 227: openstack.UpdatePortResp.Port.Binding_profile:type_name -> openstack.UpdatePortResp.Binding_profile + 324, // 228: openstack.UpdatePortResp.Port.binding_vif_details:type_name -> openstack.UpdatePortResp.Binding_vif_details + 325, // 229: openstack.UpdatePortResp.Port.dns_assignment:type_name -> openstack.UpdatePortResp.Dns_assignment + 326, // 230: openstack.UpdatePortResp.Port.extra_dhcp_opts:type_name -> openstack.UpdatePortResp.Extra_dhcp_opts + 327, // 231: openstack.UpdatePortResp.Port.fixed_ips:type_name -> openstack.UpdatePortResp.Fixed_ips + 333, // 232: openstack.ShowPortDetailsResp.Port.allowed_address_pairs:type_name -> openstack.ShowPortDetailsResp.Allowed_address_pairs + 330, // 233: openstack.ShowPortDetailsResp.Port.dns_assignment:type_name -> openstack.ShowPortDetailsResp.Dns_assignment + 331, // 234: openstack.ShowPortDetailsResp.Port.extra_dhcp_opts:type_name -> openstack.ShowPortDetailsResp.Extra_dhcp_opts + 332, // 235: openstack.ShowPortDetailsResp.Port.fixed_ips:type_name -> openstack.ShowPortDetailsResp.Fixed_ips + 334, // 236: openstack.ShowPortDetailsResp.Port.security_groups:type_name -> openstack.ShowPortDetailsResp.Security_groups + 336, // 237: openstack.ListRoutersResp.External_gateway_info.external_fixed_ips:type_name -> openstack.ListRoutersResp.External_fixed_ips + 340, // 238: openstack.ListRoutersResp.Routers.availability_zone_hints:type_name -> openstack.ListRoutersResp.Availability_zone_hints + 337, // 239: openstack.ListRoutersResp.Routers.external_gateway_info:type_name -> openstack.ListRoutersResp.External_gateway_info + 338, // 240: openstack.ListRoutersResp.Routers.routes:type_name -> openstack.ListRoutersResp.Routes + 339, // 241: openstack.ListRoutersResp.Routers.conntrack_helpers:type_name -> openstack.ListRoutersResp.Conntrack_helpers + 342, // 242: openstack.CreateRouterReq.External_gateway_info.external_fixed_ips:type_name -> openstack.CreateRouterReq.External_fixed_ips + 343, // 243: openstack.CreateRouterReq.Router.external_gateway_info:type_name -> openstack.CreateRouterReq.External_gateway_info + 345, // 244: openstack.CreateRouterResp.External_gateway_info.external_fixed_ips:type_name -> openstack.CreateRouterResp.External_fixed_ips + 346, // 245: openstack.CreateRouterResp.Routers.external_gateway_info:type_name -> openstack.CreateRouterResp.External_gateway_info + 348, // 246: openstack.CreateRouterResp.Router.availability_zone_hints:type_name -> openstack.CreateRouterResp.Availability_zone_hints + 346, // 247: openstack.CreateRouterResp.Router.external_gateway_info:type_name -> openstack.CreateRouterResp.External_gateway_info + 347, // 248: openstack.CreateRouterResp.Router.routers:type_name -> openstack.CreateRouterResp.Routers + 349, // 249: openstack.CreateRouterResp.Router.conntrack_helpers:type_name -> openstack.CreateRouterResp.Conntrack_helpers + 351, // 250: openstack.UpdateRouterReq.External_gateway_info.external_fixed_ips:type_name -> openstack.UpdateRouterReq.External_fixed_ips + 352, // 251: openstack.UpdateRouterReq.External_gateway_info.routes:type_name -> openstack.UpdateRouterReq.Routes + 353, // 252: openstack.UpdateRouterReq.Router.external_gateway_info:type_name -> openstack.UpdateRouterReq.External_gateway_info + 355, // 253: openstack.UpdateRouterResp.External_gateway_info.external_fixed_ips:type_name -> openstack.UpdateRouterResp.External_fixed_ips + 358, // 254: openstack.UpdateRouterResp.Router.availability_zone_hints:type_name -> openstack.UpdateRouterResp.Availability_zone_hints + 356, // 255: openstack.UpdateRouterResp.Router.external_gateway_info:type_name -> openstack.UpdateRouterResp.External_gateway_info + 357, // 256: openstack.UpdateRouterResp.Router.routes:type_name -> openstack.UpdateRouterResp.Routes + 359, // 257: openstack.UpdateRouterResp.Router.conntrack_helpers:type_name -> openstack.UpdateRouterResp.Conntrack_helpers + 361, // 258: openstack.ShowRouterDetailsReq.External_gateway_info.external_fixed_ips:type_name -> openstack.ShowRouterDetailsReq.External_fixed_ips + 362, // 259: openstack.ShowRouterDetailsReq.External_gateway_info.routes:type_name -> openstack.ShowRouterDetailsReq.Routes + 363, // 260: openstack.ShowRouterDetailsReq.Router.external_gateway_info:type_name -> openstack.ShowRouterDetailsReq.External_gateway_info + 365, // 261: openstack.ShowRouterDetailsResp.External_gateway_info.external_fixed_ips:type_name -> openstack.ShowRouterDetailsResp.External_fixed_ips + 368, // 262: openstack.ShowRouterDetailsResp.Router.availability_zone_hints:type_name -> openstack.ShowRouterDetailsResp.Availability_zone_hints + 366, // 263: openstack.ShowRouterDetailsResp.Router.external_gateway_info:type_name -> openstack.ShowRouterDetailsResp.External_gateway_info + 367, // 264: openstack.ShowRouterDetailsResp.Router.routes:type_name -> openstack.ShowRouterDetailsResp.Routes + 369, // 265: openstack.ShowRouterDetailsResp.Router.conntrack_helpers:type_name -> openstack.ShowRouterDetailsResp.Conntrack_helpers + 371, // 266: openstack.ListFloatingIPsResp.Floatingips.port_details:type_name -> openstack.ListFloatingIPsResp.Port_details + 372, // 267: openstack.ListFloatingIPsResp.Floatingips.port_forwardings:type_name -> openstack.ListFloatingIPsResp.Port_forwardings + 375, // 268: openstack.CreateFloatingIPResp.Floatingip.port_details:type_name -> openstack.CreateFloatingIPResp.Port_details + 376, // 269: openstack.CreateFloatingIPResp.Floatingip.port_forwardings:type_name -> openstack.CreateFloatingIPResp.Port_forwardings + 379, // 270: openstack.UpdateFloatingIPResp.Floatingip.port_details:type_name -> openstack.UpdateFloatingIPResp.Port_details + 380, // 271: openstack.UpdateFloatingIPResp.Floatingip.port_forwardings:type_name -> openstack.UpdateFloatingIPResp.Port_forwardings + 382, // 272: openstack.ShowFloatingIPDetailsResp.Floatingip.port_details:type_name -> openstack.ShowFloatingIPDetailsResp.Port_details + 383, // 273: openstack.ShowFloatingIPDetailsResp.Floatingip.port_forwardings:type_name -> openstack.ShowFloatingIPDetailsResp.Port_forwardings + 399, // 274: openstack.ListSecurityGroupsResp.Security_groups.security_group_rules:type_name -> openstack.ListSecurityGroupsResp.Security_group_rules + 402, // 275: openstack.CreateSecurityGroupResp.Security_group.security_group_rules:type_name -> openstack.CreateSecurityGroupResp.Security_group_rules + 404, // 276: openstack.UpdateSecurityGroupResp.Security_group.security_group_rules:type_name -> openstack.UpdateSecurityGroupResp.Security_group_rules + 406, // 277: openstack.ShowSecurityGroupResp.Security_group.security_group_rules:type_name -> openstack.ShowSecurityGroupResp.Security_group_rules + 412, // 278: openstack.ListNodesResp.Nodes.links:type_name -> openstack.ListNodesResp.Links + 453, // 279: openstack.ListImagesResp.Images.tags:type_name -> openstack.ListImagesResp.Tags + 454, // 280: openstack.ListVolumesResp.Volumes.links:type_name -> openstack.ListVolumesResp.Links + 456, // 281: openstack.ListVolumesDetailResp.VolumeDetail.links:type_name -> openstack.ListVolumesDetailResp.Links + 457, // 282: openstack.ListVolumesDetailResp.VolumeDetail.attachments:type_name -> openstack.ListVolumesDetailResp.Attachments + 458, // 283: openstack.ListVolumesDetailResp.VolumeDetail.metadata:type_name -> openstack.ListVolumesDetailResp.Metadata + 460, // 284: openstack.CreateVolumeReq.Volume.metadata:type_name -> openstack.CreateVolumeReq.Metadata + 465, // 285: openstack.CreateVolumeResp.Volume.attachments:type_name -> openstack.CreateVolumeResp.Attachments + 462, // 286: openstack.CreateVolumeResp.Volume.links:type_name -> openstack.CreateVolumeResp.Links + 463, // 287: openstack.CreateVolumeResp.Volume.metadata:type_name -> openstack.CreateVolumeResp.Metadata + 466, // 288: openstack.UpdateVolumeReq.Volume.metadata:type_name -> openstack.UpdateVolumeReq.Metadata + 471, // 289: openstack.UpdateVolumeResp.Volume.attachments:type_name -> openstack.UpdateVolumeResp.Attachments + 468, // 290: openstack.UpdateVolumeResp.Volume.links:type_name -> openstack.UpdateVolumeResp.Links + 469, // 291: openstack.UpdateVolumeResp.Volume.metadata:type_name -> openstack.UpdateVolumeResp.Metadata + 474, // 292: openstack.GetVolumeDetailedByIdResp.Volume.attachments:type_name -> openstack.GetVolumeDetailedByIdResp.Attachments + 472, // 293: openstack.GetVolumeDetailedByIdResp.Volume.links:type_name -> openstack.GetVolumeDetailedByIdResp.Links + 473, // 294: openstack.GetVolumeDetailedByIdResp.Volume.metadata:type_name -> openstack.GetVolumeDetailedByIdResp.Metadata + 476, // 295: openstack.ListVolumeTypesResp.Volume_types.extra_specs:type_name -> openstack.ListVolumeTypesResp.Extra_specs + 478, // 296: openstack.CreateVolumeTypeReq.Volume_type.extra_specs:type_name -> openstack.CreateVolumeTypeReq.Extra_specs + 480, // 297: openstack.CreateVolumeTypeResp.Volume_type.extra_specs:type_name -> openstack.CreateVolumeTypeResp.Extra_specs + 0, // 298: openstack.Openstack.GetComputeLimits:input_type -> openstack.GetComputeLimitsReq + 2, // 299: openstack.Openstack.GetVolumeLimits:input_type -> openstack.GetVolumeLimitsReq + 4, // 300: openstack.Openstack.ListServers:input_type -> openstack.ListServersReq + 6, // 301: openstack.Openstack.ListServersDetailed:input_type -> openstack.ListServersDetailedReq + 8, // 302: openstack.Openstack.CreateServer:input_type -> openstack.CreateServerReq + 10, // 303: openstack.Openstack.DeleteServer:input_type -> openstack.DeleteServerReq + 12, // 304: openstack.Openstack.GetServersDetailedById:input_type -> openstack.GetServersDetailedByIdReq + 14, // 305: openstack.Openstack.UpdateServer:input_type -> openstack.UpdateServerReq + 18, // 306: openstack.Openstack.StartServer:input_type -> openstack.StartServerReq + 20, // 307: openstack.Openstack.StopServer:input_type -> openstack.StopServerReq + 22, // 308: openstack.Openstack.RebootServer:input_type -> openstack.RebootServerReq + 24, // 309: openstack.Openstack.PauseServer:input_type -> openstack.PauseServerReq + 38, // 310: openstack.Openstack.UnpauseServer:input_type -> openstack.UnpauseServerReq + 26, // 311: openstack.Openstack.RebuildServer:input_type -> openstack.RebuildServerReq + 28, // 312: openstack.Openstack.ResizeServer:input_type -> openstack.ResizeServerReq + 30, // 313: openstack.Openstack.MigrateServer:input_type -> openstack.MigrateServerReq + 40, // 314: openstack.Openstack.ShelveServer:input_type -> openstack.ShelveServerReq + 42, // 315: openstack.Openstack.UnshelveServer:input_type -> openstack.UnshelveServerReq + 32, // 316: openstack.Openstack.ChangeAdministrativePassword:input_type -> openstack.ChangeAdministrativePasswordReq + 34, // 317: openstack.Openstack.RescueServer:input_type -> openstack.RescueServerReq + 36, // 318: openstack.Openstack.UnRescue:input_type -> openstack.UnRescueServerReq + 44, // 319: openstack.Openstack.SuspendServer:input_type -> openstack.SuspendServerReq + 46, // 320: openstack.Openstack.AddSecurityGroupToServer:input_type -> openstack.AddSecurityGroupToServerReq + 48, // 321: openstack.Openstack.removeSecurityGroup:input_type -> openstack.removeSecurityGroupReq + 50, // 322: openstack.Openstack.ListFlavorsDetail:input_type -> openstack.ListFlavorsDetailReq + 52, // 323: openstack.Openstack.CreateFlavor:input_type -> openstack.CreateFlavorReq + 54, // 324: openstack.Openstack.DeleteFlavor:input_type -> openstack.DeleteFlavorReq + 56, // 325: openstack.Openstack.ShowNetworkDetails:input_type -> openstack.ShowNetworkDetailsReq + 59, // 326: openstack.Openstack.UpdateNetwork:input_type -> openstack.UpdateNetworkReq + 61, // 327: openstack.Openstack.DeleteNetwork:input_type -> openstack.DeleteNetworkReq + 63, // 328: openstack.Openstack.ListNetworks:input_type -> openstack.ListNetworksReq + 65, // 329: openstack.Openstack.CreateNetwork:input_type -> openstack.CreateNetworkReq + 72, // 330: openstack.Openstack.BulkCreateNetworks:input_type -> openstack.BulkCreateNetworksReq + 67, // 331: openstack.Openstack.CreateSubnet:input_type -> openstack.CreateSubnetReq + 74, // 332: openstack.Openstack.ListSubnets:input_type -> openstack.ListSubnetsReq + 76, // 333: openstack.Openstack.DeleteSubnet:input_type -> openstack.DeleteSubnetReq + 78, // 334: openstack.Openstack.UpdateSubnet:input_type -> openstack.UpdateSubnetReq + 80, // 335: openstack.Openstack.CreateNetworkSegmentRange:input_type -> openstack.CreateNetworkSegmentRangeReq + 82, // 336: openstack.Openstack.ListNetworkSegmentRanges:input_type -> openstack.ListNetworkSegmentRangesReq + 84, // 337: openstack.Openstack.DeleteNetworkSegmentRanges:input_type -> openstack.DeleteNetworkSegmentRangesReq + 86, // 338: openstack.Openstack.UpdateNetworkSegmentRanges:input_type -> openstack.UpdateNetworkSegmentRangesReq + 88, // 339: openstack.Openstack.ShowNetworkSegmentRangeDetails:input_type -> openstack.ShowNetworkSegmentRangeDetailsReq + 90, // 340: openstack.Openstack.CreatePort:input_type -> openstack.CreatePortReq + 92, // 341: openstack.Openstack.ListPorts:input_type -> openstack.ListPortsReq + 94, // 342: openstack.Openstack.DeletePort:input_type -> openstack.DeletePortReq + 96, // 343: openstack.Openstack.UpdatePort:input_type -> openstack.UpdatePortReq + 98, // 344: openstack.Openstack.ShowPortDetails:input_type -> openstack.ShowPortDetailsReq + 102, // 345: openstack.Openstack.CreateRouter:input_type -> openstack.CreateRouterReq + 100, // 346: openstack.Openstack.ListRouters:input_type -> openstack.ListRoutersReq + 106, // 347: openstack.Openstack.ShowRouterDetails:input_type -> openstack.ShowRouterDetailsReq + 104, // 348: openstack.Openstack.UpdateRouter:input_type -> openstack.UpdateRouterReq + 108, // 349: openstack.Openstack.DeleteRouter:input_type -> openstack.DeleteRouterReq + 110, // 350: openstack.Openstack.ListFloatingIPs:input_type -> openstack.ListFloatingIPsReq + 112, // 351: openstack.Openstack.CreateFloatingIP:input_type -> openstack.CreateFloatingIPReq + 114, // 352: openstack.Openstack.UpdateFloatingIP:input_type -> openstack.UpdateFloatingIPReq + 116, // 353: openstack.Openstack.DeleteFloatingIP:input_type -> openstack.DeleteFloatingIPReq + 118, // 354: openstack.Openstack.ShowFloatingIPDetails:input_type -> openstack.ShowFloatingIPDetailsReq + 120, // 355: openstack.Openstack.ListFirewallGroups:input_type -> openstack.ListFirewallGroupsReq + 122, // 356: openstack.Openstack.DeleteFirewallGroup:input_type -> openstack.DeleteFirewallGroupReq + 124, // 357: openstack.Openstack.CreateFirewallGroup:input_type -> openstack.CreateFirewallGroupReq + 126, // 358: openstack.Openstack.UpdateFirewallGroup:input_type -> openstack.UpdateFirewallGroupReq + 128, // 359: openstack.Openstack.ShowFirewallGroupDetails:input_type -> openstack.ShowFirewallGroupDetailsReq + 130, // 360: openstack.Openstack.CreateFirewallPolicy:input_type -> openstack.CreateFirewallPolicyReq + 132, // 361: openstack.Openstack.DeleteFirewallPolicy:input_type -> openstack.DeleteFirewallPolicyReq + 134, // 362: openstack.Openstack.ListFirewallPolicies:input_type -> openstack.ListFirewallPoliciesReq + 136, // 363: openstack.Openstack.ShowFirewallPolicyDetails:input_type -> openstack.ShowFirewallPolicyDetailsReq + 138, // 364: openstack.Openstack.CreateFirewallRule:input_type -> openstack.CreateFirewallRuleReq + 140, // 365: openstack.Openstack.DeleteFirewallRule:input_type -> openstack.DeleteFirewallRuleReq + 142, // 366: openstack.Openstack.ListFirewallRules:input_type -> openstack.ListFirewallRulesReq + 144, // 367: openstack.Openstack.ShowFirewallRuleDetails:input_type -> openstack.ShowFirewallRuleDetailsReq + 146, // 368: openstack.Openstack.ListSecurityGroups:input_type -> openstack.ListSecurityGroupsReq + 148, // 369: openstack.Openstack.CreateSecurityGroup:input_type -> openstack.CreateSecurityGroupReq + 150, // 370: openstack.Openstack.DeleteSecurityGroup:input_type -> openstack.DeleteSecurityGroupReq + 152, // 371: openstack.Openstack.UpdateSecurityGroup:input_type -> openstack.UpdateSecurityGroupReq + 154, // 372: openstack.Openstack.ShowSecurityGroup:input_type -> openstack.ShowSecurityGroupReq + 156, // 373: openstack.Openstack.ListSecurityGroupRules:input_type -> openstack.ListSecurityGroupRulesReq + 158, // 374: openstack.Openstack.CreateSecurityGroupRule:input_type -> openstack.CreateSecurityGroupRuleReq + 160, // 375: openstack.Openstack.ShowSecurityGroupRule:input_type -> openstack.ShowSecurityGroupRuleReq + 162, // 376: openstack.Openstack.DeleteSecurityGroupRule:input_type -> openstack.DeleteSecurityGroupRuleReq + 172, // 377: openstack.Openstack.CreateImage:input_type -> openstack.CreateImageReq + 175, // 378: openstack.Openstack.ListImages:input_type -> openstack.ListImagesReq + 177, // 379: openstack.Openstack.DeleteImage:input_type -> openstack.DeleteImageReq + 179, // 380: openstack.Openstack.UploadImage:input_type -> openstack.UploadOsImageReq + 164, // 381: openstack.Openstack.ListNodes:input_type -> openstack.ListNodesReq + 166, // 382: openstack.Openstack.CreateNode:input_type -> openstack.CreateNodeReq + 168, // 383: openstack.Openstack.DeleteNode:input_type -> openstack.DeleteNodeReq + 170, // 384: openstack.Openstack.ShowNodeDetails:input_type -> openstack.ShowNodeDetailsReq + 181, // 385: openstack.Openstack.ListVolumes:input_type -> openstack.ListVolumesReq + 183, // 386: openstack.Openstack.ListVolumesDetail:input_type -> openstack.ListVolumesDetailReq + 185, // 387: openstack.Openstack.CreateVolume:input_type -> openstack.CreateVolumeReq + 187, // 388: openstack.Openstack.DeleteVolume:input_type -> openstack.DeleteVolumeReq + 189, // 389: openstack.Openstack.UpdateVolume:input_type -> openstack.UpdateVolumeReq + 191, // 390: openstack.Openstack.GetVolumeDetailedById:input_type -> openstack.GetVolumeDetailedByIdReq + 193, // 391: openstack.Openstack.ListVolumeTypes:input_type -> openstack.ListVolumeTypesReq + 195, // 392: openstack.Openstack.CreateVolumeTypes:input_type -> openstack.CreateVolumeTypeReq + 197, // 393: openstack.Openstack.DeleteVolumeTypes:input_type -> openstack.DeleteVolumeTypeReq + 1, // 394: openstack.Openstack.GetComputeLimits:output_type -> openstack.GetComputeLimitsResp + 3, // 395: openstack.Openstack.GetVolumeLimits:output_type -> openstack.GetVolumeLimitsResp + 5, // 396: openstack.Openstack.ListServers:output_type -> openstack.ListServersResp + 7, // 397: openstack.Openstack.ListServersDetailed:output_type -> openstack.ListServersDetailedResp + 9, // 398: openstack.Openstack.CreateServer:output_type -> openstack.CreateServerResp + 11, // 399: openstack.Openstack.DeleteServer:output_type -> openstack.DeleteServerResp + 13, // 400: openstack.Openstack.GetServersDetailedById:output_type -> openstack.GetServersDetailedByIdResp + 17, // 401: openstack.Openstack.UpdateServer:output_type -> openstack.UpdateServerResp + 19, // 402: openstack.Openstack.StartServer:output_type -> openstack.StartServerResp + 21, // 403: openstack.Openstack.StopServer:output_type -> openstack.StopServerResp + 23, // 404: openstack.Openstack.RebootServer:output_type -> openstack.RebootServerResp + 25, // 405: openstack.Openstack.PauseServer:output_type -> openstack.PauseServerResp + 39, // 406: openstack.Openstack.UnpauseServer:output_type -> openstack.UnpauseServerResp + 27, // 407: openstack.Openstack.RebuildServer:output_type -> openstack.RebuildServerResp + 29, // 408: openstack.Openstack.ResizeServer:output_type -> openstack.ResizeServerResp + 31, // 409: openstack.Openstack.MigrateServer:output_type -> openstack.MigrateServerResp + 41, // 410: openstack.Openstack.ShelveServer:output_type -> openstack.ShelveServerResp + 43, // 411: openstack.Openstack.UnshelveServer:output_type -> openstack.UnshelveServerResp + 33, // 412: openstack.Openstack.ChangeAdministrativePassword:output_type -> openstack.ChangeAdministrativePasswordResp + 35, // 413: openstack.Openstack.RescueServer:output_type -> openstack.RescueServerResp + 37, // 414: openstack.Openstack.UnRescue:output_type -> openstack.UnRescueServerResp + 45, // 415: openstack.Openstack.SuspendServer:output_type -> openstack.SuspendServerResp + 47, // 416: openstack.Openstack.AddSecurityGroupToServer:output_type -> openstack.AddSecurityGroupToServerResp + 49, // 417: openstack.Openstack.removeSecurityGroup:output_type -> openstack.removeSecurityGroupResp + 51, // 418: openstack.Openstack.ListFlavorsDetail:output_type -> openstack.ListFlavorsDetailResp + 53, // 419: openstack.Openstack.CreateFlavor:output_type -> openstack.CreateFlavorResp + 55, // 420: openstack.Openstack.DeleteFlavor:output_type -> openstack.DeleteFlavorResp + 58, // 421: openstack.Openstack.ShowNetworkDetails:output_type -> openstack.ShowNetworkDetailsResp + 60, // 422: openstack.Openstack.UpdateNetwork:output_type -> openstack.UpdateNetworkResp + 62, // 423: openstack.Openstack.DeleteNetwork:output_type -> openstack.DeleteNetworkResp + 64, // 424: openstack.Openstack.ListNetworks:output_type -> openstack.ListNetworksResp + 66, // 425: openstack.Openstack.CreateNetwork:output_type -> openstack.CreateNetworkResp + 73, // 426: openstack.Openstack.BulkCreateNetworks:output_type -> openstack.BulkCreateNetworksResp + 68, // 427: openstack.Openstack.CreateSubnet:output_type -> openstack.CreateSubnetResp + 75, // 428: openstack.Openstack.ListSubnets:output_type -> openstack.ListSubnetsResp + 77, // 429: openstack.Openstack.DeleteSubnet:output_type -> openstack.DeleteSubnetResp + 79, // 430: openstack.Openstack.UpdateSubnet:output_type -> openstack.UpdateSubnetResp + 81, // 431: openstack.Openstack.CreateNetworkSegmentRange:output_type -> openstack.CreateNetworkSegmentRangeResp + 83, // 432: openstack.Openstack.ListNetworkSegmentRanges:output_type -> openstack.ListNetworkSegmentRangesResp + 85, // 433: openstack.Openstack.DeleteNetworkSegmentRanges:output_type -> openstack.DeleteNetworkSegmentRangesResp + 87, // 434: openstack.Openstack.UpdateNetworkSegmentRanges:output_type -> openstack.UpdateNetworkSegmentRangesResp + 89, // 435: openstack.Openstack.ShowNetworkSegmentRangeDetails:output_type -> openstack.ShowNetworkSegmentRangeDetailsResp + 91, // 436: openstack.Openstack.CreatePort:output_type -> openstack.CreatePortResp + 93, // 437: openstack.Openstack.ListPorts:output_type -> openstack.ListPortsResp + 95, // 438: openstack.Openstack.DeletePort:output_type -> openstack.DeletePortResp + 97, // 439: openstack.Openstack.UpdatePort:output_type -> openstack.UpdatePortResp + 99, // 440: openstack.Openstack.ShowPortDetails:output_type -> openstack.ShowPortDetailsResp + 103, // 441: openstack.Openstack.CreateRouter:output_type -> openstack.CreateRouterResp + 101, // 442: openstack.Openstack.ListRouters:output_type -> openstack.ListRoutersResp + 107, // 443: openstack.Openstack.ShowRouterDetails:output_type -> openstack.ShowRouterDetailsResp + 105, // 444: openstack.Openstack.UpdateRouter:output_type -> openstack.UpdateRouterResp + 109, // 445: openstack.Openstack.DeleteRouter:output_type -> openstack.DeleteRouterResp + 111, // 446: openstack.Openstack.ListFloatingIPs:output_type -> openstack.ListFloatingIPsResp + 113, // 447: openstack.Openstack.CreateFloatingIP:output_type -> openstack.CreateFloatingIPResp + 115, // 448: openstack.Openstack.UpdateFloatingIP:output_type -> openstack.UpdateFloatingIPResp + 117, // 449: openstack.Openstack.DeleteFloatingIP:output_type -> openstack.DeleteFloatingIPResp + 119, // 450: openstack.Openstack.ShowFloatingIPDetails:output_type -> openstack.ShowFloatingIPDetailsResp + 121, // 451: openstack.Openstack.ListFirewallGroups:output_type -> openstack.ListFirewallGroupsResp + 123, // 452: openstack.Openstack.DeleteFirewallGroup:output_type -> openstack.DeleteFirewallGroupResp + 125, // 453: openstack.Openstack.CreateFirewallGroup:output_type -> openstack.CreateFirewallGroupResp + 127, // 454: openstack.Openstack.UpdateFirewallGroup:output_type -> openstack.UpdateFirewallGroupResp + 129, // 455: openstack.Openstack.ShowFirewallGroupDetails:output_type -> openstack.ShowFirewallGroupDetailsResp + 131, // 456: openstack.Openstack.CreateFirewallPolicy:output_type -> openstack.CreateFirewallPolicyResp + 133, // 457: openstack.Openstack.DeleteFirewallPolicy:output_type -> openstack.DeleteFirewallPolicyResp + 135, // 458: openstack.Openstack.ListFirewallPolicies:output_type -> openstack.ListFirewallPoliciesResp + 137, // 459: openstack.Openstack.ShowFirewallPolicyDetails:output_type -> openstack.ShowFirewallPolicyDetailsResp + 139, // 460: openstack.Openstack.CreateFirewallRule:output_type -> openstack.CreateFirewallRuleResp + 141, // 461: openstack.Openstack.DeleteFirewallRule:output_type -> openstack.DeleteFirewallRuleResp + 143, // 462: openstack.Openstack.ListFirewallRules:output_type -> openstack.ListFirewallRulesResp + 145, // 463: openstack.Openstack.ShowFirewallRuleDetails:output_type -> openstack.ShowFirewallRuleDetailsResp + 147, // 464: openstack.Openstack.ListSecurityGroups:output_type -> openstack.ListSecurityGroupsResp + 149, // 465: openstack.Openstack.CreateSecurityGroup:output_type -> openstack.CreateSecurityGroupResp + 151, // 466: openstack.Openstack.DeleteSecurityGroup:output_type -> openstack.DeleteSecurityGroupResp + 153, // 467: openstack.Openstack.UpdateSecurityGroup:output_type -> openstack.UpdateSecurityGroupResp + 155, // 468: openstack.Openstack.ShowSecurityGroup:output_type -> openstack.ShowSecurityGroupResp + 157, // 469: openstack.Openstack.ListSecurityGroupRules:output_type -> openstack.ListSecurityGroupRulesResp + 159, // 470: openstack.Openstack.CreateSecurityGroupRule:output_type -> openstack.CreateSecurityGroupRuleResp + 161, // 471: openstack.Openstack.ShowSecurityGroupRule:output_type -> openstack.ShowSecurityGroupRuleResp + 163, // 472: openstack.Openstack.DeleteSecurityGroupRule:output_type -> openstack.DeleteSecurityGroupRuleResp + 174, // 473: openstack.Openstack.CreateImage:output_type -> openstack.CreateImageResp + 176, // 474: openstack.Openstack.ListImages:output_type -> openstack.ListImagesResp + 178, // 475: openstack.Openstack.DeleteImage:output_type -> openstack.DeleteImageResp + 180, // 476: openstack.Openstack.UploadImage:output_type -> openstack.UploadOsImageResp + 165, // 477: openstack.Openstack.ListNodes:output_type -> openstack.ListNodesResp + 167, // 478: openstack.Openstack.CreateNode:output_type -> openstack.CreateNodeResp + 169, // 479: openstack.Openstack.DeleteNode:output_type -> openstack.DeleteNodeResp + 171, // 480: openstack.Openstack.ShowNodeDetails:output_type -> openstack.ShowNodeDetailsResp + 182, // 481: openstack.Openstack.ListVolumes:output_type -> openstack.ListVolumesResp + 184, // 482: openstack.Openstack.ListVolumesDetail:output_type -> openstack.ListVolumesDetailResp + 186, // 483: openstack.Openstack.CreateVolume:output_type -> openstack.CreateVolumeResp + 188, // 484: openstack.Openstack.DeleteVolume:output_type -> openstack.DeleteVolumeResp + 190, // 485: openstack.Openstack.UpdateVolume:output_type -> openstack.UpdateVolumeResp + 192, // 486: openstack.Openstack.GetVolumeDetailedById:output_type -> openstack.GetVolumeDetailedByIdResp + 194, // 487: openstack.Openstack.ListVolumeTypes:output_type -> openstack.ListVolumeTypesResp + 196, // 488: openstack.Openstack.CreateVolumeTypes:output_type -> openstack.CreateVolumeTypeResp + 198, // 489: openstack.Openstack.DeleteVolumeTypes:output_type -> openstack.DeleteVolumeTypeResp + 394, // [394:490] is the sub-list for method output_type + 298, // [298:394] is the sub-list for method input_type + 298, // [298:298] is the sub-list for extension type_name + 298, // [298:298] is the sub-list for extension extendee + 0, // [0:298] is the sub-list for field type_name } func init() { file_pcm_openstack_proto_init() } @@ -22848,7 +46542,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFlavorsDetailReq); i { + switch v := v.(*ChangeAdministrativePasswordReq); i { case 0: return &v.state case 1: @@ -22860,7 +46554,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFlavorsDetailResp); i { + switch v := v.(*ChangeAdministrativePasswordResp); i { case 0: return &v.state case 1: @@ -22872,7 +46566,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNetworkDetailsReq); i { + switch v := v.(*RescueServerReq); i { case 0: return &v.state case 1: @@ -22884,7 +46578,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Network); i { + switch v := v.(*RescueServerResp); i { case 0: return &v.state case 1: @@ -22896,7 +46590,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNetworkDetailsResp); i { + switch v := v.(*UnRescueServerReq); i { case 0: return &v.state case 1: @@ -22908,7 +46602,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNetworkReq); i { + switch v := v.(*UnRescueServerResp); i { case 0: return &v.state case 1: @@ -22920,7 +46614,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNetworkResp); i { + switch v := v.(*UnpauseServerReq); i { case 0: return &v.state case 1: @@ -22932,7 +46626,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNetworkReq); i { + switch v := v.(*UnpauseServerResp); i { case 0: return &v.state case 1: @@ -22944,7 +46638,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNetworkResp); i { + switch v := v.(*ShelveServerReq); i { case 0: return &v.state case 1: @@ -22956,7 +46650,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNetworksReq); i { + switch v := v.(*ShelveServerResp); i { case 0: return &v.state case 1: @@ -22968,7 +46662,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNetworksResp); i { + switch v := v.(*UnshelveServerReq); i { case 0: return &v.state case 1: @@ -22980,7 +46674,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNetworkReq); i { + switch v := v.(*UnshelveServerResp); i { case 0: return &v.state case 1: @@ -22992,7 +46686,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNetworkResp); i { + switch v := v.(*SuspendServerReq); i { case 0: return &v.state case 1: @@ -23004,7 +46698,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSubnetReq); i { + switch v := v.(*SuspendServerResp); i { case 0: return &v.state case 1: @@ -23016,7 +46710,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSubnetResp); i { + switch v := v.(*AddSecurityGroupToServerReq); i { case 0: return &v.state case 1: @@ -23028,7 +46722,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subnet); i { + switch v := v.(*AddSecurityGroupToServerResp); i { case 0: return &v.state case 1: @@ -23040,7 +46734,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubnetResp); i { + switch v := v.(*RemoveSecurityGroupReq); i { case 0: return &v.state case 1: @@ -23052,7 +46746,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllocationPools); i { + switch v := v.(*RemoveSecurityGroupResp); i { case 0: return &v.state case 1: @@ -23064,7 +46758,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCreateNetworksReq); i { + switch v := v.(*ListFlavorsDetailReq); i { case 0: return &v.state case 1: @@ -23076,7 +46770,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCreateNetworksResp); i { + switch v := v.(*ListFlavorsDetailResp); i { case 0: return &v.state case 1: @@ -23088,7 +46782,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNodesReq); i { + switch v := v.(*CreateFlavorReq); i { case 0: return &v.state case 1: @@ -23100,7 +46794,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNodesResp); i { + switch v := v.(*CreateFlavorResp); i { case 0: return &v.state case 1: @@ -23112,7 +46806,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeReq); i { + switch v := v.(*DeleteFlavorReq); i { case 0: return &v.state case 1: @@ -23124,7 +46818,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp); i { + switch v := v.(*DeleteFlavorResp); i { case 0: return &v.state case 1: @@ -23136,7 +46830,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNodeReq); i { + switch v := v.(*ShowNetworkDetailsReq); i { case 0: return &v.state case 1: @@ -23148,7 +46842,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNodeResp); i { + switch v := v.(*Network); i { case 0: return &v.state case 1: @@ -23160,7 +46854,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsReq); i { + switch v := v.(*ShowNetworkDetailsResp); i { case 0: return &v.state case 1: @@ -23172,7 +46866,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp); i { + switch v := v.(*UpdateNetworkReq); i { case 0: return &v.state case 1: @@ -23184,7 +46878,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageReq); i { + switch v := v.(*UpdateNetworkResp); i { case 0: return &v.state case 1: @@ -23196,7 +46890,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tags); i { + switch v := v.(*DeleteNetworkReq); i { case 0: return &v.state case 1: @@ -23208,7 +46902,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageResp); i { + switch v := v.(*DeleteNetworkResp); i { case 0: return &v.state case 1: @@ -23220,7 +46914,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListImagesReq); i { + switch v := v.(*ListNetworksReq); i { case 0: return &v.state case 1: @@ -23232,7 +46926,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListImagesResp); i { + switch v := v.(*ListNetworksResp); i { case 0: return &v.state case 1: @@ -23244,7 +46938,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageReq); i { + switch v := v.(*CreateNetworkReq); i { case 0: return &v.state case 1: @@ -23256,7 +46950,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageResp); i { + switch v := v.(*CreateNetworkResp); i { case 0: return &v.state case 1: @@ -23268,7 +46962,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadOsImageReq); i { + switch v := v.(*CreateSubnetReq); i { case 0: return &v.state case 1: @@ -23280,7 +46974,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadOsImageResp); i { + switch v := v.(*CreateSubnetResp); i { case 0: return &v.state case 1: @@ -23292,7 +46986,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesReq); i { + switch v := v.(*Subnet); i { case 0: return &v.state case 1: @@ -23304,7 +46998,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesResp); i { + switch v := v.(*SubnetResp); i { case 0: return &v.state case 1: @@ -23316,7 +47010,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesDetailReq); i { + switch v := v.(*AllocationPools); i { case 0: return &v.state case 1: @@ -23328,7 +47022,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesDetailResp); i { + switch v := v.(*BulkCreateNetworksReq); i { case 0: return &v.state case 1: @@ -23340,7 +47034,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeReq); i { + switch v := v.(*BulkCreateNetworksResp); i { case 0: return &v.state case 1: @@ -23352,7 +47046,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeResp); i { + switch v := v.(*ListSubnetsReq); i { case 0: return &v.state case 1: @@ -23364,7 +47058,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeReq); i { + switch v := v.(*ListSubnetsResp); i { case 0: return &v.state case 1: @@ -23376,7 +47070,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeResp); i { + switch v := v.(*DeleteSubnetReq); i { case 0: return &v.state case 1: @@ -23388,7 +47082,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeReq); i { + switch v := v.(*DeleteSubnetResp); i { case 0: return &v.state case 1: @@ -23400,7 +47094,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeResp); i { + switch v := v.(*UpdateSubnetReq); i { case 0: return &v.state case 1: @@ -23412,7 +47106,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeDetailedByIdReq); i { + switch v := v.(*UpdateSubnetResp); i { case 0: return &v.state case 1: @@ -23424,7 +47118,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeDetailedByIdResp); i { + switch v := v.(*CreateNetworkSegmentRangeReq); i { case 0: return &v.state case 1: @@ -23436,7 +47130,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumeTypesReq); i { + switch v := v.(*CreateNetworkSegmentRangeResp); i { case 0: return &v.state case 1: @@ -23448,7 +47142,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumeTypesResp); i { + switch v := v.(*ListNetworkSegmentRangesReq); i { case 0: return &v.state case 1: @@ -23460,7 +47154,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeTypeReq); i { + switch v := v.(*ListNetworkSegmentRangesResp); i { case 0: return &v.state case 1: @@ -23472,7 +47166,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeTypeResp); i { + switch v := v.(*DeleteNetworkSegmentRangesReq); i { case 0: return &v.state case 1: @@ -23484,7 +47178,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeTypeReq); i { + switch v := v.(*DeleteNetworkSegmentRangesResp); i { case 0: return &v.state case 1: @@ -23496,7 +47190,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteVolumeTypeResp); i { + switch v := v.(*UpdateNetworkSegmentRangesReq); i { case 0: return &v.state case 1: @@ -23508,7 +47202,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputeLimitsResp_Rate); i { + switch v := v.(*UpdateNetworkSegmentRangesResp); i { case 0: return &v.state case 1: @@ -23520,7 +47214,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputeLimitsResp_Absolute); i { + switch v := v.(*ShowNetworkSegmentRangeDetailsReq); i { case 0: return &v.state case 1: @@ -23532,7 +47226,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetComputeLimitsResp_Limits); i { + switch v := v.(*ShowNetworkSegmentRangeDetailsResp); i { case 0: return &v.state case 1: @@ -23544,7 +47238,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeLimitsResp_Rate); i { + switch v := v.(*CreatePortReq); i { case 0: return &v.state case 1: @@ -23556,7 +47250,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeLimitsResp_Absolute); i { + switch v := v.(*CreatePortResp); i { case 0: return &v.state case 1: @@ -23568,7 +47262,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeLimitsResp_Limits); i { + switch v := v.(*ListPortsReq); i { case 0: return &v.state case 1: @@ -23580,7 +47274,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersResp_Links); i { + switch v := v.(*ListPortsResp); i { case 0: return &v.state case 1: @@ -23592,7 +47286,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersResp_Servers); i { + switch v := v.(*DeletePortReq); i { case 0: return &v.state case 1: @@ -23604,7 +47298,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersResp_ServersLinks); i { + switch v := v.(*DeletePortResp); i { case 0: return &v.state case 1: @@ -23616,7 +47310,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Private); i { + switch v := v.(*UpdatePortReq); i { case 0: return &v.state case 1: @@ -23628,7 +47322,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Addresses); i { + switch v := v.(*UpdatePortResp); i { case 0: return &v.state case 1: @@ -23640,7 +47334,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_ExtraSpecs); i { + switch v := v.(*ShowPortDetailsReq); i { case 0: return &v.state case 1: @@ -23652,7 +47346,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Flavor); i { + switch v := v.(*ShowPortDetailsResp); i { case 0: return &v.state case 1: @@ -23664,7 +47358,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Links); i { + switch v := v.(*ListRoutersReq); i { case 0: return &v.state case 1: @@ -23676,7 +47370,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Image); i { + switch v := v.(*ListRoutersResp); i { case 0: return &v.state case 1: @@ -23688,7 +47382,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Links1); i { + switch v := v.(*CreateRouterReq); i { case 0: return &v.state case 1: @@ -23700,7 +47394,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_Metadata); i { + switch v := v.(*CreateRouterResp); i { case 0: return &v.state case 1: @@ -23712,7 +47406,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_SecurityGroups); i { + switch v := v.(*UpdateRouterReq); i { case 0: return &v.state case 1: @@ -23724,7 +47418,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListServersDetailedResp_ServersDetailed); i { + switch v := v.(*UpdateRouterResp); i { case 0: return &v.state case 1: @@ -23736,7 +47430,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_Networks); i { + switch v := v.(*ShowRouterDetailsReq); i { case 0: return &v.state case 1: @@ -23748,7 +47442,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_BlockDeviceMappingV2); i { + switch v := v.(*ShowRouterDetailsResp); i { case 0: return &v.state case 1: @@ -23760,7 +47454,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_Metadata); i { + switch v := v.(*DeleteRouterReq); i { case 0: return &v.state case 1: @@ -23772,7 +47466,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_Personality); i { + switch v := v.(*DeleteRouterResp); i { case 0: return &v.state case 1: @@ -23784,7 +47478,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_SecurityGroups); i { + switch v := v.(*ListFloatingIPsReq); i { case 0: return &v.state case 1: @@ -23796,7 +47490,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_Server); i { + switch v := v.(*ListFloatingIPsResp); i { case 0: return &v.state case 1: @@ -23808,7 +47502,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerReq_OsSchHntSchedulerHints); i { + switch v := v.(*CreateFloatingIPReq); i { case 0: return &v.state case 1: @@ -23820,7 +47514,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerResp_Links); i { + switch v := v.(*CreateFloatingIPResp); i { case 0: return &v.state case 1: @@ -23832,7 +47526,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerResp_SecurityGroups); i { + switch v := v.(*UpdateFloatingIPReq); i { case 0: return &v.state case 1: @@ -23844,7 +47538,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateServerResp_Server); i { + switch v := v.(*UpdateFloatingIPResp); i { case 0: return &v.state case 1: @@ -23856,7 +47550,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Private); i { + switch v := v.(*DeleteFloatingIPReq); i { case 0: return &v.state case 1: @@ -23868,7 +47562,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Addresses); i { + switch v := v.(*DeleteFloatingIPResp); i { case 0: return &v.state case 1: @@ -23880,7 +47574,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_ExtraSpecs); i { + switch v := v.(*ShowFloatingIPDetailsReq); i { case 0: return &v.state case 1: @@ -23892,7 +47586,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Flavor); i { + switch v := v.(*ShowFloatingIPDetailsResp); i { case 0: return &v.state case 1: @@ -23904,7 +47598,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Links); i { + switch v := v.(*ListFirewallGroupsReq); i { case 0: return &v.state case 1: @@ -23916,7 +47610,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Image); i { + switch v := v.(*ListFirewallGroupsResp); i { case 0: return &v.state case 1: @@ -23928,7 +47622,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Links1); i { + switch v := v.(*DeleteFirewallGroupReq); i { case 0: return &v.state case 1: @@ -23940,7 +47634,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Metadata); i { + switch v := v.(*DeleteFirewallGroupResp); i { case 0: return &v.state case 1: @@ -23952,7 +47646,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached); i { + switch v := v.(*CreateFirewallGroupReq); i { case 0: return &v.state case 1: @@ -23964,7 +47658,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Fault); i { + switch v := v.(*CreateFirewallGroupResp); i { case 0: return &v.state case 1: @@ -23976,7 +47670,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_SecurityGroups); i { + switch v := v.(*UpdateFirewallGroupReq); i { case 0: return &v.state case 1: @@ -23988,7 +47682,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetServersDetailedByIdResp_Servers); i { + switch v := v.(*UpdateFirewallGroupResp); i { case 0: return &v.state case 1: @@ -24000,7 +47694,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Private); i { + switch v := v.(*ShowFirewallGroupDetailsReq); i { case 0: return &v.state case 1: @@ -24012,7 +47706,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Addresses); i { + switch v := v.(*ShowFirewallGroupDetailsResp); i { case 0: return &v.state case 1: @@ -24024,7 +47718,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_ExtraSpecs); i { + switch v := v.(*CreateFirewallPolicyReq); i { case 0: return &v.state case 1: @@ -24036,7 +47730,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Flavor); i { + switch v := v.(*CreateFirewallPolicyResp); i { case 0: return &v.state case 1: @@ -24048,7 +47742,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Links); i { + switch v := v.(*DeleteFirewallPolicyReq); i { case 0: return &v.state case 1: @@ -24060,7 +47754,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Image); i { + switch v := v.(*DeleteFirewallPolicyResp); i { case 0: return &v.state case 1: @@ -24072,7 +47766,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Links1); i { + switch v := v.(*ListFirewallPoliciesReq); i { case 0: return &v.state case 1: @@ -24084,7 +47778,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Metadata); i { + switch v := v.(*ListFirewallPoliciesResp); i { case 0: return &v.state case 1: @@ -24096,7 +47790,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_SecurityGroups); i { + switch v := v.(*ShowFirewallPolicyDetailsReq); i { case 0: return &v.state case 1: @@ -24108,7 +47802,31 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateServerResp_Server); i { + switch v := v.(*ShowFirewallPolicyDetailsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallRuleReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallRuleResp); i { case 0: return &v.state case 1: @@ -24120,7 +47838,19 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebootServerReq_Reboot); i { + switch v := v.(*DeleteFirewallRuleReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFirewallRuleResp); i { case 0: return &v.state case 1: @@ -24132,7 +47862,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerReq_Rebuild); i { + switch v := v.(*ListFirewallRulesReq); i { case 0: return &v.state case 1: @@ -24144,7 +47874,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerReq_Metadata); i { + switch v := v.(*ListFirewallRulesResp); i { case 0: return &v.state case 1: @@ -24156,7 +47886,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerReq_Personality); i { + switch v := v.(*ShowFirewallRuleDetailsReq); i { case 0: return &v.state case 1: @@ -24168,7 +47898,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerReqTrustedImageCertificates); i { + switch v := v.(*ShowFirewallRuleDetailsResp); i { case 0: return &v.state case 1: @@ -24180,7 +47910,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Private); i { + switch v := v.(*ListSecurityGroupsReq); i { case 0: return &v.state case 1: @@ -24192,7 +47922,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Addresses); i { + switch v := v.(*ListSecurityGroupsResp); i { case 0: return &v.state case 1: @@ -24204,7 +47934,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_ExtraSpecs); i { + switch v := v.(*CreateSecurityGroupReq); i { case 0: return &v.state case 1: @@ -24216,7 +47946,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Flavor); i { + switch v := v.(*CreateSecurityGroupResp); i { case 0: return &v.state case 1: @@ -24228,7 +47958,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Links); i { + switch v := v.(*DeleteSecurityGroupReq); i { case 0: return &v.state case 1: @@ -24240,7 +47970,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Image); i { + switch v := v.(*DeleteSecurityGroupResp); i { case 0: return &v.state case 1: @@ -24252,7 +47982,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Links1); i { + switch v := v.(*UpdateSecurityGroupReq); i { case 0: return &v.state case 1: @@ -24264,7 +47994,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Metadata); i { + switch v := v.(*UpdateSecurityGroupResp); i { case 0: return &v.state case 1: @@ -24276,7 +48006,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_OsExtendedVolumesVolumesAttached); i { + switch v := v.(*ShowSecurityGroupReq); i { case 0: return &v.state case 1: @@ -24288,7 +48018,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Fault); i { + switch v := v.(*ShowSecurityGroupResp); i { case 0: return &v.state case 1: @@ -24300,7 +48030,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_SecurityGroups); i { + switch v := v.(*ListSecurityGroupRulesReq); i { case 0: return &v.state case 1: @@ -24312,7 +48042,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RebuildServerResp_Servers); i { + switch v := v.(*ListSecurityGroupRulesResp); i { case 0: return &v.state case 1: @@ -24324,7 +48054,19 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResizeServerReq_Resize); i { + switch v := v.(*CreateSecurityGroupRuleReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSecurityGroupRuleResp); i { case 0: return &v.state case 1: @@ -24336,7 +48078,19 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MigrateServerReq_Migrate); i { + switch v := v.(*ShowSecurityGroupRuleReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowSecurityGroupRuleResp); i { case 0: return &v.state case 1: @@ -24348,7 +48102,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFlavorsDetailResp_Flavor); i { + switch v := v.(*DeleteSecurityGroupRuleReq); i { case 0: return &v.state case 1: @@ -24360,7 +48114,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFlavorsDetailResp_ExtraSpecs); i { + switch v := v.(*DeleteSecurityGroupRuleResp); i { case 0: return &v.state case 1: @@ -24372,7 +48126,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFlavorsDetailResp_Links); i { + switch v := v.(*ListNodesReq); i { case 0: return &v.state case 1: @@ -24384,7 +48138,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNodesResp_Links); i { + switch v := v.(*ListNodesResp); i { case 0: return &v.state case 1: @@ -24396,7 +48150,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNodesResp_Nodes); i { + switch v := v.(*CreateNodeReq); i { case 0: return &v.state case 1: @@ -24408,7 +48162,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeReq_DriverInfo); i { + switch v := v.(*CreateNodeResp); i { case 0: return &v.state case 1: @@ -24420,7 +48174,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeReq_Properties); i { + switch v := v.(*DeleteNodeReq); i { case 0: return &v.state case 1: @@ -24432,7 +48186,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeReq_InstanceInfo); i { + switch v := v.(*DeleteNodeResp); i { case 0: return &v.state case 1: @@ -24444,7 +48198,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeReq_NetworkData); i { + switch v := v.(*ShowNodeDetailsReq); i { case 0: return &v.state case 1: @@ -24456,7 +48210,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_CleanStep); i { + switch v := v.(*ShowNodeDetailsResp); i { case 0: return &v.state case 1: @@ -24468,7 +48222,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_DeployStep); i { + switch v := v.(*CreateImageReq); i { case 0: return &v.state case 1: @@ -24480,7 +48234,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_DriverInfo); i { + switch v := v.(*Tags); i { case 0: return &v.state case 1: @@ -24492,7 +48246,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_DriverInternalInfo); i { + switch v := v.(*CreateImageResp); i { case 0: return &v.state case 1: @@ -24504,7 +48258,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_Extra); i { + switch v := v.(*ListImagesReq); i { case 0: return &v.state case 1: @@ -24516,7 +48270,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_InstanceInfo); i { + switch v := v.(*ListImagesResp); i { case 0: return &v.state case 1: @@ -24528,7 +48282,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_Links); i { + switch v := v.(*DeleteImageReq); i { case 0: return &v.state case 1: @@ -24540,7 +48294,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_NetworkData); i { + switch v := v.(*DeleteImageResp); i { case 0: return &v.state case 1: @@ -24552,7 +48306,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_Portgroups); i { + switch v := v.(*UploadOsImageReq); i { case 0: return &v.state case 1: @@ -24564,7 +48318,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_Ports); i { + switch v := v.(*UploadOsImageResp); i { case 0: return &v.state case 1: @@ -24576,7 +48330,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_Properties); i { + switch v := v.(*ListVolumesReq); i { case 0: return &v.state case 1: @@ -24588,7 +48342,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_RaidConfig); i { + switch v := v.(*ListVolumesResp); i { case 0: return &v.state case 1: @@ -24600,7 +48354,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_States); i { + switch v := v.(*ListVolumesDetailReq); i { case 0: return &v.state case 1: @@ -24612,7 +48366,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_TargetRaidConfig); i { + switch v := v.(*ListVolumesDetailResp); i { case 0: return &v.state case 1: @@ -24624,7 +48378,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNodeResp_Volume); i { + switch v := v.(*CreateVolumeReq); i { case 0: return &v.state case 1: @@ -24636,7 +48390,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsReq_Fields); i { + switch v := v.(*CreateVolumeResp); i { case 0: return &v.state case 1: @@ -24648,7 +48402,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_CleanStep); i { + switch v := v.(*DeleteVolumeReq); i { case 0: return &v.state case 1: @@ -24660,7 +48414,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_DeployStep); i { + switch v := v.(*DeleteVolumeResp); i { case 0: return &v.state case 1: @@ -24672,7 +48426,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_DriverInfo); i { + switch v := v.(*UpdateVolumeReq); i { case 0: return &v.state case 1: @@ -24684,7 +48438,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_DriverInternalInfo); i { + switch v := v.(*UpdateVolumeResp); i { case 0: return &v.state case 1: @@ -24696,7 +48450,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Extra); i { + switch v := v.(*GetVolumeDetailedByIdReq); i { case 0: return &v.state case 1: @@ -24708,7 +48462,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_InstanceInfo); i { + switch v := v.(*GetVolumeDetailedByIdResp); i { case 0: return &v.state case 1: @@ -24720,7 +48474,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Links); i { + switch v := v.(*ListVolumeTypesReq); i { case 0: return &v.state case 1: @@ -24732,7 +48486,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_NetworkData); i { + switch v := v.(*ListVolumeTypesResp); i { case 0: return &v.state case 1: @@ -24744,7 +48498,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Portgroups); i { + switch v := v.(*CreateVolumeTypeReq); i { case 0: return &v.state case 1: @@ -24756,7 +48510,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Ports); i { + switch v := v.(*CreateVolumeTypeResp); i { case 0: return &v.state case 1: @@ -24768,7 +48522,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Properties); i { + switch v := v.(*DeleteVolumeTypeReq); i { case 0: return &v.state case 1: @@ -24780,7 +48534,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_RaidConfig); i { + switch v := v.(*DeleteVolumeTypeResp); i { case 0: return &v.state case 1: @@ -24792,7 +48546,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_States); i { + switch v := v.(*GetComputeLimitsResp_Rate); i { case 0: return &v.state case 1: @@ -24804,7 +48558,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_TargetRaidConfig); i { + switch v := v.(*GetComputeLimitsResp_Absolute); i { case 0: return &v.state case 1: @@ -24816,7 +48570,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Volume); i { + switch v := v.(*GetComputeLimitsResp_Limits); i { case 0: return &v.state case 1: @@ -24828,7 +48582,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ShowNodeDetailsResp_Traits); i { + switch v := v.(*GetVolumeLimitsResp_Rate); i { case 0: return &v.state case 1: @@ -24840,7 +48594,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageResp_Tags); i { + switch v := v.(*GetVolumeLimitsResp_Absolute); i { case 0: return &v.state case 1: @@ -24852,7 +48606,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageResp_Locations); i { + switch v := v.(*GetVolumeLimitsResp_Limits); i { case 0: return &v.state case 1: @@ -24864,7 +48618,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListImagesResp_Images); i { + switch v := v.(*ListServersResp_Links); i { case 0: return &v.state case 1: @@ -24876,7 +48630,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListImagesResp_Tags); i { + switch v := v.(*ListServersResp_Servers); i { case 0: return &v.state case 1: @@ -24888,7 +48642,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesResp_Links); i { + switch v := v.(*ListServersResp_ServersLinks); i { case 0: return &v.state case 1: @@ -24900,7 +48654,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesResp_Volumes); i { + switch v := v.(*ListServersDetailedResp_Private); i { case 0: return &v.state case 1: @@ -24912,7 +48666,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesDetailResp_Links); i { + switch v := v.(*ListServersDetailedResp_Addresses); i { case 0: return &v.state case 1: @@ -24924,7 +48678,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesDetailResp_Attachments); i { + switch v := v.(*ListServersDetailedResp_ExtraSpecs); i { case 0: return &v.state case 1: @@ -24936,7 +48690,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesDetailResp_Metadata); i { + switch v := v.(*ListServersDetailedResp_Flavor); i { case 0: return &v.state case 1: @@ -24948,7 +48702,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumesDetailResp_VolumeDetail); i { + switch v := v.(*ListServersDetailedResp_Links); i { case 0: return &v.state case 1: @@ -24960,7 +48714,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeReq_Metadata); i { + switch v := v.(*ListServersDetailedResp_Image); i { case 0: return &v.state case 1: @@ -24972,7 +48726,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeReq_Volume); i { + switch v := v.(*ListServersDetailedResp_Links1); i { case 0: return &v.state case 1: @@ -24984,7 +48738,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeResp_Links); i { + switch v := v.(*ListServersDetailedResp_Metadata); i { case 0: return &v.state case 1: @@ -24996,7 +48750,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeResp_Metadata); i { + switch v := v.(*ListServersDetailedResp_SecurityGroups); i { case 0: return &v.state case 1: @@ -25008,7 +48762,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeResp_Volume); i { + switch v := v.(*ListServersDetailedResp_ServersDetailed); i { case 0: return &v.state case 1: @@ -25020,7 +48774,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeResp_Attachments); i { + switch v := v.(*CreateServerReq_Networks); i { case 0: return &v.state case 1: @@ -25032,7 +48786,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeReq_Metadata); i { + switch v := v.(*CreateServerReq_BlockDeviceMappingV2); i { case 0: return &v.state case 1: @@ -25044,7 +48798,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeReq_Volume); i { + switch v := v.(*CreateServerReq_Metadata); i { case 0: return &v.state case 1: @@ -25056,7 +48810,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeResp_Links); i { + switch v := v.(*CreateServerReq_Personality); i { case 0: return &v.state case 1: @@ -25068,7 +48822,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeResp_Metadata); i { + switch v := v.(*CreateServerReq_SecurityGroups); i { case 0: return &v.state case 1: @@ -25080,7 +48834,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeResp_Volume); i { + switch v := v.(*CreateServerReq_Server); i { case 0: return &v.state case 1: @@ -25092,7 +48846,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateVolumeResp_Attachments); i { + switch v := v.(*CreateServerReq_OsSchHntSchedulerHints); i { case 0: return &v.state case 1: @@ -25104,7 +48858,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeDetailedByIdResp_Links); i { + switch v := v.(*CreateServerResp_Links); i { case 0: return &v.state case 1: @@ -25116,7 +48870,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeDetailedByIdResp_Metadata); i { + switch v := v.(*CreateServerResp_SecurityGroups); i { case 0: return &v.state case 1: @@ -25128,7 +48882,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeDetailedByIdResp_Attachments); i { + switch v := v.(*CreateServerResp_Server); i { case 0: return &v.state case 1: @@ -25140,7 +48894,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVolumeDetailedByIdResp_Volume); i { + switch v := v.(*GetServersDetailedByIdResp_Private); i { case 0: return &v.state case 1: @@ -25152,7 +48906,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumeTypesResp_ExtraSpecs); i { + switch v := v.(*GetServersDetailedByIdResp_Addresses); i { case 0: return &v.state case 1: @@ -25164,7 +48918,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListVolumeTypesResp_VolumeTypes); i { + switch v := v.(*GetServersDetailedByIdResp_ExtraSpecs); i { case 0: return &v.state case 1: @@ -25176,7 +48930,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeTypeReq_ExtraSpecs); i { + switch v := v.(*GetServersDetailedByIdResp_Flavor); i { case 0: return &v.state case 1: @@ -25188,7 +48942,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeTypeReq_VolumeType); i { + switch v := v.(*GetServersDetailedByIdResp_Links); i { case 0: return &v.state case 1: @@ -25200,7 +48954,7 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateVolumeTypeResp_ExtraSpecs); i { + switch v := v.(*GetServersDetailedByIdResp_Image); i { case 0: return &v.state case 1: @@ -25212,6 +48966,2850 @@ func file_pcm_openstack_proto_init() { } } file_pcm_openstack_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServersDetailedByIdResp_Links1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServersDetailedByIdResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServersDetailedByIdResp_OsExtendedVolumesVolumesAttached); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServersDetailedByIdResp_Fault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServersDetailedByIdResp_SecurityGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServersDetailedByIdResp_Servers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Private); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Addresses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Flavor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Links1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_SecurityGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServerResp_Server); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebootServerReq_Reboot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerReq_Rebuild); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerReq_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerReq_Personality); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerReqTrustedImageCertificates); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Private); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Addresses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Flavor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Links1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_OsExtendedVolumesVolumesAttached); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Fault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_SecurityGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebuildServerResp_Servers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResizeServerReq_Resize); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateServerReq_Migrate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChangeAdministrativePasswordReq_Changepassword); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RescueServerReq_Rescue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddSecurityGroupToServerReq_AddSecurityGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveSecurityGroupReq_RemoveSecurityGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFlavorsDetailResp_Flavor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFlavorsDetailResp_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFlavorsDetailResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFlavorReq_Flavor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFlavorResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFlavorResp_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFlavorResp_Flavor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubnetsResp_AllocationPools); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubnetsResp_Subnets); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSubnetResp_AllocationPools); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSubnetResp_Subnet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNetworkSegmentRangeReq_NetworkSegmentRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNetworkSegmentRangeResp_Used); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNetworkSegmentRangeResp_NetworkSegmentRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNetworkSegmentRangesResp_Used); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNetworkSegmentRangesResp_NetworkSegmentRanges); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNetworkSegmentRangesReq_NetworkSegmentRanges); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNetworkSegmentRangesReq_Used); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNetworkSegmentRangesResp_Used); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNetworkSegmentRangesResp_NetworkSegmentRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNetworkSegmentRangeDetailsResp_Used); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortReq_AllowedAddressPairs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortReq_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortResp_AllowedAddressPairs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortResp_DnsAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortResp_ExtraDhcpOpts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortResp_FixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePortResp_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPortsResp_DnsAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPortsResp_ExtraDhcpOpts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPortsResp_FixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPortsResp_AllowedAddressPairs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPortsResp_SecurityGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPortsResp_Ports); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortReq_AllowedAddressPairs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortReq_DnsAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortReq_ExtraDhcpOpts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortReq_FixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortReq_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_BindingProfile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_BindingVifDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_DnsAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_ExtraDhcpOpts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_FixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_AllowedAddressPairs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePortResp_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowPortDetailsResp_DnsAssignment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowPortDetailsResp_ExtraDhcpOpts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[332].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowPortDetailsResp_FixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowPortDetailsResp_AllowedAddressPairs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[334].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowPortDetailsResp_SecurityGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowPortDetailsResp_Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoutersResp_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoutersResp_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoutersResp_Routes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoutersResp_ConntrackHelpers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoutersResp_AvailabilityZoneHints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRoutersResp_Routers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterReq_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterReq_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterReq_Router); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterResp_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterResp_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterResp_Routers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterResp_AvailabilityZoneHints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterResp_ConntrackHelpers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRouterResp_Router); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterReq_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterReq_Routes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterReq_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterReq_Router); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterResp_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterResp_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterResp_Routes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterResp_AvailabilityZoneHints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterResp_ConntrackHelpers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRouterResp_Router); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsReq_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsReq_Routes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsReq_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsReq_Router); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsResp_ExternalFixedIps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsResp_ExternalGatewayInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsResp_Routes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsResp_AvailabilityZoneHints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsResp_ConntrackHelpers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowRouterDetailsResp_Router); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFloatingIPsResp_PortDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFloatingIPsResp_PortForwardings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFloatingIPsResp_Floatingips); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFloatingIPReq_Floatingip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFloatingIPResp_PortDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFloatingIPResp_PortForwardings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFloatingIPResp_Floatingip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFloatingIPReq_Floatingip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFloatingIPResp_PortDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFloatingIPResp_PortForwardings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFloatingIPResp_Floatingip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowFloatingIPDetailsResp_PortDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowFloatingIPDetailsResp_PortForwardings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowFloatingIPDetailsResp_Floatingip); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFirewallGroupsResp_FirewallGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallGroupReq_FirewallGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallGroupResp_FirewallGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFirewallGroupReq_FirewallGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFirewallGroupResp_FirewallGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowFirewallGroupDetailsResp_FirewallGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallPolicyReq_FirewallPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallPolicyResp_FirewallPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFirewallPoliciesResp_FirewallPolicies); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowFirewallPolicyDetailsResp_FirewallPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallRuleReq_FirewallRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFirewallRuleResp_FirewallRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFirewallRulesResp_FirewallRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowFirewallRuleDetailsResp_FirewallRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSecurityGroupsResp_SecurityGroupRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSecurityGroupsResp_SecurityGroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSecurityGroupReq_SecurityGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSecurityGroupResp_SecurityGroupRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSecurityGroupResp_SecurityGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSecurityGroupResp_SecurityGroupRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSecurityGroupResp_SecurityGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowSecurityGroupResp_SecurityGroupRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowSecurityGroupResp_SecurityGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSecurityGroupRulesResp_SecurityGroupRules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSecurityGroupRuleReq_SecurityGroupRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSecurityGroupRuleResp_SecurityGroupRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSecurityGroupRuleResp_SecurityGroupRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNodesResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNodesResp_Nodes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeReq_DriverInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeReq_Properties); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeReq_InstanceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[417].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeReq_NetworkData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_CleanStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[419].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_DeployStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_DriverInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_DriverInternalInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_Extra); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_InstanceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_NetworkData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_Portgroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[427].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_Ports); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_Properties); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[429].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_RaidConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_States); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_TargetRaidConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNodeResp_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[433].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsReq_Fields); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[434].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_CleanStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[435].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_DeployStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[436].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_DriverInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[437].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_DriverInternalInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[438].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Extra); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[439].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_InstanceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[440].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[441].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_NetworkData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[442].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Portgroups); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[443].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Ports); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[444].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Properties); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[445].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_RaidConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[446].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_States); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[447].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_TargetRaidConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[448].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[449].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowNodeDetailsResp_Traits); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[450].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateImageResp_Tags); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[451].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateImageResp_Locations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[452].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListImagesResp_Images); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[453].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListImagesResp_Tags); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[454].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumesResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[455].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumesResp_Volumes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[456].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumesDetailResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[457].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumesDetailResp_Attachments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[458].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumesDetailResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[459].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumesDetailResp_VolumeDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[460].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeReq_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[461].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeReq_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[462].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[463].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[464].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeResp_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[465].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeResp_Attachments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[466].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVolumeReq_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[467].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVolumeReq_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[468].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVolumeResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[469].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVolumeResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[470].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVolumeResp_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[471].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateVolumeResp_Attachments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[472].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVolumeDetailedByIdResp_Links); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[473].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVolumeDetailedByIdResp_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[474].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVolumeDetailedByIdResp_Attachments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[475].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVolumeDetailedByIdResp_Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[476].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumeTypesResp_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[477].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListVolumeTypesResp_VolumeTypes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[478].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeTypeReq_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[479].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeTypeReq_VolumeType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[480].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateVolumeTypeResp_ExtraSpecs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pcm_openstack_proto_msgTypes[481].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVolumeTypeResp_VolumeType); i { case 0: return &v.state @@ -25230,7 +51828,7 @@ func file_pcm_openstack_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pcm_openstack_proto_rawDesc, NumEnums: 0, - NumMessages: 235, + NumMessages: 482, NumExtensions: 0, NumServices: 1, }, diff --git a/openstack/pcm-openstack_grpc.pb.go b/openstack/pcm-openstack_grpc.pb.go index bcd0b9e..c82bd94 100644 --- a/openstack/pcm-openstack_grpc.pb.go +++ b/openstack/pcm-openstack_grpc.pb.go @@ -19,46 +19,102 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Openstack_GetComputeLimits_FullMethodName = "/openstack.Openstack/GetComputeLimits" - Openstack_GetVolumeLimits_FullMethodName = "/openstack.Openstack/GetVolumeLimits" - Openstack_ListServers_FullMethodName = "/openstack.Openstack/ListServers" - Openstack_ListServersDetailed_FullMethodName = "/openstack.Openstack/ListServersDetailed" - Openstack_CreateServer_FullMethodName = "/openstack.Openstack/CreateServer" - Openstack_DeleteServer_FullMethodName = "/openstack.Openstack/DeleteServer" - Openstack_GetServersDetailedById_FullMethodName = "/openstack.Openstack/GetServersDetailedById" - Openstack_UpdateServer_FullMethodName = "/openstack.Openstack/UpdateServer" - Openstack_StartServer_FullMethodName = "/openstack.Openstack/StartServer" - Openstack_StopServer_FullMethodName = "/openstack.Openstack/StopServer" - Openstack_RebootServer_FullMethodName = "/openstack.Openstack/RebootServer" - Openstack_PauseServer_FullMethodName = "/openstack.Openstack/PauseServer" - Openstack_ListFlavorsDetail_FullMethodName = "/openstack.Openstack/ListFlavorsDetail" - Openstack_RebuildServer_FullMethodName = "/openstack.Openstack/RebuildServer" - Openstack_ResizeServer_FullMethodName = "/openstack.Openstack/ResizeServer" - Openstack_MigrateServer_FullMethodName = "/openstack.Openstack/MigrateServer" - Openstack_ShowNetworkDetails_FullMethodName = "/openstack.Openstack/ShowNetworkDetails" - Openstack_UpdateNetwork_FullMethodName = "/openstack.Openstack/UpdateNetwork" - Openstack_DeleteNetwork_FullMethodName = "/openstack.Openstack/DeleteNetwork" - Openstack_ListNetworks_FullMethodName = "/openstack.Openstack/ListNetworks" - Openstack_CreateNetwork_FullMethodName = "/openstack.Openstack/CreateNetwork" - Openstack_BulkCreateNetworks_FullMethodName = "/openstack.Openstack/BulkCreateNetworks" - Openstack_CreateSubnet_FullMethodName = "/openstack.Openstack/CreateSubnet" - Openstack_CreateImage_FullMethodName = "/openstack.Openstack/CreateImage" - Openstack_ListImages_FullMethodName = "/openstack.Openstack/ListImages" - Openstack_DeleteImage_FullMethodName = "/openstack.Openstack/DeleteImage" - Openstack_UploadImage_FullMethodName = "/openstack.Openstack/UploadImage" - Openstack_ListNodes_FullMethodName = "/openstack.Openstack/ListNodes" - Openstack_CreateNode_FullMethodName = "/openstack.Openstack/CreateNode" - Openstack_DeleteNode_FullMethodName = "/openstack.Openstack/DeleteNode" - Openstack_ShowNodeDetails_FullMethodName = "/openstack.Openstack/ShowNodeDetails" - Openstack_ListVolumes_FullMethodName = "/openstack.Openstack/ListVolumes" - Openstack_ListVolumesDetail_FullMethodName = "/openstack.Openstack/ListVolumesDetail" - Openstack_CreateVolume_FullMethodName = "/openstack.Openstack/CreateVolume" - Openstack_DeleteVolume_FullMethodName = "/openstack.Openstack/DeleteVolume" - Openstack_UpdateVolume_FullMethodName = "/openstack.Openstack/UpdateVolume" - Openstack_GetVolumeDetailedById_FullMethodName = "/openstack.Openstack/GetVolumeDetailedById" - Openstack_ListVolumeTypes_FullMethodName = "/openstack.Openstack/ListVolumeTypes" - Openstack_CreateVolumeTypes_FullMethodName = "/openstack.Openstack/CreateVolumeTypes" - Openstack_DeleteVolumeTypes_FullMethodName = "/openstack.Openstack/DeleteVolumeTypes" + Openstack_GetComputeLimits_FullMethodName = "/openstack.Openstack/GetComputeLimits" + Openstack_GetVolumeLimits_FullMethodName = "/openstack.Openstack/GetVolumeLimits" + Openstack_ListServers_FullMethodName = "/openstack.Openstack/ListServers" + Openstack_ListServersDetailed_FullMethodName = "/openstack.Openstack/ListServersDetailed" + Openstack_CreateServer_FullMethodName = "/openstack.Openstack/CreateServer" + Openstack_DeleteServer_FullMethodName = "/openstack.Openstack/DeleteServer" + Openstack_GetServersDetailedById_FullMethodName = "/openstack.Openstack/GetServersDetailedById" + Openstack_UpdateServer_FullMethodName = "/openstack.Openstack/UpdateServer" + Openstack_StartServer_FullMethodName = "/openstack.Openstack/StartServer" + Openstack_StopServer_FullMethodName = "/openstack.Openstack/StopServer" + Openstack_RebootServer_FullMethodName = "/openstack.Openstack/RebootServer" + Openstack_PauseServer_FullMethodName = "/openstack.Openstack/PauseServer" + Openstack_UnpauseServer_FullMethodName = "/openstack.Openstack/UnpauseServer" + Openstack_RebuildServer_FullMethodName = "/openstack.Openstack/RebuildServer" + Openstack_ResizeServer_FullMethodName = "/openstack.Openstack/ResizeServer" + Openstack_MigrateServer_FullMethodName = "/openstack.Openstack/MigrateServer" + Openstack_ShelveServer_FullMethodName = "/openstack.Openstack/ShelveServer" + Openstack_UnshelveServer_FullMethodName = "/openstack.Openstack/UnshelveServer" + Openstack_ChangeAdministrativePassword_FullMethodName = "/openstack.Openstack/ChangeAdministrativePassword" + Openstack_RescueServer_FullMethodName = "/openstack.Openstack/RescueServer" + Openstack_UnRescue_FullMethodName = "/openstack.Openstack/UnRescue" + Openstack_SuspendServer_FullMethodName = "/openstack.Openstack/SuspendServer" + Openstack_AddSecurityGroupToServer_FullMethodName = "/openstack.Openstack/AddSecurityGroupToServer" + Openstack_RemoveSecurityGroup_FullMethodName = "/openstack.Openstack/removeSecurityGroup" + Openstack_ListFlavorsDetail_FullMethodName = "/openstack.Openstack/ListFlavorsDetail" + Openstack_CreateFlavor_FullMethodName = "/openstack.Openstack/CreateFlavor" + Openstack_DeleteFlavor_FullMethodName = "/openstack.Openstack/DeleteFlavor" + Openstack_ShowNetworkDetails_FullMethodName = "/openstack.Openstack/ShowNetworkDetails" + Openstack_UpdateNetwork_FullMethodName = "/openstack.Openstack/UpdateNetwork" + Openstack_DeleteNetwork_FullMethodName = "/openstack.Openstack/DeleteNetwork" + Openstack_ListNetworks_FullMethodName = "/openstack.Openstack/ListNetworks" + Openstack_CreateNetwork_FullMethodName = "/openstack.Openstack/CreateNetwork" + Openstack_BulkCreateNetworks_FullMethodName = "/openstack.Openstack/BulkCreateNetworks" + Openstack_CreateSubnet_FullMethodName = "/openstack.Openstack/CreateSubnet" + Openstack_ListSubnets_FullMethodName = "/openstack.Openstack/ListSubnets" + Openstack_DeleteSubnet_FullMethodName = "/openstack.Openstack/DeleteSubnet" + Openstack_UpdateSubnet_FullMethodName = "/openstack.Openstack/UpdateSubnet" + Openstack_CreateNetworkSegmentRange_FullMethodName = "/openstack.Openstack/CreateNetworkSegmentRange" + Openstack_ListNetworkSegmentRanges_FullMethodName = "/openstack.Openstack/ListNetworkSegmentRanges" + Openstack_DeleteNetworkSegmentRanges_FullMethodName = "/openstack.Openstack/DeleteNetworkSegmentRanges" + Openstack_UpdateNetworkSegmentRanges_FullMethodName = "/openstack.Openstack/UpdateNetworkSegmentRanges" + Openstack_ShowNetworkSegmentRangeDetails_FullMethodName = "/openstack.Openstack/ShowNetworkSegmentRangeDetails" + Openstack_CreatePort_FullMethodName = "/openstack.Openstack/CreatePort" + Openstack_ListPorts_FullMethodName = "/openstack.Openstack/ListPorts" + Openstack_DeletePort_FullMethodName = "/openstack.Openstack/DeletePort" + Openstack_UpdatePort_FullMethodName = "/openstack.Openstack/UpdatePort" + Openstack_ShowPortDetails_FullMethodName = "/openstack.Openstack/ShowPortDetails" + Openstack_CreateRouter_FullMethodName = "/openstack.Openstack/CreateRouter" + Openstack_ListRouters_FullMethodName = "/openstack.Openstack/ListRouters" + Openstack_ShowRouterDetails_FullMethodName = "/openstack.Openstack/ShowRouterDetails" + Openstack_UpdateRouter_FullMethodName = "/openstack.Openstack/UpdateRouter" + Openstack_DeleteRouter_FullMethodName = "/openstack.Openstack/DeleteRouter" + Openstack_ListFloatingIPs_FullMethodName = "/openstack.Openstack/ListFloatingIPs" + Openstack_CreateFloatingIP_FullMethodName = "/openstack.Openstack/CreateFloatingIP" + Openstack_UpdateFloatingIP_FullMethodName = "/openstack.Openstack/UpdateFloatingIP" + Openstack_DeleteFloatingIP_FullMethodName = "/openstack.Openstack/DeleteFloatingIP" + Openstack_ShowFloatingIPDetails_FullMethodName = "/openstack.Openstack/ShowFloatingIPDetails" + Openstack_ListFirewallGroups_FullMethodName = "/openstack.Openstack/ListFirewallGroups" + Openstack_DeleteFirewallGroup_FullMethodName = "/openstack.Openstack/DeleteFirewallGroup" + Openstack_CreateFirewallGroup_FullMethodName = "/openstack.Openstack/CreateFirewallGroup" + Openstack_UpdateFirewallGroup_FullMethodName = "/openstack.Openstack/UpdateFirewallGroup" + Openstack_ShowFirewallGroupDetails_FullMethodName = "/openstack.Openstack/ShowFirewallGroupDetails" + Openstack_CreateFirewallPolicy_FullMethodName = "/openstack.Openstack/CreateFirewallPolicy" + Openstack_DeleteFirewallPolicy_FullMethodName = "/openstack.Openstack/DeleteFirewallPolicy" + Openstack_ListFirewallPolicies_FullMethodName = "/openstack.Openstack/ListFirewallPolicies" + Openstack_ShowFirewallPolicyDetails_FullMethodName = "/openstack.Openstack/ShowFirewallPolicyDetails" + Openstack_CreateFirewallRule_FullMethodName = "/openstack.Openstack/CreateFirewallRule" + Openstack_DeleteFirewallRule_FullMethodName = "/openstack.Openstack/DeleteFirewallRule" + Openstack_ListFirewallRules_FullMethodName = "/openstack.Openstack/ListFirewallRules" + Openstack_ShowFirewallRuleDetails_FullMethodName = "/openstack.Openstack/ShowFirewallRuleDetails" + Openstack_ListSecurityGroups_FullMethodName = "/openstack.Openstack/ListSecurityGroups" + Openstack_CreateSecurityGroup_FullMethodName = "/openstack.Openstack/CreateSecurityGroup" + Openstack_DeleteSecurityGroup_FullMethodName = "/openstack.Openstack/DeleteSecurityGroup" + Openstack_UpdateSecurityGroup_FullMethodName = "/openstack.Openstack/UpdateSecurityGroup" + Openstack_ShowSecurityGroup_FullMethodName = "/openstack.Openstack/ShowSecurityGroup" + Openstack_ListSecurityGroupRules_FullMethodName = "/openstack.Openstack/ListSecurityGroupRules" + Openstack_CreateSecurityGroupRule_FullMethodName = "/openstack.Openstack/CreateSecurityGroupRule" + Openstack_ShowSecurityGroupRule_FullMethodName = "/openstack.Openstack/ShowSecurityGroupRule" + Openstack_DeleteSecurityGroupRule_FullMethodName = "/openstack.Openstack/DeleteSecurityGroupRule" + Openstack_CreateImage_FullMethodName = "/openstack.Openstack/CreateImage" + Openstack_ListImages_FullMethodName = "/openstack.Openstack/ListImages" + Openstack_DeleteImage_FullMethodName = "/openstack.Openstack/DeleteImage" + Openstack_UploadImage_FullMethodName = "/openstack.Openstack/UploadImage" + Openstack_ListNodes_FullMethodName = "/openstack.Openstack/ListNodes" + Openstack_CreateNode_FullMethodName = "/openstack.Openstack/CreateNode" + Openstack_DeleteNode_FullMethodName = "/openstack.Openstack/DeleteNode" + Openstack_ShowNodeDetails_FullMethodName = "/openstack.Openstack/ShowNodeDetails" + Openstack_ListVolumes_FullMethodName = "/openstack.Openstack/ListVolumes" + Openstack_ListVolumesDetail_FullMethodName = "/openstack.Openstack/ListVolumesDetail" + Openstack_CreateVolume_FullMethodName = "/openstack.Openstack/CreateVolume" + Openstack_DeleteVolume_FullMethodName = "/openstack.Openstack/DeleteVolume" + Openstack_UpdateVolume_FullMethodName = "/openstack.Openstack/UpdateVolume" + Openstack_GetVolumeDetailedById_FullMethodName = "/openstack.Openstack/GetVolumeDetailedById" + Openstack_ListVolumeTypes_FullMethodName = "/openstack.Openstack/ListVolumeTypes" + Openstack_CreateVolumeTypes_FullMethodName = "/openstack.Openstack/CreateVolumeTypes" + Openstack_DeleteVolumeTypes_FullMethodName = "/openstack.Openstack/DeleteVolumeTypes" ) // OpenstackClient is the client API for Openstack service. @@ -79,10 +135,22 @@ type OpenstackClient interface { StopServer(ctx context.Context, in *StopServerReq, opts ...grpc.CallOption) (*StopServerResp, error) RebootServer(ctx context.Context, in *RebootServerReq, opts ...grpc.CallOption) (*RebootServerResp, error) PauseServer(ctx context.Context, in *PauseServerReq, opts ...grpc.CallOption) (*PauseServerResp, error) - ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) + UnpauseServer(ctx context.Context, in *UnpauseServerReq, opts ...grpc.CallOption) (*UnpauseServerResp, error) RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error) ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error) MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error) + ShelveServer(ctx context.Context, in *ShelveServerReq, opts ...grpc.CallOption) (*ShelveServerResp, error) + UnshelveServer(ctx context.Context, in *UnshelveServerReq, opts ...grpc.CallOption) (*UnshelveServerResp, error) + ChangeAdministrativePassword(ctx context.Context, in *ChangeAdministrativePasswordReq, opts ...grpc.CallOption) (*ChangeAdministrativePasswordResp, error) + RescueServer(ctx context.Context, in *RescueServerReq, opts ...grpc.CallOption) (*RescueServerResp, error) + UnRescue(ctx context.Context, in *UnRescueServerReq, opts ...grpc.CallOption) (*UnRescueServerResp, error) + SuspendServer(ctx context.Context, in *SuspendServerReq, opts ...grpc.CallOption) (*SuspendServerResp, error) + AddSecurityGroupToServer(ctx context.Context, in *AddSecurityGroupToServerReq, opts ...grpc.CallOption) (*AddSecurityGroupToServerResp, error) + RemoveSecurityGroup(ctx context.Context, in *RemoveSecurityGroupReq, opts ...grpc.CallOption) (*RemoveSecurityGroupResp, error) + // 规格(Flavors) + ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) + CreateFlavor(ctx context.Context, in *CreateFlavorReq, opts ...grpc.CallOption) (*CreateFlavorResp, error) + DeleteFlavor(ctx context.Context, in *DeleteFlavorReq, opts ...grpc.CallOption) (*DeleteFlavorResp, error) // network ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) UpdateNetwork(ctx context.Context, in *UpdateNetworkReq, opts ...grpc.CallOption) (*UpdateNetworkResp, error) @@ -90,7 +158,60 @@ type OpenstackClient interface { ListNetworks(ctx context.Context, in *ListNetworksReq, opts ...grpc.CallOption) (*ListNetworksResp, error) CreateNetwork(ctx context.Context, in *CreateNetworkReq, opts ...grpc.CallOption) (*CreateNetworkResp, error) BulkCreateNetworks(ctx context.Context, in *BulkCreateNetworksReq, opts ...grpc.CallOption) (*BulkCreateNetworksResp, error) + // 子网 CreateSubnet(ctx context.Context, in *CreateSubnetReq, opts ...grpc.CallOption) (*CreateSubnetResp, error) + ListSubnets(ctx context.Context, in *ListSubnetsReq, opts ...grpc.CallOption) (*ListSubnetsResp, error) + DeleteSubnet(ctx context.Context, in *DeleteSubnetReq, opts ...grpc.CallOption) (*DeleteSubnetResp, error) + UpdateSubnet(ctx context.Context, in *UpdateSubnetReq, opts ...grpc.CallOption) (*UpdateSubnetResp, error) + // 网段 + CreateNetworkSegmentRange(ctx context.Context, in *CreateNetworkSegmentRangeReq, opts ...grpc.CallOption) (*CreateNetworkSegmentRangeResp, error) + ListNetworkSegmentRanges(ctx context.Context, in *ListNetworkSegmentRangesReq, opts ...grpc.CallOption) (*ListNetworkSegmentRangesResp, error) + DeleteNetworkSegmentRanges(ctx context.Context, in *DeleteNetworkSegmentRangesReq, opts ...grpc.CallOption) (*DeleteNetworkSegmentRangesResp, error) + UpdateNetworkSegmentRanges(ctx context.Context, in *UpdateNetworkSegmentRangesReq, opts ...grpc.CallOption) (*UpdateNetworkSegmentRangesResp, error) + ShowNetworkSegmentRangeDetails(ctx context.Context, in *ShowNetworkSegmentRangeDetailsReq, opts ...grpc.CallOption) (*ShowNetworkSegmentRangeDetailsResp, error) + // 端口 + CreatePort(ctx context.Context, in *CreatePortReq, opts ...grpc.CallOption) (*CreatePortResp, error) + ListPorts(ctx context.Context, in *ListPortsReq, opts ...grpc.CallOption) (*ListPortsResp, error) + DeletePort(ctx context.Context, in *DeletePortReq, opts ...grpc.CallOption) (*DeletePortResp, error) + UpdatePort(ctx context.Context, in *UpdatePortReq, opts ...grpc.CallOption) (*UpdatePortResp, error) + ShowPortDetails(ctx context.Context, in *ShowPortDetailsReq, opts ...grpc.CallOption) (*ShowPortDetailsResp, error) + // 路由 + CreateRouter(ctx context.Context, in *CreateRouterReq, opts ...grpc.CallOption) (*CreateRouterResp, error) + ListRouters(ctx context.Context, in *ListRoutersReq, opts ...grpc.CallOption) (*ListRoutersResp, error) + ShowRouterDetails(ctx context.Context, in *ShowRouterDetailsReq, opts ...grpc.CallOption) (*ShowRouterDetailsResp, error) + UpdateRouter(ctx context.Context, in *UpdateRouterReq, opts ...grpc.CallOption) (*UpdateRouterResp, error) + DeleteRouter(ctx context.Context, in *DeleteRouterReq, opts ...grpc.CallOption) (*DeleteRouterResp, error) + // 浮动IP + ListFloatingIPs(ctx context.Context, in *ListFloatingIPsReq, opts ...grpc.CallOption) (*ListFloatingIPsResp, error) + CreateFloatingIP(ctx context.Context, in *CreateFloatingIPReq, opts ...grpc.CallOption) (*CreateFloatingIPResp, error) + UpdateFloatingIP(ctx context.Context, in *UpdateFloatingIPReq, opts ...grpc.CallOption) (*UpdateFloatingIPResp, error) + DeleteFloatingIP(ctx context.Context, in *DeleteFloatingIPReq, opts ...grpc.CallOption) (*DeleteFloatingIPResp, error) + ShowFloatingIPDetails(ctx context.Context, in *ShowFloatingIPDetailsReq, opts ...grpc.CallOption) (*ShowFloatingIPDetailsResp, error) + // 防火墙 + ListFirewallGroups(ctx context.Context, in *ListFirewallGroupsReq, opts ...grpc.CallOption) (*ListFirewallGroupsResp, error) + DeleteFirewallGroup(ctx context.Context, in *DeleteFirewallGroupReq, opts ...grpc.CallOption) (*DeleteFirewallGroupResp, error) + CreateFirewallGroup(ctx context.Context, in *CreateFirewallGroupReq, opts ...grpc.CallOption) (*CreateFirewallGroupResp, error) + UpdateFirewallGroup(ctx context.Context, in *UpdateFirewallGroupReq, opts ...grpc.CallOption) (*UpdateFirewallGroupResp, error) + ShowFirewallGroupDetails(ctx context.Context, in *ShowFirewallGroupDetailsReq, opts ...grpc.CallOption) (*ShowFirewallGroupDetailsResp, error) + CreateFirewallPolicy(ctx context.Context, in *CreateFirewallPolicyReq, opts ...grpc.CallOption) (*CreateFirewallPolicyResp, error) + DeleteFirewallPolicy(ctx context.Context, in *DeleteFirewallPolicyReq, opts ...grpc.CallOption) (*DeleteFirewallPolicyResp, error) + ListFirewallPolicies(ctx context.Context, in *ListFirewallPoliciesReq, opts ...grpc.CallOption) (*ListFirewallPoliciesResp, error) + ShowFirewallPolicyDetails(ctx context.Context, in *ShowFirewallPolicyDetailsReq, opts ...grpc.CallOption) (*ShowFirewallPolicyDetailsResp, error) + CreateFirewallRule(ctx context.Context, in *CreateFirewallRuleReq, opts ...grpc.CallOption) (*CreateFirewallRuleResp, error) + DeleteFirewallRule(ctx context.Context, in *DeleteFirewallRuleReq, opts ...grpc.CallOption) (*DeleteFirewallRuleResp, error) + ListFirewallRules(ctx context.Context, in *ListFirewallRulesReq, opts ...grpc.CallOption) (*ListFirewallRulesResp, error) + ShowFirewallRuleDetails(ctx context.Context, in *ShowFirewallRuleDetailsReq, opts ...grpc.CallOption) (*ShowFirewallRuleDetailsResp, error) + // 安全组 + ListSecurityGroups(ctx context.Context, in *ListSecurityGroupsReq, opts ...grpc.CallOption) (*ListSecurityGroupsResp, error) + CreateSecurityGroup(ctx context.Context, in *CreateSecurityGroupReq, opts ...grpc.CallOption) (*CreateSecurityGroupResp, error) + DeleteSecurityGroup(ctx context.Context, in *DeleteSecurityGroupReq, opts ...grpc.CallOption) (*DeleteSecurityGroupResp, error) + UpdateSecurityGroup(ctx context.Context, in *UpdateSecurityGroupReq, opts ...grpc.CallOption) (*UpdateSecurityGroupResp, error) + ShowSecurityGroup(ctx context.Context, in *ShowSecurityGroupReq, opts ...grpc.CallOption) (*ShowSecurityGroupResp, error) + // 安全组规则 + ListSecurityGroupRules(ctx context.Context, in *ListSecurityGroupRulesReq, opts ...grpc.CallOption) (*ListSecurityGroupRulesResp, error) + CreateSecurityGroupRule(ctx context.Context, in *CreateSecurityGroupRuleReq, opts ...grpc.CallOption) (*CreateSecurityGroupRuleResp, error) + ShowSecurityGroupRule(ctx context.Context, in *ShowSecurityGroupRuleReq, opts ...grpc.CallOption) (*ShowSecurityGroupRuleResp, error) + DeleteSecurityGroupRule(ctx context.Context, in *DeleteSecurityGroupRuleReq, opts ...grpc.CallOption) (*DeleteSecurityGroupRuleResp, error) // Images from glance CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) ListImages(ctx context.Context, in *ListImagesReq, opts ...grpc.CallOption) (*ListImagesResp, error) @@ -229,9 +350,9 @@ func (c *openstackClient) PauseServer(ctx context.Context, in *PauseServerReq, o return out, nil } -func (c *openstackClient) ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) { - out := new(ListFlavorsDetailResp) - err := c.cc.Invoke(ctx, Openstack_ListFlavorsDetail_FullMethodName, in, out, opts...) +func (c *openstackClient) UnpauseServer(ctx context.Context, in *UnpauseServerReq, opts ...grpc.CallOption) (*UnpauseServerResp, error) { + out := new(UnpauseServerResp) + err := c.cc.Invoke(ctx, Openstack_UnpauseServer_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -265,6 +386,105 @@ func (c *openstackClient) MigrateServer(ctx context.Context, in *MigrateServerRe return out, nil } +func (c *openstackClient) ShelveServer(ctx context.Context, in *ShelveServerReq, opts ...grpc.CallOption) (*ShelveServerResp, error) { + out := new(ShelveServerResp) + err := c.cc.Invoke(ctx, Openstack_ShelveServer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UnshelveServer(ctx context.Context, in *UnshelveServerReq, opts ...grpc.CallOption) (*UnshelveServerResp, error) { + out := new(UnshelveServerResp) + err := c.cc.Invoke(ctx, Openstack_UnshelveServer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ChangeAdministrativePassword(ctx context.Context, in *ChangeAdministrativePasswordReq, opts ...grpc.CallOption) (*ChangeAdministrativePasswordResp, error) { + out := new(ChangeAdministrativePasswordResp) + err := c.cc.Invoke(ctx, Openstack_ChangeAdministrativePassword_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) RescueServer(ctx context.Context, in *RescueServerReq, opts ...grpc.CallOption) (*RescueServerResp, error) { + out := new(RescueServerResp) + err := c.cc.Invoke(ctx, Openstack_RescueServer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UnRescue(ctx context.Context, in *UnRescueServerReq, opts ...grpc.CallOption) (*UnRescueServerResp, error) { + out := new(UnRescueServerResp) + err := c.cc.Invoke(ctx, Openstack_UnRescue_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) SuspendServer(ctx context.Context, in *SuspendServerReq, opts ...grpc.CallOption) (*SuspendServerResp, error) { + out := new(SuspendServerResp) + err := c.cc.Invoke(ctx, Openstack_SuspendServer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) AddSecurityGroupToServer(ctx context.Context, in *AddSecurityGroupToServerReq, opts ...grpc.CallOption) (*AddSecurityGroupToServerResp, error) { + out := new(AddSecurityGroupToServerResp) + err := c.cc.Invoke(ctx, Openstack_AddSecurityGroupToServer_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) RemoveSecurityGroup(ctx context.Context, in *RemoveSecurityGroupReq, opts ...grpc.CallOption) (*RemoveSecurityGroupResp, error) { + out := new(RemoveSecurityGroupResp) + err := c.cc.Invoke(ctx, Openstack_RemoveSecurityGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) { + out := new(ListFlavorsDetailResp) + err := c.cc.Invoke(ctx, Openstack_ListFlavorsDetail_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateFlavor(ctx context.Context, in *CreateFlavorReq, opts ...grpc.CallOption) (*CreateFlavorResp, error) { + out := new(CreateFlavorResp) + err := c.cc.Invoke(ctx, Openstack_CreateFlavor_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteFlavor(ctx context.Context, in *DeleteFlavorReq, opts ...grpc.CallOption) (*DeleteFlavorResp, error) { + out := new(DeleteFlavorResp) + err := c.cc.Invoke(ctx, Openstack_DeleteFlavor_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *openstackClient) ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) { out := new(ShowNetworkDetailsResp) err := c.cc.Invoke(ctx, Openstack_ShowNetworkDetails_FullMethodName, in, out, opts...) @@ -328,6 +548,411 @@ func (c *openstackClient) CreateSubnet(ctx context.Context, in *CreateSubnetReq, return out, nil } +func (c *openstackClient) ListSubnets(ctx context.Context, in *ListSubnetsReq, opts ...grpc.CallOption) (*ListSubnetsResp, error) { + out := new(ListSubnetsResp) + err := c.cc.Invoke(ctx, Openstack_ListSubnets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteSubnet(ctx context.Context, in *DeleteSubnetReq, opts ...grpc.CallOption) (*DeleteSubnetResp, error) { + out := new(DeleteSubnetResp) + err := c.cc.Invoke(ctx, Openstack_DeleteSubnet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdateSubnet(ctx context.Context, in *UpdateSubnetReq, opts ...grpc.CallOption) (*UpdateSubnetResp, error) { + out := new(UpdateSubnetResp) + err := c.cc.Invoke(ctx, Openstack_UpdateSubnet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateNetworkSegmentRange(ctx context.Context, in *CreateNetworkSegmentRangeReq, opts ...grpc.CallOption) (*CreateNetworkSegmentRangeResp, error) { + out := new(CreateNetworkSegmentRangeResp) + err := c.cc.Invoke(ctx, Openstack_CreateNetworkSegmentRange_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListNetworkSegmentRanges(ctx context.Context, in *ListNetworkSegmentRangesReq, opts ...grpc.CallOption) (*ListNetworkSegmentRangesResp, error) { + out := new(ListNetworkSegmentRangesResp) + err := c.cc.Invoke(ctx, Openstack_ListNetworkSegmentRanges_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteNetworkSegmentRanges(ctx context.Context, in *DeleteNetworkSegmentRangesReq, opts ...grpc.CallOption) (*DeleteNetworkSegmentRangesResp, error) { + out := new(DeleteNetworkSegmentRangesResp) + err := c.cc.Invoke(ctx, Openstack_DeleteNetworkSegmentRanges_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdateNetworkSegmentRanges(ctx context.Context, in *UpdateNetworkSegmentRangesReq, opts ...grpc.CallOption) (*UpdateNetworkSegmentRangesResp, error) { + out := new(UpdateNetworkSegmentRangesResp) + err := c.cc.Invoke(ctx, Openstack_UpdateNetworkSegmentRanges_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowNetworkSegmentRangeDetails(ctx context.Context, in *ShowNetworkSegmentRangeDetailsReq, opts ...grpc.CallOption) (*ShowNetworkSegmentRangeDetailsResp, error) { + out := new(ShowNetworkSegmentRangeDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowNetworkSegmentRangeDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreatePort(ctx context.Context, in *CreatePortReq, opts ...grpc.CallOption) (*CreatePortResp, error) { + out := new(CreatePortResp) + err := c.cc.Invoke(ctx, Openstack_CreatePort_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListPorts(ctx context.Context, in *ListPortsReq, opts ...grpc.CallOption) (*ListPortsResp, error) { + out := new(ListPortsResp) + err := c.cc.Invoke(ctx, Openstack_ListPorts_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeletePort(ctx context.Context, in *DeletePortReq, opts ...grpc.CallOption) (*DeletePortResp, error) { + out := new(DeletePortResp) + err := c.cc.Invoke(ctx, Openstack_DeletePort_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdatePort(ctx context.Context, in *UpdatePortReq, opts ...grpc.CallOption) (*UpdatePortResp, error) { + out := new(UpdatePortResp) + err := c.cc.Invoke(ctx, Openstack_UpdatePort_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowPortDetails(ctx context.Context, in *ShowPortDetailsReq, opts ...grpc.CallOption) (*ShowPortDetailsResp, error) { + out := new(ShowPortDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowPortDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateRouter(ctx context.Context, in *CreateRouterReq, opts ...grpc.CallOption) (*CreateRouterResp, error) { + out := new(CreateRouterResp) + err := c.cc.Invoke(ctx, Openstack_CreateRouter_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListRouters(ctx context.Context, in *ListRoutersReq, opts ...grpc.CallOption) (*ListRoutersResp, error) { + out := new(ListRoutersResp) + err := c.cc.Invoke(ctx, Openstack_ListRouters_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowRouterDetails(ctx context.Context, in *ShowRouterDetailsReq, opts ...grpc.CallOption) (*ShowRouterDetailsResp, error) { + out := new(ShowRouterDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowRouterDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdateRouter(ctx context.Context, in *UpdateRouterReq, opts ...grpc.CallOption) (*UpdateRouterResp, error) { + out := new(UpdateRouterResp) + err := c.cc.Invoke(ctx, Openstack_UpdateRouter_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteRouter(ctx context.Context, in *DeleteRouterReq, opts ...grpc.CallOption) (*DeleteRouterResp, error) { + out := new(DeleteRouterResp) + err := c.cc.Invoke(ctx, Openstack_DeleteRouter_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListFloatingIPs(ctx context.Context, in *ListFloatingIPsReq, opts ...grpc.CallOption) (*ListFloatingIPsResp, error) { + out := new(ListFloatingIPsResp) + err := c.cc.Invoke(ctx, Openstack_ListFloatingIPs_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateFloatingIP(ctx context.Context, in *CreateFloatingIPReq, opts ...grpc.CallOption) (*CreateFloatingIPResp, error) { + out := new(CreateFloatingIPResp) + err := c.cc.Invoke(ctx, Openstack_CreateFloatingIP_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdateFloatingIP(ctx context.Context, in *UpdateFloatingIPReq, opts ...grpc.CallOption) (*UpdateFloatingIPResp, error) { + out := new(UpdateFloatingIPResp) + err := c.cc.Invoke(ctx, Openstack_UpdateFloatingIP_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteFloatingIP(ctx context.Context, in *DeleteFloatingIPReq, opts ...grpc.CallOption) (*DeleteFloatingIPResp, error) { + out := new(DeleteFloatingIPResp) + err := c.cc.Invoke(ctx, Openstack_DeleteFloatingIP_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowFloatingIPDetails(ctx context.Context, in *ShowFloatingIPDetailsReq, opts ...grpc.CallOption) (*ShowFloatingIPDetailsResp, error) { + out := new(ShowFloatingIPDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowFloatingIPDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListFirewallGroups(ctx context.Context, in *ListFirewallGroupsReq, opts ...grpc.CallOption) (*ListFirewallGroupsResp, error) { + out := new(ListFirewallGroupsResp) + err := c.cc.Invoke(ctx, Openstack_ListFirewallGroups_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteFirewallGroup(ctx context.Context, in *DeleteFirewallGroupReq, opts ...grpc.CallOption) (*DeleteFirewallGroupResp, error) { + out := new(DeleteFirewallGroupResp) + err := c.cc.Invoke(ctx, Openstack_DeleteFirewallGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateFirewallGroup(ctx context.Context, in *CreateFirewallGroupReq, opts ...grpc.CallOption) (*CreateFirewallGroupResp, error) { + out := new(CreateFirewallGroupResp) + err := c.cc.Invoke(ctx, Openstack_CreateFirewallGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdateFirewallGroup(ctx context.Context, in *UpdateFirewallGroupReq, opts ...grpc.CallOption) (*UpdateFirewallGroupResp, error) { + out := new(UpdateFirewallGroupResp) + err := c.cc.Invoke(ctx, Openstack_UpdateFirewallGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowFirewallGroupDetails(ctx context.Context, in *ShowFirewallGroupDetailsReq, opts ...grpc.CallOption) (*ShowFirewallGroupDetailsResp, error) { + out := new(ShowFirewallGroupDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowFirewallGroupDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateFirewallPolicy(ctx context.Context, in *CreateFirewallPolicyReq, opts ...grpc.CallOption) (*CreateFirewallPolicyResp, error) { + out := new(CreateFirewallPolicyResp) + err := c.cc.Invoke(ctx, Openstack_CreateFirewallPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteFirewallPolicy(ctx context.Context, in *DeleteFirewallPolicyReq, opts ...grpc.CallOption) (*DeleteFirewallPolicyResp, error) { + out := new(DeleteFirewallPolicyResp) + err := c.cc.Invoke(ctx, Openstack_DeleteFirewallPolicy_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListFirewallPolicies(ctx context.Context, in *ListFirewallPoliciesReq, opts ...grpc.CallOption) (*ListFirewallPoliciesResp, error) { + out := new(ListFirewallPoliciesResp) + err := c.cc.Invoke(ctx, Openstack_ListFirewallPolicies_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowFirewallPolicyDetails(ctx context.Context, in *ShowFirewallPolicyDetailsReq, opts ...grpc.CallOption) (*ShowFirewallPolicyDetailsResp, error) { + out := new(ShowFirewallPolicyDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowFirewallPolicyDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateFirewallRule(ctx context.Context, in *CreateFirewallRuleReq, opts ...grpc.CallOption) (*CreateFirewallRuleResp, error) { + out := new(CreateFirewallRuleResp) + err := c.cc.Invoke(ctx, Openstack_CreateFirewallRule_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteFirewallRule(ctx context.Context, in *DeleteFirewallRuleReq, opts ...grpc.CallOption) (*DeleteFirewallRuleResp, error) { + out := new(DeleteFirewallRuleResp) + err := c.cc.Invoke(ctx, Openstack_DeleteFirewallRule_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListFirewallRules(ctx context.Context, in *ListFirewallRulesReq, opts ...grpc.CallOption) (*ListFirewallRulesResp, error) { + out := new(ListFirewallRulesResp) + err := c.cc.Invoke(ctx, Openstack_ListFirewallRules_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowFirewallRuleDetails(ctx context.Context, in *ShowFirewallRuleDetailsReq, opts ...grpc.CallOption) (*ShowFirewallRuleDetailsResp, error) { + out := new(ShowFirewallRuleDetailsResp) + err := c.cc.Invoke(ctx, Openstack_ShowFirewallRuleDetails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListSecurityGroups(ctx context.Context, in *ListSecurityGroupsReq, opts ...grpc.CallOption) (*ListSecurityGroupsResp, error) { + out := new(ListSecurityGroupsResp) + err := c.cc.Invoke(ctx, Openstack_ListSecurityGroups_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateSecurityGroup(ctx context.Context, in *CreateSecurityGroupReq, opts ...grpc.CallOption) (*CreateSecurityGroupResp, error) { + out := new(CreateSecurityGroupResp) + err := c.cc.Invoke(ctx, Openstack_CreateSecurityGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteSecurityGroup(ctx context.Context, in *DeleteSecurityGroupReq, opts ...grpc.CallOption) (*DeleteSecurityGroupResp, error) { + out := new(DeleteSecurityGroupResp) + err := c.cc.Invoke(ctx, Openstack_DeleteSecurityGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) UpdateSecurityGroup(ctx context.Context, in *UpdateSecurityGroupReq, opts ...grpc.CallOption) (*UpdateSecurityGroupResp, error) { + out := new(UpdateSecurityGroupResp) + err := c.cc.Invoke(ctx, Openstack_UpdateSecurityGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowSecurityGroup(ctx context.Context, in *ShowSecurityGroupReq, opts ...grpc.CallOption) (*ShowSecurityGroupResp, error) { + out := new(ShowSecurityGroupResp) + err := c.cc.Invoke(ctx, Openstack_ShowSecurityGroup_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ListSecurityGroupRules(ctx context.Context, in *ListSecurityGroupRulesReq, opts ...grpc.CallOption) (*ListSecurityGroupRulesResp, error) { + out := new(ListSecurityGroupRulesResp) + err := c.cc.Invoke(ctx, Openstack_ListSecurityGroupRules_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) CreateSecurityGroupRule(ctx context.Context, in *CreateSecurityGroupRuleReq, opts ...grpc.CallOption) (*CreateSecurityGroupRuleResp, error) { + out := new(CreateSecurityGroupRuleResp) + err := c.cc.Invoke(ctx, Openstack_CreateSecurityGroupRule_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) ShowSecurityGroupRule(ctx context.Context, in *ShowSecurityGroupRuleReq, opts ...grpc.CallOption) (*ShowSecurityGroupRuleResp, error) { + out := new(ShowSecurityGroupRuleResp) + err := c.cc.Invoke(ctx, Openstack_ShowSecurityGroupRule_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openstackClient) DeleteSecurityGroupRule(ctx context.Context, in *DeleteSecurityGroupRuleReq, opts ...grpc.CallOption) (*DeleteSecurityGroupRuleResp, error) { + out := new(DeleteSecurityGroupRuleResp) + err := c.cc.Invoke(ctx, Openstack_DeleteSecurityGroupRule_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *openstackClient) CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) { out := new(CreateImageResp) err := c.cc.Invoke(ctx, Openstack_CreateImage_FullMethodName, in, out, opts...) @@ -499,10 +1124,22 @@ type OpenstackServer interface { StopServer(context.Context, *StopServerReq) (*StopServerResp, error) RebootServer(context.Context, *RebootServerReq) (*RebootServerResp, error) PauseServer(context.Context, *PauseServerReq) (*PauseServerResp, error) - ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error) + UnpauseServer(context.Context, *UnpauseServerReq) (*UnpauseServerResp, error) RebuildServer(context.Context, *RebuildServerReq) (*RebuildServerResp, error) ResizeServer(context.Context, *ResizeServerReq) (*ResizeServerResp, error) MigrateServer(context.Context, *MigrateServerReq) (*MigrateServerResp, error) + ShelveServer(context.Context, *ShelveServerReq) (*ShelveServerResp, error) + UnshelveServer(context.Context, *UnshelveServerReq) (*UnshelveServerResp, error) + ChangeAdministrativePassword(context.Context, *ChangeAdministrativePasswordReq) (*ChangeAdministrativePasswordResp, error) + RescueServer(context.Context, *RescueServerReq) (*RescueServerResp, error) + UnRescue(context.Context, *UnRescueServerReq) (*UnRescueServerResp, error) + SuspendServer(context.Context, *SuspendServerReq) (*SuspendServerResp, error) + AddSecurityGroupToServer(context.Context, *AddSecurityGroupToServerReq) (*AddSecurityGroupToServerResp, error) + RemoveSecurityGroup(context.Context, *RemoveSecurityGroupReq) (*RemoveSecurityGroupResp, error) + // 规格(Flavors) + ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error) + CreateFlavor(context.Context, *CreateFlavorReq) (*CreateFlavorResp, error) + DeleteFlavor(context.Context, *DeleteFlavorReq) (*DeleteFlavorResp, error) // network ShowNetworkDetails(context.Context, *ShowNetworkDetailsReq) (*ShowNetworkDetailsResp, error) UpdateNetwork(context.Context, *UpdateNetworkReq) (*UpdateNetworkResp, error) @@ -510,7 +1147,60 @@ type OpenstackServer interface { ListNetworks(context.Context, *ListNetworksReq) (*ListNetworksResp, error) CreateNetwork(context.Context, *CreateNetworkReq) (*CreateNetworkResp, error) BulkCreateNetworks(context.Context, *BulkCreateNetworksReq) (*BulkCreateNetworksResp, error) + // 子网 CreateSubnet(context.Context, *CreateSubnetReq) (*CreateSubnetResp, error) + ListSubnets(context.Context, *ListSubnetsReq) (*ListSubnetsResp, error) + DeleteSubnet(context.Context, *DeleteSubnetReq) (*DeleteSubnetResp, error) + UpdateSubnet(context.Context, *UpdateSubnetReq) (*UpdateSubnetResp, error) + // 网段 + CreateNetworkSegmentRange(context.Context, *CreateNetworkSegmentRangeReq) (*CreateNetworkSegmentRangeResp, error) + ListNetworkSegmentRanges(context.Context, *ListNetworkSegmentRangesReq) (*ListNetworkSegmentRangesResp, error) + DeleteNetworkSegmentRanges(context.Context, *DeleteNetworkSegmentRangesReq) (*DeleteNetworkSegmentRangesResp, error) + UpdateNetworkSegmentRanges(context.Context, *UpdateNetworkSegmentRangesReq) (*UpdateNetworkSegmentRangesResp, error) + ShowNetworkSegmentRangeDetails(context.Context, *ShowNetworkSegmentRangeDetailsReq) (*ShowNetworkSegmentRangeDetailsResp, error) + // 端口 + CreatePort(context.Context, *CreatePortReq) (*CreatePortResp, error) + ListPorts(context.Context, *ListPortsReq) (*ListPortsResp, error) + DeletePort(context.Context, *DeletePortReq) (*DeletePortResp, error) + UpdatePort(context.Context, *UpdatePortReq) (*UpdatePortResp, error) + ShowPortDetails(context.Context, *ShowPortDetailsReq) (*ShowPortDetailsResp, error) + // 路由 + CreateRouter(context.Context, *CreateRouterReq) (*CreateRouterResp, error) + ListRouters(context.Context, *ListRoutersReq) (*ListRoutersResp, error) + ShowRouterDetails(context.Context, *ShowRouterDetailsReq) (*ShowRouterDetailsResp, error) + UpdateRouter(context.Context, *UpdateRouterReq) (*UpdateRouterResp, error) + DeleteRouter(context.Context, *DeleteRouterReq) (*DeleteRouterResp, error) + // 浮动IP + ListFloatingIPs(context.Context, *ListFloatingIPsReq) (*ListFloatingIPsResp, error) + CreateFloatingIP(context.Context, *CreateFloatingIPReq) (*CreateFloatingIPResp, error) + UpdateFloatingIP(context.Context, *UpdateFloatingIPReq) (*UpdateFloatingIPResp, error) + DeleteFloatingIP(context.Context, *DeleteFloatingIPReq) (*DeleteFloatingIPResp, error) + ShowFloatingIPDetails(context.Context, *ShowFloatingIPDetailsReq) (*ShowFloatingIPDetailsResp, error) + // 防火墙 + ListFirewallGroups(context.Context, *ListFirewallGroupsReq) (*ListFirewallGroupsResp, error) + DeleteFirewallGroup(context.Context, *DeleteFirewallGroupReq) (*DeleteFirewallGroupResp, error) + CreateFirewallGroup(context.Context, *CreateFirewallGroupReq) (*CreateFirewallGroupResp, error) + UpdateFirewallGroup(context.Context, *UpdateFirewallGroupReq) (*UpdateFirewallGroupResp, error) + ShowFirewallGroupDetails(context.Context, *ShowFirewallGroupDetailsReq) (*ShowFirewallGroupDetailsResp, error) + CreateFirewallPolicy(context.Context, *CreateFirewallPolicyReq) (*CreateFirewallPolicyResp, error) + DeleteFirewallPolicy(context.Context, *DeleteFirewallPolicyReq) (*DeleteFirewallPolicyResp, error) + ListFirewallPolicies(context.Context, *ListFirewallPoliciesReq) (*ListFirewallPoliciesResp, error) + ShowFirewallPolicyDetails(context.Context, *ShowFirewallPolicyDetailsReq) (*ShowFirewallPolicyDetailsResp, error) + CreateFirewallRule(context.Context, *CreateFirewallRuleReq) (*CreateFirewallRuleResp, error) + DeleteFirewallRule(context.Context, *DeleteFirewallRuleReq) (*DeleteFirewallRuleResp, error) + ListFirewallRules(context.Context, *ListFirewallRulesReq) (*ListFirewallRulesResp, error) + ShowFirewallRuleDetails(context.Context, *ShowFirewallRuleDetailsReq) (*ShowFirewallRuleDetailsResp, error) + // 安全组 + ListSecurityGroups(context.Context, *ListSecurityGroupsReq) (*ListSecurityGroupsResp, error) + CreateSecurityGroup(context.Context, *CreateSecurityGroupReq) (*CreateSecurityGroupResp, error) + DeleteSecurityGroup(context.Context, *DeleteSecurityGroupReq) (*DeleteSecurityGroupResp, error) + UpdateSecurityGroup(context.Context, *UpdateSecurityGroupReq) (*UpdateSecurityGroupResp, error) + ShowSecurityGroup(context.Context, *ShowSecurityGroupReq) (*ShowSecurityGroupResp, error) + // 安全组规则 + ListSecurityGroupRules(context.Context, *ListSecurityGroupRulesReq) (*ListSecurityGroupRulesResp, error) + CreateSecurityGroupRule(context.Context, *CreateSecurityGroupRuleReq) (*CreateSecurityGroupRuleResp, error) + ShowSecurityGroupRule(context.Context, *ShowSecurityGroupRuleReq) (*ShowSecurityGroupRuleResp, error) + DeleteSecurityGroupRule(context.Context, *DeleteSecurityGroupRuleReq) (*DeleteSecurityGroupRuleResp, error) // Images from glance CreateImage(context.Context, *CreateImageReq) (*CreateImageResp, error) ListImages(context.Context, *ListImagesReq) (*ListImagesResp, error) @@ -574,8 +1264,8 @@ func (UnimplementedOpenstackServer) RebootServer(context.Context, *RebootServerR func (UnimplementedOpenstackServer) PauseServer(context.Context, *PauseServerReq) (*PauseServerResp, error) { return nil, status.Errorf(codes.Unimplemented, "method PauseServer not implemented") } -func (UnimplementedOpenstackServer) ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListFlavorsDetail not implemented") +func (UnimplementedOpenstackServer) UnpauseServer(context.Context, *UnpauseServerReq) (*UnpauseServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnpauseServer not implemented") } func (UnimplementedOpenstackServer) RebuildServer(context.Context, *RebuildServerReq) (*RebuildServerResp, error) { return nil, status.Errorf(codes.Unimplemented, "method RebuildServer not implemented") @@ -586,6 +1276,39 @@ func (UnimplementedOpenstackServer) ResizeServer(context.Context, *ResizeServerR func (UnimplementedOpenstackServer) MigrateServer(context.Context, *MigrateServerReq) (*MigrateServerResp, error) { return nil, status.Errorf(codes.Unimplemented, "method MigrateServer not implemented") } +func (UnimplementedOpenstackServer) ShelveServer(context.Context, *ShelveServerReq) (*ShelveServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShelveServer not implemented") +} +func (UnimplementedOpenstackServer) UnshelveServer(context.Context, *UnshelveServerReq) (*UnshelveServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnshelveServer not implemented") +} +func (UnimplementedOpenstackServer) ChangeAdministrativePassword(context.Context, *ChangeAdministrativePasswordReq) (*ChangeAdministrativePasswordResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ChangeAdministrativePassword not implemented") +} +func (UnimplementedOpenstackServer) RescueServer(context.Context, *RescueServerReq) (*RescueServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method RescueServer not implemented") +} +func (UnimplementedOpenstackServer) UnRescue(context.Context, *UnRescueServerReq) (*UnRescueServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnRescue not implemented") +} +func (UnimplementedOpenstackServer) SuspendServer(context.Context, *SuspendServerReq) (*SuspendServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SuspendServer not implemented") +} +func (UnimplementedOpenstackServer) AddSecurityGroupToServer(context.Context, *AddSecurityGroupToServerReq) (*AddSecurityGroupToServerResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddSecurityGroupToServer not implemented") +} +func (UnimplementedOpenstackServer) RemoveSecurityGroup(context.Context, *RemoveSecurityGroupReq) (*RemoveSecurityGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveSecurityGroup not implemented") +} +func (UnimplementedOpenstackServer) ListFlavorsDetail(context.Context, *ListFlavorsDetailReq) (*ListFlavorsDetailResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFlavorsDetail not implemented") +} +func (UnimplementedOpenstackServer) CreateFlavor(context.Context, *CreateFlavorReq) (*CreateFlavorResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFlavor not implemented") +} +func (UnimplementedOpenstackServer) DeleteFlavor(context.Context, *DeleteFlavorReq) (*DeleteFlavorResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFlavor not implemented") +} func (UnimplementedOpenstackServer) ShowNetworkDetails(context.Context, *ShowNetworkDetailsReq) (*ShowNetworkDetailsResp, error) { return nil, status.Errorf(codes.Unimplemented, "method ShowNetworkDetails not implemented") } @@ -607,6 +1330,141 @@ func (UnimplementedOpenstackServer) BulkCreateNetworks(context.Context, *BulkCre func (UnimplementedOpenstackServer) CreateSubnet(context.Context, *CreateSubnetReq) (*CreateSubnetResp, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateSubnet not implemented") } +func (UnimplementedOpenstackServer) ListSubnets(context.Context, *ListSubnetsReq) (*ListSubnetsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSubnets not implemented") +} +func (UnimplementedOpenstackServer) DeleteSubnet(context.Context, *DeleteSubnetReq) (*DeleteSubnetResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSubnet not implemented") +} +func (UnimplementedOpenstackServer) UpdateSubnet(context.Context, *UpdateSubnetReq) (*UpdateSubnetResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSubnet not implemented") +} +func (UnimplementedOpenstackServer) CreateNetworkSegmentRange(context.Context, *CreateNetworkSegmentRangeReq) (*CreateNetworkSegmentRangeResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNetworkSegmentRange not implemented") +} +func (UnimplementedOpenstackServer) ListNetworkSegmentRanges(context.Context, *ListNetworkSegmentRangesReq) (*ListNetworkSegmentRangesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNetworkSegmentRanges not implemented") +} +func (UnimplementedOpenstackServer) DeleteNetworkSegmentRanges(context.Context, *DeleteNetworkSegmentRangesReq) (*DeleteNetworkSegmentRangesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNetworkSegmentRanges not implemented") +} +func (UnimplementedOpenstackServer) UpdateNetworkSegmentRanges(context.Context, *UpdateNetworkSegmentRangesReq) (*UpdateNetworkSegmentRangesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNetworkSegmentRanges not implemented") +} +func (UnimplementedOpenstackServer) ShowNetworkSegmentRangeDetails(context.Context, *ShowNetworkSegmentRangeDetailsReq) (*ShowNetworkSegmentRangeDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowNetworkSegmentRangeDetails not implemented") +} +func (UnimplementedOpenstackServer) CreatePort(context.Context, *CreatePortReq) (*CreatePortResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePort not implemented") +} +func (UnimplementedOpenstackServer) ListPorts(context.Context, *ListPortsReq) (*ListPortsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPorts not implemented") +} +func (UnimplementedOpenstackServer) DeletePort(context.Context, *DeletePortReq) (*DeletePortResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePort not implemented") +} +func (UnimplementedOpenstackServer) UpdatePort(context.Context, *UpdatePortReq) (*UpdatePortResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePort not implemented") +} +func (UnimplementedOpenstackServer) ShowPortDetails(context.Context, *ShowPortDetailsReq) (*ShowPortDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowPortDetails not implemented") +} +func (UnimplementedOpenstackServer) CreateRouter(context.Context, *CreateRouterReq) (*CreateRouterResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRouter not implemented") +} +func (UnimplementedOpenstackServer) ListRouters(context.Context, *ListRoutersReq) (*ListRoutersResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListRouters not implemented") +} +func (UnimplementedOpenstackServer) ShowRouterDetails(context.Context, *ShowRouterDetailsReq) (*ShowRouterDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowRouterDetails not implemented") +} +func (UnimplementedOpenstackServer) UpdateRouter(context.Context, *UpdateRouterReq) (*UpdateRouterResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateRouter not implemented") +} +func (UnimplementedOpenstackServer) DeleteRouter(context.Context, *DeleteRouterReq) (*DeleteRouterResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteRouter not implemented") +} +func (UnimplementedOpenstackServer) ListFloatingIPs(context.Context, *ListFloatingIPsReq) (*ListFloatingIPsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFloatingIPs not implemented") +} +func (UnimplementedOpenstackServer) CreateFloatingIP(context.Context, *CreateFloatingIPReq) (*CreateFloatingIPResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFloatingIP not implemented") +} +func (UnimplementedOpenstackServer) UpdateFloatingIP(context.Context, *UpdateFloatingIPReq) (*UpdateFloatingIPResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFloatingIP not implemented") +} +func (UnimplementedOpenstackServer) DeleteFloatingIP(context.Context, *DeleteFloatingIPReq) (*DeleteFloatingIPResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFloatingIP not implemented") +} +func (UnimplementedOpenstackServer) ShowFloatingIPDetails(context.Context, *ShowFloatingIPDetailsReq) (*ShowFloatingIPDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowFloatingIPDetails not implemented") +} +func (UnimplementedOpenstackServer) ListFirewallGroups(context.Context, *ListFirewallGroupsReq) (*ListFirewallGroupsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFirewallGroups not implemented") +} +func (UnimplementedOpenstackServer) DeleteFirewallGroup(context.Context, *DeleteFirewallGroupReq) (*DeleteFirewallGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFirewallGroup not implemented") +} +func (UnimplementedOpenstackServer) CreateFirewallGroup(context.Context, *CreateFirewallGroupReq) (*CreateFirewallGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFirewallGroup not implemented") +} +func (UnimplementedOpenstackServer) UpdateFirewallGroup(context.Context, *UpdateFirewallGroupReq) (*UpdateFirewallGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFirewallGroup not implemented") +} +func (UnimplementedOpenstackServer) ShowFirewallGroupDetails(context.Context, *ShowFirewallGroupDetailsReq) (*ShowFirewallGroupDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowFirewallGroupDetails not implemented") +} +func (UnimplementedOpenstackServer) CreateFirewallPolicy(context.Context, *CreateFirewallPolicyReq) (*CreateFirewallPolicyResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFirewallPolicy not implemented") +} +func (UnimplementedOpenstackServer) DeleteFirewallPolicy(context.Context, *DeleteFirewallPolicyReq) (*DeleteFirewallPolicyResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFirewallPolicy not implemented") +} +func (UnimplementedOpenstackServer) ListFirewallPolicies(context.Context, *ListFirewallPoliciesReq) (*ListFirewallPoliciesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFirewallPolicies not implemented") +} +func (UnimplementedOpenstackServer) ShowFirewallPolicyDetails(context.Context, *ShowFirewallPolicyDetailsReq) (*ShowFirewallPolicyDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowFirewallPolicyDetails not implemented") +} +func (UnimplementedOpenstackServer) CreateFirewallRule(context.Context, *CreateFirewallRuleReq) (*CreateFirewallRuleResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFirewallRule not implemented") +} +func (UnimplementedOpenstackServer) DeleteFirewallRule(context.Context, *DeleteFirewallRuleReq) (*DeleteFirewallRuleResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFirewallRule not implemented") +} +func (UnimplementedOpenstackServer) ListFirewallRules(context.Context, *ListFirewallRulesReq) (*ListFirewallRulesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFirewallRules not implemented") +} +func (UnimplementedOpenstackServer) ShowFirewallRuleDetails(context.Context, *ShowFirewallRuleDetailsReq) (*ShowFirewallRuleDetailsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowFirewallRuleDetails not implemented") +} +func (UnimplementedOpenstackServer) ListSecurityGroups(context.Context, *ListSecurityGroupsReq) (*ListSecurityGroupsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSecurityGroups not implemented") +} +func (UnimplementedOpenstackServer) CreateSecurityGroup(context.Context, *CreateSecurityGroupReq) (*CreateSecurityGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSecurityGroup not implemented") +} +func (UnimplementedOpenstackServer) DeleteSecurityGroup(context.Context, *DeleteSecurityGroupReq) (*DeleteSecurityGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSecurityGroup not implemented") +} +func (UnimplementedOpenstackServer) UpdateSecurityGroup(context.Context, *UpdateSecurityGroupReq) (*UpdateSecurityGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSecurityGroup not implemented") +} +func (UnimplementedOpenstackServer) ShowSecurityGroup(context.Context, *ShowSecurityGroupReq) (*ShowSecurityGroupResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowSecurityGroup not implemented") +} +func (UnimplementedOpenstackServer) ListSecurityGroupRules(context.Context, *ListSecurityGroupRulesReq) (*ListSecurityGroupRulesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSecurityGroupRules not implemented") +} +func (UnimplementedOpenstackServer) CreateSecurityGroupRule(context.Context, *CreateSecurityGroupRuleReq) (*CreateSecurityGroupRuleResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSecurityGroupRule not implemented") +} +func (UnimplementedOpenstackServer) ShowSecurityGroupRule(context.Context, *ShowSecurityGroupRuleReq) (*ShowSecurityGroupRuleResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowSecurityGroupRule not implemented") +} +func (UnimplementedOpenstackServer) DeleteSecurityGroupRule(context.Context, *DeleteSecurityGroupRuleReq) (*DeleteSecurityGroupRuleResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSecurityGroupRule not implemented") +} func (UnimplementedOpenstackServer) CreateImage(context.Context, *CreateImageReq) (*CreateImageResp, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateImage not implemented") } @@ -887,20 +1745,20 @@ func _Openstack_PauseServer_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Openstack_ListFlavorsDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListFlavorsDetailReq) +func _Openstack_UnpauseServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnpauseServerReq) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(OpenstackServer).ListFlavorsDetail(ctx, in) + return srv.(OpenstackServer).UnpauseServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Openstack_ListFlavorsDetail_FullMethodName, + FullMethod: Openstack_UnpauseServer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenstackServer).ListFlavorsDetail(ctx, req.(*ListFlavorsDetailReq)) + return srv.(OpenstackServer).UnpauseServer(ctx, req.(*UnpauseServerReq)) } return interceptor(ctx, in, info, handler) } @@ -959,6 +1817,204 @@ func _Openstack_MigrateServer_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Openstack_ShelveServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShelveServerReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShelveServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShelveServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShelveServer(ctx, req.(*ShelveServerReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UnshelveServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnshelveServerReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UnshelveServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UnshelveServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UnshelveServer(ctx, req.(*UnshelveServerReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ChangeAdministrativePassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangeAdministrativePasswordReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ChangeAdministrativePassword(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ChangeAdministrativePassword_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ChangeAdministrativePassword(ctx, req.(*ChangeAdministrativePasswordReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_RescueServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RescueServerReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).RescueServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_RescueServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).RescueServer(ctx, req.(*RescueServerReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UnRescue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnRescueServerReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UnRescue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UnRescue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UnRescue(ctx, req.(*UnRescueServerReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_SuspendServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SuspendServerReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).SuspendServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_SuspendServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).SuspendServer(ctx, req.(*SuspendServerReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_AddSecurityGroupToServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddSecurityGroupToServerReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).AddSecurityGroupToServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_AddSecurityGroupToServer_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).AddSecurityGroupToServer(ctx, req.(*AddSecurityGroupToServerReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_RemoveSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveSecurityGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).RemoveSecurityGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_RemoveSecurityGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).RemoveSecurityGroup(ctx, req.(*RemoveSecurityGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListFlavorsDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFlavorsDetailReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListFlavorsDetail(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListFlavorsDetail_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListFlavorsDetail(ctx, req.(*ListFlavorsDetailReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateFlavor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFlavorReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateFlavor(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateFlavor_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateFlavor(ctx, req.(*CreateFlavorReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteFlavor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFlavorReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteFlavor(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteFlavor_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteFlavor(ctx, req.(*DeleteFlavorReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Openstack_ShowNetworkDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ShowNetworkDetailsReq) if err := dec(in); err != nil { @@ -1085,6 +2141,816 @@ func _Openstack_CreateSubnet_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Openstack_ListSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSubnetsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListSubnets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListSubnets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListSubnets(ctx, req.(*ListSubnetsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSubnetReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteSubnet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteSubnet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteSubnet(ctx, req.(*DeleteSubnetReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdateSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSubnetReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdateSubnet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdateSubnet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdateSubnet(ctx, req.(*UpdateSubnetReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateNetworkSegmentRange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNetworkSegmentRangeReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateNetworkSegmentRange(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateNetworkSegmentRange_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateNetworkSegmentRange(ctx, req.(*CreateNetworkSegmentRangeReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListNetworkSegmentRanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNetworkSegmentRangesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListNetworkSegmentRanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListNetworkSegmentRanges_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListNetworkSegmentRanges(ctx, req.(*ListNetworkSegmentRangesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteNetworkSegmentRanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNetworkSegmentRangesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteNetworkSegmentRanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteNetworkSegmentRanges_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteNetworkSegmentRanges(ctx, req.(*DeleteNetworkSegmentRangesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdateNetworkSegmentRanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNetworkSegmentRangesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdateNetworkSegmentRanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdateNetworkSegmentRanges_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdateNetworkSegmentRanges(ctx, req.(*UpdateNetworkSegmentRangesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowNetworkSegmentRangeDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowNetworkSegmentRangeDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowNetworkSegmentRangeDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowNetworkSegmentRangeDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowNetworkSegmentRangeDetails(ctx, req.(*ShowNetworkSegmentRangeDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreatePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePortReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreatePort(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreatePort_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreatePort(ctx, req.(*CreatePortReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPortsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListPorts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListPorts_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListPorts(ctx, req.(*ListPortsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeletePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePortReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeletePort(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeletePort_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeletePort(ctx, req.(*DeletePortReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdatePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePortReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdatePort(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdatePort_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdatePort(ctx, req.(*UpdatePortReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowPortDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowPortDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowPortDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowPortDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowPortDetails(ctx, req.(*ShowPortDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateRouter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateRouterReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateRouter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateRouter_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateRouter(ctx, req.(*CreateRouterReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListRouters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRoutersReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListRouters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListRouters_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListRouters(ctx, req.(*ListRoutersReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowRouterDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowRouterDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowRouterDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowRouterDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowRouterDetails(ctx, req.(*ShowRouterDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdateRouter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateRouterReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdateRouter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdateRouter_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdateRouter(ctx, req.(*UpdateRouterReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteRouter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRouterReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteRouter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteRouter_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteRouter(ctx, req.(*DeleteRouterReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListFloatingIPs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFloatingIPsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListFloatingIPs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListFloatingIPs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListFloatingIPs(ctx, req.(*ListFloatingIPsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateFloatingIP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFloatingIPReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateFloatingIP(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateFloatingIP_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateFloatingIP(ctx, req.(*CreateFloatingIPReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdateFloatingIP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFloatingIPReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdateFloatingIP(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdateFloatingIP_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdateFloatingIP(ctx, req.(*UpdateFloatingIPReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteFloatingIP_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFloatingIPReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteFloatingIP(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteFloatingIP_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteFloatingIP(ctx, req.(*DeleteFloatingIPReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowFloatingIPDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowFloatingIPDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowFloatingIPDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowFloatingIPDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowFloatingIPDetails(ctx, req.(*ShowFloatingIPDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListFirewallGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFirewallGroupsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListFirewallGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListFirewallGroups_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListFirewallGroups(ctx, req.(*ListFirewallGroupsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteFirewallGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFirewallGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteFirewallGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteFirewallGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteFirewallGroup(ctx, req.(*DeleteFirewallGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateFirewallGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFirewallGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateFirewallGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateFirewallGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateFirewallGroup(ctx, req.(*CreateFirewallGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdateFirewallGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFirewallGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdateFirewallGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdateFirewallGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdateFirewallGroup(ctx, req.(*UpdateFirewallGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowFirewallGroupDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowFirewallGroupDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowFirewallGroupDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowFirewallGroupDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowFirewallGroupDetails(ctx, req.(*ShowFirewallGroupDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateFirewallPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFirewallPolicyReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateFirewallPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateFirewallPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateFirewallPolicy(ctx, req.(*CreateFirewallPolicyReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteFirewallPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFirewallPolicyReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteFirewallPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteFirewallPolicy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteFirewallPolicy(ctx, req.(*DeleteFirewallPolicyReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListFirewallPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFirewallPoliciesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListFirewallPolicies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListFirewallPolicies_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListFirewallPolicies(ctx, req.(*ListFirewallPoliciesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowFirewallPolicyDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowFirewallPolicyDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowFirewallPolicyDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowFirewallPolicyDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowFirewallPolicyDetails(ctx, req.(*ShowFirewallPolicyDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateFirewallRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFirewallRuleReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateFirewallRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateFirewallRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateFirewallRule(ctx, req.(*CreateFirewallRuleReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteFirewallRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFirewallRuleReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteFirewallRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteFirewallRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteFirewallRule(ctx, req.(*DeleteFirewallRuleReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListFirewallRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFirewallRulesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListFirewallRules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListFirewallRules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListFirewallRules(ctx, req.(*ListFirewallRulesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowFirewallRuleDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowFirewallRuleDetailsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowFirewallRuleDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowFirewallRuleDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowFirewallRuleDetails(ctx, req.(*ShowFirewallRuleDetailsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListSecurityGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSecurityGroupsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListSecurityGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListSecurityGroups_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListSecurityGroups(ctx, req.(*ListSecurityGroupsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateSecurityGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateSecurityGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateSecurityGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateSecurityGroup(ctx, req.(*CreateSecurityGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSecurityGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteSecurityGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteSecurityGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteSecurityGroup(ctx, req.(*DeleteSecurityGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_UpdateSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSecurityGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).UpdateSecurityGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_UpdateSecurityGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).UpdateSecurityGroup(ctx, req.(*UpdateSecurityGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowSecurityGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowSecurityGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowSecurityGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowSecurityGroup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowSecurityGroup(ctx, req.(*ShowSecurityGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ListSecurityGroupRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSecurityGroupRulesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ListSecurityGroupRules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ListSecurityGroupRules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ListSecurityGroupRules(ctx, req.(*ListSecurityGroupRulesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_CreateSecurityGroupRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateSecurityGroupRuleReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).CreateSecurityGroupRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_CreateSecurityGroupRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).CreateSecurityGroupRule(ctx, req.(*CreateSecurityGroupRuleReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_ShowSecurityGroupRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowSecurityGroupRuleReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).ShowSecurityGroupRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_ShowSecurityGroupRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).ShowSecurityGroupRule(ctx, req.(*ShowSecurityGroupRuleReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openstack_DeleteSecurityGroupRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSecurityGroupRuleReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenstackServer).DeleteSecurityGroupRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Openstack_DeleteSecurityGroupRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenstackServer).DeleteSecurityGroupRule(ctx, req.(*DeleteSecurityGroupRuleReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Openstack_CreateImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateImageReq) if err := dec(in); err != nil { @@ -1447,8 +3313,8 @@ var Openstack_ServiceDesc = grpc.ServiceDesc{ Handler: _Openstack_PauseServer_Handler, }, { - MethodName: "ListFlavorsDetail", - Handler: _Openstack_ListFlavorsDetail_Handler, + MethodName: "UnpauseServer", + Handler: _Openstack_UnpauseServer_Handler, }, { MethodName: "RebuildServer", @@ -1462,6 +3328,50 @@ var Openstack_ServiceDesc = grpc.ServiceDesc{ MethodName: "MigrateServer", Handler: _Openstack_MigrateServer_Handler, }, + { + MethodName: "ShelveServer", + Handler: _Openstack_ShelveServer_Handler, + }, + { + MethodName: "UnshelveServer", + Handler: _Openstack_UnshelveServer_Handler, + }, + { + MethodName: "ChangeAdministrativePassword", + Handler: _Openstack_ChangeAdministrativePassword_Handler, + }, + { + MethodName: "RescueServer", + Handler: _Openstack_RescueServer_Handler, + }, + { + MethodName: "UnRescue", + Handler: _Openstack_UnRescue_Handler, + }, + { + MethodName: "SuspendServer", + Handler: _Openstack_SuspendServer_Handler, + }, + { + MethodName: "AddSecurityGroupToServer", + Handler: _Openstack_AddSecurityGroupToServer_Handler, + }, + { + MethodName: "removeSecurityGroup", + Handler: _Openstack_RemoveSecurityGroup_Handler, + }, + { + MethodName: "ListFlavorsDetail", + Handler: _Openstack_ListFlavorsDetail_Handler, + }, + { + MethodName: "CreateFlavor", + Handler: _Openstack_CreateFlavor_Handler, + }, + { + MethodName: "DeleteFlavor", + Handler: _Openstack_DeleteFlavor_Handler, + }, { MethodName: "ShowNetworkDetails", Handler: _Openstack_ShowNetworkDetails_Handler, @@ -1490,6 +3400,186 @@ var Openstack_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateSubnet", Handler: _Openstack_CreateSubnet_Handler, }, + { + MethodName: "ListSubnets", + Handler: _Openstack_ListSubnets_Handler, + }, + { + MethodName: "DeleteSubnet", + Handler: _Openstack_DeleteSubnet_Handler, + }, + { + MethodName: "UpdateSubnet", + Handler: _Openstack_UpdateSubnet_Handler, + }, + { + MethodName: "CreateNetworkSegmentRange", + Handler: _Openstack_CreateNetworkSegmentRange_Handler, + }, + { + MethodName: "ListNetworkSegmentRanges", + Handler: _Openstack_ListNetworkSegmentRanges_Handler, + }, + { + MethodName: "DeleteNetworkSegmentRanges", + Handler: _Openstack_DeleteNetworkSegmentRanges_Handler, + }, + { + MethodName: "UpdateNetworkSegmentRanges", + Handler: _Openstack_UpdateNetworkSegmentRanges_Handler, + }, + { + MethodName: "ShowNetworkSegmentRangeDetails", + Handler: _Openstack_ShowNetworkSegmentRangeDetails_Handler, + }, + { + MethodName: "CreatePort", + Handler: _Openstack_CreatePort_Handler, + }, + { + MethodName: "ListPorts", + Handler: _Openstack_ListPorts_Handler, + }, + { + MethodName: "DeletePort", + Handler: _Openstack_DeletePort_Handler, + }, + { + MethodName: "UpdatePort", + Handler: _Openstack_UpdatePort_Handler, + }, + { + MethodName: "ShowPortDetails", + Handler: _Openstack_ShowPortDetails_Handler, + }, + { + MethodName: "CreateRouter", + Handler: _Openstack_CreateRouter_Handler, + }, + { + MethodName: "ListRouters", + Handler: _Openstack_ListRouters_Handler, + }, + { + MethodName: "ShowRouterDetails", + Handler: _Openstack_ShowRouterDetails_Handler, + }, + { + MethodName: "UpdateRouter", + Handler: _Openstack_UpdateRouter_Handler, + }, + { + MethodName: "DeleteRouter", + Handler: _Openstack_DeleteRouter_Handler, + }, + { + MethodName: "ListFloatingIPs", + Handler: _Openstack_ListFloatingIPs_Handler, + }, + { + MethodName: "CreateFloatingIP", + Handler: _Openstack_CreateFloatingIP_Handler, + }, + { + MethodName: "UpdateFloatingIP", + Handler: _Openstack_UpdateFloatingIP_Handler, + }, + { + MethodName: "DeleteFloatingIP", + Handler: _Openstack_DeleteFloatingIP_Handler, + }, + { + MethodName: "ShowFloatingIPDetails", + Handler: _Openstack_ShowFloatingIPDetails_Handler, + }, + { + MethodName: "ListFirewallGroups", + Handler: _Openstack_ListFirewallGroups_Handler, + }, + { + MethodName: "DeleteFirewallGroup", + Handler: _Openstack_DeleteFirewallGroup_Handler, + }, + { + MethodName: "CreateFirewallGroup", + Handler: _Openstack_CreateFirewallGroup_Handler, + }, + { + MethodName: "UpdateFirewallGroup", + Handler: _Openstack_UpdateFirewallGroup_Handler, + }, + { + MethodName: "ShowFirewallGroupDetails", + Handler: _Openstack_ShowFirewallGroupDetails_Handler, + }, + { + MethodName: "CreateFirewallPolicy", + Handler: _Openstack_CreateFirewallPolicy_Handler, + }, + { + MethodName: "DeleteFirewallPolicy", + Handler: _Openstack_DeleteFirewallPolicy_Handler, + }, + { + MethodName: "ListFirewallPolicies", + Handler: _Openstack_ListFirewallPolicies_Handler, + }, + { + MethodName: "ShowFirewallPolicyDetails", + Handler: _Openstack_ShowFirewallPolicyDetails_Handler, + }, + { + MethodName: "CreateFirewallRule", + Handler: _Openstack_CreateFirewallRule_Handler, + }, + { + MethodName: "DeleteFirewallRule", + Handler: _Openstack_DeleteFirewallRule_Handler, + }, + { + MethodName: "ListFirewallRules", + Handler: _Openstack_ListFirewallRules_Handler, + }, + { + MethodName: "ShowFirewallRuleDetails", + Handler: _Openstack_ShowFirewallRuleDetails_Handler, + }, + { + MethodName: "ListSecurityGroups", + Handler: _Openstack_ListSecurityGroups_Handler, + }, + { + MethodName: "CreateSecurityGroup", + Handler: _Openstack_CreateSecurityGroup_Handler, + }, + { + MethodName: "DeleteSecurityGroup", + Handler: _Openstack_DeleteSecurityGroup_Handler, + }, + { + MethodName: "UpdateSecurityGroup", + Handler: _Openstack_UpdateSecurityGroup_Handler, + }, + { + MethodName: "ShowSecurityGroup", + Handler: _Openstack_ShowSecurityGroup_Handler, + }, + { + MethodName: "ListSecurityGroupRules", + Handler: _Openstack_ListSecurityGroupRules_Handler, + }, + { + MethodName: "CreateSecurityGroupRule", + Handler: _Openstack_CreateSecurityGroupRule_Handler, + }, + { + MethodName: "ShowSecurityGroupRule", + Handler: _Openstack_ShowSecurityGroupRule_Handler, + }, + { + MethodName: "DeleteSecurityGroupRule", + Handler: _Openstack_DeleteSecurityGroupRule_Handler, + }, { MethodName: "CreateImage", Handler: _Openstack_CreateImage_Handler, diff --git a/openstackclient/openstack.go b/openstackclient/openstack.go index 8d2fc12..3bfdb18 100644 --- a/openstackclient/openstack.go +++ b/openstackclient/openstack.go @@ -13,15 +13,50 @@ import ( ) type ( + AddSecurityGroupToServerReq = openstack.AddSecurityGroupToServerReq + AddSecurityGroupToServerReq_AddSecurityGroup = openstack.AddSecurityGroupToServerReq_AddSecurityGroup + AddSecurityGroupToServerResp = openstack.AddSecurityGroupToServerResp AllocationPools = openstack.AllocationPools BulkCreateNetworksReq = openstack.BulkCreateNetworksReq BulkCreateNetworksResp = openstack.BulkCreateNetworksResp + ChangeAdministrativePasswordReq = openstack.ChangeAdministrativePasswordReq + ChangeAdministrativePasswordReq_Changepassword = openstack.ChangeAdministrativePasswordReq_Changepassword + ChangeAdministrativePasswordResp = openstack.ChangeAdministrativePasswordResp + CreateFirewallGroupReq = openstack.CreateFirewallGroupReq + CreateFirewallGroupReq_FirewallGroup = openstack.CreateFirewallGroupReq_FirewallGroup + CreateFirewallGroupResp = openstack.CreateFirewallGroupResp + CreateFirewallGroupResp_FirewallGroup = openstack.CreateFirewallGroupResp_FirewallGroup + CreateFirewallPolicyReq = openstack.CreateFirewallPolicyReq + CreateFirewallPolicyReq_FirewallPolicy = openstack.CreateFirewallPolicyReq_FirewallPolicy + CreateFirewallPolicyResp = openstack.CreateFirewallPolicyResp + CreateFirewallPolicyResp_FirewallPolicy = openstack.CreateFirewallPolicyResp_FirewallPolicy + CreateFirewallRuleReq = openstack.CreateFirewallRuleReq + CreateFirewallRuleReq_FirewallRule = openstack.CreateFirewallRuleReq_FirewallRule + CreateFirewallRuleResp = openstack.CreateFirewallRuleResp + CreateFirewallRuleResp_FirewallRule = openstack.CreateFirewallRuleResp_FirewallRule + CreateFlavorReq = openstack.CreateFlavorReq + CreateFlavorReq_Flavor = openstack.CreateFlavorReq_Flavor + CreateFlavorResp = openstack.CreateFlavorResp + CreateFlavorResp_ExtraSpecs = openstack.CreateFlavorResp_ExtraSpecs + CreateFlavorResp_Flavor = openstack.CreateFlavorResp_Flavor + CreateFlavorResp_Links = openstack.CreateFlavorResp_Links + CreateFloatingIPReq = openstack.CreateFloatingIPReq + CreateFloatingIPReq_Floatingip = openstack.CreateFloatingIPReq_Floatingip + CreateFloatingIPResp = openstack.CreateFloatingIPResp + CreateFloatingIPResp_Floatingip = openstack.CreateFloatingIPResp_Floatingip + CreateFloatingIPResp_PortDetails = openstack.CreateFloatingIPResp_PortDetails + CreateFloatingIPResp_PortForwardings = openstack.CreateFloatingIPResp_PortForwardings CreateImageReq = openstack.CreateImageReq CreateImageResp = openstack.CreateImageResp CreateImageResp_Locations = openstack.CreateImageResp_Locations CreateImageResp_Tags = openstack.CreateImageResp_Tags CreateNetworkReq = openstack.CreateNetworkReq CreateNetworkResp = openstack.CreateNetworkResp + CreateNetworkSegmentRangeReq = openstack.CreateNetworkSegmentRangeReq + CreateNetworkSegmentRangeReq_NetworkSegmentRange = openstack.CreateNetworkSegmentRangeReq_NetworkSegmentRange + CreateNetworkSegmentRangeResp = openstack.CreateNetworkSegmentRangeResp + CreateNetworkSegmentRangeResp_NetworkSegmentRange = openstack.CreateNetworkSegmentRangeResp_NetworkSegmentRange + CreateNetworkSegmentRangeResp_Used = openstack.CreateNetworkSegmentRangeResp_Used CreateNodeReq = openstack.CreateNodeReq CreateNodeReq_DriverInfo = openstack.CreateNodeReq_DriverInfo CreateNodeReq_InstanceInfo = openstack.CreateNodeReq_InstanceInfo @@ -43,6 +78,35 @@ type ( CreateNodeResp_States = openstack.CreateNodeResp_States CreateNodeResp_TargetRaidConfig = openstack.CreateNodeResp_TargetRaidConfig CreateNodeResp_Volume = openstack.CreateNodeResp_Volume + CreatePortReq = openstack.CreatePortReq + CreatePortReq_AllowedAddressPairs = openstack.CreatePortReq_AllowedAddressPairs + CreatePortReq_Port = openstack.CreatePortReq_Port + CreatePortResp = openstack.CreatePortResp + CreatePortResp_AllowedAddressPairs = openstack.CreatePortResp_AllowedAddressPairs + CreatePortResp_DnsAssignment = openstack.CreatePortResp_DnsAssignment + CreatePortResp_ExtraDhcpOpts = openstack.CreatePortResp_ExtraDhcpOpts + CreatePortResp_FixedIps = openstack.CreatePortResp_FixedIps + CreatePortResp_Port = openstack.CreatePortResp_Port + CreateRouterReq = openstack.CreateRouterReq + CreateRouterReq_ExternalFixedIps = openstack.CreateRouterReq_ExternalFixedIps + CreateRouterReq_ExternalGatewayInfo = openstack.CreateRouterReq_ExternalGatewayInfo + CreateRouterReq_Router = openstack.CreateRouterReq_Router + CreateRouterResp = openstack.CreateRouterResp + CreateRouterResp_AvailabilityZoneHints = openstack.CreateRouterResp_AvailabilityZoneHints + CreateRouterResp_ConntrackHelpers = openstack.CreateRouterResp_ConntrackHelpers + CreateRouterResp_ExternalFixedIps = openstack.CreateRouterResp_ExternalFixedIps + CreateRouterResp_ExternalGatewayInfo = openstack.CreateRouterResp_ExternalGatewayInfo + CreateRouterResp_Router = openstack.CreateRouterResp_Router + CreateRouterResp_Routers = openstack.CreateRouterResp_Routers + CreateSecurityGroupReq = openstack.CreateSecurityGroupReq + CreateSecurityGroupReq_SecurityGroup = openstack.CreateSecurityGroupReq_SecurityGroup + CreateSecurityGroupResp = openstack.CreateSecurityGroupResp + CreateSecurityGroupResp_SecurityGroup = openstack.CreateSecurityGroupResp_SecurityGroup + CreateSecurityGroupResp_SecurityGroupRules = openstack.CreateSecurityGroupResp_SecurityGroupRules + CreateSecurityGroupRuleReq = openstack.CreateSecurityGroupRuleReq + CreateSecurityGroupRuleReq_SecurityGroupRule = openstack.CreateSecurityGroupRuleReq_SecurityGroupRule + CreateSecurityGroupRuleResp = openstack.CreateSecurityGroupRuleResp + CreateSecurityGroupRuleResp_SecurityGroupRule = openstack.CreateSecurityGroupRuleResp_SecurityGroupRule CreateServerReq = openstack.CreateServerReq CreateServerReq_BlockDeviceMappingV2 = openstack.CreateServerReq_BlockDeviceMappingV2 CreateServerReq_Metadata = openstack.CreateServerReq_Metadata @@ -71,14 +135,37 @@ type ( CreateVolumeTypeResp = openstack.CreateVolumeTypeResp CreateVolumeTypeResp_ExtraSpecs = openstack.CreateVolumeTypeResp_ExtraSpecs CreateVolumeTypeResp_VolumeType = openstack.CreateVolumeTypeResp_VolumeType + DeleteFirewallGroupReq = openstack.DeleteFirewallGroupReq + DeleteFirewallGroupResp = openstack.DeleteFirewallGroupResp + DeleteFirewallPolicyReq = openstack.DeleteFirewallPolicyReq + DeleteFirewallPolicyResp = openstack.DeleteFirewallPolicyResp + DeleteFirewallRuleReq = openstack.DeleteFirewallRuleReq + DeleteFirewallRuleResp = openstack.DeleteFirewallRuleResp + DeleteFlavorReq = openstack.DeleteFlavorReq + DeleteFlavorResp = openstack.DeleteFlavorResp + DeleteFloatingIPReq = openstack.DeleteFloatingIPReq + DeleteFloatingIPResp = openstack.DeleteFloatingIPResp DeleteImageReq = openstack.DeleteImageReq DeleteImageResp = openstack.DeleteImageResp DeleteNetworkReq = openstack.DeleteNetworkReq DeleteNetworkResp = openstack.DeleteNetworkResp + DeleteNetworkSegmentRangesReq = openstack.DeleteNetworkSegmentRangesReq + DeleteNetworkSegmentRangesResp = openstack.DeleteNetworkSegmentRangesResp DeleteNodeReq = openstack.DeleteNodeReq DeleteNodeResp = openstack.DeleteNodeResp + DeletePortReq = openstack.DeletePortReq + DeletePortResp = openstack.DeletePortResp + DeleteRouterReq = openstack.DeleteRouterReq + DeleteRouterResp = openstack.DeleteRouterResp + DeleteSecurityGroupReq = openstack.DeleteSecurityGroupReq + DeleteSecurityGroupResp = openstack.DeleteSecurityGroupResp + DeleteSecurityGroupRuleReq = openstack.DeleteSecurityGroupRuleReq + DeleteSecurityGroupRuleResp = openstack.DeleteSecurityGroupRuleResp + DeleteSecurityGroupRuleResp_SecurityGroupRule = openstack.DeleteSecurityGroupRuleResp_SecurityGroupRule DeleteServerReq = openstack.DeleteServerReq DeleteServerResp = openstack.DeleteServerResp + DeleteSubnetReq = openstack.DeleteSubnetReq + DeleteSubnetResp = openstack.DeleteSubnetResp DeleteVolumeReq = openstack.DeleteVolumeReq DeleteVolumeResp = openstack.DeleteVolumeResp DeleteVolumeTypeReq = openstack.DeleteVolumeTypeReq @@ -113,21 +200,62 @@ type ( GetVolumeLimitsResp_Absolute = openstack.GetVolumeLimitsResp_Absolute GetVolumeLimitsResp_Limits = openstack.GetVolumeLimitsResp_Limits GetVolumeLimitsResp_Rate = openstack.GetVolumeLimitsResp_Rate + ListFirewallGroupsReq = openstack.ListFirewallGroupsReq + ListFirewallGroupsResp = openstack.ListFirewallGroupsResp + ListFirewallGroupsResp_FirewallGroups = openstack.ListFirewallGroupsResp_FirewallGroups + ListFirewallPoliciesReq = openstack.ListFirewallPoliciesReq + ListFirewallPoliciesResp = openstack.ListFirewallPoliciesResp + ListFirewallPoliciesResp_FirewallPolicies = openstack.ListFirewallPoliciesResp_FirewallPolicies + ListFirewallRulesReq = openstack.ListFirewallRulesReq + ListFirewallRulesResp = openstack.ListFirewallRulesResp + ListFirewallRulesResp_FirewallRules = openstack.ListFirewallRulesResp_FirewallRules ListFlavorsDetailReq = openstack.ListFlavorsDetailReq ListFlavorsDetailResp = openstack.ListFlavorsDetailResp ListFlavorsDetailResp_ExtraSpecs = openstack.ListFlavorsDetailResp_ExtraSpecs ListFlavorsDetailResp_Flavor = openstack.ListFlavorsDetailResp_Flavor ListFlavorsDetailResp_Links = openstack.ListFlavorsDetailResp_Links + ListFloatingIPsReq = openstack.ListFloatingIPsReq + ListFloatingIPsResp = openstack.ListFloatingIPsResp + ListFloatingIPsResp_Floatingips = openstack.ListFloatingIPsResp_Floatingips + ListFloatingIPsResp_PortDetails = openstack.ListFloatingIPsResp_PortDetails + ListFloatingIPsResp_PortForwardings = openstack.ListFloatingIPsResp_PortForwardings ListImagesReq = openstack.ListImagesReq ListImagesResp = openstack.ListImagesResp ListImagesResp_Images = openstack.ListImagesResp_Images ListImagesResp_Tags = openstack.ListImagesResp_Tags + ListNetworkSegmentRangesReq = openstack.ListNetworkSegmentRangesReq + ListNetworkSegmentRangesResp = openstack.ListNetworkSegmentRangesResp + ListNetworkSegmentRangesResp_NetworkSegmentRanges = openstack.ListNetworkSegmentRangesResp_NetworkSegmentRanges + ListNetworkSegmentRangesResp_Used = openstack.ListNetworkSegmentRangesResp_Used ListNetworksReq = openstack.ListNetworksReq ListNetworksResp = openstack.ListNetworksResp ListNodesReq = openstack.ListNodesReq ListNodesResp = openstack.ListNodesResp ListNodesResp_Links = openstack.ListNodesResp_Links ListNodesResp_Nodes = openstack.ListNodesResp_Nodes + ListPortsReq = openstack.ListPortsReq + ListPortsResp = openstack.ListPortsResp + ListPortsResp_AllowedAddressPairs = openstack.ListPortsResp_AllowedAddressPairs + ListPortsResp_DnsAssignment = openstack.ListPortsResp_DnsAssignment + ListPortsResp_ExtraDhcpOpts = openstack.ListPortsResp_ExtraDhcpOpts + ListPortsResp_FixedIps = openstack.ListPortsResp_FixedIps + ListPortsResp_Ports = openstack.ListPortsResp_Ports + ListPortsResp_SecurityGroups = openstack.ListPortsResp_SecurityGroups + ListRoutersReq = openstack.ListRoutersReq + ListRoutersResp = openstack.ListRoutersResp + ListRoutersResp_AvailabilityZoneHints = openstack.ListRoutersResp_AvailabilityZoneHints + ListRoutersResp_ConntrackHelpers = openstack.ListRoutersResp_ConntrackHelpers + ListRoutersResp_ExternalFixedIps = openstack.ListRoutersResp_ExternalFixedIps + ListRoutersResp_ExternalGatewayInfo = openstack.ListRoutersResp_ExternalGatewayInfo + ListRoutersResp_Routers = openstack.ListRoutersResp_Routers + ListRoutersResp_Routes = openstack.ListRoutersResp_Routes + ListSecurityGroupRulesReq = openstack.ListSecurityGroupRulesReq + ListSecurityGroupRulesResp = openstack.ListSecurityGroupRulesResp + ListSecurityGroupRulesResp_SecurityGroupRules = openstack.ListSecurityGroupRulesResp_SecurityGroupRules + ListSecurityGroupsReq = openstack.ListSecurityGroupsReq + ListSecurityGroupsResp = openstack.ListSecurityGroupsResp + ListSecurityGroupsResp_SecurityGroupRules = openstack.ListSecurityGroupsResp_SecurityGroupRules + ListSecurityGroupsResp_SecurityGroups = openstack.ListSecurityGroupsResp_SecurityGroups ListServersDetailedReq = openstack.ListServersDetailedReq ListServersDetailedResp = openstack.ListServersDetailedResp ListServersDetailedResp_Addresses = openstack.ListServersDetailedResp_Addresses @@ -145,6 +273,10 @@ type ( ListServersResp_Links = openstack.ListServersResp_Links ListServersResp_Servers = openstack.ListServersResp_Servers ListServersResp_ServersLinks = openstack.ListServersResp_ServersLinks + ListSubnetsReq = openstack.ListSubnetsReq + ListSubnetsResp = openstack.ListSubnetsResp + ListSubnetsResp_AllocationPools = openstack.ListSubnetsResp_AllocationPools + ListSubnetsResp_Subnets = openstack.ListSubnetsResp_Subnets ListVolumeTypesReq = openstack.ListVolumeTypesReq ListVolumeTypesResp = openstack.ListVolumeTypesResp ListVolumeTypesResp_ExtraSpecs = openstack.ListVolumeTypesResp_ExtraSpecs @@ -186,13 +318,39 @@ type ( RebuildServerResp_Private = openstack.RebuildServerResp_Private RebuildServerResp_SecurityGroups = openstack.RebuildServerResp_SecurityGroups RebuildServerResp_Servers = openstack.RebuildServerResp_Servers + RemoveSecurityGroupReq = openstack.RemoveSecurityGroupReq + RemoveSecurityGroupReq_RemoveSecurityGroup = openstack.RemoveSecurityGroupReq_RemoveSecurityGroup + RemoveSecurityGroupResp = openstack.RemoveSecurityGroupResp + RescueServerReq = openstack.RescueServerReq + RescueServerReq_Rescue = openstack.RescueServerReq_Rescue + RescueServerResp = openstack.RescueServerResp ResizeServerReq = openstack.ResizeServerReq ResizeServerReq_Resize = openstack.ResizeServerReq_Resize ResizeServerResp = openstack.ResizeServerResp Server = openstack.Server ServerUpdate = openstack.ServerUpdate + ShelveServerReq = openstack.ShelveServerReq + ShelveServerResp = openstack.ShelveServerResp + ShowFirewallGroupDetailsReq = openstack.ShowFirewallGroupDetailsReq + ShowFirewallGroupDetailsResp = openstack.ShowFirewallGroupDetailsResp + ShowFirewallGroupDetailsResp_FirewallGroup = openstack.ShowFirewallGroupDetailsResp_FirewallGroup + ShowFirewallPolicyDetailsReq = openstack.ShowFirewallPolicyDetailsReq + ShowFirewallPolicyDetailsResp = openstack.ShowFirewallPolicyDetailsResp + ShowFirewallPolicyDetailsResp_FirewallPolicy = openstack.ShowFirewallPolicyDetailsResp_FirewallPolicy + ShowFirewallRuleDetailsReq = openstack.ShowFirewallRuleDetailsReq + ShowFirewallRuleDetailsResp = openstack.ShowFirewallRuleDetailsResp + ShowFirewallRuleDetailsResp_FirewallRule = openstack.ShowFirewallRuleDetailsResp_FirewallRule + ShowFloatingIPDetailsReq = openstack.ShowFloatingIPDetailsReq + ShowFloatingIPDetailsResp = openstack.ShowFloatingIPDetailsResp + ShowFloatingIPDetailsResp_Floatingip = openstack.ShowFloatingIPDetailsResp_Floatingip + ShowFloatingIPDetailsResp_PortDetails = openstack.ShowFloatingIPDetailsResp_PortDetails + ShowFloatingIPDetailsResp_PortForwardings = openstack.ShowFloatingIPDetailsResp_PortForwardings ShowNetworkDetailsReq = openstack.ShowNetworkDetailsReq ShowNetworkDetailsResp = openstack.ShowNetworkDetailsResp + ShowNetworkSegmentRangeDetailsReq = openstack.ShowNetworkSegmentRangeDetailsReq + ShowNetworkSegmentRangeDetailsResp = openstack.ShowNetworkSegmentRangeDetailsResp + ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange = openstack.ShowNetworkSegmentRangeDetailsResp_NetworkSegmentRange + ShowNetworkSegmentRangeDetailsResp_Used = openstack.ShowNetworkSegmentRangeDetailsResp_Used ShowNodeDetailsReq = openstack.ShowNodeDetailsReq ShowNodeDetailsReq_Fields = openstack.ShowNodeDetailsReq_Fields ShowNodeDetailsResp = openstack.ShowNodeDetailsResp @@ -212,15 +370,95 @@ type ( ShowNodeDetailsResp_TargetRaidConfig = openstack.ShowNodeDetailsResp_TargetRaidConfig ShowNodeDetailsResp_Traits = openstack.ShowNodeDetailsResp_Traits ShowNodeDetailsResp_Volume = openstack.ShowNodeDetailsResp_Volume + ShowPortDetailsReq = openstack.ShowPortDetailsReq + ShowPortDetailsResp = openstack.ShowPortDetailsResp + ShowPortDetailsResp_AllowedAddressPairs = openstack.ShowPortDetailsResp_AllowedAddressPairs + ShowPortDetailsResp_DnsAssignment = openstack.ShowPortDetailsResp_DnsAssignment + ShowPortDetailsResp_ExtraDhcpOpts = openstack.ShowPortDetailsResp_ExtraDhcpOpts + ShowPortDetailsResp_FixedIps = openstack.ShowPortDetailsResp_FixedIps + ShowPortDetailsResp_Port = openstack.ShowPortDetailsResp_Port + ShowPortDetailsResp_SecurityGroups = openstack.ShowPortDetailsResp_SecurityGroups + ShowRouterDetailsReq = openstack.ShowRouterDetailsReq + ShowRouterDetailsReq_ExternalFixedIps = openstack.ShowRouterDetailsReq_ExternalFixedIps + ShowRouterDetailsReq_ExternalGatewayInfo = openstack.ShowRouterDetailsReq_ExternalGatewayInfo + ShowRouterDetailsReq_Router = openstack.ShowRouterDetailsReq_Router + ShowRouterDetailsReq_Routes = openstack.ShowRouterDetailsReq_Routes + ShowRouterDetailsResp = openstack.ShowRouterDetailsResp + ShowRouterDetailsResp_AvailabilityZoneHints = openstack.ShowRouterDetailsResp_AvailabilityZoneHints + ShowRouterDetailsResp_ConntrackHelpers = openstack.ShowRouterDetailsResp_ConntrackHelpers + ShowRouterDetailsResp_ExternalFixedIps = openstack.ShowRouterDetailsResp_ExternalFixedIps + ShowRouterDetailsResp_ExternalGatewayInfo = openstack.ShowRouterDetailsResp_ExternalGatewayInfo + ShowRouterDetailsResp_Router = openstack.ShowRouterDetailsResp_Router + ShowRouterDetailsResp_Routes = openstack.ShowRouterDetailsResp_Routes + ShowSecurityGroupReq = openstack.ShowSecurityGroupReq + ShowSecurityGroupResp = openstack.ShowSecurityGroupResp + ShowSecurityGroupResp_SecurityGroup = openstack.ShowSecurityGroupResp_SecurityGroup + ShowSecurityGroupResp_SecurityGroupRules = openstack.ShowSecurityGroupResp_SecurityGroupRules + ShowSecurityGroupRuleReq = openstack.ShowSecurityGroupRuleReq + ShowSecurityGroupRuleResp = openstack.ShowSecurityGroupRuleResp StartServerReq = openstack.StartServerReq StartServerResp = openstack.StartServerResp StopServerReq = openstack.StopServerReq StopServerResp = openstack.StopServerResp Subnet = openstack.Subnet SubnetResp = openstack.SubnetResp + SuspendServerReq = openstack.SuspendServerReq + SuspendServerResp = openstack.SuspendServerResp Tags = openstack.Tags + UnRescueServerReq = openstack.UnRescueServerReq + UnRescueServerResp = openstack.UnRescueServerResp + UnpauseServerReq = openstack.UnpauseServerReq + UnpauseServerResp = openstack.UnpauseServerResp + UnshelveServerReq = openstack.UnshelveServerReq + UnshelveServerResp = openstack.UnshelveServerResp + UpdateFirewallGroupReq = openstack.UpdateFirewallGroupReq + UpdateFirewallGroupReq_FirewallGroup = openstack.UpdateFirewallGroupReq_FirewallGroup + UpdateFirewallGroupResp = openstack.UpdateFirewallGroupResp + UpdateFirewallGroupResp_FirewallGroup = openstack.UpdateFirewallGroupResp_FirewallGroup + UpdateFloatingIPReq = openstack.UpdateFloatingIPReq + UpdateFloatingIPReq_Floatingip = openstack.UpdateFloatingIPReq_Floatingip + UpdateFloatingIPResp = openstack.UpdateFloatingIPResp + UpdateFloatingIPResp_Floatingip = openstack.UpdateFloatingIPResp_Floatingip + UpdateFloatingIPResp_PortDetails = openstack.UpdateFloatingIPResp_PortDetails + UpdateFloatingIPResp_PortForwardings = openstack.UpdateFloatingIPResp_PortForwardings UpdateNetworkReq = openstack.UpdateNetworkReq UpdateNetworkResp = openstack.UpdateNetworkResp + UpdateNetworkSegmentRangesReq = openstack.UpdateNetworkSegmentRangesReq + UpdateNetworkSegmentRangesReq_NetworkSegmentRanges = openstack.UpdateNetworkSegmentRangesReq_NetworkSegmentRanges + UpdateNetworkSegmentRangesReq_Used = openstack.UpdateNetworkSegmentRangesReq_Used + UpdateNetworkSegmentRangesResp = openstack.UpdateNetworkSegmentRangesResp + UpdateNetworkSegmentRangesResp_NetworkSegmentRange = openstack.UpdateNetworkSegmentRangesResp_NetworkSegmentRange + UpdateNetworkSegmentRangesResp_Used = openstack.UpdateNetworkSegmentRangesResp_Used + UpdatePortReq = openstack.UpdatePortReq + UpdatePortReq_AllowedAddressPairs = openstack.UpdatePortReq_AllowedAddressPairs + UpdatePortReq_DnsAssignment = openstack.UpdatePortReq_DnsAssignment + UpdatePortReq_ExtraDhcpOpts = openstack.UpdatePortReq_ExtraDhcpOpts + UpdatePortReq_FixedIps = openstack.UpdatePortReq_FixedIps + UpdatePortReq_Port = openstack.UpdatePortReq_Port + UpdatePortResp = openstack.UpdatePortResp + UpdatePortResp_AllowedAddressPairs = openstack.UpdatePortResp_AllowedAddressPairs + UpdatePortResp_BindingProfile = openstack.UpdatePortResp_BindingProfile + UpdatePortResp_BindingVifDetails = openstack.UpdatePortResp_BindingVifDetails + UpdatePortResp_DnsAssignment = openstack.UpdatePortResp_DnsAssignment + UpdatePortResp_ExtraDhcpOpts = openstack.UpdatePortResp_ExtraDhcpOpts + UpdatePortResp_FixedIps = openstack.UpdatePortResp_FixedIps + UpdatePortResp_Port = openstack.UpdatePortResp_Port + UpdateRouterReq = openstack.UpdateRouterReq + UpdateRouterReq_ExternalFixedIps = openstack.UpdateRouterReq_ExternalFixedIps + UpdateRouterReq_ExternalGatewayInfo = openstack.UpdateRouterReq_ExternalGatewayInfo + UpdateRouterReq_Router = openstack.UpdateRouterReq_Router + UpdateRouterReq_Routes = openstack.UpdateRouterReq_Routes + UpdateRouterResp = openstack.UpdateRouterResp + UpdateRouterResp_AvailabilityZoneHints = openstack.UpdateRouterResp_AvailabilityZoneHints + UpdateRouterResp_ConntrackHelpers = openstack.UpdateRouterResp_ConntrackHelpers + UpdateRouterResp_ExternalFixedIps = openstack.UpdateRouterResp_ExternalFixedIps + UpdateRouterResp_ExternalGatewayInfo = openstack.UpdateRouterResp_ExternalGatewayInfo + UpdateRouterResp_Router = openstack.UpdateRouterResp_Router + UpdateRouterResp_Routes = openstack.UpdateRouterResp_Routes + UpdateSecurityGroupReq = openstack.UpdateSecurityGroupReq + UpdateSecurityGroupResp = openstack.UpdateSecurityGroupResp + UpdateSecurityGroupResp_SecurityGroup = openstack.UpdateSecurityGroupResp_SecurityGroup + UpdateSecurityGroupResp_SecurityGroupRules = openstack.UpdateSecurityGroupResp_SecurityGroupRules UpdateServerReq = openstack.UpdateServerReq UpdateServerResp = openstack.UpdateServerResp UpdateServerResp_Addresses = openstack.UpdateServerResp_Addresses @@ -233,6 +471,10 @@ type ( UpdateServerResp_Private = openstack.UpdateServerResp_Private UpdateServerResp_SecurityGroups = openstack.UpdateServerResp_SecurityGroups UpdateServerResp_Server = openstack.UpdateServerResp_Server + UpdateSubnetReq = openstack.UpdateSubnetReq + UpdateSubnetResp = openstack.UpdateSubnetResp + UpdateSubnetResp_AllocationPools = openstack.UpdateSubnetResp_AllocationPools + UpdateSubnetResp_Subnet = openstack.UpdateSubnetResp_Subnet UpdateVolumeReq = openstack.UpdateVolumeReq UpdateVolumeReq_Metadata = openstack.UpdateVolumeReq_Metadata UpdateVolumeReq_Volume = openstack.UpdateVolumeReq_Volume @@ -259,10 +501,22 @@ type ( StopServer(ctx context.Context, in *StopServerReq, opts ...grpc.CallOption) (*StopServerResp, error) RebootServer(ctx context.Context, in *RebootServerReq, opts ...grpc.CallOption) (*RebootServerResp, error) PauseServer(ctx context.Context, in *PauseServerReq, opts ...grpc.CallOption) (*PauseServerResp, error) - ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) + UnpauseServer(ctx context.Context, in *UnpauseServerReq, opts ...grpc.CallOption) (*UnpauseServerResp, error) RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error) ResizeServer(ctx context.Context, in *ResizeServerReq, opts ...grpc.CallOption) (*ResizeServerResp, error) MigrateServer(ctx context.Context, in *MigrateServerReq, opts ...grpc.CallOption) (*MigrateServerResp, error) + ShelveServer(ctx context.Context, in *ShelveServerReq, opts ...grpc.CallOption) (*ShelveServerResp, error) + UnshelveServer(ctx context.Context, in *UnshelveServerReq, opts ...grpc.CallOption) (*UnshelveServerResp, error) + ChangeAdministrativePassword(ctx context.Context, in *ChangeAdministrativePasswordReq, opts ...grpc.CallOption) (*ChangeAdministrativePasswordResp, error) + RescueServer(ctx context.Context, in *RescueServerReq, opts ...grpc.CallOption) (*RescueServerResp, error) + UnRescue(ctx context.Context, in *UnRescueServerReq, opts ...grpc.CallOption) (*UnRescueServerResp, error) + SuspendServer(ctx context.Context, in *SuspendServerReq, opts ...grpc.CallOption) (*SuspendServerResp, error) + AddSecurityGroupToServer(ctx context.Context, in *AddSecurityGroupToServerReq, opts ...grpc.CallOption) (*AddSecurityGroupToServerResp, error) + RemoveSecurityGroup(ctx context.Context, in *RemoveSecurityGroupReq, opts ...grpc.CallOption) (*RemoveSecurityGroupResp, error) + // 规格(Flavors) + ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) + CreateFlavor(ctx context.Context, in *CreateFlavorReq, opts ...grpc.CallOption) (*CreateFlavorResp, error) + DeleteFlavor(ctx context.Context, in *DeleteFlavorReq, opts ...grpc.CallOption) (*DeleteFlavorResp, error) // network ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) UpdateNetwork(ctx context.Context, in *UpdateNetworkReq, opts ...grpc.CallOption) (*UpdateNetworkResp, error) @@ -270,7 +524,60 @@ type ( ListNetworks(ctx context.Context, in *ListNetworksReq, opts ...grpc.CallOption) (*ListNetworksResp, error) CreateNetwork(ctx context.Context, in *CreateNetworkReq, opts ...grpc.CallOption) (*CreateNetworkResp, error) BulkCreateNetworks(ctx context.Context, in *BulkCreateNetworksReq, opts ...grpc.CallOption) (*BulkCreateNetworksResp, error) + // 子网 CreateSubnet(ctx context.Context, in *CreateSubnetReq, opts ...grpc.CallOption) (*CreateSubnetResp, error) + ListSubnets(ctx context.Context, in *ListSubnetsReq, opts ...grpc.CallOption) (*ListSubnetsResp, error) + DeleteSubnet(ctx context.Context, in *DeleteSubnetReq, opts ...grpc.CallOption) (*DeleteSubnetResp, error) + UpdateSubnet(ctx context.Context, in *UpdateSubnetReq, opts ...grpc.CallOption) (*UpdateSubnetResp, error) + // 网段 + CreateNetworkSegmentRange(ctx context.Context, in *CreateNetworkSegmentRangeReq, opts ...grpc.CallOption) (*CreateNetworkSegmentRangeResp, error) + ListNetworkSegmentRanges(ctx context.Context, in *ListNetworkSegmentRangesReq, opts ...grpc.CallOption) (*ListNetworkSegmentRangesResp, error) + DeleteNetworkSegmentRanges(ctx context.Context, in *DeleteNetworkSegmentRangesReq, opts ...grpc.CallOption) (*DeleteNetworkSegmentRangesResp, error) + UpdateNetworkSegmentRanges(ctx context.Context, in *UpdateNetworkSegmentRangesReq, opts ...grpc.CallOption) (*UpdateNetworkSegmentRangesResp, error) + ShowNetworkSegmentRangeDetails(ctx context.Context, in *ShowNetworkSegmentRangeDetailsReq, opts ...grpc.CallOption) (*ShowNetworkSegmentRangeDetailsResp, error) + // 端口 + CreatePort(ctx context.Context, in *CreatePortReq, opts ...grpc.CallOption) (*CreatePortResp, error) + ListPorts(ctx context.Context, in *ListPortsReq, opts ...grpc.CallOption) (*ListPortsResp, error) + DeletePort(ctx context.Context, in *DeletePortReq, opts ...grpc.CallOption) (*DeletePortResp, error) + UpdatePort(ctx context.Context, in *UpdatePortReq, opts ...grpc.CallOption) (*UpdatePortResp, error) + ShowPortDetails(ctx context.Context, in *ShowPortDetailsReq, opts ...grpc.CallOption) (*ShowPortDetailsResp, error) + // 路由 + CreateRouter(ctx context.Context, in *CreateRouterReq, opts ...grpc.CallOption) (*CreateRouterResp, error) + ListRouters(ctx context.Context, in *ListRoutersReq, opts ...grpc.CallOption) (*ListRoutersResp, error) + ShowRouterDetails(ctx context.Context, in *ShowRouterDetailsReq, opts ...grpc.CallOption) (*ShowRouterDetailsResp, error) + UpdateRouter(ctx context.Context, in *UpdateRouterReq, opts ...grpc.CallOption) (*UpdateRouterResp, error) + DeleteRouter(ctx context.Context, in *DeleteRouterReq, opts ...grpc.CallOption) (*DeleteRouterResp, error) + // 浮动IP + ListFloatingIPs(ctx context.Context, in *ListFloatingIPsReq, opts ...grpc.CallOption) (*ListFloatingIPsResp, error) + CreateFloatingIP(ctx context.Context, in *CreateFloatingIPReq, opts ...grpc.CallOption) (*CreateFloatingIPResp, error) + UpdateFloatingIP(ctx context.Context, in *UpdateFloatingIPReq, opts ...grpc.CallOption) (*UpdateFloatingIPResp, error) + DeleteFloatingIP(ctx context.Context, in *DeleteFloatingIPReq, opts ...grpc.CallOption) (*DeleteFloatingIPResp, error) + ShowFloatingIPDetails(ctx context.Context, in *ShowFloatingIPDetailsReq, opts ...grpc.CallOption) (*ShowFloatingIPDetailsResp, error) + // 防火墙 + ListFirewallGroups(ctx context.Context, in *ListFirewallGroupsReq, opts ...grpc.CallOption) (*ListFirewallGroupsResp, error) + DeleteFirewallGroup(ctx context.Context, in *DeleteFirewallGroupReq, opts ...grpc.CallOption) (*DeleteFirewallGroupResp, error) + CreateFirewallGroup(ctx context.Context, in *CreateFirewallGroupReq, opts ...grpc.CallOption) (*CreateFirewallGroupResp, error) + UpdateFirewallGroup(ctx context.Context, in *UpdateFirewallGroupReq, opts ...grpc.CallOption) (*UpdateFirewallGroupResp, error) + ShowFirewallGroupDetails(ctx context.Context, in *ShowFirewallGroupDetailsReq, opts ...grpc.CallOption) (*ShowFirewallGroupDetailsResp, error) + CreateFirewallPolicy(ctx context.Context, in *CreateFirewallPolicyReq, opts ...grpc.CallOption) (*CreateFirewallPolicyResp, error) + DeleteFirewallPolicy(ctx context.Context, in *DeleteFirewallPolicyReq, opts ...grpc.CallOption) (*DeleteFirewallPolicyResp, error) + ListFirewallPolicies(ctx context.Context, in *ListFirewallPoliciesReq, opts ...grpc.CallOption) (*ListFirewallPoliciesResp, error) + ShowFirewallPolicyDetails(ctx context.Context, in *ShowFirewallPolicyDetailsReq, opts ...grpc.CallOption) (*ShowFirewallPolicyDetailsResp, error) + CreateFirewallRule(ctx context.Context, in *CreateFirewallRuleReq, opts ...grpc.CallOption) (*CreateFirewallRuleResp, error) + DeleteFirewallRule(ctx context.Context, in *DeleteFirewallRuleReq, opts ...grpc.CallOption) (*DeleteFirewallRuleResp, error) + ListFirewallRules(ctx context.Context, in *ListFirewallRulesReq, opts ...grpc.CallOption) (*ListFirewallRulesResp, error) + ShowFirewallRuleDetails(ctx context.Context, in *ShowFirewallRuleDetailsReq, opts ...grpc.CallOption) (*ShowFirewallRuleDetailsResp, error) + // 安全组 + ListSecurityGroups(ctx context.Context, in *ListSecurityGroupsReq, opts ...grpc.CallOption) (*ListSecurityGroupsResp, error) + CreateSecurityGroup(ctx context.Context, in *CreateSecurityGroupReq, opts ...grpc.CallOption) (*CreateSecurityGroupResp, error) + DeleteSecurityGroup(ctx context.Context, in *DeleteSecurityGroupReq, opts ...grpc.CallOption) (*DeleteSecurityGroupResp, error) + UpdateSecurityGroup(ctx context.Context, in *UpdateSecurityGroupReq, opts ...grpc.CallOption) (*UpdateSecurityGroupResp, error) + ShowSecurityGroup(ctx context.Context, in *ShowSecurityGroupReq, opts ...grpc.CallOption) (*ShowSecurityGroupResp, error) + // 安全组规则 + ListSecurityGroupRules(ctx context.Context, in *ListSecurityGroupRulesReq, opts ...grpc.CallOption) (*ListSecurityGroupRulesResp, error) + CreateSecurityGroupRule(ctx context.Context, in *CreateSecurityGroupRuleReq, opts ...grpc.CallOption) (*CreateSecurityGroupRuleResp, error) + ShowSecurityGroupRule(ctx context.Context, in *ShowSecurityGroupRuleReq, opts ...grpc.CallOption) (*ShowSecurityGroupRuleResp, error) + DeleteSecurityGroupRule(ctx context.Context, in *DeleteSecurityGroupRuleReq, opts ...grpc.CallOption) (*DeleteSecurityGroupRuleResp, error) // Images from glance CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) ListImages(ctx context.Context, in *ListImagesReq, opts ...grpc.CallOption) (*ListImagesResp, error) @@ -366,9 +673,9 @@ func (m *defaultOpenstack) PauseServer(ctx context.Context, in *PauseServerReq, return client.PauseServer(ctx, in, opts...) } -func (m *defaultOpenstack) ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) { +func (m *defaultOpenstack) UnpauseServer(ctx context.Context, in *UnpauseServerReq, opts ...grpc.CallOption) (*UnpauseServerResp, error) { client := openstack.NewOpenstackClient(m.cli.Conn()) - return client.ListFlavorsDetail(ctx, in, opts...) + return client.UnpauseServer(ctx, in, opts...) } func (m *defaultOpenstack) RebuildServer(ctx context.Context, in *RebuildServerReq, opts ...grpc.CallOption) (*RebuildServerResp, error) { @@ -386,6 +693,62 @@ func (m *defaultOpenstack) MigrateServer(ctx context.Context, in *MigrateServerR return client.MigrateServer(ctx, in, opts...) } +func (m *defaultOpenstack) ShelveServer(ctx context.Context, in *ShelveServerReq, opts ...grpc.CallOption) (*ShelveServerResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShelveServer(ctx, in, opts...) +} + +func (m *defaultOpenstack) UnshelveServer(ctx context.Context, in *UnshelveServerReq, opts ...grpc.CallOption) (*UnshelveServerResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UnshelveServer(ctx, in, opts...) +} + +func (m *defaultOpenstack) ChangeAdministrativePassword(ctx context.Context, in *ChangeAdministrativePasswordReq, opts ...grpc.CallOption) (*ChangeAdministrativePasswordResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ChangeAdministrativePassword(ctx, in, opts...) +} + +func (m *defaultOpenstack) RescueServer(ctx context.Context, in *RescueServerReq, opts ...grpc.CallOption) (*RescueServerResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.RescueServer(ctx, in, opts...) +} + +func (m *defaultOpenstack) UnRescue(ctx context.Context, in *UnRescueServerReq, opts ...grpc.CallOption) (*UnRescueServerResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UnRescue(ctx, in, opts...) +} + +func (m *defaultOpenstack) SuspendServer(ctx context.Context, in *SuspendServerReq, opts ...grpc.CallOption) (*SuspendServerResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.SuspendServer(ctx, in, opts...) +} + +func (m *defaultOpenstack) AddSecurityGroupToServer(ctx context.Context, in *AddSecurityGroupToServerReq, opts ...grpc.CallOption) (*AddSecurityGroupToServerResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.AddSecurityGroupToServer(ctx, in, opts...) +} + +func (m *defaultOpenstack) RemoveSecurityGroup(ctx context.Context, in *RemoveSecurityGroupReq, opts ...grpc.CallOption) (*RemoveSecurityGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.RemoveSecurityGroup(ctx, in, opts...) +} + +// 规格(Flavors) +func (m *defaultOpenstack) ListFlavorsDetail(ctx context.Context, in *ListFlavorsDetailReq, opts ...grpc.CallOption) (*ListFlavorsDetailResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListFlavorsDetail(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateFlavor(ctx context.Context, in *CreateFlavorReq, opts ...grpc.CallOption) (*CreateFlavorResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateFlavor(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteFlavor(ctx context.Context, in *DeleteFlavorReq, opts ...grpc.CallOption) (*DeleteFlavorResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteFlavor(ctx, in, opts...) +} + // network func (m *defaultOpenstack) ShowNetworkDetails(ctx context.Context, in *ShowNetworkDetailsReq, opts ...grpc.CallOption) (*ShowNetworkDetailsResp, error) { client := openstack.NewOpenstackClient(m.cli.Conn()) @@ -417,11 +780,244 @@ func (m *defaultOpenstack) BulkCreateNetworks(ctx context.Context, in *BulkCreat return client.BulkCreateNetworks(ctx, in, opts...) } +// 子网 func (m *defaultOpenstack) CreateSubnet(ctx context.Context, in *CreateSubnetReq, opts ...grpc.CallOption) (*CreateSubnetResp, error) { client := openstack.NewOpenstackClient(m.cli.Conn()) return client.CreateSubnet(ctx, in, opts...) } +func (m *defaultOpenstack) ListSubnets(ctx context.Context, in *ListSubnetsReq, opts ...grpc.CallOption) (*ListSubnetsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListSubnets(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteSubnet(ctx context.Context, in *DeleteSubnetReq, opts ...grpc.CallOption) (*DeleteSubnetResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteSubnet(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdateSubnet(ctx context.Context, in *UpdateSubnetReq, opts ...grpc.CallOption) (*UpdateSubnetResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdateSubnet(ctx, in, opts...) +} + +// 网段 +func (m *defaultOpenstack) CreateNetworkSegmentRange(ctx context.Context, in *CreateNetworkSegmentRangeReq, opts ...grpc.CallOption) (*CreateNetworkSegmentRangeResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateNetworkSegmentRange(ctx, in, opts...) +} + +func (m *defaultOpenstack) ListNetworkSegmentRanges(ctx context.Context, in *ListNetworkSegmentRangesReq, opts ...grpc.CallOption) (*ListNetworkSegmentRangesResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListNetworkSegmentRanges(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteNetworkSegmentRanges(ctx context.Context, in *DeleteNetworkSegmentRangesReq, opts ...grpc.CallOption) (*DeleteNetworkSegmentRangesResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteNetworkSegmentRanges(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdateNetworkSegmentRanges(ctx context.Context, in *UpdateNetworkSegmentRangesReq, opts ...grpc.CallOption) (*UpdateNetworkSegmentRangesResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdateNetworkSegmentRanges(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowNetworkSegmentRangeDetails(ctx context.Context, in *ShowNetworkSegmentRangeDetailsReq, opts ...grpc.CallOption) (*ShowNetworkSegmentRangeDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowNetworkSegmentRangeDetails(ctx, in, opts...) +} + +// 端口 +func (m *defaultOpenstack) CreatePort(ctx context.Context, in *CreatePortReq, opts ...grpc.CallOption) (*CreatePortResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreatePort(ctx, in, opts...) +} + +func (m *defaultOpenstack) ListPorts(ctx context.Context, in *ListPortsReq, opts ...grpc.CallOption) (*ListPortsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListPorts(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeletePort(ctx context.Context, in *DeletePortReq, opts ...grpc.CallOption) (*DeletePortResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeletePort(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdatePort(ctx context.Context, in *UpdatePortReq, opts ...grpc.CallOption) (*UpdatePortResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdatePort(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowPortDetails(ctx context.Context, in *ShowPortDetailsReq, opts ...grpc.CallOption) (*ShowPortDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowPortDetails(ctx, in, opts...) +} + +// 路由 +func (m *defaultOpenstack) CreateRouter(ctx context.Context, in *CreateRouterReq, opts ...grpc.CallOption) (*CreateRouterResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateRouter(ctx, in, opts...) +} + +func (m *defaultOpenstack) ListRouters(ctx context.Context, in *ListRoutersReq, opts ...grpc.CallOption) (*ListRoutersResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListRouters(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowRouterDetails(ctx context.Context, in *ShowRouterDetailsReq, opts ...grpc.CallOption) (*ShowRouterDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowRouterDetails(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdateRouter(ctx context.Context, in *UpdateRouterReq, opts ...grpc.CallOption) (*UpdateRouterResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdateRouter(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteRouter(ctx context.Context, in *DeleteRouterReq, opts ...grpc.CallOption) (*DeleteRouterResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteRouter(ctx, in, opts...) +} + +// 浮动IP +func (m *defaultOpenstack) ListFloatingIPs(ctx context.Context, in *ListFloatingIPsReq, opts ...grpc.CallOption) (*ListFloatingIPsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListFloatingIPs(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateFloatingIP(ctx context.Context, in *CreateFloatingIPReq, opts ...grpc.CallOption) (*CreateFloatingIPResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateFloatingIP(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdateFloatingIP(ctx context.Context, in *UpdateFloatingIPReq, opts ...grpc.CallOption) (*UpdateFloatingIPResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdateFloatingIP(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteFloatingIP(ctx context.Context, in *DeleteFloatingIPReq, opts ...grpc.CallOption) (*DeleteFloatingIPResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteFloatingIP(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowFloatingIPDetails(ctx context.Context, in *ShowFloatingIPDetailsReq, opts ...grpc.CallOption) (*ShowFloatingIPDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowFloatingIPDetails(ctx, in, opts...) +} + +// 防火墙 +func (m *defaultOpenstack) ListFirewallGroups(ctx context.Context, in *ListFirewallGroupsReq, opts ...grpc.CallOption) (*ListFirewallGroupsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListFirewallGroups(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteFirewallGroup(ctx context.Context, in *DeleteFirewallGroupReq, opts ...grpc.CallOption) (*DeleteFirewallGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteFirewallGroup(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateFirewallGroup(ctx context.Context, in *CreateFirewallGroupReq, opts ...grpc.CallOption) (*CreateFirewallGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateFirewallGroup(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdateFirewallGroup(ctx context.Context, in *UpdateFirewallGroupReq, opts ...grpc.CallOption) (*UpdateFirewallGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdateFirewallGroup(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowFirewallGroupDetails(ctx context.Context, in *ShowFirewallGroupDetailsReq, opts ...grpc.CallOption) (*ShowFirewallGroupDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowFirewallGroupDetails(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateFirewallPolicy(ctx context.Context, in *CreateFirewallPolicyReq, opts ...grpc.CallOption) (*CreateFirewallPolicyResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateFirewallPolicy(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteFirewallPolicy(ctx context.Context, in *DeleteFirewallPolicyReq, opts ...grpc.CallOption) (*DeleteFirewallPolicyResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteFirewallPolicy(ctx, in, opts...) +} + +func (m *defaultOpenstack) ListFirewallPolicies(ctx context.Context, in *ListFirewallPoliciesReq, opts ...grpc.CallOption) (*ListFirewallPoliciesResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListFirewallPolicies(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowFirewallPolicyDetails(ctx context.Context, in *ShowFirewallPolicyDetailsReq, opts ...grpc.CallOption) (*ShowFirewallPolicyDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowFirewallPolicyDetails(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateFirewallRule(ctx context.Context, in *CreateFirewallRuleReq, opts ...grpc.CallOption) (*CreateFirewallRuleResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateFirewallRule(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteFirewallRule(ctx context.Context, in *DeleteFirewallRuleReq, opts ...grpc.CallOption) (*DeleteFirewallRuleResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteFirewallRule(ctx, in, opts...) +} + +func (m *defaultOpenstack) ListFirewallRules(ctx context.Context, in *ListFirewallRulesReq, opts ...grpc.CallOption) (*ListFirewallRulesResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListFirewallRules(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowFirewallRuleDetails(ctx context.Context, in *ShowFirewallRuleDetailsReq, opts ...grpc.CallOption) (*ShowFirewallRuleDetailsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowFirewallRuleDetails(ctx, in, opts...) +} + +// 安全组 +func (m *defaultOpenstack) ListSecurityGroups(ctx context.Context, in *ListSecurityGroupsReq, opts ...grpc.CallOption) (*ListSecurityGroupsResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListSecurityGroups(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateSecurityGroup(ctx context.Context, in *CreateSecurityGroupReq, opts ...grpc.CallOption) (*CreateSecurityGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateSecurityGroup(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteSecurityGroup(ctx context.Context, in *DeleteSecurityGroupReq, opts ...grpc.CallOption) (*DeleteSecurityGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteSecurityGroup(ctx, in, opts...) +} + +func (m *defaultOpenstack) UpdateSecurityGroup(ctx context.Context, in *UpdateSecurityGroupReq, opts ...grpc.CallOption) (*UpdateSecurityGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.UpdateSecurityGroup(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowSecurityGroup(ctx context.Context, in *ShowSecurityGroupReq, opts ...grpc.CallOption) (*ShowSecurityGroupResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowSecurityGroup(ctx, in, opts...) +} + +// 安全组规则 +func (m *defaultOpenstack) ListSecurityGroupRules(ctx context.Context, in *ListSecurityGroupRulesReq, opts ...grpc.CallOption) (*ListSecurityGroupRulesResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ListSecurityGroupRules(ctx, in, opts...) +} + +func (m *defaultOpenstack) CreateSecurityGroupRule(ctx context.Context, in *CreateSecurityGroupRuleReq, opts ...grpc.CallOption) (*CreateSecurityGroupRuleResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.CreateSecurityGroupRule(ctx, in, opts...) +} + +func (m *defaultOpenstack) ShowSecurityGroupRule(ctx context.Context, in *ShowSecurityGroupRuleReq, opts ...grpc.CallOption) (*ShowSecurityGroupRuleResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.ShowSecurityGroupRule(ctx, in, opts...) +} + +func (m *defaultOpenstack) DeleteSecurityGroupRule(ctx context.Context, in *DeleteSecurityGroupRuleReq, opts ...grpc.CallOption) (*DeleteSecurityGroupRuleResp, error) { + client := openstack.NewOpenstackClient(m.cli.Conn()) + return client.DeleteSecurityGroupRule(ctx, in, opts...) +} + // Images from glance func (m *defaultOpenstack) CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) { client := openstack.NewOpenstackClient(m.cli.Conn()) diff --git a/pb/pcm-openstack.proto b/pb/pcm-openstack.proto index ba48c31..9de438f 100644 --- a/pb/pcm-openstack.proto +++ b/pb/pcm-openstack.proto @@ -82,52 +82,6 @@ message ListServersReq{ int32 limit = 1; // @gotags: copier:"Limit" int32 offset = 2; // @gotags: copier:"Offset" string platform = 3; - /*string access_ip_v4 = 1; // 按应使用的 IPv4 地址筛选服务器列表结果 以访问服务器 @gotags: copier:"accessIpV4" - string access_ip_v6 = 2; //按应使用的 IPv6 地址筛选服务器列表结果 以访问服务器。@gotags: copier:"Limit" - bool all_tenants = 3; //指定查询参数以列出所有实例 适用于所有项目 @gotags: copier:"Offset" - string auto_disk_config =4; //通过服务器的设置过滤服务器列表结果 @gotags: copier:"ModelArtsType" - string availability_zone =5;// 按服务器可用性区域筛选服务器列表结果 @gotags: copier:"ModelArtsType" - string changes_since =6 [json_name="changes-since"]; // 按服务器上次使用的日期和时间戳筛选响应 状态已更改 @gotags: copier:"ModelArtsType" - string config_drive =7; //按服务器的配置驱动器设置过滤服务器列表结果 @gotags: copier:"ConfigDrive" - string created_at =8; //按创建服务器时的日期和时间戳筛选服务器列表结果@gotags: copier:"CreatedAt" - bool deleted =9; //仅显示已删除的项目 @gotags: copier:"Deleted" - string description =10; //筛选服务器列表结果@gotags: copier:"Description" - string flavor =11; // 按特定实例筛选响应,作为 UUID@gotags: copier:"Flavor" - string host =12; // 按计算节点的主机名筛选服务器列表结果@gotags: copier:"Host" - string hostname =13; // 按服务器的主机名筛选服务器列表结果@gotags: copier:"Hostname" - string image =14; //按图像筛选响应,作为 UUID。@gotags: copier:"Image" - string ip =15; // 用于筛选结果的 IPv4 地址@gotags: copier:"Ip" - string ip6 =16; // 用于筛选结果的 IPv6 地址@gotags: copier:"Ip6" - string kernel_id =17; // 按内核映像的 UUID 筛选服务器列表结果 使用 AMI 时@gotags: copier:"KernelId" - string key_name =18; // 按密钥对名称筛选服务器列表结果@gotags: copier:"KeyName" - int64 launch_index =19; // 服务器已启动@gotags: copier:"LaunchIndex" - string launched_at =20; // 按启动实例时的日期和时间戳筛选服务器列表结果。@gotags: copier:"LaunchedAt" - int64 limit =21; // 请求项目的页面大小。@gotags: copier:"Limit" - string locked_by =22; //按锁定服务器的人员筛选服务器列表结果,可能的值 可以是或 。@gotags: copier:"LockedBy" - string marker =23; // 上次看到的项目的 ID。@gotags: copier:"Marker" - string name =24; // 按服务器名称(字符串形式)筛选响应@gotags: copier:"Name" - string node =25; // 按节点筛选服务器列表结果@gotags: copier:"Node" - int64 power_state =26; //按服务器电源状态筛选服务器列表结果@gotags: copier:"PowerState" - int64 progress =27; //按服务器的进度筛选服务器列表结果@gotags: copier:"Progress" - string project_id =28; // 按给定的项目 ID 筛选服务器列表@gotags: copier:"ProjectId" - string ramdisk_id =29; // 当出现时,按虚拟硬盘镜像的UUID过滤服务器列表结果 使用 AMI@gotags: copier:"RamdiskId" - string reservation_id =30; // 服务器多次创建调用返回的预留 ID@gotags: copier:"ReservationId" - string root_device_name =31; //按服务器的根设备名称筛选服务器列表结果@gotags: copier:"RootDeviceName" - string soft_deleted =32;// 按状态筛选服务器列表。此参数仅有效 指定筛选器参数时@gotags: copier:"SoftDeleted" - string sort_dir =33; //排序方向@gotags: copier:"SortDir" - string sort_key =34; //按服务器属性排序@gotags: copier:"SortKey" - string status =35; //按服务器状态(字符串形式)筛选响应@gotags: copier:"Status" - string task_state =36;//按任务状态筛选服务器列表结果@gotags: copier:"TaskState" - string terminated_at=37; //按实例终止时的日期和时间戳筛选服务器列表结果@gotags: copier:"TerminatedAt" - string user_id=38; //按给定的用户 ID 过滤服务器列表@gotags: copier:"UserId" - string uuid=39; //按服务器的 UUID 筛选服务器列表结果@gotags: copier:"Uuid" - string vm_state =40;// 按 VM 状态筛选服务器列表结果@gotags: copier:"VmState" - string not_tags =41 [json_name="not-tags"]; //用于筛选服务器列表的标记列表。@gotags: copier:"NotTags" - string not_tags_any = 42 [json_name="not-tags-any"]; // 用于筛选服务器列表的标记列表@gotags: copier:"NotTagsAny" - string tags = 43; //用于筛选服务器列表的标记列表@gotags: copier:"Tags" - string tags_any =44 [json_name="tags-any"];//用于筛选服务器列表的标记列表@gotags: copier:"TagsAny" - string changes_before =45 [json_name="changes-before"]; //按上次更改服务器时的日期和时间戳筛选响应。@gotags: copier:"ChangesBefore" - string locked =46; //指定查询参数以列出所有锁定或解锁的内容 实例。@gotags: copier:"Locked"*/ } message ListServersResp{ @@ -220,15 +174,6 @@ message ListServersDetailedResp { repeated string os_extended_volumes_volumes_attached = 35 [json_name="os-extended-volumes:volumes_attached"]; string OS_EXT_SRV_ATTR_Hypervisor_Hostname = 5 [json_name="OS-EXT-SRV-ATTR:hypervisor_hostname"]; - /* string OS_EXT_SRV_ATTR_kernel_id = 7 [json_name="OS-EXT-SRV-ATTR:kernel_id"]; - uint32 OS_EXT_SRV_ATTR_launch_index = 8 [json_name="OS-EXT-SRV-ATTR:launch_index"]; - string OS_EXT_SRV_ATTR_ramdisk_id = 9 [json_name="OS-EXT-SRV-ATTR:ramdisk_id"]; - string OS_EXT_SRV_ATTR_reservation_id = 10 [json_name="OS-EXT-SRV-ATTR:reservation_id"]; - string OS_EXT_SRV_ATTR_root_device_name = 11 [json_name="OS-EXT-SRV-ATTR:root_device_name"]; - string OS_EXT_SRV_ATTR_user_data = 12 [json_name="OS-EXT-SRV-ATTR:user_data"]; - string OS_EXT_STS_task_state = 14[json_name="OS-EXT-SRV-ATTR:task_state"]; - string OS_EXT_SRV_ATTR_hostname = 4 [json_name="OS-EXT-SRV-ATTR:hostname"];*/ - string accessIPv4 = 18; string accessIPv6 = 19; Addresses addresses = 20; @@ -697,6 +642,7 @@ message PauseServerResp{ message RebuildServerReq { string server_id = 1; Rebuild rebuild =2; + string platform = 3; message Rebuild { string imageRef =2; string accessIPv4 =3; @@ -843,7 +789,7 @@ message RebuildServerResp { message ResizeServerReq{ string server_id = 1; Resize resize =2; - + string platform = 3; message Resize { string flavorRef =1; string OS_DCF_diskConfig =2[json_name = "OS-DCF:diskConfig"]; @@ -861,6 +807,7 @@ message MigrateServerReq{ map action =2; string migrate_action =3; Migrate migrate =4; + string platform = 5; message Migrate { map host =2; } @@ -871,6 +818,133 @@ message MigrateServerResp{ string msg = 2; // @gotags: copier:"Msg" string error_msg =3;// @gotags: copier:"ErrorMsg" } + +message ChangeAdministrativePasswordReq{ + string server_id = 1; + Changepassword changePassword = 2; + string platform = 3; + message Changepassword { + string adminPass = 1; + } + +} + +message ChangeAdministrativePasswordResp{ + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message RescueServerReq{ + string server_id = 1; + Rescue rescue =2; + string platform = 3; + message Rescue{ + string adminPass =2; + string rescue_image_ref =3; + } +} + +message RescueServerResp{ + string adminPass =1; + int32 code = 2; // @gotags: copier:"Code" + string msg = 3; // @gotags: copier:"Msg" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} +message UnRescueServerReq{ + string server_id = 1; + map action =2; + string UnRescue_action =3; + string platform = 4; +} + +message UnRescueServerResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message UnpauseServerReq{ + string server_id =1; + map action =2; + string unpause_action =3; + string platform = 4; +} + +message UnpauseServerResp{ + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message ShelveServerReq { + string server_id =1; + map action =2; + string shelve_action =3; + string platform = 4; +} + +message ShelveServerResp { + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message UnshelveServerReq{ + string server_id =1; + map action =2; + string unshelve_action =3; + string platform = 4; +} + +message UnshelveServerResp{ + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message SuspendServerReq{ + string server_id =1; + map action =2; + string suspend_action =3; + string platform = 4; +} + +message SuspendServerResp{ + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message AddSecurityGroupToServerReq{ + string server_id =1; + AddSecurityGroup addSecurityGroup =2; + string platform = 3; + message AddSecurityGroup{ + string name =2; + } +} + +message AddSecurityGroupToServerResp{ + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message removeSecurityGroupReq{ + string server_id =1; + RemoveSecurityGroup removeSecurityGroup =2; + string platform = 3; + message RemoveSecurityGroup{ + string name =1; + } +} + +message removeSecurityGroupResp{ + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} /******************update server end*************************/ /******************ListFlavorsDetail start*************************/ @@ -916,9 +990,68 @@ message ListFlavorsDetailResp{ } } + message CreateFlavorReq{ + message Flavor { + string name = 1; + uint32 ram = 2; + uint32 vcpus = 3; + uint32 disk = 4; + string id = 5; + double rxtx_factor = 6; + string description = 7; + } + + Flavor flavor = 1; + string platform = 2; + } + +message CreateFlavorResp{ + message Links { + string href = 1; + string rel = 2; + } + + message Extra_specs { + } + + message Flavor { + bool OS_FLV_DISABLED_disabled = 1[json_name = "OS-FLV-DISABLED:disabled"]; + uint32 disk = 2; + uint32 OS_FLV_EXT_DATA_ephemeral = 3[json_name = "OS-FLV-EXT-DATA:ephemeral"]; + bool os_flavor_access_is_public = 4[json_name = "os-flavor-access:is_public"]; + string id = 5; + repeated Links links = 6; + string name = 7; + uint32 ram = 8; + uint32 swap = 9; + double rxtx_factor = 10; + uint32 vcpus = 11; + string description = 12; + Extra_specs extra_specs = 13; + } + + Flavor flavor = 1; + int32 code = 2; // @gotags: copier:"Code" + string msg = 3; // @gotags: copier:"Msg" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message DeleteFlavorReq { + string server_id =1; + string flavor_id =2; + string platform = 3; +} + +message DeleteFlavorResp { + int32 code = 1; // @gotags: copier:"Code" + string msg = 2; // @gotags: copier:"Msg" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + + /******************ListFlavorsDetail end*************************/ -/******************networks*************************/ + /******************Show network details Start*************************/ message ShowNetworkDetailsReq{ string network_id = 1; //网络ID // @gotags: copier:"NetworkId" @@ -1141,56 +1274,10 @@ message ListNetworksResp{ message CreateNetworkReq{ Network network = 1; // @gotags: copier:"Network" string platform = 2; - /* bool admin_state_up = 2; - string dns_domain = 3; - int64 mtu = 4; - string name = 5; - bool port_security_enabled = 6; - string project_id = 7; - string provider_network_type = 8 [json_name = "provider:network_type"]; - string provider_physical_network = 9 [json_name = "provider:physical_network"]; - int64 provider_segmentation_id = 10 [json_name = "provider:segmentation_id"]; - string qos_policy_id = 11; - bool router_external = 12 [json_name = "router:external"]; - repeated Segment segments = 13; - bool shared = 14; - string tenant_id = 15; - bool vlan_transparent = 16; - string description = 17; - bool is_default = 18; - repeated string availability_zone_hints = 19;*/ } message CreateNetworkResp{ Network network = 1; // @gotags: copier:"Network" - /* bool admin_state_up = 2; - repeated string availability_zone_hints = 3; - repeated string availability_zones = 4; - string created_at = 5; - string dns_domain = 6; - string id = 7; - string ipv4_address_scope = 8; - string ipv6_address_scope = 9; - bool l2_adjacency = 10; - int64 mtu = 11; - string name = 12; - bool port_security_enabled = 13; - string project_id = 14; - string provider_network_type = 15 [json_name = "provider:network_type"]; - string provider_physical_network = 16 [json_name = "provider:physical_network"]; - int64 provider_segmentation_id = 17 [json_name = "provider:segmentation_id"]; - string qos_policy_id = 18; - int64 revision_number = 19; - bool router_external = 20 [json_name = "router:external"]; - repeated Segment segments = 21; - bool shared = 22; - string status = 23; - repeated string subnets = 24; - string updated_at = 25; - bool vlan_transparent = 26; - string description = 27; - bool is_default = 28; - repeated string tags = 29;*/ int32 code = 30; // @gotags: copier:"Code" string msg = 31; // @gotags: copier:"Msg" string error_msg =32;// @gotags: copier:"ErrorMsg" @@ -1260,23 +1347,6 @@ message Allocation_pools { message BulkCreateNetworksReq{ repeated Network networks = 1; string platform = 2; -/* bool admin_state_up = 2; - string dns_domain = 3; - int64 mtu = 4; - string name = 5; - bool port_security_enabled = 6; - string project_id = 7; - string provider_network_type = 8 [json_name = "provider:network_type"]; - string provider_physical_network = 9 [json_name = "provider:physical_network"]; - int64 provider_segmentation_id = 10 [json_name = "provider:segmentation_id"]; - string qos_policy_id = 11; - bool router_external = 12 [json_name = "router:external"]; - repeated Segment segments = 13; - bool shared = 14; - string tenant_id = 15; - bool vlan_transparent = 16; - string description = 17; - repeated string availability_zone_hints = 18;*/ } message BulkCreateNetworksResp{ @@ -1316,6 +1386,1799 @@ message BulkCreateNetworksResp{ } /******************Bulk create networks End*************************/ +message ListSubnetsReq { + int32 limit = 1; // @gotags: copier:"Limit" + int32 offset = 2; // @gotags: copier:"Offset" + string platform = 3; +} + +message ListSubnetsResp { + message Allocation_pools { + string start = 1; + string end = 2; + } + + message Subnets { + string name = 1; + bool enable_dhcp = 2; + string network_id = 3; + string segment_id = 4; + string project_id = 5; + string tenant_id = 6; + repeated string dns_nameservers = 7; + bool dns_publish_fixed_ip = 8; + repeated Allocation_pools allocation_pools = 9; + repeated string host_routes = 10; + uint32 ip_version = 11; + string gateway_ip = 12; + string cidr = 13; + string id = 14; + int64 created_at = 15; + string description = 16; + string ipv6_address_mode = 17; + string ipv6_ra_mode = 18; + uint32 revision_number = 19; + repeated string service_types = 20; + string subnetpool_id = 21; + repeated string tags = 22; + int64 updated_at = 23; + } + repeated Subnets subnets = 1; +} + +message DeleteSubnetReq{ + string subnet_id = 1; // @gotags: copier:"subnet_id" + string platform = 2; +} + +message DeleteSubnetResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message UpdateSubnetReq{ + string subnet_id = 1; // @gotags: copier:"subnet_id" +} + +message UpdateSubnetResp{ + message Allocation_pools { + string start = 1; + string end = 2; + } + + message Subnet { + string name = 1; + bool enable_dhcp = 2; + string network_id = 3; + uint32 revision_number = 4; + string segment_id = 5; + string project_id = 6; + string tenant_id = 7; + string created_at = 8; + repeated string dns_nameservers = 9; + bool dns_publish_fixed_ip = 10; + repeated string service_types = 11; + repeated Allocation_pools allocation_pools = 12; + repeated string host_routes = 13; + uint32 ip_version = 14; + string gateway_ip = 15; + string cidr = 16; + string updated_at = 17; + string id = 18; + string description = 19; + repeated string tags = 20; + } + + Subnet subnet = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message CreateNetworkSegmentRangeReq{ + message Network_segment_range { + string name = 1; + string description = 2; + bool shared = 3; + string project_id = 4; + string network_type = 5; + string physical_network = 6; + uint32 minimum = 7; + uint32 maximum = 8; + } + + Network_segment_range network_segment_range = 1; +} + +message CreateNetworkSegmentRangeResp{ + message Used { + } + + message Network_segment_range { + string id = 1; + string name = 2; + string description = 3; + bool default = 4; + bool shared = 5; + string tenant_id = 6; + string project_id = 7; + string network_type = 8; + string physical_network = 9; + uint32 minimum = 10; + uint32 maximum = 11; + repeated uint32 available = 12; + Used used = 13; + int64 created_at = 14; + int64 updated_at = 15; + uint32 revision_number = 16; + repeated string tags = 17; + } + + Network_segment_range network_segment_range = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message ListNetworkSegmentRangesReq{ + int32 limit = 1; // @gotags: copier:"Limit" + int32 offset = 2; // @gotags: copier:"Offset" + string platform = 3; +} + +message ListNetworkSegmentRangesResp{ + message Used { + + } + + message Network_segment_ranges { + string id = 1; + string name = 2; + string description = 3; + bool default = 4; + bool shared = 5; + string tenant_id = 6; + string project_id = 7; + string network_type = 8; + string physical_network = 9; + uint32 minimum = 10; + uint32 maximum = 11; + repeated uint32 available = 12; + Used used = 13; + int64 created_at = 14; + int64 updated_at = 15; + uint32 revision_number = 16; + repeated string tags = 17; + } + + repeated Network_segment_ranges network_segment_ranges = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message DeleteNetworkSegmentRangesReq{ + string network_segment_range_id = 1; // @gotags: copier:"subnet_id" + string platform = 2; +} + +message DeleteNetworkSegmentRangesResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message UpdateNetworkSegmentRangesReq{ + string network_segment_range_id = 1; // @gotags: copier:"subnet_id" + Network_segment_ranges network_segment_ranges = 2; + message Network_segment_ranges { + string id = 1; + string name = 2; + string description = 3; + bool default = 4; + bool shared = 5; + string tenant_id = 6; + string project_id = 7; + string network_type = 8; + string physical_network = 9; + uint32 minimum = 10; + uint32 maximum = 11; + repeated uint32 available = 12; + Used used = 13; + int64 created_at = 14; + int64 updated_at = 15; + uint32 revision_number = 16; + repeated string tags = 17; + } + message Used { + + } +} + +message UpdateNetworkSegmentRangesResp{ + message Used { + + } + + message Network_segment_range { + string id = 1; + string name = 2; + string description = 3; + bool default = 4; + bool shared = 5; + string tenant_id = 6; + string project_id = 7; + string network_type = 8; + string physical_network = 9; + uint32 minimum = 10; + uint32 maximum = 11; + repeated uint32 available = 12; + Used used = 13; + int64 created_at = 14; + int64 updated_at = 15; + uint32 revision_number = 16; + repeated string tags = 17; + } + + Network_segment_range network_segment_range = 1; +} + +message ShowNetworkSegmentRangeDetailsReq{ + string network_segment_range_id = 1; + string platform = 2; +} + +message ShowNetworkSegmentRangeDetailsResp{ + message Used { + + } + + message Network_segment_range { + string id = 1; + string name = 2; + string description = 3; + bool default = 4; + bool shared = 5; + string tenant_id = 6; + string project_id = 7; + string network_type = 8; + string physical_network = 9; + uint32 minimum = 10; + uint32 maximum = 11; + repeated uint32 available = 12; + Used used = 13; + int64 created_at = 14; + int64 updated_at = 15; + uint32 revision_number = 16; + repeated string tags = 17; + } + + Network_segment_range network_segment_range = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +// port + message CreatePortReq{ + message Allowed_address_pairs { + string ip_address = 1; + string mac_address = 2; + } + + message Port { + bool admin_state_up = 1; + string dns_domain = 2; + string dns_name = 3; + string name = 4; + string network_id = 5; + string qos_policy_id = 6; + bool port_security_enabled = 7; + repeated Allowed_address_pairs allowed_address_pairs = 8; + bool propagate_uplink_status = 9; + string hardware_offload_type = 10; + } + + Port port = 1; + string platform = 2; + } + + message CreatePortResp{ + message Allowed_address_pairs { + string ip_address = 1; + string mac_address = 2; + } + + message Dns_assignment { + string hostname = 1; + string ip_address = 2; + string fqdn = 3; + } + + message Extra_dhcp_opts { + string opt_value = 1; + uint32 ip_version = 2; + string opt_name = 3; + } + + message Fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message Port { + bool admin_state_up = 1; + repeated Allowed_address_pairs allowed_address_pairs = 2; + string created_at = 3; + string data_plane_status = 4; + string description = 5; + string device_id = 6; + string device_owner = 7; + repeated Dns_assignment dns_assignment = 8; + string dns_domain = 9; + string dns_name = 10; + repeated Extra_dhcp_opts extra_dhcp_opts = 11; + repeated Fixed_ips fixed_ips = 12; + string id = 13; + string ip_allocation = 14; + string mac_address = 15; + string name = 16; + string network_id = 17; + bool port_security_enabled = 18; + string project_id = 19; + uint32 revision_number = 20; + repeated string security_groups = 21; + string status = 22; + repeated string tags = 23; + string tenant_id = 24; + string updated_at = 25; + string qos_network_policy_id = 26; + string qos_policy_id = 27; + bool propagate_uplink_status = 28; + string hardware_offload_type = 29; + } + + Port port = 1; + } + message ListPortsReq{ + int32 limit = 1; // @gotags: copier:"Limit" + int32 offset = 2; // @gotags: copier:"Offset" + string platform = 3; + } +message ListPortsResp{ + message Dns_assignment { + string hostname = 1; + string ip_address = 2; + string fqdn = 3; + } + + message Extra_dhcp_opts { + string opt_value = 1; + uint32 ip_version = 2; + string opt_name = 3; + } + + message Fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message Allowed_address_pairs { + +} + message Security_groups { + +} + + message Ports { + bool admin_state_up = 1; + repeated Allowed_address_pairs allowed_address_pairs = 2; + string created_at = 3; + string data_plane_status = 4; + string description = 5; + string device_id = 6; + string device_owner = 7; + repeated Dns_assignment dns_assignment = 8; + string dns_domain = 9; + string dns_name = 10; + repeated Extra_dhcp_opts extra_dhcp_opts = 11; + repeated Fixed_ips fixed_ips = 12; + string id = 13; + string ip_allocation = 14; + string mac_address = 15; + string name = 16; + string network_id = 17; + string project_id = 18; + uint32 revision_number = 19; + repeated Security_groups security_groups = 20; + string status = 21; + repeated string tags = 22; + string tenant_id = 23; + string updated_at = 24; + string qos_network_policy_id = 25; + string qos_policy_id = 26; + bool port_security_enabled = 27; + bool propagate_uplink_status = 28; + } + + repeated Ports ports = 1; +} + +message DeletePortReq{ + string port_id =1; + string platform = 2; +} +message DeletePortResp{ + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message UpdatePortReq { + string port_id =1; + Port port = 2; + string platform = 3; + message Allowed_address_pairs { + string ip_address = 1; + string mac_address = 2; + } + + message Dns_assignment { + string hostname = 1; + string ip_address = 2; + string fqdn = 3; + } + + message Extra_dhcp_opts { + string opt_value = 1; + uint32 ip_version = 2; + string opt_name = 3; + } + + message Fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + message Port { + bool admin_state_up = 1; + repeated Allowed_address_pairs allowed_address_pairs = 2; + string created_at = 3; + string data_plane_status = 4; + string description = 5; + string device_id = 6; + string device_owner = 7; + repeated Dns_assignment dns_assignment = 8; + string dns_domain = 9; + string dns_name = 10; + repeated Extra_dhcp_opts extra_dhcp_opts = 11; + repeated Fixed_ips fixed_ips = 12; + string id = 13; + string ip_allocation = 14; + string mac_address = 15; + string name = 16; + string network_id = 17; + bool port_security_enabled = 18; + string project_id = 19; + uint32 revision_number = 20; + repeated string security_groups = 21; + string status = 22; + repeated string tags = 23; + string tenant_id = 24; + string updated_at = 25; + string qos_network_policy_id = 26; + string qos_policy_id = 27; + bool propagate_uplink_status = 28; + string hardware_offload_type = 29; + } +} +message UpdatePortResp { + message Binding_profile { + + } + + message Binding_vif_details { + } + + message Dns_assignment { + string hostname = 1; + string ip_address = 2; + string fqdn = 3; + } + + message Extra_dhcp_opts { + string opt_value = 1; + uint32 ip_version = 2; + string opt_name = 3; + } + + message Fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message Allowed_address_pairs{ + + } + + message Port { + bool admin_state_up = 1; + repeated Allowed_address_pairs allowed_address_pairs = 2; + string binding_host_id = 3[json_name="Binding:profile"]; + Binding_profile Binding_profile = 4[json_name="Binding:profile"]; + Binding_vif_details binding_vif_details = 5 [json_name="Binding:vif_details"]; + string binding_vif_type = 6 [json_name="binding:vif_type"]; + string binding_vnic_type = 7 [json_name="binding:vnic_type"]; + string created_at = 8; + string data_plane_status = 9; + string description = 10; + string device_id = 11; + string device_owner = 12; + repeated Dns_assignment dns_assignment = 13; + string dns_domain = 14; + string dns_name = 15; + repeated Extra_dhcp_opts extra_dhcp_opts = 16; + repeated Fixed_ips fixed_ips = 17; + string id = 18; + string ip_allocation = 19; + string mac_address = 20; + string name = 21; + string network_id = 22; + string project_id = 23; + uint32 revision_number = 24; + repeated string security_groups = 25; + string status = 26; + repeated string tags = 27; + string tenant_id = 28; + string updated_at = 29; + string qos_network_policy_id = 30; + string qos_policy_id = 31; + bool port_security_enabled = 32; + bool propagate_uplink_status = 33; + string hardware_offload_type = 34; + } + + Port port = 1; +} + +message ShowPortDetailsReq { + string port_id =1; + string fields = 2; + string platform = 3; +} + +message ShowPortDetailsResp { + + message Dns_assignment { + string hostname = 1; + string ip_address = 2; + string fqdn = 3; + } + + message Extra_dhcp_opts { + string opt_value = 1; + uint32 ip_version = 2; + string opt_name = 3; + } + + message Fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + message Allowed_address_pairs{ + + } + + message Security_groups{ + + } + message Port { + bool admin_state_up = 1; + repeated Allowed_address_pairs allowed_address_pairs = 2; + string created_at = 3; + string data_plane_status = 4; + string description = 5; + string device_id = 6; + string device_owner = 7; + repeated Dns_assignment dns_assignment = 8; + string dns_domain = 9; + string dns_name = 10; + repeated Extra_dhcp_opts extra_dhcp_opts = 11; + repeated Fixed_ips fixed_ips = 12; + string id = 13; + string ip_allocation = 14; + string mac_address = 15; + string name = 16; + string network_id = 17; + bool port_security_enabled = 18; + string project_id = 19; + uint32 revision_number = 20; + repeated Security_groups security_groups = 21; + string status = 22; + repeated string tags = 23; + string tenant_id = 24; + string updated_at = 25; + string qos_network_policy_id = 26; + string qos_policy_id = 27; + bool propagate_uplink_status = 28; + string hardware_offload_type = 29; + } + Port port = 1; +} + +//port +message ListRoutersReq{ + int32 limit = 1; // @gotags: copier:"Limit" + int32 offset = 2; // @gotags: copier:"Offset" + string platform = 3; +} + +message ListRoutersResp{ + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message External_gateway_info { + bool enable_snat = 1; + repeated External_fixed_ips external_fixed_ips = 2; + string network_id = 3; + } + + message Routes { + string destination = 1; + string nexthop = 2; + } + + message Conntrack_helpers { + string protocol = 1; + string helper = 2; + uint32 port = 3; + } + + message Availability_zone_hints { + +} + + message Routers { + bool admin_state_up = 1; + repeated Availability_zone_hints availability_zone_hints = 2; + repeated string availability_zones = 3; + int64 created_at = 4; + string description = 5; + bool distributed = 6; + External_gateway_info external_gateway_info = 7; + string flavor_id = 8; + bool ha = 9; + string id = 10; + string name = 11; + uint32 revision_number = 12; + repeated Routes routes = 13; + string status = 14; + int64 updated_at = 15; + string project_id = 16; + string tenant_id = 17; + string service_type_id = 18; + repeated string tags = 19; + repeated Conntrack_helpers conntrack_helpers = 20; + } + repeated Routers routers = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message CreateRouterReq{ + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message External_gateway_info { + string network_id = 1; + bool enable_snat = 2; + repeated External_fixed_ips external_fixed_ips = 3; + } + + message Router { + string name = 1; + External_gateway_info external_gateway_info = 2; + bool admin_state_up = 3; + } + + Router router = 1; +} + +message CreateRouterResp{ + + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message External_gateway_info { + bool enable_snat = 1; + repeated External_fixed_ips external_fixed_ips = 2; + string network_id = 3; + } + message Routers { + bool admin_state_up = 1; + repeated string availability_zones = 3; + int64 created_at = 4; + string description = 5; + bool distributed = 6; + External_gateway_info external_gateway_info = 7; + string flavor_id = 8; + bool ha = 9; + string id = 10; + string name = 11; + uint32 revision_number = 12; + string status = 14; + int64 updated_at = 15; + string project_id = 16; + string tenant_id = 17; + string service_type_id = 18; + repeated string tags = 19; + } + + message Availability_zone_hints{ + + } + + message Conntrack_helpers{ + + } + + message Router { + bool admin_state_up = 1; + repeated Availability_zone_hints availability_zone_hints = 2; + repeated string availability_zones = 3; + int64 created_at = 4; + string description = 5; + bool distributed = 6; + External_gateway_info external_gateway_info = 7; + string flavor_id = 8; + bool ha = 9; + string id = 10; + string name = 11; + repeated Routers routers = 12; + uint32 revision_number = 13; + string status = 14; + int64 updated_at = 15; + string project_id = 16; + string tenant_id = 17; + string service_type_id = 18; + repeated string tags = 19; + repeated Conntrack_helpers conntrack_helpers = 20; + } + + Router router = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message UpdateRouterReq{ + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message Routes { + string destination = 1; + string nexthop = 2; + } + + message External_gateway_info { + string network_id = 1; + bool enable_snat = 2; + repeated External_fixed_ips external_fixed_ips = 3; + repeated Routes routes = 4; + } + + message Router { + bool distributed = 1; + External_gateway_info external_gateway_info = 2; + } + string platform = 2; + Router router = 1; +} + +message UpdateRouterResp{ + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message External_gateway_info { + bool enable_snat = 1; + repeated External_fixed_ips external_fixed_ips = 2; + string network_id = 3; + } + + message Routes { + string destination = 1; + string nexthop = 2; + } + + message Availability_zone_hints{ + + } + + message Conntrack_helpers{ + + } + + message Router { + bool admin_state_up = 1; + repeated Availability_zone_hints availability_zone_hints = 2; + repeated string availability_zones = 3; + int64 created_at = 4; + string description = 5; + bool distributed = 6; + External_gateway_info external_gateway_info = 7; + string flavor_id = 8; + bool ha = 9; + string id = 10; + string name = 11; + uint32 revision_number = 12; + repeated Routes routes = 13; + string status = 14; + int64 updated_at = 15; + string project_id = 16; + string tenant_id = 17; + string service_type_id = 18; + repeated string tags = 19; + repeated Conntrack_helpers conntrack_helpers = 20; + } + Router router = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message ShowRouterDetailsReq{ + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message Routes { + string destination = 1; + string nexthop = 2; + } + + message External_gateway_info { + string network_id = 1; + bool enable_snat = 2; + repeated External_fixed_ips external_fixed_ips = 3; + repeated Routes routes = 4; + } + + message Router { + bool distributed = 1; + External_gateway_info external_gateway_info = 2; + } + string platform = 2; + Router router = 1; + string router_id =3; +} + +message ShowRouterDetailsResp{ + message External_fixed_ips { + string ip_address = 1; + string subnet_id = 2; + } + + message External_gateway_info { + bool enable_snat = 1; + repeated External_fixed_ips external_fixed_ips = 2; + string network_id = 3; + } + + message Routes { + string destination = 1; + string nexthop = 2; + } + + message Availability_zone_hints{ + + } + + message Conntrack_helpers{ + + } + + message Router { + bool admin_state_up = 1; + repeated Availability_zone_hints availability_zone_hints = 2; + repeated string availability_zones = 3; + int64 created_at = 4; + string description = 5; + bool distributed = 6; + External_gateway_info external_gateway_info = 7; + string flavor_id = 8; + bool ha = 9; + string id = 10; + string name = 11; + uint32 revision_number = 12; + repeated Routes routes = 13; + string status = 14; + int64 updated_at = 15; + string project_id = 16; + string tenant_id = 17; + string service_type_id = 18; + repeated string tags = 19; + repeated Conntrack_helpers conntrack_helpers = 20; + } + Router router = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message DeleteRouterReq{ + string router_id =1; + string platform = 2; +} + +message DeleteRouterResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +//浮动IPs + message ListFloatingIPsReq{ + int32 limit = 1; // @gotags: copier:"Limit" + int32 offset = 2; // @gotags: copier:"Offset" + string platform = 3; + } + + message ListFloatingIPsResp{ + message Port_details { + string status = 1; + string name = 2; + bool admin_state_up = 3; + string network_id = 4; + string device_owner = 5; + string mac_address = 6; + string device_id = 7; + } + message Port_forwardings { + string protocol = 1; + string internal_ip_address = 2; + uint32 internal_port = 3; + string internal_port_id = 4; + uint32 external_port = 5; + string id = 6; + } + + message Floatingips { + string router_id = 1; + string description = 2; + string dns_domain = 3; + string dns_name = 4; + int64 created_at = 5; + int64 updated_at = 6; + uint32 revision_number = 7; + string project_id = 8; + string tenant_id = 9; + string floating_network_id = 10; + string fixed_ip_address = 11; + string floating_ip_address = 12; + string port_id = 13; + string id = 14; + string status = 15; + Port_details port_details = 16; + repeated string tags = 17; + repeated Port_forwardings port_forwardings = 18; + string qos_network_policy_id = 19; + string qos_policy_id = 20; + } + + repeated Floatingips floatingips = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + + message CreateFloatingIPReq{ + message Floatingip { + string floating_network_id = 1; + string port_id = 2; + string subnet_id = 3; + string fixed_ip_address = 4; + string floating_ip_address = 5; + string description = 6; + string dns_domain = 7; + string dns_name = 8; + string qos_policy_id = 9; + } + + Floatingip floatingip = 1; + string platform = 2; + } + message CreateFloatingIPResp{ + message Port_details { + string status = 1; + string name = 2; + bool admin_state_up = 3; + string network_id = 4; + string device_owner = 5; + string mac_address = 6; + string device_id = 7; + } + message Port_forwardings { + string protocol = 1; + string internal_ip_address = 2; + uint32 internal_port = 3; + string internal_port_id = 4; + uint32 external_port = 5; + string id = 6; + } + + message Floatingip { + string fixed_ip_address = 1; + string floating_ip_address = 2; + string floating_network_id = 3; + string id = 4; + string port_id = 5; + string router_id = 6; + string status = 7; + string project_id = 8; + string tenant_id = 9; + string description = 10; + string dns_domain = 11; + string dns_name = 12; + int64 created_at = 13; + int64 updated_at = 14; + uint32 revision_number = 15; + Port_details port_details = 16; + repeated string tags = 17; + repeated Port_forwardings port_forwardings = 18; + string qos_policy_id = 19; + } + Floatingip floatingip = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" + } + + message UpdateFloatingIPReq{ + message Floatingip { + string port_id = 1; + } + + Floatingip floatingip = 1; + } + message UpdateFloatingIPResp{ + message Port_details { + string status = 1; + string name = 2; + bool admin_state_up = 3; + string network_id = 4; + string device_owner = 5; + string mac_address = 6; + string device_id = 7; + } + + message Port_forwardings { + string protocol = 1; + string internal_ip_address = 2; + uint32 internal_port = 3; + string internal_port_id = 4; + uint32 external_port = 5; + string id = 6; + } + + message Floatingip { + int64 created_at = 1; + string description = 2; + string dns_domain = 3; + string dns_name = 4; + string fixed_ip_address = 5; + string floating_ip_address = 6; + string floating_network_id = 7; + string id = 8; + string port_id = 9; + string project_id = 10; + uint32 revision_number = 11; + string router_id = 12; + string status = 13; + repeated string tags = 14; + string tenant_id = 15; + int64 updated_at = 16; + Port_details port_details = 17; + repeated Port_forwardings port_forwardings = 18; + string qos_network_policy_id = 19; + string qos_policy_id = 20; + } + Floatingip floatingip = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" + } + + message DeleteFloatingIPReq{ + string floatingip_id =1; + string platform = 2; + } + message DeleteFloatingIPResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + } + message ShowFloatingIPDetailsReq{ + string floatingip_id =1; + string platform = 2; + } + message ShowFloatingIPDetailsResp{ + message Port_details { + string status = 1; + string name = 2; + bool admin_state_up = 3; + string network_id = 4; + string device_owner = 5; + string mac_address = 6; + string device_id = 7; + } + + message Port_forwardings { + string protocol = 1; + string internal_ip_address = 2; + uint32 internal_port = 3; + string internal_port_id = 4; + uint32 external_port = 5; + string id = 6; + } + + message Floatingip { + string floating_network_id = 1; + string router_id = 2; + string fixed_ip_address = 3; + string floating_ip_address = 4; + string project_id = 5; + string tenant_id = 6; + string status = 7; + string port_id = 8; + string id = 9; + string description = 10; + string dns_domain = 11; + string dns_name = 12; + int64 created_at = 13; + int64 updated_at = 14; + uint32 revision_number = 15; + Port_details port_details = 16; + repeated string tags = 17; + repeated Port_forwardings port_forwardings = 18; + string qos_network_policy_id = 19; + string qos_policy_id = 20; + } + + Floatingip floatingip = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" + } +//防火墙 + message ListFirewallGroupsReq{ + string fields =1; + } + message ListFirewallGroupsResp{ + message Firewall_groups { + bool admin_state_up = 1; + string description = 2; + string egress_firewall_policy_id = 3; + string id = 4; + string ingress_firewall_policy_id = 5; + string name = 6; + repeated string ports = 7; + bool shared = 8; + string project_id = 9; + string status = 10; + string tenant_id = 11; + } + + repeated Firewall_groups firewall_groups = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" + } + + message DeleteFirewallGroupReq{ + string firewall_group_id =1; + string platform = 2; + } + message DeleteFirewallGroupResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + } + + message CreateFirewallGroupReq{ + message Firewall_group { + bool admin_state_up = 1; + string egress_firewall_policy_id = 2; + string ingress_firewall_policy_id = 3; + } + + Firewall_group firewall_group = 1; + } + +message CreateFirewallGroupResp{ + message Firewall_group { + bool admin_state_up = 1; + string description = 2; + string egress_firewall_policy_id = 3; + string ingress_firewall_policy_id = 4; + string id = 5; + string name = 6; + repeated string ports = 7; + string project_id = 8; + bool shared = 9; + string status = 10; + string tenant_id = 11; + } + + Firewall_group firewall_group = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message UpdateFirewallGroupReq{ + message Firewall_group { + string admin_state_up = 1; + } + + Firewall_group firewall_group = 1; +} + +message UpdateFirewallGroupResp{ + message Firewall_group { + bool admin_state_up = 1; + string description = 2; + string egress_firewall_policy_id = 3; + string ingress_firewall_policy_id = 4; + string id = 5; + string name = 6; + repeated string ports = 7; + bool shared = 8; + string project_id = 9; + string status = 10; + string tenant_id = 11; + } + + Firewall_group firewall_group = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message ShowFirewallGroupDetailsReq{ + string firewall_group_id =1; + string platform =2; +} + +message ShowFirewallGroupDetailsResp{ + message Firewall_group { + bool admin_state_up = 1; + string description = 2; + string egress_firewall_policy_id = 3; + string id = 4; + string ingress_firewall_policy_id = 5; + string name = 6; + string project_id = 7; + bool shared = 8; + string status = 9; + string tenant_id = 10; + } + + Firewall_group firewall_group = 1; + string platform =2; +} + +//安全组策略 +message CreateFirewallPolicyReq{ + message Firewall_policy { + string name = 1; + repeated string firewall_rules = 2; + } + + Firewall_policy firewall_policy = 1; +} + +message CreateFirewallPolicyResp{ + message Firewall_policy { + bool audited = 1; + string description = 2; + repeated string firewall_rules = 3; + string id = 4; + string name = 5; + string project_id = 6; + bool shared = 7; + string tenant_id = 8; + } + + Firewall_policy firewall_policy = 1; + string msg =2; // @gotags: copier:"Msg" + int32 code =3; // @gotags: copier:"Code" + string error_msg =4;// @gotags: copier:"ErrorMsg" +} + +message DeleteFirewallPolicyReq{ + string firewall_policy_id =1; + string platform =2; +} +message DeleteFirewallPolicyResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message ListFirewallPoliciesReq{ + string fields=1; + string platform =2; +} + +message ListFirewallPoliciesResp{ + message Firewall_policies { + bool audited = 1; + string description = 2; + repeated string firewall_rules = 3; + string id = 4; + string name = 5; + string project_id = 6; + bool shared = 7; + string tenant_id = 8; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + repeated Firewall_policies firewall_policies = 4; +} + +message ShowFirewallPolicyDetailsReq{ + string firewall_policy_id =1; + string platform =2; +} + +message ShowFirewallPolicyDetailsResp{ + message Firewall_policy { + bool audited = 1; + string description = 2; + repeated string firewall_rules = 3; + string id = 4; + string name = 5; + string project_id = 6; + bool shared = 7; + string tenant_id = 8; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Firewall_policy firewall_policy = 4; +} +//安全组 +message CreateFirewallRuleReq{ + message Firewall_rule { + string action = 1; + string destination_port = 2; + bool enabled = 3; + string name = 4; + string protocol = 5; + } + string platform =2; + Firewall_rule firewall_rule = 1; +} +message CreateFirewallRuleResp{ + message Firewall_rule { + string action = 1; + string description = 2; + string destination_firewall_group_id = 3; + string destination_ip_address = 4; + string destination_port = 5; + bool enabled = 6; + string id = 7; + uint32 ip_version = 8; + string name = 9; + string project_id = 10; + string protocol = 11; + bool shared = 12; + string source_firewall_group_id = 13; + string source_ip_address = 14; + string source_port = 15; + string tenant_id = 16; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Firewall_rule firewall_rule = 4; +} +message DeleteFirewallRuleReq{ + string firewall_rule_id =1; + string platform =2; +} +message DeleteFirewallRuleResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} +message ListFirewallRulesReq{ + string fields =1; + string platform =2; +} +message ListFirewallRulesResp{ + message Firewall_rules { + string action = 1; + string description = 2; + string destination_firewall_group_id = 3; + string destination_ip_address = 4; + string destination_port = 5; + bool enabled = 6; + string firewall_policy_id = 7; + string id = 8; + uint32 ip_version = 9; + string name = 10; + uint32 position = 11; + string project_id = 12; + string protocol = 13; + bool shared = 14; + string source_firewall_group_id = 15; + string source_ip_address = 16; + string source_port = 17; + string tenant_id = 18; + } + + repeated Firewall_rules firewall_rules = 1; +} +message ShowFirewallRuleDetailsReq{ + string firewall_rule_id=1; + string platform =2; +} + +message ShowFirewallRuleDetailsResp{ + message Firewall_rule { + string action = 1; + string description = 2; + string destination_firewall_group_id = 3; + string destination_ip_address = 4; + string destination_port = 5; + bool enabled = 6; + string firewall_policy_id = 7; + string id = 8; + uint32 ip_version = 9; + string name = 10; + string position = 11; + string project_id = 12; + string protocol = 13; + bool shared = 14; + string source_firewall_group_id = 15; + string source_ip_address = 16; + string source_port = 17; + string tenant_id = 18; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Firewall_rule firewall_rule = 4; +} + +//安全组 + message ListSecurityGroupsReq{ + string fields =1; + string platform =2; + } + + message ListSecurityGroupsResp{ + message Security_group_rules { + string direction = 1; + string ethertype = 2; + string id = 3; + int64 port_range_max = 4; + int64 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + string security_group_id = 9; + string project_id = 10; + uint32 revision_number = 11; + repeated string tags = 12; + string tenant_id = 13; + int64 created_at = 14; + int64 updated_at = 15; + string description = 16; + bool belongs_to_default_sg = 17; + } + + message Security_groups { + string description = 1; + string id = 2; + string name = 3; + repeated Security_group_rules security_group_rules = 4; + string project_id = 5; + uint32 revision_number = 6; + int64 created_at = 7; + int64 updated_at = 8; + repeated string tags = 9; + string tenant_id = 10; + bool stateful = 11; + bool shared = 12; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + repeated Security_groups security_groups = 4; +} + +message CreateSecurityGroupReq{ + message Security_group { + string name = 1; + string description = 2; + bool stateful = 3; + } + + Security_group security_group = 1; +} + +message CreateSecurityGroupResp{ + message Security_group_rules { + string direction = 1; + string ethertype = 2; + string id = 3; + int64 port_range_max = 4; + int64 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + string security_group_id = 9; + string project_id = 10; + int64 created_at = 11; + int64 updated_at = 12; + uint32 revision_number = 13; + repeated string tags = 15; + string tenant_id = 16; + string description = 17; + bool belongs_to_default_sg = 18; + } + + message Security_group { + string description = 1; + string id = 2; + string name = 3; + repeated Security_group_rules security_group_rules = 4; + string project_id = 5; + int64 created_at = 6; + int64 updated_at = 7; + uint32 revision_number = 8; + repeated string tags = 9; + string tenant_id = 10; + bool stateful = 11; + bool shared = 12; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Security_group security_group = 4; +} + +message DeleteSecurityGroupReq{ + string security_group_id =1; + string platform =2; +} + +message DeleteSecurityGroupResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} + +message UpdateSecurityGroupReq{ + string security_group_id =1; + string platform =2; +} + +message UpdateSecurityGroupResp{ + message Security_group_rules { + string direction = 1; + string ethertype = 2; + string id = 3; + int64 port_range_max = 4; + int64 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + string security_group_id = 9; + string project_id = 10; + uint32 revision_number = 11; + repeated string tags = 12; + string tenant_id = 13; + int64 created_at = 14; + int64 updated_at = 15; + string description = 16; + bool belongs_to_default_sg = 17; + } + + message Security_group { + repeated Security_group_rules security_group_rules = 1; + string project_id = 2; + uint32 revision_number = 3; + string tenant_id = 4; + int64 created_at = 5; + int64 updated_at = 6; + string id = 7; + string name = 8; + string description = 9; + repeated string tags = 10; + bool stateful = 11; + bool shared = 12; + bool belongs_to_default_sg = 13; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Security_group security_group = 4; + +} + +message ShowSecurityGroupReq{ + string security_group_id =1; + bool verbose =2; + string fields =3; +} +message ShowSecurityGroupResp{ + message Security_group_rules { + string direction = 1; + string ethertype = 2; + string id = 3; + int64 port_range_max = 4; + int64 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + string security_group_id = 9; + string project_id = 10; + uint32 revision_number = 11; + repeated string tags = 12; + string tenant_id = 13; + int64 created_at = 14; + int64 updated_at = 15; + string description = 16; + bool belongs_to_default_sg = 17; + } + + message Security_group { + string description = 1; + string id = 2; + string name = 3; + repeated Security_group_rules security_group_rules = 4; + string project_id = 5; + int64 created_at = 6; + int64 updated_at = 7; + uint32 revision_number = 8; + repeated string tags = 9; + string tenant_id = 10; + bool stateful = 11; + bool shared = 12; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Security_group security_group = 4; +} + +//安全组规则 + message ListSecurityGroupRulesReq{ + string platform =2; + } + message ListSecurityGroupRulesResp{ + message Security_group_rules { + string direction = 1; + string ethertype = 2; + string id = 3; + int64 port_range_max = 4; + int64 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + string security_group_id = 9; + string project_id = 10; + uint32 revision_number = 11; + int64 created_at = 12; + int64 updated_at = 13; + string tenant_id = 14; + string description = 15; + bool belongs_to_default_sg = 16; + } + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + repeated Security_group_rules security_group_rules = 4; + + } + + message CreateSecurityGroupRuleReq{ + message Security_group_rule { + string direction = 1; + string port_range_min = 2; + string ethertype = 3; + string port_range_max = 4; + string protocol = 5; + string remote_group_id = 6; + string security_group_id = 7; + } + + Security_group_rule security_group_rule = 1; + string platform =2; + + + + + } +message CreateSecurityGroupRuleResp{ + message Security_group_rule { + string direction = 1; + string ethertype = 2; + string id = 3; + uint32 port_range_max = 4; + uint32 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + string security_group_id = 9; + string project_id = 10; + uint32 revision_number = 11; + string tenant_id = 12; + int64 created_at = 13; + int64 updated_at = 14; + string description = 15; + bool belongs_to_default_sg = 16; + } + + Security_group_rule security_group_rule = 1; +} + +message ShowSecurityGroupRuleReq{ + string security_group_rule_id=1; + string platform =2; +} +message ShowSecurityGroupRuleResp{ + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" +} +message DeleteSecurityGroupRuleReq{ + string security_group_rule_id=1; + string platform =2; +} +message DeleteSecurityGroupRuleResp{ + message Security_group_rule { + string direction = 1; + string ethertype = 2; + string id = 3; + int64 port_range_max = 4; + int64 port_range_min = 5; + string protocol = 6; + string remote_group_id = 7; + string remote_ip_prefix = 8; + uint32 revision_number = 9; + int64 created_at = 10; + int64 updated_at = 11; + string security_group_id = 12; + string project_id = 13; + string tenant_id = 14; + bool belongs_to_default_sg = 15; + } + + + string msg =1; // @gotags: copier:"Msg" + int32 code =2; // @gotags: copier:"Code" + string error_msg =3;// @gotags: copier:"ErrorMsg" + Security_group_rule security_group_rule = 4; +} +/****************** networks End 网络部分结束*************************/ + /******************WangQi Bare Metal API Start*************************/ /****************** Bare Metal ListNodes Start*************************/ message ListNodesReq { @@ -1337,8 +3200,8 @@ message ListNodesReq { string sort_dir =16; string sort_key =17; bool detail =18; - string parent_node =19; - string include_children =20; + string parent_node =19; + string include_children =20; string platform = 21; } @@ -1414,9 +3277,6 @@ message CreateNodeReq { message Network_data{ } -/* int32 code = 35; // @gotags: copier:"Code" - string msg = 36; // @gotags: copier:"Msg" - string error_msg =37;// @gotags: copier:"ErrorMsg"*/ } message CreateNodeResp { @@ -1751,22 +3611,6 @@ message CreateImageResp{ message ListImagesReq{ int32 limit = 1; // @gotags: copier:"Limit" string platform = 2; - /* string marker =2; // @gotags: copier:"Marker" - string name =3; // @gotags: copier:"Name" - string owner = 4; // @gotags: copier:"Owner" - bool protected =5; // @gotags: copier:"Protected" - int32 status =6; // @gotags: copier:"Status" - string tag = 7; // @gotags: copier:"tag" - string visibility =8; // @gotags: copier:"visibility" - bool os_hidden =9; - string member_status =10; - string size_max =11; - string size_min =12; - string created_at =13; - string updated_at =14; - string sort_dir =15; - string sort_key =16; - string sort =17;*/ } message ListImagesResp{ @@ -2252,12 +4096,25 @@ service Openstack { rpc UpdateServer(UpdateServerReq) returns (UpdateServerResp); rpc StartServer(StartServerReq) returns (StartServerResp); rpc StopServer(StopServerReq) returns (StopServerResp); - rpc RebootServer(RebootServerReq) returns (RebootServerResp); - rpc PauseServer(PauseServerReq) returns (PauseServerResp); - rpc ListFlavorsDetail(ListFlavorsDetailReq) returns (ListFlavorsDetailResp); + rpc RebootServer(RebootServerReq) returns (RebootServerResp);//重启 + rpc PauseServer(PauseServerReq) returns (PauseServerResp);//暂停 + rpc UnpauseServer(UnpauseServerReq) returns (UnpauseServerResp);//取消暂停 rpc RebuildServer(RebuildServerReq) returns (RebuildServerResp); //重建 rpc ResizeServer(ResizeServerReq) returns (ResizeServerResp);//调整大小 rpc MigrateServer(MigrateServerReq) returns (MigrateServerResp);//迁移 + rpc ShelveServer(ShelveServerReq) returns (ShelveServerResp);//搁置 + rpc UnshelveServer(UnshelveServerReq) returns (UnshelveServerResp);//搁置 + rpc ChangeAdministrativePassword(ChangeAdministrativePasswordReq) returns (ChangeAdministrativePasswordResp);//设置密码 + rpc RescueServer(RescueServerReq) returns (RescueServerResp);//救援 + rpc UnRescue(UnRescueServerReq) returns (UnRescueServerResp);//取消救援 + rpc SuspendServer(SuspendServerReq) returns (SuspendServerResp); + rpc AddSecurityGroupToServer(AddSecurityGroupToServerReq) returns (AddSecurityGroupToServerResp);//将安全组添加到服务器 + rpc removeSecurityGroup(removeSecurityGroupReq) returns (removeSecurityGroupResp);//从服务器中删除安全 + //规格(Flavors) + rpc ListFlavorsDetail(ListFlavorsDetailReq) returns (ListFlavorsDetailResp); + rpc CreateFlavor (CreateFlavorReq) returns (CreateFlavorResp); + rpc DeleteFlavor(DeleteFlavorReq) returns (DeleteFlavorResp); + //network rpc ShowNetworkDetails(ShowNetworkDetailsReq) returns (ShowNetworkDetailsResp); rpc UpdateNetwork(UpdateNetworkReq) returns (UpdateNetworkResp); @@ -2265,8 +4122,61 @@ service Openstack { rpc ListNetworks(ListNetworksReq) returns (ListNetworksResp); rpc CreateNetwork(CreateNetworkReq) returns (CreateNetworkResp); rpc BulkCreateNetworks(BulkCreateNetworksReq) returns (BulkCreateNetworksResp);//批量创建网络 + //子网 rpc CreateSubnet(CreateSubnetReq) returns (CreateSubnetResp);//创建子网 + rpc ListSubnets(ListSubnetsReq) returns (ListSubnetsResp); + rpc DeleteSubnet(DeleteSubnetReq) returns (DeleteSubnetResp); + rpc UpdateSubnet(UpdateSubnetReq) returns (UpdateSubnetResp); + //网段 + rpc CreateNetworkSegmentRange(CreateNetworkSegmentRangeReq)returns(CreateNetworkSegmentRangeResp); + rpc ListNetworkSegmentRanges(ListNetworkSegmentRangesReq)returns(ListNetworkSegmentRangesResp); + rpc DeleteNetworkSegmentRanges(DeleteNetworkSegmentRangesReq)returns(DeleteNetworkSegmentRangesResp); + rpc UpdateNetworkSegmentRanges(UpdateNetworkSegmentRangesReq)returns(UpdateNetworkSegmentRangesResp); + rpc ShowNetworkSegmentRangeDetails(ShowNetworkSegmentRangeDetailsReq)returns(ShowNetworkSegmentRangeDetailsResp); + //端口 + rpc CreatePort(CreatePortReq) returns (CreatePortResp); + rpc ListPorts(ListPortsReq) returns (ListPortsResp); + rpc DeletePort(DeletePortReq) returns (DeletePortResp); + rpc UpdatePort(UpdatePortReq) returns (UpdatePortResp); + rpc ShowPortDetails(ShowPortDetailsReq) returns (ShowPortDetailsResp); + //路由 + rpc CreateRouter(CreateRouterReq)returns(CreateRouterResp); + rpc ListRouters(ListRoutersReq)returns(ListRoutersResp); + rpc ShowRouterDetails(ShowRouterDetailsReq)returns(ShowRouterDetailsResp); + rpc UpdateRouter(UpdateRouterReq)returns(UpdateRouterResp); + rpc DeleteRouter(DeleteRouterReq)returns(DeleteRouterResp); + //浮动IP + rpc ListFloatingIPs(ListFloatingIPsReq)returns(ListFloatingIPsResp); + rpc CreateFloatingIP(CreateFloatingIPReq)returns(CreateFloatingIPResp); + rpc UpdateFloatingIP(UpdateFloatingIPReq)returns(UpdateFloatingIPResp); + rpc DeleteFloatingIP(DeleteFloatingIPReq)returns(DeleteFloatingIPResp); + rpc ShowFloatingIPDetails(ShowFloatingIPDetailsReq)returns(ShowFloatingIPDetailsResp); + //防火墙 + rpc ListFirewallGroups(ListFirewallGroupsReq)returns(ListFirewallGroupsResp); + rpc DeleteFirewallGroup(DeleteFirewallGroupReq)returns(DeleteFirewallGroupResp); + rpc CreateFirewallGroup(CreateFirewallGroupReq)returns(CreateFirewallGroupResp); + rpc UpdateFirewallGroup(UpdateFirewallGroupReq)returns(UpdateFirewallGroupResp); + rpc ShowFirewallGroupDetails(ShowFirewallGroupDetailsReq)returns(ShowFirewallGroupDetailsResp); + rpc CreateFirewallPolicy(CreateFirewallPolicyReq)returns(CreateFirewallPolicyResp); + rpc DeleteFirewallPolicy(DeleteFirewallPolicyReq)returns(DeleteFirewallPolicyResp); + rpc ListFirewallPolicies(ListFirewallPoliciesReq)returns(ListFirewallPoliciesResp); + rpc ShowFirewallPolicyDetails(ShowFirewallPolicyDetailsReq)returns(ShowFirewallPolicyDetailsResp); + rpc CreateFirewallRule(CreateFirewallRuleReq)returns(CreateFirewallRuleResp); + rpc DeleteFirewallRule(DeleteFirewallRuleReq)returns(DeleteFirewallRuleResp); + rpc ListFirewallRules(ListFirewallRulesReq)returns(ListFirewallRulesResp); + rpc ShowFirewallRuleDetails(ShowFirewallRuleDetailsReq)returns(ShowFirewallRuleDetailsResp); + //安全组 + rpc ListSecurityGroups(ListSecurityGroupsReq)returns(ListSecurityGroupsResp); + rpc CreateSecurityGroup(CreateSecurityGroupReq)returns(CreateSecurityGroupResp); + rpc DeleteSecurityGroup(DeleteSecurityGroupReq)returns(DeleteSecurityGroupResp); + rpc UpdateSecurityGroup(UpdateSecurityGroupReq)returns(UpdateSecurityGroupResp); + rpc ShowSecurityGroup(ShowSecurityGroupReq)returns(ShowSecurityGroupResp); + //安全组规则 + rpc ListSecurityGroupRules(ListSecurityGroupRulesReq)returns(ListSecurityGroupRulesResp); + rpc CreateSecurityGroupRule(CreateSecurityGroupRuleReq)returns(CreateSecurityGroupRuleResp); + rpc ShowSecurityGroupRule(ShowSecurityGroupRuleReq)returns(ShowSecurityGroupRuleResp); + rpc DeleteSecurityGroupRule(DeleteSecurityGroupRuleReq)returns(DeleteSecurityGroupRuleResp); // Images from glance rpc CreateImage(CreateImageReq) returns (CreateImageResp); rpc ListImages(ListImagesReq) returns (ListImagesResp);