55import com .fasterxml .jackson .annotation .JsonInclude .Include ;
66import com .fasterxml .jackson .annotation .JsonProperty ;
77import com .github .dockerjava .api .command .ListContainersCmd ;
8- import com .github .dockerjava .api .model .Network .Ipam ;
98import com .github .dockerjava .core .RemoteApiVersion ;
109import org .apache .commons .lang .builder .EqualsBuilder ;
1110import org .apache .commons .lang .builder .HashCodeBuilder ;
1211import org .apache .commons .lang .builder .ToStringBuilder ;
1312
1413import javax .annotation .CheckForNull ;
15- import java .util .List ;
1614import java .util .Map ;
1715
1816/**
@@ -46,7 +44,7 @@ public class Container {
4644 private String [] names ;
4745
4846 @ JsonProperty ("Ports" )
49- public Port [] ports ;
47+ public ContainerPort [] ports ;
5048
5149 @ JsonProperty ("Labels" )
5250 public Map <String , String > labels ;
@@ -72,7 +70,7 @@ public class Container {
7270 * @since ~{@link RemoteApiVersion#VERSION_1_20}
7371 */
7472 @ JsonProperty ("HostConfig" )
75- private HostConfig hostConfig ;
73+ private ContainerHostConfig hostConfig ;
7674
7775 /**
7876 * Docker API docs says "list of networks", but json names `networkSettings`.
@@ -81,7 +79,7 @@ public class Container {
8179 * @since ~{@link RemoteApiVersion#VERSION_1_22}
8280 */
8381 @ JsonProperty ("NetworkSettings" )
84- private NetworkSettings networkSettings ;
82+ private ContainerNetworkSettings networkSettings ;
8583
8684 public String getId () {
8785 return id ;
@@ -108,7 +106,7 @@ public String getStatus() {
108106 return status ;
109107 }
110108
111- public Port [] getPorts () {
109+ public ContainerPort [] getPorts () {
112110 return ports ;
113111 }
114112
@@ -140,15 +138,15 @@ public Long getSizeRootFs() {
140138 * @see #networkSettings
141139 */
142140 @ CheckForNull
143- public NetworkSettings getNetworkSettings () {
141+ public ContainerNetworkSettings getNetworkSettings () {
144142 return networkSettings ;
145143 }
146144
147145 /**
148146 * @see #hostConfig
149147 */
150148 @ CheckForNull
151- public HostConfig getHostConfig () {
149+ public ContainerHostConfig getHostConfig () {
152150 return hostConfig ;
153151 }
154152
@@ -200,296 +198,4 @@ public int hashCode() {
200198 .append (networkSettings )
201199 .toHashCode ();
202200 }
203-
204- @ JsonIgnoreProperties (ignoreUnknown = true )
205- public static final class HostConfig {
206- @ JsonProperty ("NetworkMode" )
207- private String networkMode ;
208-
209- public String getNetworkMode () {
210- return networkMode ;
211- }
212- }
213-
214- /**
215- * @since {@link RemoteApiVersion#VERSION_1_22}
216- */
217- @ JsonIgnoreProperties (ignoreUnknown = true )
218- public static final class NetworkSettings {
219- @ JsonProperty ("Networks" )
220- private Map <String , Network > networks ;
221-
222- public Map <String , Network > getNetworks () {
223- return networks ;
224- }
225-
226- @ JsonIgnoreProperties (ignoreUnknown = true )
227- public static final class Network {
228- /**
229- * FIXME verify
230- */
231- @ JsonProperty ("IPAMConfig" )
232- private Ipam .Config ipamConfig ;
233-
234- /**
235- * FIXME verify
236- */
237- @ JsonProperty ("Links" )
238- private List <String > links ;
239-
240- /**
241- * FIXME no docs, unknown field.
242- * Type picked from `docker/vendor/src/github.com/docker/engine-api/types/network/network.go`
243- * @since {@link RemoteApiVersion#VERSION_1_22}
244- */
245- @ JsonProperty ("Aliases" )
246- private List <String > aliases ;
247-
248- @ JsonProperty ("NetworkID" )
249- private String networkID ;
250-
251- @ JsonProperty ("EndpointID" )
252- private String endpointId ;
253-
254- @ JsonProperty ("Gateway" )
255- private String gateway ;
256-
257- @ JsonProperty ("IPAddress" )
258- private String ipAddress ;
259-
260- @ JsonProperty ("IPPrefixLen" )
261- private Integer ipPrefixLen ;
262-
263- @ JsonProperty ("IPv6Gateway" )
264- private String ipV6Gateway ;
265-
266- @ JsonProperty ("GlobalIPv6Address" )
267- private String globalIPv6Address ;
268-
269- @ JsonProperty ("GlobalIPv6PrefixLen" )
270- private Integer globalIPv6PrefixLen ;
271-
272- @ JsonProperty ("MacAddress" )
273- private String macAddress ;
274-
275- /**
276- * @see #aliases
277- */
278- @ CheckForNull
279- public List <String > getAliases () {
280- return aliases ;
281- }
282-
283- /**
284- * @see #endpointId
285- */
286- @ CheckForNull
287- public String getEndpointId () {
288- return endpointId ;
289- }
290-
291- /**
292- * @see #gateway
293- */
294- @ CheckForNull
295- public String getGateway () {
296- return gateway ;
297- }
298-
299- /**
300- * @see #globalIPv6Address
301- */
302- @ CheckForNull
303- public String getGlobalIPv6Address () {
304- return globalIPv6Address ;
305- }
306-
307- /**
308- * @see #globalIPv6PrefixLen
309- */
310- @ CheckForNull
311- public Integer getGlobalIPv6PrefixLen () {
312- return globalIPv6PrefixLen ;
313- }
314-
315- /**
316- * @see #ipAddress
317- */
318- @ CheckForNull
319- public String getIpAddress () {
320- return ipAddress ;
321- }
322-
323- /**
324- * @see #ipamConfig
325- */
326- @ CheckForNull
327- public Ipam .Config getIpamConfig () {
328- return ipamConfig ;
329- }
330-
331- /**
332- * @see #ipPrefixLen
333- */
334- @ CheckForNull
335- public Integer getIpPrefixLen () {
336- return ipPrefixLen ;
337- }
338-
339- /**
340- * @see #ipV6Gateway
341- */
342- @ CheckForNull
343- public String getIpV6Gateway () {
344- return ipV6Gateway ;
345- }
346-
347- /**
348- * @see #links
349- */
350- @ CheckForNull
351- public List <String > getLinks () {
352- return links ;
353- }
354-
355- /**
356- * @see #macAddress
357- */
358- @ CheckForNull
359- public String getMacAddress () {
360- return macAddress ;
361- }
362-
363- /**
364- * @see #networkID
365- */
366- @ CheckForNull
367- public String getNetworkID () {
368- return networkID ;
369- }
370-
371- @ Override
372- public String toString () {
373- return new ToStringBuilder (this )
374- .append ("aliases" , aliases )
375- .append ("ipamConfig" , ipamConfig )
376- .append ("links" , links )
377- .append ("networkID" , networkID )
378- .append ("endpointId" , endpointId )
379- .append ("gateway" , gateway )
380- .append ("ipAddress" , ipAddress )
381- .append ("ipPrefixLen" , ipPrefixLen )
382- .append ("ipV6Gateway" , ipV6Gateway )
383- .append ("globalIPv6Address" , globalIPv6Address )
384- .append ("globalIPv6PrefixLen" , globalIPv6PrefixLen )
385- .append ("macAddress" , macAddress )
386- .toString ();
387- }
388-
389- @ Override
390- public boolean equals (Object o ) {
391- if (this == o ) return true ;
392-
393- if (o == null || getClass () != o .getClass ()) return false ;
394-
395- Network network = (Network ) o ;
396-
397- return new EqualsBuilder ()
398- .append (ipamConfig , network .ipamConfig )
399- .append (links , network .links )
400- .append (aliases , network .aliases )
401- .append (networkID , network .networkID )
402- .append (endpointId , network .endpointId )
403- .append (gateway , network .gateway )
404- .append (ipAddress , network .ipAddress )
405- .append (ipPrefixLen , network .ipPrefixLen )
406- .append (ipV6Gateway , network .ipV6Gateway )
407- .append (globalIPv6Address , network .globalIPv6Address )
408- .append (globalIPv6PrefixLen , network .globalIPv6PrefixLen )
409- .append (macAddress , network .macAddress )
410- .isEquals ();
411- }
412-
413- @ Override
414- public int hashCode () {
415- return new HashCodeBuilder (17 , 37 )
416- .append (ipamConfig )
417- .append (links )
418- .append (aliases )
419- .append (networkID )
420- .append (endpointId )
421- .append (gateway )
422- .append (ipAddress )
423- .append (ipPrefixLen )
424- .append (ipV6Gateway )
425- .append (globalIPv6Address )
426- .append (globalIPv6PrefixLen )
427- .append (macAddress )
428- .toHashCode ();
429- }
430- }
431- }
432-
433- @ JsonIgnoreProperties (ignoreUnknown = true )
434- public static class Port {
435-
436- @ JsonProperty ("IP" )
437- private String ip ;
438-
439- @ JsonProperty ("PrivatePort" )
440- private Integer privatePort ;
441-
442- @ JsonProperty ("PublicPort" )
443- private Integer publicPort ;
444-
445- @ JsonProperty ("Type" )
446- private String type ;
447-
448- public String getIp () {
449- return ip ;
450- }
451-
452- public Integer getPrivatePort () {
453- return privatePort ;
454- }
455-
456- public Integer getPublicPort () {
457- return publicPort ;
458- }
459-
460- public String getType () {
461- return type ;
462- }
463-
464- @ Override
465- public String toString () {
466- return ToStringBuilder .reflectionToString (this );
467- }
468-
469- @ Override
470- public boolean equals (Object o ) {
471- if (this == o ) return true ;
472-
473- if (o == null || getClass () != o .getClass ()) return false ;
474-
475- Port port = (Port ) o ;
476-
477- return new EqualsBuilder ()
478- .append (ip , port .ip )
479- .append (privatePort , port .privatePort )
480- .append (publicPort , port .publicPort )
481- .append (type , port .type )
482- .isEquals ();
483- }
484-
485- @ Override
486- public int hashCode () {
487- return new HashCodeBuilder (17 , 37 )
488- .append (ip )
489- .append (privatePort )
490- .append (publicPort )
491- .append (type )
492- .toHashCode ();
493- }
494- }
495201}
0 commit comments