github.com/ferranbt/nomad@v0.9.3-0.20190607002617-85c449b7667c/plugins/drivers/proto/driver.pb.go (about)

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