diff --git a/amazonka-cloudfront.cabal b/amazonka-cloudfront.cabal
--- a/amazonka-cloudfront.cabal
+++ b/amazonka-cloudfront.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudfront
-version:               0.3.0
+version:               0.3.1
 synopsis:              Amazon CloudFront SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -69,5 +69,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.3.0.*
+          amazonka-core == 0.3.1.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/CreateCloudFrontOriginAccessIdentity.hs
@@ -111,7 +111,7 @@
 ccfoairLocation = lens _ccfoairLocation (\s a -> s { _ccfoairLocation = a })
 
 instance ToPath CreateCloudFrontOriginAccessIdentity where
-    toPath = const "/2014-10-21/origin-access-identity/cloudfront"
+    toPath = const "/2014-11-06/origin-access-identity/cloudfront"
 
 instance ToQuery CreateCloudFrontOriginAccessIdentity where
     toQuery = const mempty
diff --git a/gen/Network/AWS/CloudFront/CreateDistribution.hs b/gen/Network/AWS/CloudFront/CreateDistribution.hs
--- a/gen/Network/AWS/CloudFront/CreateDistribution.hs
+++ b/gen/Network/AWS/CloudFront/CreateDistribution.hs
@@ -108,7 +108,7 @@
 cdrLocation = lens _cdrLocation (\s a -> s { _cdrLocation = a })
 
 instance ToPath CreateDistribution where
-    toPath = const "/2014-10-21/distribution"
+    toPath = const "/2014-11-06/distribution"
 
 instance ToQuery CreateDistribution where
     toQuery = const mempty
diff --git a/gen/Network/AWS/CloudFront/CreateInvalidation.hs b/gen/Network/AWS/CloudFront/CreateInvalidation.hs
--- a/gen/Network/AWS/CloudFront/CreateInvalidation.hs
+++ b/gen/Network/AWS/CloudFront/CreateInvalidation.hs
@@ -109,7 +109,7 @@
 
 instance ToPath CreateInvalidation where
     toPath CreateInvalidation{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _ciDistributionId
         , "/invalidation"
         ]
diff --git a/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs b/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/CreateStreamingDistribution.hs
@@ -111,7 +111,7 @@
         (\s a -> s { _csdrStreamingDistribution = a })
 
 instance ToPath CreateStreamingDistribution where
-    toPath = const "/2014-10-21/streaming-distribution"
+    toPath = const "/2014-11-06/streaming-distribution"
 
 instance ToQuery CreateStreamingDistribution where
     toQuery = const mempty
diff --git a/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/DeleteCloudFrontOriginAccessIdentity.hs
@@ -84,7 +84,7 @@
 
 instance ToPath DeleteCloudFrontOriginAccessIdentity where
     toPath DeleteCloudFrontOriginAccessIdentity{..} = mconcat
