open-nomad/plugins/drivers/proto/driver.pb.go

3434 lines
131 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: plugins/drivers/proto/driver.proto
package proto
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import duration "github.com/golang/protobuf/ptypes/duration"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import hclspec "github.com/hashicorp/nomad/plugins/shared/hclspec"
import proto1 "github.com/hashicorp/nomad/plugins/shared/structs/proto"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type TaskState int32
const (
TaskState_UNKNOWN TaskState = 0
TaskState_RUNNING TaskState = 1
TaskState_EXITED TaskState = 2
)
var TaskState_name = map[int32]string{
0: "UNKNOWN",
1: "RUNNING",
2: "EXITED",
}
var TaskState_value = map[string]int32{
"UNKNOWN": 0,
"RUNNING": 1,
"EXITED": 2,
}
func (x TaskState) String() string {
return proto.EnumName(TaskState_name, int32(x))
}
func (TaskState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{0}
}
type FingerprintResponse_HealthState int32
const (
FingerprintResponse_UNDETECTED FingerprintResponse_HealthState = 0
FingerprintResponse_UNHEALTHY FingerprintResponse_HealthState = 1
FingerprintResponse_HEALTHY FingerprintResponse_HealthState = 2
)
var FingerprintResponse_HealthState_name = map[int32]string{
0: "UNDETECTED",
1: "UNHEALTHY",
2: "HEALTHY",
}
var FingerprintResponse_HealthState_value = map[string]int32{
"UNDETECTED": 0,
"UNHEALTHY": 1,
"HEALTHY": 2,
}
func (x FingerprintResponse_HealthState) String() string {
return proto.EnumName(FingerprintResponse_HealthState_name, int32(x))
}
func (FingerprintResponse_HealthState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{5, 0}
}
type StartTaskResponse_Result int32
const (
StartTaskResponse_SUCCESS StartTaskResponse_Result = 0
StartTaskResponse_RETRY StartTaskResponse_Result = 1
StartTaskResponse_FATAL StartTaskResponse_Result = 2
)
var StartTaskResponse_Result_name = map[int32]string{
0: "SUCCESS",
1: "RETRY",
2: "FATAL",
}
var StartTaskResponse_Result_value = map[string]int32{
"SUCCESS": 0,
"RETRY": 1,
"FATAL": 2,
}
func (x StartTaskResponse_Result) String() string {
return proto.EnumName(StartTaskResponse_Result_name, int32(x))
}
func (StartTaskResponse_Result) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{9, 0}
}
type DriverCapabilities_FSIsolation int32
const (
DriverCapabilities_NONE DriverCapabilities_FSIsolation = 0
DriverCapabilities_CHROOT DriverCapabilities_FSIsolation = 1
DriverCapabilities_IMAGE DriverCapabilities_FSIsolation = 2
)
var DriverCapabilities_FSIsolation_name = map[int32]string{
0: "NONE",
1: "CHROOT",
2: "IMAGE",
}
var DriverCapabilities_FSIsolation_value = map[string]int32{
"NONE": 0,
"CHROOT": 1,
"IMAGE": 2,
}
func (x DriverCapabilities_FSIsolation) String() string {
return proto.EnumName(DriverCapabilities_FSIsolation_name, int32(x))
}
func (DriverCapabilities_FSIsolation) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{25, 0}
}
type CPUUsage_Fields int32
const (
CPUUsage_SYSTEM_MODE CPUUsage_Fields = 0
CPUUsage_USER_MODE CPUUsage_Fields = 1
CPUUsage_TOTAL_TICKS CPUUsage_Fields = 2
CPUUsage_THROTTLED_PERIODS CPUUsage_Fields = 3
CPUUsage_THROTTLED_TIME CPUUsage_Fields = 4
CPUUsage_PERCENT CPUUsage_Fields = 5
)
var CPUUsage_Fields_name = map[int32]string{
0: "SYSTEM_MODE",
1: "USER_MODE",
2: "TOTAL_TICKS",
3: "THROTTLED_PERIODS",
4: "THROTTLED_TIME",
5: "PERCENT",
}
var CPUUsage_Fields_value = map[string]int32{
"SYSTEM_MODE": 0,
"USER_MODE": 1,
"TOTAL_TICKS": 2,
"THROTTLED_PERIODS": 3,
"THROTTLED_TIME": 4,
"PERCENT": 5,
}
func (x CPUUsage_Fields) String() string {
return proto.EnumName(CPUUsage_Fields_name, int32(x))
}
func (CPUUsage_Fields) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{41, 0}
}
type MemoryUsage_Fields int32
const (
MemoryUsage_RSS MemoryUsage_Fields = 0
MemoryUsage_CACHE MemoryUsage_Fields = 1
MemoryUsage_MAX_USAGE MemoryUsage_Fields = 2
MemoryUsage_KERNEL_USAGE MemoryUsage_Fields = 3
MemoryUsage_KERNEL_MAX_USAGE MemoryUsage_Fields = 4
)
var MemoryUsage_Fields_name = map[int32]string{
0: "RSS",
1: "CACHE",
2: "MAX_USAGE",
3: "KERNEL_USAGE",
4: "KERNEL_MAX_USAGE",
}
var MemoryUsage_Fields_value = map[string]int32{
"RSS": 0,
"CACHE": 1,
"MAX_USAGE": 2,
"KERNEL_USAGE": 3,
"KERNEL_MAX_USAGE": 4,
}
func (x MemoryUsage_Fields) String() string {
return proto.EnumName(MemoryUsage_Fields_name, int32(x))
}
func (MemoryUsage_Fields) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{42, 0}
}
type TaskConfigSchemaRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskConfigSchemaRequest) Reset() { *m = TaskConfigSchemaRequest{} }
func (m *TaskConfigSchemaRequest) String() string { return proto.CompactTextString(m) }
func (*TaskConfigSchemaRequest) ProtoMessage() {}
func (*TaskConfigSchemaRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{0}
}
func (m *TaskConfigSchemaRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskConfigSchemaRequest.Unmarshal(m, b)
}
func (m *TaskConfigSchemaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskConfigSchemaRequest.Marshal(b, m, deterministic)
}
func (dst *TaskConfigSchemaRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskConfigSchemaRequest.Merge(dst, src)
}
func (m *TaskConfigSchemaRequest) XXX_Size() int {
return xxx_messageInfo_TaskConfigSchemaRequest.Size(m)
}
func (m *TaskConfigSchemaRequest) XXX_DiscardUnknown() {
xxx_messageInfo_TaskConfigSchemaRequest.DiscardUnknown(m)
}
var xxx_messageInfo_TaskConfigSchemaRequest proto.InternalMessageInfo
type TaskConfigSchemaResponse struct {
// Spec is the configuration schema for the job driver config stanza
Spec *hclspec.Spec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskConfigSchemaResponse) Reset() { *m = TaskConfigSchemaResponse{} }
func (m *TaskConfigSchemaResponse) String() string { return proto.CompactTextString(m) }
func (*TaskConfigSchemaResponse) ProtoMessage() {}
func (*TaskConfigSchemaResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{1}
}
func (m *TaskConfigSchemaResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskConfigSchemaResponse.Unmarshal(m, b)
}
func (m *TaskConfigSchemaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskConfigSchemaResponse.Marshal(b, m, deterministic)
}
func (dst *TaskConfigSchemaResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskConfigSchemaResponse.Merge(dst, src)
}
func (m *TaskConfigSchemaResponse) XXX_Size() int {
return xxx_messageInfo_TaskConfigSchemaResponse.Size(m)
}
func (m *TaskConfigSchemaResponse) XXX_DiscardUnknown() {
xxx_messageInfo_TaskConfigSchemaResponse.DiscardUnknown(m)
}
var xxx_messageInfo_TaskConfigSchemaResponse proto.InternalMessageInfo
func (m *TaskConfigSchemaResponse) GetSpec() *hclspec.Spec {
if m != nil {
return m.Spec
}
return nil
}
type CapabilitiesRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CapabilitiesRequest) Reset() { *m = CapabilitiesRequest{} }
func (m *CapabilitiesRequest) String() string { return proto.CompactTextString(m) }
func (*CapabilitiesRequest) ProtoMessage() {}
func (*CapabilitiesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{2}
}
func (m *CapabilitiesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CapabilitiesRequest.Unmarshal(m, b)
}
func (m *CapabilitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CapabilitiesRequest.Marshal(b, m, deterministic)
}
func (dst *CapabilitiesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CapabilitiesRequest.Merge(dst, src)
}
func (m *CapabilitiesRequest) XXX_Size() int {
return xxx_messageInfo_CapabilitiesRequest.Size(m)
}
func (m *CapabilitiesRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CapabilitiesRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CapabilitiesRequest proto.InternalMessageInfo
type CapabilitiesResponse struct {
// Capabilities provides a way for the driver to denote if it implements
// non-core RPCs. Some Driver service RPCs expose additional information
// or functionality outside of the core task management functions. These
// RPCs are only implemented if the driver sets the corresponding capability.
Capabilities *DriverCapabilities `protobuf:"bytes,1,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CapabilitiesResponse) Reset() { *m = CapabilitiesResponse{} }
func (m *CapabilitiesResponse) String() string { return proto.CompactTextString(m) }
func (*CapabilitiesResponse) ProtoMessage() {}
func (*CapabilitiesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{3}
}
func (m *CapabilitiesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CapabilitiesResponse.Unmarshal(m, b)
}
func (m *CapabilitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CapabilitiesResponse.Marshal(b, m, deterministic)
}
func (dst *CapabilitiesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CapabilitiesResponse.Merge(dst, src)
}
func (m *CapabilitiesResponse) XXX_Size() int {
return xxx_messageInfo_CapabilitiesResponse.Size(m)
}
func (m *CapabilitiesResponse) XXX_DiscardUnknown() {
xxx_messageInfo_CapabilitiesResponse.DiscardUnknown(m)
}
var xxx_messageInfo_CapabilitiesResponse proto.InternalMessageInfo
func (m *CapabilitiesResponse) GetCapabilities() *DriverCapabilities {
if m != nil {
return m.Capabilities
}
return nil
}
type FingerprintRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FingerprintRequest) Reset() { *m = FingerprintRequest{} }
func (m *FingerprintRequest) String() string { return proto.CompactTextString(m) }
func (*FingerprintRequest) ProtoMessage() {}
func (*FingerprintRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{4}
}
func (m *FingerprintRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FingerprintRequest.Unmarshal(m, b)
}
func (m *FingerprintRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FingerprintRequest.Marshal(b, m, deterministic)
}
func (dst *FingerprintRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_FingerprintRequest.Merge(dst, src)
}
func (m *FingerprintRequest) XXX_Size() int {
return xxx_messageInfo_FingerprintRequest.Size(m)
}
func (m *FingerprintRequest) XXX_DiscardUnknown() {
xxx_messageInfo_FingerprintRequest.DiscardUnknown(m)
}
var xxx_messageInfo_FingerprintRequest proto.InternalMessageInfo
type FingerprintResponse struct {
// Attributes are key/value pairs that annotate the nomad client and can be
// used in scheduling contraints and affinities.
Attributes map[string]*proto1.Attribute `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Health is used to determine the state of the health the driver is in.
// Health can be one of the following states:
// * UNDETECTED: driver dependencies are not met and the driver can not start
// * UNHEALTHY: driver dependencies are met but the driver is unable to
// perform operations due to some other problem
// * HEALTHY: driver is able to perform all operations
Health FingerprintResponse_HealthState `protobuf:"varint,2,opt,name=health,proto3,enum=hashicorp.nomad.plugins.drivers.proto.FingerprintResponse_HealthState" json:"health,omitempty"`
// HealthDescription is a human readable message describing the current
// state of driver health
HealthDescription string `protobuf:"bytes,3,opt,name=health_description,json=healthDescription,proto3" json:"health_description,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FingerprintResponse) Reset() { *m = FingerprintResponse{} }
func (m *FingerprintResponse) String() string { return proto.CompactTextString(m) }
func (*FingerprintResponse) ProtoMessage() {}
func (*FingerprintResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{5}
}
func (m *FingerprintResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FingerprintResponse.Unmarshal(m, b)
}
func (m *FingerprintResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FingerprintResponse.Marshal(b, m, deterministic)
}
func (dst *FingerprintResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_FingerprintResponse.Merge(dst, src)
}
func (m *FingerprintResponse) XXX_Size() int {
return xxx_messageInfo_FingerprintResponse.Size(m)
}
func (m *FingerprintResponse) XXX_DiscardUnknown() {
xxx_messageInfo_FingerprintResponse.DiscardUnknown(m)
}
var xxx_messageInfo_FingerprintResponse proto.InternalMessageInfo
func (m *FingerprintResponse) GetAttributes() map[string]*proto1.Attribute {
if m != nil {
return m.Attributes
}
return nil
}
func (m *FingerprintResponse) GetHealth() FingerprintResponse_HealthState {
if m != nil {
return m.Health
}
return FingerprintResponse_UNDETECTED
}
func (m *FingerprintResponse) GetHealthDescription() string {
if m != nil {
return m.HealthDescription
}
return ""
}
type RecoverTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Handle is the TaskHandle returned from StartTask
Handle *TaskHandle `protobuf:"bytes,2,opt,name=handle,proto3" json:"handle,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecoverTaskRequest) Reset() { *m = RecoverTaskRequest{} }
func (m *RecoverTaskRequest) String() string { return proto.CompactTextString(m) }
func (*RecoverTaskRequest) ProtoMessage() {}
func (*RecoverTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{6}
}
func (m *RecoverTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecoverTaskRequest.Unmarshal(m, b)
}
func (m *RecoverTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecoverTaskRequest.Marshal(b, m, deterministic)
}
func (dst *RecoverTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecoverTaskRequest.Merge(dst, src)
}
func (m *RecoverTaskRequest) XXX_Size() int {
return xxx_messageInfo_RecoverTaskRequest.Size(m)
}
func (m *RecoverTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_RecoverTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_RecoverTaskRequest proto.InternalMessageInfo
func (m *RecoverTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
func (m *RecoverTaskRequest) GetHandle() *TaskHandle {
if m != nil {
return m.Handle
}
return nil
}
type RecoverTaskResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecoverTaskResponse) Reset() { *m = RecoverTaskResponse{} }
func (m *RecoverTaskResponse) String() string { return proto.CompactTextString(m) }
func (*RecoverTaskResponse) ProtoMessage() {}
func (*RecoverTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{7}
}
func (m *RecoverTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecoverTaskResponse.Unmarshal(m, b)
}
func (m *RecoverTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecoverTaskResponse.Marshal(b, m, deterministic)
}
func (dst *RecoverTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecoverTaskResponse.Merge(dst, src)
}
func (m *RecoverTaskResponse) XXX_Size() int {
return xxx_messageInfo_RecoverTaskResponse.Size(m)
}
func (m *RecoverTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_RecoverTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_RecoverTaskResponse proto.InternalMessageInfo
type StartTaskRequest struct {
// Task configuration to launch
Task *TaskConfig `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StartTaskRequest) Reset() { *m = StartTaskRequest{} }
func (m *StartTaskRequest) String() string { return proto.CompactTextString(m) }
func (*StartTaskRequest) ProtoMessage() {}
func (*StartTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{8}
}
func (m *StartTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StartTaskRequest.Unmarshal(m, b)
}
func (m *StartTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StartTaskRequest.Marshal(b, m, deterministic)
}
func (dst *StartTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_StartTaskRequest.Merge(dst, src)
}
func (m *StartTaskRequest) XXX_Size() int {
return xxx_messageInfo_StartTaskRequest.Size(m)
}
func (m *StartTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_StartTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_StartTaskRequest proto.InternalMessageInfo
func (m *StartTaskRequest) GetTask() *TaskConfig {
if m != nil {
return m.Task
}
return nil
}
type StartTaskResponse struct {
// Result is set depending on the type of error that occurred while starting
// a task:
//
// * SUCCESS: No error occurred, handle is set
// * RETRY: An error occurred, but is recoverable and the RPC should be retried
// * FATAL: A fatal error occurred and is not likely to succeed if retried
//
// If Result is not successful, the DriverErrorMsg will be set.
Result StartTaskResponse_Result `protobuf:"varint,1,opt,name=result,proto3,enum=hashicorp.nomad.plugins.drivers.proto.StartTaskResponse_Result" json:"result,omitempty"`
// DriverErrorMsg is set if an error occurred
DriverErrorMsg string `protobuf:"bytes,2,opt,name=driver_error_msg,json=driverErrorMsg,proto3" json:"driver_error_msg,omitempty"`
// Handle is opaque to the client, but must be stored in order to recover
// the task.
Handle *TaskHandle `protobuf:"bytes,3,opt,name=handle,proto3" json:"handle,omitempty"`
// NetworkOverride is set if the driver sets network settings and the service ip/port
// needs to be set differently.
NetworkOverride *NetworkOverride `protobuf:"bytes,4,opt,name=network_override,json=networkOverride,proto3" json:"network_override,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StartTaskResponse) Reset() { *m = StartTaskResponse{} }
func (m *StartTaskResponse) String() string { return proto.CompactTextString(m) }
func (*StartTaskResponse) ProtoMessage() {}
func (*StartTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{9}
}
func (m *StartTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StartTaskResponse.Unmarshal(m, b)
}
func (m *StartTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StartTaskResponse.Marshal(b, m, deterministic)
}
func (dst *StartTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_StartTaskResponse.Merge(dst, src)
}
func (m *StartTaskResponse) XXX_Size() int {
return xxx_messageInfo_StartTaskResponse.Size(m)
}
func (m *StartTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_StartTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_StartTaskResponse proto.InternalMessageInfo
func (m *StartTaskResponse) GetResult() StartTaskResponse_Result {
if m != nil {
return m.Result
}
return StartTaskResponse_SUCCESS
}
func (m *StartTaskResponse) GetDriverErrorMsg() string {
if m != nil {
return m.DriverErrorMsg
}
return ""
}
func (m *StartTaskResponse) GetHandle() *TaskHandle {
if m != nil {
return m.Handle
}
return nil
}
func (m *StartTaskResponse) GetNetworkOverride() *NetworkOverride {
if m != nil {
return m.NetworkOverride
}
return nil
}
type WaitTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WaitTaskRequest) Reset() { *m = WaitTaskRequest{} }
func (m *WaitTaskRequest) String() string { return proto.CompactTextString(m) }
func (*WaitTaskRequest) ProtoMessage() {}
func (*WaitTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{10}
}
func (m *WaitTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WaitTaskRequest.Unmarshal(m, b)
}
func (m *WaitTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WaitTaskRequest.Marshal(b, m, deterministic)
}
func (dst *WaitTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_WaitTaskRequest.Merge(dst, src)
}
func (m *WaitTaskRequest) XXX_Size() int {
return xxx_messageInfo_WaitTaskRequest.Size(m)
}
func (m *WaitTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_WaitTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_WaitTaskRequest proto.InternalMessageInfo
func (m *WaitTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
type WaitTaskResponse struct {
// Result is the exit status of the task
Result *ExitResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
// Err is set if any driver error occurred while waiting for the task
Err string `protobuf:"bytes,2,opt,name=err,proto3" json:"err,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *WaitTaskResponse) Reset() { *m = WaitTaskResponse{} }
func (m *WaitTaskResponse) String() string { return proto.CompactTextString(m) }
func (*WaitTaskResponse) ProtoMessage() {}
func (*WaitTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{11}
}
func (m *WaitTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WaitTaskResponse.Unmarshal(m, b)
}
func (m *WaitTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_WaitTaskResponse.Marshal(b, m, deterministic)
}
func (dst *WaitTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_WaitTaskResponse.Merge(dst, src)
}
func (m *WaitTaskResponse) XXX_Size() int {
return xxx_messageInfo_WaitTaskResponse.Size(m)
}
func (m *WaitTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_WaitTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_WaitTaskResponse proto.InternalMessageInfo
func (m *WaitTaskResponse) GetResult() *ExitResult {
if m != nil {
return m.Result
}
return nil
}
func (m *WaitTaskResponse) GetErr() string {
if m != nil {
return m.Err
}
return ""
}
type StopTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Timeout defines the amount of time to wait before forcefully killing
// the task. For example, on Unix clients, this means sending a SIGKILL to
// the process.
Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
// Signal can be set to override the Task's configured shutdown signal
Signal string `protobuf:"bytes,3,opt,name=signal,proto3" json:"signal,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StopTaskRequest) Reset() { *m = StopTaskRequest{} }
func (m *StopTaskRequest) String() string { return proto.CompactTextString(m) }
func (*StopTaskRequest) ProtoMessage() {}
func (*StopTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{12}
}
func (m *StopTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StopTaskRequest.Unmarshal(m, b)
}
func (m *StopTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StopTaskRequest.Marshal(b, m, deterministic)
}
func (dst *StopTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_StopTaskRequest.Merge(dst, src)
}
func (m *StopTaskRequest) XXX_Size() int {
return xxx_messageInfo_StopTaskRequest.Size(m)
}
func (m *StopTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_StopTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_StopTaskRequest proto.InternalMessageInfo
func (m *StopTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
func (m *StopTaskRequest) GetTimeout() *duration.Duration {
if m != nil {
return m.Timeout
}
return nil
}
func (m *StopTaskRequest) GetSignal() string {
if m != nil {
return m.Signal
}
return ""
}
type StopTaskResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StopTaskResponse) Reset() { *m = StopTaskResponse{} }
func (m *StopTaskResponse) String() string { return proto.CompactTextString(m) }
func (*StopTaskResponse) ProtoMessage() {}
func (*StopTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{13}
}
func (m *StopTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StopTaskResponse.Unmarshal(m, b)
}
func (m *StopTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StopTaskResponse.Marshal(b, m, deterministic)
}
func (dst *StopTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_StopTaskResponse.Merge(dst, src)
}
func (m *StopTaskResponse) XXX_Size() int {
return xxx_messageInfo_StopTaskResponse.Size(m)
}
func (m *StopTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_StopTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_StopTaskResponse proto.InternalMessageInfo
type DestroyTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Force destroys the task even if it is still in a running state
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DestroyTaskRequest) Reset() { *m = DestroyTaskRequest{} }
func (m *DestroyTaskRequest) String() string { return proto.CompactTextString(m) }
func (*DestroyTaskRequest) ProtoMessage() {}
func (*DestroyTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{14}
}
func (m *DestroyTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DestroyTaskRequest.Unmarshal(m, b)
}
func (m *DestroyTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DestroyTaskRequest.Marshal(b, m, deterministic)
}
func (dst *DestroyTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DestroyTaskRequest.Merge(dst, src)
}
func (m *DestroyTaskRequest) XXX_Size() int {
return xxx_messageInfo_DestroyTaskRequest.Size(m)
}
func (m *DestroyTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DestroyTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DestroyTaskRequest proto.InternalMessageInfo
func (m *DestroyTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
func (m *DestroyTaskRequest) GetForce() bool {
if m != nil {
return m.Force
}
return false
}
type DestroyTaskResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DestroyTaskResponse) Reset() { *m = DestroyTaskResponse{} }
func (m *DestroyTaskResponse) String() string { return proto.CompactTextString(m) }
func (*DestroyTaskResponse) ProtoMessage() {}
func (*DestroyTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{15}
}
func (m *DestroyTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DestroyTaskResponse.Unmarshal(m, b)
}
func (m *DestroyTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DestroyTaskResponse.Marshal(b, m, deterministic)
}
func (dst *DestroyTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DestroyTaskResponse.Merge(dst, src)
}
func (m *DestroyTaskResponse) XXX_Size() int {
return xxx_messageInfo_DestroyTaskResponse.Size(m)
}
func (m *DestroyTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_DestroyTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_DestroyTaskResponse proto.InternalMessageInfo
type InspectTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectTaskRequest) Reset() { *m = InspectTaskRequest{} }
func (m *InspectTaskRequest) String() string { return proto.CompactTextString(m) }
func (*InspectTaskRequest) ProtoMessage() {}
func (*InspectTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{16}
}
func (m *InspectTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectTaskRequest.Unmarshal(m, b)
}
func (m *InspectTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectTaskRequest.Marshal(b, m, deterministic)
}
func (dst *InspectTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectTaskRequest.Merge(dst, src)
}
func (m *InspectTaskRequest) XXX_Size() int {
return xxx_messageInfo_InspectTaskRequest.Size(m)
}
func (m *InspectTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_InspectTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_InspectTaskRequest proto.InternalMessageInfo
func (m *InspectTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
type InspectTaskResponse struct {
// Task details
Task *TaskStatus `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
// Driver details for task
Driver *TaskDriverStatus `protobuf:"bytes,2,opt,name=driver,proto3" json:"driver,omitempty"`
// NetworkOverride info if set
NetworkOverride *NetworkOverride `protobuf:"bytes,3,opt,name=network_override,json=networkOverride,proto3" json:"network_override,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectTaskResponse) Reset() { *m = InspectTaskResponse{} }
func (m *InspectTaskResponse) String() string { return proto.CompactTextString(m) }
func (*InspectTaskResponse) ProtoMessage() {}
func (*InspectTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{17}
}
func (m *InspectTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectTaskResponse.Unmarshal(m, b)
}
func (m *InspectTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectTaskResponse.Marshal(b, m, deterministic)
}
func (dst *InspectTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectTaskResponse.Merge(dst, src)
}
func (m *InspectTaskResponse) XXX_Size() int {
return xxx_messageInfo_InspectTaskResponse.Size(m)
}
func (m *InspectTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_InspectTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_InspectTaskResponse proto.InternalMessageInfo
func (m *InspectTaskResponse) GetTask() *TaskStatus {
if m != nil {
return m.Task
}
return nil
}
func (m *InspectTaskResponse) GetDriver() *TaskDriverStatus {
if m != nil {
return m.Driver
}
return nil
}
func (m *InspectTaskResponse) GetNetworkOverride() *NetworkOverride {
if m != nil {
return m.NetworkOverride
}
return nil
}
type TaskStatsRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskStatsRequest) Reset() { *m = TaskStatsRequest{} }
func (m *TaskStatsRequest) String() string { return proto.CompactTextString(m) }
func (*TaskStatsRequest) ProtoMessage() {}
func (*TaskStatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{18}
}
func (m *TaskStatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskStatsRequest.Unmarshal(m, b)
}
func (m *TaskStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskStatsRequest.Marshal(b, m, deterministic)
}
func (dst *TaskStatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskStatsRequest.Merge(dst, src)
}
func (m *TaskStatsRequest) XXX_Size() int {
return xxx_messageInfo_TaskStatsRequest.Size(m)
}
func (m *TaskStatsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_TaskStatsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_TaskStatsRequest proto.InternalMessageInfo
func (m *TaskStatsRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
type TaskStatsResponse struct {
// Stats for the task
Stats *TaskStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskStatsResponse) Reset() { *m = TaskStatsResponse{} }
func (m *TaskStatsResponse) String() string { return proto.CompactTextString(m) }
func (*TaskStatsResponse) ProtoMessage() {}
func (*TaskStatsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{19}
}
func (m *TaskStatsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskStatsResponse.Unmarshal(m, b)
}
func (m *TaskStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskStatsResponse.Marshal(b, m, deterministic)
}
func (dst *TaskStatsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskStatsResponse.Merge(dst, src)
}
func (m *TaskStatsResponse) XXX_Size() int {
return xxx_messageInfo_TaskStatsResponse.Size(m)
}
func (m *TaskStatsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_TaskStatsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_TaskStatsResponse proto.InternalMessageInfo
func (m *TaskStatsResponse) GetStats() *TaskStats {
if m != nil {
return m.Stats
}
return nil
}
type TaskEventsRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskEventsRequest) Reset() { *m = TaskEventsRequest{} }
func (m *TaskEventsRequest) String() string { return proto.CompactTextString(m) }
func (*TaskEventsRequest) ProtoMessage() {}
func (*TaskEventsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{20}
}
func (m *TaskEventsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskEventsRequest.Unmarshal(m, b)
}
func (m *TaskEventsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskEventsRequest.Marshal(b, m, deterministic)
}
func (dst *TaskEventsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskEventsRequest.Merge(dst, src)
}
func (m *TaskEventsRequest) XXX_Size() int {
return xxx_messageInfo_TaskEventsRequest.Size(m)
}
func (m *TaskEventsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_TaskEventsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_TaskEventsRequest proto.InternalMessageInfo
type SignalTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Signal is the operating system signal to send to the task. Ex: SIGHUP
Signal string `protobuf:"bytes,2,opt,name=signal,proto3" json:"signal,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SignalTaskRequest) Reset() { *m = SignalTaskRequest{} }
func (m *SignalTaskRequest) String() string { return proto.CompactTextString(m) }
func (*SignalTaskRequest) ProtoMessage() {}
func (*SignalTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{21}
}
func (m *SignalTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalTaskRequest.Unmarshal(m, b)
}
func (m *SignalTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SignalTaskRequest.Marshal(b, m, deterministic)
}
func (dst *SignalTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SignalTaskRequest.Merge(dst, src)
}
func (m *SignalTaskRequest) XXX_Size() int {
return xxx_messageInfo_SignalTaskRequest.Size(m)
}
func (m *SignalTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SignalTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SignalTaskRequest proto.InternalMessageInfo
func (m *SignalTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
func (m *SignalTaskRequest) GetSignal() string {
if m != nil {
return m.Signal
}
return ""
}
type SignalTaskResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SignalTaskResponse) Reset() { *m = SignalTaskResponse{} }
func (m *SignalTaskResponse) String() string { return proto.CompactTextString(m) }
func (*SignalTaskResponse) ProtoMessage() {}
func (*SignalTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{22}
}
func (m *SignalTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignalTaskResponse.Unmarshal(m, b)
}
func (m *SignalTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SignalTaskResponse.Marshal(b, m, deterministic)
}
func (dst *SignalTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SignalTaskResponse.Merge(dst, src)
}
func (m *SignalTaskResponse) XXX_Size() int {
return xxx_messageInfo_SignalTaskResponse.Size(m)
}
func (m *SignalTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_SignalTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_SignalTaskResponse proto.InternalMessageInfo
type ExecTaskRequest struct {
// TaskId is the ID of the target task
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Command is the command to execute in the task environment
Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
// Timeout is the amount of time to wait for the command to stop.
// Defaults to 0 (run forever)
Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecTaskRequest) Reset() { *m = ExecTaskRequest{} }
func (m *ExecTaskRequest) String() string { return proto.CompactTextString(m) }
func (*ExecTaskRequest) ProtoMessage() {}
func (*ExecTaskRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{23}
}
func (m *ExecTaskRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecTaskRequest.Unmarshal(m, b)
}
func (m *ExecTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecTaskRequest.Marshal(b, m, deterministic)
}
func (dst *ExecTaskRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecTaskRequest.Merge(dst, src)
}
func (m *ExecTaskRequest) XXX_Size() int {
return xxx_messageInfo_ExecTaskRequest.Size(m)
}
func (m *ExecTaskRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ExecTaskRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ExecTaskRequest proto.InternalMessageInfo
func (m *ExecTaskRequest) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
func (m *ExecTaskRequest) GetCommand() []string {
if m != nil {
return m.Command
}
return nil
}
func (m *ExecTaskRequest) GetTimeout() *duration.Duration {
if m != nil {
return m.Timeout
}
return nil
}
type ExecTaskResponse struct {
// Stdout from the exec
Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
// Stderr from the exec
Stderr []byte `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"`
// Result from the exec
Result *ExitResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExecTaskResponse) Reset() { *m = ExecTaskResponse{} }
func (m *ExecTaskResponse) String() string { return proto.CompactTextString(m) }
func (*ExecTaskResponse) ProtoMessage() {}
func (*ExecTaskResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{24}
}
func (m *ExecTaskResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExecTaskResponse.Unmarshal(m, b)
}
func (m *ExecTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExecTaskResponse.Marshal(b, m, deterministic)
}
func (dst *ExecTaskResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExecTaskResponse.Merge(dst, src)
}
func (m *ExecTaskResponse) XXX_Size() int {
return xxx_messageInfo_ExecTaskResponse.Size(m)
}
func (m *ExecTaskResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ExecTaskResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ExecTaskResponse proto.InternalMessageInfo
func (m *ExecTaskResponse) GetStdout() []byte {
if m != nil {
return m.Stdout
}
return nil
}
func (m *ExecTaskResponse) GetStderr() []byte {
if m != nil {
return m.Stderr
}
return nil
}
func (m *ExecTaskResponse) GetResult() *ExitResult {
if m != nil {
return m.Result
}
return nil
}
type DriverCapabilities struct {
// SendSignals indicates that the driver can send process signals (ex. SIGUSR1)
// to the task.
SendSignals bool `protobuf:"varint,1,opt,name=send_signals,json=sendSignals,proto3" json:"send_signals,omitempty"`
// Exec indicates that the driver supports executing arbitrary commands
// in the task's execution environment.
Exec bool `protobuf:"varint,2,opt,name=exec,proto3" json:"exec,omitempty"`
// FsIsolation indicates what kind of filesystem isolation a driver supports.
FsIsolation DriverCapabilities_FSIsolation `protobuf:"varint,3,opt,name=fs_isolation,json=fsIsolation,proto3,enum=hashicorp.nomad.plugins.drivers.proto.DriverCapabilities_FSIsolation" json:"fs_isolation,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DriverCapabilities) Reset() { *m = DriverCapabilities{} }
func (m *DriverCapabilities) String() string { return proto.CompactTextString(m) }
func (*DriverCapabilities) ProtoMessage() {}
func (*DriverCapabilities) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{25}
}
func (m *DriverCapabilities) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DriverCapabilities.Unmarshal(m, b)
}
func (m *DriverCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DriverCapabilities.Marshal(b, m, deterministic)
}
func (dst *DriverCapabilities) XXX_Merge(src proto.Message) {
xxx_messageInfo_DriverCapabilities.Merge(dst, src)
}
func (m *DriverCapabilities) XXX_Size() int {
return xxx_messageInfo_DriverCapabilities.Size(m)
}
func (m *DriverCapabilities) XXX_DiscardUnknown() {
xxx_messageInfo_DriverCapabilities.DiscardUnknown(m)
}
var xxx_messageInfo_DriverCapabilities proto.InternalMessageInfo
func (m *DriverCapabilities) GetSendSignals() bool {
if m != nil {
return m.SendSignals
}
return false
}
func (m *DriverCapabilities) GetExec() bool {
if m != nil {
return m.Exec
}
return false
}
func (m *DriverCapabilities) GetFsIsolation() DriverCapabilities_FSIsolation {
if m != nil {
return m.FsIsolation
}
return DriverCapabilities_NONE
}
type TaskConfig struct {
// Id of the task, recommended to the globally unique, must be unique to the driver.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Name of the task
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// MsgpackDriverConfig is the encoded driver configuation of the task
MsgpackDriverConfig []byte `protobuf:"bytes,3,opt,name=msgpack_driver_config,json=msgpackDriverConfig,proto3" json:"msgpack_driver_config,omitempty"`
// Env is the a set of key/value pairs to be set as environment variables
Env map[string]string `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Resources defines the resources to isolate
Resources *Resources `protobuf:"bytes,5,opt,name=resources,proto3" json:"resources,omitempty"`
// Mounts is a list of targets to bind mount into the task directory
Mounts []*Mount `protobuf:"bytes,6,rep,name=mounts,proto3" json:"mounts,omitempty"`
// Devices is a list of system devices to mount into the task's execution
// environment.
Devices []*Device `protobuf:"bytes,7,rep,name=devices,proto3" json:"devices,omitempty"`
// User defines the operating system user the tasks should run as
User string `protobuf:"bytes,8,opt,name=user,proto3" json:"user,omitempty"`
// AllocDir is the directory on the host where the allocation directory
// exists.
AllocDir string `protobuf:"bytes,9,opt,name=alloc_dir,json=allocDir,proto3" json:"alloc_dir,omitempty"`
// StdoutPath is the path to the file to open and write task stdout to
StdoutPath string `protobuf:"bytes,10,opt,name=stdout_path,json=stdoutPath,proto3" json:"stdout_path,omitempty"`
// StderrPath is the path to the file to open and write task stderr to
StderrPath string `protobuf:"bytes,11,opt,name=stderr_path,json=stderrPath,proto3" json:"stderr_path,omitempty"`
// TaskGroupName is the name of the task group which this task is a member of
TaskGroupName string `protobuf:"bytes,12,opt,name=task_group_name,json=taskGroupName,proto3" json:"task_group_name,omitempty"`
// JobName is the name of the job of which this task is part of
JobName string `protobuf:"bytes,13,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
// AllocId is the ID of the associated allocation
AllocId string `protobuf:"bytes,14,opt,name=alloc_id,json=allocId,proto3" json:"alloc_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskConfig) Reset() { *m = TaskConfig{} }
func (m *TaskConfig) String() string { return proto.CompactTextString(m) }
func (*TaskConfig) ProtoMessage() {}
func (*TaskConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{26}
}
func (m *TaskConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskConfig.Unmarshal(m, b)
}
func (m *TaskConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskConfig.Marshal(b, m, deterministic)
}
func (dst *TaskConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskConfig.Merge(dst, src)
}
func (m *TaskConfig) XXX_Size() int {
return xxx_messageInfo_TaskConfig.Size(m)
}
func (m *TaskConfig) XXX_DiscardUnknown() {
xxx_messageInfo_TaskConfig.DiscardUnknown(m)
}
var xxx_messageInfo_TaskConfig proto.InternalMessageInfo
func (m *TaskConfig) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *TaskConfig) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *TaskConfig) GetMsgpackDriverConfig() []byte {
if m != nil {
return m.MsgpackDriverConfig
}
return nil
}
func (m *TaskConfig) GetEnv() map[string]string {
if m != nil {
return m.Env
}
return nil
}
func (m *TaskConfig) GetResources() *Resources {
if m != nil {
return m.Resources
}
return nil
}
func (m *TaskConfig) GetMounts() []*Mount {
if m != nil {
return m.Mounts
}
return nil
}
func (m *TaskConfig) GetDevices() []*Device {
if m != nil {
return m.Devices
}
return nil
}
func (m *TaskConfig) GetUser() string {
if m != nil {
return m.User
}
return ""
}
func (m *TaskConfig) GetAllocDir() string {
if m != nil {
return m.AllocDir
}
return ""
}
func (m *TaskConfig) GetStdoutPath() string {
if m != nil {
return m.StdoutPath
}
return ""
}
func (m *TaskConfig) GetStderrPath() string {
if m != nil {
return m.StderrPath
}
return ""
}
func (m *TaskConfig) GetTaskGroupName() string {
if m != nil {
return m.TaskGroupName
}
return ""
}
func (m *TaskConfig) GetJobName() string {
if m != nil {
return m.JobName
}
return ""
}
func (m *TaskConfig) GetAllocId() string {
if m != nil {
return m.AllocId
}
return ""
}
type Resources struct {
// RawResources are the resources set for the task
RawResources *RawResources `protobuf:"bytes,1,opt,name=raw_resources,json=rawResources,proto3" json:"raw_resources,omitempty"`
// LinuxResources are the computed values to set for specific Linux features
LinuxResources *LinuxResources `protobuf:"bytes,2,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Resources) Reset() { *m = Resources{} }
func (m *Resources) String() string { return proto.CompactTextString(m) }
func (*Resources) ProtoMessage() {}
func (*Resources) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{27}
}
func (m *Resources) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Resources.Unmarshal(m, b)
}
func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Resources.Marshal(b, m, deterministic)
}
func (dst *Resources) XXX_Merge(src proto.Message) {
xxx_messageInfo_Resources.Merge(dst, src)
}
func (m *Resources) XXX_Size() int {
return xxx_messageInfo_Resources.Size(m)
}
func (m *Resources) XXX_DiscardUnknown() {
xxx_messageInfo_Resources.DiscardUnknown(m)
}
var xxx_messageInfo_Resources proto.InternalMessageInfo
func (m *Resources) GetRawResources() *RawResources {
if m != nil {
return m.RawResources
}
return nil
}
func (m *Resources) GetLinuxResources() *LinuxResources {
if m != nil {
return m.LinuxResources
}
return nil
}
type RawResources struct {
Cpu int64 `protobuf:"varint,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
Memory int64 `protobuf:"varint,2,opt,name=memory,proto3" json:"memory,omitempty"`
Disk int64 `protobuf:"varint,3,opt,name=disk,proto3" json:"disk,omitempty"`
Iops int64 `protobuf:"varint,4,opt,name=iops,proto3" json:"iops,omitempty"`
Networks []*NetworkResource `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RawResources) Reset() { *m = RawResources{} }
func (m *RawResources) String() string { return proto.CompactTextString(m) }
func (*RawResources) ProtoMessage() {}
func (*RawResources) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{28}
}
func (m *RawResources) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RawResources.Unmarshal(m, b)
}
func (m *RawResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RawResources.Marshal(b, m, deterministic)
}
func (dst *RawResources) XXX_Merge(src proto.Message) {
xxx_messageInfo_RawResources.Merge(dst, src)
}
func (m *RawResources) XXX_Size() int {
return xxx_messageInfo_RawResources.Size(m)
}
func (m *RawResources) XXX_DiscardUnknown() {
xxx_messageInfo_RawResources.DiscardUnknown(m)
}
var xxx_messageInfo_RawResources proto.InternalMessageInfo
func (m *RawResources) GetCpu() int64 {
if m != nil {
return m.Cpu
}
return 0
}
func (m *RawResources) GetMemory() int64 {
if m != nil {
return m.Memory
}
return 0
}
func (m *RawResources) GetDisk() int64 {
if m != nil {
return m.Disk
}
return 0
}
func (m *RawResources) GetIops() int64 {
if m != nil {
return m.Iops
}
return 0
}
func (m *RawResources) GetNetworks() []*NetworkResource {
if m != nil {
return m.Networks
}
return nil
}
type NetworkResource struct {
Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
Cidr string `protobuf:"bytes,2,opt,name=cidr,proto3" json:"cidr,omitempty"`
Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
Mbits int32 `protobuf:"varint,4,opt,name=mbits,proto3" json:"mbits,omitempty"`
ReservedPorts []*NetworkPort `protobuf:"bytes,5,rep,name=reserved_ports,json=reservedPorts,proto3" json:"reserved_ports,omitempty"`
DynamicPorts []*NetworkPort `protobuf:"bytes,6,rep,name=dynamic_ports,json=dynamicPorts,proto3" json:"dynamic_ports,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkResource) Reset() { *m = NetworkResource{} }
func (m *NetworkResource) String() string { return proto.CompactTextString(m) }
func (*NetworkResource) ProtoMessage() {}
func (*NetworkResource) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{29}
}
func (m *NetworkResource) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkResource.Unmarshal(m, b)
}
func (m *NetworkResource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkResource.Marshal(b, m, deterministic)
}
func (dst *NetworkResource) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkResource.Merge(dst, src)
}
func (m *NetworkResource) XXX_Size() int {
return xxx_messageInfo_NetworkResource.Size(m)
}
func (m *NetworkResource) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkResource.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkResource proto.InternalMessageInfo
func (m *NetworkResource) GetDevice() string {
if m != nil {
return m.Device
}
return ""
}
func (m *NetworkResource) GetCidr() string {
if m != nil {
return m.Cidr
}
return ""
}
func (m *NetworkResource) GetIp() string {
if m != nil {
return m.Ip
}
return ""
}
func (m *NetworkResource) GetMbits() int32 {
if m != nil {
return m.Mbits
}
return 0
}
func (m *NetworkResource) GetReservedPorts() []*NetworkPort {
if m != nil {
return m.ReservedPorts
}
return nil
}
func (m *NetworkResource) GetDynamicPorts() []*NetworkPort {
if m != nil {
return m.DynamicPorts
}
return nil
}
type NetworkPort struct {
Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkPort) Reset() { *m = NetworkPort{} }
func (m *NetworkPort) String() string { return proto.CompactTextString(m) }
func (*NetworkPort) ProtoMessage() {}
func (*NetworkPort) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{30}
}
func (m *NetworkPort) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkPort.Unmarshal(m, b)
}
func (m *NetworkPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkPort.Marshal(b, m, deterministic)
}
func (dst *NetworkPort) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkPort.Merge(dst, src)
}
func (m *NetworkPort) XXX_Size() int {
return xxx_messageInfo_NetworkPort.Size(m)
}
func (m *NetworkPort) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkPort.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkPort proto.InternalMessageInfo
func (m *NetworkPort) GetLabel() string {
if m != nil {
return m.Label
}
return ""
}
func (m *NetworkPort) GetValue() int32 {
if m != nil {
return m.Value
}
return 0
}
type LinuxResources struct {
// CPU CFS (Completely Fair Scheduler) period. Default: 0 (not specified)
CpuPeriod int64 `protobuf:"varint,1,opt,name=cpu_period,json=cpuPeriod,proto3" json:"cpu_period,omitempty"`
// CPU CFS (Completely Fair Scheduler) quota. Default: 0 (not specified)
CpuQuota int64 `protobuf:"varint,2,opt,name=cpu_quota,json=cpuQuota,proto3" json:"cpu_quota,omitempty"`
// CPU shares (relative weight vs. other containers). Default: 0 (not specified)
CpuShares int64 `protobuf:"varint,3,opt,name=cpu_shares,json=cpuShares,proto3" json:"cpu_shares,omitempty"`
// Memory limit in bytes. Default: 0 (not specified)
MemoryLimitBytes int64 `protobuf:"varint,4,opt,name=memory_limit_bytes,json=memoryLimitBytes,proto3" json:"memory_limit_bytes,omitempty"`
// OOMScoreAdj adjusts the oom-killer score. Default: 0 (not specified)
OomScoreAdj int64 `protobuf:"varint,5,opt,name=oom_score_adj,json=oomScoreAdj,proto3" json:"oom_score_adj,omitempty"`
// CpusetCpus constrains the allowed set of logical CPUs. Default: "" (not specified)
CpusetCpus string `protobuf:"bytes,6,opt,name=cpuset_cpus,json=cpusetCpus,proto3" json:"cpuset_cpus,omitempty"`
// CpusetMems constrains the allowed set of memory nodes. Default: "" (not specified)
CpusetMems string `protobuf:"bytes,7,opt,name=cpuset_mems,json=cpusetMems,proto3" json:"cpuset_mems,omitempty"`
// PercentTicks is a compatibility option for docker and should not be used
PercentTicks float64 `protobuf:"fixed64,8,opt,name=PercentTicks,proto3" json:"PercentTicks,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LinuxResources) Reset() { *m = LinuxResources{} }
func (m *LinuxResources) String() string { return proto.CompactTextString(m) }
func (*LinuxResources) ProtoMessage() {}
func (*LinuxResources) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{31}
}
func (m *LinuxResources) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LinuxResources.Unmarshal(m, b)
}
func (m *LinuxResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LinuxResources.Marshal(b, m, deterministic)
}
func (dst *LinuxResources) XXX_Merge(src proto.Message) {
xxx_messageInfo_LinuxResources.Merge(dst, src)
}
func (m *LinuxResources) XXX_Size() int {
return xxx_messageInfo_LinuxResources.Size(m)
}
func (m *LinuxResources) XXX_DiscardUnknown() {
xxx_messageInfo_LinuxResources.DiscardUnknown(m)
}
var xxx_messageInfo_LinuxResources proto.InternalMessageInfo
func (m *LinuxResources) GetCpuPeriod() int64 {
if m != nil {
return m.CpuPeriod
}
return 0
}
func (m *LinuxResources) GetCpuQuota() int64 {
if m != nil {
return m.CpuQuota
}
return 0
}
func (m *LinuxResources) GetCpuShares() int64 {
if m != nil {
return m.CpuShares
}
return 0
}
func (m *LinuxResources) GetMemoryLimitBytes() int64 {
if m != nil {
return m.MemoryLimitBytes
}
return 0
}
func (m *LinuxResources) GetOomScoreAdj() int64 {
if m != nil {
return m.OomScoreAdj
}
return 0
}
func (m *LinuxResources) GetCpusetCpus() string {
if m != nil {
return m.CpusetCpus
}
return ""
}
func (m *LinuxResources) GetCpusetMems() string {
if m != nil {
return m.CpusetMems
}
return ""
}
func (m *LinuxResources) GetPercentTicks() float64 {
if m != nil {
return m.PercentTicks
}
return 0
}
type Mount struct {
// TaskPath is the file path within the task directory to mount to
TaskPath string `protobuf:"bytes,1,opt,name=task_path,json=taskPath,proto3" json:"task_path,omitempty"`
// HostPath is the file path on the host to mount from
HostPath string `protobuf:"bytes,2,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"`
// Readonly if set true, mounts the path in readonly mode
Readonly bool `protobuf:"varint,3,opt,name=readonly,proto3" json:"readonly,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Mount) Reset() { *m = Mount{} }
func (m *Mount) String() string { return proto.CompactTextString(m) }
func (*Mount) ProtoMessage() {}
func (*Mount) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{32}
}
func (m *Mount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Mount.Unmarshal(m, b)
}
func (m *Mount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Mount.Marshal(b, m, deterministic)
}
func (dst *Mount) XXX_Merge(src proto.Message) {
xxx_messageInfo_Mount.Merge(dst, src)
}
func (m *Mount) XXX_Size() int {
return xxx_messageInfo_Mount.Size(m)
}
func (m *Mount) XXX_DiscardUnknown() {
xxx_messageInfo_Mount.DiscardUnknown(m)
}
var xxx_messageInfo_Mount proto.InternalMessageInfo
func (m *Mount) GetTaskPath() string {
if m != nil {
return m.TaskPath
}
return ""
}
func (m *Mount) GetHostPath() string {
if m != nil {
return m.HostPath
}
return ""
}
func (m *Mount) GetReadonly() bool {
if m != nil {
return m.Readonly
}
return false
}
type Device struct {
// TaskPath is the file path within the task to mount the device to
TaskPath string `protobuf:"bytes,1,opt,name=task_path,json=taskPath,proto3" json:"task_path,omitempty"`
// HostPath is the path on the host to the source device
HostPath string `protobuf:"bytes,2,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"`
// CgroupPermissions defines the Cgroup permissions of the device.
// One or more of the following options can be set:
// * r - allows the task to read from the specified device.
// * w - allows the task to write to the specified device.
// * m - allows the task to create device files that do not yet exist.
//
// Example: "rw"
CgroupPermissions string `protobuf:"bytes,3,opt,name=cgroup_permissions,json=cgroupPermissions,proto3" json:"cgroup_permissions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Device) Reset() { *m = Device{} }
func (m *Device) String() string { return proto.CompactTextString(m) }
func (*Device) ProtoMessage() {}
func (*Device) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{33}
}
func (m *Device) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Device.Unmarshal(m, b)
}
func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Device.Marshal(b, m, deterministic)
}
func (dst *Device) XXX_Merge(src proto.Message) {
xxx_messageInfo_Device.Merge(dst, src)
}
func (m *Device) XXX_Size() int {
return xxx_messageInfo_Device.Size(m)
}
func (m *Device) XXX_DiscardUnknown() {
xxx_messageInfo_Device.DiscardUnknown(m)
}
var xxx_messageInfo_Device proto.InternalMessageInfo
func (m *Device) GetTaskPath() string {
if m != nil {
return m.TaskPath
}
return ""
}
func (m *Device) GetHostPath() string {
if m != nil {
return m.HostPath
}
return ""
}
func (m *Device) GetCgroupPermissions() string {
if m != nil {
return m.CgroupPermissions
}
return ""
}
// TaskHandle is created when starting a task and is used to recover task
type TaskHandle struct {
// Config is the TaskConfig for the task
Config *TaskConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
// State is the state of the task's execution
State TaskState `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.nomad.plugins.drivers.proto.TaskState" json:"state,omitempty"`
// DriverState is the encoded state for the specific driver
DriverState []byte `protobuf:"bytes,3,opt,name=driver_state,json=driverState,proto3" json:"driver_state,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskHandle) Reset() { *m = TaskHandle{} }
func (m *TaskHandle) String() string { return proto.CompactTextString(m) }
func (*TaskHandle) ProtoMessage() {}
func (*TaskHandle) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{34}
}
func (m *TaskHandle) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskHandle.Unmarshal(m, b)
}
func (m *TaskHandle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskHandle.Marshal(b, m, deterministic)
}
func (dst *TaskHandle) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskHandle.Merge(dst, src)
}
func (m *TaskHandle) XXX_Size() int {
return xxx_messageInfo_TaskHandle.Size(m)
}
func (m *TaskHandle) XXX_DiscardUnknown() {
xxx_messageInfo_TaskHandle.DiscardUnknown(m)
}
var xxx_messageInfo_TaskHandle proto.InternalMessageInfo
func (m *TaskHandle) GetConfig() *TaskConfig {
if m != nil {
return m.Config
}
return nil
}
func (m *TaskHandle) GetState() TaskState {
if m != nil {
return m.State
}
return TaskState_UNKNOWN
}
func (m *TaskHandle) GetDriverState() []byte {
if m != nil {
return m.DriverState
}
return nil
}
// NetworkOverride contains network settings which the driver may override
// for the task, such as when the driver is setting up the task's network.
type NetworkOverride struct {
// PortMap can be set to replace ports with driver-specific mappings
PortMap map[string]int32 `protobuf:"bytes,1,rep,name=port_map,json=portMap,proto3" json:"port_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
// Addr is the IP address for the task created by the driver
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
// AutoAdvertise indicates whether the driver thinks services that choose
// to auto_advertise_addresses should use this IP instead of the host's.
AutoAdvertise bool `protobuf:"varint,3,opt,name=auto_advertise,json=autoAdvertise,proto3" json:"auto_advertise,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *NetworkOverride) Reset() { *m = NetworkOverride{} }
func (m *NetworkOverride) String() string { return proto.CompactTextString(m) }
func (*NetworkOverride) ProtoMessage() {}
func (*NetworkOverride) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{35}
}
func (m *NetworkOverride) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkOverride.Unmarshal(m, b)
}
func (m *NetworkOverride) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NetworkOverride.Marshal(b, m, deterministic)
}
func (dst *NetworkOverride) XXX_Merge(src proto.Message) {
xxx_messageInfo_NetworkOverride.Merge(dst, src)
}
func (m *NetworkOverride) XXX_Size() int {
return xxx_messageInfo_NetworkOverride.Size(m)
}
func (m *NetworkOverride) XXX_DiscardUnknown() {
xxx_messageInfo_NetworkOverride.DiscardUnknown(m)
}
var xxx_messageInfo_NetworkOverride proto.InternalMessageInfo
func (m *NetworkOverride) GetPortMap() map[string]int32 {
if m != nil {
return m.PortMap
}
return nil
}
func (m *NetworkOverride) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
func (m *NetworkOverride) GetAutoAdvertise() bool {
if m != nil {
return m.AutoAdvertise
}
return false
}
// ExitResult contains information about the exit status of a task
type ExitResult struct {
// ExitCode returned from the task on exit
ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
// Signal is set if a signal was sent to the task
Signal int32 `protobuf:"varint,2,opt,name=signal,proto3" json:"signal,omitempty"`
// OomKilled is true if the task exited as a result of the OOM Killer
OomKilled bool `protobuf:"varint,3,opt,name=oom_killed,json=oomKilled,proto3" json:"oom_killed,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ExitResult) Reset() { *m = ExitResult{} }
func (m *ExitResult) String() string { return proto.CompactTextString(m) }
func (*ExitResult) ProtoMessage() {}
func (*ExitResult) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{36}
}
func (m *ExitResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExitResult.Unmarshal(m, b)
}
func (m *ExitResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ExitResult.Marshal(b, m, deterministic)
}
func (dst *ExitResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_ExitResult.Merge(dst, src)
}
func (m *ExitResult) XXX_Size() int {
return xxx_messageInfo_ExitResult.Size(m)
}
func (m *ExitResult) XXX_DiscardUnknown() {
xxx_messageInfo_ExitResult.DiscardUnknown(m)
}
var xxx_messageInfo_ExitResult proto.InternalMessageInfo
func (m *ExitResult) GetExitCode() int32 {
if m != nil {
return m.ExitCode
}
return 0
}
func (m *ExitResult) GetSignal() int32 {
if m != nil {
return m.Signal
}
return 0
}
func (m *ExitResult) GetOomKilled() bool {
if m != nil {
return m.OomKilled
}
return false
}
// TaskStatus includes information of a specific task
type TaskStatus struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// State is the state of the task's execution
State TaskState `protobuf:"varint,3,opt,name=state,proto3,enum=hashicorp.nomad.plugins.drivers.proto.TaskState" json:"state,omitempty"`
// StartedAt is the timestamp when the task was started
StartedAt *timestamp.Timestamp `protobuf:"bytes,4,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
// CompletedAt is the timestamp when the task exited.
// If the task is still running, CompletedAt will not be set
CompletedAt *timestamp.Timestamp `protobuf:"bytes,5,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
// Result is set when CompletedAt is set.
Result *ExitResult `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskStatus) Reset() { *m = TaskStatus{} }
func (m *TaskStatus) String() string { return proto.CompactTextString(m) }
func (*TaskStatus) ProtoMessage() {}
func (*TaskStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{37}
}
func (m *TaskStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskStatus.Unmarshal(m, b)
}
func (m *TaskStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskStatus.Marshal(b, m, deterministic)
}
func (dst *TaskStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskStatus.Merge(dst, src)
}
func (m *TaskStatus) XXX_Size() int {
return xxx_messageInfo_TaskStatus.Size(m)
}
func (m *TaskStatus) XXX_DiscardUnknown() {
xxx_messageInfo_TaskStatus.DiscardUnknown(m)
}
var xxx_messageInfo_TaskStatus proto.InternalMessageInfo
func (m *TaskStatus) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *TaskStatus) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *TaskStatus) GetState() TaskState {
if m != nil {
return m.State
}
return TaskState_UNKNOWN
}
func (m *TaskStatus) GetStartedAt() *timestamp.Timestamp {
if m != nil {
return m.StartedAt
}
return nil
}
func (m *TaskStatus) GetCompletedAt() *timestamp.Timestamp {
if m != nil {
return m.CompletedAt
}
return nil
}
func (m *TaskStatus) GetResult() *ExitResult {
if m != nil {
return m.Result
}
return nil
}
type TaskDriverStatus struct {
// Attributes is a set of string/string key value pairs specific to the
// implementing driver
Attributes map[string]string `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskDriverStatus) Reset() { *m = TaskDriverStatus{} }
func (m *TaskDriverStatus) String() string { return proto.CompactTextString(m) }
func (*TaskDriverStatus) ProtoMessage() {}
func (*TaskDriverStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{38}
}
func (m *TaskDriverStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskDriverStatus.Unmarshal(m, b)
}
func (m *TaskDriverStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskDriverStatus.Marshal(b, m, deterministic)
}
func (dst *TaskDriverStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskDriverStatus.Merge(dst, src)
}
func (m *TaskDriverStatus) XXX_Size() int {
return xxx_messageInfo_TaskDriverStatus.Size(m)
}
func (m *TaskDriverStatus) XXX_DiscardUnknown() {
xxx_messageInfo_TaskDriverStatus.DiscardUnknown(m)
}
var xxx_messageInfo_TaskDriverStatus proto.InternalMessageInfo
func (m *TaskDriverStatus) GetAttributes() map[string]string {
if m != nil {
return m.Attributes
}
return nil
}
type TaskStats struct {
// Id of the task
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Timestamp for which the stats were collected
Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// AggResourceUsage is the aggreate usage of all processes
AggResourceUsage *TaskResourceUsage `protobuf:"bytes,3,opt,name=agg_resource_usage,json=aggResourceUsage,proto3" json:"agg_resource_usage,omitempty"`
// ResourceUsageByPid breaks the usage stats by process
ResourceUsageByPid map[string]*TaskResourceUsage `protobuf:"bytes,4,rep,name=resource_usage_by_pid,json=resourceUsageByPid,proto3" json:"resource_usage_by_pid,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskStats) Reset() { *m = TaskStats{} }
func (m *TaskStats) String() string { return proto.CompactTextString(m) }
func (*TaskStats) ProtoMessage() {}
func (*TaskStats) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{39}
}
func (m *TaskStats) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskStats.Unmarshal(m, b)
}
func (m *TaskStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskStats.Marshal(b, m, deterministic)
}
func (dst *TaskStats) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskStats.Merge(dst, src)
}
func (m *TaskStats) XXX_Size() int {
return xxx_messageInfo_TaskStats.Size(m)
}
func (m *TaskStats) XXX_DiscardUnknown() {
xxx_messageInfo_TaskStats.DiscardUnknown(m)
}
var xxx_messageInfo_TaskStats proto.InternalMessageInfo
func (m *TaskStats) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *TaskStats) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *TaskStats) GetAggResourceUsage() *TaskResourceUsage {
if m != nil {
return m.AggResourceUsage
}
return nil
}
func (m *TaskStats) GetResourceUsageByPid() map[string]*TaskResourceUsage {
if m != nil {
return m.ResourceUsageByPid
}
return nil
}
type TaskResourceUsage struct {
// CPU usage stats
Cpu *CPUUsage `protobuf:"bytes,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
// Memory usage stats
Memory *MemoryUsage `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TaskResourceUsage) Reset() { *m = TaskResourceUsage{} }
func (m *TaskResourceUsage) String() string { return proto.CompactTextString(m) }
func (*TaskResourceUsage) ProtoMessage() {}
func (*TaskResourceUsage) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{40}
}
func (m *TaskResourceUsage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TaskResourceUsage.Unmarshal(m, b)
}
func (m *TaskResourceUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TaskResourceUsage.Marshal(b, m, deterministic)
}
func (dst *TaskResourceUsage) XXX_Merge(src proto.Message) {
xxx_messageInfo_TaskResourceUsage.Merge(dst, src)
}
func (m *TaskResourceUsage) XXX_Size() int {
return xxx_messageInfo_TaskResourceUsage.Size(m)
}
func (m *TaskResourceUsage) XXX_DiscardUnknown() {
xxx_messageInfo_TaskResourceUsage.DiscardUnknown(m)
}
var xxx_messageInfo_TaskResourceUsage proto.InternalMessageInfo
func (m *TaskResourceUsage) GetCpu() *CPUUsage {
if m != nil {
return m.Cpu
}
return nil
}
func (m *TaskResourceUsage) GetMemory() *MemoryUsage {
if m != nil {
return m.Memory
}
return nil
}
type CPUUsage struct {
SystemMode float64 `protobuf:"fixed64,1,opt,name=system_mode,json=systemMode,proto3" json:"system_mode,omitempty"`
UserMode float64 `protobuf:"fixed64,2,opt,name=user_mode,json=userMode,proto3" json:"user_mode,omitempty"`
TotalTicks float64 `protobuf:"fixed64,3,opt,name=total_ticks,json=totalTicks,proto3" json:"total_ticks,omitempty"`
ThrottledPeriods uint64 `protobuf:"varint,4,opt,name=throttled_periods,json=throttledPeriods,proto3" json:"throttled_periods,omitempty"`
ThrottledTime uint64 `protobuf:"varint,5,opt,name=throttled_time,json=throttledTime,proto3" json:"throttled_time,omitempty"`
Percent float64 `protobuf:"fixed64,6,opt,name=percent,proto3" json:"percent,omitempty"`
// MeasuredFields indicates which fields were actually sampled
MeasuredFields []CPUUsage_Fields `protobuf:"varint,7,rep,packed,name=measured_fields,json=measuredFields,proto3,enum=hashicorp.nomad.plugins.drivers.proto.CPUUsage_Fields" json:"measured_fields,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CPUUsage) Reset() { *m = CPUUsage{} }
func (m *CPUUsage) String() string { return proto.CompactTextString(m) }
func (*CPUUsage) ProtoMessage() {}
func (*CPUUsage) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{41}
}
func (m *CPUUsage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CPUUsage.Unmarshal(m, b)
}
func (m *CPUUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CPUUsage.Marshal(b, m, deterministic)
}
func (dst *CPUUsage) XXX_Merge(src proto.Message) {
xxx_messageInfo_CPUUsage.Merge(dst, src)
}
func (m *CPUUsage) XXX_Size() int {
return xxx_messageInfo_CPUUsage.Size(m)
}
func (m *CPUUsage) XXX_DiscardUnknown() {
xxx_messageInfo_CPUUsage.DiscardUnknown(m)
}
var xxx_messageInfo_CPUUsage proto.InternalMessageInfo
func (m *CPUUsage) GetSystemMode() float64 {
if m != nil {
return m.SystemMode
}
return 0
}
func (m *CPUUsage) GetUserMode() float64 {
if m != nil {
return m.UserMode
}
return 0
}
func (m *CPUUsage) GetTotalTicks() float64 {
if m != nil {
return m.TotalTicks
}
return 0
}
func (m *CPUUsage) GetThrottledPeriods() uint64 {
if m != nil {
return m.ThrottledPeriods
}
return 0
}
func (m *CPUUsage) GetThrottledTime() uint64 {
if m != nil {
return m.ThrottledTime
}
return 0
}
func (m *CPUUsage) GetPercent() float64 {
if m != nil {
return m.Percent
}
return 0
}
func (m *CPUUsage) GetMeasuredFields() []CPUUsage_Fields {
if m != nil {
return m.MeasuredFields
}
return nil
}
type MemoryUsage struct {
Rss uint64 `protobuf:"varint,1,opt,name=rss,proto3" json:"rss,omitempty"`
Cache uint64 `protobuf:"varint,2,opt,name=cache,proto3" json:"cache,omitempty"`
MaxUsage uint64 `protobuf:"varint,3,opt,name=max_usage,json=maxUsage,proto3" json:"max_usage,omitempty"`
KernelUsage uint64 `protobuf:"varint,4,opt,name=kernel_usage,json=kernelUsage,proto3" json:"kernel_usage,omitempty"`
KernelMaxUsage uint64 `protobuf:"varint,5,opt,name=kernel_max_usage,json=kernelMaxUsage,proto3" json:"kernel_max_usage,omitempty"`
// MeasuredFields indicates which fields were actually sampled
MeasuredFields []MemoryUsage_Fields `protobuf:"varint,6,rep,packed,name=measured_fields,json=measuredFields,proto3,enum=hashicorp.nomad.plugins.drivers.proto.MemoryUsage_Fields" json:"measured_fields,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MemoryUsage) Reset() { *m = MemoryUsage{} }
func (m *MemoryUsage) String() string { return proto.CompactTextString(m) }
func (*MemoryUsage) ProtoMessage() {}
func (*MemoryUsage) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{42}
}
func (m *MemoryUsage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemoryUsage.Unmarshal(m, b)
}
func (m *MemoryUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MemoryUsage.Marshal(b, m, deterministic)
}
func (dst *MemoryUsage) XXX_Merge(src proto.Message) {
xxx_messageInfo_MemoryUsage.Merge(dst, src)
}
func (m *MemoryUsage) XXX_Size() int {
return xxx_messageInfo_MemoryUsage.Size(m)
}
func (m *MemoryUsage) XXX_DiscardUnknown() {
xxx_messageInfo_MemoryUsage.DiscardUnknown(m)
}
var xxx_messageInfo_MemoryUsage proto.InternalMessageInfo
func (m *MemoryUsage) GetRss() uint64 {
if m != nil {
return m.Rss
}
return 0
}
func (m *MemoryUsage) GetCache() uint64 {
if m != nil {
return m.Cache
}
return 0
}
func (m *MemoryUsage) GetMaxUsage() uint64 {
if m != nil {
return m.MaxUsage
}
return 0
}
func (m *MemoryUsage) GetKernelUsage() uint64 {
if m != nil {
return m.KernelUsage
}
return 0
}
func (m *MemoryUsage) GetKernelMaxUsage() uint64 {
if m != nil {
return m.KernelMaxUsage
}
return 0
}
func (m *MemoryUsage) GetMeasuredFields() []MemoryUsage_Fields {
if m != nil {
return m.MeasuredFields
}
return nil
}
type DriverTaskEvent struct {
// TaskId is the id of the task for the event
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Timestamp when the event occurred
Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// Message is the body of the event
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
// Annotations allows for additional key/value data to be sent along with the event
Annotations map[string]string `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DriverTaskEvent) Reset() { *m = DriverTaskEvent{} }
func (m *DriverTaskEvent) String() string { return proto.CompactTextString(m) }
func (*DriverTaskEvent) ProtoMessage() {}
func (*DriverTaskEvent) Descriptor() ([]byte, []int) {
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{43}
}
func (m *DriverTaskEvent) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DriverTaskEvent.Unmarshal(m, b)
}
func (m *DriverTaskEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DriverTaskEvent.Marshal(b, m, deterministic)
}
func (dst *DriverTaskEvent) XXX_Merge(src proto.Message) {
xxx_messageInfo_DriverTaskEvent.Merge(dst, src)
}
func (m *DriverTaskEvent) XXX_Size() int {
return xxx_messageInfo_DriverTaskEvent.Size(m)
}
func (m *DriverTaskEvent) XXX_DiscardUnknown() {
xxx_messageInfo_DriverTaskEvent.DiscardUnknown(m)
}
var xxx_messageInfo_DriverTaskEvent proto.InternalMessageInfo
func (m *DriverTaskEvent) GetTaskId() string {
if m != nil {
return m.TaskId
}
return ""
}
func (m *DriverTaskEvent) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *DriverTaskEvent) GetMessage() string {
if m != nil {
return m.Message
}
return ""
}
func (m *DriverTaskEvent) GetAnnotations() map[string]string {
if m != nil {
return m.Annotations
}
return nil
}
func init() {
proto.RegisterType((*TaskConfigSchemaRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfigSchemaRequest")
proto.RegisterType((*TaskConfigSchemaResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfigSchemaResponse")
proto.RegisterType((*CapabilitiesRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.CapabilitiesRequest")
proto.RegisterType((*CapabilitiesResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.CapabilitiesResponse")
proto.RegisterType((*FingerprintRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.FingerprintRequest")
proto.RegisterType((*FingerprintResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.FingerprintResponse")
proto.RegisterMapType((map[string]*proto1.Attribute)(nil), "hashicorp.nomad.plugins.drivers.proto.FingerprintResponse.AttributesEntry")
proto.RegisterType((*RecoverTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.RecoverTaskRequest")
proto.RegisterType((*RecoverTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.RecoverTaskResponse")
proto.RegisterType((*StartTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.StartTaskRequest")
proto.RegisterType((*StartTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.StartTaskResponse")
proto.RegisterType((*WaitTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.WaitTaskRequest")
proto.RegisterType((*WaitTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.WaitTaskResponse")
proto.RegisterType((*StopTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.StopTaskRequest")
proto.RegisterType((*StopTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.StopTaskResponse")
proto.RegisterType((*DestroyTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.DestroyTaskRequest")
proto.RegisterType((*DestroyTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.DestroyTaskResponse")
proto.RegisterType((*InspectTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.InspectTaskRequest")
proto.RegisterType((*InspectTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.InspectTaskResponse")
proto.RegisterType((*TaskStatsRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskStatsRequest")
proto.RegisterType((*TaskStatsResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskStatsResponse")
proto.RegisterType((*TaskEventsRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskEventsRequest")
proto.RegisterType((*SignalTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.SignalTaskRequest")
proto.RegisterType((*SignalTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.SignalTaskResponse")
proto.RegisterType((*ExecTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.proto.ExecTaskRequest")
proto.RegisterType((*ExecTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.proto.ExecTaskResponse")
proto.RegisterType((*DriverCapabilities)(nil), "hashicorp.nomad.plugins.drivers.proto.DriverCapabilities")
proto.RegisterType((*TaskConfig)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfig")
proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfig.EnvEntry")
proto.RegisterType((*Resources)(nil), "hashicorp.nomad.plugins.drivers.proto.Resources")
proto.RegisterType((*RawResources)(nil), "hashicorp.nomad.plugins.drivers.proto.RawResources")
proto.RegisterType((*NetworkResource)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkResource")
proto.RegisterType((*NetworkPort)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkPort")
proto.RegisterType((*LinuxResources)(nil), "hashicorp.nomad.plugins.drivers.proto.LinuxResources")
proto.RegisterType((*Mount)(nil), "hashicorp.nomad.plugins.drivers.proto.Mount")
proto.RegisterType((*Device)(nil), "hashicorp.nomad.plugins.drivers.proto.Device")
proto.RegisterType((*TaskHandle)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskHandle")
proto.RegisterType((*NetworkOverride)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkOverride")
proto.RegisterMapType((map[string]int32)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkOverride.PortMapEntry")
proto.RegisterType((*ExitResult)(nil), "hashicorp.nomad.plugins.drivers.proto.ExitResult")
proto.RegisterType((*TaskStatus)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskStatus")
proto.RegisterType((*TaskDriverStatus)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskDriverStatus")
proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskDriverStatus.AttributesEntry")
proto.RegisterType((*TaskStats)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskStats")
proto.RegisterMapType((map[string]*TaskResourceUsage)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskStats.ResourceUsageByPidEntry")
proto.RegisterType((*TaskResourceUsage)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskResourceUsage")
proto.RegisterType((*CPUUsage)(nil), "hashicorp.nomad.plugins.drivers.proto.CPUUsage")
proto.RegisterType((*MemoryUsage)(nil), "hashicorp.nomad.plugins.drivers.proto.MemoryUsage")
proto.RegisterType((*DriverTaskEvent)(nil), "hashicorp.nomad.plugins.drivers.proto.DriverTaskEvent")
proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.proto.DriverTaskEvent.AnnotationsEntry")
proto.RegisterEnum("hashicorp.nomad.plugins.drivers.proto.TaskState", TaskState_name, TaskState_value)
proto.RegisterEnum("hashicorp.nomad.plugins.drivers.proto.FingerprintResponse_HealthState", FingerprintResponse_HealthState_name, FingerprintResponse_HealthState_value)
proto.RegisterEnum("hashicorp.nomad.plugins.drivers.proto.StartTaskResponse_Result", StartTaskResponse_Result_name, StartTaskResponse_Result_value)
proto.RegisterEnum("hashicorp.nomad.plugins.drivers.proto.DriverCapabilities_FSIsolation", DriverCapabilities_FSIsolation_name, DriverCapabilities_FSIsolation_value)
proto.RegisterEnum("hashicorp.nomad.plugins.drivers.proto.CPUUsage_Fields", CPUUsage_Fields_name, CPUUsage_Fields_value)
proto.RegisterEnum("hashicorp.nomad.plugins.drivers.proto.MemoryUsage_Fields", MemoryUsage_Fields_name, MemoryUsage_Fields_value)
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// DriverClient is the client API for Driver service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type DriverClient interface {
// TaskConfigSchema returns the schema for parsing the driver
// configuration of a task.
TaskConfigSchema(ctx context.Context, in *TaskConfigSchemaRequest, opts ...grpc.CallOption) (*TaskConfigSchemaResponse, error)
// Capabilities returns a set of features which the driver implements. Some
// RPCs are not possible to implement on some runtimes, this allows the
// driver to indicate if it doesn't support these RPCs and features.
Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error)
// Fingerprint starts a stream which emits information about the driver
// including whether the driver healthy and able to function in the
// existing environment.
//
// The driver should immediately stream a FingerprintResponse when the RPC
// is initially called, then send any additional responses if there is a
// change in the driver's state.
Fingerprint(ctx context.Context, in *FingerprintRequest, opts ...grpc.CallOption) (Driver_FingerprintClient, error)
// RecoverTask is used when a task has been started but the driver may not
// know about it. Such is the case if the driver restarts or is upgraded.
RecoverTask(ctx context.Context, in *RecoverTaskRequest, opts ...grpc.CallOption) (*RecoverTaskResponse, error)
// StartTask starts and tracks the task on the implemented runtime
StartTask(ctx context.Context, in *StartTaskRequest, opts ...grpc.CallOption) (*StartTaskResponse, error)
// WaitTask blocks until the given task exits, returning the result of the
// task. It may be called after the task has exited, but before the task is
// destroyed.
WaitTask(ctx context.Context, in *WaitTaskRequest, opts ...grpc.CallOption) (*WaitTaskResponse, error)
// StopTask stops a given task by sending the desired signal to the process.
// If the task does not exit on its own within the given timeout, it will be
// forcefully killed.
StopTask(ctx context.Context, in *StopTaskRequest, opts ...grpc.CallOption) (*StopTaskResponse, error)
// DestroyTask removes the task from the driver's internal state and cleans
// up any additional resources created by the driver. It cannot be called
// on a running task, unless force is set to true.
DestroyTask(ctx context.Context, in *DestroyTaskRequest, opts ...grpc.CallOption) (*DestroyTaskResponse, error)
// InspectTask returns detailed information for the given task
InspectTask(ctx context.Context, in *InspectTaskRequest, opts ...grpc.CallOption) (*InspectTaskResponse, error)
// TaskStats collects and returns runtime metrics for the given task
TaskStats(ctx context.Context, in *TaskStatsRequest, opts ...grpc.CallOption) (*TaskStatsResponse, error)
// TaskEvents starts a streaming RPC where all task events emitted by the
// driver are streamed to the caller.
TaskEvents(ctx context.Context, in *TaskEventsRequest, opts ...grpc.CallOption) (Driver_TaskEventsClient, error)
// SignalTask sends a signal to the task
SignalTask(ctx context.Context, in *SignalTaskRequest, opts ...grpc.CallOption) (*SignalTaskResponse, error)
// ExecTask executes a command inside the tasks execution context
ExecTask(ctx context.Context, in *ExecTaskRequest, opts ...grpc.CallOption) (*ExecTaskResponse, error)
}
type driverClient struct {
cc *grpc.ClientConn
}
func NewDriverClient(cc *grpc.ClientConn) DriverClient {
return &driverClient{cc}
}
func (c *driverClient) TaskConfigSchema(ctx context.Context, in *TaskConfigSchemaRequest, opts ...grpc.CallOption) (*TaskConfigSchemaResponse, error) {
out := new(TaskConfigSchemaResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/TaskConfigSchema", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error) {
out := new(CapabilitiesResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/Capabilities", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) Fingerprint(ctx context.Context, in *FingerprintRequest, opts ...grpc.CallOption) (Driver_FingerprintClient, error) {
stream, err := c.cc.NewStream(ctx, &_Driver_serviceDesc.Streams[0], "/hashicorp.nomad.plugins.drivers.proto.Driver/Fingerprint", opts...)
if err != nil {
return nil, err
}
x := &driverFingerprintClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Driver_FingerprintClient interface {
Recv() (*FingerprintResponse, error)
grpc.ClientStream
}
type driverFingerprintClient struct {
grpc.ClientStream
}
func (x *driverFingerprintClient) Recv() (*FingerprintResponse, error) {
m := new(FingerprintResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *driverClient) RecoverTask(ctx context.Context, in *RecoverTaskRequest, opts ...grpc.CallOption) (*RecoverTaskResponse, error) {
out := new(RecoverTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/RecoverTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) StartTask(ctx context.Context, in *StartTaskRequest, opts ...grpc.CallOption) (*StartTaskResponse, error) {
out := new(StartTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/StartTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) WaitTask(ctx context.Context, in *WaitTaskRequest, opts ...grpc.CallOption) (*WaitTaskResponse, error) {
out := new(WaitTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/WaitTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) StopTask(ctx context.Context, in *StopTaskRequest, opts ...grpc.CallOption) (*StopTaskResponse, error) {
out := new(StopTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/StopTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) DestroyTask(ctx context.Context, in *DestroyTaskRequest, opts ...grpc.CallOption) (*DestroyTaskResponse, error) {
out := new(DestroyTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/DestroyTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) InspectTask(ctx context.Context, in *InspectTaskRequest, opts ...grpc.CallOption) (*InspectTaskResponse, error) {
out := new(InspectTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/InspectTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) TaskStats(ctx context.Context, in *TaskStatsRequest, opts ...grpc.CallOption) (*TaskStatsResponse, error) {
out := new(TaskStatsResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/TaskStats", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) TaskEvents(ctx context.Context, in *TaskEventsRequest, opts ...grpc.CallOption) (Driver_TaskEventsClient, error) {
stream, err := c.cc.NewStream(ctx, &_Driver_serviceDesc.Streams[1], "/hashicorp.nomad.plugins.drivers.proto.Driver/TaskEvents", opts...)
if err != nil {
return nil, err
}
x := &driverTaskEventsClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Driver_TaskEventsClient interface {
Recv() (*DriverTaskEvent, error)
grpc.ClientStream
}
type driverTaskEventsClient struct {
grpc.ClientStream
}
func (x *driverTaskEventsClient) Recv() (*DriverTaskEvent, error) {
m := new(DriverTaskEvent)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *driverClient) SignalTask(ctx context.Context, in *SignalTaskRequest, opts ...grpc.CallOption) (*SignalTaskResponse, error) {
out := new(SignalTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/SignalTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *driverClient) ExecTask(ctx context.Context, in *ExecTaskRequest, opts ...grpc.CallOption) (*ExecTaskResponse, error) {
out := new(ExecTaskResponse)
err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.proto.Driver/ExecTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// DriverServer is the server API for Driver service.
type DriverServer interface {
// TaskConfigSchema returns the schema for parsing the driver
// configuration of a task.
TaskConfigSchema(context.Context, *TaskConfigSchemaRequest) (*TaskConfigSchemaResponse, error)
// Capabilities returns a set of features which the driver implements. Some
// RPCs are not possible to implement on some runtimes, this allows the
// driver to indicate if it doesn't support these RPCs and features.
Capabilities(context.Context, *CapabilitiesRequest) (*CapabilitiesResponse, error)
// Fingerprint starts a stream which emits information about the driver
// including whether the driver healthy and able to function in the
// existing environment.
//
// The driver should immediately stream a FingerprintResponse when the RPC
// is initially called, then send any additional responses if there is a
// change in the driver's state.
Fingerprint(*FingerprintRequest, Driver_FingerprintServer) error
// RecoverTask is used when a task has been started but the driver may not
// know about it. Such is the case if the driver restarts or is upgraded.
RecoverTask(context.Context, *RecoverTaskRequest) (*RecoverTaskResponse, error)
// StartTask starts and tracks the task on the implemented runtime
StartTask(context.Context, *StartTaskRequest) (*StartTaskResponse, error)
// WaitTask blocks until the given task exits, returning the result of the
// task. It may be called after the task has exited, but before the task is
// destroyed.
WaitTask(context.Context, *WaitTaskRequest) (*WaitTaskResponse, error)
// StopTask stops a given task by sending the desired signal to the process.
// If the task does not exit on its own within the given timeout, it will be
// forcefully killed.
StopTask(context.Context, *StopTaskRequest) (*StopTaskResponse, error)
// DestroyTask removes the task from the driver's internal state and cleans
// up any additional resources created by the driver. It cannot be called
// on a running task, unless force is set to true.
DestroyTask(context.Context, *DestroyTaskRequest) (*DestroyTaskResponse, error)
// InspectTask returns detailed information for the given task
InspectTask(context.Context, *InspectTaskRequest) (*InspectTaskResponse, error)
// TaskStats collects and returns runtime metrics for the given task
TaskStats(context.Context, *TaskStatsRequest) (*TaskStatsResponse, error)
// TaskEvents starts a streaming RPC where all task events emitted by the
// driver are streamed to the caller.
TaskEvents(*TaskEventsRequest, Driver_TaskEventsServer) error
// SignalTask sends a signal to the task
SignalTask(context.Context, *SignalTaskRequest) (*SignalTaskResponse, error)
// ExecTask executes a command inside the tasks execution context
ExecTask(context.Context, *ExecTaskRequest) (*ExecTaskResponse, error)
}
func RegisterDriverServer(s *grpc.Server, srv DriverServer) {
s.RegisterService(&_Driver_serviceDesc, srv)
}
func _Driver_TaskConfigSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TaskConfigSchemaRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).TaskConfigSchema(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/TaskConfigSchema",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).TaskConfigSchema(ctx, req.(*TaskConfigSchemaRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_Capabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CapabilitiesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).Capabilities(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/Capabilities",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).Capabilities(ctx, req.(*CapabilitiesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_Fingerprint_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(FingerprintRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(DriverServer).Fingerprint(m, &driverFingerprintServer{stream})
}
type Driver_FingerprintServer interface {
Send(*FingerprintResponse) error
grpc.ServerStream
}
type driverFingerprintServer struct {
grpc.ServerStream
}
func (x *driverFingerprintServer) Send(m *FingerprintResponse) error {
return x.ServerStream.SendMsg(m)
}
func _Driver_RecoverTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RecoverTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).RecoverTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/RecoverTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).RecoverTask(ctx, req.(*RecoverTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_StartTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(StartTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).StartTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/StartTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).StartTask(ctx, req.(*StartTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_WaitTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(WaitTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).WaitTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/WaitTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).WaitTask(ctx, req.(*WaitTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_StopTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(StopTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).StopTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/StopTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).StopTask(ctx, req.(*StopTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_DestroyTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DestroyTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).DestroyTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/DestroyTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).DestroyTask(ctx, req.(*DestroyTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_InspectTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InspectTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).InspectTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/InspectTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).InspectTask(ctx, req.(*InspectTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_TaskStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TaskStatsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).TaskStats(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/TaskStats",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).TaskStats(ctx, req.(*TaskStatsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_TaskEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(TaskEventsRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(DriverServer).TaskEvents(m, &driverTaskEventsServer{stream})
}
type Driver_TaskEventsServer interface {
Send(*DriverTaskEvent) error
grpc.ServerStream
}
type driverTaskEventsServer struct {
grpc.ServerStream
}
func (x *driverTaskEventsServer) Send(m *DriverTaskEvent) error {
return x.ServerStream.SendMsg(m)
}
func _Driver_SignalTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SignalTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).SignalTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/SignalTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).SignalTask(ctx, req.(*SignalTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Driver_ExecTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ExecTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DriverServer).ExecTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/hashicorp.nomad.plugins.drivers.proto.Driver/ExecTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DriverServer).ExecTask(ctx, req.(*ExecTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Driver_serviceDesc = grpc.ServiceDesc{
ServiceName: "hashicorp.nomad.plugins.drivers.proto.Driver",
HandlerType: (*DriverServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "TaskConfigSchema",
Handler: _Driver_TaskConfigSchema_Handler,
},
{
MethodName: "Capabilities",
Handler: _Driver_Capabilities_Handler,
},
{
MethodName: "RecoverTask",
Handler: _Driver_RecoverTask_Handler,
},
{
MethodName: "StartTask",
Handler: _Driver_StartTask_Handler,
},
{
MethodName: "WaitTask",
Handler: _Driver_WaitTask_Handler,
},
{
MethodName: "StopTask",
Handler: _Driver_StopTask_Handler,
},
{
MethodName: "DestroyTask",
Handler: _Driver_DestroyTask_Handler,
},
{
MethodName: "InspectTask",
Handler: _Driver_InspectTask_Handler,
},
{
MethodName: "TaskStats",
Handler: _Driver_TaskStats_Handler,
},
{
MethodName: "SignalTask",
Handler: _Driver_SignalTask_Handler,
},
{
MethodName: "ExecTask",
Handler: _Driver_ExecTask_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "Fingerprint",
Handler: _Driver_Fingerprint_Handler,
ServerStreams: true,
},
{
StreamName: "TaskEvents",
Handler: _Driver_TaskEvents_Handler,
ServerStreams: true,
},
},
Metadata: "plugins/drivers/proto/driver.proto",
}
func init() {
proto.RegisterFile("plugins/drivers/proto/driver.proto", fileDescriptor_driver_f8c1fd114dd6e6a4)
}
var fileDescriptor_driver_f8c1fd114dd6e6a4 = []byte{
// 2858 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x6f, 0x23, 0xc7,
0xb1, 0x17, 0x49, 0x91, 0x22, 0x8b, 0x14, 0x35, 0xdb, 0xbb, 0xfb, 0x4c, 0xd3, 0x78, 0xcf, 0xeb,
0x01, 0xfc, 0xb0, 0xb0, 0xbd, 0x94, 0x2d, 0xe3, 0x79, 0x3f, 0x1e, 0xfc, 0x41, 0x53, 0xb3, 0x92,
0xbc, 0x12, 0xa5, 0x34, 0x29, 0xac, 0x37, 0x89, 0x3d, 0x19, 0xcd, 0xb4, 0xc8, 0x59, 0x71, 0x3e,
0xdc, 0x3d, 0xa3, 0x95, 0x10, 0x04, 0x09, 0x12, 0x20, 0x48, 0x0e, 0x01, 0x72, 0x09, 0x02, 0xe4,
0x98, 0x9c, 0x82, 0x5c, 0x73, 0x4a, 0xe0, 0x4b, 0x80, 0xfc, 0x0f, 0x39, 0xe6, 0x12, 0x20, 0xd7,
0xfc, 0x07, 0x41, 0x7f, 0xcc, 0x70, 0x28, 0x69, 0xbd, 0x43, 0x6e, 0x4e, 0x9c, 0xae, 0xee, 0xfa,
0x75, 0xb1, 0xaa, 0xba, 0xaa, 0xba, 0x0b, 0xf4, 0x70, 0x12, 0x8f, 0x5c, 0x9f, 0xad, 0x3b, 0xd4,
0x3d, 0x25, 0x94, 0xad, 0x87, 0x34, 0x88, 0x02, 0x35, 0xea, 0x88, 0x01, 0x7a, 0x73, 0x6c, 0xb1,
0xb1, 0x6b, 0x07, 0x34, 0xec, 0xf8, 0x81, 0x67, 0x39, 0x1d, 0xc5, 0xd3, 0x51, 0x3c, 0x72, 0x59,
0xfb, 0x7f, 0x46, 0x41, 0x30, 0x9a, 0x10, 0x89, 0x70, 0x14, 0x1f, 0xaf, 0x3b, 0x31, 0xb5, 0x22,
0x37, 0xf0, 0xd5, 0xfc, 0xeb, 0x17, 0xe7, 0x23, 0xd7, 0x23, 0x2c, 0xb2, 0xbc, 0x50, 0x2d, 0xf8,
0x64, 0xe4, 0x46, 0xe3, 0xf8, 0xa8, 0x63, 0x07, 0xde, 0x7a, 0xba, 0xe5, 0xba, 0xd8, 0x72, 0x3d,
0x11, 0x93, 0x8d, 0x2d, 0x4a, 0x9c, 0xf5, 0xb1, 0x3d, 0x61, 0x21, 0xb1, 0xf9, 0xaf, 0xc9, 0x3f,
0x14, 0xc2, 0x56, 0x7e, 0x04, 0x16, 0xd1, 0xd8, 0x8e, 0x92, 0xff, 0x6b, 0x45, 0x11, 0x75, 0x8f,
0xe2, 0x88, 0x48, 0x20, 0xfd, 0x55, 0x78, 0x65, 0x68, 0xb1, 0x93, 0x5e, 0xe0, 0x1f, 0xbb, 0xa3,
0x81, 0x3d, 0x26, 0x9e, 0x85, 0xc9, 0x57, 0x31, 0x61, 0x91, 0xfe, 0x5d, 0x68, 0x5d, 0x9e, 0x62,
0x61, 0xe0, 0x33, 0x82, 0x3e, 0x81, 0x65, 0x2e, 0x4d, 0xab, 0x70, 0xab, 0x70, 0xbb, 0xbe, 0xf1,
0x4e, 0xe7, 0x79, 0x8a, 0x93, 0x32, 0x74, 0xd4, 0xbf, 0xe8, 0x0c, 0x42, 0x62, 0x63, 0xc1, 0xa9,
0xdf, 0x84, 0xeb, 0x3d, 0x2b, 0xb4, 0x8e, 0xdc, 0x89, 0x1b, 0xb9, 0x84, 0x25, 0x9b, 0xc6, 0x70,
0x63, 0x96, 0xac, 0x36, 0xfc, 0x02, 0x1a, 0x76, 0x86, 0xae, 0x36, 0xbe, 0xdf, 0xc9, 0x65, 0xb1,
0xce, 0xa6, 0x18, 0xcd, 0x00, 0xcf, 0xc0, 0xe9, 0x37, 0x00, 0x3d, 0x74, 0xfd, 0x11, 0xa1, 0x21,
0x75, 0xfd, 0x28, 0x11, 0xe6, 0xeb, 0x12, 0x5c, 0x9f, 0x21, 0x2b, 0x61, 0x9e, 0x02, 0xa4, 0x7a,
0xe4, 0xa2, 0x94, 0x6e, 0xd7, 0x37, 0x3e, 0xcb, 0x29, 0xca, 0x15, 0x78, 0x9d, 0x6e, 0x0a, 0x66,
0xf8, 0x11, 0x3d, 0xc7, 0x19, 0x74, 0xf4, 0x25, 0x54, 0xc6, 0xc4, 0x9a, 0x44, 0xe3, 0x56, 0xf1,
0x56, 0xe1, 0x76, 0x73, 0xe3, 0xe1, 0x4b, 0xec, 0xb3, 0x2d, 0x80, 0x06, 0x91, 0x15, 0x11, 0xac,
0x50, 0xd1, 0x1d, 0x40, 0xf2, 0xcb, 0x74, 0x08, 0xb3, 0xa9, 0x1b, 0x72, 0x47, 0x6e, 0x95, 0x6e,
0x15, 0x6e, 0xd7, 0xf0, 0x35, 0x39, 0xb3, 0x39, 0x9d, 0x68, 0x87, 0xb0, 0x76, 0x41, 0x5a, 0xa4,
0x41, 0xe9, 0x84, 0x9c, 0x0b, 0x8b, 0xd4, 0x30, 0xff, 0x44, 0x5b, 0x50, 0x3e, 0xb5, 0x26, 0x31,
0x11, 0x22, 0xd7, 0x37, 0xde, 0x7b, 0x91, 0x7b, 0x28, 0x17, 0x9d, 0xea, 0x01, 0x4b, 0xfe, 0x07,
0xc5, 0x7b, 0x05, 0xfd, 0x3e, 0xd4, 0x33, 0x72, 0xa3, 0x26, 0xc0, 0x61, 0x7f, 0xd3, 0x18, 0x1a,
0xbd, 0xa1, 0xb1, 0xa9, 0x2d, 0xa1, 0x55, 0xa8, 0x1d, 0xf6, 0xb7, 0x8d, 0xee, 0xee, 0x70, 0xfb,
0x89, 0x56, 0x40, 0x75, 0x58, 0x49, 0x06, 0x45, 0xfd, 0x0c, 0x10, 0x26, 0x76, 0x70, 0x4a, 0x28,
0x77, 0x64, 0x65, 0x55, 0xf4, 0x0a, 0xac, 0x44, 0x16, 0x3b, 0x31, 0x5d, 0x47, 0xc9, 0x5c, 0xe1,
0xc3, 0x1d, 0x07, 0xed, 0x40, 0x65, 0x6c, 0xf9, 0xce, 0xe4, 0xc5, 0x72, 0xcf, 0xaa, 0x9a, 0x83,
0x6f, 0x0b, 0x46, 0xac, 0x00, 0xb8, 0x77, 0xcf, 0xec, 0x2c, 0x0d, 0xa0, 0x3f, 0x01, 0x6d, 0x10,
0x59, 0x34, 0xca, 0x8a, 0x63, 0xc0, 0x32, 0xdf, 0x5f, 0x79, 0xf4, 0x3c, 0x7b, 0xca, 0x93, 0x89,
0x05, 0xbb, 0xfe, 0xaf, 0x22, 0x5c, 0xcb, 0x60, 0x2b, 0x4f, 0x7d, 0x0c, 0x15, 0x4a, 0x58, 0x3c,
0x89, 0x04, 0x7c, 0x73, 0xe3, 0xe3, 0x9c, 0xf0, 0x97, 0x90, 0x3a, 0x58, 0xc0, 0x60, 0x05, 0x87,
0x6e, 0x83, 0x26, 0x39, 0x4c, 0x42, 0x69, 0x40, 0x4d, 0x8f, 0x8d, 0x84, 0xd6, 0x6a, 0xb8, 0x29,
0xe9, 0x06, 0x27, 0xef, 0xb1, 0x51, 0x46, 0xab, 0xa5, 0x97, 0xd4, 0x2a, 0xb2, 0x40, 0xf3, 0x49,
0xf4, 0x2c, 0xa0, 0x27, 0x26, 0x57, 0x2d, 0x75, 0x1d, 0xd2, 0x5a, 0x16, 0xa0, 0x1f, 0xe4, 0x04,
0xed, 0x4b, 0xf6, 0x7d, 0xc5, 0x8d, 0xd7, 0xfc, 0x59, 0x82, 0xfe, 0x36, 0x54, 0xe4, 0x3f, 0xe5,
0x9e, 0x34, 0x38, 0xec, 0xf5, 0x8c, 0xc1, 0x40, 0x5b, 0x42, 0x35, 0x28, 0x63, 0x63, 0x88, 0xb9,
0x87, 0xd5, 0xa0, 0xfc, 0xb0, 0x3b, 0xec, 0xee, 0x6a, 0x45, 0xfd, 0x2d, 0x58, 0x7b, 0x6c, 0xb9,
0x51, 0x1e, 0xe7, 0xd2, 0x03, 0xd0, 0xa6, 0x6b, 0x95, 0x75, 0x76, 0x66, 0xac, 0x93, 0x5f, 0x35,
0xc6, 0x99, 0x1b, 0x5d, 0xb0, 0x87, 0x06, 0x25, 0x42, 0xa9, 0x32, 0x01, 0xff, 0xd4, 0x9f, 0xc1,
0xda, 0x20, 0x0a, 0xc2, 0x5c, 0x9e, 0xff, 0x3e, 0xac, 0xf0, 0x1c, 0x15, 0xc4, 0x91, 0x72, 0xfd,
0x57, 0x3b, 0x32, 0x87, 0x75, 0x92, 0x1c, 0xd6, 0xd9, 0x54, 0x39, 0x0e, 0x27, 0x2b, 0xd1, 0x7f,
0x41, 0x85, 0xb9, 0x23, 0xdf, 0x9a, 0xa8, 0x68, 0xa1, 0x46, 0x3a, 0xe2, 0x4e, 0x9e, 0x6c, 0xac,
0x1c, 0xbf, 0x07, 0x68, 0x93, 0xb0, 0x88, 0x06, 0xe7, 0xb9, 0xe4, 0xb9, 0x01, 0xe5, 0xe3, 0x80,
0xda, 0xf2, 0x20, 0x56, 0xb1, 0x1c, 0xf0, 0x43, 0x35, 0x03, 0xa2, 0xb0, 0xef, 0x00, 0xda, 0xf1,
0x79, 0x4e, 0xc9, 0x67, 0x88, 0x5f, 0x16, 0xe1, 0xfa, 0xcc, 0x7a, 0x65, 0x8c, 0xc5, 0xcf, 0x21,
0x0f, 0x4c, 0x31, 0x93, 0xe7, 0x10, 0xed, 0x43, 0x45, 0xae, 0x50, 0x9a, 0xbc, 0x3b, 0x07, 0x90,
0x4c, 0x53, 0x0a, 0x4e, 0xc1, 0x5c, 0xe9, 0xf4, 0xa5, 0xff, 0xb4, 0xd3, 0x6b, 0xc9, 0xff, 0x60,
0x2f, 0xd4, 0xdf, 0x77, 0xe0, 0x5a, 0x66, 0xb1, 0x52, 0xde, 0x43, 0x28, 0x33, 0x4e, 0x50, 0xda,
0x7b, 0x77, 0x4e, 0xed, 0x31, 0x2c, 0xd9, 0xf5, 0xeb, 0x12, 0xdc, 0x38, 0x25, 0x7e, 0x2a, 0x8a,
0xbe, 0x09, 0xd7, 0x06, 0xc2, 0xb5, 0x72, 0xf9, 0xce, 0xd4, 0x2d, 0x8b, 0x33, 0x6e, 0x79, 0x03,
0x50, 0x16, 0x45, 0x39, 0xcf, 0x39, 0xac, 0x19, 0x67, 0xc4, 0xce, 0x85, 0xdc, 0x82, 0x15, 0x3b,
0xf0, 0x3c, 0xcb, 0x77, 0x5a, 0xc5, 0x5b, 0xa5, 0xdb, 0x35, 0x9c, 0x0c, 0xb3, 0xe7, 0xa7, 0x94,
0xf7, 0xfc, 0xe8, 0xbf, 0x28, 0x80, 0x36, 0xdd, 0x5b, 0x29, 0x92, 0x4b, 0x1f, 0x39, 0x1c, 0x88,
0xef, 0xdd, 0xc0, 0x6a, 0xa4, 0xe8, 0xc9, 0x11, 0x97, 0x74, 0x42, 0x69, 0x26, 0x84, 0x94, 0x5e,
0x32, 0x84, 0xe8, 0xff, 0x28, 0x00, 0xba, 0x5c, 0x28, 0xa1, 0x37, 0xa0, 0xc1, 0x88, 0xef, 0x98,
0x52, 0x8d, 0xd2, 0xc2, 0x55, 0x5c, 0xe7, 0x34, 0xa9, 0x4f, 0x86, 0x10, 0x2c, 0x93, 0x33, 0x62,
0xab, 0xd3, 0x2a, 0xbe, 0xd1, 0x18, 0x1a, 0xc7, 0xcc, 0x74, 0x59, 0x30, 0xb1, 0xd2, 0x8a, 0xa2,
0xb9, 0x61, 0x2c, 0x5c, 0xb0, 0x75, 0x1e, 0x0e, 0x76, 0x12, 0x30, 0x5c, 0x3f, 0x66, 0xe9, 0x40,
0xef, 0x40, 0x3d, 0x33, 0x87, 0xaa, 0xb0, 0xdc, 0xdf, 0xef, 0x1b, 0xda, 0x12, 0x02, 0xa8, 0xf4,
0xb6, 0xf1, 0xfe, 0xfe, 0x50, 0x46, 0xed, 0x9d, 0xbd, 0xee, 0x96, 0xa1, 0x15, 0xf5, 0xdf, 0x94,
0x01, 0xa6, 0xe9, 0x13, 0x35, 0xa1, 0x98, 0x5a, 0xba, 0xe8, 0x3a, 0xfc, 0xcf, 0xf8, 0x96, 0x47,
0x94, 0xf7, 0x88, 0x6f, 0xb4, 0x01, 0x37, 0x3d, 0x36, 0x0a, 0x2d, 0xfb, 0xc4, 0x54, 0x59, 0xcf,
0x16, 0xcc, 0xe2, 0x5f, 0x35, 0xf0, 0x75, 0x35, 0xa9, 0xa4, 0x96, 0xb8, 0xbb, 0x50, 0x22, 0xfe,
0x69, 0x6b, 0x59, 0x54, 0x87, 0x0f, 0xe6, 0x4e, 0xeb, 0x1d, 0xc3, 0x3f, 0x95, 0xd5, 0x20, 0x87,
0x41, 0x7d, 0xa8, 0x51, 0xc2, 0x82, 0x98, 0xda, 0x84, 0xb5, 0xca, 0x73, 0x1d, 0x32, 0x9c, 0xf0,
0xe1, 0x29, 0x04, 0xda, 0x84, 0x8a, 0x17, 0xc4, 0x7e, 0xc4, 0x5a, 0x15, 0x21, 0xe0, 0x3b, 0x39,
0xc1, 0xf6, 0x38, 0x13, 0x56, 0xbc, 0x68, 0x0b, 0x56, 0x1c, 0x72, 0xea, 0x72, 0x99, 0x56, 0x04,
0xcc, 0x9d, 0xbc, 0xf6, 0x15, 0x5c, 0x38, 0xe1, 0xe6, 0x4a, 0x8f, 0x19, 0xa1, 0xad, 0xaa, 0x54,
0x3a, 0xff, 0x46, 0xaf, 0x41, 0xcd, 0x9a, 0x4c, 0x02, 0xdb, 0x74, 0x5c, 0xda, 0xaa, 0x89, 0x89,
0xaa, 0x20, 0x6c, 0xba, 0x14, 0xbd, 0x0e, 0x75, 0x79, 0x32, 0xcc, 0xd0, 0x8a, 0xc6, 0x2d, 0x10,
0xd3, 0x20, 0x49, 0x07, 0x56, 0x34, 0x56, 0x0b, 0x08, 0xa5, 0x72, 0x41, 0x3d, 0x5d, 0x40, 0x28,
0x15, 0x0b, 0xfe, 0x17, 0xd6, 0xc4, 0x31, 0x1f, 0xd1, 0x20, 0x0e, 0x4d, 0x61, 0xf2, 0x86, 0x58,
0xb4, 0xca, 0xc9, 0x5b, 0x9c, 0xda, 0xe7, 0xb6, 0x7f, 0x15, 0xaa, 0x4f, 0x83, 0x23, 0xb9, 0x60,
0x55, 0x2c, 0x58, 0x79, 0x1a, 0x1c, 0x25, 0x53, 0x52, 0x42, 0xd7, 0x69, 0x35, 0xe5, 0x94, 0x18,
0xef, 0x38, 0xed, 0x0f, 0xa0, 0x9a, 0x18, 0xf0, 0x8a, 0x02, 0xf9, 0x46, 0xb6, 0x40, 0xae, 0x65,
0xab, 0xdd, 0xbf, 0x16, 0xa0, 0x96, 0x1a, 0x0c, 0x7d, 0x0e, 0xab, 0xd4, 0x7a, 0x66, 0x4e, 0x2d,
0x2f, 0xc3, 0xeb, 0xfb, 0x79, 0x2d, 0x6f, 0x3d, 0x9b, 0x1a, 0xbf, 0x41, 0x33, 0x23, 0xf4, 0x25,
0xac, 0x4d, 0x5c, 0x3f, 0x3e, 0xcb, 0x60, 0xcb, 0x7c, 0xf5, 0x7f, 0x39, 0xb1, 0x77, 0x39, 0xf7,
0x14, 0xbd, 0x39, 0x99, 0x19, 0xeb, 0x7f, 0x2c, 0x40, 0x23, 0xbb, 0x3d, 0x57, 0x82, 0x1d, 0xc6,
0xe2, 0x0f, 0x94, 0x30, 0xff, 0xe4, 0x21, 0xcd, 0x23, 0x5e, 0x40, 0xcf, 0xc5, 0xce, 0x25, 0xac,
0x46, 0xdc, 0x17, 0x1c, 0x97, 0x9d, 0x88, 0xb3, 0x55, 0xc2, 0xe2, 0x9b, 0xd3, 0xdc, 0x20, 0x64,
0xa2, 0xda, 0x2b, 0x61, 0xf1, 0x8d, 0x30, 0x54, 0x55, 0x22, 0xe3, 0x27, 0xa2, 0x34, 0x7f, 0x42,
0x4c, 0x84, 0xc3, 0x29, 0x8e, 0xfe, 0xeb, 0x22, 0xac, 0x5d, 0x98, 0xe5, 0x72, 0x4a, 0x37, 0x4d,
0xd2, 0x81, 0x1c, 0x71, 0x99, 0x6c, 0xd7, 0x49, 0x6a, 0x2e, 0xf1, 0x2d, 0x82, 0x49, 0xa8, 0xea,
0xa1, 0xa2, 0x1b, 0x72, 0x43, 0x7b, 0x47, 0x6e, 0x24, 0x05, 0x2f, 0x63, 0x39, 0x40, 0x4f, 0xa0,
0x49, 0x09, 0x23, 0xf4, 0x94, 0x38, 0x66, 0x18, 0xd0, 0x28, 0x91, 0x7f, 0x63, 0x3e, 0xf9, 0x0f,
0x02, 0x1a, 0xe1, 0xd5, 0x04, 0x89, 0x8f, 0x18, 0x7a, 0x0c, 0xab, 0xce, 0xb9, 0x6f, 0x79, 0xae,
0xad, 0x90, 0x2b, 0x0b, 0x23, 0x37, 0x14, 0x90, 0x00, 0xe6, 0xd7, 0xb0, 0xcc, 0x24, 0xff, 0x63,
0x13, 0xeb, 0x88, 0x4c, 0x94, 0x4e, 0xe4, 0x60, 0xd6, 0xaf, 0xcb, 0xca, 0xaf, 0xf5, 0xdf, 0x15,
0xa1, 0x39, 0xeb, 0x2e, 0xe8, 0xbf, 0x01, 0xec, 0x30, 0x36, 0x43, 0x42, 0xdd, 0xc0, 0x51, 0x4e,
0x51, 0xb3, 0xc3, 0xf8, 0x40, 0x10, 0xf8, 0xd1, 0xe7, 0xd3, 0x5f, 0xc5, 0x41, 0x64, 0x29, 0xef,
0xa8, 0xda, 0x61, 0xfc, 0x2d, 0x3e, 0x4e, 0x78, 0xc5, 0xdd, 0x91, 0x29, 0x2f, 0xe1, 0xcb, 0x07,
0x82, 0x80, 0xde, 0x01, 0x24, 0x1d, 0xc9, 0x9c, 0xb8, 0x9e, 0x1b, 0x99, 0x47, 0xe7, 0xfc, 0x92,
0x2e, 0x1d, 0x47, 0x93, 0x33, 0xbb, 0x7c, 0xe2, 0x53, 0x4e, 0x47, 0x3a, 0xac, 0x06, 0x81, 0x67,
0x32, 0x3b, 0xa0, 0xc4, 0xb4, 0x9c, 0xa7, 0x22, 0xb6, 0x96, 0x70, 0x3d, 0x08, 0xbc, 0x01, 0xa7,
0x75, 0x9d, 0xa7, 0x3c, 0x94, 0xd8, 0x61, 0xcc, 0x48, 0x64, 0xf2, 0x9f, 0x56, 0x45, 0x86, 0x12,
0x49, 0xea, 0x85, 0x31, 0xcb, 0x2c, 0xf0, 0x88, 0xc7, 0x43, 0x61, 0x66, 0xc1, 0x1e, 0xf1, 0xf8,
0x2e, 0x8d, 0x03, 0x42, 0x6d, 0xe2, 0x47, 0x43, 0xd7, 0x3e, 0x61, 0x22, 0xcc, 0x15, 0xf0, 0x0c,
0x4d, 0xff, 0x02, 0xca, 0x22, 0xb8, 0xf2, 0x3f, 0x2f, 0x02, 0x93, 0x88, 0x5b, 0x52, 0xbd, 0x55,
0x4e, 0x10, 0x51, 0xeb, 0x35, 0xa8, 0x8d, 0x03, 0xa6, 0xa2, 0x9e, 0xf4, 0xbc, 0x2a, 0x27, 0x88,
0xc9, 0x36, 0x54, 0x29, 0xb1, 0x9c, 0xc0, 0x9f, 0x9c, 0x0b, 0xbd, 0x54, 0x71, 0x3a, 0xd6, 0xbf,
0x82, 0x8a, 0x0c, 0xba, 0x2f, 0x81, 0x7f, 0x07, 0x90, 0x2d, 0xc3, 0x65, 0x48, 0xa8, 0xe7, 0x32,
0xe6, 0x06, 0x3e, 0x4b, 0xde, 0x0a, 0xe4, 0xcc, 0xc1, 0x74, 0x42, 0xff, 0x4b, 0x41, 0x26, 0x5a,
0x79, 0x8b, 0xe3, 0xa5, 0x8a, 0xca, 0x9a, 0x0b, 0x5f, 0x75, 0x15, 0x40, 0x52, 0x6e, 0x12, 0xf5,
0x26, 0x32, 0x6f, 0xb9, 0x49, 0x64, 0xb9, 0x49, 0x78, 0x6d, 0xa3, 0xf2, 0xb9, 0x84, 0x93, 0xe9,
0xbc, 0xee, 0xa4, 0x75, 0x38, 0xd1, 0xff, 0x59, 0x48, 0x23, 0x42, 0x52, 0x2f, 0xa3, 0x2f, 0xa1,
0xca, 0x0f, 0x97, 0xe9, 0x59, 0xa1, 0x7a, 0xfd, 0xe9, 0x2d, 0x56, 0x8a, 0x77, 0xf8, 0x59, 0xda,
0xb3, 0x42, 0x99, 0xe8, 0x57, 0x42, 0x39, 0xe2, 0x91, 0xc5, 0x72, 0xa6, 0x91, 0x85, 0x7f, 0xa3,
0x37, 0xa1, 0x69, 0xc5, 0x51, 0x60, 0x5a, 0xce, 0x29, 0xa1, 0x91, 0xcb, 0x88, 0xb2, 0xf0, 0x2a,
0xa7, 0x76, 0x13, 0x62, 0xfb, 0x01, 0x34, 0xb2, 0x98, 0x2f, 0xca, 0x3d, 0xe5, 0x6c, 0xee, 0xf9,
0x1e, 0xc0, 0xb4, 0x2c, 0xe4, 0x9e, 0x40, 0xce, 0xdc, 0xc8, 0xb4, 0x03, 0x47, 0x46, 0xbe, 0x32,
0xae, 0x72, 0x42, 0x2f, 0x70, 0xc8, 0x85, 0x22, 0xbb, 0x9c, 0x14, 0xd9, 0xfc, 0x6c, 0xf2, 0xe3,
0x74, 0xe2, 0x4e, 0x26, 0xc4, 0x51, 0x12, 0xd6, 0x82, 0xc0, 0x7b, 0x24, 0x08, 0xfa, 0xd7, 0x45,
0xe9, 0x11, 0xf2, 0x8a, 0x93, 0xab, 0xf4, 0x4a, 0x4d, 0x5d, 0x7a, 0x39, 0x53, 0xdf, 0x07, 0x60,
0x91, 0x45, 0x23, 0xe2, 0x98, 0x56, 0xa4, 0x5e, 0x0d, 0xda, 0x97, 0xaa, 0xf4, 0x61, 0xf2, 0x52,
0x8b, 0x6b, 0x6a, 0x75, 0x37, 0x42, 0x1f, 0x42, 0xc3, 0x0e, 0xbc, 0x70, 0x42, 0x14, 0x73, 0xf9,
0x85, 0xcc, 0xf5, 0x74, 0x7d, 0x37, 0xca, 0x94, 0xe8, 0x95, 0x97, 0x2d, 0xd1, 0xff, 0x54, 0x90,
0x37, 0xb5, 0xec, 0x45, 0x11, 0x8d, 0xae, 0x78, 0x8d, 0xdc, 0x5a, 0xf0, 0xd6, 0xf9, 0x4d, 0x4f,
0x91, 0xed, 0x0f, 0xf3, 0xbc, 0xfd, 0x3d, 0xbf, 0xb4, 0xf9, 0x73, 0x09, 0x6a, 0xe9, 0x85, 0xef,
0x92, 0xed, 0xef, 0x41, 0x2d, 0x7d, 0x26, 0x57, 0xa5, 0xc8, 0x37, 0x9a, 0x27, 0x5d, 0x8c, 0x8e,
0x01, 0x59, 0xa3, 0x51, 0x5a, 0xc8, 0x98, 0x31, 0xb3, 0x46, 0xc9, 0x15, 0xf9, 0xde, 0x1c, 0x7a,
0x48, 0xb2, 0xd3, 0x21, 0xe7, 0xc7, 0x9a, 0x35, 0x1a, 0xcd, 0x50, 0xd0, 0xf7, 0xe1, 0xe6, 0xec,
0x1e, 0xe6, 0xd1, 0xb9, 0x19, 0xba, 0x8e, 0x2a, 0xf1, 0xb7, 0xe7, 0xbd, 0xf3, 0x76, 0x66, 0xe0,
0x3f, 0x3d, 0x3f, 0x70, 0x1d, 0xa9, 0x73, 0x44, 0x2f, 0x4d, 0xb4, 0x7f, 0x08, 0xaf, 0x3c, 0x67,
0xf9, 0x15, 0x36, 0xe8, 0xcf, 0xbe, 0xbf, 0x2e, 0xae, 0x84, 0x8c, 0xf5, 0x7e, 0x5b, 0x90, 0x57,
0xf3, 0x59, 0x9d, 0x74, 0xa7, 0x55, 0x5d, 0x7d, 0x63, 0x3d, 0xe7, 0x3e, 0xbd, 0x83, 0x43, 0x09,
0x2f, 0xca, 0xc0, 0xcf, 0x66, 0xca, 0xc0, 0xfc, 0xa5, 0xca, 0x9e, 0x60, 0x92, 0x40, 0x0a, 0x41,
0xff, 0x43, 0x09, 0xaa, 0x09, 0xba, 0xb8, 0x01, 0x9c, 0xb3, 0x88, 0x78, 0xa6, 0x97, 0x84, 0xb0,
0x02, 0x06, 0x49, 0xda, 0xe3, 0x41, 0xec, 0x35, 0xa8, 0xf1, 0x8b, 0x86, 0x9c, 0x2e, 0x8a, 0xe9,
0x2a, 0x27, 0x88, 0xc9, 0xd7, 0xa1, 0x1e, 0x05, 0x91, 0x35, 0x31, 0x23, 0x91, 0xb1, 0x4b, 0x92,
0x5b, 0x90, 0x44, 0xbe, 0x46, 0x6f, 0xc3, 0xb5, 0x68, 0x4c, 0x83, 0x28, 0x9a, 0xf0, 0x2a, 0x4e,
0xd4, 0x2d, 0xb2, 0xcc, 0x58, 0xc6, 0x5a, 0x3a, 0x21, 0xeb, 0x19, 0xc6, 0xa3, 0xf7, 0x74, 0x31,
0x77, 0x5d, 0x11, 0x44, 0x96, 0xf1, 0x6a, 0x4a, 0xe5, 0xae, 0x8d, 0x5a, 0xb0, 0x12, 0xca, 0x9a,
0x40, 0xc4, 0x8a, 0x02, 0x4e, 0x86, 0xc8, 0x84, 0x35, 0x8f, 0x58, 0x2c, 0xa6, 0xc4, 0x31, 0x8f,
0x5d, 0x32, 0x71, 0xe4, 0x8d, 0xab, 0x99, 0xbb, 0xe6, 0x4d, 0xd4, 0xd2, 0x79, 0x28, 0xb8, 0x71,
0x33, 0x81, 0x93, 0x63, 0x5e, 0x1f, 0xc8, 0x2f, 0xb4, 0x06, 0xf5, 0xc1, 0x93, 0xc1, 0xd0, 0xd8,
0x33, 0xf7, 0xf6, 0x37, 0x0d, 0xf5, 0xc4, 0x3e, 0x30, 0xb0, 0x1c, 0x16, 0xf8, 0xfc, 0x70, 0x7f,
0xd8, 0xdd, 0x35, 0x87, 0x3b, 0xbd, 0x47, 0x03, 0xad, 0x88, 0x6e, 0xc2, 0xb5, 0xe1, 0x36, 0xde,
0x1f, 0x0e, 0x77, 0x8d, 0x4d, 0xf3, 0xc0, 0xc0, 0x3b, 0xfb, 0x9b, 0x03, 0xad, 0x84, 0x10, 0x34,
0xa7, 0xe4, 0xe1, 0xce, 0x9e, 0xa1, 0x2d, 0xa3, 0x3a, 0xac, 0x1c, 0x18, 0xb8, 0x67, 0xf4, 0x87,
0x5a, 0x59, 0xff, 0x5b, 0x11, 0xea, 0x19, 0x2b, 0x72, 0x47, 0xa6, 0x4c, 0xde, 0x71, 0x96, 0x31,
0xff, 0xe4, 0xc1, 0xc4, 0xb6, 0xec, 0xb1, 0xb4, 0xce, 0x32, 0x96, 0x03, 0x6e, 0x37, 0xcf, 0x3a,
0xcb, 0x9c, 0xf3, 0x65, 0x5c, 0xf5, 0xac, 0x33, 0x09, 0xf2, 0x06, 0x34, 0x4e, 0x08, 0xf5, 0xc9,
0x44, 0xcd, 0x4b, 0x8b, 0xd4, 0x25, 0x4d, 0x2e, 0xb9, 0x0d, 0x9a, 0x5a, 0x32, 0x85, 0x91, 0xe6,
0x68, 0x4a, 0xfa, 0x5e, 0x02, 0x76, 0x74, 0x59, 0xeb, 0x15, 0xa1, 0xf5, 0xfb, 0xf3, 0x3b, 0xe9,
0xf3, 0x14, 0x3f, 0x48, 0x15, 0xbf, 0x02, 0x25, 0x9c, 0xbc, 0x36, 0xf7, 0xba, 0xbd, 0x6d, 0xae,
0xec, 0x55, 0xa8, 0xed, 0x75, 0x3f, 0x37, 0x0f, 0x07, 0xe2, 0xed, 0x02, 0x69, 0xd0, 0x78, 0x64,
0xe0, 0xbe, 0xb1, 0xab, 0x28, 0x25, 0x74, 0x03, 0x34, 0x45, 0x99, 0xae, 0x5b, 0xd6, 0x7f, 0x5f,
0x84, 0x35, 0x19, 0xd7, 0xd3, 0xe7, 0xb4, 0xe7, 0xbf, 0x6b, 0x2d, 0x1e, 0x7a, 0x5b, 0xb0, 0xe2,
0x11, 0x96, 0xda, 0xa1, 0x86, 0x93, 0x21, 0x72, 0xa1, 0x6e, 0xf9, 0x7e, 0x10, 0x89, 0x37, 0x19,
0xa6, 0x42, 0xe4, 0xd6, 0x5c, 0xaf, 0x3f, 0xa9, 0xe4, 0x9d, 0xee, 0x14, 0x49, 0x46, 0xc8, 0x2c,
0x76, 0xfb, 0x23, 0xd0, 0x2e, 0x2e, 0x98, 0x27, 0x2f, 0xbd, 0xf5, 0xde, 0x34, 0x2d, 0x11, 0xee,
0xa0, 0x87, 0xfd, 0x47, 0xfd, 0xfd, 0xc7, 0x7d, 0x6d, 0x89, 0x0f, 0xf0, 0x61, 0xbf, 0xbf, 0xd3,
0xdf, 0xd2, 0x0a, 0x08, 0xa0, 0x62, 0x7c, 0xbe, 0x33, 0x34, 0x36, 0xb5, 0xe2, 0xc6, 0xdf, 0x57,
0xa1, 0x22, 0x85, 0x44, 0xbf, 0x52, 0x29, 0x39, 0xdb, 0x26, 0x45, 0x1f, 0xcd, 0x5d, 0xda, 0xce,
0xb4, 0x5e, 0xdb, 0x1f, 0x2f, 0xcc, 0xaf, 0x9e, 0x35, 0x97, 0xd0, 0xcf, 0x0b, 0xd0, 0x98, 0x79,
0xc7, 0xcb, 0xfb, 0x04, 0x75, 0x45, 0x57, 0xb6, 0xfd, 0xff, 0x0b, 0xf1, 0xa6, 0xb2, 0xfc, 0xac,
0x00, 0xf5, 0x4c, 0x3f, 0x12, 0xdd, 0x5f, 0xa4, 0x87, 0x29, 0x25, 0x79, 0xb0, 0x78, 0xfb, 0x53,
0x5f, 0x7a, 0xb7, 0x80, 0x7e, 0x5a, 0x80, 0x7a, 0xa6, 0x33, 0x97, 0x5b, 0x94, 0xcb, 0x7d, 0xc4,
0xdc, 0xa2, 0x5c, 0xd5, 0x08, 0x5c, 0x42, 0x3f, 0x2a, 0x40, 0x2d, 0xed, 0xb2, 0xa1, 0xbb, 0xf3,
0xf7, 0xe5, 0xa4, 0x10, 0xf7, 0x16, 0x6d, 0xe8, 0xe9, 0x4b, 0xe8, 0x07, 0x50, 0x4d, 0x5a, 0x52,
0x28, 0x6f, 0x1a, 0xb9, 0xd0, 0xef, 0x6a, 0xdf, 0x9d, 0x9b, 0x2f, 0xbb, 0x7d, 0xd2, 0x27, 0xca,
0xbd, 0xfd, 0x85, 0x8e, 0x56, 0xfb, 0xee, 0xdc, 0x7c, 0xe9, 0xf6, 0xdc, 0x13, 0x32, 0xed, 0xa4,
0xdc, 0x9e, 0x70, 0xb9, 0x8f, 0x95, 0xdb, 0x13, 0xae, 0xea, 0x5e, 0x49, 0x41, 0x32, 0x0d, 0xa9,
0xdc, 0x82, 0x5c, 0x6e, 0x7a, 0xe5, 0x16, 0xe4, 0x8a, 0xfe, 0x97, 0x72, 0xc9, 0x69, 0x81, 0x7e,
0x77, 0xee, 0x1e, 0xce, 0x9c, 0x2e, 0x79, 0xa9, 0x8b, 0xa4, 0x2f, 0xa1, 0x1f, 0xab, 0x27, 0x03,
0xd9, 0x00, 0x42, 0xf3, 0x40, 0xcd, 0xf4, 0x8c, 0xda, 0x1f, 0x2c, 0x96, 0x6a, 0x44, 0x8c, 0xf8,
0x49, 0x01, 0x60, 0xda, 0x2a, 0xca, 0x2d, 0xc4, 0xa5, 0x1e, 0x55, 0xfb, 0xfe, 0x02, 0x9c, 0xd9,
0xe3, 0x91, 0x74, 0x87, 0x72, 0x1f, 0x8f, 0x0b, 0xad, 0xac, 0xdc, 0xc7, 0xe3, 0x62, 0x1b, 0x4a,
0x5f, 0xfa, 0x74, 0xe5, 0xdb, 0x65, 0x99, 0xfb, 0x2b, 0xe2, 0xe7, 0xfd, 0x7f, 0x07, 0x00, 0x00,
0xff, 0xff, 0xf3, 0x57, 0x35, 0x86, 0x41, 0x25, 0x00, 0x00,
}