github.com/docker/docker@v299999999.0.0-20200612211812-aaf470eca7b5+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  	// Protocol to use for clients connecting to the plugin.
   125  	ProtocolScheme string `json:"ProtocolScheme,omitempty"`
   126  
   127  	// socket
   128  	// Required: true
   129  	Socket string `json:"Socket"`
   130  
   131  	// types
   132  	// Required: true
   133  	Types []PluginInterfaceType `json:"Types"`
   134  }
   135  
   136  // PluginConfigLinux plugin config linux
   137  // swagger:model PluginConfigLinux
   138  type PluginConfigLinux struct {
   139  
   140  	// allow all devices
   141  	// Required: true
   142  	AllowAllDevices bool `json:"AllowAllDevices"`
   143  
   144  	// capabilities
   145  	// Required: true
   146  	Capabilities []string `json:"Capabilities"`
   147  
   148  	// devices
   149  	// Required: true
   150  	Devices []PluginDevice `json:"Devices"`
   151  }
   152  
   153  // PluginConfigNetwork plugin config network
   154  // swagger:model PluginConfigNetwork
   155  type PluginConfigNetwork struct {
   156  
   157  	// type
   158  	// Required: true
   159  	Type string `json:"Type"`
   160  }
   161  
   162  // PluginConfigRootfs plugin config rootfs
   163  // swagger:model PluginConfigRootfs
   164  type PluginConfigRootfs struct {
   165  
   166  	// diff ids
   167  	DiffIds []string `json:"diff_ids"`
   168  
   169  	// type
   170  	Type string `json:"type,omitempty"`
   171  }
   172  
   173  // PluginConfigUser plugin config user
   174  // swagger:model PluginConfigUser
   175  type PluginConfigUser struct {
   176  
   177  	// g ID
   178  	GID uint32 `json:"GID,omitempty"`
   179  
   180  	// UID
   181  	UID uint32 `json:"UID,omitempty"`
   182  }
   183  
   184  // PluginSettings Settings that can be modified by users.
   185  // swagger:model PluginSettings
   186  type PluginSettings struct {
   187  
   188  	// args
   189  	// Required: true
   190  	Args []string `json:"Args"`
   191  
   192  	// devices
   193  	// Required: true
   194  	Devices []PluginDevice `json:"Devices"`
   195  
   196  	// env
   197  	// Required: true
   198  	Env []string `json:"Env"`
   199  
   200  	// mounts
   201  	// Required: true
   202  	Mounts []PluginMount `json:"Mounts"`
   203  }