github.com/cookieai-jar/moby@v17.12.1-ce-rc2+incompatible/api/types/plugin.go (about)

     1  package types
     2  
     3  // This file was generated by the swagger tool.
     4  // Editing this file might prove futile when you re-run the swagger generate command
     5  
     6  // Plugin A plugin for the Engine API
     7  // swagger:model Plugin
     8  type Plugin struct {
     9  
    10  	// config
    11  	// Required: true
    12  	Config PluginConfig `json:"Config"`
    13  
    14  	// True if the plugin is running. False if the plugin is not running, only installed.
    15  	// Required: true
    16  	Enabled bool `json:"Enabled"`
    17  
    18  	// Id
    19  	ID string `json:"Id,omitempty"`
    20  
    21  	// name
    22  	// Required: true
    23  	Name string `json:"Name"`
    24  
    25  	// plugin remote reference used to push/pull the plugin
    26  	PluginReference string `json:"PluginReference,omitempty"`
    27  
    28  	// settings
    29  	// Required: true
    30  	Settings PluginSettings `json:"Settings"`
    31  }
    32  
    33  // PluginConfig The config of a plugin.
    34  // swagger:model PluginConfig
    35  type PluginConfig struct {
    36  
    37  	// args
    38  	// Required: true
    39  	Args PluginConfigArgs `json:"Args"`
    40  
    41  	// description
    42  	// Required: true
    43  	Description string `json:"Description"`
    44  
    45  	// Docker Version used to create the plugin
    46  	DockerVersion string `json:"DockerVersion,omitempty"`
    47  
    48  	// documentation
    49  	// Required: true
    50  	Documentation string `json:"Documentation"`
    51  
    52  	// entrypoint
    53  	// Required: true
    54  	Entrypoint []string `json:"Entrypoint"`
    55  
    56  	// env
    57  	// Required: true
    58  	Env []PluginEnv `json:"Env"`
    59  
    60  	// interface
    61  	// Required: true
    62  	Interface PluginConfigInterface `json:"Interface"`
    63  
    64  	// ipc host
    65  	// Required: true
    66  	IpcHost bool `json:"IpcHost"`
    67  
    68  	// linux
    69  	// Required: true
    70  	Linux PluginConfigLinux `json:"Linux"`
    71  
    72  	// mounts
    73  	// Required: true
    74  	Mounts []PluginMount `json:"Mounts"`
    75  
    76  	// network
    77  	// Required: true
    78  	Network PluginConfigNetwork `json:"Network"`
    79  
    80  	// pid host
    81  	// Required: true
    82  	PidHost bool `json:"PidHost"`
    83  
    84  	// propagated mount
    85  	// Required: true
    86  	PropagatedMount string `json:"PropagatedMount"`
    87  
    88  	// user
    89  	User PluginConfigUser `json:"User,omitempty"`
    90  
    91  	// work dir
    92  	// Required: true
    93  	WorkDir string `json:"WorkDir"`
    94  
    95  	// rootfs
    96  	Rootfs *PluginConfigRootfs `json:"rootfs,omitempty"`
    97  }
    98  
    99  // PluginConfigArgs plugin config args
   100  // swagger:model PluginConfigArgs
   101  type PluginConfigArgs struct {
   102  
   103  	// description
   104  	// Required: true
   105  	Description string `json:"Description"`
   106  
   107  	// name
   108  	// Required: true
   109  	Name string `json:"Name"`
   110  
   111  	// settable
   112  	// Required: true
   113  	Settable []string `json:"Settable"`
   114  
   115  	// value
   116  	// Required: true
   117  	Value []string `json:"Value"`
   118  }
   119  
   120  // PluginConfigInterface The interface between Docker and the plugin
   121  // swagger:model PluginConfigInterface
   122  type PluginConfigInterface struct {
   123  
   124  	// socket
   125  	// Required: true
   126  	Socket string `json:"Socket"`
   127  
   128  	// types
   129  	// Required: true
   130  	Types []PluginInterfaceType `json:"Types"`
   131  }
   132  
   133  // PluginConfigLinux plugin config linux
   134  // swagger:model PluginConfigLinux
   135  type PluginConfigLinux struct {
   136  
   137  	// allow all devices
   138  	// Required: true
   139  	AllowAllDevices bool `json:"AllowAllDevices"`
   140  
   141  	// capabilities
   142  	// Required: true
   143  	Capabilities []string `json:"Capabilities"`
   144  
   145  	// devices
   146  	// Required: true
   147  	Devices []PluginDevice `json:"Devices"`
   148  }
   149  
   150  // PluginConfigNetwork plugin config network
   151  // swagger:model PluginConfigNetwork
   152  type PluginConfigNetwork struct {
   153  
   154  	// type
   155  	// Required: true
   156  	Type string `json:"Type"`
   157  }
   158  
   159  // PluginConfigRootfs plugin config rootfs
   160  // swagger:model PluginConfigRootfs
   161  type PluginConfigRootfs struct {
   162  
   163  	// diff ids
   164  	DiffIds []string `json:"diff_ids"`
   165  
   166  	// type
   167  	Type string `json:"type,omitempty"`
   168  }
   169  
   170  // PluginConfigUser plugin config user
   171  // swagger:model PluginConfigUser
   172  type PluginConfigUser struct {
   173  
   174  	// g ID
   175  	GID uint32 `json:"GID,omitempty"`
   176  
   177  	// UID
   178  	UID uint32 `json:"UID,omitempty"`
   179  }
   180  
   181  // PluginSettings Settings that can be modified by users.
   182  // swagger:model PluginSettings
   183  type PluginSettings struct {
   184  
   185  	// args
   186  	// Required: true
   187  	Args []string `json:"Args"`
   188  
   189  	// devices
   190  	// Required: true
   191  	Devices []PluginDevice `json:"Devices"`
   192  
   193  	// env
   194  	// Required: true
   195  	Env []string `json:"Env"`
   196  
   197  	// mounts
   198  	// Required: true
   199  	Mounts []PluginMount `json:"Mounts"`
   200  }