/** Ċ Ġ* ĠDocker ĠEngine ĠAPI Ċ Ġ* Ċ Ġ* ĠThe ĠEngine ĠAPI Ġis Ġan ĠHTTP ĠAPI Ġserved Ġby ĠDocker ĠEngine . ĠIt Ġis Ġthe ĠAPI Ġthe ĠDocker Ġclient Ġuses Ġto Ġcommunicate Ġwith Ġthe ĠEngine , Ġso Ġeverything Ġthe ĠDocker Ġclient Ġcan Ġdo Ġcan Ġbe Ġdone Ġwith Ġthe ĠAPI . Ġ ĠMost Ġof Ġthe Ġclient 's Ġcommands Ġmap Ġdirectly Ġto ĠAPI Ġendpoints Ġ( e . g . Ġ` docker Ġps ` Ġis Ġ` GET Ġ/ containers / json `). ĠThe Ġnot able Ġexception Ġis Ġrunning Ġcontainers , Ġwhich Ġconsists Ġof Ġseveral ĠAPI Ġcalls . Ġ Ġ# ĠErrors Ġ ĠThe ĠAPI Ġuses Ġstandard ĠHTTP Ġstatus Ġcodes Ġto Ġindicate Ġthe Ġsuccess Ġor Ġfailure Ġof Ġthe ĠAPI Ġcall . ĠThe Ġbody Ġof Ġthe Ġresponse Ġwill Ġbe ĠJSON Ġin Ġthe Ġfollowing Ġformat : Ġ Ġ``` Ġ{ ĠĠ Ġ\" message \": Ġ\" page Ġnot Ġfound \" Ġ} Ġ``` Ġ Ġ# ĠVersion ing Ġ ĠThe ĠAPI Ġis Ġusually Ġchanged Ġin Ġeach Ġrelease , Ġso ĠAPI Ġcalls Ġare Ġversion ed Ġto Ġensure Ġthat Ġclients Ġdon 't Ġbreak . ĠTo Ġlock Ġto Ġa Ġspecific Ġversion Ġof Ġthe ĠAPI , Ġyou Ġprefix Ġthe ĠURL Ġwith Ġits Ġversion , Ġfor Ġexample , Ġcall Ġ`/ v 1 . 3 0 / info ` Ġto Ġuse Ġthe Ġv 1 . 3 0 Ġversion Ġof Ġthe Ġ`/ info ` Ġendpoint . ĠIf Ġthe ĠAPI Ġversion Ġspecified Ġin Ġthe ĠURL Ġis Ġnot Ġsupported Ġby Ġthe Ġdaemon , Ġa ĠHTTP Ġ` 4 0 0 ĠBad ĠRequest ` Ġerror Ġmessage Ġis Ġreturned . Ġ ĠIf Ġyou Ġomit Ġthe Ġversion - prefix , Ġthe Ġcurrent Ġversion Ġof Ġthe ĠAPI Ġ( v 1 . 4 1 ) Ġis Ġused . ĠFor Ġexample , Ġcalling Ġ`/ info ` Ġis Ġthe Ġsame Ġas Ġcalling Ġ`/ v 1 . 4 1 / info `. ĠUsing Ġthe ĠAPI Ġwithout Ġa Ġversion - prefix Ġis Ġdeprecated Ġand Ġwill Ġbe Ġremoved Ġin Ġa Ġfuture Ġrelease . Ġ ĠEngine Ġreleases Ġin Ġthe Ġnear Ġfuture Ġshould Ġsupport Ġthis Ġversion Ġof Ġthe ĠAPI , Ġso Ġyour Ġclient Ġwill Ġcontinue Ġto Ġwork Ġeven Ġif Ġit Ġis Ġtalking Ġto Ġa Ġnewer ĠEngine . Ġ ĠThe ĠAPI Ġuses Ġan Ġopen Ġschema Ġmodel , Ġwhich Ġmeans Ġserver Ġmay Ġadd Ġextra Ġproperties Ġto Ġresponses . ĠL ik ew ise , Ġthe Ġserver Ġwill Ġignore Ġany Ġextra Ġquery Ġparameters Ġand Ġrequest Ġbody Ġproperties . ĠWhen Ġyou Ġwrite Ġclients , Ġyou Ġneed Ġto Ġignore Ġadditional Ġproperties Ġin Ġresponses Ġto Ġensure Ġthey Ġdo Ġnot Ġbreak Ġwhen Ġtalking Ġto Ġnewer Ġda em ons . ĠĠ Ġ# ĠAuthentication Ġ ĠAuthentication Ġfor Ġregist ries Ġis Ġhandled Ġclient Ġside . ĠThe Ġclient Ġhas Ġto Ġsend Ġauthentication Ġdetails Ġto Ġvarious Ġendpoints Ġthat Ġneed Ġto Ġcommunicate Ġwith Ġregist ries , Ġsuch Ġas Ġ` POST Ġ/ images /( name )/ push `. ĠThese Ġare Ġsent Ġas Ġ` X - Registry - Auth ` Ġheader Ġas Ġa Ġ[ base 6 4 url Ġencoded ]( https :// tools . ietf . org / html / rfc 4 6 4 8 # section - 5 ) Ġ( JSON ) Ġstring Ġwith Ġthe Ġfollowing Ġstructure : Ġ Ġ``` Ġ{ ĠĠ Ġ\" username \": Ġ\" string \", ĠĠ Ġ\" password \": Ġ\" string \", ĠĠ Ġ\" email \": Ġ\" string \", ĠĠ Ġ\" server address \": Ġ\" string \" Ġ} Ġ``` Ġ ĠThe Ġ` server address ` Ġis Ġa Ġdomain / IP Ġwithout Ġa Ġprotocol . ĠThrough out Ġthis Ġstructure , Ġdouble Ġquotes Ġare Ġrequired . Ġ ĠIf Ġyou Ġhave Ġalready Ġgot Ġan Ġidentity Ġtoken Ġfrom Ġthe Ġ[` / auth ` Ġendpoint ](# operation / System Auth ), Ġyou Ġcan Ġjust Ġpass Ġthis Ġinstead Ġof Ġcredentials : Ġ Ġ``` Ġ{ ĠĠ Ġ\" identity token \": Ġ\" 9 cb af 0 2 3 7 8 6 cd 7 ... \" Ġ} Ġ``` ĠĊ Ġ* Ċ Ġ* ĠThe Ġversion Ġof Ġthe ĠOpenAPI Ġdocument : Ġ 1 . 4 1 Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠPlease Ġnote : Ċ Ġ* ĠThis Ġclass Ġis Ġauto Ġgenerated Ġby ĠOpenAPI ĠGenerator Ġ( https :// openapi - generator . tech ). Ċ Ġ* ĠDo Ġnot Ġedit Ġthis Ġfile Ġmanually . Ċ Ġ*/ Ċ Ċ @ file : Suppress ( ĊĠ Ġ" Array In Data Class ", ĊĠ Ġ" Enum Entry Name ", ĊĠ Ġ" Remove Red undant Qualifier Name ", ĊĠ Ġ" Unused Import " Ċ ) Ċ Ċ package Ġde . ge sel lix . docker . remote . api Ċ Ċ import Ġcom . squareup . mos hi . Json Ċ import Ġcom . squareup . mos hi . Json Class Ċ Ċ /** Ċ Ġ* ĠResponse Ġof ĠEngine ĠAPI : ĠGET Ġ\" / version \" Ċ Ġ* Ċ Ġ* Ġ@ param Ġplatform Ċ Ġ* Ġ@ param Ġcomponents ĠInformation Ġabout Ġsystem Ġcomponents Ċ Ġ* Ġ@ param Ġversion ĠThe Ġversion Ġof Ġthe Ġdaemon Ċ Ġ* Ġ@ param ĠapiVersion ĠThe Ġdefault Ġ( and Ġhighest ) ĠAPI Ġversion Ġthat Ġis Ġsupported Ġby Ġthe Ġdaemon Ċ Ġ* Ġ@ param Ġmin API Version ĠThe Ġminimum ĠAPI Ġversion Ġthat Ġis Ġsupported Ġby Ġthe Ġdaemon Ċ Ġ* Ġ@ param Ġgit Commit ĠThe ĠGit Ġcommit Ġof Ġthe Ġsource Ġcode Ġthat Ġwas Ġused Ġto Ġbuild Ġthe Ġdaemon Ċ Ġ* Ġ@ param Ġgo Version ĠThe Ġversion ĠGo Ġused Ġto Ġcompile Ġthe Ġdaemon , Ġand Ġthe Ġversion Ġof Ġthe ĠGo Ġruntime Ġin Ġuse . Ċ Ġ* Ġ@ param Ġos ĠThe Ġoperating Ġsystem Ġthat Ġthe Ġdaemon Ġis Ġrunning Ġon Ġ( \" linux \" Ġor Ġ\" windows \") Ċ Ġ* Ġ@ param Ġarch ĠThe Ġarchitecture Ġthat Ġthe Ġdaemon Ġis Ġrunning Ġon Ċ Ġ* Ġ@ param Ġkernel Version ĠThe Ġkernel Ġversion Ġ(` uname Ġ- r `) Ġthat Ġthe Ġdaemon Ġis Ġrunning Ġon . Ġ ĠThis Ġfield Ġis Ġomitted Ġwhen Ġempty . Ċ Ġ* Ġ@ param Ġexperimental ĠIndicates Ġif Ġthe Ġdaemon Ġis Ġstarted Ġwith Ġexperimental Ġfeatures Ġenabled . Ġ ĠThis Ġfield Ġis Ġomitted Ġwhen Ġempty Ġ/ Ġfalse . Ċ Ġ* Ġ@ param Ġbuild Time ĠThe Ġdate Ġand Ġtime Ġthat Ġthe Ġdaemon Ġwas Ġcompiled . Ċ Ġ*/ Ċ @ Json Class ( generate Adapter Ġ= Ġtrue ) Ċ data Ġclass ĠSystem Version ( ĊĊĠ Ġ@ Json ( name Ġ= Ġ" Platform ") ĊĠ Ġvar Ġplatform : ĠSystem Version Platform ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠInformation Ġabout Ġsystem Ġcomponents Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Components ") ĊĠ Ġvar Ġcomponents : Ġkotlin . collections . Mutable List < System Version Components >? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġversion Ġof Ġthe Ġdaemon Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Version ") ĊĠ Ġvar Ġversion : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġdefault Ġ( and Ġhighest ) ĠAPI Ġversion Ġthat Ġis Ġsupported Ġby Ġthe Ġdaemon Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" ApiVersion ") ĊĠ Ġvar ĠapiVersion : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġminimum ĠAPI Ġversion Ġthat Ġis Ġsupported Ġby Ġthe Ġdaemon Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Min API Version ") ĊĠ Ġvar Ġmin API Version : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe ĠGit Ġcommit Ġof Ġthe Ġsource Ġcode Ġthat Ġwas Ġused Ġto Ġbuild Ġthe Ġdaemon Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Git Commit ") ĊĠ Ġvar Ġgit Commit : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġversion ĠGo Ġused Ġto Ġcompile Ġthe Ġdaemon , Ġand Ġthe Ġversion Ġof Ġthe ĠGo Ġruntime Ġin Ġuse . Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Go Version ") ĊĠ Ġvar Ġgo Version : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġoperating Ġsystem Ġthat Ġthe Ġdaemon Ġis Ġrunning Ġon Ġ( \" linux \" Ġor Ġ\" windows \") Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Os ") ĊĠ Ġvar Ġos : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġarchitecture Ġthat Ġthe Ġdaemon Ġis Ġrunning Ġon Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Arch ") ĊĠ Ġvar Ġarch : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġkernel Ġversion Ġ(` uname Ġ- r `) Ġthat Ġthe Ġdaemon Ġis Ġrunning Ġon . Ġ ĠThis Ġfield Ġis Ġomitted Ġwhen Ġempty . Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Kernel Version ") ĊĠ Ġvar Ġkernel Version : Ġkotlin . String ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠIndicates Ġif Ġthe Ġdaemon Ġis Ġstarted Ġwith Ġexperimental Ġfeatures Ġenabled . Ġ ĠThis Ġfield Ġis Ġomitted Ġwhen Ġempty Ġ/ Ġfalse . Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Experimental ") ĊĠ Ġvar Ġexperimental : Ġkotlin . Boolean ? Ġ= Ġnull , ĊĊĠ Ġ/* ĠThe Ġdate Ġand Ġtime Ġthat Ġthe Ġdaemon Ġwas Ġcompiled . Ġ Ġ*/ ĊĠ Ġ@ Json ( name Ġ= Ġ" Build Time ") ĊĠ Ġvar Ġbuild Time : Ġkotlin . String ? Ġ= Ġnull Ċ Ċ ) Ċ