github.com/zoomfoo/nomad@v0.8.5-0.20180907175415-f28fd3a1a056/plugins/drivers/base/proto/driver.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: driver.proto
     3  
     4  package proto
     5  
     6  import proto "github.com/golang/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import duration "github.com/golang/protobuf/ptypes/duration"
    10  import timestamp "github.com/golang/protobuf/ptypes/timestamp"
    11  import hclspec "github.com/hashicorp/nomad/plugins/shared/hclspec"
    12  
    13  import (
    14  	context "golang.org/x/net/context"
    15  	grpc "google.golang.org/grpc"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var _ = proto.Marshal
    20  var _ = fmt.Errorf
    21  var _ = math.Inf
    22  
    23  // This is a compile-time assertion to ensure that this generated file
    24  // is compatible with the proto package it is being compiled against.
    25  // A compilation error at this line likely means your copy of the
    26  // proto package needs to be updated.
    27  const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
    28  
    29  type TaskState int32
    30  
    31  const (
    32  	TaskState_UNKNOWN TaskState = 0
    33  	TaskState_RUNNING TaskState = 1
    34  	TaskState_EXITED  TaskState = 2
    35  )
    36  
    37  var TaskState_name = map[int32]string{
    38  	0: "UNKNOWN",
    39  	1: "RUNNING",
    40  	2: "EXITED",
    41  }
    42  var TaskState_value = map[string]int32{
    43  	"UNKNOWN": 0,
    44  	"RUNNING": 1,
    45  	"EXITED":  2,
    46  }
    47  
    48  func (x TaskState) String() string {
    49  	return proto.EnumName(TaskState_name, int32(x))
    50  }
    51  func (TaskState) EnumDescriptor() ([]byte, []int) {
    52  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{0}
    53  }
    54  
    55  type FingerprintResponse_HealthState int32
    56  
    57  const (
    58  	FingerprintResponse_UNDETECTED FingerprintResponse_HealthState = 0
    59  	FingerprintResponse_UNHEALTHY  FingerprintResponse_HealthState = 1
    60  	FingerprintResponse_HEALTHY    FingerprintResponse_HealthState = 2
    61  )
    62  
    63  var FingerprintResponse_HealthState_name = map[int32]string{
    64  	0: "UNDETECTED",
    65  	1: "UNHEALTHY",
    66  	2: "HEALTHY",
    67  }
    68  var FingerprintResponse_HealthState_value = map[string]int32{
    69  	"UNDETECTED": 0,
    70  	"UNHEALTHY":  1,
    71  	"HEALTHY":    2,
    72  }
    73  
    74  func (x FingerprintResponse_HealthState) String() string {
    75  	return proto.EnumName(FingerprintResponse_HealthState_name, int32(x))
    76  }
    77  func (FingerprintResponse_HealthState) EnumDescriptor() ([]byte, []int) {
    78  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{5, 0}
    79  }
    80  
    81  type StartTaskResponse_Result int32
    82  
    83  const (
    84  	StartTaskResponse_SUCCESS StartTaskResponse_Result = 0
    85  	StartTaskResponse_RETRY   StartTaskResponse_Result = 1
    86  	StartTaskResponse_FATAL   StartTaskResponse_Result = 2
    87  )
    88  
    89  var StartTaskResponse_Result_name = map[int32]string{
    90  	0: "SUCCESS",
    91  	1: "RETRY",
    92  	2: "FATAL",
    93  }
    94  var StartTaskResponse_Result_value = map[string]int32{
    95  	"SUCCESS": 0,
    96  	"RETRY":   1,
    97  	"FATAL":   2,
    98  }
    99  
   100  func (x StartTaskResponse_Result) String() string {
   101  	return proto.EnumName(StartTaskResponse_Result_name, int32(x))
   102  }
   103  func (StartTaskResponse_Result) EnumDescriptor() ([]byte, []int) {
   104  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{9, 0}
   105  }
   106  
   107  type DriverCapabilities_FSIsolation int32
   108  
   109  const (
   110  	DriverCapabilities_NONE   DriverCapabilities_FSIsolation = 0
   111  	DriverCapabilities_CHROOT DriverCapabilities_FSIsolation = 1
   112  	DriverCapabilities_IMAGE  DriverCapabilities_FSIsolation = 2
   113  )
   114  
   115  var DriverCapabilities_FSIsolation_name = map[int32]string{
   116  	0: "NONE",
   117  	1: "CHROOT",
   118  	2: "IMAGE",
   119  }
   120  var DriverCapabilities_FSIsolation_value = map[string]int32{
   121  	"NONE":   0,
   122  	"CHROOT": 1,
   123  	"IMAGE":  2,
   124  }
   125  
   126  func (x DriverCapabilities_FSIsolation) String() string {
   127  	return proto.EnumName(DriverCapabilities_FSIsolation_name, int32(x))
   128  }
   129  func (DriverCapabilities_FSIsolation) EnumDescriptor() ([]byte, []int) {
   130  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{27, 0}
   131  }
   132  
   133  type CPUUsage_Fields int32
   134  
   135  const (
   136  	CPUUsage_SYSTEM_MODE       CPUUsage_Fields = 0
   137  	CPUUsage_USER_MODE         CPUUsage_Fields = 1
   138  	CPUUsage_TOTAL_TICKS       CPUUsage_Fields = 2
   139  	CPUUsage_THROTTLED_PERIODS CPUUsage_Fields = 3
   140  	CPUUsage_THROTTLED_TIME    CPUUsage_Fields = 4
   141  	CPUUsage_PERCENT           CPUUsage_Fields = 5
   142  )
   143  
   144  var CPUUsage_Fields_name = map[int32]string{
   145  	0: "SYSTEM_MODE",
   146  	1: "USER_MODE",
   147  	2: "TOTAL_TICKS",
   148  	3: "THROTTLED_PERIODS",
   149  	4: "THROTTLED_TIME",
   150  	5: "PERCENT",
   151  }
   152  var CPUUsage_Fields_value = map[string]int32{
   153  	"SYSTEM_MODE":       0,
   154  	"USER_MODE":         1,
   155  	"TOTAL_TICKS":       2,
   156  	"THROTTLED_PERIODS": 3,
   157  	"THROTTLED_TIME":    4,
   158  	"PERCENT":           5,
   159  }
   160  
   161  func (x CPUUsage_Fields) String() string {
   162  	return proto.EnumName(CPUUsage_Fields_name, int32(x))
   163  }
   164  func (CPUUsage_Fields) EnumDescriptor() ([]byte, []int) {
   165  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{43, 0}
   166  }
   167  
   168  type MemoryUsage_Fields int32
   169  
   170  const (
   171  	MemoryUsage_RSS              MemoryUsage_Fields = 0
   172  	MemoryUsage_CACHE            MemoryUsage_Fields = 1
   173  	MemoryUsage_MAX_UASGE        MemoryUsage_Fields = 2
   174  	MemoryUsage_KERNEL_USAGE     MemoryUsage_Fields = 3
   175  	MemoryUsage_KERNEL_MAX_USAGE MemoryUsage_Fields = 4
   176  )
   177  
   178  var MemoryUsage_Fields_name = map[int32]string{
   179  	0: "RSS",
   180  	1: "CACHE",
   181  	2: "MAX_UASGE",
   182  	3: "KERNEL_USAGE",
   183  	4: "KERNEL_MAX_USAGE",
   184  }
   185  var MemoryUsage_Fields_value = map[string]int32{
   186  	"RSS":              0,
   187  	"CACHE":            1,
   188  	"MAX_UASGE":        2,
   189  	"KERNEL_USAGE":     3,
   190  	"KERNEL_MAX_USAGE": 4,
   191  }
   192  
   193  func (x MemoryUsage_Fields) String() string {
   194  	return proto.EnumName(MemoryUsage_Fields_name, int32(x))
   195  }
   196  func (MemoryUsage_Fields) EnumDescriptor() ([]byte, []int) {
   197  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{44, 0}
   198  }
   199  
   200  type TaskConfigSchemaRequest struct {
   201  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   202  	XXX_unrecognized     []byte   `json:"-"`
   203  	XXX_sizecache        int32    `json:"-"`
   204  }
   205  
   206  func (m *TaskConfigSchemaRequest) Reset()         { *m = TaskConfigSchemaRequest{} }
   207  func (m *TaskConfigSchemaRequest) String() string { return proto.CompactTextString(m) }
   208  func (*TaskConfigSchemaRequest) ProtoMessage()    {}
   209  func (*TaskConfigSchemaRequest) Descriptor() ([]byte, []int) {
   210  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{0}
   211  }
   212  func (m *TaskConfigSchemaRequest) XXX_Unmarshal(b []byte) error {
   213  	return xxx_messageInfo_TaskConfigSchemaRequest.Unmarshal(m, b)
   214  }
   215  func (m *TaskConfigSchemaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   216  	return xxx_messageInfo_TaskConfigSchemaRequest.Marshal(b, m, deterministic)
   217  }
   218  func (dst *TaskConfigSchemaRequest) XXX_Merge(src proto.Message) {
   219  	xxx_messageInfo_TaskConfigSchemaRequest.Merge(dst, src)
   220  }
   221  func (m *TaskConfigSchemaRequest) XXX_Size() int {
   222  	return xxx_messageInfo_TaskConfigSchemaRequest.Size(m)
   223  }
   224  func (m *TaskConfigSchemaRequest) XXX_DiscardUnknown() {
   225  	xxx_messageInfo_TaskConfigSchemaRequest.DiscardUnknown(m)
   226  }
   227  
   228  var xxx_messageInfo_TaskConfigSchemaRequest proto.InternalMessageInfo
   229  
   230  type TaskConfigSchemaResponse struct {
   231  	// Spec is the configuration schema for the job driver config stanza
   232  	Spec                 *hclspec.Spec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"`
   233  	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
   234  	XXX_unrecognized     []byte        `json:"-"`
   235  	XXX_sizecache        int32         `json:"-"`
   236  }
   237  
   238  func (m *TaskConfigSchemaResponse) Reset()         { *m = TaskConfigSchemaResponse{} }
   239  func (m *TaskConfigSchemaResponse) String() string { return proto.CompactTextString(m) }
   240  func (*TaskConfigSchemaResponse) ProtoMessage()    {}
   241  func (*TaskConfigSchemaResponse) Descriptor() ([]byte, []int) {
   242  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{1}
   243  }
   244  func (m *TaskConfigSchemaResponse) XXX_Unmarshal(b []byte) error {
   245  	return xxx_messageInfo_TaskConfigSchemaResponse.Unmarshal(m, b)
   246  }
   247  func (m *TaskConfigSchemaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   248  	return xxx_messageInfo_TaskConfigSchemaResponse.Marshal(b, m, deterministic)
   249  }
   250  func (dst *TaskConfigSchemaResponse) XXX_Merge(src proto.Message) {
   251  	xxx_messageInfo_TaskConfigSchemaResponse.Merge(dst, src)
   252  }
   253  func (m *TaskConfigSchemaResponse) XXX_Size() int {
   254  	return xxx_messageInfo_TaskConfigSchemaResponse.Size(m)
   255  }
   256  func (m *TaskConfigSchemaResponse) XXX_DiscardUnknown() {
   257  	xxx_messageInfo_TaskConfigSchemaResponse.DiscardUnknown(m)
   258  }
   259  
   260  var xxx_messageInfo_TaskConfigSchemaResponse proto.InternalMessageInfo
   261  
   262  func (m *TaskConfigSchemaResponse) GetSpec() *hclspec.Spec {
   263  	if m != nil {
   264  		return m.Spec
   265  	}
   266  	return nil
   267  }
   268  
   269  type CapabilitiesRequest struct {
   270  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   271  	XXX_unrecognized     []byte   `json:"-"`
   272  	XXX_sizecache        int32    `json:"-"`
   273  }
   274  
   275  func (m *CapabilitiesRequest) Reset()         { *m = CapabilitiesRequest{} }
   276  func (m *CapabilitiesRequest) String() string { return proto.CompactTextString(m) }
   277  func (*CapabilitiesRequest) ProtoMessage()    {}
   278  func (*CapabilitiesRequest) Descriptor() ([]byte, []int) {
   279  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{2}
   280  }
   281  func (m *CapabilitiesRequest) XXX_Unmarshal(b []byte) error {
   282  	return xxx_messageInfo_CapabilitiesRequest.Unmarshal(m, b)
   283  }
   284  func (m *CapabilitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   285  	return xxx_messageInfo_CapabilitiesRequest.Marshal(b, m, deterministic)
   286  }
   287  func (dst *CapabilitiesRequest) XXX_Merge(src proto.Message) {
   288  	xxx_messageInfo_CapabilitiesRequest.Merge(dst, src)
   289  }
   290  func (m *CapabilitiesRequest) XXX_Size() int {
   291  	return xxx_messageInfo_CapabilitiesRequest.Size(m)
   292  }
   293  func (m *CapabilitiesRequest) XXX_DiscardUnknown() {
   294  	xxx_messageInfo_CapabilitiesRequest.DiscardUnknown(m)
   295  }
   296  
   297  var xxx_messageInfo_CapabilitiesRequest proto.InternalMessageInfo
   298  
   299  type CapabilitiesResponse struct {
   300  	// Capabilities provides a way for the driver to denote if it implements
   301  	// non-core RPCs. Some Driver service RPCs expose additional information
   302  	// or functionality outside of the core task management functions. These
   303  	// RPCs are only implemented if the driver sets the corresponding capability.
   304  	Capabilities         *DriverCapabilities `protobuf:"bytes,1,opt,name=capabilities,proto3" json:"capabilities,omitempty"`
   305  	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
   306  	XXX_unrecognized     []byte              `json:"-"`
   307  	XXX_sizecache        int32               `json:"-"`
   308  }
   309  
   310  func (m *CapabilitiesResponse) Reset()         { *m = CapabilitiesResponse{} }
   311  func (m *CapabilitiesResponse) String() string { return proto.CompactTextString(m) }
   312  func (*CapabilitiesResponse) ProtoMessage()    {}
   313  func (*CapabilitiesResponse) Descriptor() ([]byte, []int) {
   314  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{3}
   315  }
   316  func (m *CapabilitiesResponse) XXX_Unmarshal(b []byte) error {
   317  	return xxx_messageInfo_CapabilitiesResponse.Unmarshal(m, b)
   318  }
   319  func (m *CapabilitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   320  	return xxx_messageInfo_CapabilitiesResponse.Marshal(b, m, deterministic)
   321  }
   322  func (dst *CapabilitiesResponse) XXX_Merge(src proto.Message) {
   323  	xxx_messageInfo_CapabilitiesResponse.Merge(dst, src)
   324  }
   325  func (m *CapabilitiesResponse) XXX_Size() int {
   326  	return xxx_messageInfo_CapabilitiesResponse.Size(m)
   327  }
   328  func (m *CapabilitiesResponse) XXX_DiscardUnknown() {
   329  	xxx_messageInfo_CapabilitiesResponse.DiscardUnknown(m)
   330  }
   331  
   332  var xxx_messageInfo_CapabilitiesResponse proto.InternalMessageInfo
   333  
   334  func (m *CapabilitiesResponse) GetCapabilities() *DriverCapabilities {
   335  	if m != nil {
   336  		return m.Capabilities
   337  	}
   338  	return nil
   339  }
   340  
   341  type FingerprintRequest struct {
   342  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   343  	XXX_unrecognized     []byte   `json:"-"`
   344  	XXX_sizecache        int32    `json:"-"`
   345  }
   346  
   347  func (m *FingerprintRequest) Reset()         { *m = FingerprintRequest{} }
   348  func (m *FingerprintRequest) String() string { return proto.CompactTextString(m) }
   349  func (*FingerprintRequest) ProtoMessage()    {}
   350  func (*FingerprintRequest) Descriptor() ([]byte, []int) {
   351  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{4}
   352  }
   353  func (m *FingerprintRequest) XXX_Unmarshal(b []byte) error {
   354  	return xxx_messageInfo_FingerprintRequest.Unmarshal(m, b)
   355  }
   356  func (m *FingerprintRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   357  	return xxx_messageInfo_FingerprintRequest.Marshal(b, m, deterministic)
   358  }
   359  func (dst *FingerprintRequest) XXX_Merge(src proto.Message) {
   360  	xxx_messageInfo_FingerprintRequest.Merge(dst, src)
   361  }
   362  func (m *FingerprintRequest) XXX_Size() int {
   363  	return xxx_messageInfo_FingerprintRequest.Size(m)
   364  }
   365  func (m *FingerprintRequest) XXX_DiscardUnknown() {
   366  	xxx_messageInfo_FingerprintRequest.DiscardUnknown(m)
   367  }
   368  
   369  var xxx_messageInfo_FingerprintRequest proto.InternalMessageInfo
   370  
   371  type FingerprintResponse struct {
   372  	// Attributes are key/value pairs that annotate the nomad client and can be
   373  	// used in scheduling contraints and affinities.
   374  	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"`
   375  	// Health is used to determine the state of the health the driver is in.
   376  	// Health can be one of the following states:
   377  	//  * UNDETECTED: driver dependencies are not met and the driver can not start
   378  	//  * UNHEALTHY: driver dependencies are met but the driver is unable to
   379  	//      perform operations due to some other problem
   380  	//  * HEALTHY: driver is able to perform all operations
   381  	Health FingerprintResponse_HealthState `protobuf:"varint,2,opt,name=health,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.FingerprintResponse_HealthState" json:"health,omitempty"`
   382  	// HealthDescription is a human readable message describing the current
   383  	// state of driver health
   384  	HealthDescription    string   `protobuf:"bytes,3,opt,name=health_description,json=healthDescription,proto3" json:"health_description,omitempty"`
   385  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   386  	XXX_unrecognized     []byte   `json:"-"`
   387  	XXX_sizecache        int32    `json:"-"`
   388  }
   389  
   390  func (m *FingerprintResponse) Reset()         { *m = FingerprintResponse{} }
   391  func (m *FingerprintResponse) String() string { return proto.CompactTextString(m) }
   392  func (*FingerprintResponse) ProtoMessage()    {}
   393  func (*FingerprintResponse) Descriptor() ([]byte, []int) {
   394  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{5}
   395  }
   396  func (m *FingerprintResponse) XXX_Unmarshal(b []byte) error {
   397  	return xxx_messageInfo_FingerprintResponse.Unmarshal(m, b)
   398  }
   399  func (m *FingerprintResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   400  	return xxx_messageInfo_FingerprintResponse.Marshal(b, m, deterministic)
   401  }
   402  func (dst *FingerprintResponse) XXX_Merge(src proto.Message) {
   403  	xxx_messageInfo_FingerprintResponse.Merge(dst, src)
   404  }
   405  func (m *FingerprintResponse) XXX_Size() int {
   406  	return xxx_messageInfo_FingerprintResponse.Size(m)
   407  }
   408  func (m *FingerprintResponse) XXX_DiscardUnknown() {
   409  	xxx_messageInfo_FingerprintResponse.DiscardUnknown(m)
   410  }
   411  
   412  var xxx_messageInfo_FingerprintResponse proto.InternalMessageInfo
   413  
   414  func (m *FingerprintResponse) GetAttributes() map[string]string {
   415  	if m != nil {
   416  		return m.Attributes
   417  	}
   418  	return nil
   419  }
   420  
   421  func (m *FingerprintResponse) GetHealth() FingerprintResponse_HealthState {
   422  	if m != nil {
   423  		return m.Health
   424  	}
   425  	return FingerprintResponse_UNDETECTED
   426  }
   427  
   428  func (m *FingerprintResponse) GetHealthDescription() string {
   429  	if m != nil {
   430  		return m.HealthDescription
   431  	}
   432  	return ""
   433  }
   434  
   435  type RecoverTaskRequest struct {
   436  	// TaskId is the ID of the target task
   437  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   438  	// Handle is the TaskHandle returned from StartTask
   439  	Handle               *TaskHandle `protobuf:"bytes,2,opt,name=handle,proto3" json:"handle,omitempty"`
   440  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
   441  	XXX_unrecognized     []byte      `json:"-"`
   442  	XXX_sizecache        int32       `json:"-"`
   443  }
   444  
   445  func (m *RecoverTaskRequest) Reset()         { *m = RecoverTaskRequest{} }
   446  func (m *RecoverTaskRequest) String() string { return proto.CompactTextString(m) }
   447  func (*RecoverTaskRequest) ProtoMessage()    {}
   448  func (*RecoverTaskRequest) Descriptor() ([]byte, []int) {
   449  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{6}
   450  }
   451  func (m *RecoverTaskRequest) XXX_Unmarshal(b []byte) error {
   452  	return xxx_messageInfo_RecoverTaskRequest.Unmarshal(m, b)
   453  }
   454  func (m *RecoverTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   455  	return xxx_messageInfo_RecoverTaskRequest.Marshal(b, m, deterministic)
   456  }
   457  func (dst *RecoverTaskRequest) XXX_Merge(src proto.Message) {
   458  	xxx_messageInfo_RecoverTaskRequest.Merge(dst, src)
   459  }
   460  func (m *RecoverTaskRequest) XXX_Size() int {
   461  	return xxx_messageInfo_RecoverTaskRequest.Size(m)
   462  }
   463  func (m *RecoverTaskRequest) XXX_DiscardUnknown() {
   464  	xxx_messageInfo_RecoverTaskRequest.DiscardUnknown(m)
   465  }
   466  
   467  var xxx_messageInfo_RecoverTaskRequest proto.InternalMessageInfo
   468  
   469  func (m *RecoverTaskRequest) GetTaskId() string {
   470  	if m != nil {
   471  		return m.TaskId
   472  	}
   473  	return ""
   474  }
   475  
   476  func (m *RecoverTaskRequest) GetHandle() *TaskHandle {
   477  	if m != nil {
   478  		return m.Handle
   479  	}
   480  	return nil
   481  }
   482  
   483  type RecoverTaskResponse struct {
   484  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   485  	XXX_unrecognized     []byte   `json:"-"`
   486  	XXX_sizecache        int32    `json:"-"`
   487  }
   488  
   489  func (m *RecoverTaskResponse) Reset()         { *m = RecoverTaskResponse{} }
   490  func (m *RecoverTaskResponse) String() string { return proto.CompactTextString(m) }
   491  func (*RecoverTaskResponse) ProtoMessage()    {}
   492  func (*RecoverTaskResponse) Descriptor() ([]byte, []int) {
   493  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{7}
   494  }
   495  func (m *RecoverTaskResponse) XXX_Unmarshal(b []byte) error {
   496  	return xxx_messageInfo_RecoverTaskResponse.Unmarshal(m, b)
   497  }
   498  func (m *RecoverTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   499  	return xxx_messageInfo_RecoverTaskResponse.Marshal(b, m, deterministic)
   500  }
   501  func (dst *RecoverTaskResponse) XXX_Merge(src proto.Message) {
   502  	xxx_messageInfo_RecoverTaskResponse.Merge(dst, src)
   503  }
   504  func (m *RecoverTaskResponse) XXX_Size() int {
   505  	return xxx_messageInfo_RecoverTaskResponse.Size(m)
   506  }
   507  func (m *RecoverTaskResponse) XXX_DiscardUnknown() {
   508  	xxx_messageInfo_RecoverTaskResponse.DiscardUnknown(m)
   509  }
   510  
   511  var xxx_messageInfo_RecoverTaskResponse proto.InternalMessageInfo
   512  
   513  type StartTaskRequest struct {
   514  	// Task configuration to launch
   515  	Task                 *TaskConfig `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
   516  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
   517  	XXX_unrecognized     []byte      `json:"-"`
   518  	XXX_sizecache        int32       `json:"-"`
   519  }
   520  
   521  func (m *StartTaskRequest) Reset()         { *m = StartTaskRequest{} }
   522  func (m *StartTaskRequest) String() string { return proto.CompactTextString(m) }
   523  func (*StartTaskRequest) ProtoMessage()    {}
   524  func (*StartTaskRequest) Descriptor() ([]byte, []int) {
   525  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{8}
   526  }
   527  func (m *StartTaskRequest) XXX_Unmarshal(b []byte) error {
   528  	return xxx_messageInfo_StartTaskRequest.Unmarshal(m, b)
   529  }
   530  func (m *StartTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   531  	return xxx_messageInfo_StartTaskRequest.Marshal(b, m, deterministic)
   532  }
   533  func (dst *StartTaskRequest) XXX_Merge(src proto.Message) {
   534  	xxx_messageInfo_StartTaskRequest.Merge(dst, src)
   535  }
   536  func (m *StartTaskRequest) XXX_Size() int {
   537  	return xxx_messageInfo_StartTaskRequest.Size(m)
   538  }
   539  func (m *StartTaskRequest) XXX_DiscardUnknown() {
   540  	xxx_messageInfo_StartTaskRequest.DiscardUnknown(m)
   541  }
   542  
   543  var xxx_messageInfo_StartTaskRequest proto.InternalMessageInfo
   544  
   545  func (m *StartTaskRequest) GetTask() *TaskConfig {
   546  	if m != nil {
   547  		return m.Task
   548  	}
   549  	return nil
   550  }
   551  
   552  type StartTaskResponse struct {
   553  	// Result is set depending on the type of error that occurred while starting
   554  	// a task:
   555  	//
   556  	//   * SUCCESS: No error occurred, handle is set
   557  	//   * RETRY: An error occurred, but is recoverable and the RPC should be retried
   558  	//   * FATAL: A fatal error occurred and is not likely to succeed if retried
   559  	//
   560  	// If Result is not successful, the DriverErrorMsg will be set.
   561  	Result StartTaskResponse_Result `protobuf:"varint,1,opt,name=result,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.StartTaskResponse_Result" json:"result,omitempty"`
   562  	// DriverErrorMsg is set if an error occurred
   563  	DriverErrorMsg string `protobuf:"bytes,2,opt,name=driver_error_msg,json=driverErrorMsg,proto3" json:"driver_error_msg,omitempty"`
   564  	// Handle is opaque to the client, but must be stored in order to recover
   565  	// the task.
   566  	Handle *TaskHandle `protobuf:"bytes,3,opt,name=handle,proto3" json:"handle,omitempty"`
   567  	// NetworkOverride is set if the driver sets network settings and the service ip/port
   568  	// needs to be set differently.
   569  	NetworkOverride      *NetworkOverride `protobuf:"bytes,4,opt,name=network_override,json=networkOverride,proto3" json:"network_override,omitempty"`
   570  	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
   571  	XXX_unrecognized     []byte           `json:"-"`
   572  	XXX_sizecache        int32            `json:"-"`
   573  }
   574  
   575  func (m *StartTaskResponse) Reset()         { *m = StartTaskResponse{} }
   576  func (m *StartTaskResponse) String() string { return proto.CompactTextString(m) }
   577  func (*StartTaskResponse) ProtoMessage()    {}
   578  func (*StartTaskResponse) Descriptor() ([]byte, []int) {
   579  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{9}
   580  }
   581  func (m *StartTaskResponse) XXX_Unmarshal(b []byte) error {
   582  	return xxx_messageInfo_StartTaskResponse.Unmarshal(m, b)
   583  }
   584  func (m *StartTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   585  	return xxx_messageInfo_StartTaskResponse.Marshal(b, m, deterministic)
   586  }
   587  func (dst *StartTaskResponse) XXX_Merge(src proto.Message) {
   588  	xxx_messageInfo_StartTaskResponse.Merge(dst, src)
   589  }
   590  func (m *StartTaskResponse) XXX_Size() int {
   591  	return xxx_messageInfo_StartTaskResponse.Size(m)
   592  }
   593  func (m *StartTaskResponse) XXX_DiscardUnknown() {
   594  	xxx_messageInfo_StartTaskResponse.DiscardUnknown(m)
   595  }
   596  
   597  var xxx_messageInfo_StartTaskResponse proto.InternalMessageInfo
   598  
   599  func (m *StartTaskResponse) GetResult() StartTaskResponse_Result {
   600  	if m != nil {
   601  		return m.Result
   602  	}
   603  	return StartTaskResponse_SUCCESS
   604  }
   605  
   606  func (m *StartTaskResponse) GetDriverErrorMsg() string {
   607  	if m != nil {
   608  		return m.DriverErrorMsg
   609  	}
   610  	return ""
   611  }
   612  
   613  func (m *StartTaskResponse) GetHandle() *TaskHandle {
   614  	if m != nil {
   615  		return m.Handle
   616  	}
   617  	return nil
   618  }
   619  
   620  func (m *StartTaskResponse) GetNetworkOverride() *NetworkOverride {
   621  	if m != nil {
   622  		return m.NetworkOverride
   623  	}
   624  	return nil
   625  }
   626  
   627  type WaitTaskRequest struct {
   628  	// TaskId is the ID of the target task
   629  	TaskId               string   `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   630  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   631  	XXX_unrecognized     []byte   `json:"-"`
   632  	XXX_sizecache        int32    `json:"-"`
   633  }
   634  
   635  func (m *WaitTaskRequest) Reset()         { *m = WaitTaskRequest{} }
   636  func (m *WaitTaskRequest) String() string { return proto.CompactTextString(m) }
   637  func (*WaitTaskRequest) ProtoMessage()    {}
   638  func (*WaitTaskRequest) Descriptor() ([]byte, []int) {
   639  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{10}
   640  }
   641  func (m *WaitTaskRequest) XXX_Unmarshal(b []byte) error {
   642  	return xxx_messageInfo_WaitTaskRequest.Unmarshal(m, b)
   643  }
   644  func (m *WaitTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   645  	return xxx_messageInfo_WaitTaskRequest.Marshal(b, m, deterministic)
   646  }
   647  func (dst *WaitTaskRequest) XXX_Merge(src proto.Message) {
   648  	xxx_messageInfo_WaitTaskRequest.Merge(dst, src)
   649  }
   650  func (m *WaitTaskRequest) XXX_Size() int {
   651  	return xxx_messageInfo_WaitTaskRequest.Size(m)
   652  }
   653  func (m *WaitTaskRequest) XXX_DiscardUnknown() {
   654  	xxx_messageInfo_WaitTaskRequest.DiscardUnknown(m)
   655  }
   656  
   657  var xxx_messageInfo_WaitTaskRequest proto.InternalMessageInfo
   658  
   659  func (m *WaitTaskRequest) GetTaskId() string {
   660  	if m != nil {
   661  		return m.TaskId
   662  	}
   663  	return ""
   664  }
   665  
   666  type WaitTaskResponse struct {
   667  	// Result is the exit status of the task
   668  	Result *ExitResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
   669  	// Err is set if any driver error occurred while waiting for the task
   670  	Err                  string   `protobuf:"bytes,2,opt,name=err,proto3" json:"err,omitempty"`
   671  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   672  	XXX_unrecognized     []byte   `json:"-"`
   673  	XXX_sizecache        int32    `json:"-"`
   674  }
   675  
   676  func (m *WaitTaskResponse) Reset()         { *m = WaitTaskResponse{} }
   677  func (m *WaitTaskResponse) String() string { return proto.CompactTextString(m) }
   678  func (*WaitTaskResponse) ProtoMessage()    {}
   679  func (*WaitTaskResponse) Descriptor() ([]byte, []int) {
   680  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{11}
   681  }
   682  func (m *WaitTaskResponse) XXX_Unmarshal(b []byte) error {
   683  	return xxx_messageInfo_WaitTaskResponse.Unmarshal(m, b)
   684  }
   685  func (m *WaitTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   686  	return xxx_messageInfo_WaitTaskResponse.Marshal(b, m, deterministic)
   687  }
   688  func (dst *WaitTaskResponse) XXX_Merge(src proto.Message) {
   689  	xxx_messageInfo_WaitTaskResponse.Merge(dst, src)
   690  }
   691  func (m *WaitTaskResponse) XXX_Size() int {
   692  	return xxx_messageInfo_WaitTaskResponse.Size(m)
   693  }
   694  func (m *WaitTaskResponse) XXX_DiscardUnknown() {
   695  	xxx_messageInfo_WaitTaskResponse.DiscardUnknown(m)
   696  }
   697  
   698  var xxx_messageInfo_WaitTaskResponse proto.InternalMessageInfo
   699  
   700  func (m *WaitTaskResponse) GetResult() *ExitResult {
   701  	if m != nil {
   702  		return m.Result
   703  	}
   704  	return nil
   705  }
   706  
   707  func (m *WaitTaskResponse) GetErr() string {
   708  	if m != nil {
   709  		return m.Err
   710  	}
   711  	return ""
   712  }
   713  
   714  type StopTaskRequest struct {
   715  	// TaskId is the ID of the target task
   716  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   717  	// Timeout defines the amount of time to wait before forcefully killing
   718  	// the task. For example, on Unix clients, this means sending a SIGKILL to
   719  	// the process.
   720  	Timeout *duration.Duration `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
   721  	// Signal can be set to override the Task's configured shutdown signal
   722  	Signal               string   `protobuf:"bytes,3,opt,name=signal,proto3" json:"signal,omitempty"`
   723  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   724  	XXX_unrecognized     []byte   `json:"-"`
   725  	XXX_sizecache        int32    `json:"-"`
   726  }
   727  
   728  func (m *StopTaskRequest) Reset()         { *m = StopTaskRequest{} }
   729  func (m *StopTaskRequest) String() string { return proto.CompactTextString(m) }
   730  func (*StopTaskRequest) ProtoMessage()    {}
   731  func (*StopTaskRequest) Descriptor() ([]byte, []int) {
   732  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{12}
   733  }
   734  func (m *StopTaskRequest) XXX_Unmarshal(b []byte) error {
   735  	return xxx_messageInfo_StopTaskRequest.Unmarshal(m, b)
   736  }
   737  func (m *StopTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   738  	return xxx_messageInfo_StopTaskRequest.Marshal(b, m, deterministic)
   739  }
   740  func (dst *StopTaskRequest) XXX_Merge(src proto.Message) {
   741  	xxx_messageInfo_StopTaskRequest.Merge(dst, src)
   742  }
   743  func (m *StopTaskRequest) XXX_Size() int {
   744  	return xxx_messageInfo_StopTaskRequest.Size(m)
   745  }
   746  func (m *StopTaskRequest) XXX_DiscardUnknown() {
   747  	xxx_messageInfo_StopTaskRequest.DiscardUnknown(m)
   748  }
   749  
   750  var xxx_messageInfo_StopTaskRequest proto.InternalMessageInfo
   751  
   752  func (m *StopTaskRequest) GetTaskId() string {
   753  	if m != nil {
   754  		return m.TaskId
   755  	}
   756  	return ""
   757  }
   758  
   759  func (m *StopTaskRequest) GetTimeout() *duration.Duration {
   760  	if m != nil {
   761  		return m.Timeout
   762  	}
   763  	return nil
   764  }
   765  
   766  func (m *StopTaskRequest) GetSignal() string {
   767  	if m != nil {
   768  		return m.Signal
   769  	}
   770  	return ""
   771  }
   772  
   773  type StopTaskResponse struct {
   774  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   775  	XXX_unrecognized     []byte   `json:"-"`
   776  	XXX_sizecache        int32    `json:"-"`
   777  }
   778  
   779  func (m *StopTaskResponse) Reset()         { *m = StopTaskResponse{} }
   780  func (m *StopTaskResponse) String() string { return proto.CompactTextString(m) }
   781  func (*StopTaskResponse) ProtoMessage()    {}
   782  func (*StopTaskResponse) Descriptor() ([]byte, []int) {
   783  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{13}
   784  }
   785  func (m *StopTaskResponse) XXX_Unmarshal(b []byte) error {
   786  	return xxx_messageInfo_StopTaskResponse.Unmarshal(m, b)
   787  }
   788  func (m *StopTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   789  	return xxx_messageInfo_StopTaskResponse.Marshal(b, m, deterministic)
   790  }
   791  func (dst *StopTaskResponse) XXX_Merge(src proto.Message) {
   792  	xxx_messageInfo_StopTaskResponse.Merge(dst, src)
   793  }
   794  func (m *StopTaskResponse) XXX_Size() int {
   795  	return xxx_messageInfo_StopTaskResponse.Size(m)
   796  }
   797  func (m *StopTaskResponse) XXX_DiscardUnknown() {
   798  	xxx_messageInfo_StopTaskResponse.DiscardUnknown(m)
   799  }
   800  
   801  var xxx_messageInfo_StopTaskResponse proto.InternalMessageInfo
   802  
   803  type DestroyTaskRequest struct {
   804  	// TaskId is the ID of the target task
   805  	TaskId               string   `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   806  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   807  	XXX_unrecognized     []byte   `json:"-"`
   808  	XXX_sizecache        int32    `json:"-"`
   809  }
   810  
   811  func (m *DestroyTaskRequest) Reset()         { *m = DestroyTaskRequest{} }
   812  func (m *DestroyTaskRequest) String() string { return proto.CompactTextString(m) }
   813  func (*DestroyTaskRequest) ProtoMessage()    {}
   814  func (*DestroyTaskRequest) Descriptor() ([]byte, []int) {
   815  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{14}
   816  }
   817  func (m *DestroyTaskRequest) XXX_Unmarshal(b []byte) error {
   818  	return xxx_messageInfo_DestroyTaskRequest.Unmarshal(m, b)
   819  }
   820  func (m *DestroyTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   821  	return xxx_messageInfo_DestroyTaskRequest.Marshal(b, m, deterministic)
   822  }
   823  func (dst *DestroyTaskRequest) XXX_Merge(src proto.Message) {
   824  	xxx_messageInfo_DestroyTaskRequest.Merge(dst, src)
   825  }
   826  func (m *DestroyTaskRequest) XXX_Size() int {
   827  	return xxx_messageInfo_DestroyTaskRequest.Size(m)
   828  }
   829  func (m *DestroyTaskRequest) XXX_DiscardUnknown() {
   830  	xxx_messageInfo_DestroyTaskRequest.DiscardUnknown(m)
   831  }
   832  
   833  var xxx_messageInfo_DestroyTaskRequest proto.InternalMessageInfo
   834  
   835  func (m *DestroyTaskRequest) GetTaskId() string {
   836  	if m != nil {
   837  		return m.TaskId
   838  	}
   839  	return ""
   840  }
   841  
   842  type DestroyTaskResponse struct {
   843  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   844  	XXX_unrecognized     []byte   `json:"-"`
   845  	XXX_sizecache        int32    `json:"-"`
   846  }
   847  
   848  func (m *DestroyTaskResponse) Reset()         { *m = DestroyTaskResponse{} }
   849  func (m *DestroyTaskResponse) String() string { return proto.CompactTextString(m) }
   850  func (*DestroyTaskResponse) ProtoMessage()    {}
   851  func (*DestroyTaskResponse) Descriptor() ([]byte, []int) {
   852  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{15}
   853  }
   854  func (m *DestroyTaskResponse) XXX_Unmarshal(b []byte) error {
   855  	return xxx_messageInfo_DestroyTaskResponse.Unmarshal(m, b)
   856  }
   857  func (m *DestroyTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   858  	return xxx_messageInfo_DestroyTaskResponse.Marshal(b, m, deterministic)
   859  }
   860  func (dst *DestroyTaskResponse) XXX_Merge(src proto.Message) {
   861  	xxx_messageInfo_DestroyTaskResponse.Merge(dst, src)
   862  }
   863  func (m *DestroyTaskResponse) XXX_Size() int {
   864  	return xxx_messageInfo_DestroyTaskResponse.Size(m)
   865  }
   866  func (m *DestroyTaskResponse) XXX_DiscardUnknown() {
   867  	xxx_messageInfo_DestroyTaskResponse.DiscardUnknown(m)
   868  }
   869  
   870  var xxx_messageInfo_DestroyTaskResponse proto.InternalMessageInfo
   871  
   872  type ListTasksRequest struct {
   873  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   874  	XXX_unrecognized     []byte   `json:"-"`
   875  	XXX_sizecache        int32    `json:"-"`
   876  }
   877  
   878  func (m *ListTasksRequest) Reset()         { *m = ListTasksRequest{} }
   879  func (m *ListTasksRequest) String() string { return proto.CompactTextString(m) }
   880  func (*ListTasksRequest) ProtoMessage()    {}
   881  func (*ListTasksRequest) Descriptor() ([]byte, []int) {
   882  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{16}
   883  }
   884  func (m *ListTasksRequest) XXX_Unmarshal(b []byte) error {
   885  	return xxx_messageInfo_ListTasksRequest.Unmarshal(m, b)
   886  }
   887  func (m *ListTasksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   888  	return xxx_messageInfo_ListTasksRequest.Marshal(b, m, deterministic)
   889  }
   890  func (dst *ListTasksRequest) XXX_Merge(src proto.Message) {
   891  	xxx_messageInfo_ListTasksRequest.Merge(dst, src)
   892  }
   893  func (m *ListTasksRequest) XXX_Size() int {
   894  	return xxx_messageInfo_ListTasksRequest.Size(m)
   895  }
   896  func (m *ListTasksRequest) XXX_DiscardUnknown() {
   897  	xxx_messageInfo_ListTasksRequest.DiscardUnknown(m)
   898  }
   899  
   900  var xxx_messageInfo_ListTasksRequest proto.InternalMessageInfo
   901  
   902  type ListTasksResponse struct {
   903  	// Tasks includes a list of summary information for each task
   904  	Tasks                []*TaskStatus `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
   905  	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
   906  	XXX_unrecognized     []byte        `json:"-"`
   907  	XXX_sizecache        int32         `json:"-"`
   908  }
   909  
   910  func (m *ListTasksResponse) Reset()         { *m = ListTasksResponse{} }
   911  func (m *ListTasksResponse) String() string { return proto.CompactTextString(m) }
   912  func (*ListTasksResponse) ProtoMessage()    {}
   913  func (*ListTasksResponse) Descriptor() ([]byte, []int) {
   914  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{17}
   915  }
   916  func (m *ListTasksResponse) XXX_Unmarshal(b []byte) error {
   917  	return xxx_messageInfo_ListTasksResponse.Unmarshal(m, b)
   918  }
   919  func (m *ListTasksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   920  	return xxx_messageInfo_ListTasksResponse.Marshal(b, m, deterministic)
   921  }
   922  func (dst *ListTasksResponse) XXX_Merge(src proto.Message) {
   923  	xxx_messageInfo_ListTasksResponse.Merge(dst, src)
   924  }
   925  func (m *ListTasksResponse) XXX_Size() int {
   926  	return xxx_messageInfo_ListTasksResponse.Size(m)
   927  }
   928  func (m *ListTasksResponse) XXX_DiscardUnknown() {
   929  	xxx_messageInfo_ListTasksResponse.DiscardUnknown(m)
   930  }
   931  
   932  var xxx_messageInfo_ListTasksResponse proto.InternalMessageInfo
   933  
   934  func (m *ListTasksResponse) GetTasks() []*TaskStatus {
   935  	if m != nil {
   936  		return m.Tasks
   937  	}
   938  	return nil
   939  }
   940  
   941  type InspectTaskRequest struct {
   942  	// TaskId is the ID of the target task
   943  	TaskId               string   `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   944  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   945  	XXX_unrecognized     []byte   `json:"-"`
   946  	XXX_sizecache        int32    `json:"-"`
   947  }
   948  
   949  func (m *InspectTaskRequest) Reset()         { *m = InspectTaskRequest{} }
   950  func (m *InspectTaskRequest) String() string { return proto.CompactTextString(m) }
   951  func (*InspectTaskRequest) ProtoMessage()    {}
   952  func (*InspectTaskRequest) Descriptor() ([]byte, []int) {
   953  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{18}
   954  }
   955  func (m *InspectTaskRequest) XXX_Unmarshal(b []byte) error {
   956  	return xxx_messageInfo_InspectTaskRequest.Unmarshal(m, b)
   957  }
   958  func (m *InspectTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   959  	return xxx_messageInfo_InspectTaskRequest.Marshal(b, m, deterministic)
   960  }
   961  func (dst *InspectTaskRequest) XXX_Merge(src proto.Message) {
   962  	xxx_messageInfo_InspectTaskRequest.Merge(dst, src)
   963  }
   964  func (m *InspectTaskRequest) XXX_Size() int {
   965  	return xxx_messageInfo_InspectTaskRequest.Size(m)
   966  }
   967  func (m *InspectTaskRequest) XXX_DiscardUnknown() {
   968  	xxx_messageInfo_InspectTaskRequest.DiscardUnknown(m)
   969  }
   970  
   971  var xxx_messageInfo_InspectTaskRequest proto.InternalMessageInfo
   972  
   973  func (m *InspectTaskRequest) GetTaskId() string {
   974  	if m != nil {
   975  		return m.TaskId
   976  	}
   977  	return ""
   978  }
   979  
   980  type InspectTaskResponse struct {
   981  	// Task details
   982  	Task *TaskStatus `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
   983  	// Driver details for task
   984  	Driver *TaskDriverStatus `protobuf:"bytes,2,opt,name=driver,proto3" json:"driver,omitempty"`
   985  	// NetworkOverride info if set
   986  	NetworkOverride      *NetworkOverride `protobuf:"bytes,3,opt,name=network_override,json=networkOverride,proto3" json:"network_override,omitempty"`
   987  	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
   988  	XXX_unrecognized     []byte           `json:"-"`
   989  	XXX_sizecache        int32            `json:"-"`
   990  }
   991  
   992  func (m *InspectTaskResponse) Reset()         { *m = InspectTaskResponse{} }
   993  func (m *InspectTaskResponse) String() string { return proto.CompactTextString(m) }
   994  func (*InspectTaskResponse) ProtoMessage()    {}
   995  func (*InspectTaskResponse) Descriptor() ([]byte, []int) {
   996  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{19}
   997  }
   998  func (m *InspectTaskResponse) XXX_Unmarshal(b []byte) error {
   999  	return xxx_messageInfo_InspectTaskResponse.Unmarshal(m, b)
  1000  }
  1001  func (m *InspectTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1002  	return xxx_messageInfo_InspectTaskResponse.Marshal(b, m, deterministic)
  1003  }
  1004  func (dst *InspectTaskResponse) XXX_Merge(src proto.Message) {
  1005  	xxx_messageInfo_InspectTaskResponse.Merge(dst, src)
  1006  }
  1007  func (m *InspectTaskResponse) XXX_Size() int {
  1008  	return xxx_messageInfo_InspectTaskResponse.Size(m)
  1009  }
  1010  func (m *InspectTaskResponse) XXX_DiscardUnknown() {
  1011  	xxx_messageInfo_InspectTaskResponse.DiscardUnknown(m)
  1012  }
  1013  
  1014  var xxx_messageInfo_InspectTaskResponse proto.InternalMessageInfo
  1015  
  1016  func (m *InspectTaskResponse) GetTask() *TaskStatus {
  1017  	if m != nil {
  1018  		return m.Task
  1019  	}
  1020  	return nil
  1021  }
  1022  
  1023  func (m *InspectTaskResponse) GetDriver() *TaskDriverStatus {
  1024  	if m != nil {
  1025  		return m.Driver
  1026  	}
  1027  	return nil
  1028  }
  1029  
  1030  func (m *InspectTaskResponse) GetNetworkOverride() *NetworkOverride {
  1031  	if m != nil {
  1032  		return m.NetworkOverride
  1033  	}
  1034  	return nil
  1035  }
  1036  
  1037  type TaskStatsRequest struct {
  1038  	// TaskId is the ID of the target task
  1039  	TaskId               string   `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  1040  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1041  	XXX_unrecognized     []byte   `json:"-"`
  1042  	XXX_sizecache        int32    `json:"-"`
  1043  }
  1044  
  1045  func (m *TaskStatsRequest) Reset()         { *m = TaskStatsRequest{} }
  1046  func (m *TaskStatsRequest) String() string { return proto.CompactTextString(m) }
  1047  func (*TaskStatsRequest) ProtoMessage()    {}
  1048  func (*TaskStatsRequest) Descriptor() ([]byte, []int) {
  1049  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{20}
  1050  }
  1051  func (m *TaskStatsRequest) XXX_Unmarshal(b []byte) error {
  1052  	return xxx_messageInfo_TaskStatsRequest.Unmarshal(m, b)
  1053  }
  1054  func (m *TaskStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1055  	return xxx_messageInfo_TaskStatsRequest.Marshal(b, m, deterministic)
  1056  }
  1057  func (dst *TaskStatsRequest) XXX_Merge(src proto.Message) {
  1058  	xxx_messageInfo_TaskStatsRequest.Merge(dst, src)
  1059  }
  1060  func (m *TaskStatsRequest) XXX_Size() int {
  1061  	return xxx_messageInfo_TaskStatsRequest.Size(m)
  1062  }
  1063  func (m *TaskStatsRequest) XXX_DiscardUnknown() {
  1064  	xxx_messageInfo_TaskStatsRequest.DiscardUnknown(m)
  1065  }
  1066  
  1067  var xxx_messageInfo_TaskStatsRequest proto.InternalMessageInfo
  1068  
  1069  func (m *TaskStatsRequest) GetTaskId() string {
  1070  	if m != nil {
  1071  		return m.TaskId
  1072  	}
  1073  	return ""
  1074  }
  1075  
  1076  type TaskStatsResponse struct {
  1077  	// Stats for the task
  1078  	Stats                *TaskStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
  1079  	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
  1080  	XXX_unrecognized     []byte     `json:"-"`
  1081  	XXX_sizecache        int32      `json:"-"`
  1082  }
  1083  
  1084  func (m *TaskStatsResponse) Reset()         { *m = TaskStatsResponse{} }
  1085  func (m *TaskStatsResponse) String() string { return proto.CompactTextString(m) }
  1086  func (*TaskStatsResponse) ProtoMessage()    {}
  1087  func (*TaskStatsResponse) Descriptor() ([]byte, []int) {
  1088  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{21}
  1089  }
  1090  func (m *TaskStatsResponse) XXX_Unmarshal(b []byte) error {
  1091  	return xxx_messageInfo_TaskStatsResponse.Unmarshal(m, b)
  1092  }
  1093  func (m *TaskStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1094  	return xxx_messageInfo_TaskStatsResponse.Marshal(b, m, deterministic)
  1095  }
  1096  func (dst *TaskStatsResponse) XXX_Merge(src proto.Message) {
  1097  	xxx_messageInfo_TaskStatsResponse.Merge(dst, src)
  1098  }
  1099  func (m *TaskStatsResponse) XXX_Size() int {
  1100  	return xxx_messageInfo_TaskStatsResponse.Size(m)
  1101  }
  1102  func (m *TaskStatsResponse) XXX_DiscardUnknown() {
  1103  	xxx_messageInfo_TaskStatsResponse.DiscardUnknown(m)
  1104  }
  1105  
  1106  var xxx_messageInfo_TaskStatsResponse proto.InternalMessageInfo
  1107  
  1108  func (m *TaskStatsResponse) GetStats() *TaskStats {
  1109  	if m != nil {
  1110  		return m.Stats
  1111  	}
  1112  	return nil
  1113  }
  1114  
  1115  type TaskEventsRequest struct {
  1116  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1117  	XXX_unrecognized     []byte   `json:"-"`
  1118  	XXX_sizecache        int32    `json:"-"`
  1119  }
  1120  
  1121  func (m *TaskEventsRequest) Reset()         { *m = TaskEventsRequest{} }
  1122  func (m *TaskEventsRequest) String() string { return proto.CompactTextString(m) }
  1123  func (*TaskEventsRequest) ProtoMessage()    {}
  1124  func (*TaskEventsRequest) Descriptor() ([]byte, []int) {
  1125  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{22}
  1126  }
  1127  func (m *TaskEventsRequest) XXX_Unmarshal(b []byte) error {
  1128  	return xxx_messageInfo_TaskEventsRequest.Unmarshal(m, b)
  1129  }
  1130  func (m *TaskEventsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1131  	return xxx_messageInfo_TaskEventsRequest.Marshal(b, m, deterministic)
  1132  }
  1133  func (dst *TaskEventsRequest) XXX_Merge(src proto.Message) {
  1134  	xxx_messageInfo_TaskEventsRequest.Merge(dst, src)
  1135  }
  1136  func (m *TaskEventsRequest) XXX_Size() int {
  1137  	return xxx_messageInfo_TaskEventsRequest.Size(m)
  1138  }
  1139  func (m *TaskEventsRequest) XXX_DiscardUnknown() {
  1140  	xxx_messageInfo_TaskEventsRequest.DiscardUnknown(m)
  1141  }
  1142  
  1143  var xxx_messageInfo_TaskEventsRequest proto.InternalMessageInfo
  1144  
  1145  type SignalTaskRequest struct {
  1146  	// TaskId is the ID of the target task
  1147  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  1148  	// Signal is the operating system signal to send to the task. Ex: SIGHUP
  1149  	Signal               string   `protobuf:"bytes,2,opt,name=signal,proto3" json:"signal,omitempty"`
  1150  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1151  	XXX_unrecognized     []byte   `json:"-"`
  1152  	XXX_sizecache        int32    `json:"-"`
  1153  }
  1154  
  1155  func (m *SignalTaskRequest) Reset()         { *m = SignalTaskRequest{} }
  1156  func (m *SignalTaskRequest) String() string { return proto.CompactTextString(m) }
  1157  func (*SignalTaskRequest) ProtoMessage()    {}
  1158  func (*SignalTaskRequest) Descriptor() ([]byte, []int) {
  1159  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{23}
  1160  }
  1161  func (m *SignalTaskRequest) XXX_Unmarshal(b []byte) error {
  1162  	return xxx_messageInfo_SignalTaskRequest.Unmarshal(m, b)
  1163  }
  1164  func (m *SignalTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1165  	return xxx_messageInfo_SignalTaskRequest.Marshal(b, m, deterministic)
  1166  }
  1167  func (dst *SignalTaskRequest) XXX_Merge(src proto.Message) {
  1168  	xxx_messageInfo_SignalTaskRequest.Merge(dst, src)
  1169  }
  1170  func (m *SignalTaskRequest) XXX_Size() int {
  1171  	return xxx_messageInfo_SignalTaskRequest.Size(m)
  1172  }
  1173  func (m *SignalTaskRequest) XXX_DiscardUnknown() {
  1174  	xxx_messageInfo_SignalTaskRequest.DiscardUnknown(m)
  1175  }
  1176  
  1177  var xxx_messageInfo_SignalTaskRequest proto.InternalMessageInfo
  1178  
  1179  func (m *SignalTaskRequest) GetTaskId() string {
  1180  	if m != nil {
  1181  		return m.TaskId
  1182  	}
  1183  	return ""
  1184  }
  1185  
  1186  func (m *SignalTaskRequest) GetSignal() string {
  1187  	if m != nil {
  1188  		return m.Signal
  1189  	}
  1190  	return ""
  1191  }
  1192  
  1193  type SignalTaskResponse struct {
  1194  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1195  	XXX_unrecognized     []byte   `json:"-"`
  1196  	XXX_sizecache        int32    `json:"-"`
  1197  }
  1198  
  1199  func (m *SignalTaskResponse) Reset()         { *m = SignalTaskResponse{} }
  1200  func (m *SignalTaskResponse) String() string { return proto.CompactTextString(m) }
  1201  func (*SignalTaskResponse) ProtoMessage()    {}
  1202  func (*SignalTaskResponse) Descriptor() ([]byte, []int) {
  1203  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{24}
  1204  }
  1205  func (m *SignalTaskResponse) XXX_Unmarshal(b []byte) error {
  1206  	return xxx_messageInfo_SignalTaskResponse.Unmarshal(m, b)
  1207  }
  1208  func (m *SignalTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1209  	return xxx_messageInfo_SignalTaskResponse.Marshal(b, m, deterministic)
  1210  }
  1211  func (dst *SignalTaskResponse) XXX_Merge(src proto.Message) {
  1212  	xxx_messageInfo_SignalTaskResponse.Merge(dst, src)
  1213  }
  1214  func (m *SignalTaskResponse) XXX_Size() int {
  1215  	return xxx_messageInfo_SignalTaskResponse.Size(m)
  1216  }
  1217  func (m *SignalTaskResponse) XXX_DiscardUnknown() {
  1218  	xxx_messageInfo_SignalTaskResponse.DiscardUnknown(m)
  1219  }
  1220  
  1221  var xxx_messageInfo_SignalTaskResponse proto.InternalMessageInfo
  1222  
  1223  type ExecTaskRequest struct {
  1224  	// TaskId is the ID of the target task
  1225  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  1226  	// Command is the command to execute in the task environment
  1227  	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
  1228  	// Timeout is the amount of time to wait for the command to stop.
  1229  	// Defaults to 0 (run forever)
  1230  	Timeout              *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
  1231  	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
  1232  	XXX_unrecognized     []byte             `json:"-"`
  1233  	XXX_sizecache        int32              `json:"-"`
  1234  }
  1235  
  1236  func (m *ExecTaskRequest) Reset()         { *m = ExecTaskRequest{} }
  1237  func (m *ExecTaskRequest) String() string { return proto.CompactTextString(m) }
  1238  func (*ExecTaskRequest) ProtoMessage()    {}
  1239  func (*ExecTaskRequest) Descriptor() ([]byte, []int) {
  1240  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{25}
  1241  }
  1242  func (m *ExecTaskRequest) XXX_Unmarshal(b []byte) error {
  1243  	return xxx_messageInfo_ExecTaskRequest.Unmarshal(m, b)
  1244  }
  1245  func (m *ExecTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1246  	return xxx_messageInfo_ExecTaskRequest.Marshal(b, m, deterministic)
  1247  }
  1248  func (dst *ExecTaskRequest) XXX_Merge(src proto.Message) {
  1249  	xxx_messageInfo_ExecTaskRequest.Merge(dst, src)
  1250  }
  1251  func (m *ExecTaskRequest) XXX_Size() int {
  1252  	return xxx_messageInfo_ExecTaskRequest.Size(m)
  1253  }
  1254  func (m *ExecTaskRequest) XXX_DiscardUnknown() {
  1255  	xxx_messageInfo_ExecTaskRequest.DiscardUnknown(m)
  1256  }
  1257  
  1258  var xxx_messageInfo_ExecTaskRequest proto.InternalMessageInfo
  1259  
  1260  func (m *ExecTaskRequest) GetTaskId() string {
  1261  	if m != nil {
  1262  		return m.TaskId
  1263  	}
  1264  	return ""
  1265  }
  1266  
  1267  func (m *ExecTaskRequest) GetCommand() []string {
  1268  	if m != nil {
  1269  		return m.Command
  1270  	}
  1271  	return nil
  1272  }
  1273  
  1274  func (m *ExecTaskRequest) GetTimeout() *duration.Duration {
  1275  	if m != nil {
  1276  		return m.Timeout
  1277  	}
  1278  	return nil
  1279  }
  1280  
  1281  type ExecTaskResponse struct {
  1282  	// Stdout from the exec
  1283  	Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
  1284  	// Stderr from the exec
  1285  	Stderr []byte `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"`
  1286  	// Result from the exec
  1287  	Result               *ExitResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
  1288  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
  1289  	XXX_unrecognized     []byte      `json:"-"`
  1290  	XXX_sizecache        int32       `json:"-"`
  1291  }
  1292  
  1293  func (m *ExecTaskResponse) Reset()         { *m = ExecTaskResponse{} }
  1294  func (m *ExecTaskResponse) String() string { return proto.CompactTextString(m) }
  1295  func (*ExecTaskResponse) ProtoMessage()    {}
  1296  func (*ExecTaskResponse) Descriptor() ([]byte, []int) {
  1297  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{26}
  1298  }
  1299  func (m *ExecTaskResponse) XXX_Unmarshal(b []byte) error {
  1300  	return xxx_messageInfo_ExecTaskResponse.Unmarshal(m, b)
  1301  }
  1302  func (m *ExecTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1303  	return xxx_messageInfo_ExecTaskResponse.Marshal(b, m, deterministic)
  1304  }
  1305  func (dst *ExecTaskResponse) XXX_Merge(src proto.Message) {
  1306  	xxx_messageInfo_ExecTaskResponse.Merge(dst, src)
  1307  }
  1308  func (m *ExecTaskResponse) XXX_Size() int {
  1309  	return xxx_messageInfo_ExecTaskResponse.Size(m)
  1310  }
  1311  func (m *ExecTaskResponse) XXX_DiscardUnknown() {
  1312  	xxx_messageInfo_ExecTaskResponse.DiscardUnknown(m)
  1313  }
  1314  
  1315  var xxx_messageInfo_ExecTaskResponse proto.InternalMessageInfo
  1316  
  1317  func (m *ExecTaskResponse) GetStdout() []byte {
  1318  	if m != nil {
  1319  		return m.Stdout
  1320  	}
  1321  	return nil
  1322  }
  1323  
  1324  func (m *ExecTaskResponse) GetStderr() []byte {
  1325  	if m != nil {
  1326  		return m.Stderr
  1327  	}
  1328  	return nil
  1329  }
  1330  
  1331  func (m *ExecTaskResponse) GetResult() *ExitResult {
  1332  	if m != nil {
  1333  		return m.Result
  1334  	}
  1335  	return nil
  1336  }
  1337  
  1338  type DriverCapabilities struct {
  1339  	// SendSignals indicates that the driver can send process signals (ex. SIGUSR1)
  1340  	// to the task.
  1341  	SendSignals bool `protobuf:"varint,1,opt,name=send_signals,json=sendSignals,proto3" json:"send_signals,omitempty"`
  1342  	// Exec indicates that the driver supports executing arbitrary commands
  1343  	// in the task's execution environment.
  1344  	Exec bool `protobuf:"varint,2,opt,name=exec,proto3" json:"exec,omitempty"`
  1345  	// FsIsolation indicates what kind of filesystem isolation a driver supports.
  1346  	FsIsolation          DriverCapabilities_FSIsolation `protobuf:"varint,3,opt,name=fs_isolation,json=fsIsolation,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.DriverCapabilities_FSIsolation" json:"fs_isolation,omitempty"`
  1347  	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
  1348  	XXX_unrecognized     []byte                         `json:"-"`
  1349  	XXX_sizecache        int32                          `json:"-"`
  1350  }
  1351  
  1352  func (m *DriverCapabilities) Reset()         { *m = DriverCapabilities{} }
  1353  func (m *DriverCapabilities) String() string { return proto.CompactTextString(m) }
  1354  func (*DriverCapabilities) ProtoMessage()    {}
  1355  func (*DriverCapabilities) Descriptor() ([]byte, []int) {
  1356  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{27}
  1357  }
  1358  func (m *DriverCapabilities) XXX_Unmarshal(b []byte) error {
  1359  	return xxx_messageInfo_DriverCapabilities.Unmarshal(m, b)
  1360  }
  1361  func (m *DriverCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1362  	return xxx_messageInfo_DriverCapabilities.Marshal(b, m, deterministic)
  1363  }
  1364  func (dst *DriverCapabilities) XXX_Merge(src proto.Message) {
  1365  	xxx_messageInfo_DriverCapabilities.Merge(dst, src)
  1366  }
  1367  func (m *DriverCapabilities) XXX_Size() int {
  1368  	return xxx_messageInfo_DriverCapabilities.Size(m)
  1369  }
  1370  func (m *DriverCapabilities) XXX_DiscardUnknown() {
  1371  	xxx_messageInfo_DriverCapabilities.DiscardUnknown(m)
  1372  }
  1373  
  1374  var xxx_messageInfo_DriverCapabilities proto.InternalMessageInfo
  1375  
  1376  func (m *DriverCapabilities) GetSendSignals() bool {
  1377  	if m != nil {
  1378  		return m.SendSignals
  1379  	}
  1380  	return false
  1381  }
  1382  
  1383  func (m *DriverCapabilities) GetExec() bool {
  1384  	if m != nil {
  1385  		return m.Exec
  1386  	}
  1387  	return false
  1388  }
  1389  
  1390  func (m *DriverCapabilities) GetFsIsolation() DriverCapabilities_FSIsolation {
  1391  	if m != nil {
  1392  		return m.FsIsolation
  1393  	}
  1394  	return DriverCapabilities_NONE
  1395  }
  1396  
  1397  type TaskConfig struct {
  1398  	// Id of the task, recommended to the globally unique, must be unique to the driver.
  1399  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1400  	// Name of the task
  1401  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  1402  	// MsgpackDriverConfig is the encoded driver configuation of the task
  1403  	MsgpackDriverConfig []byte `protobuf:"bytes,3,opt,name=msgpack_driver_config,json=msgpackDriverConfig,proto3" json:"msgpack_driver_config,omitempty"`
  1404  	// Env is the a set of key/value pairs to be set as environment variables
  1405  	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"`
  1406  	// Resources defines the resources to isolate
  1407  	Resources *Resources `protobuf:"bytes,5,opt,name=resources,proto3" json:"resources,omitempty"`
  1408  	// Mounts is a list of targets to bind mount into the task directory
  1409  	Mounts []*Mount `protobuf:"bytes,6,rep,name=mounts,proto3" json:"mounts,omitempty"`
  1410  	// Devices is a list of system devices to mount into the task's execution
  1411  	// environment.
  1412  	Devices []*Device `protobuf:"bytes,7,rep,name=devices,proto3" json:"devices,omitempty"`
  1413  	// User defines the operating system user the tasks should run as
  1414  	User string `protobuf:"bytes,8,opt,name=user,proto3" json:"user,omitempty"`
  1415  	// AllocDir is the directory on the host where the allocation directory
  1416  	// exists.
  1417  	AllocDir             string   `protobuf:"bytes,9,opt,name=alloc_dir,json=allocDir,proto3" json:"alloc_dir,omitempty"`
  1418  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1419  	XXX_unrecognized     []byte   `json:"-"`
  1420  	XXX_sizecache        int32    `json:"-"`
  1421  }
  1422  
  1423  func (m *TaskConfig) Reset()         { *m = TaskConfig{} }
  1424  func (m *TaskConfig) String() string { return proto.CompactTextString(m) }
  1425  func (*TaskConfig) ProtoMessage()    {}
  1426  func (*TaskConfig) Descriptor() ([]byte, []int) {
  1427  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{28}
  1428  }
  1429  func (m *TaskConfig) XXX_Unmarshal(b []byte) error {
  1430  	return xxx_messageInfo_TaskConfig.Unmarshal(m, b)
  1431  }
  1432  func (m *TaskConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1433  	return xxx_messageInfo_TaskConfig.Marshal(b, m, deterministic)
  1434  }
  1435  func (dst *TaskConfig) XXX_Merge(src proto.Message) {
  1436  	xxx_messageInfo_TaskConfig.Merge(dst, src)
  1437  }
  1438  func (m *TaskConfig) XXX_Size() int {
  1439  	return xxx_messageInfo_TaskConfig.Size(m)
  1440  }
  1441  func (m *TaskConfig) XXX_DiscardUnknown() {
  1442  	xxx_messageInfo_TaskConfig.DiscardUnknown(m)
  1443  }
  1444  
  1445  var xxx_messageInfo_TaskConfig proto.InternalMessageInfo
  1446  
  1447  func (m *TaskConfig) GetId() string {
  1448  	if m != nil {
  1449  		return m.Id
  1450  	}
  1451  	return ""
  1452  }
  1453  
  1454  func (m *TaskConfig) GetName() string {
  1455  	if m != nil {
  1456  		return m.Name
  1457  	}
  1458  	return ""
  1459  }
  1460  
  1461  func (m *TaskConfig) GetMsgpackDriverConfig() []byte {
  1462  	if m != nil {
  1463  		return m.MsgpackDriverConfig
  1464  	}
  1465  	return nil
  1466  }
  1467  
  1468  func (m *TaskConfig) GetEnv() map[string]string {
  1469  	if m != nil {
  1470  		return m.Env
  1471  	}
  1472  	return nil
  1473  }
  1474  
  1475  func (m *TaskConfig) GetResources() *Resources {
  1476  	if m != nil {
  1477  		return m.Resources
  1478  	}
  1479  	return nil
  1480  }
  1481  
  1482  func (m *TaskConfig) GetMounts() []*Mount {
  1483  	if m != nil {
  1484  		return m.Mounts
  1485  	}
  1486  	return nil
  1487  }
  1488  
  1489  func (m *TaskConfig) GetDevices() []*Device {
  1490  	if m != nil {
  1491  		return m.Devices
  1492  	}
  1493  	return nil
  1494  }
  1495  
  1496  func (m *TaskConfig) GetUser() string {
  1497  	if m != nil {
  1498  		return m.User
  1499  	}
  1500  	return ""
  1501  }
  1502  
  1503  func (m *TaskConfig) GetAllocDir() string {
  1504  	if m != nil {
  1505  		return m.AllocDir
  1506  	}
  1507  	return ""
  1508  }
  1509  
  1510  type Resources struct {
  1511  	// RawResources are the resources set for the task
  1512  	RawResources *RawResources `protobuf:"bytes,1,opt,name=raw_resources,json=rawResources,proto3" json:"raw_resources,omitempty"`
  1513  	// LinuxResources are the computed values to set for specific Linux features
  1514  	LinuxResources       *LinuxResources `protobuf:"bytes,2,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"`
  1515  	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
  1516  	XXX_unrecognized     []byte          `json:"-"`
  1517  	XXX_sizecache        int32           `json:"-"`
  1518  }
  1519  
  1520  func (m *Resources) Reset()         { *m = Resources{} }
  1521  func (m *Resources) String() string { return proto.CompactTextString(m) }
  1522  func (*Resources) ProtoMessage()    {}
  1523  func (*Resources) Descriptor() ([]byte, []int) {
  1524  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{29}
  1525  }
  1526  func (m *Resources) XXX_Unmarshal(b []byte) error {
  1527  	return xxx_messageInfo_Resources.Unmarshal(m, b)
  1528  }
  1529  func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1530  	return xxx_messageInfo_Resources.Marshal(b, m, deterministic)
  1531  }
  1532  func (dst *Resources) XXX_Merge(src proto.Message) {
  1533  	xxx_messageInfo_Resources.Merge(dst, src)
  1534  }
  1535  func (m *Resources) XXX_Size() int {
  1536  	return xxx_messageInfo_Resources.Size(m)
  1537  }
  1538  func (m *Resources) XXX_DiscardUnknown() {
  1539  	xxx_messageInfo_Resources.DiscardUnknown(m)
  1540  }
  1541  
  1542  var xxx_messageInfo_Resources proto.InternalMessageInfo
  1543  
  1544  func (m *Resources) GetRawResources() *RawResources {
  1545  	if m != nil {
  1546  		return m.RawResources
  1547  	}
  1548  	return nil
  1549  }
  1550  
  1551  func (m *Resources) GetLinuxResources() *LinuxResources {
  1552  	if m != nil {
  1553  		return m.LinuxResources
  1554  	}
  1555  	return nil
  1556  }
  1557  
  1558  type RawResources struct {
  1559  	Cpu                  int64              `protobuf:"varint,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
  1560  	Memory               int64              `protobuf:"varint,2,opt,name=memory,proto3" json:"memory,omitempty"`
  1561  	Disk                 int64              `protobuf:"varint,3,opt,name=disk,proto3" json:"disk,omitempty"`
  1562  	Iops                 int64              `protobuf:"varint,4,opt,name=iops,proto3" json:"iops,omitempty"`
  1563  	Networks             []*NetworkResource `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"`
  1564  	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
  1565  	XXX_unrecognized     []byte             `json:"-"`
  1566  	XXX_sizecache        int32              `json:"-"`
  1567  }
  1568  
  1569  func (m *RawResources) Reset()         { *m = RawResources{} }
  1570  func (m *RawResources) String() string { return proto.CompactTextString(m) }
  1571  func (*RawResources) ProtoMessage()    {}
  1572  func (*RawResources) Descriptor() ([]byte, []int) {
  1573  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{30}
  1574  }
  1575  func (m *RawResources) XXX_Unmarshal(b []byte) error {
  1576  	return xxx_messageInfo_RawResources.Unmarshal(m, b)
  1577  }
  1578  func (m *RawResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1579  	return xxx_messageInfo_RawResources.Marshal(b, m, deterministic)
  1580  }
  1581  func (dst *RawResources) XXX_Merge(src proto.Message) {
  1582  	xxx_messageInfo_RawResources.Merge(dst, src)
  1583  }
  1584  func (m *RawResources) XXX_Size() int {
  1585  	return xxx_messageInfo_RawResources.Size(m)
  1586  }
  1587  func (m *RawResources) XXX_DiscardUnknown() {
  1588  	xxx_messageInfo_RawResources.DiscardUnknown(m)
  1589  }
  1590  
  1591  var xxx_messageInfo_RawResources proto.InternalMessageInfo
  1592  
  1593  func (m *RawResources) GetCpu() int64 {
  1594  	if m != nil {
  1595  		return m.Cpu
  1596  	}
  1597  	return 0
  1598  }
  1599  
  1600  func (m *RawResources) GetMemory() int64 {
  1601  	if m != nil {
  1602  		return m.Memory
  1603  	}
  1604  	return 0
  1605  }
  1606  
  1607  func (m *RawResources) GetDisk() int64 {
  1608  	if m != nil {
  1609  		return m.Disk
  1610  	}
  1611  	return 0
  1612  }
  1613  
  1614  func (m *RawResources) GetIops() int64 {
  1615  	if m != nil {
  1616  		return m.Iops
  1617  	}
  1618  	return 0
  1619  }
  1620  
  1621  func (m *RawResources) GetNetworks() []*NetworkResource {
  1622  	if m != nil {
  1623  		return m.Networks
  1624  	}
  1625  	return nil
  1626  }
  1627  
  1628  type NetworkResource struct {
  1629  	Device               string         `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
  1630  	Cidr                 string         `protobuf:"bytes,2,opt,name=cidr,proto3" json:"cidr,omitempty"`
  1631  	Ip                   string         `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
  1632  	Mbits                int32          `protobuf:"varint,4,opt,name=mbits,proto3" json:"mbits,omitempty"`
  1633  	ReservedPorts        []*NetworkPort `protobuf:"bytes,5,rep,name=reserved_ports,json=reservedPorts,proto3" json:"reserved_ports,omitempty"`
  1634  	DynamicPorts         []*NetworkPort `protobuf:"bytes,6,rep,name=dynamic_ports,json=dynamicPorts,proto3" json:"dynamic_ports,omitempty"`
  1635  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
  1636  	XXX_unrecognized     []byte         `json:"-"`
  1637  	XXX_sizecache        int32          `json:"-"`
  1638  }
  1639  
  1640  func (m *NetworkResource) Reset()         { *m = NetworkResource{} }
  1641  func (m *NetworkResource) String() string { return proto.CompactTextString(m) }
  1642  func (*NetworkResource) ProtoMessage()    {}
  1643  func (*NetworkResource) Descriptor() ([]byte, []int) {
  1644  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{31}
  1645  }
  1646  func (m *NetworkResource) XXX_Unmarshal(b []byte) error {
  1647  	return xxx_messageInfo_NetworkResource.Unmarshal(m, b)
  1648  }
  1649  func (m *NetworkResource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1650  	return xxx_messageInfo_NetworkResource.Marshal(b, m, deterministic)
  1651  }
  1652  func (dst *NetworkResource) XXX_Merge(src proto.Message) {
  1653  	xxx_messageInfo_NetworkResource.Merge(dst, src)
  1654  }
  1655  func (m *NetworkResource) XXX_Size() int {
  1656  	return xxx_messageInfo_NetworkResource.Size(m)
  1657  }
  1658  func (m *NetworkResource) XXX_DiscardUnknown() {
  1659  	xxx_messageInfo_NetworkResource.DiscardUnknown(m)
  1660  }
  1661  
  1662  var xxx_messageInfo_NetworkResource proto.InternalMessageInfo
  1663  
  1664  func (m *NetworkResource) GetDevice() string {
  1665  	if m != nil {
  1666  		return m.Device
  1667  	}
  1668  	return ""
  1669  }
  1670  
  1671  func (m *NetworkResource) GetCidr() string {
  1672  	if m != nil {
  1673  		return m.Cidr
  1674  	}
  1675  	return ""
  1676  }
  1677  
  1678  func (m *NetworkResource) GetIp() string {
  1679  	if m != nil {
  1680  		return m.Ip
  1681  	}
  1682  	return ""
  1683  }
  1684  
  1685  func (m *NetworkResource) GetMbits() int32 {
  1686  	if m != nil {
  1687  		return m.Mbits
  1688  	}
  1689  	return 0
  1690  }
  1691  
  1692  func (m *NetworkResource) GetReservedPorts() []*NetworkPort {
  1693  	if m != nil {
  1694  		return m.ReservedPorts
  1695  	}
  1696  	return nil
  1697  }
  1698  
  1699  func (m *NetworkResource) GetDynamicPorts() []*NetworkPort {
  1700  	if m != nil {
  1701  		return m.DynamicPorts
  1702  	}
  1703  	return nil
  1704  }
  1705  
  1706  type NetworkPort struct {
  1707  	Label                string   `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
  1708  	Value                int32    `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
  1709  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1710  	XXX_unrecognized     []byte   `json:"-"`
  1711  	XXX_sizecache        int32    `json:"-"`
  1712  }
  1713  
  1714  func (m *NetworkPort) Reset()         { *m = NetworkPort{} }
  1715  func (m *NetworkPort) String() string { return proto.CompactTextString(m) }
  1716  func (*NetworkPort) ProtoMessage()    {}
  1717  func (*NetworkPort) Descriptor() ([]byte, []int) {
  1718  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{32}
  1719  }
  1720  func (m *NetworkPort) XXX_Unmarshal(b []byte) error {
  1721  	return xxx_messageInfo_NetworkPort.Unmarshal(m, b)
  1722  }
  1723  func (m *NetworkPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1724  	return xxx_messageInfo_NetworkPort.Marshal(b, m, deterministic)
  1725  }
  1726  func (dst *NetworkPort) XXX_Merge(src proto.Message) {
  1727  	xxx_messageInfo_NetworkPort.Merge(dst, src)
  1728  }
  1729  func (m *NetworkPort) XXX_Size() int {
  1730  	return xxx_messageInfo_NetworkPort.Size(m)
  1731  }
  1732  func (m *NetworkPort) XXX_DiscardUnknown() {
  1733  	xxx_messageInfo_NetworkPort.DiscardUnknown(m)
  1734  }
  1735  
  1736  var xxx_messageInfo_NetworkPort proto.InternalMessageInfo
  1737  
  1738  func (m *NetworkPort) GetLabel() string {
  1739  	if m != nil {
  1740  		return m.Label
  1741  	}
  1742  	return ""
  1743  }
  1744  
  1745  func (m *NetworkPort) GetValue() int32 {
  1746  	if m != nil {
  1747  		return m.Value
  1748  	}
  1749  	return 0
  1750  }
  1751  
  1752  type LinuxResources struct {
  1753  	// CPU CFS (Completely Fair Scheduler) period. Default: 0 (not specified)
  1754  	CpuPeriod int64 `protobuf:"varint,1,opt,name=cpu_period,json=cpuPeriod,proto3" json:"cpu_period,omitempty"`
  1755  	// CPU CFS (Completely Fair Scheduler) quota. Default: 0 (not specified)
  1756  	CpuQuota int64 `protobuf:"varint,2,opt,name=cpu_quota,json=cpuQuota,proto3" json:"cpu_quota,omitempty"`
  1757  	// CPU shares (relative weight vs. other containers). Default: 0 (not specified)
  1758  	CpuShares int64 `protobuf:"varint,3,opt,name=cpu_shares,json=cpuShares,proto3" json:"cpu_shares,omitempty"`
  1759  	// Memory limit in bytes. Default: 0 (not specified)
  1760  	MemoryLimitInBytes int64 `protobuf:"varint,4,opt,name=memory_limit_in_bytes,json=memoryLimitInBytes,proto3" json:"memory_limit_in_bytes,omitempty"`
  1761  	// OOMScoreAdj adjusts the oom-killer score. Default: 0 (not specified)
  1762  	OomScoreAdj int64 `protobuf:"varint,5,opt,name=oom_score_adj,json=oomScoreAdj,proto3" json:"oom_score_adj,omitempty"`
  1763  	// CpusetCpus constrains the allowed set of logical CPUs. Default: "" (not specified)
  1764  	CpusetCpus string `protobuf:"bytes,6,opt,name=cpuset_cpus,json=cpusetCpus,proto3" json:"cpuset_cpus,omitempty"`
  1765  	// CpusetMems constrains the allowed set of memory nodes. Default: "" (not specified)
  1766  	CpusetMems           string   `protobuf:"bytes,7,opt,name=cpuset_mems,json=cpusetMems,proto3" json:"cpuset_mems,omitempty"`
  1767  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1768  	XXX_unrecognized     []byte   `json:"-"`
  1769  	XXX_sizecache        int32    `json:"-"`
  1770  }
  1771  
  1772  func (m *LinuxResources) Reset()         { *m = LinuxResources{} }
  1773  func (m *LinuxResources) String() string { return proto.CompactTextString(m) }
  1774  func (*LinuxResources) ProtoMessage()    {}
  1775  func (*LinuxResources) Descriptor() ([]byte, []int) {
  1776  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{33}
  1777  }
  1778  func (m *LinuxResources) XXX_Unmarshal(b []byte) error {
  1779  	return xxx_messageInfo_LinuxResources.Unmarshal(m, b)
  1780  }
  1781  func (m *LinuxResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1782  	return xxx_messageInfo_LinuxResources.Marshal(b, m, deterministic)
  1783  }
  1784  func (dst *LinuxResources) XXX_Merge(src proto.Message) {
  1785  	xxx_messageInfo_LinuxResources.Merge(dst, src)
  1786  }
  1787  func (m *LinuxResources) XXX_Size() int {
  1788  	return xxx_messageInfo_LinuxResources.Size(m)
  1789  }
  1790  func (m *LinuxResources) XXX_DiscardUnknown() {
  1791  	xxx_messageInfo_LinuxResources.DiscardUnknown(m)
  1792  }
  1793  
  1794  var xxx_messageInfo_LinuxResources proto.InternalMessageInfo
  1795  
  1796  func (m *LinuxResources) GetCpuPeriod() int64 {
  1797  	if m != nil {
  1798  		return m.CpuPeriod
  1799  	}
  1800  	return 0
  1801  }
  1802  
  1803  func (m *LinuxResources) GetCpuQuota() int64 {
  1804  	if m != nil {
  1805  		return m.CpuQuota
  1806  	}
  1807  	return 0
  1808  }
  1809  
  1810  func (m *LinuxResources) GetCpuShares() int64 {
  1811  	if m != nil {
  1812  		return m.CpuShares
  1813  	}
  1814  	return 0
  1815  }
  1816  
  1817  func (m *LinuxResources) GetMemoryLimitInBytes() int64 {
  1818  	if m != nil {
  1819  		return m.MemoryLimitInBytes
  1820  	}
  1821  	return 0
  1822  }
  1823  
  1824  func (m *LinuxResources) GetOomScoreAdj() int64 {
  1825  	if m != nil {
  1826  		return m.OomScoreAdj
  1827  	}
  1828  	return 0
  1829  }
  1830  
  1831  func (m *LinuxResources) GetCpusetCpus() string {
  1832  	if m != nil {
  1833  		return m.CpusetCpus
  1834  	}
  1835  	return ""
  1836  }
  1837  
  1838  func (m *LinuxResources) GetCpusetMems() string {
  1839  	if m != nil {
  1840  		return m.CpusetMems
  1841  	}
  1842  	return ""
  1843  }
  1844  
  1845  type Mount struct {
  1846  	// TaskPath is the file path within the task directory to mount to
  1847  	TaskPath string `protobuf:"bytes,1,opt,name=task_path,json=taskPath,proto3" json:"task_path,omitempty"`
  1848  	// HostPath is the file path on the host to mount from
  1849  	HostPath string `protobuf:"bytes,2,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"`
  1850  	// Readonly if set true, mounts the path in readonly mode
  1851  	Readonly             bool     `protobuf:"varint,3,opt,name=readonly,proto3" json:"readonly,omitempty"`
  1852  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1853  	XXX_unrecognized     []byte   `json:"-"`
  1854  	XXX_sizecache        int32    `json:"-"`
  1855  }
  1856  
  1857  func (m *Mount) Reset()         { *m = Mount{} }
  1858  func (m *Mount) String() string { return proto.CompactTextString(m) }
  1859  func (*Mount) ProtoMessage()    {}
  1860  func (*Mount) Descriptor() ([]byte, []int) {
  1861  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{34}
  1862  }
  1863  func (m *Mount) XXX_Unmarshal(b []byte) error {
  1864  	return xxx_messageInfo_Mount.Unmarshal(m, b)
  1865  }
  1866  func (m *Mount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1867  	return xxx_messageInfo_Mount.Marshal(b, m, deterministic)
  1868  }
  1869  func (dst *Mount) XXX_Merge(src proto.Message) {
  1870  	xxx_messageInfo_Mount.Merge(dst, src)
  1871  }
  1872  func (m *Mount) XXX_Size() int {
  1873  	return xxx_messageInfo_Mount.Size(m)
  1874  }
  1875  func (m *Mount) XXX_DiscardUnknown() {
  1876  	xxx_messageInfo_Mount.DiscardUnknown(m)
  1877  }
  1878  
  1879  var xxx_messageInfo_Mount proto.InternalMessageInfo
  1880  
  1881  func (m *Mount) GetTaskPath() string {
  1882  	if m != nil {
  1883  		return m.TaskPath
  1884  	}
  1885  	return ""
  1886  }
  1887  
  1888  func (m *Mount) GetHostPath() string {
  1889  	if m != nil {
  1890  		return m.HostPath
  1891  	}
  1892  	return ""
  1893  }
  1894  
  1895  func (m *Mount) GetReadonly() bool {
  1896  	if m != nil {
  1897  		return m.Readonly
  1898  	}
  1899  	return false
  1900  }
  1901  
  1902  type Device struct {
  1903  	// TaskPath is the file path within the task to mount the device to
  1904  	TaskPath string `protobuf:"bytes,1,opt,name=task_path,json=taskPath,proto3" json:"task_path,omitempty"`
  1905  	// HostPath is the path on the host to the source device
  1906  	HostPath string `protobuf:"bytes,2,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"`
  1907  	// CgroupPermissions defines the Cgroup permissions of the device.
  1908  	// One or more of the following options can be set:
  1909  	//  * r - allows the task to read from the specified device.
  1910  	//  * w - allows the task to write to the specified device.
  1911  	//  * m - allows the task to create device files that do not yet exist.
  1912  	//
  1913  	// Example: "rw"
  1914  	CgroupPermissions    string   `protobuf:"bytes,3,opt,name=cgroup_permissions,json=cgroupPermissions,proto3" json:"cgroup_permissions,omitempty"`
  1915  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1916  	XXX_unrecognized     []byte   `json:"-"`
  1917  	XXX_sizecache        int32    `json:"-"`
  1918  }
  1919  
  1920  func (m *Device) Reset()         { *m = Device{} }
  1921  func (m *Device) String() string { return proto.CompactTextString(m) }
  1922  func (*Device) ProtoMessage()    {}
  1923  func (*Device) Descriptor() ([]byte, []int) {
  1924  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{35}
  1925  }
  1926  func (m *Device) XXX_Unmarshal(b []byte) error {
  1927  	return xxx_messageInfo_Device.Unmarshal(m, b)
  1928  }
  1929  func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1930  	return xxx_messageInfo_Device.Marshal(b, m, deterministic)
  1931  }
  1932  func (dst *Device) XXX_Merge(src proto.Message) {
  1933  	xxx_messageInfo_Device.Merge(dst, src)
  1934  }
  1935  func (m *Device) XXX_Size() int {
  1936  	return xxx_messageInfo_Device.Size(m)
  1937  }
  1938  func (m *Device) XXX_DiscardUnknown() {
  1939  	xxx_messageInfo_Device.DiscardUnknown(m)
  1940  }
  1941  
  1942  var xxx_messageInfo_Device proto.InternalMessageInfo
  1943  
  1944  func (m *Device) GetTaskPath() string {
  1945  	if m != nil {
  1946  		return m.TaskPath
  1947  	}
  1948  	return ""
  1949  }
  1950  
  1951  func (m *Device) GetHostPath() string {
  1952  	if m != nil {
  1953  		return m.HostPath
  1954  	}
  1955  	return ""
  1956  }
  1957  
  1958  func (m *Device) GetCgroupPermissions() string {
  1959  	if m != nil {
  1960  		return m.CgroupPermissions
  1961  	}
  1962  	return ""
  1963  }
  1964  
  1965  // TaskHandle is created when starting a task and is used to recover task
  1966  type TaskHandle struct {
  1967  	// Config is the TaskConfig for the task
  1968  	Config *TaskConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
  1969  	// State is the state of the task's execution
  1970  	State TaskState `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.TaskState" json:"state,omitempty"`
  1971  	// DriverState is the encoded state for the specific driver
  1972  	DriverState          []byte   `protobuf:"bytes,3,opt,name=driver_state,json=driverState,proto3" json:"driver_state,omitempty"`
  1973  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1974  	XXX_unrecognized     []byte   `json:"-"`
  1975  	XXX_sizecache        int32    `json:"-"`
  1976  }
  1977  
  1978  func (m *TaskHandle) Reset()         { *m = TaskHandle{} }
  1979  func (m *TaskHandle) String() string { return proto.CompactTextString(m) }
  1980  func (*TaskHandle) ProtoMessage()    {}
  1981  func (*TaskHandle) Descriptor() ([]byte, []int) {
  1982  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{36}
  1983  }
  1984  func (m *TaskHandle) XXX_Unmarshal(b []byte) error {
  1985  	return xxx_messageInfo_TaskHandle.Unmarshal(m, b)
  1986  }
  1987  func (m *TaskHandle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1988  	return xxx_messageInfo_TaskHandle.Marshal(b, m, deterministic)
  1989  }
  1990  func (dst *TaskHandle) XXX_Merge(src proto.Message) {
  1991  	xxx_messageInfo_TaskHandle.Merge(dst, src)
  1992  }
  1993  func (m *TaskHandle) XXX_Size() int {
  1994  	return xxx_messageInfo_TaskHandle.Size(m)
  1995  }
  1996  func (m *TaskHandle) XXX_DiscardUnknown() {
  1997  	xxx_messageInfo_TaskHandle.DiscardUnknown(m)
  1998  }
  1999  
  2000  var xxx_messageInfo_TaskHandle proto.InternalMessageInfo
  2001  
  2002  func (m *TaskHandle) GetConfig() *TaskConfig {
  2003  	if m != nil {
  2004  		return m.Config
  2005  	}
  2006  	return nil
  2007  }
  2008  
  2009  func (m *TaskHandle) GetState() TaskState {
  2010  	if m != nil {
  2011  		return m.State
  2012  	}
  2013  	return TaskState_UNKNOWN
  2014  }
  2015  
  2016  func (m *TaskHandle) GetDriverState() []byte {
  2017  	if m != nil {
  2018  		return m.DriverState
  2019  	}
  2020  	return nil
  2021  }
  2022  
  2023  // NetworkOverride contains network settings which the driver may override
  2024  // for the task, such as when the driver is setting up the task's network.
  2025  type NetworkOverride struct {
  2026  	// PortMap can be set to replace ports with driver-specific mappings
  2027  	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"`
  2028  	// Addr is the IP address for the task created by the driver
  2029  	Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
  2030  	// AutoAdvertise indicates whether the driver thinks services that choose
  2031  	// to auto_advertise_addresses should use this IP instead of the host's.
  2032  	AutoAdvertise        bool     `protobuf:"varint,3,opt,name=auto_advertise,json=autoAdvertise,proto3" json:"auto_advertise,omitempty"`
  2033  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2034  	XXX_unrecognized     []byte   `json:"-"`
  2035  	XXX_sizecache        int32    `json:"-"`
  2036  }
  2037  
  2038  func (m *NetworkOverride) Reset()         { *m = NetworkOverride{} }
  2039  func (m *NetworkOverride) String() string { return proto.CompactTextString(m) }
  2040  func (*NetworkOverride) ProtoMessage()    {}
  2041  func (*NetworkOverride) Descriptor() ([]byte, []int) {
  2042  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{37}
  2043  }
  2044  func (m *NetworkOverride) XXX_Unmarshal(b []byte) error {
  2045  	return xxx_messageInfo_NetworkOverride.Unmarshal(m, b)
  2046  }
  2047  func (m *NetworkOverride) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2048  	return xxx_messageInfo_NetworkOverride.Marshal(b, m, deterministic)
  2049  }
  2050  func (dst *NetworkOverride) XXX_Merge(src proto.Message) {
  2051  	xxx_messageInfo_NetworkOverride.Merge(dst, src)
  2052  }
  2053  func (m *NetworkOverride) XXX_Size() int {
  2054  	return xxx_messageInfo_NetworkOverride.Size(m)
  2055  }
  2056  func (m *NetworkOverride) XXX_DiscardUnknown() {
  2057  	xxx_messageInfo_NetworkOverride.DiscardUnknown(m)
  2058  }
  2059  
  2060  var xxx_messageInfo_NetworkOverride proto.InternalMessageInfo
  2061  
  2062  func (m *NetworkOverride) GetPortMap() map[string]int32 {
  2063  	if m != nil {
  2064  		return m.PortMap
  2065  	}
  2066  	return nil
  2067  }
  2068  
  2069  func (m *NetworkOverride) GetAddr() string {
  2070  	if m != nil {
  2071  		return m.Addr
  2072  	}
  2073  	return ""
  2074  }
  2075  
  2076  func (m *NetworkOverride) GetAutoAdvertise() bool {
  2077  	if m != nil {
  2078  		return m.AutoAdvertise
  2079  	}
  2080  	return false
  2081  }
  2082  
  2083  // ExitResult contains information about the exit status of a task
  2084  type ExitResult struct {
  2085  	// ExitCode returned from the task on exit
  2086  	ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
  2087  	// Signal is set if a signal was sent to the task
  2088  	Signal int32 `protobuf:"varint,2,opt,name=signal,proto3" json:"signal,omitempty"`
  2089  	// OomKilled is true if the task exited as a result of the OOM Killer
  2090  	OomKilled            bool     `protobuf:"varint,3,opt,name=oom_killed,json=oomKilled,proto3" json:"oom_killed,omitempty"`
  2091  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2092  	XXX_unrecognized     []byte   `json:"-"`
  2093  	XXX_sizecache        int32    `json:"-"`
  2094  }
  2095  
  2096  func (m *ExitResult) Reset()         { *m = ExitResult{} }
  2097  func (m *ExitResult) String() string { return proto.CompactTextString(m) }
  2098  func (*ExitResult) ProtoMessage()    {}
  2099  func (*ExitResult) Descriptor() ([]byte, []int) {
  2100  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{38}
  2101  }
  2102  func (m *ExitResult) XXX_Unmarshal(b []byte) error {
  2103  	return xxx_messageInfo_ExitResult.Unmarshal(m, b)
  2104  }
  2105  func (m *ExitResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2106  	return xxx_messageInfo_ExitResult.Marshal(b, m, deterministic)
  2107  }
  2108  func (dst *ExitResult) XXX_Merge(src proto.Message) {
  2109  	xxx_messageInfo_ExitResult.Merge(dst, src)
  2110  }
  2111  func (m *ExitResult) XXX_Size() int {
  2112  	return xxx_messageInfo_ExitResult.Size(m)
  2113  }
  2114  func (m *ExitResult) XXX_DiscardUnknown() {
  2115  	xxx_messageInfo_ExitResult.DiscardUnknown(m)
  2116  }
  2117  
  2118  var xxx_messageInfo_ExitResult proto.InternalMessageInfo
  2119  
  2120  func (m *ExitResult) GetExitCode() int32 {
  2121  	if m != nil {
  2122  		return m.ExitCode
  2123  	}
  2124  	return 0
  2125  }
  2126  
  2127  func (m *ExitResult) GetSignal() int32 {
  2128  	if m != nil {
  2129  		return m.Signal
  2130  	}
  2131  	return 0
  2132  }
  2133  
  2134  func (m *ExitResult) GetOomKilled() bool {
  2135  	if m != nil {
  2136  		return m.OomKilled
  2137  	}
  2138  	return false
  2139  }
  2140  
  2141  // TaskStatus includes information of a specific task
  2142  type TaskStatus struct {
  2143  	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2144  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  2145  	// State is the state of the task's execution
  2146  	State TaskState `protobuf:"varint,3,opt,name=state,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.TaskState" json:"state,omitempty"`
  2147  	// SizeOnDiskMb is the disk space the driver reports the task is consuming
  2148  	// in megabytes.
  2149  	SizeOnDiskMb int64 `protobuf:"varint,4,opt,name=size_on_disk_mb,json=sizeOnDiskMb,proto3" json:"size_on_disk_mb,omitempty"`
  2150  	// StartedAt is the timestamp when the task was started
  2151  	StartedAt *timestamp.Timestamp `protobuf:"bytes,5,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
  2152  	// CompletedAt is the timestamp when the task exited.
  2153  	// If the task is still running, CompletedAt will not be set
  2154  	CompletedAt *timestamp.Timestamp `protobuf:"bytes,6,opt,name=completed_at,json=completedAt,proto3" json:"completed_at,omitempty"`
  2155  	// Result is set when CompletedAt is set.
  2156  	Result               *ExitResult `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"`
  2157  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
  2158  	XXX_unrecognized     []byte      `json:"-"`
  2159  	XXX_sizecache        int32       `json:"-"`
  2160  }
  2161  
  2162  func (m *TaskStatus) Reset()         { *m = TaskStatus{} }
  2163  func (m *TaskStatus) String() string { return proto.CompactTextString(m) }
  2164  func (*TaskStatus) ProtoMessage()    {}
  2165  func (*TaskStatus) Descriptor() ([]byte, []int) {
  2166  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{39}
  2167  }
  2168  func (m *TaskStatus) XXX_Unmarshal(b []byte) error {
  2169  	return xxx_messageInfo_TaskStatus.Unmarshal(m, b)
  2170  }
  2171  func (m *TaskStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2172  	return xxx_messageInfo_TaskStatus.Marshal(b, m, deterministic)
  2173  }
  2174  func (dst *TaskStatus) XXX_Merge(src proto.Message) {
  2175  	xxx_messageInfo_TaskStatus.Merge(dst, src)
  2176  }
  2177  func (m *TaskStatus) XXX_Size() int {
  2178  	return xxx_messageInfo_TaskStatus.Size(m)
  2179  }
  2180  func (m *TaskStatus) XXX_DiscardUnknown() {
  2181  	xxx_messageInfo_TaskStatus.DiscardUnknown(m)
  2182  }
  2183  
  2184  var xxx_messageInfo_TaskStatus proto.InternalMessageInfo
  2185  
  2186  func (m *TaskStatus) GetId() string {
  2187  	if m != nil {
  2188  		return m.Id
  2189  	}
  2190  	return ""
  2191  }
  2192  
  2193  func (m *TaskStatus) GetName() string {
  2194  	if m != nil {
  2195  		return m.Name
  2196  	}
  2197  	return ""
  2198  }
  2199  
  2200  func (m *TaskStatus) GetState() TaskState {
  2201  	if m != nil {
  2202  		return m.State
  2203  	}
  2204  	return TaskState_UNKNOWN
  2205  }
  2206  
  2207  func (m *TaskStatus) GetSizeOnDiskMb() int64 {
  2208  	if m != nil {
  2209  		return m.SizeOnDiskMb
  2210  	}
  2211  	return 0
  2212  }
  2213  
  2214  func (m *TaskStatus) GetStartedAt() *timestamp.Timestamp {
  2215  	if m != nil {
  2216  		return m.StartedAt
  2217  	}
  2218  	return nil
  2219  }
  2220  
  2221  func (m *TaskStatus) GetCompletedAt() *timestamp.Timestamp {
  2222  	if m != nil {
  2223  		return m.CompletedAt
  2224  	}
  2225  	return nil
  2226  }
  2227  
  2228  func (m *TaskStatus) GetResult() *ExitResult {
  2229  	if m != nil {
  2230  		return m.Result
  2231  	}
  2232  	return nil
  2233  }
  2234  
  2235  type TaskDriverStatus struct {
  2236  	// Attributes is a set of string/string key value pairs specific to the
  2237  	// implementing driver
  2238  	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"`
  2239  	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
  2240  	XXX_unrecognized     []byte            `json:"-"`
  2241  	XXX_sizecache        int32             `json:"-"`
  2242  }
  2243  
  2244  func (m *TaskDriverStatus) Reset()         { *m = TaskDriverStatus{} }
  2245  func (m *TaskDriverStatus) String() string { return proto.CompactTextString(m) }
  2246  func (*TaskDriverStatus) ProtoMessage()    {}
  2247  func (*TaskDriverStatus) Descriptor() ([]byte, []int) {
  2248  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{40}
  2249  }
  2250  func (m *TaskDriverStatus) XXX_Unmarshal(b []byte) error {
  2251  	return xxx_messageInfo_TaskDriverStatus.Unmarshal(m, b)
  2252  }
  2253  func (m *TaskDriverStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2254  	return xxx_messageInfo_TaskDriverStatus.Marshal(b, m, deterministic)
  2255  }
  2256  func (dst *TaskDriverStatus) XXX_Merge(src proto.Message) {
  2257  	xxx_messageInfo_TaskDriverStatus.Merge(dst, src)
  2258  }
  2259  func (m *TaskDriverStatus) XXX_Size() int {
  2260  	return xxx_messageInfo_TaskDriverStatus.Size(m)
  2261  }
  2262  func (m *TaskDriverStatus) XXX_DiscardUnknown() {
  2263  	xxx_messageInfo_TaskDriverStatus.DiscardUnknown(m)
  2264  }
  2265  
  2266  var xxx_messageInfo_TaskDriverStatus proto.InternalMessageInfo
  2267  
  2268  func (m *TaskDriverStatus) GetAttributes() map[string]string {
  2269  	if m != nil {
  2270  		return m.Attributes
  2271  	}
  2272  	return nil
  2273  }
  2274  
  2275  type TaskStats struct {
  2276  	// Id of the task
  2277  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2278  	// Timestamp for which the stats were collected
  2279  	Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  2280  	// AggResourceUsage is the aggreate usage of all processes
  2281  	AggResourceUsage *TaskResourceUsage `protobuf:"bytes,3,opt,name=agg_resource_usage,json=aggResourceUsage,proto3" json:"agg_resource_usage,omitempty"`
  2282  	// ResourceUsageByPid breaks the usage stats by process
  2283  	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"`
  2284  	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
  2285  	XXX_unrecognized     []byte                        `json:"-"`
  2286  	XXX_sizecache        int32                         `json:"-"`
  2287  }
  2288  
  2289  func (m *TaskStats) Reset()         { *m = TaskStats{} }
  2290  func (m *TaskStats) String() string { return proto.CompactTextString(m) }
  2291  func (*TaskStats) ProtoMessage()    {}
  2292  func (*TaskStats) Descriptor() ([]byte, []int) {
  2293  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{41}
  2294  }
  2295  func (m *TaskStats) XXX_Unmarshal(b []byte) error {
  2296  	return xxx_messageInfo_TaskStats.Unmarshal(m, b)
  2297  }
  2298  func (m *TaskStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2299  	return xxx_messageInfo_TaskStats.Marshal(b, m, deterministic)
  2300  }
  2301  func (dst *TaskStats) XXX_Merge(src proto.Message) {
  2302  	xxx_messageInfo_TaskStats.Merge(dst, src)
  2303  }
  2304  func (m *TaskStats) XXX_Size() int {
  2305  	return xxx_messageInfo_TaskStats.Size(m)
  2306  }
  2307  func (m *TaskStats) XXX_DiscardUnknown() {
  2308  	xxx_messageInfo_TaskStats.DiscardUnknown(m)
  2309  }
  2310  
  2311  var xxx_messageInfo_TaskStats proto.InternalMessageInfo
  2312  
  2313  func (m *TaskStats) GetId() string {
  2314  	if m != nil {
  2315  		return m.Id
  2316  	}
  2317  	return ""
  2318  }
  2319  
  2320  func (m *TaskStats) GetTimestamp() *timestamp.Timestamp {
  2321  	if m != nil {
  2322  		return m.Timestamp
  2323  	}
  2324  	return nil
  2325  }
  2326  
  2327  func (m *TaskStats) GetAggResourceUsage() *TaskResourceUsage {
  2328  	if m != nil {
  2329  		return m.AggResourceUsage
  2330  	}
  2331  	return nil
  2332  }
  2333  
  2334  func (m *TaskStats) GetResourceUsageByPid() map[string]*TaskResourceUsage {
  2335  	if m != nil {
  2336  		return m.ResourceUsageByPid
  2337  	}
  2338  	return nil
  2339  }
  2340  
  2341  type TaskResourceUsage struct {
  2342  	// CPU usage stats
  2343  	Cpu *CPUUsage `protobuf:"bytes,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
  2344  	// Memory usage stats
  2345  	Memory               *MemoryUsage `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"`
  2346  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  2347  	XXX_unrecognized     []byte       `json:"-"`
  2348  	XXX_sizecache        int32        `json:"-"`
  2349  }
  2350  
  2351  func (m *TaskResourceUsage) Reset()         { *m = TaskResourceUsage{} }
  2352  func (m *TaskResourceUsage) String() string { return proto.CompactTextString(m) }
  2353  func (*TaskResourceUsage) ProtoMessage()    {}
  2354  func (*TaskResourceUsage) Descriptor() ([]byte, []int) {
  2355  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{42}
  2356  }
  2357  func (m *TaskResourceUsage) XXX_Unmarshal(b []byte) error {
  2358  	return xxx_messageInfo_TaskResourceUsage.Unmarshal(m, b)
  2359  }
  2360  func (m *TaskResourceUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2361  	return xxx_messageInfo_TaskResourceUsage.Marshal(b, m, deterministic)
  2362  }
  2363  func (dst *TaskResourceUsage) XXX_Merge(src proto.Message) {
  2364  	xxx_messageInfo_TaskResourceUsage.Merge(dst, src)
  2365  }
  2366  func (m *TaskResourceUsage) XXX_Size() int {
  2367  	return xxx_messageInfo_TaskResourceUsage.Size(m)
  2368  }
  2369  func (m *TaskResourceUsage) XXX_DiscardUnknown() {
  2370  	xxx_messageInfo_TaskResourceUsage.DiscardUnknown(m)
  2371  }
  2372  
  2373  var xxx_messageInfo_TaskResourceUsage proto.InternalMessageInfo
  2374  
  2375  func (m *TaskResourceUsage) GetCpu() *CPUUsage {
  2376  	if m != nil {
  2377  		return m.Cpu
  2378  	}
  2379  	return nil
  2380  }
  2381  
  2382  func (m *TaskResourceUsage) GetMemory() *MemoryUsage {
  2383  	if m != nil {
  2384  		return m.Memory
  2385  	}
  2386  	return nil
  2387  }
  2388  
  2389  type CPUUsage struct {
  2390  	SystemMode       float64 `protobuf:"fixed64,1,opt,name=system_mode,json=systemMode,proto3" json:"system_mode,omitempty"`
  2391  	UserMode         float64 `protobuf:"fixed64,2,opt,name=user_mode,json=userMode,proto3" json:"user_mode,omitempty"`
  2392  	TotalTicks       float64 `protobuf:"fixed64,3,opt,name=total_ticks,json=totalTicks,proto3" json:"total_ticks,omitempty"`
  2393  	ThrottledPeriods uint64  `protobuf:"varint,4,opt,name=throttled_periods,json=throttledPeriods,proto3" json:"throttled_periods,omitempty"`
  2394  	ThrottledTime    uint64  `protobuf:"varint,5,opt,name=throttled_time,json=throttledTime,proto3" json:"throttled_time,omitempty"`
  2395  	Percent          float64 `protobuf:"fixed64,6,opt,name=percent,proto3" json:"percent,omitempty"`
  2396  	// MeasuredFields indicates which fields were actually sampled
  2397  	MeasuredFields       []CPUUsage_Fields `protobuf:"varint,7,rep,packed,name=measured_fields,json=measuredFields,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.CPUUsage_Fields" json:"measured_fields,omitempty"`
  2398  	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
  2399  	XXX_unrecognized     []byte            `json:"-"`
  2400  	XXX_sizecache        int32             `json:"-"`
  2401  }
  2402  
  2403  func (m *CPUUsage) Reset()         { *m = CPUUsage{} }
  2404  func (m *CPUUsage) String() string { return proto.CompactTextString(m) }
  2405  func (*CPUUsage) ProtoMessage()    {}
  2406  func (*CPUUsage) Descriptor() ([]byte, []int) {
  2407  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{43}
  2408  }
  2409  func (m *CPUUsage) XXX_Unmarshal(b []byte) error {
  2410  	return xxx_messageInfo_CPUUsage.Unmarshal(m, b)
  2411  }
  2412  func (m *CPUUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2413  	return xxx_messageInfo_CPUUsage.Marshal(b, m, deterministic)
  2414  }
  2415  func (dst *CPUUsage) XXX_Merge(src proto.Message) {
  2416  	xxx_messageInfo_CPUUsage.Merge(dst, src)
  2417  }
  2418  func (m *CPUUsage) XXX_Size() int {
  2419  	return xxx_messageInfo_CPUUsage.Size(m)
  2420  }
  2421  func (m *CPUUsage) XXX_DiscardUnknown() {
  2422  	xxx_messageInfo_CPUUsage.DiscardUnknown(m)
  2423  }
  2424  
  2425  var xxx_messageInfo_CPUUsage proto.InternalMessageInfo
  2426  
  2427  func (m *CPUUsage) GetSystemMode() float64 {
  2428  	if m != nil {
  2429  		return m.SystemMode
  2430  	}
  2431  	return 0
  2432  }
  2433  
  2434  func (m *CPUUsage) GetUserMode() float64 {
  2435  	if m != nil {
  2436  		return m.UserMode
  2437  	}
  2438  	return 0
  2439  }
  2440  
  2441  func (m *CPUUsage) GetTotalTicks() float64 {
  2442  	if m != nil {
  2443  		return m.TotalTicks
  2444  	}
  2445  	return 0
  2446  }
  2447  
  2448  func (m *CPUUsage) GetThrottledPeriods() uint64 {
  2449  	if m != nil {
  2450  		return m.ThrottledPeriods
  2451  	}
  2452  	return 0
  2453  }
  2454  
  2455  func (m *CPUUsage) GetThrottledTime() uint64 {
  2456  	if m != nil {
  2457  		return m.ThrottledTime
  2458  	}
  2459  	return 0
  2460  }
  2461  
  2462  func (m *CPUUsage) GetPercent() float64 {
  2463  	if m != nil {
  2464  		return m.Percent
  2465  	}
  2466  	return 0
  2467  }
  2468  
  2469  func (m *CPUUsage) GetMeasuredFields() []CPUUsage_Fields {
  2470  	if m != nil {
  2471  		return m.MeasuredFields
  2472  	}
  2473  	return nil
  2474  }
  2475  
  2476  type MemoryUsage struct {
  2477  	Rss            uint64 `protobuf:"varint,1,opt,name=rss,proto3" json:"rss,omitempty"`
  2478  	Cache          uint64 `protobuf:"varint,2,opt,name=cache,proto3" json:"cache,omitempty"`
  2479  	MaxUsage       uint64 `protobuf:"varint,3,opt,name=max_usage,json=maxUsage,proto3" json:"max_usage,omitempty"`
  2480  	KernelUsage    uint64 `protobuf:"varint,4,opt,name=kernel_usage,json=kernelUsage,proto3" json:"kernel_usage,omitempty"`
  2481  	KernelMaxUsage uint64 `protobuf:"varint,5,opt,name=kernel_max_usage,json=kernelMaxUsage,proto3" json:"kernel_max_usage,omitempty"`
  2482  	// MeasuredFields indicates which fields were actually sampled
  2483  	MeasuredFields       []MemoryUsage_Fields `protobuf:"varint,6,rep,packed,name=measured_fields,json=measuredFields,proto3,enum=hashicorp.nomad.plugins.drivers.base.proto.MemoryUsage_Fields" json:"measured_fields,omitempty"`
  2484  	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
  2485  	XXX_unrecognized     []byte               `json:"-"`
  2486  	XXX_sizecache        int32                `json:"-"`
  2487  }
  2488  
  2489  func (m *MemoryUsage) Reset()         { *m = MemoryUsage{} }
  2490  func (m *MemoryUsage) String() string { return proto.CompactTextString(m) }
  2491  func (*MemoryUsage) ProtoMessage()    {}
  2492  func (*MemoryUsage) Descriptor() ([]byte, []int) {
  2493  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{44}
  2494  }
  2495  func (m *MemoryUsage) XXX_Unmarshal(b []byte) error {
  2496  	return xxx_messageInfo_MemoryUsage.Unmarshal(m, b)
  2497  }
  2498  func (m *MemoryUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2499  	return xxx_messageInfo_MemoryUsage.Marshal(b, m, deterministic)
  2500  }
  2501  func (dst *MemoryUsage) XXX_Merge(src proto.Message) {
  2502  	xxx_messageInfo_MemoryUsage.Merge(dst, src)
  2503  }
  2504  func (m *MemoryUsage) XXX_Size() int {
  2505  	return xxx_messageInfo_MemoryUsage.Size(m)
  2506  }
  2507  func (m *MemoryUsage) XXX_DiscardUnknown() {
  2508  	xxx_messageInfo_MemoryUsage.DiscardUnknown(m)
  2509  }
  2510  
  2511  var xxx_messageInfo_MemoryUsage proto.InternalMessageInfo
  2512  
  2513  func (m *MemoryUsage) GetRss() uint64 {
  2514  	if m != nil {
  2515  		return m.Rss
  2516  	}
  2517  	return 0
  2518  }
  2519  
  2520  func (m *MemoryUsage) GetCache() uint64 {
  2521  	if m != nil {
  2522  		return m.Cache
  2523  	}
  2524  	return 0
  2525  }
  2526  
  2527  func (m *MemoryUsage) GetMaxUsage() uint64 {
  2528  	if m != nil {
  2529  		return m.MaxUsage
  2530  	}
  2531  	return 0
  2532  }
  2533  
  2534  func (m *MemoryUsage) GetKernelUsage() uint64 {
  2535  	if m != nil {
  2536  		return m.KernelUsage
  2537  	}
  2538  	return 0
  2539  }
  2540  
  2541  func (m *MemoryUsage) GetKernelMaxUsage() uint64 {
  2542  	if m != nil {
  2543  		return m.KernelMaxUsage
  2544  	}
  2545  	return 0
  2546  }
  2547  
  2548  func (m *MemoryUsage) GetMeasuredFields() []MemoryUsage_Fields {
  2549  	if m != nil {
  2550  		return m.MeasuredFields
  2551  	}
  2552  	return nil
  2553  }
  2554  
  2555  type DriverTaskEvent struct {
  2556  	// TaskId is the id of the task for the event
  2557  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  2558  	// Timestamp when the event occurred
  2559  	Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
  2560  	// Message is the body of the event
  2561  	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
  2562  	// Annotations allows for additional key/value data to be sent along with the event
  2563  	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"`
  2564  	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
  2565  	XXX_unrecognized     []byte            `json:"-"`
  2566  	XXX_sizecache        int32             `json:"-"`
  2567  }
  2568  
  2569  func (m *DriverTaskEvent) Reset()         { *m = DriverTaskEvent{} }
  2570  func (m *DriverTaskEvent) String() string { return proto.CompactTextString(m) }
  2571  func (*DriverTaskEvent) ProtoMessage()    {}
  2572  func (*DriverTaskEvent) Descriptor() ([]byte, []int) {
  2573  	return fileDescriptor_driver_4db9b3af49fa7db9, []int{45}
  2574  }
  2575  func (m *DriverTaskEvent) XXX_Unmarshal(b []byte) error {
  2576  	return xxx_messageInfo_DriverTaskEvent.Unmarshal(m, b)
  2577  }
  2578  func (m *DriverTaskEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2579  	return xxx_messageInfo_DriverTaskEvent.Marshal(b, m, deterministic)
  2580  }
  2581  func (dst *DriverTaskEvent) XXX_Merge(src proto.Message) {
  2582  	xxx_messageInfo_DriverTaskEvent.Merge(dst, src)
  2583  }
  2584  func (m *DriverTaskEvent) XXX_Size() int {
  2585  	return xxx_messageInfo_DriverTaskEvent.Size(m)
  2586  }
  2587  func (m *DriverTaskEvent) XXX_DiscardUnknown() {
  2588  	xxx_messageInfo_DriverTaskEvent.DiscardUnknown(m)
  2589  }
  2590  
  2591  var xxx_messageInfo_DriverTaskEvent proto.InternalMessageInfo
  2592  
  2593  func (m *DriverTaskEvent) GetTaskId() string {
  2594  	if m != nil {
  2595  		return m.TaskId
  2596  	}
  2597  	return ""
  2598  }
  2599  
  2600  func (m *DriverTaskEvent) GetTimestamp() *timestamp.Timestamp {
  2601  	if m != nil {
  2602  		return m.Timestamp
  2603  	}
  2604  	return nil
  2605  }
  2606  
  2607  func (m *DriverTaskEvent) GetMessage() string {
  2608  	if m != nil {
  2609  		return m.Message
  2610  	}
  2611  	return ""
  2612  }
  2613  
  2614  func (m *DriverTaskEvent) GetAnnotations() map[string]string {
  2615  	if m != nil {
  2616  		return m.Annotations
  2617  	}
  2618  	return nil
  2619  }
  2620  
  2621  func init() {
  2622  	proto.RegisterType((*TaskConfigSchemaRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskConfigSchemaRequest")
  2623  	proto.RegisterType((*TaskConfigSchemaResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskConfigSchemaResponse")
  2624  	proto.RegisterType((*CapabilitiesRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.CapabilitiesRequest")
  2625  	proto.RegisterType((*CapabilitiesResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.CapabilitiesResponse")
  2626  	proto.RegisterType((*FingerprintRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.FingerprintRequest")
  2627  	proto.RegisterType((*FingerprintResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.FingerprintResponse")
  2628  	proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.base.proto.FingerprintResponse.AttributesEntry")
  2629  	proto.RegisterType((*RecoverTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.RecoverTaskRequest")
  2630  	proto.RegisterType((*RecoverTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.RecoverTaskResponse")
  2631  	proto.RegisterType((*StartTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.StartTaskRequest")
  2632  	proto.RegisterType((*StartTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.StartTaskResponse")
  2633  	proto.RegisterType((*WaitTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.WaitTaskRequest")
  2634  	proto.RegisterType((*WaitTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.WaitTaskResponse")
  2635  	proto.RegisterType((*StopTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.StopTaskRequest")
  2636  	proto.RegisterType((*StopTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.StopTaskResponse")
  2637  	proto.RegisterType((*DestroyTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.DestroyTaskRequest")
  2638  	proto.RegisterType((*DestroyTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.DestroyTaskResponse")
  2639  	proto.RegisterType((*ListTasksRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.ListTasksRequest")
  2640  	proto.RegisterType((*ListTasksResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.ListTasksResponse")
  2641  	proto.RegisterType((*InspectTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.InspectTaskRequest")
  2642  	proto.RegisterType((*InspectTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.InspectTaskResponse")
  2643  	proto.RegisterType((*TaskStatsRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskStatsRequest")
  2644  	proto.RegisterType((*TaskStatsResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskStatsResponse")
  2645  	proto.RegisterType((*TaskEventsRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskEventsRequest")
  2646  	proto.RegisterType((*SignalTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.SignalTaskRequest")
  2647  	proto.RegisterType((*SignalTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.SignalTaskResponse")
  2648  	proto.RegisterType((*ExecTaskRequest)(nil), "hashicorp.nomad.plugins.drivers.base.proto.ExecTaskRequest")
  2649  	proto.RegisterType((*ExecTaskResponse)(nil), "hashicorp.nomad.plugins.drivers.base.proto.ExecTaskResponse")
  2650  	proto.RegisterType((*DriverCapabilities)(nil), "hashicorp.nomad.plugins.drivers.base.proto.DriverCapabilities")
  2651  	proto.RegisterType((*TaskConfig)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskConfig")
  2652  	proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskConfig.EnvEntry")
  2653  	proto.RegisterType((*Resources)(nil), "hashicorp.nomad.plugins.drivers.base.proto.Resources")
  2654  	proto.RegisterType((*RawResources)(nil), "hashicorp.nomad.plugins.drivers.base.proto.RawResources")
  2655  	proto.RegisterType((*NetworkResource)(nil), "hashicorp.nomad.plugins.drivers.base.proto.NetworkResource")
  2656  	proto.RegisterType((*NetworkPort)(nil), "hashicorp.nomad.plugins.drivers.base.proto.NetworkPort")
  2657  	proto.RegisterType((*LinuxResources)(nil), "hashicorp.nomad.plugins.drivers.base.proto.LinuxResources")
  2658  	proto.RegisterType((*Mount)(nil), "hashicorp.nomad.plugins.drivers.base.proto.Mount")
  2659  	proto.RegisterType((*Device)(nil), "hashicorp.nomad.plugins.drivers.base.proto.Device")
  2660  	proto.RegisterType((*TaskHandle)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskHandle")
  2661  	proto.RegisterType((*NetworkOverride)(nil), "hashicorp.nomad.plugins.drivers.base.proto.NetworkOverride")
  2662  	proto.RegisterMapType((map[string]int32)(nil), "hashicorp.nomad.plugins.drivers.base.proto.NetworkOverride.PortMapEntry")
  2663  	proto.RegisterType((*ExitResult)(nil), "hashicorp.nomad.plugins.drivers.base.proto.ExitResult")
  2664  	proto.RegisterType((*TaskStatus)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskStatus")
  2665  	proto.RegisterType((*TaskDriverStatus)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskDriverStatus")
  2666  	proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskDriverStatus.AttributesEntry")
  2667  	proto.RegisterType((*TaskStats)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskStats")
  2668  	proto.RegisterMapType((map[string]*TaskResourceUsage)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskStats.ResourceUsageByPidEntry")
  2669  	proto.RegisterType((*TaskResourceUsage)(nil), "hashicorp.nomad.plugins.drivers.base.proto.TaskResourceUsage")
  2670  	proto.RegisterType((*CPUUsage)(nil), "hashicorp.nomad.plugins.drivers.base.proto.CPUUsage")
  2671  	proto.RegisterType((*MemoryUsage)(nil), "hashicorp.nomad.plugins.drivers.base.proto.MemoryUsage")
  2672  	proto.RegisterType((*DriverTaskEvent)(nil), "hashicorp.nomad.plugins.drivers.base.proto.DriverTaskEvent")
  2673  	proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.base.proto.DriverTaskEvent.AnnotationsEntry")
  2674  	proto.RegisterEnum("hashicorp.nomad.plugins.drivers.base.proto.TaskState", TaskState_name, TaskState_value)
  2675  	proto.RegisterEnum("hashicorp.nomad.plugins.drivers.base.proto.FingerprintResponse_HealthState", FingerprintResponse_HealthState_name, FingerprintResponse_HealthState_value)
  2676  	proto.RegisterEnum("hashicorp.nomad.plugins.drivers.base.proto.StartTaskResponse_Result", StartTaskResponse_Result_name, StartTaskResponse_Result_value)
  2677  	proto.RegisterEnum("hashicorp.nomad.plugins.drivers.base.proto.DriverCapabilities_FSIsolation", DriverCapabilities_FSIsolation_name, DriverCapabilities_FSIsolation_value)
  2678  	proto.RegisterEnum("hashicorp.nomad.plugins.drivers.base.proto.CPUUsage_Fields", CPUUsage_Fields_name, CPUUsage_Fields_value)
  2679  	proto.RegisterEnum("hashicorp.nomad.plugins.drivers.base.proto.MemoryUsage_Fields", MemoryUsage_Fields_name, MemoryUsage_Fields_value)
  2680  }
  2681  
  2682  // Reference imports to suppress errors if they are not otherwise used.
  2683  var _ context.Context
  2684  var _ grpc.ClientConn
  2685  
  2686  // This is a compile-time assertion to ensure that this generated file
  2687  // is compatible with the grpc package it is being compiled against.
  2688  const _ = grpc.SupportPackageIsVersion4
  2689  
  2690  // DriverClient is the client API for Driver service.
  2691  //
  2692  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2693  type DriverClient interface {
  2694  	// TaskConfigSchema returns the schema for parsing the driver
  2695  	// configuration of a task.
  2696  	TaskConfigSchema(ctx context.Context, in *TaskConfigSchemaRequest, opts ...grpc.CallOption) (*TaskConfigSchemaResponse, error)
  2697  	// Capabilities returns a set of features which the driver implements. Some
  2698  	// RPCs are not possible to implement on some runtimes, this allows the
  2699  	// driver to indicate if it doesn't support these RPCs and features.
  2700  	Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error)
  2701  	// Fingerprint starts a stream which emits information about the driver
  2702  	// including whether the driver healthy and able to function in the
  2703  	// existing environment.
  2704  	//
  2705  	// The driver should immediately stream a FingerprintResponse when the RPC
  2706  	// is initially called, then send any additional responses if there is a
  2707  	// change in the driver's state.
  2708  	Fingerprint(ctx context.Context, in *FingerprintRequest, opts ...grpc.CallOption) (Driver_FingerprintClient, error)
  2709  	// RecoverTask is used when a task has been started but the driver may not
  2710  	// know about it. Such is the case if the driver restarts or is upgraded.
  2711  	RecoverTask(ctx context.Context, in *RecoverTaskRequest, opts ...grpc.CallOption) (*RecoverTaskResponse, error)
  2712  	// StartTask starts and tracks the task on the implemented runtime
  2713  	StartTask(ctx context.Context, in *StartTaskRequest, opts ...grpc.CallOption) (*StartTaskResponse, error)
  2714  	// WaitTask blocks until the given task exits, returning the result of the
  2715  	// task. It may be called after the task has exited, but before the task is
  2716  	// destroyed.
  2717  	WaitTask(ctx context.Context, in *WaitTaskRequest, opts ...grpc.CallOption) (*WaitTaskResponse, error)
  2718  	// StopTask stops a given task by sending the desired signal to the process.
  2719  	// If the task does not exit on its own within the given timeout, it will be
  2720  	// forcefully killed.
  2721  	StopTask(ctx context.Context, in *StopTaskRequest, opts ...grpc.CallOption) (*StopTaskResponse, error)
  2722  	// DestroyTask removes the task from the driver's internal state and cleans
  2723  	// up any additional resources created by the driver. It cannot be called
  2724  	// on a running task.
  2725  	DestroyTask(ctx context.Context, in *DestroyTaskRequest, opts ...grpc.CallOption) (*DestroyTaskResponse, error)
  2726  	// ListTasks returns a list of summary information of all the tasks the
  2727  	// driver is tracking.
  2728  	ListTasks(ctx context.Context, in *ListTasksRequest, opts ...grpc.CallOption) (*ListTasksResponse, error)
  2729  	// InspectTask returns detailed information for the given task
  2730  	InspectTask(ctx context.Context, in *InspectTaskRequest, opts ...grpc.CallOption) (*InspectTaskResponse, error)
  2731  	// TaskStats collects and returns runtime metrics for the given task
  2732  	TaskStats(ctx context.Context, in *TaskStatsRequest, opts ...grpc.CallOption) (*TaskStatsResponse, error)
  2733  	// TaskEvents starts a streaming RPC where all task events emitted by the
  2734  	// driver are streamed to the caller.
  2735  	TaskEvents(ctx context.Context, in *TaskEventsRequest, opts ...grpc.CallOption) (Driver_TaskEventsClient, error)
  2736  	// SignalTask sends a signal to the task
  2737  	SignalTask(ctx context.Context, in *SignalTaskRequest, opts ...grpc.CallOption) (*SignalTaskResponse, error)
  2738  	// ExecTask executes a command inside the tasks execution context
  2739  	ExecTask(ctx context.Context, in *ExecTaskRequest, opts ...grpc.CallOption) (*ExecTaskResponse, error)
  2740  }
  2741  
  2742  type driverClient struct {
  2743  	cc *grpc.ClientConn
  2744  }
  2745  
  2746  func NewDriverClient(cc *grpc.ClientConn) DriverClient {
  2747  	return &driverClient{cc}
  2748  }
  2749  
  2750  func (c *driverClient) TaskConfigSchema(ctx context.Context, in *TaskConfigSchemaRequest, opts ...grpc.CallOption) (*TaskConfigSchemaResponse, error) {
  2751  	out := new(TaskConfigSchemaResponse)
  2752  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/TaskConfigSchema", in, out, opts...)
  2753  	if err != nil {
  2754  		return nil, err
  2755  	}
  2756  	return out, nil
  2757  }
  2758  
  2759  func (c *driverClient) Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error) {
  2760  	out := new(CapabilitiesResponse)
  2761  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/Capabilities", in, out, opts...)
  2762  	if err != nil {
  2763  		return nil, err
  2764  	}
  2765  	return out, nil
  2766  }
  2767  
  2768  func (c *driverClient) Fingerprint(ctx context.Context, in *FingerprintRequest, opts ...grpc.CallOption) (Driver_FingerprintClient, error) {
  2769  	stream, err := c.cc.NewStream(ctx, &_Driver_serviceDesc.Streams[0], "/hashicorp.nomad.plugins.drivers.base.proto.Driver/Fingerprint", opts...)
  2770  	if err != nil {
  2771  		return nil, err
  2772  	}
  2773  	x := &driverFingerprintClient{stream}
  2774  	if err := x.ClientStream.SendMsg(in); err != nil {
  2775  		return nil, err
  2776  	}
  2777  	if err := x.ClientStream.CloseSend(); err != nil {
  2778  		return nil, err
  2779  	}
  2780  	return x, nil
  2781  }
  2782  
  2783  type Driver_FingerprintClient interface {
  2784  	Recv() (*FingerprintResponse, error)
  2785  	grpc.ClientStream
  2786  }
  2787  
  2788  type driverFingerprintClient struct {
  2789  	grpc.ClientStream
  2790  }
  2791  
  2792  func (x *driverFingerprintClient) Recv() (*FingerprintResponse, error) {
  2793  	m := new(FingerprintResponse)
  2794  	if err := x.ClientStream.RecvMsg(m); err != nil {
  2795  		return nil, err
  2796  	}
  2797  	return m, nil
  2798  }
  2799  
  2800  func (c *driverClient) RecoverTask(ctx context.Context, in *RecoverTaskRequest, opts ...grpc.CallOption) (*RecoverTaskResponse, error) {
  2801  	out := new(RecoverTaskResponse)
  2802  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/RecoverTask", in, out, opts...)
  2803  	if err != nil {
  2804  		return nil, err
  2805  	}
  2806  	return out, nil
  2807  }
  2808  
  2809  func (c *driverClient) StartTask(ctx context.Context, in *StartTaskRequest, opts ...grpc.CallOption) (*StartTaskResponse, error) {
  2810  	out := new(StartTaskResponse)
  2811  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/StartTask", in, out, opts...)
  2812  	if err != nil {
  2813  		return nil, err
  2814  	}
  2815  	return out, nil
  2816  }
  2817  
  2818  func (c *driverClient) WaitTask(ctx context.Context, in *WaitTaskRequest, opts ...grpc.CallOption) (*WaitTaskResponse, error) {
  2819  	out := new(WaitTaskResponse)
  2820  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/WaitTask", in, out, opts...)
  2821  	if err != nil {
  2822  		return nil, err
  2823  	}
  2824  	return out, nil
  2825  }
  2826  
  2827  func (c *driverClient) StopTask(ctx context.Context, in *StopTaskRequest, opts ...grpc.CallOption) (*StopTaskResponse, error) {
  2828  	out := new(StopTaskResponse)
  2829  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/StopTask", in, out, opts...)
  2830  	if err != nil {
  2831  		return nil, err
  2832  	}
  2833  	return out, nil
  2834  }
  2835  
  2836  func (c *driverClient) DestroyTask(ctx context.Context, in *DestroyTaskRequest, opts ...grpc.CallOption) (*DestroyTaskResponse, error) {
  2837  	out := new(DestroyTaskResponse)
  2838  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/DestroyTask", in, out, opts...)
  2839  	if err != nil {
  2840  		return nil, err
  2841  	}
  2842  	return out, nil
  2843  }
  2844  
  2845  func (c *driverClient) ListTasks(ctx context.Context, in *ListTasksRequest, opts ...grpc.CallOption) (*ListTasksResponse, error) {
  2846  	out := new(ListTasksResponse)
  2847  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/ListTasks", in, out, opts...)
  2848  	if err != nil {
  2849  		return nil, err
  2850  	}
  2851  	return out, nil
  2852  }
  2853  
  2854  func (c *driverClient) InspectTask(ctx context.Context, in *InspectTaskRequest, opts ...grpc.CallOption) (*InspectTaskResponse, error) {
  2855  	out := new(InspectTaskResponse)
  2856  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/InspectTask", in, out, opts...)
  2857  	if err != nil {
  2858  		return nil, err
  2859  	}
  2860  	return out, nil
  2861  }
  2862  
  2863  func (c *driverClient) TaskStats(ctx context.Context, in *TaskStatsRequest, opts ...grpc.CallOption) (*TaskStatsResponse, error) {
  2864  	out := new(TaskStatsResponse)
  2865  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/TaskStats", in, out, opts...)
  2866  	if err != nil {
  2867  		return nil, err
  2868  	}
  2869  	return out, nil
  2870  }
  2871  
  2872  func (c *driverClient) TaskEvents(ctx context.Context, in *TaskEventsRequest, opts ...grpc.CallOption) (Driver_TaskEventsClient, error) {
  2873  	stream, err := c.cc.NewStream(ctx, &_Driver_serviceDesc.Streams[1], "/hashicorp.nomad.plugins.drivers.base.proto.Driver/TaskEvents", opts...)
  2874  	if err != nil {
  2875  		return nil, err
  2876  	}
  2877  	x := &driverTaskEventsClient{stream}
  2878  	if err := x.ClientStream.SendMsg(in); err != nil {
  2879  		return nil, err
  2880  	}
  2881  	if err := x.ClientStream.CloseSend(); err != nil {
  2882  		return nil, err
  2883  	}
  2884  	return x, nil
  2885  }
  2886  
  2887  type Driver_TaskEventsClient interface {
  2888  	Recv() (*DriverTaskEvent, error)
  2889  	grpc.ClientStream
  2890  }
  2891  
  2892  type driverTaskEventsClient struct {
  2893  	grpc.ClientStream
  2894  }
  2895  
  2896  func (x *driverTaskEventsClient) Recv() (*DriverTaskEvent, error) {
  2897  	m := new(DriverTaskEvent)
  2898  	if err := x.ClientStream.RecvMsg(m); err != nil {
  2899  		return nil, err
  2900  	}
  2901  	return m, nil
  2902  }
  2903  
  2904  func (c *driverClient) SignalTask(ctx context.Context, in *SignalTaskRequest, opts ...grpc.CallOption) (*SignalTaskResponse, error) {
  2905  	out := new(SignalTaskResponse)
  2906  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/SignalTask", in, out, opts...)
  2907  	if err != nil {
  2908  		return nil, err
  2909  	}
  2910  	return out, nil
  2911  }
  2912  
  2913  func (c *driverClient) ExecTask(ctx context.Context, in *ExecTaskRequest, opts ...grpc.CallOption) (*ExecTaskResponse, error) {
  2914  	out := new(ExecTaskResponse)
  2915  	err := c.cc.Invoke(ctx, "/hashicorp.nomad.plugins.drivers.base.proto.Driver/ExecTask", in, out, opts...)
  2916  	if err != nil {
  2917  		return nil, err
  2918  	}
  2919  	return out, nil
  2920  }
  2921  
  2922  // DriverServer is the server API for Driver service.
  2923  type DriverServer interface {
  2924  	// TaskConfigSchema returns the schema for parsing the driver
  2925  	// configuration of a task.
  2926  	TaskConfigSchema(context.Context, *TaskConfigSchemaRequest) (*TaskConfigSchemaResponse, error)
  2927  	// Capabilities returns a set of features which the driver implements. Some
  2928  	// RPCs are not possible to implement on some runtimes, this allows the
  2929  	// driver to indicate if it doesn't support these RPCs and features.
  2930  	Capabilities(context.Context, *CapabilitiesRequest) (*CapabilitiesResponse, error)
  2931  	// Fingerprint starts a stream which emits information about the driver
  2932  	// including whether the driver healthy and able to function in the
  2933  	// existing environment.
  2934  	//
  2935  	// The driver should immediately stream a FingerprintResponse when the RPC
  2936  	// is initially called, then send any additional responses if there is a
  2937  	// change in the driver's state.
  2938  	Fingerprint(*FingerprintRequest, Driver_FingerprintServer) error
  2939  	// RecoverTask is used when a task has been started but the driver may not
  2940  	// know about it. Such is the case if the driver restarts or is upgraded.
  2941  	RecoverTask(context.Context, *RecoverTaskRequest) (*RecoverTaskResponse, error)
  2942  	// StartTask starts and tracks the task on the implemented runtime
  2943  	StartTask(context.Context, *StartTaskRequest) (*StartTaskResponse, error)
  2944  	// WaitTask blocks until the given task exits, returning the result of the
  2945  	// task. It may be called after the task has exited, but before the task is
  2946  	// destroyed.
  2947  	WaitTask(context.Context, *WaitTaskRequest) (*WaitTaskResponse, error)
  2948  	// StopTask stops a given task by sending the desired signal to the process.
  2949  	// If the task does not exit on its own within the given timeout, it will be
  2950  	// forcefully killed.
  2951  	StopTask(context.Context, *StopTaskRequest) (*StopTaskResponse, error)
  2952  	// DestroyTask removes the task from the driver's internal state and cleans
  2953  	// up any additional resources created by the driver. It cannot be called
  2954  	// on a running task.
  2955  	DestroyTask(context.Context, *DestroyTaskRequest) (*DestroyTaskResponse, error)
  2956  	// ListTasks returns a list of summary information of all the tasks the
  2957  	// driver is tracking.
  2958  	ListTasks(context.Context, *ListTasksRequest) (*ListTasksResponse, error)
  2959  	// InspectTask returns detailed information for the given task
  2960  	InspectTask(context.Context, *InspectTaskRequest) (*InspectTaskResponse, error)
  2961  	// TaskStats collects and returns runtime metrics for the given task
  2962  	TaskStats(context.Context, *TaskStatsRequest) (*TaskStatsResponse, error)
  2963  	// TaskEvents starts a streaming RPC where all task events emitted by the
  2964  	// driver are streamed to the caller.
  2965  	TaskEvents(*TaskEventsRequest, Driver_TaskEventsServer) error
  2966  	// SignalTask sends a signal to the task
  2967  	SignalTask(context.Context, *SignalTaskRequest) (*SignalTaskResponse, error)
  2968  	// ExecTask executes a command inside the tasks execution context
  2969  	ExecTask(context.Context, *ExecTaskRequest) (*ExecTaskResponse, error)
  2970  }
  2971  
  2972  func RegisterDriverServer(s *grpc.Server, srv DriverServer) {
  2973  	s.RegisterService(&_Driver_serviceDesc, srv)
  2974  }
  2975  
  2976  func _Driver_TaskConfigSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2977  	in := new(TaskConfigSchemaRequest)
  2978  	if err := dec(in); err != nil {
  2979  		return nil, err
  2980  	}
  2981  	if interceptor == nil {
  2982  		return srv.(DriverServer).TaskConfigSchema(ctx, in)
  2983  	}
  2984  	info := &grpc.UnaryServerInfo{
  2985  		Server:     srv,
  2986  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/TaskConfigSchema",
  2987  	}
  2988  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2989  		return srv.(DriverServer).TaskConfigSchema(ctx, req.(*TaskConfigSchemaRequest))
  2990  	}
  2991  	return interceptor(ctx, in, info, handler)
  2992  }
  2993  
  2994  func _Driver_Capabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2995  	in := new(CapabilitiesRequest)
  2996  	if err := dec(in); err != nil {
  2997  		return nil, err
  2998  	}
  2999  	if interceptor == nil {
  3000  		return srv.(DriverServer).Capabilities(ctx, in)
  3001  	}
  3002  	info := &grpc.UnaryServerInfo{
  3003  		Server:     srv,
  3004  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/Capabilities",
  3005  	}
  3006  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3007  		return srv.(DriverServer).Capabilities(ctx, req.(*CapabilitiesRequest))
  3008  	}
  3009  	return interceptor(ctx, in, info, handler)
  3010  }
  3011  
  3012  func _Driver_Fingerprint_Handler(srv interface{}, stream grpc.ServerStream) error {
  3013  	m := new(FingerprintRequest)
  3014  	if err := stream.RecvMsg(m); err != nil {
  3015  		return err
  3016  	}
  3017  	return srv.(DriverServer).Fingerprint(m, &driverFingerprintServer{stream})
  3018  }
  3019  
  3020  type Driver_FingerprintServer interface {
  3021  	Send(*FingerprintResponse) error
  3022  	grpc.ServerStream
  3023  }
  3024  
  3025  type driverFingerprintServer struct {
  3026  	grpc.ServerStream
  3027  }
  3028  
  3029  func (x *driverFingerprintServer) Send(m *FingerprintResponse) error {
  3030  	return x.ServerStream.SendMsg(m)
  3031  }
  3032  
  3033  func _Driver_RecoverTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3034  	in := new(RecoverTaskRequest)
  3035  	if err := dec(in); err != nil {
  3036  		return nil, err
  3037  	}
  3038  	if interceptor == nil {
  3039  		return srv.(DriverServer).RecoverTask(ctx, in)
  3040  	}
  3041  	info := &grpc.UnaryServerInfo{
  3042  		Server:     srv,
  3043  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/RecoverTask",
  3044  	}
  3045  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3046  		return srv.(DriverServer).RecoverTask(ctx, req.(*RecoverTaskRequest))
  3047  	}
  3048  	return interceptor(ctx, in, info, handler)
  3049  }
  3050  
  3051  func _Driver_StartTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3052  	in := new(StartTaskRequest)
  3053  	if err := dec(in); err != nil {
  3054  		return nil, err
  3055  	}
  3056  	if interceptor == nil {
  3057  		return srv.(DriverServer).StartTask(ctx, in)
  3058  	}
  3059  	info := &grpc.UnaryServerInfo{
  3060  		Server:     srv,
  3061  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/StartTask",
  3062  	}
  3063  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3064  		return srv.(DriverServer).StartTask(ctx, req.(*StartTaskRequest))
  3065  	}
  3066  	return interceptor(ctx, in, info, handler)
  3067  }
  3068  
  3069  func _Driver_WaitTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3070  	in := new(WaitTaskRequest)
  3071  	if err := dec(in); err != nil {
  3072  		return nil, err
  3073  	}
  3074  	if interceptor == nil {
  3075  		return srv.(DriverServer).WaitTask(ctx, in)
  3076  	}
  3077  	info := &grpc.UnaryServerInfo{
  3078  		Server:     srv,
  3079  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/WaitTask",
  3080  	}
  3081  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3082  		return srv.(DriverServer).WaitTask(ctx, req.(*WaitTaskRequest))
  3083  	}
  3084  	return interceptor(ctx, in, info, handler)
  3085  }
  3086  
  3087  func _Driver_StopTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3088  	in := new(StopTaskRequest)
  3089  	if err := dec(in); err != nil {
  3090  		return nil, err
  3091  	}
  3092  	if interceptor == nil {
  3093  		return srv.(DriverServer).StopTask(ctx, in)
  3094  	}
  3095  	info := &grpc.UnaryServerInfo{
  3096  		Server:     srv,
  3097  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/StopTask",
  3098  	}
  3099  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3100  		return srv.(DriverServer).StopTask(ctx, req.(*StopTaskRequest))
  3101  	}
  3102  	return interceptor(ctx, in, info, handler)
  3103  }
  3104  
  3105  func _Driver_DestroyTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3106  	in := new(DestroyTaskRequest)
  3107  	if err := dec(in); err != nil {
  3108  		return nil, err
  3109  	}
  3110  	if interceptor == nil {
  3111  		return srv.(DriverServer).DestroyTask(ctx, in)
  3112  	}
  3113  	info := &grpc.UnaryServerInfo{
  3114  		Server:     srv,
  3115  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/DestroyTask",
  3116  	}
  3117  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3118  		return srv.(DriverServer).DestroyTask(ctx, req.(*DestroyTaskRequest))
  3119  	}
  3120  	return interceptor(ctx, in, info, handler)
  3121  }
  3122  
  3123  func _Driver_ListTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3124  	in := new(ListTasksRequest)
  3125  	if err := dec(in); err != nil {
  3126  		return nil, err
  3127  	}
  3128  	if interceptor == nil {
  3129  		return srv.(DriverServer).ListTasks(ctx, in)
  3130  	}
  3131  	info := &grpc.UnaryServerInfo{
  3132  		Server:     srv,
  3133  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/ListTasks",
  3134  	}
  3135  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3136  		return srv.(DriverServer).ListTasks(ctx, req.(*ListTasksRequest))
  3137  	}
  3138  	return interceptor(ctx, in, info, handler)
  3139  }
  3140  
  3141  func _Driver_InspectTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3142  	in := new(InspectTaskRequest)
  3143  	if err := dec(in); err != nil {
  3144  		return nil, err
  3145  	}
  3146  	if interceptor == nil {
  3147  		return srv.(DriverServer).InspectTask(ctx, in)
  3148  	}
  3149  	info := &grpc.UnaryServerInfo{
  3150  		Server:     srv,
  3151  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/InspectTask",
  3152  	}
  3153  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3154  		return srv.(DriverServer).InspectTask(ctx, req.(*InspectTaskRequest))
  3155  	}
  3156  	return interceptor(ctx, in, info, handler)
  3157  }
  3158  
  3159  func _Driver_TaskStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3160  	in := new(TaskStatsRequest)
  3161  	if err := dec(in); err != nil {
  3162  		return nil, err
  3163  	}
  3164  	if interceptor == nil {
  3165  		return srv.(DriverServer).TaskStats(ctx, in)
  3166  	}
  3167  	info := &grpc.UnaryServerInfo{
  3168  		Server:     srv,
  3169  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/TaskStats",
  3170  	}
  3171  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3172  		return srv.(DriverServer).TaskStats(ctx, req.(*TaskStatsRequest))
  3173  	}
  3174  	return interceptor(ctx, in, info, handler)
  3175  }
  3176  
  3177  func _Driver_TaskEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
  3178  	m := new(TaskEventsRequest)
  3179  	if err := stream.RecvMsg(m); err != nil {
  3180  		return err
  3181  	}
  3182  	return srv.(DriverServer).TaskEvents(m, &driverTaskEventsServer{stream})
  3183  }
  3184  
  3185  type Driver_TaskEventsServer interface {
  3186  	Send(*DriverTaskEvent) error
  3187  	grpc.ServerStream
  3188  }
  3189  
  3190  type driverTaskEventsServer struct {
  3191  	grpc.ServerStream
  3192  }
  3193  
  3194  func (x *driverTaskEventsServer) Send(m *DriverTaskEvent) error {
  3195  	return x.ServerStream.SendMsg(m)
  3196  }
  3197  
  3198  func _Driver_SignalTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3199  	in := new(SignalTaskRequest)
  3200  	if err := dec(in); err != nil {
  3201  		return nil, err
  3202  	}
  3203  	if interceptor == nil {
  3204  		return srv.(DriverServer).SignalTask(ctx, in)
  3205  	}
  3206  	info := &grpc.UnaryServerInfo{
  3207  		Server:     srv,
  3208  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/SignalTask",
  3209  	}
  3210  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3211  		return srv.(DriverServer).SignalTask(ctx, req.(*SignalTaskRequest))
  3212  	}
  3213  	return interceptor(ctx, in, info, handler)
  3214  }
  3215  
  3216  func _Driver_ExecTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3217  	in := new(ExecTaskRequest)
  3218  	if err := dec(in); err != nil {
  3219  		return nil, err
  3220  	}
  3221  	if interceptor == nil {
  3222  		return srv.(DriverServer).ExecTask(ctx, in)
  3223  	}
  3224  	info := &grpc.UnaryServerInfo{
  3225  		Server:     srv,
  3226  		FullMethod: "/hashicorp.nomad.plugins.drivers.base.proto.Driver/ExecTask",
  3227  	}
  3228  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3229  		return srv.(DriverServer).ExecTask(ctx, req.(*ExecTaskRequest))
  3230  	}
  3231  	return interceptor(ctx, in, info, handler)
  3232  }
  3233  
  3234  var _Driver_serviceDesc = grpc.ServiceDesc{
  3235  	ServiceName: "hashicorp.nomad.plugins.drivers.base.proto.Driver",
  3236  	HandlerType: (*DriverServer)(nil),
  3237  	Methods: []grpc.MethodDesc{
  3238  		{
  3239  			MethodName: "TaskConfigSchema",
  3240  			Handler:    _Driver_TaskConfigSchema_Handler,
  3241  		},
  3242  		{
  3243  			MethodName: "Capabilities",
  3244  			Handler:    _Driver_Capabilities_Handler,
  3245  		},
  3246  		{
  3247  			MethodName: "RecoverTask",
  3248  			Handler:    _Driver_RecoverTask_Handler,
  3249  		},
  3250  		{
  3251  			MethodName: "StartTask",
  3252  			Handler:    _Driver_StartTask_Handler,
  3253  		},
  3254  		{
  3255  			MethodName: "WaitTask",
  3256  			Handler:    _Driver_WaitTask_Handler,
  3257  		},
  3258  		{
  3259  			MethodName: "StopTask",
  3260  			Handler:    _Driver_StopTask_Handler,
  3261  		},
  3262  		{
  3263  			MethodName: "DestroyTask",
  3264  			Handler:    _Driver_DestroyTask_Handler,
  3265  		},
  3266  		{
  3267  			MethodName: "ListTasks",
  3268  			Handler:    _Driver_ListTasks_Handler,
  3269  		},
  3270  		{
  3271  			MethodName: "InspectTask",
  3272  			Handler:    _Driver_InspectTask_Handler,
  3273  		},
  3274  		{
  3275  			MethodName: "TaskStats",
  3276  			Handler:    _Driver_TaskStats_Handler,
  3277  		},
  3278  		{
  3279  			MethodName: "SignalTask",
  3280  			Handler:    _Driver_SignalTask_Handler,
  3281  		},
  3282  		{
  3283  			MethodName: "ExecTask",
  3284  			Handler:    _Driver_ExecTask_Handler,
  3285  		},
  3286  	},
  3287  	Streams: []grpc.StreamDesc{
  3288  		{
  3289  			StreamName:    "Fingerprint",
  3290  			Handler:       _Driver_Fingerprint_Handler,
  3291  			ServerStreams: true,
  3292  		},
  3293  		{
  3294  			StreamName:    "TaskEvents",
  3295  			Handler:       _Driver_TaskEvents_Handler,
  3296  			ServerStreams: true,
  3297  		},
  3298  	},
  3299  	Metadata: "driver.proto",
  3300  }
  3301  
  3302  func init() { proto.RegisterFile("driver.proto", fileDescriptor_driver_4db9b3af49fa7db9) }
  3303  
  3304  var fileDescriptor_driver_4db9b3af49fa7db9 = []byte{
  3305  	// 2810 bytes of a gzipped FileDescriptorProto
  3306  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x5f, 0x6f, 0xe3, 0xc6,
  3307  	0x11, 0x37, 0xf5, 0xcf, 0xd2, 0x48, 0x96, 0x79, 0x7b, 0x77, 0x8d, 0xa2, 0xa0, 0xcd, 0x85, 0x40,
  3308  	0x00, 0x23, 0x69, 0xe4, 0xc6, 0x69, 0xd3, 0xfc, 0xb9, 0xbb, 0x44, 0x91, 0x78, 0x67, 0xe7, 0x2c,
  3309  	0xd9, 0x59, 0xc9, 0x48, 0x52, 0x24, 0x61, 0x68, 0x72, 0x4f, 0x62, 0x2c, 0xfe, 0x09, 0x97, 0xf2,
  3310  	0xd9, 0x01, 0x0a, 0xe4, 0x21, 0x40, 0x81, 0xa2, 0x2d, 0x8a, 0xb4, 0xef, 0x41, 0xdf, 0x8b, 0xa2,
  3311  	0xaf, 0x7d, 0xea, 0x17, 0x08, 0xd0, 0x4f, 0xd0, 0x2f, 0x50, 0xa0, 0x7d, 0xe8, 0x27, 0x28, 0xf6,
  3312  	0x0f, 0x29, 0xca, 0xf2, 0x25, 0xa6, 0x74, 0x7d, 0x22, 0x77, 0x76, 0xf9, 0x9b, 0xe1, 0xcc, 0xec,
  3313  	0xcc, 0xec, 0x0e, 0xd4, 0xec, 0xd0, 0x39, 0x25, 0x61, 0x2b, 0x08, 0xfd, 0xc8, 0x47, 0x2f, 0x8c,
  3314  	0x4d, 0x3a, 0x76, 0x2c, 0x3f, 0x0c, 0x5a, 0x9e, 0xef, 0x9a, 0x76, 0x2b, 0x98, 0x4c, 0x47, 0x8e,
  3315  	0x47, 0x5b, 0x62, 0x15, 0x6d, 0x1d, 0x9b, 0x94, 0x88, 0xb5, 0xcd, 0x1f, 0x8d, 0x7c, 0x7f, 0x34,
  3316  	0x21, 0xdb, 0x7c, 0x74, 0x3c, 0x7d, 0xb8, 0x6d, 0x4f, 0x43, 0x33, 0x72, 0x7c, 0x4f, 0xce, 0x3f,
  3317  	0x7b, 0x71, 0x3e, 0x72, 0x5c, 0x42, 0x23, 0xd3, 0x0d, 0xe4, 0x82, 0xb7, 0x47, 0x4e, 0x34, 0x9e,
  3318  	0x1e, 0xb7, 0x2c, 0xdf, 0xdd, 0x4e, 0xf8, 0x6e, 0x73, 0xbe, 0xdb, 0x92, 0xef, 0x36, 0x1d, 0x9b,
  3319  	0x21, 0xb1, 0xb7, 0xc7, 0xd6, 0x84, 0x06, 0xc4, 0x62, 0x4f, 0x83, 0xbd, 0x08, 0x04, 0xed, 0x69,
  3320  	0x78, 0x6a, 0x68, 0xd2, 0x93, 0x8e, 0xef, 0x3d, 0x74, 0x46, 0x03, 0x6b, 0x4c, 0x5c, 0x13, 0x93,
  3321  	0xcf, 0xa7, 0x84, 0x46, 0xda, 0x47, 0xd0, 0x58, 0x9c, 0xa2, 0x81, 0xef, 0x51, 0x82, 0xde, 0x86,
  3322  	0x02, 0x03, 0x69, 0x28, 0xb7, 0x94, 0xad, 0xea, 0xce, 0x8f, 0x5b, 0x8f, 0xfb, 0x69, 0xc1, 0xbc,
  3323  	0x25, 0x99, 0xb7, 0x06, 0x01, 0xb1, 0x30, 0xff, 0x52, 0xbb, 0x09, 0xd7, 0x3b, 0x66, 0x60, 0x1e,
  3324  	0x3b, 0x13, 0x27, 0x72, 0x08, 0x8d, 0x99, 0x7e, 0x01, 0x37, 0xe6, 0xc9, 0x92, 0xe1, 0x31, 0xd4,
  3325  	0xac, 0x14, 0x5d, 0x32, 0xbe, 0xdb, 0xba, 0xba, 0xb6, 0x5b, 0x5d, 0x4e, 0x9a, 0x43, 0x9f, 0xc3,
  3326  	0xd4, 0x6e, 0x00, 0xba, 0xe7, 0x78, 0x23, 0x12, 0x06, 0xa1, 0xe3, 0x45, 0xb1, 0x44, 0x7f, 0xcc,
  3327  	0xc3, 0xf5, 0x39, 0xb2, 0x94, 0xc8, 0x07, 0x30, 0xa3, 0x28, 0x74, 0x8e, 0xa7, 0x11, 0x97, 0x27,
  3328  	0xbf, 0x55, 0xdd, 0x39, 0xc8, 0x22, 0xcf, 0x25, 0xa0, 0xad, 0x76, 0x82, 0xa8, 0x7b, 0x51, 0x78,
  3329  	0x8e, 0x53, 0x2c, 0x90, 0x05, 0xa5, 0x31, 0x31, 0x27, 0xd1, 0xb8, 0x91, 0xbb, 0xa5, 0x6c, 0xd5,
  3330  	0x77, 0x1e, 0xac, 0xca, 0x6c, 0x97, 0xa3, 0x0d, 0x22, 0x33, 0x22, 0x58, 0x42, 0xa3, 0x97, 0x00,
  3331  	0x89, 0x37, 0xc3, 0x26, 0xd4, 0x0a, 0x9d, 0x80, 0xb9, 0x63, 0x23, 0x7f, 0x4b, 0xd9, 0xaa, 0xe0,
  3332  	0x6b, 0x62, 0xa6, 0x3b, 0x9b, 0x68, 0xde, 0x81, 0xcd, 0x0b, 0x22, 0x23, 0x15, 0xf2, 0x27, 0xe4,
  3333  	0x9c, 0x1b, 0xa8, 0x82, 0xd9, 0x2b, 0xba, 0x01, 0xc5, 0x53, 0x73, 0x32, 0x25, 0x5c, 0xee, 0x0a,
  3334  	0x16, 0x83, 0x37, 0x72, 0xaf, 0x29, 0xda, 0xeb, 0x50, 0x4d, 0x09, 0x81, 0xea, 0x00, 0x47, 0xfd,
  3335  	0xae, 0x3e, 0xd4, 0x3b, 0x43, 0xbd, 0xab, 0xae, 0xa1, 0x0d, 0xa8, 0x1c, 0xf5, 0x77, 0xf5, 0xf6,
  3336  	0xfe, 0x70, 0xf7, 0x43, 0x55, 0x41, 0x55, 0x58, 0x8f, 0x07, 0x39, 0xed, 0x97, 0x80, 0x30, 0xb1,
  3337  	0xfc, 0x53, 0x12, 0x32, 0x27, 0x95, 0xc6, 0x42, 0x4f, 0xc1, 0x7a, 0x64, 0xd2, 0x13, 0xc3, 0xb1,
  3338  	0xa5, 0x00, 0x25, 0x36, 0xdc, 0xb3, 0x51, 0x1f, 0x4a, 0x63, 0xd3, 0xb3, 0x27, 0x42, 0x88, 0xea,
  3339  	0xce, 0xab, 0x59, 0x94, 0xc7, 0x38, 0xec, 0xf2, 0xaf, 0xb1, 0x44, 0x61, 0xee, 0x3b, 0xc7, 0x5e,
  3340  	0xa8, 0x54, 0xfb, 0x04, 0xd4, 0x41, 0x64, 0x86, 0x51, 0x5a, 0xa6, 0x77, 0xa1, 0xc0, 0x84, 0x90,
  3341  	0x2e, 0x9b, 0x99, 0xb1, 0xd8, 0x7f, 0x98, 0x63, 0x68, 0x5f, 0xe6, 0xe1, 0x5a, 0x8a, 0x81, 0x74,
  3342  	0xc5, 0x8f, 0xa0, 0x14, 0x12, 0x3a, 0x9d, 0x44, 0x9c, 0x47, 0x7d, 0xa7, 0x9b, 0x85, 0xc7, 0x02,
  3343  	0x5c, 0x0b, 0x73, 0x2c, 0x2c, 0x31, 0xd1, 0x16, 0xa8, 0xe2, 0x33, 0x83, 0x84, 0xa1, 0x1f, 0x1a,
  3344  	0x2e, 0x1d, 0x49, 0x4b, 0xd6, 0x05, 0x5d, 0x67, 0xe4, 0x1e, 0x1d, 0xa5, 0x94, 0x9c, 0x7f, 0x12,
  3345  	0x4a, 0x46, 0x0f, 0x41, 0xf5, 0x48, 0xf4, 0xc8, 0x0f, 0x4f, 0x0c, 0xa6, 0xe9, 0xd0, 0xb1, 0x49,
  3346  	0xa3, 0xc0, 0x91, 0xdf, 0xcc, 0x82, 0xdc, 0x17, 0x18, 0x07, 0x12, 0x02, 0x6f, 0x7a, 0xf3, 0x04,
  3347  	0xed, 0x45, 0x28, 0x89, 0x7f, 0x66, 0x2e, 0x36, 0x38, 0xea, 0x74, 0xf4, 0xc1, 0x40, 0x5d, 0x43,
  3348  	0x15, 0x28, 0x62, 0x7d, 0x88, 0x99, 0xeb, 0x55, 0xa0, 0x78, 0xaf, 0x3d, 0x6c, 0xef, 0xab, 0x39,
  3349  	0xed, 0x05, 0xd8, 0x7c, 0xdf, 0x74, 0xa2, 0xab, 0x78, 0x9d, 0x16, 0x81, 0x3a, 0x5b, 0x2b, 0x8d,
  3350  	0xd5, 0x9f, 0x33, 0x56, 0x46, 0x25, 0xe9, 0x67, 0x4e, 0x74, 0xc1, 0x3c, 0x2a, 0xe4, 0x49, 0x18,
  3351  	0x4a, 0x8b, 0xb0, 0x57, 0xed, 0x11, 0x6c, 0x0e, 0x22, 0x3f, 0xb8, 0xd2, 0xbe, 0x78, 0x05, 0xd6,
  3352  	0x59, 0x52, 0xf1, 0xa7, 0x91, 0xdc, 0x18, 0x4f, 0xb7, 0x44, 0xd2, 0x69, 0xc5, 0x49, 0xa7, 0xd5,
  3353  	0x95, 0x49, 0x09, 0xc7, 0x2b, 0xd1, 0x0f, 0xa0, 0x44, 0x9d, 0x91, 0x67, 0x4e, 0x64, 0x60, 0x90,
  3354  	0x23, 0x0d, 0x31, 0xef, 0x8f, 0x19, 0xcb, 0x1d, 0xf1, 0x12, 0xa0, 0x2e, 0xa1, 0x51, 0xe8, 0x9f,
  3355  	0x5f, 0x49, 0x63, 0x37, 0xe1, 0xfa, 0xdc, 0x72, 0x89, 0x82, 0x40, 0xdd, 0x77, 0x28, 0x57, 0x64,
  3356  	0x92, 0x2a, 0x4c, 0xb8, 0x96, 0xa2, 0x49, 0xed, 0xee, 0x43, 0x91, 0x21, 0xc5, 0x01, 0x39, 0xb3,
  3357  	0x07, 0xb2, 0x40, 0x34, 0xa5, 0x58, 0x80, 0x30, 0xe1, 0xf7, 0x3c, 0x96, 0xae, 0xae, 0x66, 0xee,
  3358  	0x6f, 0x72, 0x70, 0x7d, 0x6e, 0xbd, 0x14, 0x6a, 0xc5, 0x08, 0x20, 0x65, 0xe2, 0x18, 0x68, 0x08,
  3359  	0x25, 0xb1, 0x4c, 0xda, 0xeb, 0x76, 0x56, 0x34, 0x91, 0x06, 0x25, 0xa6, 0xc4, 0xba, 0x74, 0xa7,
  3360  	0xe5, 0xff, 0x2f, 0x3b, 0x4d, 0x8d, 0xff, 0x88, 0x7e, 0xaf, 0x3a, 0x3f, 0x85, 0x6b, 0xa9, 0xc5,
  3361  	0x52, 0x97, 0x0f, 0xa0, 0x48, 0x19, 0x41, 0x2a, 0xf3, 0x67, 0xcb, 0x28, 0x93, 0x62, 0x81, 0xa1,
  3362  	0x5d, 0x17, 0x1c, 0xf4, 0x53, 0xe2, 0x25, 0xf2, 0x68, 0x5d, 0xb8, 0x36, 0xe0, 0xfe, 0x7c, 0xa5,
  3363  	0x0d, 0x34, 0xdb, 0x0b, 0xb9, 0xb9, 0xbd, 0x70, 0x03, 0x50, 0x1a, 0x45, 0xfa, 0xf1, 0x39, 0x6c,
  3364  	0xea, 0x67, 0xc4, 0xba, 0x12, 0x72, 0x03, 0xd6, 0x2d, 0xdf, 0x75, 0x4d, 0xcf, 0x6e, 0xe4, 0x6e,
  3365  	0xe5, 0xb7, 0x2a, 0x38, 0x1e, 0xa6, 0x37, 0x6d, 0xfe, 0xaa, 0x9b, 0x56, 0xfb, 0x5a, 0x01, 0x75,
  3366  	0xc6, 0x5b, 0x6a, 0x93, 0x49, 0x1f, 0xd9, 0x0c, 0x88, 0xf1, 0xae, 0x61, 0x39, 0x92, 0xf4, 0x38,
  3367  	0xae, 0x08, 0x3a, 0x09, 0xc3, 0x54, 0xf0, 0xca, 0x3f, 0x89, 0xe0, 0xa5, 0xfd, 0x4b, 0x01, 0xb4,
  3368  	0x58, 0x97, 0xa1, 0xe7, 0xa0, 0x46, 0x89, 0x67, 0x1b, 0x42, 0x97, 0xc2, 0xd6, 0x65, 0x5c, 0x65,
  3369  	0x34, 0xa1, 0x54, 0x8a, 0x10, 0x14, 0xc8, 0x19, 0xb1, 0xb8, 0x7c, 0x65, 0xcc, 0xdf, 0x91, 0x0b,
  3370  	0xb5, 0x87, 0xd4, 0x70, 0xa8, 0x3f, 0x31, 0x93, 0xb2, 0xa5, 0xbe, 0xf3, 0xee, 0x6a, 0x45, 0x62,
  3371  	0xeb, 0xde, 0x60, 0x2f, 0x46, 0xc4, 0xd5, 0x87, 0x34, 0x19, 0x68, 0x2d, 0xa8, 0xa6, 0xe6, 0x50,
  3372  	0x19, 0x0a, 0xfd, 0x83, 0xbe, 0xae, 0xae, 0x21, 0x80, 0x52, 0x67, 0x17, 0x1f, 0x1c, 0x0c, 0x45,
  3373  	0xe6, 0xd8, 0xeb, 0xb5, 0xef, 0xeb, 0x6a, 0x4e, 0xfb, 0x5d, 0x01, 0x60, 0x96, 0xd1, 0x51, 0x1d,
  3374  	0x72, 0x89, 0xcd, 0x73, 0x8e, 0xcd, 0xfe, 0xc8, 0x33, 0xdd, 0xb8, 0x4a, 0xe2, 0xef, 0x68, 0x07,
  3375  	0x6e, 0xba, 0x74, 0x14, 0x98, 0xd6, 0x89, 0x21, 0x73, 0xb0, 0xc5, 0x3f, 0xe6, 0xbf, 0x56, 0xc3,
  3376  	0xd7, 0xe5, 0xa4, 0x94, 0x5a, 0xe0, 0xbe, 0x07, 0x79, 0xe2, 0x9d, 0x36, 0x0a, 0x3c, 0x00, 0xbe,
  3377  	0xb5, 0x5c, 0xb9, 0xd1, 0xd2, 0xbd, 0x53, 0x51, 0x81, 0x32, 0x2c, 0x34, 0x80, 0x4a, 0x48, 0xa8,
  3378  	0x3f, 0x0d, 0x2d, 0x42, 0x1b, 0xc5, 0xec, 0x1b, 0x0f, 0xc7, 0x1f, 0xe3, 0x19, 0x0e, 0xda, 0x83,
  3379  	0x92, 0xeb, 0x4f, 0xbd, 0x88, 0x36, 0x4a, 0x5c, 0xd4, 0x97, 0xb3, 0x20, 0xf6, 0xd8, 0x97, 0x58,
  3380  	0x02, 0xa0, 0x7d, 0x58, 0xb7, 0xc9, 0xa9, 0xc3, 0xa4, 0x5b, 0xe7, 0x58, 0x3b, 0x99, 0x6c, 0xce,
  3381  	0x3f, 0xc5, 0x31, 0x04, 0x33, 0xc4, 0x94, 0x92, 0xb0, 0x51, 0x16, 0x86, 0x60, 0xef, 0xe8, 0x19,
  3382  	0xa8, 0x98, 0x93, 0x89, 0x6f, 0x19, 0xb6, 0x13, 0x36, 0x2a, 0x7c, 0xa2, 0xcc, 0x09, 0x5d, 0x27,
  3383  	0x6c, 0xbe, 0x0a, 0xe5, 0x58, 0x5f, 0x99, 0xca, 0xdf, 0x7f, 0x28, 0x50, 0x49, 0x54, 0x83, 0x3e,
  3384  	0x86, 0x8d, 0xd0, 0x7c, 0x64, 0xcc, 0x14, 0x2d, 0x22, 0xdc, 0x6b, 0x99, 0x14, 0x6d, 0x3e, 0x9a,
  3385  	0xe9, 0xba, 0x16, 0xa6, 0x46, 0xc8, 0x82, 0xcd, 0x89, 0xe3, 0x4d, 0xcf, 0x52, 0x0c, 0x44, 0x06,
  3386  	0x79, 0x23, 0x0b, 0x83, 0x7d, 0x06, 0x31, 0x63, 0x51, 0x9f, 0xcc, 0x8d, 0xb5, 0xbf, 0x29, 0x50,
  3387  	0x4b, 0xcb, 0xc0, 0xd4, 0x61, 0x05, 0x53, 0xfe, 0x2b, 0x79, 0xcc, 0x5e, 0x59, 0x68, 0x71, 0x89,
  3388  	0xeb, 0x87, 0xe7, 0x9c, 0x7d, 0x1e, 0xcb, 0x11, 0xd3, 0xba, 0xed, 0xd0, 0x13, 0xee, 0xd9, 0x79,
  3389  	0xcc, 0xdf, 0x19, 0xcd, 0xf1, 0x03, 0xca, 0x8b, 0xbe, 0x3c, 0xe6, 0xef, 0xe8, 0x7d, 0x28, 0xcb,
  3390  	0xac, 0xc2, 0x5c, 0x31, 0xbf, 0x64, 0x8a, 0x8a, 0x25, 0xc4, 0x09, 0x98, 0xf6, 0xa7, 0x1c, 0x6c,
  3391  	0x5e, 0x98, 0x65, 0xc2, 0x0a, 0xaf, 0x88, 0x63, 0xb3, 0x18, 0x31, 0xc1, 0x2c, 0xc7, 0x8e, 0xab,
  3392  	0x2e, 0xfe, 0xce, 0xf7, 0x73, 0x20, 0x2b, 0xa2, 0x9c, 0x13, 0x30, 0xbb, 0xbb, 0xc7, 0x4e, 0x24,
  3393  	0xa4, 0x2f, 0x62, 0x31, 0x40, 0x9f, 0x40, 0x3d, 0x24, 0x94, 0x84, 0xa7, 0xc4, 0x36, 0x02, 0x3f,
  3394  	0x8c, 0xe2, 0x9f, 0xf8, 0xf9, 0x12, 0x3f, 0x71, 0xe8, 0x87, 0x11, 0xde, 0x88, 0xe1, 0xd8, 0x88,
  3395  	0xa2, 0x8f, 0x60, 0xc3, 0x3e, 0xf7, 0x4c, 0xd7, 0xb1, 0x24, 0x7c, 0x69, 0x35, 0xf8, 0x9a, 0x44,
  3396  	0xe3, 0xe8, 0xec, 0xc0, 0x96, 0x9a, 0x64, 0xbf, 0x38, 0x31, 0x8f, 0xc9, 0x44, 0x6a, 0x47, 0x0c,
  3397  	0xe6, 0x1d, 0xbe, 0x28, 0x1d, 0x5e, 0xfb, 0x2a, 0x07, 0xf5, 0x79, 0xef, 0x41, 0x3f, 0x04, 0xb0,
  3398  	0x82, 0xa9, 0x11, 0x90, 0xd0, 0xf1, 0x6d, 0xe9, 0x23, 0x15, 0x2b, 0x98, 0x1e, 0x72, 0x02, 0xdb,
  3399  	0x73, 0x6c, 0xfa, 0xf3, 0xa9, 0x1f, 0x99, 0xd2, 0x59, 0xca, 0x56, 0x30, 0x7d, 0x8f, 0x8d, 0xe3,
  3400  	0x6f, 0xf9, 0x05, 0x03, 0x95, 0x4e, 0xc3, 0x96, 0x0f, 0x38, 0x01, 0xbd, 0x0c, 0x37, 0x85, 0x5f,
  3401  	0x19, 0x13, 0xc7, 0x75, 0x22, 0xc3, 0xf1, 0x8c, 0xe3, 0x73, 0x76, 0x50, 0x17, 0xae, 0x84, 0xc4,
  3402  	0xe4, 0x3e, 0x9b, 0xdb, 0xf3, 0xde, 0x61, 0x33, 0x48, 0x83, 0x0d, 0xdf, 0x77, 0x0d, 0x6a, 0xf9,
  3403  	0x21, 0x31, 0x4c, 0xfb, 0x33, 0x1e, 0xe8, 0xf2, 0xb8, 0xea, 0xfb, 0xee, 0x80, 0xd1, 0xda, 0xf6,
  3404  	0x67, 0xe8, 0x59, 0xa8, 0x5a, 0xc1, 0x94, 0x92, 0xc8, 0x60, 0x8f, 0x46, 0x89, 0xff, 0x36, 0x08,
  3405  	0x52, 0x27, 0x98, 0xd2, 0xd4, 0x02, 0x97, 0xb8, 0x2c, 0x1a, 0xa5, 0x16, 0xf4, 0x88, 0x4b, 0xb5,
  3406  	0x8f, 0xa1, 0xc8, 0x63, 0x17, 0xfb, 0x3b, 0x9e, 0xf7, 0x03, 0x33, 0x1a, 0x4b, 0xfd, 0x95, 0x19,
  3407  	0xe1, 0xd0, 0x8c, 0xc6, 0x6c, 0x72, 0xec, 0xd3, 0x48, 0x4c, 0x0a, 0x27, 0x2b, 0x33, 0x02, 0x9f,
  3408  	0x6c, 0x42, 0x39, 0x24, 0xa6, 0xed, 0x7b, 0x93, 0x73, 0xfe, 0xe3, 0x65, 0x9c, 0x8c, 0xb5, 0xcf,
  3409  	0xa1, 0x24, 0xc2, 0xd9, 0x0a, 0xf8, 0x2f, 0x01, 0xb2, 0x46, 0xa1, 0x3f, 0x0d, 0x98, 0x65, 0x5c,
  3410  	0x87, 0x52, 0xc7, 0xf7, 0x68, 0x7c, 0x07, 0x20, 0x66, 0x0e, 0x67, 0x13, 0xda, 0xb7, 0x8a, 0x48,
  3411  	0x6b, 0xe2, 0xf0, 0xc6, 0x4a, 0x04, 0x99, 0xa3, 0x56, 0x3b, 0xf0, 0x4a, 0x94, 0xb8, 0xe0, 0x23,
  3412  	0xf2, 0xd6, 0x63, 0xa9, 0x82, 0x8f, 0x88, 0x82, 0x8f, 0xb0, 0xc2, 0x42, 0xe6, 0x51, 0x81, 0x29,
  3413  	0xd2, 0x68, 0xd5, 0x4e, 0x6a, 0x62, 0xa2, 0xfd, 0x5b, 0x49, 0xc2, 0x40, 0x5c, 0xb6, 0x22, 0x0b,
  3414  	0xca, 0x6c, 0x33, 0x19, 0xae, 0x19, 0xc8, 0x83, 0xc5, 0xee, 0x0a, 0x65, 0x71, 0x8b, 0xed, 0x9d,
  3415  	0x9e, 0x19, 0x88, 0x04, 0xbb, 0x1e, 0x88, 0x11, 0x8b, 0x29, 0xa6, 0x3d, 0x8b, 0x29, 0xec, 0x1d,
  3416  	0x3d, 0x0f, 0x75, 0x73, 0x1a, 0xf9, 0x86, 0x69, 0x9f, 0x92, 0x30, 0x72, 0x28, 0x91, 0x06, 0xdf,
  3417  	0x60, 0xd4, 0x76, 0x4c, 0x6c, 0xbe, 0x01, 0xb5, 0x34, 0xe6, 0xf7, 0x25, 0xa1, 0x62, 0x3a, 0x09,
  3418  	0x7d, 0x0a, 0x30, 0x2b, 0xcc, 0x98, 0x63, 0x90, 0x33, 0x27, 0x32, 0x2c, 0xdf, 0x16, 0x31, 0xaf,
  3419  	0x88, 0xcb, 0x8c, 0xd0, 0xf1, 0x6d, 0x72, 0xa1, 0xd6, 0x2d, 0xc6, 0xb5, 0x2e, 0xdb, 0x8b, 0x6c,
  3420  	0xe7, 0x9c, 0x38, 0x93, 0x09, 0xb1, 0xa5, 0x84, 0x15, 0xdf, 0x77, 0x1f, 0x70, 0x82, 0xf6, 0x9f,
  3421  	0x9c, 0x70, 0x10, 0x71, 0xe6, 0xb8, 0x52, 0xdd, 0x93, 0x18, 0x3d, 0xff, 0x04, 0x8c, 0xfe, 0x3c,
  3422  	0x6c, 0x52, 0xe7, 0x0b, 0x62, 0xf8, 0x9e, 0xc1, 0xb2, 0x8a, 0xe1, 0x1e, 0xcb, 0x28, 0x50, 0x63,
  3423  	0xe4, 0x03, 0xaf, 0xeb, 0xd0, 0x93, 0xde, 0x31, 0x7a, 0x1d, 0x80, 0x46, 0x66, 0x18, 0x11, 0xdb,
  3424  	0x30, 0x23, 0x59, 0xe5, 0x34, 0x17, 0x0a, 0xeb, 0x61, 0x7c, 0x05, 0x8b, 0x2b, 0x72, 0x75, 0x3b,
  3425  	0x42, 0x77, 0xa0, 0x66, 0xf9, 0x6e, 0x30, 0x21, 0xf2, 0xe3, 0xd2, 0xf7, 0x7e, 0x5c, 0x4d, 0xd6,
  3426  	0xb7, 0xa3, 0x54, 0x55, 0xbd, 0xfe, 0x44, 0xaa, 0xea, 0xbf, 0x2b, 0xe2, 0x98, 0x95, 0x3e, 0xea,
  3427  	0xa1, 0xc9, 0x25, 0xf7, 0x95, 0xfb, 0xab, 0x1c, 0x1e, 0xbf, 0xeb, 0xb2, 0x72, 0xd5, 0x8b, 0xc1,
  3428  	0x6f, 0xf3, 0x50, 0x49, 0x4e, 0x6b, 0x0b, 0x1e, 0xf3, 0x1a, 0x54, 0x92, 0x9b, 0x70, 0x59, 0xc4,
  3429  	0x7c, 0xa7, 0xa1, 0x92, 0xc5, 0xe8, 0x04, 0x90, 0x39, 0x1a, 0x25, 0x25, 0x90, 0x31, 0xa5, 0xe6,
  3430  	0x28, 0x3e, 0xe9, 0xde, 0xc9, 0xaa, 0x8c, 0x38, 0x91, 0x1d, 0x31, 0x10, 0xac, 0x9a, 0xa3, 0xd1,
  3431  	0x1c, 0x05, 0x7d, 0xa9, 0xc0, 0xcd, 0x79, 0x4e, 0xc6, 0xf1, 0xb9, 0x11, 0x38, 0xb6, 0xac, 0xcd,
  3432  	0x7b, 0x4b, 0x9d, 0x5d, 0x5b, 0x73, 0x4c, 0xde, 0x39, 0x3f, 0x74, 0x6c, 0xa1, 0x7e, 0x14, 0x2e,
  3433  	0x4c, 0x34, 0xbf, 0x52, 0xe0, 0xa9, 0xc7, 0xac, 0xbf, 0xc4, 0x1e, 0x83, 0xb4, 0x3d, 0x56, 0x56,
  3434  	0x48, 0xca, 0x9c, 0x7f, 0x56, 0xc4, 0x41, 0x7b, 0x5e, 0x3f, 0xf7, 0x66, 0xb5, 0x61, 0x75, 0xe7,
  3435  	0xa7, 0x59, 0x98, 0x75, 0x0e, 0x8f, 0x04, 0x0f, 0x5e, 0x51, 0x1e, 0xcc, 0x55, 0x94, 0x19, 0x6b,
  3436  	0x9d, 0x1e, 0xff, 0x52, 0xa0, 0x49, 0x18, 0xed, 0xaf, 0x79, 0x28, 0xc7, 0x2c, 0x58, 0x46, 0xa7,
  3437  	0xe7, 0x34, 0x22, 0xae, 0xe1, 0xc6, 0x31, 0x51, 0xc1, 0x20, 0x48, 0x3d, 0x16, 0x15, 0x9f, 0x81,
  3438  	0x0a, 0x3b, 0x22, 0x88, 0xe9, 0x1c, 0x9f, 0x2e, 0x33, 0x02, 0x9f, 0x7c, 0x16, 0xaa, 0x91, 0x1f,
  3439  	0x99, 0x13, 0x23, 0x72, 0xac, 0x13, 0x91, 0x44, 0x15, 0x0c, 0x9c, 0x34, 0x64, 0x14, 0xf4, 0x22,
  3440  	0x5c, 0x8b, 0xc6, 0xa1, 0x1f, 0x45, 0x13, 0x56, 0x10, 0xf2, 0xc2, 0x47, 0x14, 0x29, 0x05, 0xac,
  3441  	0x26, 0x13, 0xa2, 0x20, 0xa2, 0x2c, 0x1d, 0xcc, 0x16, 0x33, 0xaf, 0xe6, 0x61, 0xaa, 0x80, 0x37,
  3442  	0x12, 0x2a, 0xf3, 0x7a, 0xd4, 0x80, 0xf5, 0x80, 0x84, 0x16, 0xf1, 0x44, 0x24, 0x52, 0x70, 0x3c,
  3443  	0x44, 0x36, 0x6c, 0xba, 0xc4, 0xa4, 0xd3, 0x90, 0xd8, 0xc6, 0x43, 0x87, 0x4c, 0x6c, 0x71, 0x60,
  3444  	0xaa, 0x67, 0xab, 0xa1, 0x63, 0xdd, 0xb4, 0xee, 0x71, 0x08, 0x5c, 0x8f, 0x31, 0xc5, 0x98, 0x15,
  3445  	0x21, 0xe2, 0x0d, 0x6d, 0x42, 0x75, 0xf0, 0xe1, 0x60, 0xa8, 0xf7, 0x8c, 0xde, 0x41, 0x57, 0x97,
  3446  	0x57, 0xfa, 0x03, 0x1d, 0x8b, 0xa1, 0xc2, 0xe6, 0x87, 0x07, 0xc3, 0xf6, 0xbe, 0x31, 0xdc, 0xeb,
  3447  	0x3c, 0x18, 0xa8, 0x39, 0x74, 0x13, 0xae, 0x0d, 0x77, 0xf1, 0xc1, 0x70, 0xb8, 0xaf, 0x77, 0x8d,
  3448  	0x43, 0x1d, 0xef, 0x1d, 0x74, 0x07, 0x6a, 0x1e, 0x21, 0xa8, 0xcf, 0xc8, 0xc3, 0xbd, 0x9e, 0xae,
  3449  	0x16, 0x50, 0x15, 0xd6, 0x0f, 0x75, 0xdc, 0xd1, 0xfb, 0x43, 0xb5, 0xa8, 0xfd, 0x33, 0x07, 0xd5,
  3450  	0x94, 0x29, 0x99, 0x73, 0x87, 0x54, 0x1c, 0xa1, 0x0a, 0x98, 0xbd, 0xb2, 0x60, 0x63, 0x99, 0xd6,
  3451  	0x58, 0x98, 0xa8, 0x80, 0xc5, 0x80, 0x19, 0xcf, 0x35, 0xcf, 0x52, 0x71, 0xa0, 0x80, 0xcb, 0xae,
  3452  	0x79, 0x26, 0x40, 0x9e, 0x83, 0xda, 0x09, 0x09, 0x3d, 0x32, 0x91, 0xf3, 0xc2, 0x2c, 0x55, 0x41,
  3453  	0x13, 0x4b, 0xb6, 0x40, 0x95, 0x4b, 0x66, 0x30, 0xc2, 0x26, 0x75, 0x41, 0xef, 0xc5, 0x60, 0xa3,
  3454  	0x45, 0xd5, 0x97, 0xb8, 0xea, 0xef, 0x2e, 0xe9, 0xae, 0x8f, 0xd3, 0xfe, 0x20, 0xd1, 0xfe, 0x3a,
  3455  	0xe4, 0x71, 0x7c, 0x93, 0xdd, 0x69, 0x77, 0x76, 0x99, 0xc6, 0x37, 0xa0, 0xd2, 0x6b, 0x7f, 0x60,
  3456  	0x1c, 0xb5, 0x07, 0xf7, 0x75, 0x35, 0x87, 0x54, 0xa8, 0x3d, 0xd0, 0x71, 0x5f, 0xdf, 0x37, 0x8e,
  3457  	0x06, 0xed, 0xfb, 0xba, 0x9a, 0x47, 0x37, 0x40, 0x95, 0x14, 0xbe, 0x8e, 0x53, 0x0b, 0xda, 0x5f,
  3458  	0x72, 0xb0, 0x29, 0x82, 0x7f, 0x72, 0x61, 0xf6, 0xf8, 0x9b, 0xab, 0xe5, 0xe3, 0x73, 0x03, 0xd6,
  3459  	0x5d, 0x42, 0x13, 0x63, 0x54, 0x70, 0x3c, 0x44, 0x1e, 0x54, 0x4d, 0xcf, 0xf3, 0x23, 0x7e, 0xd7,
  3460  	0x42, 0x65, 0x04, 0xdd, 0xcf, 0x7e, 0xb5, 0x93, 0x88, 0xdf, 0x6a, 0xcf, 0xe0, 0x44, 0x00, 0x4d,
  3461  	0x33, 0x68, 0xde, 0x05, 0xf5, 0xe2, 0x82, 0x2c, 0x19, 0xec, 0x85, 0x97, 0x67, 0x09, 0x8c, 0x30,
  3462  	0x57, 0x3d, 0xea, 0x3f, 0xe8, 0x1f, 0xbc, 0xdf, 0x57, 0xd7, 0xd8, 0x00, 0x1f, 0xf5, 0xfb, 0x7b,
  3463  	0xfd, 0xfb, 0xaa, 0x82, 0x00, 0x4a, 0xfa, 0x07, 0x7b, 0x43, 0xbd, 0xab, 0xe6, 0x76, 0xfe, 0xbb,
  3464  	0x09, 0x25, 0x21, 0x24, 0xfa, 0x46, 0x66, 0xf0, 0x74, 0xf3, 0x15, 0x75, 0x96, 0xab, 0xa4, 0xe7,
  3465  	0xba, 0xba, 0xcd, 0xee, 0x6a, 0x20, 0xf2, 0x1e, 0x73, 0x0d, 0xfd, 0x41, 0x81, 0xda, 0xdc, 0x9d,
  3466  	0x5d, 0xa6, 0x9b, 0xa6, 0x4b, 0x5a, 0xbf, 0xcd, 0xb7, 0x97, 0x07, 0x48, 0xa4, 0xfa, 0x5a, 0x81,
  3467  	0x6a, 0xaa, 0xd5, 0x89, 0xee, 0x2e, 0xdd, 0x23, 0x15, 0x32, 0xbd, 0xb5, 0x62, 0x8f, 0x55, 0x5b,
  3468  	0xfb, 0x89, 0x82, 0x7e, 0xaf, 0x40, 0x35, 0xd5, 0x2c, 0xcc, 0x26, 0xd4, 0x62, 0x93, 0x33, 0x9b,
  3469  	0x50, 0x97, 0x75, 0x29, 0xd7, 0xd0, 0xaf, 0x15, 0xa8, 0x24, 0x8d, 0x3f, 0x74, 0x7b, 0xc9, 0x7e,
  3470  	0xa1, 0x10, 0xe7, 0xce, 0x4a, 0xdd, 0x46, 0x6d, 0x0d, 0xfd, 0x4a, 0x81, 0x72, 0xdc, 0x26, 0x43,
  3471  	0x99, 0x12, 0xd1, 0x85, 0x46, 0x5c, 0xf3, 0xf6, 0x72, 0x1f, 0xcf, 0x49, 0x12, 0x77, 0xb0, 0xb2,
  3472  	0x49, 0x72, 0xa1, 0xe1, 0xd6, 0xbc, 0xbd, 0xdc, 0xc7, 0x89, 0x24, 0xcc, 0x67, 0x52, 0x8d, 0xb0,
  3473  	0x6c, 0x3e, 0xb3, 0xd8, 0x70, 0xcb, 0xe6, 0x33, 0x97, 0x75, 0xe0, 0x84, 0xcf, 0x24, 0x0d, 0xb7,
  3474  	0x6c, 0x3e, 0x73, 0xb1, 0x77, 0x97, 0xcd, 0x67, 0x16, 0xba, 0x7c, 0x52, 0x3f, 0xa9, 0x56, 0x5b,
  3475  	0x36, 0xfd, 0x2c, 0xf6, 0xf4, 0xb2, 0xe9, 0xe7, 0x92, 0x1e, 0x9f, 0xd4, 0xcf, 0xec, 0xcc, 0x72,
  3476  	0x7b, 0xb9, 0xc6, 0xd4, 0x32, 0xfa, 0x59, 0x68, 0x92, 0x69, 0x6b, 0xe8, 0x37, 0xf2, 0x52, 0x46,
  3477  	0xb4, 0xb6, 0x50, 0x66, 0xbc, 0xb9, 0x96, 0x58, 0xf3, 0xcd, 0x15, 0xf2, 0x2c, 0x0f, 0x81, 0xbf,
  3478  	0x55, 0x00, 0x66, 0xed, 0xb0, 0x6c, 0xe2, 0x2c, 0x34, 0xe3, 0x9a, 0x77, 0x97, 0xfd, 0x7c, 0x6e,
  3479  	0xa3, 0xc7, 0xcd, 0xb0, 0x6c, 0x1b, 0xfd, 0x42, 0xfb, 0x2e, 0xdb, 0x46, 0xbf, 0xd8, 0x7f, 0xd3,
  3480  	0xd6, 0xde, 0x59, 0xff, 0x45, 0x51, 0x94, 0x44, 0x25, 0xfe, 0x78, 0xe5, 0x7f, 0x01, 0x00, 0x00,
  3481  	0xff, 0xff, 0xb0, 0x0e, 0x99, 0xe1, 0x4f, 0x26, 0x00, 0x00,
  3482  }