title: Update cloudfront configuration using awscli
body: <p>I would like to edit/update my CloudFront distribution with awscli.</p>
  
  <p>I'm using latest cli version:</p>
  
  <p><code>aws-cli/1.11.56 Python/2.7.10 Darwin/16.4.0 botocore/1.5.19</code></p>
  
  <p>To use cloudfront features in awscli you need to add this to your aws config file:</p>
  
  <pre><code>[preview]
  cloudfront = true
  </code></pre>
  
  <p>I'm getting config of the distribution that I'd like to modify:</p>
  
  <p><code>aws cloudfront get-distribution-config --id FOO_BAR_ID &gt; cf_config.json</code></p>
  
  <p>Looks like it worked as expected. Config looks ok for me. Now I'm trying to reconfigure my CF distribution with the same config.</p>
  
  <p><code>aws cloudfront update-distribution --distribution-config file://cf_config.json --id FOO_BAR_ID</code></p>
  
  <p>and I'm getting: </p>
  
  <pre><code>Parameter validation failed:
  Missing required parameter in DistributionConfig: "CallerReference"
  Missing required parameter in DistributionConfig: "Origins"
  Missing required parameter in DistributionConfig: "DefaultCacheBehavior"
  Missing required parameter in DistributionConfig: "Comment"
  Missing required parameter in DistributionConfig: "Enabled"
  Unknown parameter in DistributionConfig: "ETag", must be one of: CallerReference, Aliases, DefaultRootObject, Origins, DefaultCacheBehavior, CacheBehaviors, CustomErrorResponses, Comment, Logging, PriceClass, Enabled, ViewerCertificate, Restrictions, WebACLId, HttpVersion, IsIPV6Enabled
  Unknown parameter in DistributionConfig: "DistributionConfig", must be one of: CallerReference, Aliases, DefaultRootObject, Origins, DefaultCacheBehavior, CacheBehaviors, CustomErrorResponses, Comment, Logging, PriceClass, Enabled, ViewerCertificate, Restrictions, WebACLId, HttpVersion, IsIPV6Enabled
  </code></pre>
  
  <p>What is the right way to reconfigure CF using awscli?</p>