diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.1.0`
+`0.1.1`
 
 
 ## Description
diff --git a/gen/Network/Google/DeploymentManager.hs b/gen/Network/Google/DeploymentManager.hs
--- a/gen/Network/Google/DeploymentManager.hs
+++ b/gen/Network/Google/DeploymentManager.hs
@@ -42,6 +42,9 @@
     -- ** deploymentmanager.deployments.get
     , module Network.Google.Resource.DeploymentManager.Deployments.Get
 
+    -- ** deploymentmanager.deployments.getIamPolicy
+    , module Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
+
     -- ** deploymentmanager.deployments.insert
     , module Network.Google.Resource.DeploymentManager.Deployments.Insert
 
@@ -51,9 +54,15 @@
     -- ** deploymentmanager.deployments.patch
     , module Network.Google.Resource.DeploymentManager.Deployments.Patch
 
+    -- ** deploymentmanager.deployments.setIamPolicy
+    , module Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
+
     -- ** deploymentmanager.deployments.stop
     , module Network.Google.Resource.DeploymentManager.Deployments.Stop
 
+    -- ** deploymentmanager.deployments.testIamPermissions
+    , module Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
+
     -- ** deploymentmanager.deployments.update
     , module Network.Google.Resource.DeploymentManager.Deployments.Update
 
@@ -91,6 +100,12 @@
     , configFile
     , cfContent
 
+    -- ** AuditConfig
+    , AuditConfig
+    , auditConfig
+    , acService
+    , acExemptedMembers
+
     -- ** DeploymentsUpdateCreatePolicy
     , DeploymentsUpdateCreatePolicy (..)
 
@@ -112,6 +127,12 @@
     , tlrNextPageToken
     , tlrTypes
 
+    -- ** LogConfigCounterOptions
+    , LogConfigCounterOptions
+    , logConfigCounterOptions
+    , lccoField
+    , lccoMetric
+
     -- ** DeploymentsUpdateDeletePolicy
     , DeploymentsUpdateDeletePolicy (..)
 
@@ -145,6 +166,11 @@
     , oTargetLink
     , oClientOperationId
 
+    -- ** TestPermissionsResponse
+    , TestPermissionsResponse
+    , testPermissionsResponse
+    , tprPermissions
+
     -- ** DeploymentsPatchCreatePolicy
     , DeploymentsPatchCreatePolicy (..)
 
@@ -165,6 +191,7 @@
     , resourceUpdate
     , ruState
     , ruError
+    , ruAccessControl
     , ruWarnings
     , ruIntent
     , ruManifest
@@ -177,6 +204,22 @@
     , dleValue
     , dleKey
 
+    -- ** Rule
+    , Rule
+    , rule
+    , rAction
+    , rNotIns
+    , rIns
+    , rLogConfigs
+    , rConditions
+    , rPermissions
+    , rDescription
+
+    -- ** TestPermissionsRequest
+    , TestPermissionsRequest
+    , testPermissionsRequest
+    , tPermissions
+
     -- ** Manifest
     , Manifest
     , manifest
@@ -205,6 +248,7 @@
     , Resource
     , resource
     , rInsertTime
+    , rAccessControl
     , rURL
     , rWarnings
     , rUpdateTime
@@ -240,10 +284,21 @@
     , operationError
     , oeErrors
 
+    -- ** Policy
+    , Policy
+    , policy
+    , pAuditConfigs
+    , pEtag
+    , pRules
+    , pVersion
+    , pBindings
+    , pIAMOwned
+
     -- ** Type
     , Type
     , type'
     , tInsertTime
+    , tOperation
     , tSelfLink
     , tName
     , tId
@@ -277,6 +332,16 @@
     , resourceUpdateError
     , rueErrors
 
+    -- ** Condition
+    , Condition
+    , condition
+    , cOp
+    , cIAM
+    , cValues
+    , cValue
+    , cSys
+    , cSvc
+
     -- ** DeploymentsListResponse
     , DeploymentsListResponse
     , deploymentsListResponse
@@ -290,6 +355,16 @@
     , rwiCode
     , rwiMessage
 
+    -- ** LogConfig
+    , LogConfig
+    , logConfig
+    , lcCounter
+
+    -- ** ResourceAccessControl
+    , ResourceAccessControl
+    , resourceAccessControl
+    , racGcpIAMPolicy
+
     -- ** TargetConfiguration
     , TargetConfiguration
     , targetConfiguration
@@ -303,6 +378,12 @@
     , owiCode
     , owiMessage
 
+    -- ** Binding
+    , Binding
+    , binding
+    , bMembers
+    , bRole
+
     -- ** Deployment
     , Deployment
     , deployment
@@ -324,10 +405,13 @@
 import           Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
 import           Network.Google.Resource.DeploymentManager.Deployments.Delete
 import           Network.Google.Resource.DeploymentManager.Deployments.Get
+import           Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
 import           Network.Google.Resource.DeploymentManager.Deployments.Insert
 import           Network.Google.Resource.DeploymentManager.Deployments.List
 import           Network.Google.Resource.DeploymentManager.Deployments.Patch
+import           Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
 import           Network.Google.Resource.DeploymentManager.Deployments.Stop
+import           Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
 import           Network.Google.Resource.DeploymentManager.Deployments.Update
 import           Network.Google.Resource.DeploymentManager.Manifests.Get
 import           Network.Google.Resource.DeploymentManager.Manifests.List
@@ -349,10 +433,13 @@
        :<|> ManifestsGetResource
        :<|> DeploymentsInsertResource
        :<|> DeploymentsListResource
+       :<|> DeploymentsGetIAMPolicyResource
        :<|> DeploymentsPatchResource
        :<|> DeploymentsGetResource
        :<|> DeploymentsCancelPreviewResource
+       :<|> DeploymentsSetIAMPolicyResource
        :<|> DeploymentsStopResource
+       :<|> DeploymentsTestIAMPermissionsResource
        :<|> DeploymentsDeleteResource
        :<|> DeploymentsUpdateResource
        :<|> OperationsListResource
diff --git a/gen/Network/Google/DeploymentManager/Types.hs b/gen/Network/Google/DeploymentManager/Types.hs
--- a/gen/Network/Google/DeploymentManager/Types.hs
+++ b/gen/Network/Google/DeploymentManager/Types.hs
@@ -36,6 +36,12 @@
     , configFile
     , cfContent
 
+    -- * AuditConfig
+    , AuditConfig
+    , auditConfig
+    , acService
+    , acExemptedMembers
+
     -- * DeploymentsUpdateCreatePolicy
     , DeploymentsUpdateCreatePolicy (..)
 
@@ -57,6 +63,12 @@
     , tlrNextPageToken
     , tlrTypes
 
+    -- * LogConfigCounterOptions
+    , LogConfigCounterOptions
+    , logConfigCounterOptions
+    , lccoField
+    , lccoMetric
+
     -- * DeploymentsUpdateDeletePolicy
     , DeploymentsUpdateDeletePolicy (..)
 
@@ -90,6 +102,11 @@
     , oTargetLink
     , oClientOperationId
 
+    -- * TestPermissionsResponse
+    , TestPermissionsResponse
+    , testPermissionsResponse
+    , tprPermissions
+
     -- * DeploymentsPatchCreatePolicy
     , DeploymentsPatchCreatePolicy (..)
 
@@ -110,6 +127,7 @@
     , resourceUpdate
     , ruState
     , ruError
+    , ruAccessControl
     , ruWarnings
     , ruIntent
     , ruManifest
@@ -122,6 +140,22 @@
     , dleValue
     , dleKey
 
+    -- * Rule
+    , Rule
+    , rule
+    , rAction
+    , rNotIns
+    , rIns
+    , rLogConfigs
+    , rConditions
+    , rPermissions
+    , rDescription
+
+    -- * TestPermissionsRequest
+    , TestPermissionsRequest
+    , testPermissionsRequest
+    , tPermissions
+
     -- * Manifest
     , Manifest
     , manifest
@@ -150,6 +184,7 @@
     , Resource
     , resource
     , rInsertTime
+    , rAccessControl
     , rURL
     , rWarnings
     , rUpdateTime
@@ -185,10 +220,21 @@
     , operationError
     , oeErrors
 
+    -- * Policy
+    , Policy
+    , policy
+    , pAuditConfigs
+    , pEtag
+    , pRules
+    , pVersion
+    , pBindings
+    , pIAMOwned
+
     -- * Type
     , Type
     , type'
     , tInsertTime
+    , tOperation
     , tSelfLink
     , tName
     , tId
@@ -222,6 +268,16 @@
     , resourceUpdateError
     , rueErrors
 
+    -- * Condition
+    , Condition
+    , condition
+    , cOp
+    , cIAM
+    , cValues
+    , cValue
+    , cSys
+    , cSvc
+
     -- * DeploymentsListResponse
     , DeploymentsListResponse
     , deploymentsListResponse
@@ -235,6 +291,16 @@
     , rwiCode
     , rwiMessage
 
+    -- * LogConfig
+    , LogConfig
+    , logConfig
+    , lcCounter
+
+    -- * ResourceAccessControl
+    , ResourceAccessControl
+    , resourceAccessControl
+    , racGcpIAMPolicy
+
     -- * TargetConfiguration
     , TargetConfiguration
     , targetConfiguration
@@ -247,6 +313,12 @@
     , owiData
     , owiCode
     , owiMessage
+
+    -- * Binding
+    , Binding
+    , binding
+    , bMembers
+    , bRole
 
     -- * Deployment
     , Deployment
diff --git a/gen/Network/Google/DeploymentManager/Types/Product.hs b/gen/Network/Google/DeploymentManager/Types/Product.hs
--- a/gen/Network/Google/DeploymentManager/Types/Product.hs
+++ b/gen/Network/Google/DeploymentManager/Types/Product.hs
@@ -104,6 +104,62 @@
         toJSON ConfigFile'{..}
           = object (catMaybes [("content" .=) <$> _cfContent])
 
+-- | Enables \"data access\" audit logging for a service and specifies a list
+-- of members that are log-exempted.
+--
+-- /See:/ 'auditConfig' smart constructor.
+data AuditConfig = AuditConfig'
+    { _acService         :: !(Maybe Text)
+    , _acExemptedMembers :: !(Maybe [Text])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'acService'
+--
+-- * 'acExemptedMembers'
+auditConfig
+    :: AuditConfig
+auditConfig =
+    AuditConfig'
+    { _acService = Nothing
+    , _acExemptedMembers = Nothing
+    }
+
+-- | Specifies a service that will be enabled for \"data access\" audit
+-- logging. For example, \`resourcemanager\`, \`storage\`, \`compute\`.
+-- \`allServices\` is a special value that covers all services.
+acService :: Lens' AuditConfig (Maybe Text)
+acService
+  = lens _acService (\ s a -> s{_acService = a})
+
+-- | Specifies the identities that are exempted from \"data access\" audit
+-- logging for the \`service\` specified above. Follows the same format of
+-- Binding.members.
+acExemptedMembers :: Lens' AuditConfig [Text]
+acExemptedMembers
+  = lens _acExemptedMembers
+      (\ s a -> s{_acExemptedMembers = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON AuditConfig where
+        parseJSON
+          = withObject "AuditConfig"
+              (\ o ->
+                 AuditConfig' <$>
+                   (o .:? "service") <*>
+                     (o .:? "exemptedMembers" .!= mempty))
+
+instance ToJSON AuditConfig where
+        toJSON AuditConfig'{..}
+          = object
+              (catMaybes
+                 [("service" .=) <$> _acService,
+                  ("exemptedMembers" .=) <$> _acExemptedMembers])
+
 -- | A response containing a partial list of operations and a page token used
 -- to build the next request if the request has been truncated.
 --
@@ -262,6 +318,53 @@
                  [("nextPageToken" .=) <$> _tlrNextPageToken,
                   ("types" .=) <$> _tlrTypes])
 
+-- | Options for counters
+--
+-- /See:/ 'logConfigCounterOptions' smart constructor.
+data LogConfigCounterOptions = LogConfigCounterOptions'
+    { _lccoField  :: !(Maybe Text)
+    , _lccoMetric :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'LogConfigCounterOptions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'lccoField'
+--
+-- * 'lccoMetric'
+logConfigCounterOptions
+    :: LogConfigCounterOptions
+logConfigCounterOptions =
+    LogConfigCounterOptions'
+    { _lccoField = Nothing
+    , _lccoMetric = Nothing
+    }
+
+-- | The field value to attribute.
+lccoField :: Lens' LogConfigCounterOptions (Maybe Text)
+lccoField
+  = lens _lccoField (\ s a -> s{_lccoField = a})
+
+-- | The metric to update.
+lccoMetric :: Lens' LogConfigCounterOptions (Maybe Text)
+lccoMetric
+  = lens _lccoMetric (\ s a -> s{_lccoMetric = a})
+
+instance FromJSON LogConfigCounterOptions where
+        parseJSON
+          = withObject "LogConfigCounterOptions"
+              (\ o ->
+                 LogConfigCounterOptions' <$>
+                   (o .:? "field") <*> (o .:? "metric"))
+
+instance ToJSON LogConfigCounterOptions where
+        toJSON LogConfigCounterOptions'{..}
+          = object
+              (catMaybes
+                 [("field" .=) <$> _lccoField,
+                  ("metric" .=) <$> _lccoMetric])
+
 -- | An Operation resource, used to manage asynchronous API requests.
 --
 -- /See:/ 'operation' smart constructor.
@@ -498,7 +601,9 @@
 oDescription
   = lens _oDescription (\ s a -> s{_oDescription = a})
 
--- | [Output Only] The URL of the resource that the operation modifies.
+-- | [Output Only] The URL of the resource that the operation modifies. If
+-- creating a persistent disk snapshot, this points to the persistent disk
+-- that the snapshot was created from.
 oTargetLink :: Lens' Operation (Maybe Text)
 oTargetLink
   = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
@@ -563,6 +668,45 @@
                   ("targetLink" .=) <$> _oTargetLink,
                   ("clientOperationId" .=) <$> _oClientOperationId])
 
+--
+-- /See:/ 'testPermissionsResponse' smart constructor.
+newtype TestPermissionsResponse = TestPermissionsResponse'
+    { _tprPermissions :: Maybe [Text]
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'TestPermissionsResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tprPermissions'
+testPermissionsResponse
+    :: TestPermissionsResponse
+testPermissionsResponse =
+    TestPermissionsResponse'
+    { _tprPermissions = Nothing
+    }
+
+-- | A subset of \`TestPermissionsRequest.permissions\` that the caller is
+-- allowed.
+tprPermissions :: Lens' TestPermissionsResponse [Text]
+tprPermissions
+  = lens _tprPermissions
+      (\ s a -> s{_tprPermissions = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON TestPermissionsResponse where
+        parseJSON
+          = withObject "TestPermissionsResponse"
+              (\ o ->
+                 TestPermissionsResponse' <$>
+                   (o .:? "permissions" .!= mempty))
+
+instance ToJSON TestPermissionsResponse where
+        toJSON TestPermissionsResponse'{..}
+          = object
+              (catMaybes [("permissions" .=) <$> _tprPermissions])
+
 -- | A response containing a partial list of resources and a page token used
 -- to build the next request if the request has been truncated.
 --
@@ -676,6 +820,7 @@
 data ResourceUpdate = ResourceUpdate'
     { _ruState           :: !(Maybe Text)
     , _ruError           :: !(Maybe ResourceUpdateError)
+    , _ruAccessControl   :: !(Maybe ResourceAccessControl)
     , _ruWarnings        :: !(Maybe [ResourceUpdateWarningsItem])
     , _ruIntent          :: !(Maybe Text)
     , _ruManifest        :: !(Maybe Text)
@@ -691,6 +836,8 @@
 --
 -- * 'ruError'
 --
+-- * 'ruAccessControl'
+--
 -- * 'ruWarnings'
 --
 -- * 'ruIntent'
@@ -706,6 +853,7 @@
     ResourceUpdate'
     { _ruState = Nothing
     , _ruError = Nothing
+    , _ruAccessControl = Nothing
     , _ruWarnings = Nothing
     , _ruIntent = Nothing
     , _ruManifest = Nothing
@@ -722,6 +870,13 @@
 ruError :: Lens' ResourceUpdate (Maybe ResourceUpdateError)
 ruError = lens _ruError (\ s a -> s{_ruError = a})
 
+-- | The Access Control Policy to set on this resource after updating the
+-- resource itself.
+ruAccessControl :: Lens' ResourceUpdate (Maybe ResourceAccessControl)
+ruAccessControl
+  = lens _ruAccessControl
+      (\ s a -> s{_ruAccessControl = a})
+
 -- | [Output Only] If warning messages are generated during processing of
 -- this resource, this field will be populated.
 ruWarnings :: Lens' ResourceUpdate [ResourceUpdateWarningsItem]
@@ -759,7 +914,8 @@
               (\ o ->
                  ResourceUpdate' <$>
                    (o .:? "state") <*> (o .:? "error") <*>
-                     (o .:? "warnings" .!= mempty)
+                     (o .:? "accessControl")
+                     <*> (o .:? "warnings" .!= mempty)
                      <*> (o .:? "intent")
                      <*> (o .:? "manifest")
                      <*> (o .:? "finalProperties")
@@ -771,6 +927,7 @@
               (catMaybes
                  [("state" .=) <$> _ruState,
                   ("error" .=) <$> _ruError,
+                  ("accessControl" .=) <$> _ruAccessControl,
                   ("warnings" .=) <$> _ruWarnings,
                   ("intent" .=) <$> _ruIntent,
                   ("manifest" .=) <$> _ruManifest,
@@ -818,6 +975,157 @@
               (catMaybes
                  [("value" .=) <$> _dleValue, ("key" .=) <$> _dleKey])
 
+-- | A rule to be applied in a Policy.
+--
+-- /See:/ 'rule' smart constructor.
+data Rule = Rule'
+    { _rAction      :: !(Maybe Text)
+    , _rNotIns      :: !(Maybe [Text])
+    , _rIns         :: !(Maybe [Text])
+    , _rLogConfigs  :: !(Maybe [LogConfig])
+    , _rConditions  :: !(Maybe [Condition])
+    , _rPermissions :: !(Maybe [Text])
+    , _rDescription :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Rule' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rAction'
+--
+-- * 'rNotIns'
+--
+-- * 'rIns'
+--
+-- * 'rLogConfigs'
+--
+-- * 'rConditions'
+--
+-- * 'rPermissions'
+--
+-- * 'rDescription'
+rule
+    :: Rule
+rule =
+    Rule'
+    { _rAction = Nothing
+    , _rNotIns = Nothing
+    , _rIns = Nothing
+    , _rLogConfigs = Nothing
+    , _rConditions = Nothing
+    , _rPermissions = Nothing
+    , _rDescription = Nothing
+    }
+
+-- | Required
+rAction :: Lens' Rule (Maybe Text)
+rAction = lens _rAction (\ s a -> s{_rAction = a})
+
+-- | If one or more \'not_in\' clauses are specified, the rule matches if the
+-- PRINCIPAL\/AUTHORITY_SELECTOR is in none of the entries.
+rNotIns :: Lens' Rule [Text]
+rNotIns
+  = lens _rNotIns (\ s a -> s{_rNotIns = a}) . _Default
+      . _Coerce
+
+-- | If one or more \'in\' clauses are specified, the rule matches if the
+-- PRINCIPAL\/AUTHORITY_SELECTOR is in at least one of these entries.
+rIns :: Lens' Rule [Text]
+rIns
+  = lens _rIns (\ s a -> s{_rIns = a}) . _Default .
+      _Coerce
+
+-- | The config returned to callers of tech.iam.IAM.CheckPolicy for any
+-- entries that match the LOG action.
+rLogConfigs :: Lens' Rule [LogConfig]
+rLogConfigs
+  = lens _rLogConfigs (\ s a -> s{_rLogConfigs = a}) .
+      _Default
+      . _Coerce
+
+-- | Additional restrictions that must be met
+rConditions :: Lens' Rule [Condition]
+rConditions
+  = lens _rConditions (\ s a -> s{_rConditions = a}) .
+      _Default
+      . _Coerce
+
+-- | A permission is a string of form \'..\' (e.g.,
+-- \'storage.buckets.list\'). A value of \'*\' matches all permissions, and
+-- a verb part of \'*\' (e.g., \'storage.buckets.*\') matches all verbs.
+rPermissions :: Lens' Rule [Text]
+rPermissions
+  = lens _rPermissions (\ s a -> s{_rPermissions = a})
+      . _Default
+      . _Coerce
+
+-- | Human-readable description of the rule.
+rDescription :: Lens' Rule (Maybe Text)
+rDescription
+  = lens _rDescription (\ s a -> s{_rDescription = a})
+
+instance FromJSON Rule where
+        parseJSON
+          = withObject "Rule"
+              (\ o ->
+                 Rule' <$>
+                   (o .:? "action") <*> (o .:? "notIns" .!= mempty) <*>
+                     (o .:? "ins" .!= mempty)
+                     <*> (o .:? "logConfigs" .!= mempty)
+                     <*> (o .:? "conditions" .!= mempty)
+                     <*> (o .:? "permissions" .!= mempty)
+                     <*> (o .:? "description"))
+
+instance ToJSON Rule where
+        toJSON Rule'{..}
+          = object
+              (catMaybes
+                 [("action" .=) <$> _rAction,
+                  ("notIns" .=) <$> _rNotIns, ("ins" .=) <$> _rIns,
+                  ("logConfigs" .=) <$> _rLogConfigs,
+                  ("conditions" .=) <$> _rConditions,
+                  ("permissions" .=) <$> _rPermissions,
+                  ("description" .=) <$> _rDescription])
+
+--
+-- /See:/ 'testPermissionsRequest' smart constructor.
+newtype TestPermissionsRequest = TestPermissionsRequest'
+    { _tPermissions :: Maybe [Text]
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'TestPermissionsRequest' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tPermissions'
+testPermissionsRequest
+    :: TestPermissionsRequest
+testPermissionsRequest =
+    TestPermissionsRequest'
+    { _tPermissions = Nothing
+    }
+
+-- | The set of permissions to check for the \'resource\'. Permissions with
+-- wildcards (such as \'*\' or \'storage.*\') are not allowed.
+tPermissions :: Lens' TestPermissionsRequest [Text]
+tPermissions
+  = lens _tPermissions (\ s a -> s{_tPermissions = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON TestPermissionsRequest where
+        parseJSON
+          = withObject "TestPermissionsRequest"
+              (\ o ->
+                 TestPermissionsRequest' <$>
+                   (o .:? "permissions" .!= mempty))
+
+instance ToJSON TestPermissionsRequest where
+        toJSON TestPermissionsRequest'{..}
+          = object
+              (catMaybes [("permissions" .=) <$> _tPermissions])
+
 -- |
 --
 -- /See:/ 'manifest' smart constructor.
@@ -1045,6 +1353,7 @@
 -- /See:/ 'resource' smart constructor.
 data Resource = Resource'
     { _rInsertTime      :: !(Maybe Text)
+    , _rAccessControl   :: !(Maybe ResourceAccessControl)
     , _rURL             :: !(Maybe Text)
     , _rWarnings        :: !(Maybe [ResourceWarningsItem])
     , _rUpdateTime      :: !(Maybe Text)
@@ -1063,6 +1372,8 @@
 --
 -- * 'rInsertTime'
 --
+-- * 'rAccessControl'
+--
 -- * 'rURL'
 --
 -- * 'rWarnings'
@@ -1087,6 +1398,7 @@
 resource =
     Resource'
     { _rInsertTime = Nothing
+    , _rAccessControl = Nothing
     , _rURL = Nothing
     , _rWarnings = Nothing
     , _rUpdateTime = Nothing
@@ -1105,6 +1417,12 @@
 rInsertTime
   = lens _rInsertTime (\ s a -> s{_rInsertTime = a})
 
+-- | The Access Control Policy set on this resource.
+rAccessControl :: Lens' Resource (Maybe ResourceAccessControl)
+rAccessControl
+  = lens _rAccessControl
+      (\ s a -> s{_rAccessControl = a})
+
 -- | [Output Only] The URL of the actual resource.
 rURL :: Lens' Resource (Maybe Text)
 rURL = lens _rURL (\ s a -> s{_rURL = a})
@@ -1146,7 +1464,7 @@
   = lens _rId (\ s a -> s{_rId = a}) . mapping _Coerce
 
 -- | [Output Only] The type of the resource, for example compute.v1.instance,
--- or replicaPools.v1beta2.instanceGroupManager.
+-- or cloudfunctions.v1beta1.function.
 rType :: Lens' Resource (Maybe Text)
 rType = lens _rType (\ s a -> s{_rType = a})
 
@@ -1166,8 +1484,9 @@
           = withObject "Resource"
               (\ o ->
                  Resource' <$>
-                   (o .:? "insertTime") <*> (o .:? "url") <*>
-                     (o .:? "warnings" .!= mempty)
+                   (o .:? "insertTime") <*> (o .:? "accessControl") <*>
+                     (o .:? "url")
+                     <*> (o .:? "warnings" .!= mempty)
                      <*> (o .:? "updateTime")
                      <*> (o .:? "name")
                      <*> (o .:? "manifest")
@@ -1182,6 +1501,7 @@
           = object
               (catMaybes
                  [("insertTime" .=) <$> _rInsertTime,
+                  ("accessControl" .=) <$> _rAccessControl,
                   ("url" .=) <$> _rURL, ("warnings" .=) <$> _rWarnings,
                   ("updateTime" .=) <$> _rUpdateTime,
                   ("name" .=) <$> _rName,
@@ -1383,11 +1703,142 @@
         toJSON OperationError'{..}
           = object (catMaybes [("errors" .=) <$> _oeErrors])
 
+-- | Defines an Identity and Access Management (IAM) policy. It is used to
+-- specify access control policies for Cloud Platform resources. A
+-- \`Policy\` consists of a list of \`bindings\`. A \`Binding\` binds a
+-- list of \`members\` to a \`role\`, where the members can be user
+-- accounts, Google groups, Google domains, and service accounts. A
+-- \`role\` is a named list of permissions defined by IAM. **Example** {
+-- \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [
+-- \"user:mike\'example.com\", \"group:admins\'example.com\",
+-- \"domain:google.com\",
+-- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\", ] }, {
+-- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }
+-- ] } For a description of IAM and its features, see the [IAM developer\'s
+-- guide](https:\/\/cloud.google.com\/iam).
+--
+-- /See:/ 'policy' smart constructor.
+data Policy = Policy'
+    { _pAuditConfigs :: !(Maybe [AuditConfig])
+    , _pEtag         :: !(Maybe Base64)
+    , _pRules        :: !(Maybe [Rule])
+    , _pVersion      :: !(Maybe (Textual Int32))
+    , _pBindings     :: !(Maybe [Binding])
+    , _pIAMOwned     :: !(Maybe Bool)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Policy' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'pAuditConfigs'
+--
+-- * 'pEtag'
+--
+-- * 'pRules'
+--
+-- * 'pVersion'
+--
+-- * 'pBindings'
+--
+-- * 'pIAMOwned'
+policy
+    :: Policy
+policy =
+    Policy'
+    { _pAuditConfigs = Nothing
+    , _pEtag = Nothing
+    , _pRules = Nothing
+    , _pVersion = Nothing
+    , _pBindings = Nothing
+    , _pIAMOwned = Nothing
+    }
+
+-- | Specifies audit logging configs for \"data access\". \"data access\":
+-- generally refers to data reads\/writes and admin reads. \"admin
+-- activity\": generally refers to admin writes. Note: \`AuditConfig\`
+-- doesn\'t apply to \"admin activity\", which always enables audit
+-- logging.
+pAuditConfigs :: Lens' Policy [AuditConfig]
+pAuditConfigs
+  = lens _pAuditConfigs
+      (\ s a -> s{_pAuditConfigs = a})
+      . _Default
+      . _Coerce
+
+-- | \`etag\` is used for optimistic concurrency control as a way to help
+-- prevent simultaneous updates of a policy from overwriting each other. It
+-- is strongly suggested that systems make use of the \`etag\` in the
+-- read-modify-write cycle to perform policy updates in order to avoid race
+-- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,
+-- and systems are expected to put that etag in the request to
+-- \`setIamPolicy\` to ensure that their change will be applied to the same
+-- version of the policy. If no \`etag\` is provided in the call to
+-- \`setIamPolicy\`, then the existing policy is overwritten blindly.
+pEtag :: Lens' Policy (Maybe ByteString)
+pEtag
+  = lens _pEtag (\ s a -> s{_pEtag = a}) .
+      mapping _Base64
+
+-- | If more than one rule is specified, the rules are applied in the
+-- following manner: - All matching LOG rules are always applied. - If any
+-- DENY\/DENY_WITH_LOG rule matches, permission is denied. Logging will be
+-- applied if one or more matching rule requires logging. - Otherwise, if
+-- any ALLOW\/ALLOW_WITH_LOG rule matches, permission is granted. Logging
+-- will be applied if one or more matching rule requires logging. -
+-- Otherwise, if no rule applies, permission is denied.
+pRules :: Lens' Policy [Rule]
+pRules
+  = lens _pRules (\ s a -> s{_pRules = a}) . _Default .
+      _Coerce
+
+-- | Version of the \`Policy\`. The default version is 0.
+pVersion :: Lens' Policy (Maybe Int32)
+pVersion
+  = lens _pVersion (\ s a -> s{_pVersion = a}) .
+      mapping _Coerce
+
+-- | Associates a list of \`members\` to a \`role\`. Multiple \`bindings\`
+-- must not be specified for the same \`role\`. \`bindings\` with no
+-- members will result in an error.
+pBindings :: Lens' Policy [Binding]
+pBindings
+  = lens _pBindings (\ s a -> s{_pBindings = a}) .
+      _Default
+      . _Coerce
+
+-- |
+pIAMOwned :: Lens' Policy (Maybe Bool)
+pIAMOwned
+  = lens _pIAMOwned (\ s a -> s{_pIAMOwned = a})
+
+instance FromJSON Policy where
+        parseJSON
+          = withObject "Policy"
+              (\ o ->
+                 Policy' <$>
+                   (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")
+                     <*> (o .:? "rules" .!= mempty)
+                     <*> (o .:? "version")
+                     <*> (o .:? "bindings" .!= mempty)
+                     <*> (o .:? "iamOwned"))
+
+instance ToJSON Policy where
+        toJSON Policy'{..}
+          = object
+              (catMaybes
+                 [("auditConfigs" .=) <$> _pAuditConfigs,
+                  ("etag" .=) <$> _pEtag, ("rules" .=) <$> _pRules,
+                  ("version" .=) <$> _pVersion,
+                  ("bindings" .=) <$> _pBindings,
+                  ("iamOwned" .=) <$> _pIAMOwned])
+
 -- | A resource type supported by Deployment Manager.
 --
 -- /See:/ 'type'' smart constructor.
 data Type = Type'
     { _tInsertTime :: !(Maybe Text)
+    , _tOperation  :: !(Maybe Operation)
     , _tSelfLink   :: !(Maybe Text)
     , _tName       :: !(Maybe Text)
     , _tId         :: !(Maybe (Textual Word64))
@@ -1399,6 +1850,8 @@
 --
 -- * 'tInsertTime'
 --
+-- * 'tOperation'
+--
 -- * 'tSelfLink'
 --
 -- * 'tName'
@@ -1409,6 +1862,7 @@
 type' =
     Type'
     { _tInsertTime = Nothing
+    , _tOperation = Nothing
     , _tSelfLink = Nothing
     , _tName = Nothing
     , _tId = Nothing
@@ -1420,6 +1874,12 @@
 tInsertTime
   = lens _tInsertTime (\ s a -> s{_tInsertTime = a})
 
+-- | [Output Only] The Operation that most recently ran, or is currently
+-- running, on this type.
+tOperation :: Lens' Type (Maybe Operation)
+tOperation
+  = lens _tOperation (\ s a -> s{_tOperation = a})
+
 -- | [Output Only] Self link for the type.
 tSelfLink :: Lens' Type (Maybe Text)
 tSelfLink
@@ -1439,8 +1899,9 @@
           = withObject "Type"
               (\ o ->
                  Type' <$>
-                   (o .:? "insertTime") <*> (o .:? "selfLink") <*>
-                     (o .:? "name")
+                   (o .:? "insertTime") <*> (o .:? "operation") <*>
+                     (o .:? "selfLink")
+                     <*> (o .:? "name")
                      <*> (o .:? "id"))
 
 instance ToJSON Type where
@@ -1448,6 +1909,7 @@
           = object
               (catMaybes
                  [("insertTime" .=) <$> _tInsertTime,
+                  ("operation" .=) <$> _tOperation,
                   ("selfLink" .=) <$> _tSelfLink,
                   ("name" .=) <$> _tName, ("id" .=) <$> _tId])
 
@@ -1687,6 +2149,91 @@
         toJSON ResourceUpdateError'{..}
           = object (catMaybes [("errors" .=) <$> _rueErrors])
 
+-- | A condition to be met.
+--
+-- /See:/ 'condition' smart constructor.
+data Condition = Condition'
+    { _cOp     :: !(Maybe Text)
+    , _cIAM    :: !(Maybe Text)
+    , _cValues :: !(Maybe [Text])
+    , _cValue  :: !(Maybe Text)
+    , _cSys    :: !(Maybe Text)
+    , _cSvc    :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Condition' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'cOp'
+--
+-- * 'cIAM'
+--
+-- * 'cValues'
+--
+-- * 'cValue'
+--
+-- * 'cSys'
+--
+-- * 'cSvc'
+condition
+    :: Condition
+condition =
+    Condition'
+    { _cOp = Nothing
+    , _cIAM = Nothing
+    , _cValues = Nothing
+    , _cValue = Nothing
+    , _cSys = Nothing
+    , _cSvc = Nothing
+    }
+
+-- | An operator to apply the subject with.
+cOp :: Lens' Condition (Maybe Text)
+cOp = lens _cOp (\ s a -> s{_cOp = a})
+
+-- | Trusted attributes supplied by the IAM system.
+cIAM :: Lens' Condition (Maybe Text)
+cIAM = lens _cIAM (\ s a -> s{_cIAM = a})
+
+-- | The objects of the condition. This is mutually exclusive with \'value\'.
+cValues :: Lens' Condition [Text]
+cValues
+  = lens _cValues (\ s a -> s{_cValues = a}) . _Default
+      . _Coerce
+
+-- | DEPRECATED. Use \'values\' instead.
+cValue :: Lens' Condition (Maybe Text)
+cValue = lens _cValue (\ s a -> s{_cValue = a})
+
+-- | Trusted attributes supplied by any service that owns resources and uses
+-- the IAM system for access control.
+cSys :: Lens' Condition (Maybe Text)
+cSys = lens _cSys (\ s a -> s{_cSys = a})
+
+-- | Trusted attributes discharged by the service.
+cSvc :: Lens' Condition (Maybe Text)
+cSvc = lens _cSvc (\ s a -> s{_cSvc = a})
+
+instance FromJSON Condition where
+        parseJSON
+          = withObject "Condition"
+              (\ o ->
+                 Condition' <$>
+                   (o .:? "op") <*> (o .:? "iam") <*>
+                     (o .:? "values" .!= mempty)
+                     <*> (o .:? "value")
+                     <*> (o .:? "sys")
+                     <*> (o .:? "svc"))
+
+instance ToJSON Condition where
+        toJSON Condition'{..}
+          = object
+              (catMaybes
+                 [("op" .=) <$> _cOp, ("iam" .=) <$> _cIAM,
+                  ("values" .=) <$> _cValues, ("value" .=) <$> _cValue,
+                  ("sys" .=) <$> _cSys, ("svc" .=) <$> _cSvc])
+
 -- | A response containing a partial list of deployments and a page token
 -- used to build the next request if the request has been truncated.
 --
@@ -1799,6 +2346,76 @@
                  [("data" .=) <$> _rwiData, ("code" .=) <$> _rwiCode,
                   ("message" .=) <$> _rwiMessage])
 
+-- | Specifies what kind of log the caller must write
+--
+-- /See:/ 'logConfig' smart constructor.
+newtype LogConfig = LogConfig'
+    { _lcCounter :: Maybe LogConfigCounterOptions
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'LogConfig' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'lcCounter'
+logConfig
+    :: LogConfig
+logConfig =
+    LogConfig'
+    { _lcCounter = Nothing
+    }
+
+-- | Counter options.
+lcCounter :: Lens' LogConfig (Maybe LogConfigCounterOptions)
+lcCounter
+  = lens _lcCounter (\ s a -> s{_lcCounter = a})
+
+instance FromJSON LogConfig where
+        parseJSON
+          = withObject "LogConfig"
+              (\ o -> LogConfig' <$> (o .:? "counter"))
+
+instance ToJSON LogConfig where
+        toJSON LogConfig'{..}
+          = object (catMaybes [("counter" .=) <$> _lcCounter])
+
+-- | The access controls set on the resource.
+--
+-- /See:/ 'resourceAccessControl' smart constructor.
+newtype ResourceAccessControl = ResourceAccessControl'
+    { _racGcpIAMPolicy :: Maybe Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ResourceAccessControl' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'racGcpIAMPolicy'
+resourceAccessControl
+    :: ResourceAccessControl
+resourceAccessControl =
+    ResourceAccessControl'
+    { _racGcpIAMPolicy = Nothing
+    }
+
+-- | The GCP IAM Policy to set on the resource.
+racGcpIAMPolicy :: Lens' ResourceAccessControl (Maybe Text)
+racGcpIAMPolicy
+  = lens _racGcpIAMPolicy
+      (\ s a -> s{_racGcpIAMPolicy = a})
+
+instance FromJSON ResourceAccessControl where
+        parseJSON
+          = withObject "ResourceAccessControl"
+              (\ o ->
+                 ResourceAccessControl' <$> (o .:? "gcpIamPolicy"))
+
+instance ToJSON ResourceAccessControl where
+        toJSON ResourceAccessControl'{..}
+          = object
+              (catMaybes
+                 [("gcpIamPolicy" .=) <$> _racGcpIAMPolicy])
+
 -- |
 --
 -- /See:/ 'targetConfiguration' smart constructor.
@@ -1907,6 +2524,68 @@
               (catMaybes
                  [("data" .=) <$> _owiData, ("code" .=) <$> _owiCode,
                   ("message" .=) <$> _owiMessage])
+
+-- | Associates \`members\` with a \`role\`.
+--
+-- /See:/ 'binding' smart constructor.
+data Binding = Binding'
+    { _bMembers :: !(Maybe [Text])
+    , _bRole    :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Binding' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bMembers'
+--
+-- * 'bRole'
+binding
+    :: Binding
+binding =
+    Binding'
+    { _bMembers = Nothing
+    , _bRole = Nothing
+    }
+
+-- | Specifies the identities requesting access for a Cloud Platform
+-- resource. \`members\` can have the following values: * \`allUsers\`: A
+-- special identifier that represents anyone who is on the internet; with
+-- or without a Google account. * \`allAuthenticatedUsers\`: A special
+-- identifier that represents anyone who is authenticated with a Google
+-- account or a service account. * \`user:{emailid}\`: An email address
+-- that represents a specific Google account. For example,
+-- \`alice\'gmail.com\` or \`joe\'example.com\`. *
+-- \`serviceAccount:{emailid}\`: An email address that represents a service
+-- account. For example, \`my-other-app\'appspot.gserviceaccount.com\`. *
+-- \`group:{emailid}\`: An email address that represents a Google group.
+-- For example, \`admins\'example.com\`. * \`domain:{domain}\`: A Google
+-- Apps domain name that represents all the users of that domain. For
+-- example, \`google.com\` or \`example.com\`.
+bMembers :: Lens' Binding [Text]
+bMembers
+  = lens _bMembers (\ s a -> s{_bMembers = a}) .
+      _Default
+      . _Coerce
+
+-- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,
+-- \`roles\/editor\`, or \`roles\/owner\`.
+bRole :: Lens' Binding (Maybe Text)
+bRole = lens _bRole (\ s a -> s{_bRole = a})
+
+instance FromJSON Binding where
+        parseJSON
+          = withObject "Binding"
+              (\ o ->
+                 Binding' <$>
+                   (o .:? "members" .!= mempty) <*> (o .:? "role"))
+
+instance ToJSON Binding where
+        toJSON Binding'{..}
+          = object
+              (catMaybes
+                 [("members" .=) <$> _bMembers,
+                  ("role" .=) <$> _bRole])
 
 -- |
 --
diff --git a/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hs b/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hs
@@ -0,0 +1,104 @@
+{-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE NoImplicitPrelude  #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+{-# LANGUAGE TypeOperators      #-}
+
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
+
+-- |
+-- Module      : Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
+-- 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)
+--
+-- Gets the access control policy for a resource. May be empty if no such
+-- policy or resource exists.
+--
+-- /See:/ <https://cloud.google.com/deployment-manager/ Google Cloud Deployment Manager API Reference> for @deploymentmanager.deployments.getIamPolicy@.
+module Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
+    (
+    -- * REST Resource
+      DeploymentsGetIAMPolicyResource
+
+    -- * Creating a Request
+    , deploymentsGetIAMPolicy
+    , DeploymentsGetIAMPolicy
+
+    -- * Request Lenses
+    , dgipProject
+    , dgipResource
+    ) where
+
+import           Network.Google.DeploymentManager.Types
+import           Network.Google.Prelude
+
+-- | A resource alias for @deploymentmanager.deployments.getIamPolicy@ method which the
+-- 'DeploymentsGetIAMPolicy' request conforms to.
+type DeploymentsGetIAMPolicyResource =
+     "deploymentmanager" :>
+       "v2" :>
+         "projects" :>
+           Capture "project" Text :>
+             "global" :>
+               "deployments" :>
+                 Capture "resource" Text :>
+                   "getIamPolicy" :>
+                     QueryParam "alt" AltJSON :> Get '[JSON] Policy
+
+-- | Gets the access control policy for a resource. May be empty if no such
+-- policy or resource exists.
+--
+-- /See:/ 'deploymentsGetIAMPolicy' smart constructor.
+data DeploymentsGetIAMPolicy = DeploymentsGetIAMPolicy'
+    { _dgipProject  :: !Text
+    , _dgipResource :: !Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DeploymentsGetIAMPolicy' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dgipProject'
+--
+-- * 'dgipResource'
+deploymentsGetIAMPolicy
+    :: Text -- ^ 'dgipProject'
+    -> Text -- ^ 'dgipResource'
+    -> DeploymentsGetIAMPolicy
+deploymentsGetIAMPolicy pDgipProject_ pDgipResource_ =
+    DeploymentsGetIAMPolicy'
+    { _dgipProject = pDgipProject_
+    , _dgipResource = pDgipResource_
+    }
+
+-- | Project ID for this request.
+dgipProject :: Lens' DeploymentsGetIAMPolicy Text
+dgipProject
+  = lens _dgipProject (\ s a -> s{_dgipProject = a})
+
+-- | Name of the resource for this request.
+dgipResource :: Lens' DeploymentsGetIAMPolicy Text
+dgipResource
+  = lens _dgipResource (\ s a -> s{_dgipResource = a})
+
+instance GoogleRequest DeploymentsGetIAMPolicy where
+        type Rs DeploymentsGetIAMPolicy = Policy
+        type Scopes DeploymentsGetIAMPolicy =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/ndev.cloudman"]
+        requestClient DeploymentsGetIAMPolicy'{..}
+          = go _dgipProject _dgipResource (Just AltJSON)
+              deploymentManagerService
+          where go
+                  = buildClient
+                      (Proxy :: Proxy DeploymentsGetIAMPolicyResource)
+                      mempty
diff --git a/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs b/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs
--- a/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs
+++ b/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs
@@ -105,16 +105,15 @@
 -- 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: When
--- filtering in the Beta API, you can also filter on nested fields. For
+-- filter=name ne example-instance. You can filter on nested fields. For
 -- example, you could filter on instances that have set the
 -- scheduling.automaticRestart field to true. Use filtering on nested
 -- fields to take advantage of labels to organize and search for 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.
+-- based on label values. To filter on multiple expressions, provide 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.
 dlFilter :: Lens' DeploymentsList (Maybe Text)
 dlFilter = lens _dlFilter (\ s a -> s{_dlFilter = a})
 
diff --git a/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hs b/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hs
@@ -0,0 +1,117 @@
+{-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE NoImplicitPrelude  #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+{-# LANGUAGE TypeOperators      #-}
+
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
+
+-- |
+-- Module      : Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
+-- 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)
+--
+-- Sets the access control policy on the specified resource. Replaces any
+-- existing policy.
+--
+-- /See:/ <https://cloud.google.com/deployment-manager/ Google Cloud Deployment Manager API Reference> for @deploymentmanager.deployments.setIamPolicy@.
+module Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
+    (
+    -- * REST Resource
+      DeploymentsSetIAMPolicyResource
+
+    -- * Creating a Request
+    , deploymentsSetIAMPolicy
+    , DeploymentsSetIAMPolicy
+
+    -- * Request Lenses
+    , dsipProject
+    , dsipPayload
+    , dsipResource
+    ) where
+
+import           Network.Google.DeploymentManager.Types
+import           Network.Google.Prelude
+
+-- | A resource alias for @deploymentmanager.deployments.setIamPolicy@ method which the
+-- 'DeploymentsSetIAMPolicy' request conforms to.
+type DeploymentsSetIAMPolicyResource =
+     "deploymentmanager" :>
+       "v2" :>
+         "projects" :>
+           Capture "project" Text :>
+             "global" :>
+               "deployments" :>
+                 Capture "resource" Text :>
+                   "setIamPolicy" :>
+                     QueryParam "alt" AltJSON :>
+                       ReqBody '[JSON] Policy :> Post '[JSON] Policy
+
+-- | Sets the access control policy on the specified resource. Replaces any
+-- existing policy.
+--
+-- /See:/ 'deploymentsSetIAMPolicy' smart constructor.
+data DeploymentsSetIAMPolicy = DeploymentsSetIAMPolicy'
+    { _dsipProject  :: !Text
+    , _dsipPayload  :: !Policy
+    , _dsipResource :: !Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DeploymentsSetIAMPolicy' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dsipProject'
+--
+-- * 'dsipPayload'
+--
+-- * 'dsipResource'
+deploymentsSetIAMPolicy
+    :: Text -- ^ 'dsipProject'
+    -> Policy -- ^ 'dsipPayload'
+    -> Text -- ^ 'dsipResource'
+    -> DeploymentsSetIAMPolicy
+deploymentsSetIAMPolicy pDsipProject_ pDsipPayload_ pDsipResource_ =
+    DeploymentsSetIAMPolicy'
+    { _dsipProject = pDsipProject_
+    , _dsipPayload = pDsipPayload_
+    , _dsipResource = pDsipResource_
+    }
+
+-- | Project ID for this request.
+dsipProject :: Lens' DeploymentsSetIAMPolicy Text
+dsipProject
+  = lens _dsipProject (\ s a -> s{_dsipProject = a})
+
+-- | Multipart request metadata.
+dsipPayload :: Lens' DeploymentsSetIAMPolicy Policy
+dsipPayload
+  = lens _dsipPayload (\ s a -> s{_dsipPayload = a})
+
+-- | Name of the resource for this request.
+dsipResource :: Lens' DeploymentsSetIAMPolicy Text
+dsipResource
+  = lens _dsipResource (\ s a -> s{_dsipResource = a})
+
+instance GoogleRequest DeploymentsSetIAMPolicy where
+        type Rs DeploymentsSetIAMPolicy = Policy
+        type Scopes DeploymentsSetIAMPolicy =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/ndev.cloudman"]
+        requestClient DeploymentsSetIAMPolicy'{..}
+          = go _dsipProject _dsipResource (Just AltJSON)
+              _dsipPayload
+              deploymentManagerService
+          where go
+                  = buildClient
+                      (Proxy :: Proxy DeploymentsSetIAMPolicyResource)
+                      mempty
diff --git a/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hs b/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hs
@@ -0,0 +1,119 @@
+{-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE NoImplicitPrelude  #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+{-# LANGUAGE TypeOperators      #-}
+
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
+
+-- |
+-- Module      : Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
+-- 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)
+--
+-- Returns permissions that a caller has on the specified resource.
+--
+-- /See:/ <https://cloud.google.com/deployment-manager/ Google Cloud Deployment Manager API Reference> for @deploymentmanager.deployments.testIamPermissions@.
+module Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
+    (
+    -- * REST Resource
+      DeploymentsTestIAMPermissionsResource
+
+    -- * Creating a Request
+    , deploymentsTestIAMPermissions
+    , DeploymentsTestIAMPermissions
+
+    -- * Request Lenses
+    , dtipProject
+    , dtipPayload
+    , dtipResource
+    ) where
+
+import           Network.Google.DeploymentManager.Types
+import           Network.Google.Prelude
+
+-- | A resource alias for @deploymentmanager.deployments.testIamPermissions@ method which the
+-- 'DeploymentsTestIAMPermissions' request conforms to.
+type DeploymentsTestIAMPermissionsResource =
+     "deploymentmanager" :>
+       "v2" :>
+         "projects" :>
+           Capture "project" Text :>
+             "global" :>
+               "deployments" :>
+                 Capture "resource" Text :>
+                   "testIamPermissions" :>
+                     QueryParam "alt" AltJSON :>
+                       ReqBody '[JSON] TestPermissionsRequest :>
+                         Post '[JSON] TestPermissionsResponse
+
+-- | Returns permissions that a caller has on the specified resource.
+--
+-- /See:/ 'deploymentsTestIAMPermissions' smart constructor.
+data DeploymentsTestIAMPermissions = DeploymentsTestIAMPermissions'
+    { _dtipProject  :: !Text
+    , _dtipPayload  :: !TestPermissionsRequest
+    , _dtipResource :: !Text
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DeploymentsTestIAMPermissions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dtipProject'
+--
+-- * 'dtipPayload'
+--
+-- * 'dtipResource'
+deploymentsTestIAMPermissions
+    :: Text -- ^ 'dtipProject'
+    -> TestPermissionsRequest -- ^ 'dtipPayload'
+    -> Text -- ^ 'dtipResource'
+    -> DeploymentsTestIAMPermissions
+deploymentsTestIAMPermissions pDtipProject_ pDtipPayload_ pDtipResource_ =
+    DeploymentsTestIAMPermissions'
+    { _dtipProject = pDtipProject_
+    , _dtipPayload = pDtipPayload_
+    , _dtipResource = pDtipResource_
+    }
+
+-- | Project ID for this request.
+dtipProject :: Lens' DeploymentsTestIAMPermissions Text
+dtipProject
+  = lens _dtipProject (\ s a -> s{_dtipProject = a})
+
+-- | Multipart request metadata.
+dtipPayload :: Lens' DeploymentsTestIAMPermissions TestPermissionsRequest
+dtipPayload
+  = lens _dtipPayload (\ s a -> s{_dtipPayload = a})
+
+-- | Name of the resource for this request.
+dtipResource :: Lens' DeploymentsTestIAMPermissions Text
+dtipResource
+  = lens _dtipResource (\ s a -> s{_dtipResource = a})
+
+instance GoogleRequest DeploymentsTestIAMPermissions
+         where
+        type Rs DeploymentsTestIAMPermissions =
+             TestPermissionsResponse
+        type Scopes DeploymentsTestIAMPermissions =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/ndev.cloudman"]
+        requestClient DeploymentsTestIAMPermissions'{..}
+          = go _dtipProject _dtipResource (Just AltJSON)
+              _dtipPayload
+              deploymentManagerService
+          where go
+                  = buildClient
+                      (Proxy ::
+                         Proxy DeploymentsTestIAMPermissionsResource)
+                      mempty
diff --git a/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs b/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs
--- a/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs
+++ b/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs
@@ -113,16 +113,15 @@
 -- 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: When
--- filtering in the Beta API, you can also filter on nested fields. For
+-- filter=name ne example-instance. You can filter on nested fields. For
 -- example, you could filter on instances that have set the
 -- scheduling.automaticRestart field to true. Use filtering on nested
 -- fields to take advantage of labels to organize and search for 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.
+-- based on label values. To filter on multiple expressions, provide 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.
 mlFilter :: Lens' ManifestsList (Maybe Text)
 mlFilter = lens _mlFilter (\ s a -> s{_mlFilter = a})
 
diff --git a/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs b/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs
--- a/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs
+++ b/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs
@@ -105,16 +105,15 @@
 -- 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: When
--- filtering in the Beta API, you can also filter on nested fields. For
+-- filter=name ne example-instance. You can filter on nested fields. For
 -- example, you could filter on instances that have set the
 -- scheduling.automaticRestart field to true. Use filtering on nested
 -- fields to take advantage of labels to organize and search for 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.
+-- based on label values. To filter on multiple expressions, provide 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.
 olFilter :: Lens' OperationsList (Maybe Text)
 olFilter = lens _olFilter (\ s a -> s{_olFilter = a})
 
diff --git a/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs b/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs
--- a/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs
+++ b/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs
@@ -113,16 +113,15 @@
 -- 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: When
--- filtering in the Beta API, you can also filter on nested fields. For
+-- filter=name ne example-instance. You can filter on nested fields. For
 -- example, you could filter on instances that have set the
 -- scheduling.automaticRestart field to true. Use filtering on nested
 -- fields to take advantage of labels to organize and search for 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.
+-- based on label values. To filter on multiple expressions, provide 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.
 rlFilter :: Lens' ResourcesList (Maybe Text)
 rlFilter = lens _rlFilter (\ s a -> s{_rlFilter = a})
 
diff --git a/gen/Network/Google/Resource/DeploymentManager/Types/List.hs b/gen/Network/Google/Resource/DeploymentManager/Types/List.hs
--- a/gen/Network/Google/Resource/DeploymentManager/Types/List.hs
+++ b/gen/Network/Google/Resource/DeploymentManager/Types/List.hs
@@ -105,16 +105,15 @@
 -- 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: When
--- filtering in the Beta API, you can also filter on nested fields. For
+-- filter=name ne example-instance. You can filter on nested fields. For
 -- example, you could filter on instances that have set the
 -- scheduling.automaticRestart field to true. Use filtering on nested
 -- fields to take advantage of labels to organize and search for 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.
+-- based on label values. To filter on multiple expressions, provide 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.
 tlFilter :: Lens' TypesList (Maybe Text)
 tlFilter = lens _tlFilter (\ s a -> s{_tlFilter = a})
 
diff --git a/gogol-deploymentmanager.cabal b/gogol-deploymentmanager.cabal
--- a/gogol-deploymentmanager.cabal
+++ b/gogol-deploymentmanager.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-deploymentmanager
-version:               0.1.0
+version:               0.1.1
 synopsis:              Google Cloud Deployment Manager SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -11,7 +11,7 @@
 category:              Network, Google, Cloud
 build-type:            Simple
 cabal-version:         >= 1.10
-extra-source-files:    README.md
+extra-source-files:    README.md src/.gitkeep
 
 description:
     Declares, configures, and deploys complex solutions on Google Cloud
@@ -39,10 +39,13 @@
         , Network.Google.Resource.DeploymentManager.Deployments.CancelPreview
         , Network.Google.Resource.DeploymentManager.Deployments.Delete
         , Network.Google.Resource.DeploymentManager.Deployments.Get
+        , Network.Google.Resource.DeploymentManager.Deployments.GetIAMPolicy
         , Network.Google.Resource.DeploymentManager.Deployments.Insert
         , Network.Google.Resource.DeploymentManager.Deployments.List
         , Network.Google.Resource.DeploymentManager.Deployments.Patch
+        , Network.Google.Resource.DeploymentManager.Deployments.SetIAMPolicy
         , Network.Google.Resource.DeploymentManager.Deployments.Stop
+        , Network.Google.Resource.DeploymentManager.Deployments.TestIAMPermissions
         , Network.Google.Resource.DeploymentManager.Deployments.Update
         , Network.Google.Resource.DeploymentManager.Manifests.Get
         , Network.Google.Resource.DeploymentManager.Manifests.List
@@ -57,5 +60,5 @@
         , Network.Google.DeploymentManager.Types.Sum
 
     build-depends:
-          gogol-core == 0.1.0.*
+          gogol-core == 0.1.1.*
         , base       >= 4.7 && < 5
diff --git a/src/.gitkeep b/src/.gitkeep
new file mode 100644
--- /dev/null
+++ b/src/.gitkeep