-        [ "/2014-10-21/origin-access-identity/cloudfront/"
+        [ "/2014-11-06/origin-access-identity/cloudfront/"
         , toText _dcfoaiId
         ]
 
diff --git a/gen/Network/AWS/CloudFront/DeleteDistribution.hs b/gen/Network/AWS/CloudFront/DeleteDistribution.hs
--- a/gen/Network/AWS/CloudFront/DeleteDistribution.hs
+++ b/gen/Network/AWS/CloudFront/DeleteDistribution.hs
@@ -84,7 +84,7 @@
 
 instance ToPath DeleteDistribution where
     toPath DeleteDistribution{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _ddId
         ]
 
diff --git a/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs b/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/DeleteStreamingDistribution.hs
@@ -84,7 +84,7 @@
 
 instance ToPath DeleteStreamingDistribution where
     toPath DeleteStreamingDistribution{..} = mconcat
-        [ "/2014-10-21/streaming-distribution/"
+        [ "/2014-11-06/streaming-distribution/"
         , toText _dsdId
         ]
 
diff --git a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentity.hs
@@ -100,7 +100,7 @@
 
 instance ToPath GetCloudFrontOriginAccessIdentity where
     toPath GetCloudFrontOriginAccessIdentity{..} = mconcat
-        [ "/2014-10-21/origin-access-identity/cloudfront/"
+        [ "/2014-11-06/origin-access-identity/cloudfront/"
         , toText _gcfoaiId
         ]
 
diff --git a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs
--- a/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs
+++ b/gen/Network/AWS/CloudFront/GetCloudFrontOriginAccessIdentityConfig.hs
@@ -99,7 +99,7 @@
 
 instance ToPath GetCloudFrontOriginAccessIdentityConfig where
     toPath GetCloudFrontOriginAccessIdentityConfig{..} = mconcat
-        [ "/2014-10-21/origin-access-identity/cloudfront/"
+        [ "/2014-11-06/origin-access-identity/cloudfront/"
         , toText _gcfoaicId
         , "/config"
         ]
diff --git a/gen/Network/AWS/CloudFront/GetDistribution.hs b/gen/Network/AWS/CloudFront/GetDistribution.hs
--- a/gen/Network/AWS/CloudFront/GetDistribution.hs
+++ b/gen/Network/AWS/CloudFront/GetDistribution.hs
@@ -98,7 +98,7 @@
 
 instance ToPath GetDistribution where
     toPath GetDistribution{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _gdId
         ]
 
diff --git a/gen/Network/AWS/CloudFront/GetDistributionConfig.hs b/gen/Network/AWS/CloudFront/GetDistributionConfig.hs
--- a/gen/Network/AWS/CloudFront/GetDistributionConfig.hs
+++ b/gen/Network/AWS/CloudFront/GetDistributionConfig.hs
@@ -98,7 +98,7 @@
 
 instance ToPath GetDistributionConfig where
     toPath GetDistributionConfig{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _gdcId
         , "/config"
         ]
diff --git a/gen/Network/AWS/CloudFront/GetInvalidation.hs b/gen/Network/AWS/CloudFront/GetInvalidation.hs
--- a/gen/Network/AWS/CloudFront/GetInvalidation.hs
+++ b/gen/Network/AWS/CloudFront/GetInvalidation.hs
@@ -98,7 +98,7 @@
 
 instance ToPath GetInvalidation where
     toPath GetInvalidation{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _giDistributionId
         , "/invalidation/"
         , toText _giId
diff --git a/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs b/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/GetStreamingDistribution.hs
@@ -100,7 +100,7 @@
 
 instance ToPath GetStreamingDistribution where
     toPath GetStreamingDistribution{..} = mconcat
-        [ "/2014-10-21/streaming-distribution/"
+        [ "/2014-11-06/streaming-distribution/"
         , toText _gsdId
         ]
 
diff --git a/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs b/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs
--- a/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs
+++ b/gen/Network/AWS/CloudFront/GetStreamingDistributionConfig.hs
@@ -99,7 +99,7 @@
 
 instance ToPath GetStreamingDistributionConfig where
     toPath GetStreamingDistributionConfig{..} = mconcat
-        [ "/2014-10-21/streaming-distribution/"
+        [ "/2014-11-06/streaming-distribution/"
         , toText _gsdcId
         , "/config"
         ]
diff --git a/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs b/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs
--- a/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs
+++ b/gen/Network/AWS/CloudFront/ListCloudFrontOriginAccessIdentities.hs
@@ -102,7 +102,7 @@
         (\s a -> s { _lcfoairCloudFrontOriginAccessIdentityList = a })
 
 instance ToPath ListCloudFrontOriginAccessIdentities where
-    toPath = const "/2014-10-21/origin-access-identity/cloudfront"
+    toPath = const "/2014-11-06/origin-access-identity/cloudfront"
 
 instance ToQuery ListCloudFrontOriginAccessIdentities where
     toQuery ListCloudFrontOriginAccessIdentities{..} = mconcat
diff --git a/gen/Network/AWS/CloudFront/ListDistributions.hs b/gen/Network/AWS/CloudFront/ListDistributions.hs
--- a/gen/Network/AWS/CloudFront/ListDistributions.hs
+++ b/gen/Network/AWS/CloudFront/ListDistributions.hs
@@ -101,7 +101,7 @@
     lens _ldrDistributionList (\s a -> s { _ldrDistributionList = a })
 
 instance ToPath ListDistributions where
-    toPath = const "/2014-10-21/distribution"
+    toPath = const "/2014-11-06/distribution"
 
 instance ToQuery ListDistributions where
     toQuery ListDistributions{..} = mconcat
diff --git a/gen/Network/AWS/CloudFront/ListInvalidations.hs b/gen/Network/AWS/CloudFront/ListInvalidations.hs
--- a/gen/Network/AWS/CloudFront/ListInvalidations.hs
+++ b/gen/Network/AWS/CloudFront/ListInvalidations.hs
@@ -114,7 +114,7 @@
 
 instance ToPath ListInvalidations where
     toPath ListInvalidations{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _liDistributionId
         , "/invalidation"
         ]
diff --git a/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs b/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs
--- a/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs
+++ b/gen/Network/AWS/CloudFront/ListStreamingDistributions.hs
@@ -102,7 +102,7 @@
         (\s a -> s { _lsdrStreamingDistributionList = a })
 
 instance ToPath ListStreamingDistributions where
-    toPath = const "/2014-10-21/streaming-distribution"
+    toPath = const "/2014-11-06/streaming-distribution"
 
 instance ToQuery ListStreamingDistributions where
     toQuery ListStreamingDistributions{..} = mconcat
diff --git a/gen/Network/AWS/CloudFront/Types.hs b/gen/Network/AWS/CloudFront/Types.hs
--- a/gen/Network/AWS/CloudFront/Types.hs
+++ b/gen/Network/AWS/CloudFront/Types.hs
@@ -72,6 +72,7 @@
     , oCustomOriginConfig
     , oDomainName
     , oId
+    , oOriginPath
     , oS3OriginConfig
 
     -- * ViewerProtocolPolicy
@@ -410,7 +411,7 @@
 import Network.AWS.Signing
 import qualified GHC.Exts
 
--- | Version @2014-10-21@ of the Amazon CloudFront service.
+-- | Version @2014-11-06@ of the Amazon CloudFront service.
 data CloudFront
 
 instance AWSService CloudFront where
@@ -423,7 +424,7 @@
         service' = Service
             { _svcAbbrev       = "CloudFront"
             , _svcPrefix       = "cloudfront"
-            , _svcVersion      = "2014-10-21"
+            , _svcVersion      = "2014-11-06"
             , _svcTargetPrefix = Nothing
             , _svcJSONVersion  = Nothing
             , _svcHandle       = handle
@@ -452,7 +453,7 @@
             | otherwise = False
 
 ns :: Text
-ns = "http://cloudfront.amazonaws.com/doc/2014-10-21/"
+ns = "http://cloudfront.amazonaws.com/doc/2014-11-06/"
 {-# INLINE ns #-}
 
 data CloudFrontOriginAccessIdentityList = CloudFrontOriginAccessIdentityList
@@ -749,6 +750,7 @@
     { _oCustomOriginConfig :: Maybe CustomOriginConfig
     , _oDomainName         :: Text
     , _oId                 :: Text
+    , _oOriginPath         :: Maybe Text
     , _oS3OriginConfig     :: Maybe S3OriginConfig
     } deriving (Eq, Read, Show)
 
@@ -762,6 +764,8 @@
 --
 -- * 'oId' @::@ 'Text'
 --
+-- * 'oOriginPath' @::@ 'Maybe' 'Text'
+--
 -- * 'oS3OriginConfig' @::@ 'Maybe' 'S3OriginConfig'
 --
 origin :: Text -- ^ 'oId'
@@ -770,6 +774,7 @@
 origin p1 p2 = Origin
     { _oId                 = p1
     , _oDomainName         = p2
+    , _oOriginPath         = Nothing
     , _oS3OriginConfig     = Nothing
     , _oCustomOriginConfig = Nothing
     }
@@ -795,6 +800,13 @@
 oId :: Lens' Origin Text
 oId = lens _oId (\s a -> s { _oId = a })
 
+-- | An optional element that causes CloudFront to request your content from a
+-- directory in your Amazon S3 bucket or your custom origin. When you include
+-- the OriginPath element, specify the directory name, beginning with a /.
+-- CloudFront appends the directory name to the value of DomainName.
+oOriginPath :: Lens' Origin (Maybe Text)
+oOriginPath = lens _oOriginPath (\s a -> s { _oOriginPath = a })
+
 -- | A complex type that contains information about the Amazon S3 origin. If the
 -- origin is a custom origin, use the CustomOriginConfig element instead.
 oS3OriginConfig :: Lens' Origin (Maybe S3OriginConfig)
@@ -805,12 +817,14 @@
         <$> x .@? "CustomOriginConfig"
         <*> x .@  "DomainName"
         <*> x .@  "Id"
+        <*> x .@? "OriginPath"
         <*> x .@? "S3OriginConfig"
 
 instance ToXML Origin where
     toXML Origin{..} = nodes "Origin"
         [ "Id"                 =@ _oId
         , "DomainName"         =@ _oDomainName
+        , "OriginPath"         =@ _oOriginPath
         , "S3OriginConfig"     =@ _oS3OriginConfig
         , "CustomOriginConfig" =@ _oCustomOriginConfig
         ]
@@ -937,12 +951,12 @@
         ]
 
 data StreamingDistributionConfig = StreamingDistributionConfig
-    { _sdcAliases         :: Aliases
+    { _sdcAliases         :: Maybe Aliases
     , _sdcCallerReference :: Text
     , _sdcComment         :: Text
     , _sdcEnabled         :: Bool
-    , _sdcLogging         :: StreamingLoggingConfig
-    , _sdcPriceClass      :: PriceClass
+    , _sdcLogging         :: Maybe StreamingLoggingConfig
+    , _sdcPriceClass      :: Maybe PriceClass
     , _sdcS3Origin        :: S3Origin
     , _sdcTrustedSigners  :: TrustedSigners
     } deriving (Eq, Read, Show)
@@ -951,7 +965,7 @@
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'sdcAliases' @::@ 'Aliases'
+-- * 'sdcAliases' @::@ 'Maybe' 'Aliases'
 --
 -- * 'sdcCallerReference' @::@ 'Text'
 --
@@ -959,9 +973,9 @@
 --
 -- * 'sdcEnabled' @::@ 'Bool'
 --
--- * 'sdcLogging' @::@ 'StreamingLoggingConfig'
+-- * 'sdcLogging' @::@ 'Maybe' 'StreamingLoggingConfig'
 --
--- * 'sdcPriceClass' @::@ 'PriceClass'
+-- * 'sdcPriceClass' @::@ 'Maybe' 'PriceClass'
 --
 -- * 'sdcS3Origin' @::@ 'S3Origin'
 --
@@ -969,27 +983,24 @@
 --
 streamingDistributionConfig :: Text -- ^ 'sdcCallerReference'
                             -> S3Origin -- ^ 'sdcS3Origin'
-                            -> Aliases -- ^ 'sdcAliases'
                             -> Text -- ^ 'sdcComment'
-                            -> StreamingLoggingConfig -- ^ 'sdcLogging'
                             -> TrustedSigners -- ^ 'sdcTrustedSigners'
-                            -> PriceClass -- ^ 'sdcPriceClass'
                             -> Bool -- ^ 'sdcEnabled'
                             -> StreamingDistributionConfig
-streamingDistributionConfig p1 p2 p3 p4 p5 p6 p7 p8 = StreamingDistributionConfig
+streamingDistributionConfig p1 p2 p3 p4 p5 = StreamingDistributionConfig
     { _sdcCallerReference = p1
     , _sdcS3Origin        = p2
-    , _sdcAliases         = p3
-    , _sdcComment         = p4
-    , _sdcLogging         = p5
-    , _sdcTrustedSigners  = p6
-    , _sdcPriceClass      = p7
-    , _sdcEnabled         = p8
+    , _sdcComment         = p3
+    , _sdcTrustedSigners  = p4
+    , _sdcEnabled         = p5
+    , _sdcAliases         = Nothing
+    , _sdcLogging         = Nothing
+    , _sdcPriceClass      = Nothing
     }
 
 -- | A complex type that contains information about CNAMEs (alternate domain
 -- names), if any, for this streaming distribution.
-sdcAliases :: Lens' StreamingDistributionConfig Aliases
+sdcAliases :: Lens' StreamingDistributionConfig (Maybe Aliases)
 sdcAliases = lens _sdcAliases (\s a -> s { _sdcAliases = a })
 
 -- | A unique number that ensures the request can't be replayed. If the
@@ -1018,12 +1029,12 @@
 
 -- | A complex type that controls whether access logs are written for the
 -- streaming distribution.
-sdcLogging :: Lens' StreamingDistributionConfig StreamingLoggingConfig
+sdcLogging :: Lens' StreamingDistributionConfig (Maybe StreamingLoggingConfig)
 sdcLogging = lens _sdcLogging (\s a -> s { _sdcLogging = a })
 
 -- | A complex type that contains information about price class for this streaming
 -- distribution.
-sdcPriceClass :: Lens' StreamingDistributionConfig PriceClass
+sdcPriceClass :: Lens' StreamingDistributionConfig (Maybe PriceClass)
 sdcPriceClass = lens _sdcPriceClass (\s a -> s { _sdcPriceClass = a })
 
 -- | A complex type that contains information about the Amazon S3 bucket from
@@ -1049,12 +1060,12 @@
 
 instance FromXML StreamingDistributionConfig where
     parseXML x = StreamingDistributionConfig
-        <$> x .@  "Aliases"
+        <$> x .@? "Aliases"
         <*> x .@  "CallerReference"
         <*> x .@  "Comment"
         <*> x .@  "Enabled"
-        <*> x .@  "Logging"
-        <*> x .@  "PriceClass"
+        <*> x .@? "Logging"
+        <*> x .@? "PriceClass"
         <*> x .@  "S3Origin"
         <*> x .@  "TrustedSigners"
 
@@ -1701,17 +1712,17 @@
         ]
 
 data DistributionConfig = DistributionConfig
-    { _dcAliases              :: Aliases
-    , _dcCacheBehaviors       :: CacheBehaviors
+    { _dcAliases              :: Maybe Aliases
+    , _dcCacheBehaviors       :: Maybe CacheBehaviors
     , _dcCallerReference      :: Text
     , _dcComment              :: Text
     , _dcCustomErrorResponses :: Maybe CustomErrorResponses
     , _dcDefaultCacheBehavior :: DefaultCacheBehavior
-    , _dcDefaultRootObject    :: Text
+    , _dcDefaultRootObject    :: Maybe Text
     , _dcEnabled              :: Bool
-    , _dcLogging              :: LoggingConfig
+    , _dcLogging              :: Maybe LoggingConfig
     , _dcOrigins              :: Origins
-    , _dcPriceClass           :: PriceClass
+    , _dcPriceClass           :: Maybe PriceClass
     , _dcRestrictions         :: Maybe Restrictions
     , _dcViewerCertificate    :: Maybe ViewerCertificate
     } deriving (Eq, Read, Show)
@@ -1720,9 +1731,9 @@
 --
 -- The fields accessible through corresponding lenses are:
 --
--- * 'dcAliases' @::@ 'Aliases'
+-- * 'dcAliases' @::@ 'Maybe' 'Aliases'
 --
--- * 'dcCacheBehaviors' @::@ 'CacheBehaviors'
+-- * 'dcCacheBehaviors' @::@ 'Maybe' 'CacheBehaviors'
 --
 -- * 'dcCallerReference' @::@ 'Text'
 --
@@ -1732,54 +1743,49 @@
 --
 -- * 'dcDefaultCacheBehavior' @::@ 'DefaultCacheBehavior'
 --
--- * 'dcDefaultRootObject' @::@ 'Text'
+-- * 'dcDefaultRootObject' @::@ 'Maybe' 'Text'
 --
 -- * 'dcEnabled' @::@ 'Bool'
 --
--- * 'dcLogging' @::@ 'LoggingConfig'
+-- * 'dcLogging' @::@ 'Maybe' 'LoggingConfig'
 --
 -- * 'dcOrigins' @::@ 'Origins'
 --
--- * 'dcPriceClass' @::@ 'PriceClass'
+-- * 'dcPriceClass' @::@ 'Maybe' 'PriceClass'
 --
 -- * 'dcRestrictions' @::@ 'Maybe' 'Restrictions'
 --
 -- * 'dcViewerCertificate' @::@ 'Maybe' 'ViewerCertificate'
 --
 distributionConfig :: Text -- ^ 'dcCallerReference'
-                   -> Aliases -- ^ 'dcAliases'
-                   -> Text -- ^ 'dcDefaultRootObject'
                    -> Origins -- ^ 'dcOrigins'
                    -> DefaultCacheBehavior -- ^ 'dcDefaultCacheBehavior'
-                   -> CacheBehaviors -- ^ 'dcCacheBehaviors'
                    -> Text -- ^ 'dcComment'
-                   -> LoggingConfig -- ^ 'dcLogging'
-                   -> PriceClass -- ^ 'dcPriceClass'
                    -> Bool -- ^ 'dcEnabled'
                    -> DistributionConfig
-distributionConfig p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 = DistributionConfig
+distributionConfig p1 p2 p3 p4 p5 = DistributionConfig
     { _dcCallerReference      = p1
-    , _dcAliases              = p2
-    , _dcDefaultRootObject    = p3
-    , _dcOrigins              = p4
-    , _dcDefaultCacheBehavior = p5
-    , _dcCacheBehaviors       = p6
-    , _dcComment              = p7
-    , _dcLogging              = p8
-    , _dcPriceClass           = p9
-    , _dcEnabled              = p10
+    , _dcOrigins              = p2
+    , _dcDefaultCacheBehavior = p3
+    , _dcComment              = p4
+    , _dcEnabled              = p5
+    , _dcAliases              = Nothing
+    , _dcDefaultRootObject    = Nothing
+    , _dcCacheBehaviors       = Nothing
     , _dcCustomErrorResponses = Nothing
+    , _dcLogging              = Nothing
+    , _dcPriceClass           = Nothing
     , _dcViewerCertificate    = Nothing
     , _dcRestrictions         = Nothing
     }
 
 -- | A complex type that contains information about CNAMEs (alternate domain
 -- names), if any, for this distribution.
-dcAliases :: Lens' DistributionConfig Aliases
+dcAliases :: Lens' DistributionConfig (Maybe Aliases)
 dcAliases = lens _dcAliases (\s a -> s { _dcAliases = a })
 
 -- | A complex type that contains zero or more CacheBehavior elements.
-dcCacheBehaviors :: Lens' DistributionConfig CacheBehaviors
+dcCacheBehaviors :: Lens' DistributionConfig (Maybe CacheBehaviors)
 dcCacheBehaviors = lens _dcCacheBehaviors (\s a -> s { _dcCacheBehaviors = a })
 
 -- | A unique number that ensures the request can't be replayed. If the
@@ -1823,7 +1829,7 @@
 -- distribution, update the distribution configuration and include an empty
 -- DefaultRootObject element. To replace the default root object, update the
 -- distribution configuration and specify the new object.
-dcDefaultRootObject :: Lens' DistributionConfig Text
+dcDefaultRootObject :: Lens' DistributionConfig (Maybe Text)
 dcDefaultRootObject =
     lens _dcDefaultRootObject (\s a -> s { _dcDefaultRootObject = a })
 
@@ -1833,7 +1839,7 @@
 
 -- | A complex type that controls whether access logs are written for the
 -- distribution.
-dcLogging :: Lens' DistributionConfig LoggingConfig
+dcLogging :: Lens' DistributionConfig (Maybe LoggingConfig)
 dcLogging = lens _dcLogging (\s a -> s { _dcLogging = a })
 
 -- | A complex type that contains information about origins for this distribution.
@@ -1842,7 +1848,7 @@
 
 -- | A complex type that contains information about price class for this
 -- distribution.
-dcPriceClass :: Lens' DistributionConfig PriceClass
+dcPriceClass :: Lens' DistributionConfig (Maybe PriceClass)
 dcPriceClass = lens _dcPriceClass (\s a -> s { _dcPriceClass = a })
 
 dcRestrictions :: Lens' DistributionConfig (Maybe Restrictions)
@@ -1854,17 +1860,17 @@
 
 instance FromXML DistributionConfig where
     parseXML x = DistributionConfig
-        <$> x .@  "Aliases"
-        <*> x .@  "CacheBehaviors"
+        <$> x .@? "Aliases"
+        <*> x .@? "CacheBehaviors"
         <*> x .@  "CallerReference"
         <*> x .@  "Comment"
         <*> x .@? "CustomErrorResponses"
         <*> x .@  "DefaultCacheBehavior"
-        <*> x .@  "DefaultRootObject"
+        <*> x .@? "DefaultRootObject"
         <*> x .@  "Enabled"
-        <*> x .@  "Logging"
+        <*> x .@? "Logging"
         <*> x .@  "Origins"
-        <*> x .@  "PriceClass"
+        <*> x .@? "PriceClass"
         <*> x .@? "Restrictions"
         <*> x .@? "ViewerCertificate"
 
diff --git a/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs b/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs
--- a/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs
+++ b/gen/Network/AWS/CloudFront/UpdateCloudFrontOriginAccessIdentity.hs
@@ -121,7 +121,7 @@
 
 instance ToPath UpdateCloudFrontOriginAccessIdentity where
     toPath UpdateCloudFrontOriginAccessIdentity{..} = mconcat
-        [ "/2014-10-21/origin-access-identity/cloudfront/"
+        [ "/2014-11-06/origin-access-identity/cloudfront/"
         , toText _ucfoaiId
         , "/config"
         ]
@@ -135,9 +135,7 @@
         ]
 
 instance ToXMLRoot UpdateCloudFrontOriginAccessIdentity where
-    toXMLRoot UpdateCloudFrontOriginAccessIdentity{..} = namespaced ns "UpdateCloudFrontOriginAccessIdentity"
-        [ "CloudFrontOriginAccessIdentityConfig" =@ _ucfoaiCloudFrontOriginAccessIdentityConfig
-        ]
+    toXMLRoot = extractRoot ns . toXML . _ucfoaiCloudFrontOriginAccessIdentityConfig
 
 instance ToXML UpdateCloudFrontOriginAccessIdentity
 
diff --git a/gen/Network/AWS/CloudFront/UpdateDistribution.hs b/gen/Network/AWS/CloudFront/UpdateDistribution.hs
--- a/gen/Network/AWS/CloudFront/UpdateDistribution.hs
+++ b/gen/Network/AWS/CloudFront/UpdateDistribution.hs
@@ -118,7 +118,7 @@
 
 instance ToPath UpdateDistribution where
     toPath UpdateDistribution{..} = mconcat
-        [ "/2014-10-21/distribution/"
+        [ "/2014-11-06/distribution/"
         , toText _udId
         , "/config"
         ]
@@ -132,9 +132,7 @@
         ]
 
 instance ToXMLRoot UpdateDistribution where
-    toXMLRoot UpdateDistribution{..} = namespaced ns "UpdateDistribution"
-        [ "DistributionConfig" =@ _udDistributionConfig
-        ]
+    toXMLRoot = extractRoot ns . toXML . _udDistributionConfig
 
 instance ToXML UpdateDistribution
 
diff --git a/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs b/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs
--- a/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs
+++ b/gen/Network/AWS/CloudFront/UpdateStreamingDistribution.hs
@@ -121,7 +121,7 @@
 
 instance ToPath UpdateStreamingDistribution where
     toPath UpdateStreamingDistribution{..} = mconcat
-        [ "/2014-10-21/streaming-distribution/"
+        [ "/2014-11-06/streaming-distribution/"
         , toText _usdId
         , "/config"
         ]
@@ -135,9 +135,7 @@
         ]
 
 instance ToXMLRoot UpdateStreamingDistribution where
-    toXMLRoot UpdateStreamingDistribution{..} = namespaced ns "UpdateStreamingDistribution"
-        [ "StreamingDistributionConfig" =@ _usdStreamingDistributionConfig
-        ]
+    toXMLRoot = extractRoot ns . toXML . _usdStreamingDistributionConfig
 
 instance ToXML UpdateStreamingDistribution
 
