diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.0.1`
+`0.1.0`
 
 
 ## Description
@@ -18,9 +18,9 @@
 
 ## Contribute
 
-For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).
+For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).
 
-> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.
+> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.
 
 
 ## Licence
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Delete.hs b/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Delete.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Delete.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Delete.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Delete
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -55,7 +55,7 @@
 -- | Deletes the specified operation resource.
 --
 -- /See:/ 'globalAccountsOperationsDelete' smart constructor.
-data GlobalAccountsOperationsDelete = GlobalAccountsOperationsDelete
+data GlobalAccountsOperationsDelete = GlobalAccountsOperationsDelete'
     { _gaodProject   :: !Text
     , _gaodOperation :: !Text
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -72,7 +72,7 @@
     -> Text -- ^ 'gaodOperation'
     -> GlobalAccountsOperationsDelete
 globalAccountsOperationsDelete pGaodProject_ pGaodOperation_ =
-    GlobalAccountsOperationsDelete
+    GlobalAccountsOperationsDelete'
     { _gaodProject = pGaodProject_
     , _gaodOperation = pGaodOperation_
     }
@@ -91,7 +91,10 @@
 instance GoogleRequest GlobalAccountsOperationsDelete
          where
         type Rs GlobalAccountsOperationsDelete = ()
-        requestClient GlobalAccountsOperationsDelete{..}
+        type Scopes GlobalAccountsOperationsDelete =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient GlobalAccountsOperationsDelete'{..}
           = go _gaodProject _gaodOperation (Just AltJSON)
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Get.hs b/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Get.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Get.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/Get.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.Get
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -55,7 +55,7 @@
 -- | Retrieves the specified operation resource.
 --
 -- /See:/ 'globalAccountsOperationsGet' smart constructor.
-data GlobalAccountsOperationsGet = GlobalAccountsOperationsGet
+data GlobalAccountsOperationsGet = GlobalAccountsOperationsGet'
     { _gaogProject   :: !Text
     , _gaogOperation :: !Text
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -72,7 +72,7 @@
     -> Text -- ^ 'gaogOperation'
     -> GlobalAccountsOperationsGet
 globalAccountsOperationsGet pGaogProject_ pGaogOperation_ =
-    GlobalAccountsOperationsGet
+    GlobalAccountsOperationsGet'
     { _gaogProject = pGaogProject_
     , _gaogOperation = pGaogOperation_
     }
@@ -91,7 +91,12 @@
 instance GoogleRequest GlobalAccountsOperationsGet
          where
         type Rs GlobalAccountsOperationsGet = Operation
-        requestClient GlobalAccountsOperationsGet{..}
+        type Scopes GlobalAccountsOperationsGet =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient GlobalAccountsOperationsGet'{..}
           = go _gaogProject _gaogOperation (Just AltJSON)
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/List.hs b/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/List.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/List.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/GlobalAccountsOperations/List.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.GlobalAccountsOperations.List
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -63,7 +63,7 @@
 -- project.
 --
 -- /See:/ 'globalAccountsOperationsList' smart constructor.
-data GlobalAccountsOperationsList = GlobalAccountsOperationsList
+data GlobalAccountsOperationsList = GlobalAccountsOperationsList'
     { _gaolOrderBy    :: !(Maybe Text)
     , _gaolProject    :: !Text
     , _gaolFilter     :: !(Maybe Text)
@@ -88,7 +88,7 @@
     :: Text -- ^ 'gaolProject'
     -> GlobalAccountsOperationsList
 globalAccountsOperationsList pGaolProject_ =
-    GlobalAccountsOperationsList
+    GlobalAccountsOperationsList'
     { _gaolOrderBy = Nothing
     , _gaolProject = pGaolProject_
     , _gaolFilter = Nothing
@@ -114,29 +114,42 @@
   = lens _gaolProject (\ s a -> s{_gaolProject = a})
 
 -- | Sets a filter expression for filtering listed resources, in the form
--- filter={expression}. Your {expression} must be in the format: FIELD_NAME
--- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the
+-- filter={expression}. Your {expression} must be in the format: field_name
+-- comparison_string literal_string. The field_name is the name of the
 -- field you want to compare. Only atomic field types are supported
--- (string, number, boolean). The COMPARISON_STRING must be either eq
--- (equals) or ne (not equals). The LITERAL_STRING is the string value to
--- filter to. The literal value must be valid for the type of field
--- (string, number, boolean). For string fields, the literal value is
--- interpreted as a regular expression using RE2 syntax. The literal value
--- must match the entire field. For example, filter=name ne
--- example-instance.
+-- (string, number, boolean). The comparison_string must be either eq
+-- (equals) or ne (not equals). The literal_string is the string value to
+-- filter to. The literal value must be valid for the type of field you are
+-- filtering by (string, number, boolean). For string fields, the literal
+-- value is interpreted as a regular expression using RE2 syntax. The
+-- literal value must match the entire field. For example, to filter for
+-- instances that do not have a name of example-instance, you would use
+-- filter=name ne example-instance. Compute Engine Beta API Only: If you
+-- use filtering in the Beta API, you can also filter on nested fields. For
+-- example, you could filter on instances that have set the
+-- scheduling.automaticRestart field to true. In particular, use filtering
+-- on nested fields to take advantage of instance labels to organize and
+-- filter results based on label values. The Beta API also supports
+-- filtering on multiple expressions by providing each separate expression
+-- within parentheses. For example, (scheduling.automaticRestart eq true)
+-- (zone eq us-central1-f). Multiple expressions are treated as AND
+-- expressions, meaning that resources must match all expressions to pass
+-- the filters.
 gaolFilter :: Lens' GlobalAccountsOperationsList (Maybe Text)
 gaolFilter
   = lens _gaolFilter (\ s a -> s{_gaolFilter = a})
 
--- | Specifies a page token to use. Use this parameter if you want to list
--- the next page of results. Set pageToken to the nextPageToken returned by
--- a previous list request.
+-- | Specifies a page token to use. Set pageToken to the nextPageToken
+-- returned by a previous list request to get the next page of results.
 gaolPageToken :: Lens' GlobalAccountsOperationsList (Maybe Text)
 gaolPageToken
   = lens _gaolPageToken
       (\ s a -> s{_gaolPageToken = a})
 
--- | Maximum count of results to be returned.
+-- | The maximum number of results per page that should be returned. If the
+-- number of available results is larger than maxResults, Compute Engine
+-- returns a nextPageToken that can be used to get the next page of results
+-- in subsequent list requests.
 gaolMaxResults :: Lens' GlobalAccountsOperationsList Word32
 gaolMaxResults
   = lens _gaolMaxResults
@@ -146,7 +159,12 @@
 instance GoogleRequest GlobalAccountsOperationsList
          where
         type Rs GlobalAccountsOperationsList = OperationList
-        requestClient GlobalAccountsOperationsList{..}
+        type Scopes GlobalAccountsOperationsList =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient GlobalAccountsOperationsList'{..}
           = go _gaolProject _gaolOrderBy _gaolFilter
               _gaolPageToken
               (Just _gaolMaxResults)
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Groups/AddMember.hs b/gen/Network/Google/Resource/CloudUserAccounts/Groups/AddMember.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Groups/AddMember.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Groups/AddMember.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Groups.AddMember
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -59,7 +59,7 @@
 -- | Adds users to the specified group.
 --
 -- /See:/ 'groupsAddMember' smart constructor.
-data GroupsAddMember = GroupsAddMember
+data GroupsAddMember = GroupsAddMember'
     { _gamProject   :: !Text
     , _gamPayload   :: !GroupsAddMemberRequest
     , _gamGroupName :: !Text
@@ -80,7 +80,7 @@
     -> Text -- ^ 'gamGroupName'
     -> GroupsAddMember
 groupsAddMember pGamProject_ pGamPayload_ pGamGroupName_ =
-    GroupsAddMember
+    GroupsAddMember'
     { _gamProject = pGamProject_
     , _gamPayload = pGamPayload_
     , _gamGroupName = pGamGroupName_
@@ -103,7 +103,10 @@
 
 instance GoogleRequest GroupsAddMember where
         type Rs GroupsAddMember = Operation
-        requestClient GroupsAddMember{..}
+        type Scopes GroupsAddMember =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient GroupsAddMember'{..}
           = go _gamProject _gamGroupName (Just AltJSON)
               _gamPayload
               userAccountsService
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Groups/Delete.hs b/gen/Network/Google/Resource/CloudUserAccounts/Groups/Delete.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Groups/Delete.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Groups/Delete.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Groups.Delete
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -55,7 +55,7 @@
 -- | Deletes the specified Group resource.
 --
 -- /See:/ 'groupsDelete' smart constructor.
-data GroupsDelete = GroupsDelete
+data GroupsDelete = GroupsDelete'
     { _gdProject   :: !Text
     , _gdGroupName :: !Text
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -72,7 +72,7 @@
     -> Text -- ^ 'gdGroupName'
     -> GroupsDelete
 groupsDelete pGdProject_ pGdGroupName_ =
-    GroupsDelete
+    GroupsDelete'
     { _gdProject = pGdProject_
     , _gdGroupName = pGdGroupName_
     }
@@ -89,7 +89,10 @@
 
 instance GoogleRequest GroupsDelete where
         type Rs GroupsDelete = Operation
-        requestClient GroupsDelete{..}
+        type Scopes GroupsDelete =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient GroupsDelete'{..}
           = go _gdProject _gdGroupName (Just AltJSON)
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Groups/Get.hs b/gen/Network/Google/Resource/CloudUserAccounts/Groups/Get.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Groups/Get.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Groups/Get.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Groups.Get
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -55,7 +55,7 @@
 -- | Returns the specified Group resource.
 --
 -- /See:/ 'groupsGet' smart constructor.
-data GroupsGet = GroupsGet
+data GroupsGet = GroupsGet'
     { _ggProject   :: !Text
     , _ggGroupName :: !Text
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -72,7 +72,7 @@
     -> Text -- ^ 'ggGroupName'
     -> GroupsGet
 groupsGet pGgProject_ pGgGroupName_ =
-    GroupsGet
+    GroupsGet'
     { _ggProject = pGgProject_
     , _ggGroupName = pGgGroupName_
     }
@@ -89,7 +89,12 @@
 
 instance GoogleRequest GroupsGet where
         type Rs GroupsGet = Group
-        requestClient GroupsGet{..}
+        type Scopes GroupsGet =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient GroupsGet'{..}
           = go _ggProject _ggGroupName (Just AltJSON)
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Groups/Insert.hs b/gen/Network/Google/Resource/CloudUserAccounts/Groups/Insert.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Groups/Insert.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Groups/Insert.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Groups.Insert
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -57,7 +57,7 @@
 -- included in the request.
 --
 -- /See:/ 'groupsInsert' smart constructor.
-data GroupsInsert = GroupsInsert
+data GroupsInsert = GroupsInsert'
     { _giProject :: !Text
     , _giPayload :: !Group
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -74,7 +74,7 @@
     -> Group -- ^ 'giPayload'
     -> GroupsInsert
 groupsInsert pGiProject_ pGiPayload_ =
-    GroupsInsert
+    GroupsInsert'
     { _giProject = pGiProject_
     , _giPayload = pGiPayload_
     }
@@ -91,7 +91,10 @@
 
 instance GoogleRequest GroupsInsert where
         type Rs GroupsInsert = Operation
-        requestClient GroupsInsert{..}
+        type Scopes GroupsInsert =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient GroupsInsert'{..}
           = go _giProject (Just AltJSON) _giPayload
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Groups/List.hs b/gen/Network/Google/Resource/CloudUserAccounts/Groups/List.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Groups/List.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Groups/List.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Groups.List
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -61,7 +61,7 @@
 -- | Retrieves the list of groups contained within the specified project.
 --
 -- /See:/ 'groupsList' smart constructor.
-data GroupsList = GroupsList
+data GroupsList = GroupsList'
     { _glOrderBy    :: !(Maybe Text)
     , _glProject    :: !Text
     , _glFilter     :: !(Maybe Text)
@@ -86,7 +86,7 @@
     :: Text -- ^ 'glProject'
     -> GroupsList
 groupsList pGlProject_ =
-    GroupsList
+    GroupsList'
     { _glOrderBy = Nothing
     , _glProject = pGlProject_
     , _glFilter = Nothing
@@ -112,27 +112,40 @@
   = lens _glProject (\ s a -> s{_glProject = a})
 
 -- | Sets a filter expression for filtering listed resources, in the form
--- filter={expression}. Your {expression} must be in the format: FIELD_NAME
--- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the
+-- filter={expression}. Your {expression} must be in the format: field_name
+-- comparison_string literal_string. The field_name is the name of the
 -- field you want to compare. Only atomic field types are supported
--- (string, number, boolean). The COMPARISON_STRING must be either eq
--- (equals) or ne (not equals). The LITERAL_STRING is the string value to
--- filter to. The literal value must be valid for the type of field
--- (string, number, boolean). For string fields, the literal value is
--- interpreted as a regular expression using RE2 syntax. The literal value
--- must match the entire field. For example, filter=name ne
--- example-instance.
+-- (string, number, boolean). The comparison_string must be either eq
+-- (equals) or ne (not equals). The literal_string is the string value to
+-- filter to. The literal value must be valid for the type of field you are
+-- filtering by (string, number, boolean). For string fields, the literal
+-- value is interpreted as a regular expression using RE2 syntax. The
+-- literal value must match the entire field. For example, to filter for
+-- instances that do not have a name of example-instance, you would use
+-- filter=name ne example-instance. Compute Engine Beta API Only: If you
+-- use filtering in the Beta API, you can also filter on nested fields. For
+-- example, you could filter on instances that have set the
+-- scheduling.automaticRestart field to true. In particular, use filtering
+-- on nested fields to take advantage of instance labels to organize and
+-- filter results based on label values. The Beta API also supports
+-- filtering on multiple expressions by providing each separate expression
+-- within parentheses. For example, (scheduling.automaticRestart eq true)
+-- (zone eq us-central1-f). Multiple expressions are treated as AND
+-- expressions, meaning that resources must match all expressions to pass
+-- the filters.
 glFilter :: Lens' GroupsList (Maybe Text)
 glFilter = lens _glFilter (\ s a -> s{_glFilter = a})
 
--- | Specifies a page token to use. Use this parameter if you want to list
--- the next page of results. Set pageToken to the nextPageToken returned by
--- a previous list request.
+-- | Specifies a page token to use. Set pageToken to the nextPageToken
+-- returned by a previous list request to get the next page of results.
 glPageToken :: Lens' GroupsList (Maybe Text)
 glPageToken
   = lens _glPageToken (\ s a -> s{_glPageToken = a})
 
--- | Maximum count of results to be returned.
+-- | The maximum number of results per page that should be returned. If the
+-- number of available results is larger than maxResults, Compute Engine
+-- returns a nextPageToken that can be used to get the next page of results
+-- in subsequent list requests.
 glMaxResults :: Lens' GroupsList Word32
 glMaxResults
   = lens _glMaxResults (\ s a -> s{_glMaxResults = a})
@@ -140,7 +153,12 @@
 
 instance GoogleRequest GroupsList where
         type Rs GroupsList = GroupList
-        requestClient GroupsList{..}
+        type Scopes GroupsList =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient GroupsList'{..}
           = go _glProject _glOrderBy _glFilter _glPageToken
               (Just _glMaxResults)
               (Just AltJSON)
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Groups/RemoveMember.hs b/gen/Network/Google/Resource/CloudUserAccounts/Groups/RemoveMember.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Groups/RemoveMember.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Groups/RemoveMember.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Groups.RemoveMember
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -59,7 +59,7 @@
 -- | Removes users from the specified group.
 --
 -- /See:/ 'groupsRemoveMember' smart constructor.
-data GroupsRemoveMember = GroupsRemoveMember
+data GroupsRemoveMember = GroupsRemoveMember'
     { _grmProject   :: !Text
     , _grmPayload   :: !GroupsRemoveMemberRequest
     , _grmGroupName :: !Text
@@ -80,7 +80,7 @@
     -> Text -- ^ 'grmGroupName'
     -> GroupsRemoveMember
 groupsRemoveMember pGrmProject_ pGrmPayload_ pGrmGroupName_ =
-    GroupsRemoveMember
+    GroupsRemoveMember'
     { _grmProject = pGrmProject_
     , _grmPayload = pGrmPayload_
     , _grmGroupName = pGrmGroupName_
@@ -103,7 +103,10 @@
 
 instance GoogleRequest GroupsRemoveMember where
         type Rs GroupsRemoveMember = Operation
-        requestClient GroupsRemoveMember{..}
+        type Scopes GroupsRemoveMember =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient GroupsRemoveMember'{..}
           = go _grmProject _grmGroupName (Just AltJSON)
               _grmPayload
               userAccountsService
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetAuthorizedKeysView.hs b/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetAuthorizedKeysView.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetAuthorizedKeysView.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetAuthorizedKeysView.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Linux.GetAuthorizedKeysView
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -62,7 +62,7 @@
 -- | Returns a list of authorized public keys for a specific user account.
 --
 -- /See:/ 'linuxGetAuthorizedKeysView' smart constructor.
-data LinuxGetAuthorizedKeysView = LinuxGetAuthorizedKeysView
+data LinuxGetAuthorizedKeysView = LinuxGetAuthorizedKeysView'
     { _lgakvProject  :: !Text
     , _lgakvZone     :: !Text
     , _lgakvUser     :: !Text
@@ -90,7 +90,7 @@
     -> Text -- ^ 'lgakvInstance'
     -> LinuxGetAuthorizedKeysView
 linuxGetAuthorizedKeysView pLgakvProject_ pLgakvZone_ pLgakvUser_ pLgakvInstance_ =
-    LinuxGetAuthorizedKeysView
+    LinuxGetAuthorizedKeysView'
     { _lgakvProject = pLgakvProject_
     , _lgakvZone = pLgakvZone_
     , _lgakvUser = pLgakvUser_
@@ -129,7 +129,12 @@
          where
         type Rs LinuxGetAuthorizedKeysView =
              LinuxGetAuthorizedKeysViewResponse
-        requestClient LinuxGetAuthorizedKeysView{..}
+        type Scopes LinuxGetAuthorizedKeysView =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient LinuxGetAuthorizedKeysView'{..}
           = go _lgakvProject _lgakvZone _lgakvUser
               (Just _lgakvInstance)
               _lgakvLogin
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetLinuxAccountViews.hs b/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetLinuxAccountViews.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetLinuxAccountViews.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Linux/GetLinuxAccountViews.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Linux.GetLinuxAccountViews
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -68,7 +68,7 @@
 -- project.
 --
 -- /See:/ 'linuxGetLinuxAccountViews' smart constructor.
-data LinuxGetLinuxAccountViews = LinuxGetLinuxAccountViews
+data LinuxGetLinuxAccountViews = LinuxGetLinuxAccountViews'
     { _lglavOrderBy    :: !(Maybe Text)
     , _lglavProject    :: !Text
     , _lglavZone       :: !Text
@@ -101,7 +101,7 @@
     -> Text -- ^ 'lglavInstance'
     -> LinuxGetLinuxAccountViews
 linuxGetLinuxAccountViews pLglavProject_ pLglavZone_ pLglavInstance_ =
-    LinuxGetLinuxAccountViews
+    LinuxGetLinuxAccountViews'
     { _lglavOrderBy = Nothing
     , _lglavProject = pLglavProject_
     , _lglavZone = pLglavZone_
@@ -134,29 +134,42 @@
   = lens _lglavZone (\ s a -> s{_lglavZone = a})
 
 -- | Sets a filter expression for filtering listed resources, in the form
--- filter={expression}. Your {expression} must be in the format: FIELD_NAME
--- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the
+-- filter={expression}. Your {expression} must be in the format: field_name
+-- comparison_string literal_string. The field_name is the name of the
 -- field you want to compare. Only atomic field types are supported
--- (string, number, boolean). The COMPARISON_STRING must be either eq
--- (equals) or ne (not equals). The LITERAL_STRING is the string value to
--- filter to. The literal value must be valid for the type of field
--- (string, number, boolean). For string fields, the literal value is
--- interpreted as a regular expression using RE2 syntax. The literal value
--- must match the entire field. For example, filter=name ne
--- example-instance.
+-- (string, number, boolean). The comparison_string must be either eq
+-- (equals) or ne (not equals). The literal_string is the string value to
+-- filter to. The literal value must be valid for the type of field you are
+-- filtering by (string, number, boolean). For string fields, the literal
+-- value is interpreted as a regular expression using RE2 syntax. The
+-- literal value must match the entire field. For example, to filter for
+-- instances that do not have a name of example-instance, you would use
+-- filter=name ne example-instance. Compute Engine Beta API Only: If you
+-- use filtering in the Beta API, you can also filter on nested fields. For
+-- example, you could filter on instances that have set the
+-- scheduling.automaticRestart field to true. In particular, use filtering
+-- on nested fields to take advantage of instance labels to organize and
+-- filter results based on label values. The Beta API also supports
+-- filtering on multiple expressions by providing each separate expression
+-- within parentheses. For example, (scheduling.automaticRestart eq true)
+-- (zone eq us-central1-f). Multiple expressions are treated as AND
+-- expressions, meaning that resources must match all expressions to pass
+-- the filters.
 lglavFilter :: Lens' LinuxGetLinuxAccountViews (Maybe Text)
 lglavFilter
   = lens _lglavFilter (\ s a -> s{_lglavFilter = a})
 
--- | Specifies a page token to use. Use this parameter if you want to list
--- the next page of results. Set pageToken to the nextPageToken returned by
--- a previous list request.
+-- | Specifies a page token to use. Set pageToken to the nextPageToken
+-- returned by a previous list request to get the next page of results.
 lglavPageToken :: Lens' LinuxGetLinuxAccountViews (Maybe Text)
 lglavPageToken
   = lens _lglavPageToken
       (\ s a -> s{_lglavPageToken = a})
 
--- | Maximum count of results to be returned.
+-- | The maximum number of results per page that should be returned. If the
+-- number of available results is larger than maxResults, Compute Engine
+-- returns a nextPageToken that can be used to get the next page of results
+-- in subsequent list requests.
 lglavMaxResults :: Lens' LinuxGetLinuxAccountViews Word32
 lglavMaxResults
   = lens _lglavMaxResults
@@ -173,7 +186,12 @@
          where
         type Rs LinuxGetLinuxAccountViews =
              LinuxGetLinuxAccountViewsResponse
-        requestClient LinuxGetLinuxAccountViews{..}
+        type Scopes LinuxGetLinuxAccountViews =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient LinuxGetLinuxAccountViews'{..}
           = go _lglavProject _lglavZone (Just _lglavInstance)
               _lglavOrderBy
               _lglavFilter
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Users/AddPublicKey.hs b/gen/Network/Google/Resource/CloudUserAccounts/Users/AddPublicKey.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Users/AddPublicKey.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Users/AddPublicKey.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Users.AddPublicKey
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -60,7 +60,7 @@
 -- in the request.
 --
 -- /See:/ 'usersAddPublicKey' smart constructor.
-data UsersAddPublicKey = UsersAddPublicKey
+data UsersAddPublicKey = UsersAddPublicKey'
     { _uapkProject :: !Text
     , _uapkPayload :: !PublicKey
     , _uapkUser    :: !Text
@@ -81,7 +81,7 @@
     -> Text -- ^ 'uapkUser'
     -> UsersAddPublicKey
 usersAddPublicKey pUapkProject_ pUapkPayload_ pUapkUser_ =
-    UsersAddPublicKey
+    UsersAddPublicKey'
     { _uapkProject = pUapkProject_
     , _uapkPayload = pUapkPayload_
     , _uapkUser = pUapkUser_
@@ -103,7 +103,10 @@
 
 instance GoogleRequest UsersAddPublicKey where
         type Rs UsersAddPublicKey = Operation
-        requestClient UsersAddPublicKey{..}
+        type Scopes UsersAddPublicKey =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient UsersAddPublicKey'{..}
           = go _uapkProject _uapkUser (Just AltJSON)
               _uapkPayload
               userAccountsService
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Users/Delete.hs b/gen/Network/Google/Resource/CloudUserAccounts/Users/Delete.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Users/Delete.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Users/Delete.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Users.Delete
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -55,7 +55,7 @@
 -- | Deletes the specified User resource.
 --
 -- /See:/ 'usersDelete' smart constructor.
-data UsersDelete = UsersDelete
+data UsersDelete = UsersDelete'
     { _udProject :: !Text
     , _udUser    :: !Text
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -72,7 +72,7 @@
     -> Text -- ^ 'udUser'
     -> UsersDelete
 usersDelete pUdProject_ pUdUser_ =
-    UsersDelete
+    UsersDelete'
     { _udProject = pUdProject_
     , _udUser = pUdUser_
     }
@@ -88,7 +88,10 @@
 
 instance GoogleRequest UsersDelete where
         type Rs UsersDelete = Operation
-        requestClient UsersDelete{..}
+        type Scopes UsersDelete =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient UsersDelete'{..}
           = go _udProject _udUser (Just AltJSON)
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Users/Get.hs b/gen/Network/Google/Resource/CloudUserAccounts/Users/Get.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Users/Get.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Users/Get.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Users.Get
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -55,7 +55,7 @@
 -- | Returns the specified User resource.
 --
 -- /See:/ 'usersGet' smart constructor.
-data UsersGet = UsersGet
+data UsersGet = UsersGet'
     { _ugProject :: !Text
     , _ugUser    :: !Text
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -72,7 +72,7 @@
     -> Text -- ^ 'ugUser'
     -> UsersGet
 usersGet pUgProject_ pUgUser_ =
-    UsersGet
+    UsersGet'
     { _ugProject = pUgProject_
     , _ugUser = pUgUser_
     }
@@ -88,7 +88,12 @@
 
 instance GoogleRequest UsersGet where
         type Rs UsersGet = User
-        requestClient UsersGet{..}
+        type Scopes UsersGet =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient UsersGet'{..}
           = go _ugProject _ugUser (Just AltJSON)
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Users/Insert.hs b/gen/Network/Google/Resource/CloudUserAccounts/Users/Insert.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Users/Insert.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Users/Insert.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Users.Insert
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -57,7 +57,7 @@
 -- in the request.
 --
 -- /See:/ 'usersInsert' smart constructor.
-data UsersInsert = UsersInsert
+data UsersInsert = UsersInsert'
     { _uiProject :: !Text
     , _uiPayload :: !User
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -74,7 +74,7 @@
     -> User -- ^ 'uiPayload'
     -> UsersInsert
 usersInsert pUiProject_ pUiPayload_ =
-    UsersInsert
+    UsersInsert'
     { _uiProject = pUiProject_
     , _uiPayload = pUiPayload_
     }
@@ -91,7 +91,10 @@
 
 instance GoogleRequest UsersInsert where
         type Rs UsersInsert = Operation
-        requestClient UsersInsert{..}
+        type Scopes UsersInsert =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient UsersInsert'{..}
           = go _uiProject (Just AltJSON) _uiPayload
               userAccountsService
           where go
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Users/List.hs b/gen/Network/Google/Resource/CloudUserAccounts/Users/List.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Users/List.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Users/List.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Users.List
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -61,7 +61,7 @@
 -- | Retrieves a list of users contained within the specified project.
 --
 -- /See:/ 'usersList' smart constructor.
-data UsersList = UsersList
+data UsersList = UsersList'
     { _ulOrderBy    :: !(Maybe Text)
     , _ulProject    :: !Text
     , _ulFilter     :: !(Maybe Text)
@@ -86,7 +86,7 @@
     :: Text -- ^ 'ulProject'
     -> UsersList
 usersList pUlProject_ =
-    UsersList
+    UsersList'
     { _ulOrderBy = Nothing
     , _ulProject = pUlProject_
     , _ulFilter = Nothing
@@ -112,27 +112,40 @@
   = lens _ulProject (\ s a -> s{_ulProject = a})
 
 -- | Sets a filter expression for filtering listed resources, in the form
--- filter={expression}. Your {expression} must be in the format: FIELD_NAME
--- COMPARISON_STRING LITERAL_STRING. The FIELD_NAME is the name of the
+-- filter={expression}. Your {expression} must be in the format: field_name
+-- comparison_string literal_string. The field_name is the name of the
 -- field you want to compare. Only atomic field types are supported
--- (string, number, boolean). The COMPARISON_STRING must be either eq
--- (equals) or ne (not equals). The LITERAL_STRING is the string value to
--- filter to. The literal value must be valid for the type of field
--- (string, number, boolean). For string fields, the literal value is
--- interpreted as a regular expression using RE2 syntax. The literal value
--- must match the entire field. For example, filter=name ne
--- example-instance.
+-- (string, number, boolean). The comparison_string must be either eq
+-- (equals) or ne (not equals). The literal_string is the string value to
+-- filter to. The literal value must be valid for the type of field you are
+-- filtering by (string, number, boolean). For string fields, the literal
+-- value is interpreted as a regular expression using RE2 syntax. The
+-- literal value must match the entire field. For example, to filter for
+-- instances that do not have a name of example-instance, you would use
+-- filter=name ne example-instance. Compute Engine Beta API Only: If you
+-- use filtering in the Beta API, you can also filter on nested fields. For
+-- example, you could filter on instances that have set the
+-- scheduling.automaticRestart field to true. In particular, use filtering
+-- on nested fields to take advantage of instance labels to organize and
+-- filter results based on label values. The Beta API also supports
+-- filtering on multiple expressions by providing each separate expression
+-- within parentheses. For example, (scheduling.automaticRestart eq true)
+-- (zone eq us-central1-f). Multiple expressions are treated as AND
+-- expressions, meaning that resources must match all expressions to pass
+-- the filters.
 ulFilter :: Lens' UsersList (Maybe Text)
 ulFilter = lens _ulFilter (\ s a -> s{_ulFilter = a})
 
--- | Specifies a page token to use. Use this parameter if you want to list
--- the next page of results. Set pageToken to the nextPageToken returned by
--- a previous list request.
+-- | Specifies a page token to use. Set pageToken to the nextPageToken
+-- returned by a previous list request to get the next page of results.
 ulPageToken :: Lens' UsersList (Maybe Text)
 ulPageToken
   = lens _ulPageToken (\ s a -> s{_ulPageToken = a})
 
--- | Maximum count of results to be returned.
+-- | The maximum number of results per page that should be returned. If the
+-- number of available results is larger than maxResults, Compute Engine
+-- returns a nextPageToken that can be used to get the next page of results
+-- in subsequent list requests.
 ulMaxResults :: Lens' UsersList Word32
 ulMaxResults
   = lens _ulMaxResults (\ s a -> s{_ulMaxResults = a})
@@ -140,7 +153,12 @@
 
 instance GoogleRequest UsersList where
         type Rs UsersList = UserList
-        requestClient UsersList{..}
+        type Scopes UsersList =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud-platform.read-only",
+               "https://www.googleapis.com/auth/cloud.useraccounts",
+               "https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+        requestClient UsersList'{..}
           = go _ulProject _ulOrderBy _ulFilter _ulPageToken
               (Just _ulMaxResults)
               (Just AltJSON)
diff --git a/gen/Network/Google/Resource/CloudUserAccounts/Users/RemovePublicKey.hs b/gen/Network/Google/Resource/CloudUserAccounts/Users/RemovePublicKey.hs
--- a/gen/Network/Google/Resource/CloudUserAccounts/Users/RemovePublicKey.hs
+++ b/gen/Network/Google/Resource/CloudUserAccounts/Users/RemovePublicKey.hs
@@ -14,7 +14,7 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudUserAccounts.Users.RemovePublicKey
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -58,7 +58,7 @@
 -- | Removes the specified public key from the user.
 --
 -- /See:/ 'usersRemovePublicKey' smart constructor.
-data UsersRemovePublicKey = UsersRemovePublicKey
+data UsersRemovePublicKey = UsersRemovePublicKey'
     { _urpkProject     :: !Text
     , _urpkFingerprint :: !Text
     , _urpkUser        :: !Text
@@ -79,7 +79,7 @@
     -> Text -- ^ 'urpkUser'
     -> UsersRemovePublicKey
 usersRemovePublicKey pUrpkProject_ pUrpkFingerprint_ pUrpkUser_ =
-    UsersRemovePublicKey
+    UsersRemovePublicKey'
     { _urpkProject = pUrpkProject_
     , _urpkFingerprint = pUrpkFingerprint_
     , _urpkUser = pUrpkUser_
@@ -104,7 +104,10 @@
 
 instance GoogleRequest UsersRemovePublicKey where
         type Rs UsersRemovePublicKey = Operation
-        requestClient UsersRemovePublicKey{..}
+        type Scopes UsersRemovePublicKey =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/cloud.useraccounts"]
+        requestClient UsersRemovePublicKey'{..}
           = go _urpkProject _urpkUser (Just _urpkFingerprint)
               (Just AltJSON)
               userAccountsService
diff --git a/gen/Network/Google/UserAccounts.hs b/gen/Network/Google/UserAccounts.hs
--- a/gen/Network/Google/UserAccounts.hs
+++ b/gen/Network/Google/UserAccounts.hs
@@ -7,13 +7,14 @@
 
 -- |
 -- Module      : Network.Google.UserAccounts
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- API for the Google Cloud User Accounts service.
+-- Creates and manages users and groups for accessing Google Compute Engine
+-- virtual machines.
 --
 -- /See:/ <https://cloud.google.com/compute/docs/access/user-accounts/api/latest/ Cloud User Accounts API Reference>
 module Network.Google.UserAccounts
@@ -21,6 +22,12 @@
     -- * Service Configuration
       userAccountsService
 
+    -- * OAuth Scopes
+    , cloudPlatformReadOnlyScope
+    , cloudPlatformScope
+    , cloudUserAccountsScope
+    , cloudUserAccountsReadOnlyScope
+
     -- * API Declaration
     , UserAccountsAPI
 
@@ -140,6 +147,7 @@
     , oId
     , oOperationType
     , oRegion
+    , oDescription
     , oTargetLink
     , oClientOperationId
 
diff --git a/gen/Network/Google/UserAccounts/Types.hs b/gen/Network/Google/UserAccounts/Types.hs
--- a/gen/Network/Google/UserAccounts/Types.hs
+++ b/gen/Network/Google/UserAccounts/Types.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DataKinds          #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE NoImplicitPrelude  #-}
@@ -7,7 +8,7 @@
 
 -- |
 -- Module      : Network.Google.UserAccounts.Types
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +22,8 @@
     -- * OAuth Scopes
     , cloudPlatformReadOnlyScope
     , cloudPlatformScope
-    , cloudUseraccountsScope
-    , cloudUseraccountsReadonlyScope
+    , cloudUserAccountsScope
+    , cloudUserAccountsReadOnlyScope
 
     -- * OperationWarningsItemDataItem
     , OperationWarningsItemDataItem
@@ -85,6 +86,7 @@
     , oId
     , oOperationType
     , oRegion
+    , oDescription
     , oTargetLink
     , oClientOperationId
 
@@ -197,23 +199,23 @@
 import           Network.Google.UserAccounts.Types.Sum
 
 -- | Default request referring to version 'beta' of the Cloud User Accounts API. This contains the host and root path used as a starting point for constructing service requests.
-userAccountsService :: Service
+userAccountsService :: ServiceConfig
 userAccountsService
   = defaultService (ServiceId "clouduseraccounts:beta")
       "www.googleapis.com"
 
 -- | View your data across Google Cloud Platform services
-cloudPlatformReadOnlyScope :: OAuthScope
-cloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only";
+cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]
+cloudPlatformReadOnlyScope = Proxy;
 
 -- | View and manage your data across Google Cloud Platform services
-cloudPlatformScope :: OAuthScope
-cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
+cloudPlatformScope = Proxy;
 
 -- | Manage your Google Cloud User Accounts
-cloudUseraccountsScope :: OAuthScope
-cloudUseraccountsScope = "https://www.googleapis.com/auth/cloud.useraccounts";
+cloudUserAccountsScope :: Proxy '["https://www.googleapis.com/auth/cloud.useraccounts"]
+cloudUserAccountsScope = Proxy;
 
 -- | View your Google Cloud User Accounts
-cloudUseraccountsReadonlyScope :: OAuthScope
-cloudUseraccountsReadonlyScope = "https://www.googleapis.com/auth/cloud.useraccounts.readonly";
+cloudUserAccountsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud.useraccounts.readonly"]
+cloudUserAccountsReadOnlyScope = Proxy;
diff --git a/gen/Network/Google/UserAccounts/Types/Product.hs b/gen/Network/Google/UserAccounts/Types/Product.hs
--- a/gen/Network/Google/UserAccounts/Types/Product.hs
+++ b/gen/Network/Google/UserAccounts/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.Google.UserAccounts.Types.Product
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,7 +22,7 @@
 
 --
 -- /See:/ 'operationWarningsItemDataItem' smart constructor.
-data OperationWarningsItemDataItem = OperationWarningsItemDataItem
+data OperationWarningsItemDataItem = OperationWarningsItemDataItem'
     { _owidiValue :: !(Maybe Text)
     , _owidiKey   :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -37,7 +37,7 @@
 operationWarningsItemDataItem
     :: OperationWarningsItemDataItem
 operationWarningsItemDataItem =
-    OperationWarningsItemDataItem
+    OperationWarningsItemDataItem'
     { _owidiValue = Nothing
     , _owidiKey = Nothing
     }
@@ -47,7 +47,13 @@
 owidiValue
   = lens _owidiValue (\ s a -> s{_owidiValue = a})
 
--- | [Output Only] A key for the warning data.
+-- | [Output Only] A key that provides more detail on the warning being
+-- returned. For example, for warnings where there are no results in a list
+-- request for a particular zone, this key might be scope and the key value
+-- might be the zone name. Other examples might be a key indicating a
+-- deprecated resource and a suggested replacement, or a warning about
+-- invalid network settings (for example, if an instance attempts to
+-- perform IP forwarding but is not enabled for IP forwarding).
 owidiKey :: Lens' OperationWarningsItemDataItem (Maybe Text)
 owidiKey = lens _owidiKey (\ s a -> s{_owidiKey = a})
 
@@ -55,11 +61,11 @@
         parseJSON
           = withObject "OperationWarningsItemDataItem"
               (\ o ->
-                 OperationWarningsItemDataItem <$>
+                 OperationWarningsItemDataItem' <$>
                    (o .:? "value") <*> (o .:? "key"))
 
 instance ToJSON OperationWarningsItemDataItem where
-        toJSON OperationWarningsItemDataItem{..}
+        toJSON OperationWarningsItemDataItem'{..}
           = object
               (catMaybes
                  [("value" .=) <$> _owidiValue,
@@ -68,7 +74,7 @@
 -- | Contains a list of Operation resources.
 --
 -- /See:/ 'operationList' smart constructor.
-data OperationList = OperationList
+data OperationList = OperationList'
     { _olNextPageToken :: !(Maybe Text)
     , _olKind          :: !Text
     , _olItems         :: !(Maybe [Operation])
@@ -92,7 +98,7 @@
 operationList
     :: OperationList
 operationList =
-    OperationList
+    OperationList'
     { _olNextPageToken = Nothing
     , _olKind = "clouduseraccounts#operationList"
     , _olItems = Nothing
@@ -100,7 +106,11 @@
     , _olId = Nothing
     }
 
--- | [Output Only] A token used to continue a truncate.
+-- | [Output Only] This token allows you to get the next page of results for
+-- list requests. If the number of results is larger than maxResults, use
+-- the nextPageToken as a value for the query parameter pageToken in the
+-- next list request. Subsequent list requests will have their own
+-- nextPageToken to continue paging through the results.
 olNextPageToken :: Lens' OperationList (Maybe Text)
 olNextPageToken
   = lens _olNextPageToken
@@ -111,7 +121,7 @@
 olKind :: Lens' OperationList Text
 olKind = lens _olKind (\ s a -> s{_olKind = a})
 
--- | [Output Only] The Operation resources.
+-- | [Output Only] A list of Operation resources.
 olItems :: Lens' OperationList [Operation]
 olItems
   = lens _olItems (\ s a -> s{_olItems = a}) . _Default
@@ -122,7 +132,8 @@
 olSelfLink
   = lens _olSelfLink (\ s a -> s{_olSelfLink = a})
 
--- | [Output Only] Unique identifier for the resource; defined by the server.
+-- | [Output Only] The unique identifier for the resource. This identifier is
+-- defined by the server.
 olId :: Lens' OperationList (Maybe Text)
 olId = lens _olId (\ s a -> s{_olId = a})
 
@@ -130,7 +141,7 @@
         parseJSON
           = withObject "OperationList"
               (\ o ->
-                 OperationList <$>
+                 OperationList' <$>
                    (o .:? "nextPageToken") <*>
                      (o .:? "kind" .!= "clouduseraccounts#operationList")
                      <*> (o .:? "items" .!= mempty)
@@ -138,7 +149,7 @@
                      <*> (o .:? "id"))
 
 instance ToJSON OperationList where
-        toJSON OperationList{..}
+        toJSON OperationList'{..}
           = object
               (catMaybes
                  [("nextPageToken" .=) <$> _olNextPageToken,
@@ -149,7 +160,7 @@
 -- | A Group resource.
 --
 -- /See:/ 'group'' smart constructor.
-data Group = Group
+data Group = Group'
     { _gKind              :: !Text
     , _gMembers           :: !(Maybe [Text])
     , _gSelfLink          :: !(Maybe Text)
@@ -179,7 +190,7 @@
 group'
     :: Group
 group' =
-    Group
+    Group'
     { _gKind = "clouduseraccounts#group"
     , _gMembers = Nothing
     , _gSelfLink = Nothing
@@ -233,7 +244,7 @@
         parseJSON
           = withObject "Group"
               (\ o ->
-                 Group <$>
+                 Group' <$>
                    (o .:? "kind" .!= "clouduseraccounts#group") <*>
                      (o .:? "members" .!= mempty)
                      <*> (o .:? "selfLink")
@@ -243,7 +254,7 @@
                      <*> (o .:? "description"))
 
 instance ToJSON Group where
-        toJSON Group{..}
+        toJSON Group'{..}
           = object
               (catMaybes
                  [Just ("kind" .= _gKind),
@@ -256,7 +267,7 @@
 
 --
 -- /See:/ 'groupList' smart constructor.
-data GroupList = GroupList
+data GroupList = GroupList'
     { _glNextPageToken :: !(Maybe Text)
     , _glKind          :: !Text
     , _glItems         :: !(Maybe [Group])
@@ -280,7 +291,7 @@
 groupList
     :: GroupList
 groupList =
-    GroupList
+    GroupList'
     { _glNextPageToken = Nothing
     , _glKind = "clouduseraccounts#groupList"
     , _glItems = Nothing
@@ -318,7 +329,7 @@
         parseJSON
           = withObject "GroupList"
               (\ o ->
-                 GroupList <$>
+                 GroupList' <$>
                    (o .:? "nextPageToken") <*>
                      (o .:? "kind" .!= "clouduseraccounts#groupList")
                      <*> (o .:? "items" .!= mempty)
@@ -326,7 +337,7 @@
                      <*> (o .:? "id"))
 
 instance ToJSON GroupList where
-        toJSON GroupList{..}
+        toJSON GroupList'{..}
           = object
               (catMaybes
                  [("nextPageToken" .=) <$> _glNextPageToken,
@@ -337,7 +348,7 @@
 -- | An Operation resource, used to manage asynchronous API requests.
 --
 -- /See:/ 'operation' smart constructor.
-data Operation = Operation
+data Operation = Operation'
     { _oTargetId            :: !(Maybe (Textual Word64))
     , _oStatus              :: !(Maybe OperationStatus)
     , _oInsertTime          :: !(Maybe Text)
@@ -358,6 +369,7 @@
     , _oId                  :: !(Maybe (Textual Word64))
     , _oOperationType       :: !(Maybe Text)
     , _oRegion              :: !(Maybe Text)
+    , _oDescription         :: !(Maybe Text)
     , _oTargetLink          :: !(Maybe Text)
     , _oClientOperationId   :: !(Maybe Text)
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -406,13 +418,15 @@
 --
 -- * 'oRegion'
 --
+-- * 'oDescription'
+--
 -- * 'oTargetLink'
 --
 -- * 'oClientOperationId'
 operation
     :: Operation
 operation =
-    Operation
+    Operation'
     { _oTargetId = Nothing
     , _oStatus = Nothing
     , _oInsertTime = Nothing
@@ -433,40 +447,41 @@
     , _oId = Nothing
     , _oOperationType = Nothing
     , _oRegion = Nothing
+    , _oDescription = Nothing
     , _oTargetLink = Nothing
     , _oClientOperationId = Nothing
     }
 
--- | [Output Only] Unique target ID which identifies a particular incarnation
--- of the target.
+-- | [Output Only] The unique target ID, which identifies a specific
+-- incarnation of the target resource.
 oTargetId :: Lens' Operation (Maybe Word64)
 oTargetId
   = lens _oTargetId (\ s a -> s{_oTargetId = a}) .
       mapping _Coerce
 
--- | [Output Only] Status of the operation. Can be one of the following:
--- PENDING, RUNNING, or DONE.
+-- | [Output Only] The status of the operation, which can be one of the
+-- following: PENDING, RUNNING, or DONE.
 oStatus :: Lens' Operation (Maybe OperationStatus)
 oStatus = lens _oStatus (\ s a -> s{_oStatus = a})
 
--- | [Output Only] The time that this operation was requested. This is in
--- RFC3339 text format.
+-- | [Output Only] The time that this operation was requested. This value is
+-- in RFC3339 text format.
 oInsertTime :: Lens' Operation (Maybe Text)
 oInsertTime
   = lens _oInsertTime (\ s a -> s{_oInsertTime = a})
 
 -- | [Output Only] An optional progress indicator that ranges from 0 to 100.
 -- There is no requirement that this be linear or support any granularity
--- of operations. This should not be used to guess at when the operation
--- will be complete. This number should monotonically increase as the
--- operation progresses.
+-- of operations. This should not be used to guess when the operation will
+-- be complete. This number should monotonically increase as the operation
+-- progresses.
 oProgress :: Lens' Operation (Maybe Int32)
 oProgress
   = lens _oProgress (\ s a -> s{_oProgress = a}) .
       mapping _Coerce
 
 -- | [Output Only] The time that this operation was started by the server.
--- This is in RFC3339 text format.
+-- This value is in RFC3339 text format.
 oStartTime :: Lens' Operation (Maybe Text)
 oStartTime
   = lens _oStartTime (\ s a -> s{_oStartTime = a})
@@ -488,7 +503,8 @@
   = lens _oHTTPErrorMessage
       (\ s a -> s{_oHTTPErrorMessage = a})
 
--- | [Output Only] URL of the zone where the operation resides.
+-- | [Output Only] The URL of the zone where the operation resides. Only
+-- available when performing per-zone operations.
 oZone :: Lens' Operation (Maybe Text)
 oZone = lens _oZone (\ s a -> s{_oZone = a})
 
@@ -501,7 +517,8 @@
       . _Coerce
 
 -- | [Output Only] If the operation fails, this field contains the HTTP error
--- message that was returned, such as 404.
+-- status code that was returned. For example, a 404 means the resource was
+-- not found.
 oHTTPErrorStatusCode :: Lens' Operation (Maybe Int32)
 oHTTPErrorStatusCode
   = lens _oHTTPErrorStatusCode
@@ -535,36 +552,41 @@
   = lens _oCreationTimestamp
       (\ s a -> s{_oCreationTimestamp = a})
 
--- | [Output Only] The time that this operation was completed. This is in
--- RFC3339 text format.
+-- | [Output Only] The time that this operation was completed. This value is
+-- in RFC3339 text format.
 oEndTime :: Lens' Operation (Maybe Text)
 oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})
 
--- | [Output Only] Unique identifier for the resource; defined by the server.
+-- | [Output Only] The unique identifier for the resource. This identifier is
+-- defined by the server.
 oId :: Lens' Operation (Maybe Word64)
 oId
   = lens _oId (\ s a -> s{_oId = a}) . mapping _Coerce
 
--- | [Output Only] Type of the operation, such as insert,
--- compute.instanceGroups.update, or compute.instanceGroups.delete.
+-- | [Output Only] The type of operation, such as insert, update, or delete,
+-- and so on.
 oOperationType :: Lens' Operation (Maybe Text)
 oOperationType
   = lens _oOperationType
       (\ s a -> s{_oOperationType = a})
 
--- | [Output Only] URL of the region where the operation resides. Only
--- applicable for regional resources.
+-- | [Output Only] The URL of the region where the operation resides. Only
+-- available when performing regional operations.
 oRegion :: Lens' Operation (Maybe Text)
 oRegion = lens _oRegion (\ s a -> s{_oRegion = a})
 
--- | [Output Only] URL of the resource the operation is mutating.
+-- | [Output Only] A textual description of the operation, which is set when
+-- the operation is created.
+oDescription :: Lens' Operation (Maybe Text)
+oDescription
+  = lens _oDescription (\ s a -> s{_oDescription = a})
+
+-- | [Output Only] The URL of the resource that the operation modifies.
 oTargetLink :: Lens' Operation (Maybe Text)
 oTargetLink
   = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
 
--- | [Output Only] An optional identifier specified by the client when the
--- mutation was initiated. Must be unique for all Operation resources in
--- the project.
+-- | [Output Only] Reserved for future use.
 oClientOperationId :: Lens' Operation (Maybe Text)
 oClientOperationId
   = lens _oClientOperationId
@@ -574,7 +596,7 @@
         parseJSON
           = withObject "Operation"
               (\ o ->
-                 Operation <$>
+                 Operation' <$>
                    (o .:? "targetId") <*> (o .:? "status") <*>
                      (o .:? "insertTime")
                      <*> (o .:? "progress")
@@ -594,11 +616,12 @@
                      <*> (o .:? "id")
                      <*> (o .:? "operationType")
                      <*> (o .:? "region")
+                     <*> (o .:? "description")
                      <*> (o .:? "targetLink")
                      <*> (o .:? "clientOperationId"))
 
 instance ToJSON Operation where
-        toJSON Operation{..}
+        toJSON Operation'{..}
           = object
               (catMaybes
                  [("targetId" .=) <$> _oTargetId,
@@ -619,12 +642,13 @@
                   ("endTime" .=) <$> _oEndTime, ("id" .=) <$> _oId,
                   ("operationType" .=) <$> _oOperationType,
                   ("region" .=) <$> _oRegion,
+                  ("description" .=) <$> _oDescription,
                   ("targetLink" .=) <$> _oTargetLink,
                   ("clientOperationId" .=) <$> _oClientOperationId])
 
 --
 -- /See:/ 'userList' smart constructor.
-data UserList = UserList
+data UserList = UserList'
     { _ulNextPageToken :: !(Maybe Text)
     , _ulKind          :: !Text
     , _ulItems         :: !(Maybe [User])
@@ -648,7 +672,7 @@
 userList
     :: UserList
 userList =
-    UserList
+    UserList'
     { _ulNextPageToken = Nothing
     , _ulKind = "clouduseraccounts#userList"
     , _ulItems = Nothing
@@ -686,7 +710,7 @@
         parseJSON
           = withObject "UserList"
               (\ o ->
-                 UserList <$>
+                 UserList' <$>
                    (o .:? "nextPageToken") <*>
                      (o .:? "kind" .!= "clouduseraccounts#userList")
                      <*> (o .:? "items" .!= mempty)
@@ -694,7 +718,7 @@
                      <*> (o .:? "id"))
 
 instance ToJSON UserList where
-        toJSON UserList{..}
+        toJSON UserList'{..}
           = object
               (catMaybes
                  [("nextPageToken" .=) <$> _ulNextPageToken,
@@ -705,7 +729,7 @@
 -- | A public key for authenticating to guests.
 --
 -- /See:/ 'publicKey' smart constructor.
-data PublicKey = PublicKey
+data PublicKey = PublicKey'
     { _pkFingerprint         :: !(Maybe Text)
     , _pkKey                 :: !(Maybe Text)
     , _pkCreationTimestamp   :: !(Maybe Text)
@@ -729,7 +753,7 @@
 publicKey
     :: PublicKey
 publicKey =
-    PublicKey
+    PublicKey'
     { _pkFingerprint = Nothing
     , _pkKey = Nothing
     , _pkCreationTimestamp = Nothing
@@ -772,14 +796,14 @@
         parseJSON
           = withObject "PublicKey"
               (\ o ->
-                 PublicKey <$>
+                 PublicKey' <$>
                    (o .:? "fingerprint") <*> (o .:? "key") <*>
                      (o .:? "creationTimestamp")
                      <*> (o .:? "expirationTimestamp")
                      <*> (o .:? "description"))
 
 instance ToJSON PublicKey where
-        toJSON PublicKey{..}
+        toJSON PublicKey'{..}
           = object
               (catMaybes
                  [("fingerprint" .=) <$> _pkFingerprint,
@@ -795,7 +819,7 @@
 -- users and groups managed by the Compute Engine Accounts API.
 --
 -- /See:/ 'linuxAccountViews' smart constructor.
-data LinuxAccountViews = LinuxAccountViews
+data LinuxAccountViews = LinuxAccountViews'
     { _lavUserViews  :: !(Maybe [LinuxUserView])
     , _lavKind       :: !Text
     , _lavGroupViews :: !(Maybe [LinuxGroupView])
@@ -813,7 +837,7 @@
 linuxAccountViews
     :: LinuxAccountViews
 linuxAccountViews =
-    LinuxAccountViews
+    LinuxAccountViews'
     { _lavUserViews = Nothing
     , _lavKind = "clouduseraccounts#linuxAccountViews"
     , _lavGroupViews = Nothing
@@ -843,14 +867,14 @@
         parseJSON
           = withObject "LinuxAccountViews"
               (\ o ->
-                 LinuxAccountViews <$>
+                 LinuxAccountViews' <$>
                    (o .:? "userViews" .!= mempty) <*>
                      (o .:? "kind" .!=
                         "clouduseraccounts#linuxAccountViews")
                      <*> (o .:? "groupViews" .!= mempty))
 
 instance ToJSON LinuxAccountViews where
-        toJSON LinuxAccountViews{..}
+        toJSON LinuxAccountViews'{..}
           = object
               (catMaybes
                  [("userViews" .=) <$> _lavUserViews,
@@ -860,7 +884,7 @@
 -- | A User resource.
 --
 -- /See:/ 'user' smart constructor.
-data User = User
+data User = User'
     { _uGroups            :: !(Maybe [Text])
     , _uPublicKeys        :: !(Maybe [PublicKey])
     , _uKind              :: !Text
@@ -896,7 +920,7 @@
 user
     :: User
 user =
-    User
+    User'
     { _uGroups = Nothing
     , _uPublicKeys = Nothing
     , _uKind = "clouduseraccounts#user"
@@ -964,7 +988,7 @@
         parseJSON
           = withObject "User"
               (\ o ->
-                 User <$>
+                 User' <$>
                    (o .:? "groups" .!= mempty) <*>
                      (o .:? "publicKeys" .!= mempty)
                      <*> (o .:? "kind" .!= "clouduseraccounts#user")
@@ -976,7 +1000,7 @@
                      <*> (o .:? "description"))
 
 instance ToJSON User where
-        toJSON User{..}
+        toJSON User'{..}
           = object
               (catMaybes
                  [("groups" .=) <$> _uGroups,
@@ -990,7 +1014,7 @@
 
 --
 -- /See:/ 'groupsAddMemberRequest' smart constructor.
-newtype GroupsAddMemberRequest = GroupsAddMemberRequest
+newtype GroupsAddMemberRequest = GroupsAddMemberRequest'
     { _gamrUsers :: Maybe [Text]
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -1002,7 +1026,7 @@
 groupsAddMemberRequest
     :: GroupsAddMemberRequest
 groupsAddMemberRequest =
-    GroupsAddMemberRequest
+    GroupsAddMemberRequest'
     { _gamrUsers = Nothing
     }
 
@@ -1017,17 +1041,17 @@
         parseJSON
           = withObject "GroupsAddMemberRequest"
               (\ o ->
-                 GroupsAddMemberRequest <$>
+                 GroupsAddMemberRequest' <$>
                    (o .:? "users" .!= mempty))
 
 instance ToJSON GroupsAddMemberRequest where
-        toJSON GroupsAddMemberRequest{..}
+        toJSON GroupsAddMemberRequest'{..}
           = object (catMaybes [("users" .=) <$> _gamrUsers])
 
 -- | A detailed view of a Linux group.
 --
 -- /See:/ 'linuxGroupView' smart constructor.
-data LinuxGroupView = LinuxGroupView
+data LinuxGroupView = LinuxGroupView'
     { _lgvMembers   :: !(Maybe [Text])
     , _lgvGid       :: !(Maybe (Textual Word32))
     , _lgvGroupName :: !(Maybe Text)
@@ -1045,7 +1069,7 @@
 linuxGroupView
     :: LinuxGroupView
 linuxGroupView =
-    LinuxGroupView
+    LinuxGroupView'
     { _lgvMembers = Nothing
     , _lgvGid = Nothing
     , _lgvGroupName = Nothing
@@ -1073,12 +1097,12 @@
         parseJSON
           = withObject "LinuxGroupView"
               (\ o ->
-                 LinuxGroupView <$>
+                 LinuxGroupView' <$>
                    (o .:? "members" .!= mempty) <*> (o .:? "gid") <*>
                      (o .:? "groupName"))
 
 instance ToJSON LinuxGroupView where
-        toJSON LinuxGroupView{..}
+        toJSON LinuxGroupView'{..}
           = object
               (catMaybes
                  [("members" .=) <$> _lgvMembers,
@@ -1088,7 +1112,7 @@
 -- | A detailed view of a Linux user account.
 --
 -- /See:/ 'linuxUserView' smart constructor.
-data LinuxUserView = LinuxUserView
+data LinuxUserView = LinuxUserView'
     { _luvGecos         :: !(Maybe Text)
     , _luvUid           :: !(Maybe (Textual Word32))
     , _luvUsername      :: !(Maybe Text)
@@ -1115,7 +1139,7 @@
 linuxUserView
     :: LinuxUserView
 linuxUserView =
-    LinuxUserView
+    LinuxUserView'
     { _luvGecos = Nothing
     , _luvUid = Nothing
     , _luvUsername = Nothing
@@ -1159,7 +1183,7 @@
         parseJSON
           = withObject "LinuxUserView"
               (\ o ->
-                 LinuxUserView <$>
+                 LinuxUserView' <$>
                    (o .:? "gecos") <*> (o .:? "uid") <*>
                      (o .:? "username")
                      <*> (o .:? "shell")
@@ -1167,7 +1191,7 @@
                      <*> (o .:? "homeDirectory"))
 
 instance ToJSON LinuxUserView where
-        toJSON LinuxUserView{..}
+        toJSON LinuxUserView'{..}
           = object
               (catMaybes
                  [("gecos" .=) <$> _luvGecos, ("uid" .=) <$> _luvUid,
@@ -1177,7 +1201,7 @@
 
 --
 -- /See:/ 'linuxGetLinuxAccountViewsResponse' smart constructor.
-newtype LinuxGetLinuxAccountViewsResponse = LinuxGetLinuxAccountViewsResponse
+newtype LinuxGetLinuxAccountViewsResponse = LinuxGetLinuxAccountViewsResponse'
     { _lglavrResource :: Maybe LinuxAccountViews
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -1189,7 +1213,7 @@
 linuxGetLinuxAccountViewsResponse
     :: LinuxGetLinuxAccountViewsResponse
 linuxGetLinuxAccountViewsResponse =
-    LinuxGetLinuxAccountViewsResponse
+    LinuxGetLinuxAccountViewsResponse'
     { _lglavrResource = Nothing
     }
 
@@ -1204,12 +1228,12 @@
         parseJSON
           = withObject "LinuxGetLinuxAccountViewsResponse"
               (\ o ->
-                 LinuxGetLinuxAccountViewsResponse <$>
+                 LinuxGetLinuxAccountViewsResponse' <$>
                    (o .:? "resource"))
 
 instance ToJSON LinuxGetLinuxAccountViewsResponse
          where
-        toJSON LinuxGetLinuxAccountViewsResponse{..}
+        toJSON LinuxGetLinuxAccountViewsResponse'{..}
           = object
               (catMaybes [("resource" .=) <$> _lglavrResource])
 
@@ -1217,7 +1241,7 @@
 -- operation, this field will be populated.
 --
 -- /See:/ 'operationError' smart constructor.
-newtype OperationError = OperationError
+newtype OperationError = OperationError'
     { _oeErrors :: Maybe [OperationErrorErrorsItem]
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -1229,7 +1253,7 @@
 operationError
     :: OperationError
 operationError =
-    OperationError
+    OperationError'
     { _oeErrors = Nothing
     }
 
@@ -1245,15 +1269,15 @@
         parseJSON
           = withObject "OperationError"
               (\ o ->
-                 OperationError <$> (o .:? "errors" .!= mempty))
+                 OperationError' <$> (o .:? "errors" .!= mempty))
 
 instance ToJSON OperationError where
-        toJSON OperationError{..}
+        toJSON OperationError'{..}
           = object (catMaybes [("errors" .=) <$> _oeErrors])
 
 --
 -- /See:/ 'linuxGetAuthorizedKeysViewResponse' smart constructor.
-newtype LinuxGetAuthorizedKeysViewResponse = LinuxGetAuthorizedKeysViewResponse
+newtype LinuxGetAuthorizedKeysViewResponse = LinuxGetAuthorizedKeysViewResponse'
     { _lgakvrResource :: Maybe AuthorizedKeysView
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -1265,7 +1289,7 @@
 linuxGetAuthorizedKeysViewResponse
     :: LinuxGetAuthorizedKeysViewResponse
 linuxGetAuthorizedKeysViewResponse =
-    LinuxGetAuthorizedKeysViewResponse
+    LinuxGetAuthorizedKeysViewResponse'
     { _lgakvrResource = Nothing
     }
 
@@ -1280,18 +1304,18 @@
         parseJSON
           = withObject "LinuxGetAuthorizedKeysViewResponse"
               (\ o ->
-                 LinuxGetAuthorizedKeysViewResponse <$>
+                 LinuxGetAuthorizedKeysViewResponse' <$>
                    (o .:? "resource"))
 
 instance ToJSON LinuxGetAuthorizedKeysViewResponse
          where
-        toJSON LinuxGetAuthorizedKeysViewResponse{..}
+        toJSON LinuxGetAuthorizedKeysViewResponse'{..}
           = object
               (catMaybes [("resource" .=) <$> _lgakvrResource])
 
 --
 -- /See:/ 'operationErrorErrorsItem' smart constructor.
-data OperationErrorErrorsItem = OperationErrorErrorsItem
+data OperationErrorErrorsItem = OperationErrorErrorsItem'
     { _oeeiLocation :: !(Maybe Text)
     , _oeeiCode     :: !(Maybe Text)
     , _oeeiMessage  :: !(Maybe Text)
@@ -1309,13 +1333,13 @@
 operationErrorErrorsItem
     :: OperationErrorErrorsItem
 operationErrorErrorsItem =
-    OperationErrorErrorsItem
+    OperationErrorErrorsItem'
     { _oeeiLocation = Nothing
     , _oeeiCode = Nothing
     , _oeeiMessage = Nothing
     }
 
--- | [Output Only] Indicates the field in the request which caused the error.
+-- | [Output Only] Indicates the field in the request that caused the error.
 -- This property is optional.
 oeeiLocation :: Lens' OperationErrorErrorsItem (Maybe Text)
 oeeiLocation
@@ -1334,12 +1358,12 @@
         parseJSON
           = withObject "OperationErrorErrorsItem"
               (\ o ->
-                 OperationErrorErrorsItem <$>
+                 OperationErrorErrorsItem' <$>
                    (o .:? "location") <*> (o .:? "code") <*>
                      (o .:? "message"))
 
 instance ToJSON OperationErrorErrorsItem where
-        toJSON OperationErrorErrorsItem{..}
+        toJSON OperationErrorErrorsItem'{..}
           = object
               (catMaybes
                  [("location" .=) <$> _oeeiLocation,
@@ -1348,7 +1372,7 @@
 
 --
 -- /See:/ 'groupsRemoveMemberRequest' smart constructor.
-newtype GroupsRemoveMemberRequest = GroupsRemoveMemberRequest
+newtype GroupsRemoveMemberRequest = GroupsRemoveMemberRequest'
     { _grmrUsers :: Maybe [Text]
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -1360,7 +1384,7 @@
 groupsRemoveMemberRequest
     :: GroupsRemoveMemberRequest
 groupsRemoveMemberRequest =
-    GroupsRemoveMemberRequest
+    GroupsRemoveMemberRequest'
     { _grmrUsers = Nothing
     }
 
@@ -1375,17 +1399,17 @@
         parseJSON
           = withObject "GroupsRemoveMemberRequest"
               (\ o ->
-                 GroupsRemoveMemberRequest <$>
+                 GroupsRemoveMemberRequest' <$>
                    (o .:? "users" .!= mempty))
 
 instance ToJSON GroupsRemoveMemberRequest where
-        toJSON GroupsRemoveMemberRequest{..}
+        toJSON GroupsRemoveMemberRequest'{..}
           = object (catMaybes [("users" .=) <$> _grmrUsers])
 
 -- | A list of authorized public keys for a user account.
 --
 -- /See:/ 'authorizedKeysView' smart constructor.
-data AuthorizedKeysView = AuthorizedKeysView
+data AuthorizedKeysView = AuthorizedKeysView'
     { _akvSudoer :: !(Maybe Bool)
     , _akvKeys   :: !(Maybe [Text])
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -1400,7 +1424,7 @@
 authorizedKeysView
     :: AuthorizedKeysView
 authorizedKeysView =
-    AuthorizedKeysView
+    AuthorizedKeysView'
     { _akvSudoer = Nothing
     , _akvKeys = Nothing
     }
@@ -1421,11 +1445,11 @@
         parseJSON
           = withObject "AuthorizedKeysView"
               (\ o ->
-                 AuthorizedKeysView <$>
+                 AuthorizedKeysView' <$>
                    (o .:? "sudoer") <*> (o .:? "keys" .!= mempty))
 
 instance ToJSON AuthorizedKeysView where
-        toJSON AuthorizedKeysView{..}
+        toJSON AuthorizedKeysView'{..}
           = object
               (catMaybes
                  [("sudoer" .=) <$> _akvSudoer,
@@ -1433,7 +1457,7 @@
 
 --
 -- /See:/ 'operationWarningsItem' smart constructor.
-data OperationWarningsItem = OperationWarningsItem
+data OperationWarningsItem = OperationWarningsItem'
     { _owiData    :: !(Maybe [OperationWarningsItemDataItem])
     , _owiCode    :: !(Maybe OperationWarningsItemCode)
     , _owiMessage :: !(Maybe Text)
@@ -1451,23 +1475,26 @@
 operationWarningsItem
     :: OperationWarningsItem
 operationWarningsItem =
-    OperationWarningsItem
+    OperationWarningsItem'
     { _owiData = Nothing
     , _owiCode = Nothing
     , _owiMessage = Nothing
     }
 
--- | [Output Only] Metadata for this warning in key: value format.
+-- | [Output Only] Metadata about this warning in key: value format. For
+-- example: \"data\": [ { \"key\": \"scope\", \"value\":
+-- \"zones\/us-east1-d\" }
 owiData :: Lens' OperationWarningsItem [OperationWarningsItemDataItem]
 owiData
   = lens _owiData (\ s a -> s{_owiData = a}) . _Default
       . _Coerce
 
--- | [Output Only] The warning type identifier for this warning.
+-- | [Output Only] A warning code, if applicable. For example, Compute Engine
+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.
 owiCode :: Lens' OperationWarningsItem (Maybe OperationWarningsItemCode)
 owiCode = lens _owiCode (\ s a -> s{_owiCode = a})
 
--- | [Output Only] Optional human-readable details for this warning.
+-- | [Output Only] A human-readable description of the warning code.
 owiMessage :: Lens' OperationWarningsItem (Maybe Text)
 owiMessage
   = lens _owiMessage (\ s a -> s{_owiMessage = a})
@@ -1476,12 +1503,12 @@
         parseJSON
           = withObject "OperationWarningsItem"
               (\ o ->
-                 OperationWarningsItem <$>
+                 OperationWarningsItem' <$>
                    (o .:? "data" .!= mempty) <*> (o .:? "code") <*>
                      (o .:? "message"))
 
 instance ToJSON OperationWarningsItem where
-        toJSON OperationWarningsItem{..}
+        toJSON OperationWarningsItem'{..}
           = object
               (catMaybes
                  [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,
diff --git a/gen/Network/Google/UserAccounts/Types/Sum.hs b/gen/Network/Google/UserAccounts/Types/Sum.hs
--- a/gen/Network/Google/UserAccounts/Types/Sum.hs
+++ b/gen/Network/Google/UserAccounts/Types/Sum.hs
@@ -8,7 +8,7 @@
 
 -- |
 -- Module      : Network.Google.UserAccounts.Types.Sum
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -18,9 +18,12 @@
 
 import           Network.Google.Prelude
 
--- | [Output Only] The warning type identifier for this warning.
+-- | [Output Only] A warning code, if applicable. For example, Compute Engine
+-- returns NO_RESULTS_ON_PAGE if there are no results in the response.
 data OperationWarningsItemCode
-    = DeprecatedResourceUsed
+    = CleanupFailed
+      -- ^ @CLEANUP_FAILED@
+    | DeprecatedResourceUsed
       -- ^ @DEPRECATED_RESOURCE_USED@
     | DiskSizeLargerThanImageSize
       -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@
@@ -48,30 +51,32 @@
       -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@
     | Unreachable
       -- ^ @UNREACHABLE@
-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
 
 instance Hashable OperationWarningsItemCode
 
-instance FromText OperationWarningsItemCode where
-    fromText = \case
-        "DEPRECATED_RESOURCE_USED" -> Just DeprecatedResourceUsed
-        "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just DiskSizeLargerThanImageSize
-        "INJECTED_KERNELS_DEPRECATED" -> Just InjectedKernelsDeprecated
-        "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just NextHopAddressNotAssigned
-        "NEXT_HOP_CANNOT_IP_FORWARD" -> Just NextHopCannotIPForward
-        "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just NextHopInstanceNotFound
-        "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just NextHopInstanceNotOnNetwork
-        "NEXT_HOP_NOT_RUNNING" -> Just NextHopNotRunning
-        "NOT_CRITICAL_ERROR" -> Just NotCriticalError
-        "NO_RESULTS_ON_PAGE" -> Just NoResultsOnPage
-        "REQUIRED_TOS_AGREEMENT" -> Just RequiredTosAgreement
-        "RESOURCE_NOT_DELETED" -> Just ResourceNotDeleted
-        "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just SingleInstancePropertyTemplate
-        "UNREACHABLE" -> Just Unreachable
-        _ -> Nothing
+instance FromHttpApiData OperationWarningsItemCode where
+    parseQueryParam = \case
+        "CLEANUP_FAILED" -> Right CleanupFailed
+        "DEPRECATED_RESOURCE_USED" -> Right DeprecatedResourceUsed
+        "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DiskSizeLargerThanImageSize
+        "INJECTED_KERNELS_DEPRECATED" -> Right InjectedKernelsDeprecated
+        "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right NextHopAddressNotAssigned
+        "NEXT_HOP_CANNOT_IP_FORWARD" -> Right NextHopCannotIPForward
+        "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right NextHopInstanceNotFound
+        "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right NextHopInstanceNotOnNetwork
+        "NEXT_HOP_NOT_RUNNING" -> Right NextHopNotRunning
+        "NOT_CRITICAL_ERROR" -> Right NotCriticalError
+        "NO_RESULTS_ON_PAGE" -> Right NoResultsOnPage
+        "REQUIRED_TOS_AGREEMENT" -> Right RequiredTosAgreement
+        "RESOURCE_NOT_DELETED" -> Right ResourceNotDeleted
+        "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right SingleInstancePropertyTemplate
+        "UNREACHABLE" -> Right Unreachable
+        x -> Left ("Unable to parse OperationWarningsItemCode from: " <> x)
 
-instance ToText OperationWarningsItemCode where
-    toText = \case
+instance ToHttpApiData OperationWarningsItemCode where
+    toQueryParam = \case
+        CleanupFailed -> "CLEANUP_FAILED"
         DeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"
         DiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
         InjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"
@@ -93,8 +98,8 @@
 instance ToJSON OperationWarningsItemCode where
     toJSON = toJSONText
 
--- | [Output Only] Status of the operation. Can be one of the following:
--- PENDING, RUNNING, or DONE.
+-- | [Output Only] The status of the operation, which can be one of the
+-- following: PENDING, RUNNING, or DONE.
 data OperationStatus
     = Done
       -- ^ @DONE@
@@ -102,19 +107,19 @@
       -- ^ @PENDING@
     | Running
       -- ^ @RUNNING@
-      deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
 
 instance Hashable OperationStatus
 
-instance FromText OperationStatus where
-    fromText = \case
-        "DONE" -> Just Done
-        "PENDING" -> Just Pending
-        "RUNNING" -> Just Running
-        _ -> Nothing
+instance FromHttpApiData OperationStatus where
+    parseQueryParam = \case
+        "DONE" -> Right Done
+        "PENDING" -> Right Pending
+        "RUNNING" -> Right Running
+        x -> Left ("Unable to parse OperationStatus from: " <> x)
 
-instance ToText OperationStatus where
-    toText = \case
+instance ToHttpApiData OperationStatus where
+    toQueryParam = \case
         Done -> "DONE"
         Pending -> "PENDING"
         Running -> "RUNNING"
diff --git a/gogol-useraccounts.cabal b/gogol-useraccounts.cabal
--- a/gogol-useraccounts.cabal
+++ b/gogol-useraccounts.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-useraccounts
-version:               0.0.1
+version:               0.1.0
 synopsis:              Google Cloud User Accounts SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -7,14 +7,15 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2015 Brendan Hay
+copyright:             Copyright (c) 2015-2016 Brendan Hay
 category:              Network, Google, Cloud
 build-type:            Simple
 cabal-version:         >= 1.10
 extra-source-files:    README.md
 
 description:
-    API for the Google Cloud User Accounts service.
+    Creates and manages users and groups for accessing Google Compute Engine
+    virtual machines.
     .
     /Warning:/ This is an experimental prototype/preview release which is still
     under exploratory development and not intended for public use, caveat emptor!
@@ -58,5 +59,5 @@
         , Network.Google.UserAccounts.Types.Sum
 
     build-depends:
-          gogol-core == 0.0.1.*
+          gogol-core == 0.1.0.*
         , base       >= 4.7 && < 5
