/*-
 * -\-\-
 * docker-client
 * --
 * Copyright (C) 2016 Spotify AB
 * --
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * -/-/-
 */

package com.spotify.docker.client.messages;

import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.auto.value.AutoValue;


@AutoValue
@JsonAutoDetect(fieldVisibility = ANY, getterVisibility = NONE, setterVisibility = NONE)
public abstract class ContainerMount {

  @JsonProperty("Source")
  public abstract String source();

  @JsonProperty("Destination")
  public abstract String destination();

  @JsonProperty("Mode")
  public abstract String mode();

  @JsonProperty("RW")
  public abstract Boolean rw();

  @JsonCreator
  static ContainerMount create(
      @JsonProperty("Source") final String source,
      @JsonProperty("Destination") final String destination,
      @JsonProperty("Mode") final String mode,
      @JsonProperty("RW") final Boolean rw) {
    return new AutoValue_ContainerMount(source, destination, mode, rw);
  }
}

@@ -1047,16 +1047,51 @@
 Value;%0A%0A
+import javax.annotation.Nullable;%0A%0A
 %0A@AutoVa
@@ -1223,16 +1223,156 @@
 ount %7B%0A%0A
+  @Nullable%0A  @JsonProperty(%22Type%22)%0A  public abstract String type();%0A%0A  @Nullable%0A  @JsonProperty(%22Name%22)%0A  public abstract String name();%0A%0A
   @JsonP
@@ -1493,24 +1493,98 @@
 ination();%0A%0A
+  @Nullable%0A  @JsonProperty(%22Driver%22)%0A  public abstract String driver();%0A%0A
   @JsonPrope
@@ -1691,51 +1691,229 @@
 %0A  @
-JsonCreator%0A  static ContainerMount create(
+Nullable%0A  @JsonProperty(%22Propagation%22)%0A  public abstract String propagation();%0A%0A  @JsonCreator%0A  static ContainerMount create(%0A      @JsonProperty(%22Type%22) final String type,%0A      @JsonProperty(%22Name%22) final String name,
 %0A   
@@ -2021,16 +2021,67 @@
 nation,%0A
+      @JsonProperty(%22Driver%22) final String driver,%0A
       @J
@@ -2161,16 +2161,77 @@
 olean rw
+,%0A      @JsonProperty(%22Propagation%22) final String propagation
 ) %7B%0A    
@@ -2266,16 +2266,28 @@
 erMount(
+type, name, 
 source, 
@@ -2303,16 +2303,37 @@
 on, 
-mode, rw
+driver, mode, rw, propagation
 );%0A 

Add new fields to ContainerMount