@@ -248,10 +248,11 @@ instance ToJSON ObjectMetadata where
248248--
249249-- /See:/ 'bucketLifecycleRuleItemCondition' smart constructor.
250250data BucketLifecycleRuleItemCondition = BucketLifecycleRuleItemCondition'
251− { _blricAge :: !(Maybe (Textual Int32))
252− , _blricIsLive :: !(Maybe Bool)
253− , _blricNumNewerVersions :: !(Maybe (Textual Int32))
254− , _blricCreatedBefore :: !(Maybe Date')
251+ { _blricAge :: !(Maybe (Textual Int32))
252+ , _blricIsLive :: !(Maybe Bool)
253+ , _blricNumNewerVersions :: !(Maybe (Textual Int32))
254+ , _blricMatchesStorageClass :: !(Maybe [Text])
255+ , _blricCreatedBefore :: !(Maybe Date')
255256 } deriving (Eq,Show,Data,Typeable,Generic)
256257
257258-- | Creates a value of 'BucketLifecycleRuleItemCondition' with the minimum fields required to make a request.
@@ -264,6 +265,8 @@ data BucketLifecycleRuleItemCondition = BucketLifecycleRuleItemCondition'
264265--
265266-- * 'blricNumNewerVersions'
266267--
268+-- * 'blricMatchesStorageClass'
269+--
267270-- * 'blricCreatedBefore'
268271bucketLifecycleRuleItemCondition
269272 :: BucketLifecycleRuleItemCondition
@@ -272,6 +275,7 @@ bucketLifecycleRuleItemCondition =
272275 { _blricAge = Nothing
273276 , _blricIsLive = Nothing
274277 , _blricNumNewerVersions = Nothing
278+ , _blricMatchesStorageClass = Nothing
275279 , _blricCreatedBefore = Nothing
276280 }
277281
@@ -298,6 +302,16 @@ blricNumNewerVersions
298302 (\ s a -> s{_blricNumNewerVersions = a})
299303 . mapping _Coerce
300304
305+-- | Objects having any of the storage classes specified by this condition
306+-- will be matched. Values include MULTI_REGIONAL, REGIONAL, NEARLINE,
307+-- COLDLINE, STANDARD, and DURABLE_REDUCED_AVAILABILITY.
308+blricMatchesStorageClass :: Lens' BucketLifecycleRuleItemCondition [Text]
309+blricMatchesStorageClass
310+ = lens _blricMatchesStorageClass
311+ (\ s a -> s{_blricMatchesStorageClass = a})
312+ . _Default
313+ . _Coerce
314+
301315-- | A date in RFC 3339 format with only the date part (for instance,
302316-- \"2013-01-15\"). This condition is satisfied when an object is created
303317-- before midnight of the specified date in UTC.
@@ -315,6 +329,7 @@ instance FromJSON BucketLifecycleRuleItemCondition
315329 BucketLifecycleRuleItemCondition' <$>
316330 (o .:? "age") <*> (o .:? "isLive") <*>
317331 (o .:? "numNewerVersions")
332+ <*> (o .:? "matchesStorageClass" .!= mempty)
318333 <*> (o .:? "createdBefore"))
319334
320335instance ToJSON BucketLifecycleRuleItemCondition
@@ -325,6 +340,8 @@ instance ToJSON BucketLifecycleRuleItemCondition
325340 [("age" .=) <$> _blricAge,
326341 ("isLive" .=) <$> _blricIsLive,
327342 ("numNewerVersions" .=) <$> _blricNumNewerVersions,
343+ ("matchesStorageClass" .=) <$>
344+ _blricMatchesStorageClass,
328345 ("createdBefore" .=) <$> _blricCreatedBefore])
329346
330347-- | The bucket\'s lifecycle configuration. See lifecycle management for more
@@ -655,7 +672,7 @@ oacptProjectNumber
655672 = lens _oacptProjectNumber
656673 (\ s a -> s{_oacptProjectNumber = a})
657674
658−-- | The team. Can be owners, editors, or viewers.
675+-- | The team.
659676oacptTeam :: Lens' ObjectAccessControlProjectTeam (Maybe Text)
660677oacptTeam
661678 = lens _oacptTeam (\ s a -> s{_oacptTeam = a})
@@ -832,7 +849,9 @@ bucLocation
832849bucKind :: Lens' Bucket Text
833850bucKind = lens _bucKind (\ s a -> s{_bucKind = a})
834851
835−-- | The bucket\'s website configuration.
852+-- | The bucket\'s website configuration, controlling how the service behaves
853+-- when accessing bucket contents as a web site. See the Static Website
854+-- Examples for more information.
836855bucWebsite :: Lens' Bucket (Maybe BucketWebsite)
837856bucWebsite
838857 = lens _bucWebsite (\ s a -> s{_bucWebsite = a})
@@ -863,10 +882,13 @@ bucSelfLink
863882bucName :: Lens' Bucket (Maybe Text)
864883bucName = lens _bucName (\ s a -> s{_bucName = a})
865884
866−-- | The bucket\'s storage class. This defines how objects in the bucket are
867−-- stored and determines the SLA and the cost of storage. Values include
868−-- STANDARD, NEARLINE and DURABLE_REDUCED_AVAILABILITY. Defaults to
869−-- STANDARD. For more information, see storage classes.
885+-- | The bucket\'s default storage class, used whenever no storageClass is
886+-- specified for a newly-created object. This defines how objects in the
887+-- bucket are stored and determines the SLA and the cost of storage. Values
888+-- include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, and
889+-- DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the
890+-- bucket is created, it will default to STANDARD. For more information,
891+-- see storage classes.
870892bucStorageClass :: Lens' Bucket (Maybe Text)
871893bucStorageClass
872894 = lens _bucStorageClass
@@ -1532,7 +1554,9 @@ objContentLanguage
15321554 = lens _objContentLanguage
15331555 (\ s a -> s{_objContentLanguage = a})
15341556
1535−-- | Cache-Control directive for the object data.
1557+-- | Cache-Control directive for the object data. If omitted, and the object
1558+-- is accessible to all anonymous users, the default will be public,
1559+-- max-age=3600.
15361560objCacheControl :: Lens' Object (Maybe Text)
15371561objCacheControl
15381562 = lens _objCacheControl
@@ -1717,7 +1741,7 @@ bacptProjectNumber
17171741 = lens _bacptProjectNumber
17181742 (\ s a -> s{_bacptProjectNumber = a})
17191743
1720−-- | The team. Can be owners, editors, or viewers.
1744+-- | The team.
17211745bacptTeam :: Lens' BucketAccessControlProjectTeam (Maybe Text)
17221746bacptTeam
17231747 = lens _bacptTeam (\ s a -> s{_bacptTeam = a})
@@ -1742,7 +1766,7 @@ instance ToJSON BucketAccessControlProjectTeam where
17421766-- /See:/ 'objectAccessControls' smart constructor.
17431767data ObjectAccessControls = ObjectAccessControls'
17441768 { _oacKind :: !Text
1745− , _oacItems :: !(Maybe [JSONValue])
1769+ , _oacItems :: !(Maybe [ObjectAccessControl])
17461770 } deriving (Eq,Show,Data,Typeable,Generic)
17471771
17481772-- | Creates a value of 'ObjectAccessControls' with the minimum fields required to make a request.
@@ -1766,7 +1790,7 @@ oacKind :: Lens' ObjectAccessControls Text
17661790oacKind = lens _oacKind (\ s a -> s{_oacKind = a})
17671791
17681792-- | The list of items.
1769−oacItems :: Lens' ObjectAccessControls [JSONValue]
1793+oacItems :: Lens' ObjectAccessControls [ObjectAccessControl]
17701794oacItems
17711795 = lens _oacItems (\ s a -> s{_oacItems = a}) .
17721796 _Default
@@ -1787,7 +1811,9 @@ instance ToJSON ObjectAccessControls where
17871811 [Just ("kind" .= _oacKind),
17881812 ("items" .=) <$> _oacItems])
17891813
1790−-- | The bucket\'s website configuration.
1814+-- | The bucket\'s website configuration, controlling how the service behaves
1815+-- when accessing bucket contents as a web site. See the Static Website
1816+-- Examples for more information.
17911817--
17921818-- /See:/ 'bucketWebsite' smart constructor.
17931819data BucketWebsite = BucketWebsite'
@@ -1810,14 +1836,18 @@ bucketWebsite =
18101836 , _bwNotFoundPage = Nothing
18111837 }
18121838
1813−-- | Behaves as the bucket\'s directory index where missing objects are
1814−-- treated as potential directories.
1839+-- | If the requested object path is missing, the service will ensure the
1840+-- path has a trailing \'\/\', append this suffix, and attempt to retrieve
1841+-- the resulting object. This allows the creation of index.html objects to
1842+-- represent directory pages.
18151843bwMainPageSuffix :: Lens' BucketWebsite (Maybe Text)
18161844bwMainPageSuffix
18171845 = lens _bwMainPageSuffix
18181846 (\ s a -> s{_bwMainPageSuffix = a})
18191847
1820−-- | The custom object to return when a requested resource is not found.
1848+-- | If the requested object path is missing, and any mainPageSuffix object
1849+-- is missing, if applicable, the service will return the named object from
1850+-- this bucket as the content for a 404 Not Found result.
18211851bwNotFoundPage :: Lens' BucketWebsite (Maybe Text)
18221852bwNotFoundPage
18231853 = lens _bwNotFoundPage
@@ -1920,7 +1950,7 @@ bacaBucket :: Lens' BucketAccessControl (Maybe Text)
19201950bacaBucket
19211951 = lens _bacaBucket (\ s a -> s{_bacaBucket = a})
19221952
1923−-- | The access permission for the entity. Can be READER, WRITER, or OWNER.
1953+-- | The access permission for the entity.
19241954bacaRole :: Lens' BucketAccessControl (Maybe Text)
19251955bacaRole = lens _bacaRole (\ s a -> s{_bacaRole = a})
19261956
@@ -1990,23 +2020,35 @@ instance ToJSON BucketAccessControl where
19902020-- | The action to take.
19912021--
19922022-- /See:/ 'bucketLifecycleRuleItemAction' smart constructor.
1993−newtype BucketLifecycleRuleItemAction = BucketLifecycleRuleItemAction'
1994− { _blriaType :: Maybe Text
2023+data BucketLifecycleRuleItemAction = BucketLifecycleRuleItemAction'
2024+ { _blriaStorageClass :: !(Maybe Text)
2025+ , _blriaType :: !(Maybe Text)
19952026 } deriving (Eq,Show,Data,Typeable,Generic)
19962027
19972028-- | Creates a value of 'BucketLifecycleRuleItemAction' with the minimum fields required to make a request.
19982029--
19992030-- Use one of the following lenses to modify other fields as desired:
20002031--
2032+-- * 'blriaStorageClass'
2033+--
20012034-- * 'blriaType'
20022035bucketLifecycleRuleItemAction
20032036 :: BucketLifecycleRuleItemAction
20042037bucketLifecycleRuleItemAction =
20052038 BucketLifecycleRuleItemAction'
2006− { _blriaType = Nothing
2039+ { _blriaStorageClass = Nothing
2040+ , _blriaType = Nothing
20072041 }
20082042
2009−-- | Type of the action. Currently, only Delete is supported.
2043+-- | Target storage class. Required iff the type of the action is
2044+-- SetStorageClass.
2045+blriaStorageClass :: Lens' BucketLifecycleRuleItemAction (Maybe Text)
2046+blriaStorageClass
2047+ = lens _blriaStorageClass
2048+ (\ s a -> s{_blriaStorageClass = a})
2049+
2050+-- | Type of the action. Currently, only Delete and SetStorageClass are
2051+-- supported.
20102052blriaType :: Lens' BucketLifecycleRuleItemAction (Maybe Text)
20112053blriaType
20122054 = lens _blriaType (\ s a -> s{_blriaType = a})
@@ -2015,11 +2057,15 @@ instance FromJSON BucketLifecycleRuleItemAction where
20152057 parseJSON
20162058 = withObject "BucketLifecycleRuleItemAction"
20172059 (\ o ->
2018− BucketLifecycleRuleItemAction' <$> (o .:? "type"))
2060+ BucketLifecycleRuleItemAction' <$>
2061+ (o .:? "storageClass") <*> (o .:? "type"))
20192062
20202063instance ToJSON BucketLifecycleRuleItemAction where
20212064 toJSON BucketLifecycleRuleItemAction'{..}
2022− = object (catMaybes [("type" .=) <$> _blriaType])
2065+ = object
2066+ (catMaybes
2067+ [("storageClass" .=) <$> _blriaStorageClass,
2068+ ("type" .=) <$> _blriaType])
20232069
20242070-- | An access-control entry.
20252071--
@@ -2112,7 +2158,7 @@ oacaBucket :: Lens' ObjectAccessControl (Maybe Text)
21122158oacaBucket
21132159 = lens _oacaBucket (\ s a -> s{_oacaBucket = a})
21142160
2115−-- | The access permission for the entity. Can be READER or OWNER.
2161+-- | The access permission for the entity.
21162162oacaRole :: Lens' ObjectAccessControl (Maybe Text)
21172163oacaRole = lens _oacaRole (\ s a -> s{_oacaRole = a})
21182164
@@ -2121,7 +2167,7 @@ oacaSelfLink :: Lens' ObjectAccessControl (Maybe Text)
21212167oacaSelfLink
21222168 = lens _oacaSelfLink (\ s a -> s{_oacaSelfLink = a})
21232169
2124−-- | The name of the object.
2170+-- | The name of the object, if applied to an object.
21252171oacaObject :: Lens' ObjectAccessControl (Maybe Text)
21262172oacaObject
21272173 = lens _oacaObject (\ s a -> s{_oacaObject = a})
@@ -2147,7 +2193,7 @@ oacaEntity :: Lens' ObjectAccessControl (Maybe Text)
21472193oacaEntity
21482194 = lens _oacaEntity (\ s a -> s{_oacaEntity = a})
21492195
2150−-- | The content generation of the object.
2196+-- | The content generation of the object, if applied to an object.
21512197oacaGeneration :: Lens' ObjectAccessControl (Maybe Int64)
21522198oacaGeneration
21532199 = lens _oacaGeneration