diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.3.0`
+`0.5.0`
 
 
 ## Description
diff --git a/gen/Network/Google/BinaryAuthorization.hs b/gen/Network/Google/BinaryAuthorization.hs
--- a/gen/Network/Google/BinaryAuthorization.hs
+++ b/gen/Network/Google/BinaryAuthorization.hs
@@ -71,6 +71,12 @@
 
     -- * Types
 
+    -- ** PkixPublicKey
+    , PkixPublicKey
+    , pkixPublicKey
+    , ppkPublicKeyPem
+    , ppkSignatureAlgorithm
+
     -- ** Expr
     , Expr
     , expr
@@ -93,6 +99,9 @@
     -- ** AdmissionRuleEnforcementMode
     , AdmissionRuleEnforcementMode (..)
 
+    -- ** PolicyGlobalPolicyEvaluationMode
+    , PolicyGlobalPolicyEvaluationMode (..)
+
     -- ** SetIAMPolicyRequest
     , SetIAMPolicyRequest
     , setIAMPolicyRequest
@@ -109,6 +118,9 @@
     , admissionWhiteListPattern
     , awlpNamePattern
 
+    -- ** PkixPublicKeySignatureAlgorithm
+    , PkixPublicKeySignatureAlgorithm (..)
+
     -- ** AdmissionRule
     , AdmissionRule
     , admissionRule
@@ -137,6 +149,7 @@
     -- ** AttestorPublicKey
     , AttestorPublicKey
     , attestorPublicKey
+    , apkPkixPublicKey
     , apkAsciiArmoredPgpPublicKey
     , apkId
     , apkComment
@@ -154,6 +167,7 @@
     , pClusterAdmissionRules
     , pUpdateTime
     , pName
+    , pGlobalPolicyEvaluationMode
     , pDescription
 
     -- ** PolicyClusterAdmissionRules
diff --git a/gen/Network/Google/BinaryAuthorization/Types.hs b/gen/Network/Google/BinaryAuthorization/Types.hs
--- a/gen/Network/Google/BinaryAuthorization/Types.hs
+++ b/gen/Network/Google/BinaryAuthorization/Types.hs
@@ -22,6 +22,12 @@
     -- * OAuth Scopes
     , cloudPlatformScope
 
+    -- * PkixPublicKey
+    , PkixPublicKey
+    , pkixPublicKey
+    , ppkPublicKeyPem
+    , ppkSignatureAlgorithm
+
     -- * Expr
     , Expr
     , expr
@@ -44,6 +50,9 @@
     -- * AdmissionRuleEnforcementMode
     , AdmissionRuleEnforcementMode (..)
 
+    -- * PolicyGlobalPolicyEvaluationMode
+    , PolicyGlobalPolicyEvaluationMode (..)
+
     -- * SetIAMPolicyRequest
     , SetIAMPolicyRequest
     , setIAMPolicyRequest
@@ -60,6 +69,9 @@
     , admissionWhiteListPattern
     , awlpNamePattern
 
+    -- * PkixPublicKeySignatureAlgorithm
+    , PkixPublicKeySignatureAlgorithm (..)
+
     -- * AdmissionRule
     , AdmissionRule
     , admissionRule
@@ -88,6 +100,7 @@
     -- * AttestorPublicKey
     , AttestorPublicKey
     , attestorPublicKey
+    , apkPkixPublicKey
     , apkAsciiArmoredPgpPublicKey
     , apkId
     , apkComment
@@ -105,6 +118,7 @@
     , pClusterAdmissionRules
     , pUpdateTime
     , pName
+    , pGlobalPolicyEvaluationMode
     , pDescription
 
     -- * PolicyClusterAdmissionRules
@@ -141,4 +155,4 @@
 
 -- | View and manage your data across Google Cloud Platform services
 cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
-cloudPlatformScope = Proxy;
+cloudPlatformScope = Proxy
diff --git a/gen/Network/Google/BinaryAuthorization/Types/Product.hs b/gen/Network/Google/BinaryAuthorization/Types/Product.hs
--- a/gen/Network/Google/BinaryAuthorization/Types/Product.hs
+++ b/gen/Network/Google/BinaryAuthorization/Types/Product.hs
@@ -20,18 +20,80 @@
 import           Network.Google.BinaryAuthorization.Types.Sum
 import           Network.Google.Prelude
 
+-- | A public key in the PkixPublicKey format (see
+-- https:\/\/tools.ietf.org\/html\/rfc5280#section-4.1.2.7 for details).
+-- Public keys of this type are typically textually encoded using the PEM
+-- format.
+--
+-- /See:/ 'pkixPublicKey' smart constructor.
+data PkixPublicKey =
+  PkixPublicKey'
+    { _ppkPublicKeyPem       :: !(Maybe Text)
+    , _ppkSignatureAlgorithm :: !(Maybe PkixPublicKeySignatureAlgorithm)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
+
+
+-- | Creates a value of 'PkixPublicKey' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ppkPublicKeyPem'
+--
+-- * 'ppkSignatureAlgorithm'
+pkixPublicKey
+    :: PkixPublicKey
+pkixPublicKey =
+  PkixPublicKey' {_ppkPublicKeyPem = Nothing, _ppkSignatureAlgorithm = Nothing}
+
+
+-- | A PEM-encoded public key, as described in
+-- https:\/\/tools.ietf.org\/html\/rfc7468#section-13
+ppkPublicKeyPem :: Lens' PkixPublicKey (Maybe Text)
+ppkPublicKeyPem
+  = lens _ppkPublicKeyPem
+      (\ s a -> s{_ppkPublicKeyPem = a})
+
+-- | The signature algorithm used to verify a message against a signature
+-- using this key. These signature algorithm must match the structure and
+-- any object identifiers encoded in \`public_key_pem\` (i.e. this
+-- algorithm must match that of the public key).
+ppkSignatureAlgorithm :: Lens' PkixPublicKey (Maybe PkixPublicKeySignatureAlgorithm)
+ppkSignatureAlgorithm
+  = lens _ppkSignatureAlgorithm
+      (\ s a -> s{_ppkSignatureAlgorithm = a})
+
+instance FromJSON PkixPublicKey where
+        parseJSON
+          = withObject "PkixPublicKey"
+              (\ o ->
+                 PkixPublicKey' <$>
+                   (o .:? "publicKeyPem") <*>
+                     (o .:? "signatureAlgorithm"))
+
+instance ToJSON PkixPublicKey where
+        toJSON PkixPublicKey'{..}
+          = object
+              (catMaybes
+                 [("publicKeyPem" .=) <$> _ppkPublicKeyPem,
+                  ("signatureAlgorithm" .=) <$>
+                    _ppkSignatureAlgorithm])
+
 -- | Represents an expression text. Example: title: \"User account presence\"
 -- description: \"Determines whether the request has a user account\"
 -- expression: \"size(request.user) > 0\"
 --
 -- /See:/ 'expr' smart constructor.
-data Expr = Expr'
+data Expr =
+  Expr'
     { _eLocation    :: !(Maybe Text)
     , _eExpression  :: !(Maybe Text)
     , _eTitle       :: !(Maybe Text)
     , _eDescription :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Expr' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -46,13 +108,14 @@
 expr
     :: Expr
 expr =
-    Expr'
+  Expr'
     { _eLocation = Nothing
     , _eExpression = Nothing
     , _eTitle = Nothing
     , _eDescription = Nothing
     }
 
+
 -- | An optional string indicating the location of the expression for error
 -- reporting, e.g. a file name and a position in the file.
 eLocation :: Lens' Expr (Maybe Text)
@@ -100,12 +163,15 @@
 -- Note created by the user.
 --
 -- /See:/ 'userOwnedDrydockNote' smart constructor.
-data UserOwnedDrydockNote = UserOwnedDrydockNote'
+data UserOwnedDrydockNote =
+  UserOwnedDrydockNote'
     { _uodnDelegationServiceAccountEmail :: !(Maybe Text)
     , _uodnPublicKeys                    :: !(Maybe [AttestorPublicKey])
     , _uodnNoteReference                 :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UserOwnedDrydockNote' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -118,12 +184,13 @@
 userOwnedDrydockNote
     :: UserOwnedDrydockNote
 userOwnedDrydockNote =
-    UserOwnedDrydockNote'
+  UserOwnedDrydockNote'
     { _uodnDelegationServiceAccountEmail = Nothing
     , _uodnPublicKeys = Nothing
     , _uodnNoteReference = Nothing
     }
 
+
 -- | Output only. This field will contain the service account email address
 -- that this Attestor will use as the principal when querying Container
 -- Analysis. Attestor administrators must grant this service account the
@@ -187,15 +254,17 @@
 --
 -- /See:/ 'empty' smart constructor.
 data Empty =
-    Empty'
-    deriving (Eq,Show,Data,Typeable,Generic)
+  Empty'
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Empty' with the minimum fields required to make a request.
 --
 empty
     :: Empty
 empty = Empty'
 
+
 instance FromJSON Empty where
         parseJSON = withObject "Empty" (\ o -> pure Empty')
 
@@ -205,10 +274,13 @@
 -- | Request message for \`SetIamPolicy\` method.
 --
 -- /See:/ 'setIAMPolicyRequest' smart constructor.
-newtype SetIAMPolicyRequest = SetIAMPolicyRequest'
+newtype SetIAMPolicyRequest =
+  SetIAMPolicyRequest'
     { _siprPolicy :: Maybe IAMPolicy
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SetIAMPolicyRequest' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -216,11 +288,9 @@
 -- * 'siprPolicy'
 setIAMPolicyRequest
     :: SetIAMPolicyRequest
-setIAMPolicyRequest =
-    SetIAMPolicyRequest'
-    { _siprPolicy = Nothing
-    }
+setIAMPolicyRequest = SetIAMPolicyRequest' {_siprPolicy = Nothing}
 
+
 -- | REQUIRED: The complete policy to be applied to the \`resource\`. The
 -- size of the policy is limited to a few 10s of KB. An empty policy is a
 -- valid policy but certain Cloud Platform services (such as Projects)
@@ -241,11 +311,14 @@
 -- | Response message for BinauthzManagementService.ListAttestors.
 --
 -- /See:/ 'listAttestorsResponse' smart constructor.
-data ListAttestorsResponse = ListAttestorsResponse'
+data ListAttestorsResponse =
+  ListAttestorsResponse'
     { _larNextPageToken :: !(Maybe Text)
     , _larAttestors     :: !(Maybe [Attestor])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListAttestorsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -256,11 +329,9 @@
 listAttestorsResponse
     :: ListAttestorsResponse
 listAttestorsResponse =
-    ListAttestorsResponse'
-    { _larNextPageToken = Nothing
-    , _larAttestors = Nothing
-    }
+  ListAttestorsResponse' {_larNextPageToken = Nothing, _larAttestors = Nothing}
 
+
 -- | A token to retrieve the next page of results. Pass this value in the
 -- ListAttestorsRequest.page_token field in the subsequent call to the
 -- \`ListAttestors\` method to retrieve the next page of results.
@@ -295,10 +366,13 @@
 -- rules.
 --
 -- /See:/ 'admissionWhiteListPattern' smart constructor.
-newtype AdmissionWhiteListPattern = AdmissionWhiteListPattern'
+newtype AdmissionWhiteListPattern =
+  AdmissionWhiteListPattern'
     { _awlpNamePattern :: Maybe Text
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AdmissionWhiteListPattern' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -307,10 +381,9 @@
 admissionWhiteListPattern
     :: AdmissionWhiteListPattern
 admissionWhiteListPattern =
-    AdmissionWhiteListPattern'
-    { _awlpNamePattern = Nothing
-    }
+  AdmissionWhiteListPattern' {_awlpNamePattern = Nothing}
 
+
 -- | An image name pattern to whitelist, in the form
 -- \`registry\/path\/to\/image\`. This supports a trailing \`*\` as a
 -- wildcard, but this is allowed only in text after the \`registry\/\`
@@ -338,12 +411,15 @@
 -- admission rules and will never block a pod creation.
 --
 -- /See:/ 'admissionRule' smart constructor.
-data AdmissionRule = AdmissionRule'
+data AdmissionRule =
+  AdmissionRule'
     { _arEnforcementMode       :: !(Maybe AdmissionRuleEnforcementMode)
     , _arEvaluationMode        :: !(Maybe AdmissionRuleEvaluationMode)
     , _arRequireAttestationsBy :: !(Maybe [Text])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AdmissionRule' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -356,12 +432,13 @@
 admissionRule
     :: AdmissionRule
 admissionRule =
-    AdmissionRule'
+  AdmissionRule'
     { _arEnforcementMode = Nothing
     , _arEvaluationMode = Nothing
     , _arRequireAttestationsBy = Nothing
     }
 
+
 -- | Required. The action when a pod creation is denied by the admission
 -- rule.
 arEnforcementMode :: Lens' AdmissionRule (Maybe AdmissionRuleEnforcementMode)
@@ -410,10 +487,13 @@
 -- | Request message for \`TestIamPermissions\` method.
 --
 -- /See:/ 'testIAMPermissionsRequest' smart constructor.
-newtype TestIAMPermissionsRequest = TestIAMPermissionsRequest'
+newtype TestIAMPermissionsRequest =
+  TestIAMPermissionsRequest'
     { _tiprPermissions :: Maybe [Text]
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'TestIAMPermissionsRequest' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -422,10 +502,9 @@
 testIAMPermissionsRequest
     :: TestIAMPermissionsRequest
 testIAMPermissionsRequest =
-    TestIAMPermissionsRequest'
-    { _tiprPermissions = Nothing
-    }
+  TestIAMPermissionsRequest' {_tiprPermissions = Nothing}
 
+
 -- | The set of permissions to check for the \`resource\`. Permissions with
 -- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more
 -- information see [IAM
@@ -468,12 +547,15 @@
 -- guide](https:\/\/cloud.google.com\/iam\/docs).
 --
 -- /See:/ 'iamPolicy' smart constructor.
-data IAMPolicy = IAMPolicy'
+data IAMPolicy =
+  IAMPolicy'
     { _ipEtag     :: !(Maybe Bytes)
     , _ipVersion  :: !(Maybe (Textual Int32))
     , _ipBindings :: !(Maybe [Binding])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'IAMPolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -486,12 +568,9 @@
 iamPolicy
     :: IAMPolicy
 iamPolicy =
-    IAMPolicy'
-    { _ipEtag = Nothing
-    , _ipVersion = Nothing
-    , _ipBindings = Nothing
-    }
+  IAMPolicy' {_ipEtag = Nothing, _ipVersion = Nothing, _ipBindings = Nothing}
 
+
 -- | \`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
@@ -536,20 +615,26 @@
                   ("version" .=) <$> _ipVersion,
                   ("bindings" .=) <$> _ipBindings])
 
--- | An attestator public key that will be used to verify attestations signed
+-- | An attestor public key that will be used to verify attestations signed
 -- by this attestor.
 --
 -- /See:/ 'attestorPublicKey' smart constructor.
-data AttestorPublicKey = AttestorPublicKey'
-    { _apkAsciiArmoredPgpPublicKey :: !(Maybe Text)
+data AttestorPublicKey =
+  AttestorPublicKey'
+    { _apkPkixPublicKey            :: !(Maybe PkixPublicKey)
+    , _apkAsciiArmoredPgpPublicKey :: !(Maybe Text)
     , _apkId                       :: !(Maybe Text)
     , _apkComment                  :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AttestorPublicKey' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
+-- * 'apkPkixPublicKey'
+--
 -- * 'apkAsciiArmoredPgpPublicKey'
 --
 -- * 'apkId'
@@ -558,23 +643,42 @@
 attestorPublicKey
     :: AttestorPublicKey
 attestorPublicKey =
-    AttestorPublicKey'
-    { _apkAsciiArmoredPgpPublicKey = Nothing
+  AttestorPublicKey'
+    { _apkPkixPublicKey = Nothing
+    , _apkAsciiArmoredPgpPublicKey = Nothing
     , _apkId = Nothing
     , _apkComment = Nothing
     }
 
+
+-- | A raw PKIX SubjectPublicKeyInfo format public key. NOTE: \`id\` may be
+-- explicitly provided by the caller when using this type of public key,
+-- but it MUST be a valid RFC3986 URI. If \`id\` is left blank, a default
+-- one will be computed based on the digest of the DER encoding of the
+-- public key.
+apkPkixPublicKey :: Lens' AttestorPublicKey (Maybe PkixPublicKey)
+apkPkixPublicKey
+  = lens _apkPkixPublicKey
+      (\ s a -> s{_apkPkixPublicKey = a})
+
 -- | ASCII-armored representation of a PGP public key, as the entire output
 -- by the command \`gpg --export --armor foo\'example.com\` (either LF or
--- CRLF line endings).
+-- CRLF line endings). When using this field, \`id\` should be left blank.
+-- The BinAuthz API handlers will calculate the ID and fill it in
+-- automatically. BinAuthz computes this ID as the OpenPGP RFC4880 V4
+-- fingerprint, represented as upper-case hex. If \`id\` is provided by the
+-- caller, it will be overwritten by the API-calculated ID.
 apkAsciiArmoredPgpPublicKey :: Lens' AttestorPublicKey (Maybe Text)
 apkAsciiArmoredPgpPublicKey
   = lens _apkAsciiArmoredPgpPublicKey
       (\ s a -> s{_apkAsciiArmoredPgpPublicKey = a})
 
--- | Output only. This field will be overwritten with key ID information, for
--- example, an identifier extracted from a PGP public key. This field may
--- not be updated.
+-- | The ID of this public key. Signatures verified by BinAuthz must include
+-- the ID of the public key that can be used to verify them, and that ID
+-- must match the contents of this field exactly. Additional restrictions
+-- on this field can be imposed based on which public key type is
+-- encapsulated. See the documentation on \`public_key\` cases below for
+-- details.
 apkId :: Lens' AttestorPublicKey (Maybe Text)
 apkId = lens _apkId (\ s a -> s{_apkId = a})
 
@@ -588,14 +692,17 @@
           = withObject "AttestorPublicKey"
               (\ o ->
                  AttestorPublicKey' <$>
-                   (o .:? "asciiArmoredPgpPublicKey") <*> (o .:? "id")
+                   (o .:? "pkixPublicKey") <*>
+                     (o .:? "asciiArmoredPgpPublicKey")
+                     <*> (o .:? "id")
                      <*> (o .:? "comment"))
 
 instance ToJSON AttestorPublicKey where
         toJSON AttestorPublicKey'{..}
           = object
               (catMaybes
-                 [("asciiArmoredPgpPublicKey" .=) <$>
+                 [("pkixPublicKey" .=) <$> _apkPkixPublicKey,
+                  ("asciiArmoredPgpPublicKey" .=) <$>
                     _apkAsciiArmoredPgpPublicKey,
                   ("id" .=) <$> _apkId,
                   ("comment" .=) <$> _apkComment])
@@ -603,10 +710,13 @@
 -- | Response message for \`TestIamPermissions\` method.
 --
 -- /See:/ 'testIAMPermissionsResponse' smart constructor.
-newtype TestIAMPermissionsResponse = TestIAMPermissionsResponse'
+newtype TestIAMPermissionsResponse =
+  TestIAMPermissionsResponse'
     { _tiamprPermissions :: Maybe [Text]
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'TestIAMPermissionsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -615,10 +725,9 @@
 testIAMPermissionsResponse
     :: TestIAMPermissionsResponse
 testIAMPermissionsResponse =
-    TestIAMPermissionsResponse'
-    { _tiamprPermissions = Nothing
-    }
+  TestIAMPermissionsResponse' {_tiamprPermissions = Nothing}
 
+
 -- | A subset of \`TestPermissionsRequest.permissions\` that the caller is
 -- allowed.
 tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]
@@ -644,15 +753,19 @@
 -- | A policy for container image binary authorization.
 --
 -- /See:/ 'policy' smart constructor.
-data Policy = Policy'
+data Policy =
+  Policy'
     { _pDefaultAdmissionRule       :: !(Maybe AdmissionRule)
     , _pAdmissionWhiteListPatterns :: !(Maybe [AdmissionWhiteListPattern])
     , _pClusterAdmissionRules      :: !(Maybe PolicyClusterAdmissionRules)
     , _pUpdateTime                 :: !(Maybe DateTime')
     , _pName                       :: !(Maybe Text)
+    , _pGlobalPolicyEvaluationMode :: !(Maybe PolicyGlobalPolicyEvaluationMode)
     , _pDescription                :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  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:
@@ -667,21 +780,26 @@
 --
 -- * 'pName'
 --
+-- * 'pGlobalPolicyEvaluationMode'
+--
 -- * 'pDescription'
 policy
     :: Policy
 policy =
-    Policy'
+  Policy'
     { _pDefaultAdmissionRule = Nothing
     , _pAdmissionWhiteListPatterns = Nothing
     , _pClusterAdmissionRules = Nothing
     , _pUpdateTime = Nothing
     , _pName = Nothing
+    , _pGlobalPolicyEvaluationMode = Nothing
     , _pDescription = Nothing
     }
 
--- | Required. Default admission rule for a cluster without a per-cluster
--- admission rule.
+
+-- | Required. Default admission rule for a cluster without a per-cluster,
+-- per- kubernetes-service-account, or per-istio-service-identity admission
+-- rule.
 pDefaultAdmissionRule :: Lens' Policy (Maybe AdmissionRule)
 pDefaultAdmissionRule
   = lens _pDefaultAdmissionRule
@@ -720,6 +838,15 @@
 pName :: Lens' Policy (Maybe Text)
 pName = lens _pName (\ s a -> s{_pName = a})
 
+-- | Optional. Controls the evaluation of a Google-maintained global
+-- admission policy for common system-level images. Images not covered by
+-- the global policy will be subject to the project admission policy. This
+-- setting has no effect when specified inside a global admission policy.
+pGlobalPolicyEvaluationMode :: Lens' Policy (Maybe PolicyGlobalPolicyEvaluationMode)
+pGlobalPolicyEvaluationMode
+  = lens _pGlobalPolicyEvaluationMode
+      (\ s a -> s{_pGlobalPolicyEvaluationMode = a})
+
 -- | Optional. A descriptive comment.
 pDescription :: Lens' Policy (Maybe Text)
 pDescription
@@ -735,6 +862,7 @@
                      <*> (o .:? "clusterAdmissionRules")
                      <*> (o .:? "updateTime")
                      <*> (o .:? "name")
+                     <*> (o .:? "globalPolicyEvaluationMode")
                      <*> (o .:? "description"))
 
 instance ToJSON Policy where
@@ -749,6 +877,8 @@
                     _pClusterAdmissionRules,
                   ("updateTime" .=) <$> _pUpdateTime,
                   ("name" .=) <$> _pName,
+                  ("globalPolicyEvaluationMode" .=) <$>
+                    _pGlobalPolicyEvaluationMode,
                   ("description" .=) <$> _pDescription])
 
 -- | Optional. Per-cluster admission rules. Cluster spec format:
@@ -759,10 +889,13 @@
 -- https:\/\/cloud.google.com\/container-engine\/reference\/rest\/v1\/projects.zones.clusters.
 --
 -- /See:/ 'policyClusterAdmissionRules' smart constructor.
-newtype PolicyClusterAdmissionRules = PolicyClusterAdmissionRules'
+newtype PolicyClusterAdmissionRules =
+  PolicyClusterAdmissionRules'
     { _pcarAddtional :: HashMap Text AdmissionRule
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'PolicyClusterAdmissionRules' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -772,10 +905,9 @@
     :: HashMap Text AdmissionRule -- ^ 'pcarAddtional'
     -> PolicyClusterAdmissionRules
 policyClusterAdmissionRules pPcarAddtional_ =
-    PolicyClusterAdmissionRules'
-    { _pcarAddtional = _Coerce # pPcarAddtional_
-    }
+  PolicyClusterAdmissionRules' {_pcarAddtional = _Coerce # pPcarAddtional_}
 
+
 pcarAddtional :: Lens' PolicyClusterAdmissionRules (HashMap Text AdmissionRule)
 pcarAddtional
   = lens _pcarAddtional
@@ -795,13 +927,16 @@
 -- attestor cannot be modified except where indicated.
 --
 -- /See:/ 'attestor' smart constructor.
-data Attestor = Attestor'
+data Attestor =
+  Attestor'
     { _aUserOwnedDrydockNote :: !(Maybe UserOwnedDrydockNote)
     , _aUpdateTime           :: !(Maybe DateTime')
     , _aName                 :: !(Maybe Text)
     , _aDescription          :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Attestor' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -816,13 +951,14 @@
 attestor
     :: Attestor
 attestor =
-    Attestor'
+  Attestor'
     { _aUserOwnedDrydockNote = Nothing
     , _aUpdateTime = Nothing
     , _aName = Nothing
     , _aDescription = Nothing
     }
 
+
 -- | A Drydock ATTESTATION_AUTHORITY Note, created by the user.
 aUserOwnedDrydockNote :: Lens' Attestor (Maybe UserOwnedDrydockNote)
 aUserOwnedDrydockNote
@@ -869,12 +1005,15 @@
 -- | Associates \`members\` with a \`role\`.
 --
 -- /See:/ 'binding' smart constructor.
-data Binding = Binding'
+data Binding =
+  Binding'
     { _bMembers   :: !(Maybe [Text])
     , _bRole      :: !(Maybe Text)
     , _bCondition :: !(Maybe Expr)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  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:
@@ -887,12 +1026,9 @@
 binding
     :: Binding
 binding =
-    Binding'
-    { _bMembers = Nothing
-    , _bRole = Nothing
-    , _bCondition = Nothing
-    }
+  Binding' {_bMembers = Nothing, _bRole = Nothing, _bCondition = 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
@@ -904,8 +1040,8 @@
 -- 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,
+-- \`admins\'example.com\`. * \`domain:{domain}\`: The G Suite domain
+-- (primary) that represents all the users of that domain. For example,
 -- \`google.com\` or \`example.com\`.
 bMembers :: Lens' Binding [Text]
 bMembers
@@ -918,10 +1054,9 @@
 bRole :: Lens' Binding (Maybe Text)
 bRole = lens _bRole (\ s a -> s{_bRole = a})
 
--- | Unimplemented. The condition that is associated with this binding. NOTE:
--- an unsatisfied condition will not allow user access via current binding.
--- Different bindings, including their conditions, are examined
--- independently.
+-- | The condition that is associated with this binding. NOTE: An unsatisfied
+-- condition will not allow user access via current binding. Different
+-- bindings, including their conditions, are examined independently.
 bCondition :: Lens' Binding (Maybe Expr)
 bCondition
   = lens _bCondition (\ s a -> s{_bCondition = a})
diff --git a/gen/Network/Google/BinaryAuthorization/Types/Sum.hs b/gen/Network/Google/BinaryAuthorization/Types/Sum.hs
--- a/gen/Network/Google/BinaryAuthorization/Types/Sum.hs
+++ b/gen/Network/Google/BinaryAuthorization/Types/Sum.hs
@@ -23,10 +23,14 @@
 data AdmissionRuleEnforcementMode
     = EnforcementModeUnspecified
       -- ^ @ENFORCEMENT_MODE_UNSPECIFIED@
-      -- Mandatory.
+      -- Do not use.
     | EnforcedBlockAndAuditLog
       -- ^ @ENFORCED_BLOCK_AND_AUDIT_LOG@
       -- Enforce the admission rule by blocking the pod creation.
+    | DryrunAuditLogOnly
+      -- ^ @DRYRUN_AUDIT_LOG_ONLY@
+      -- Dryrun mode: Audit logging only. This will allow the pod creation as if
+      -- the admission request had specified break-glass.
       deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
 
 instance Hashable AdmissionRuleEnforcementMode
@@ -35,12 +39,14 @@
     parseQueryParam = \case
         "ENFORCEMENT_MODE_UNSPECIFIED" -> Right EnforcementModeUnspecified
         "ENFORCED_BLOCK_AND_AUDIT_LOG" -> Right EnforcedBlockAndAuditLog
+        "DRYRUN_AUDIT_LOG_ONLY" -> Right DryrunAuditLogOnly
         x -> Left ("Unable to parse AdmissionRuleEnforcementMode from: " <> x)
 
 instance ToHttpApiData AdmissionRuleEnforcementMode where
     toQueryParam = \case
         EnforcementModeUnspecified -> "ENFORCEMENT_MODE_UNSPECIFIED"
         EnforcedBlockAndAuditLog -> "ENFORCED_BLOCK_AND_AUDIT_LOG"
+        DryrunAuditLogOnly -> "DRYRUN_AUDIT_LOG_ONLY"
 
 instance FromJSON AdmissionRuleEnforcementMode where
     parseJSON = parseJSONText "AdmissionRuleEnforcementMode"
@@ -48,11 +54,130 @@
 instance ToJSON AdmissionRuleEnforcementMode where
     toJSON = toJSONText
 
+-- | Optional. Controls the evaluation of a Google-maintained global
+-- admission policy for common system-level images. Images not covered by
+-- the global policy will be subject to the project admission policy. This
+-- setting has no effect when specified inside a global admission policy.
+data PolicyGlobalPolicyEvaluationMode
+    = GlobalPolicyEvaluationModeUnspecified
+      -- ^ @GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED@
+      -- Not specified: DISABLE is assumed.
+    | Enable
+      -- ^ @ENABLE@
+      -- Enables global policy evaluation.
+    | Disable
+      -- ^ @DISABLE@
+      -- Disables global policy evaluation.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable PolicyGlobalPolicyEvaluationMode
+
+instance FromHttpApiData PolicyGlobalPolicyEvaluationMode where
+    parseQueryParam = \case
+        "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED" -> Right GlobalPolicyEvaluationModeUnspecified
+        "ENABLE" -> Right Enable
+        "DISABLE" -> Right Disable
+        x -> Left ("Unable to parse PolicyGlobalPolicyEvaluationMode from: " <> x)
+
+instance ToHttpApiData PolicyGlobalPolicyEvaluationMode where
+    toQueryParam = \case
+        GlobalPolicyEvaluationModeUnspecified -> "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED"
+        Enable -> "ENABLE"
+        Disable -> "DISABLE"
+
+instance FromJSON PolicyGlobalPolicyEvaluationMode where
+    parseJSON = parseJSONText "PolicyGlobalPolicyEvaluationMode"
+
+instance ToJSON PolicyGlobalPolicyEvaluationMode where
+    toJSON = toJSONText
+
+-- | The signature algorithm used to verify a message against a signature
+-- using this key. These signature algorithm must match the structure and
+-- any object identifiers encoded in \`public_key_pem\` (i.e. this
+-- algorithm must match that of the public key).
+data PkixPublicKeySignatureAlgorithm
+    = SignatureAlgorithmUnspecified
+      -- ^ @SIGNATURE_ALGORITHM_UNSPECIFIED@
+      -- Not specified.
+    | RsaPss2048SHA256
+      -- ^ @RSA_PSS_2048_SHA256@
+      -- RSASSA-PSS 2048 bit key with a SHA256 digest.
+    | RsaPss3072SHA256
+      -- ^ @RSA_PSS_3072_SHA256@
+      -- RSASSA-PSS 3072 bit key with a SHA256 digest.
+    | RsaPss4096SHA256
+      -- ^ @RSA_PSS_4096_SHA256@
+      -- RSASSA-PSS 4096 bit key with a SHA256 digest.
+    | RsaPss4096SHA512
+      -- ^ @RSA_PSS_4096_SHA512@
+      -- RSASSA-PSS 4096 bit key with a SHA512 digest.
+    | RsaSignPKCS12048SHA256
+      -- ^ @RSA_SIGN_PKCS1_2048_SHA256@
+      -- RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
+    | RsaSignPKCS13072SHA256
+      -- ^ @RSA_SIGN_PKCS1_3072_SHA256@
+      -- RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
+    | RsaSignPKCS14096SHA256
+      -- ^ @RSA_SIGN_PKCS1_4096_SHA256@
+      -- RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
+    | RsaSignPKCS14096SHA512
+      -- ^ @RSA_SIGN_PKCS1_4096_SHA512@
+      -- RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
+    | EcdsaP256SHA256
+      -- ^ @ECDSA_P256_SHA256@
+      -- ECDSA on the NIST P-256 curve with a SHA256 digest.
+    | EcdsaP384SHA384
+      -- ^ @ECDSA_P384_SHA384@
+      -- ECDSA on the NIST P-384 curve with a SHA384 digest.
+    | EcdsaP521SHA512
+      -- ^ @ECDSA_P521_SHA512@
+      -- ECDSA on the NIST P-521 curve with a SHA512 digest.
+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
+
+instance Hashable PkixPublicKeySignatureAlgorithm
+
+instance FromHttpApiData PkixPublicKeySignatureAlgorithm where
+    parseQueryParam = \case
+        "SIGNATURE_ALGORITHM_UNSPECIFIED" -> Right SignatureAlgorithmUnspecified
+        "RSA_PSS_2048_SHA256" -> Right RsaPss2048SHA256
+        "RSA_PSS_3072_SHA256" -> Right RsaPss3072SHA256
+        "RSA_PSS_4096_SHA256" -> Right RsaPss4096SHA256
+        "RSA_PSS_4096_SHA512" -> Right RsaPss4096SHA512
+        "RSA_SIGN_PKCS1_2048_SHA256" -> Right RsaSignPKCS12048SHA256
+        "RSA_SIGN_PKCS1_3072_SHA256" -> Right RsaSignPKCS13072SHA256
+        "RSA_SIGN_PKCS1_4096_SHA256" -> Right RsaSignPKCS14096SHA256
+        "RSA_SIGN_PKCS1_4096_SHA512" -> Right RsaSignPKCS14096SHA512
+        "ECDSA_P256_SHA256" -> Right EcdsaP256SHA256
+        "ECDSA_P384_SHA384" -> Right EcdsaP384SHA384
+        "ECDSA_P521_SHA512" -> Right EcdsaP521SHA512
+        x -> Left ("Unable to parse PkixPublicKeySignatureAlgorithm from: " <> x)
+
+instance ToHttpApiData PkixPublicKeySignatureAlgorithm where
+    toQueryParam = \case
+        SignatureAlgorithmUnspecified -> "SIGNATURE_ALGORITHM_UNSPECIFIED"
+        RsaPss2048SHA256 -> "RSA_PSS_2048_SHA256"
+        RsaPss3072SHA256 -> "RSA_PSS_3072_SHA256"
+        RsaPss4096SHA256 -> "RSA_PSS_4096_SHA256"
+        RsaPss4096SHA512 -> "RSA_PSS_4096_SHA512"
+        RsaSignPKCS12048SHA256 -> "RSA_SIGN_PKCS1_2048_SHA256"
+        RsaSignPKCS13072SHA256 -> "RSA_SIGN_PKCS1_3072_SHA256"
+        RsaSignPKCS14096SHA256 -> "RSA_SIGN_PKCS1_4096_SHA256"
+        RsaSignPKCS14096SHA512 -> "RSA_SIGN_PKCS1_4096_SHA512"
+        EcdsaP256SHA256 -> "ECDSA_P256_SHA256"
+        EcdsaP384SHA384 -> "ECDSA_P384_SHA384"
+        EcdsaP521SHA512 -> "ECDSA_P521_SHA512"
+
+instance FromJSON PkixPublicKeySignatureAlgorithm where
+    parseJSON = parseJSONText "PkixPublicKeySignatureAlgorithm"
+
+instance ToJSON PkixPublicKeySignatureAlgorithm where
+    toJSON = toJSONText
+
 -- | Required. How this admission rule will be evaluated.
 data AdmissionRuleEvaluationMode
     = EvaluationModeUnspecified
       -- ^ @EVALUATION_MODE_UNSPECIFIED@
-      -- Mandatory.
+      -- Do not use.
     | AlwaysAllow
       -- ^ @ALWAYS_ALLOW@
       -- This rule allows all all pod creations.
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Create.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Create.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Create.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Create.hs
@@ -68,7 +68,8 @@
 -- is malformed, ALREADY_EXISTS if the attestor already exists.
 --
 -- /See:/ 'projectsAttestorsCreate' smart constructor.
-data ProjectsAttestorsCreate = ProjectsAttestorsCreate'
+data ProjectsAttestorsCreate =
+  ProjectsAttestorsCreate'
     { _pacParent         :: !Text
     , _pacXgafv          :: !(Maybe Xgafv)
     , _pacUploadProtocol :: !(Maybe Text)
@@ -77,8 +78,10 @@
     , _pacPayload        :: !Attestor
     , _pacAttestorId     :: !(Maybe Text)
     , _pacCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsCreate' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -103,7 +106,7 @@
     -> Attestor -- ^ 'pacPayload'
     -> ProjectsAttestorsCreate
 projectsAttestorsCreate pPacParent_ pPacPayload_ =
-    ProjectsAttestorsCreate'
+  ProjectsAttestorsCreate'
     { _pacParent = pPacParent_
     , _pacXgafv = Nothing
     , _pacUploadProtocol = Nothing
@@ -113,6 +116,7 @@
     , _pacAttestorId = Nothing
     , _pacCallback = Nothing
     }
+
 
 -- | Required. The parent of this attestor.
 pacParent :: Lens' ProjectsAttestorsCreate Text
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Delete.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Delete.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Delete.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Delete.hs
@@ -59,15 +59,18 @@
 -- | Deletes an attestor. Returns NOT_FOUND if the attestor does not exist.
 --
 -- /See:/ 'projectsAttestorsDelete' smart constructor.
-data ProjectsAttestorsDelete = ProjectsAttestorsDelete'
+data ProjectsAttestorsDelete =
+  ProjectsAttestorsDelete'
     { _padXgafv          :: !(Maybe Xgafv)
     , _padUploadProtocol :: !(Maybe Text)
     , _padAccessToken    :: !(Maybe Text)
     , _padUploadType     :: !(Maybe Text)
     , _padName           :: !Text
     , _padCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsDelete' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,7 +90,7 @@
     :: Text -- ^ 'padName'
     -> ProjectsAttestorsDelete
 projectsAttestorsDelete pPadName_ =
-    ProjectsAttestorsDelete'
+  ProjectsAttestorsDelete'
     { _padXgafv = Nothing
     , _padUploadProtocol = Nothing
     , _padAccessToken = Nothing
@@ -95,6 +98,7 @@
     , _padName = pPadName_
     , _padCallback = Nothing
     }
+
 
 -- | V1 error format.
 padXgafv :: Lens' ProjectsAttestorsDelete (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Get.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Get.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Get.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Get.hs
@@ -59,15 +59,18 @@
 -- | Gets an attestor. Returns NOT_FOUND if the attestor does not exist.
 --
 -- /See:/ 'projectsAttestorsGet' smart constructor.
-data ProjectsAttestorsGet = ProjectsAttestorsGet'
+data ProjectsAttestorsGet =
+  ProjectsAttestorsGet'
     { _pagXgafv          :: !(Maybe Xgafv)
     , _pagUploadProtocol :: !(Maybe Text)
     , _pagAccessToken    :: !(Maybe Text)
     , _pagUploadType     :: !(Maybe Text)
     , _pagName           :: !Text
     , _pagCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsGet' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,7 +90,7 @@
     :: Text -- ^ 'pagName'
     -> ProjectsAttestorsGet
 projectsAttestorsGet pPagName_ =
-    ProjectsAttestorsGet'
+  ProjectsAttestorsGet'
     { _pagXgafv = Nothing
     , _pagUploadProtocol = Nothing
     , _pagAccessToken = Nothing
@@ -95,6 +98,7 @@
     , _pagName = pPagName_
     , _pagCallback = Nothing
     }
+
 
 -- | V1 error format.
 pagXgafv :: Lens' ProjectsAttestorsGet (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/GetIAMPolicy.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/GetIAMPolicy.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/GetIAMPolicy.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/GetIAMPolicy.hs
@@ -61,15 +61,18 @@
 -- if the resource exists and does not have a policy set.
 --
 -- /See:/ 'projectsAttestorsGetIAMPolicy' smart constructor.
-data ProjectsAttestorsGetIAMPolicy = ProjectsAttestorsGetIAMPolicy'
+data ProjectsAttestorsGetIAMPolicy =
+  ProjectsAttestorsGetIAMPolicy'
     { _pagipXgafv          :: !(Maybe Xgafv)
     , _pagipUploadProtocol :: !(Maybe Text)
     , _pagipAccessToken    :: !(Maybe Text)
     , _pagipUploadType     :: !(Maybe Text)
     , _pagipResource       :: !Text
     , _pagipCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsGetIAMPolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -89,7 +92,7 @@
     :: Text -- ^ 'pagipResource'
     -> ProjectsAttestorsGetIAMPolicy
 projectsAttestorsGetIAMPolicy pPagipResource_ =
-    ProjectsAttestorsGetIAMPolicy'
+  ProjectsAttestorsGetIAMPolicy'
     { _pagipXgafv = Nothing
     , _pagipUploadProtocol = Nothing
     , _pagipAccessToken = Nothing
@@ -97,6 +100,7 @@
     , _pagipResource = pPagipResource_
     , _pagipCallback = Nothing
     }
+
 
 -- | V1 error format.
 pagipXgafv :: Lens' ProjectsAttestorsGetIAMPolicy (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/List.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/List.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/List.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/List.hs
@@ -65,7 +65,8 @@
 -- | Lists attestors. Returns INVALID_ARGUMENT if the project does not exist.
 --
 -- /See:/ 'projectsAttestorsList' smart constructor.
-data ProjectsAttestorsList = ProjectsAttestorsList'
+data ProjectsAttestorsList =
+  ProjectsAttestorsList'
     { _palParent         :: !Text
     , _palXgafv          :: !(Maybe Xgafv)
     , _palUploadProtocol :: !(Maybe Text)
@@ -74,8 +75,10 @@
     , _palPageToken      :: !(Maybe Text)
     , _palPageSize       :: !(Maybe (Textual Int32))
     , _palCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsList' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -99,7 +102,7 @@
     :: Text -- ^ 'palParent'
     -> ProjectsAttestorsList
 projectsAttestorsList pPalParent_ =
-    ProjectsAttestorsList'
+  ProjectsAttestorsList'
     { _palParent = pPalParent_
     , _palXgafv = Nothing
     , _palUploadProtocol = Nothing
@@ -109,6 +112,7 @@
     , _palPageSize = Nothing
     , _palCallback = Nothing
     }
+
 
 -- | Required. The resource name of the project associated with the
 -- attestors, in the format \`projects\/*\`.
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/SetIAMPolicy.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/SetIAMPolicy.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/SetIAMPolicy.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/SetIAMPolicy.hs
@@ -64,7 +64,8 @@
 -- existing policy.
 --
 -- /See:/ 'projectsAttestorsSetIAMPolicy' smart constructor.
-data ProjectsAttestorsSetIAMPolicy = ProjectsAttestorsSetIAMPolicy'
+data ProjectsAttestorsSetIAMPolicy =
+  ProjectsAttestorsSetIAMPolicy'
     { _pasipXgafv          :: !(Maybe Xgafv)
     , _pasipUploadProtocol :: !(Maybe Text)
     , _pasipAccessToken    :: !(Maybe Text)
@@ -72,8 +73,10 @@
     , _pasipPayload        :: !SetIAMPolicyRequest
     , _pasipResource       :: !Text
     , _pasipCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsSetIAMPolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -96,7 +99,7 @@
     -> Text -- ^ 'pasipResource'
     -> ProjectsAttestorsSetIAMPolicy
 projectsAttestorsSetIAMPolicy pPasipPayload_ pPasipResource_ =
-    ProjectsAttestorsSetIAMPolicy'
+  ProjectsAttestorsSetIAMPolicy'
     { _pasipXgafv = Nothing
     , _pasipUploadProtocol = Nothing
     , _pasipAccessToken = Nothing
@@ -105,6 +108,7 @@
     , _pasipResource = pPasipResource_
     , _pasipCallback = Nothing
     }
+
 
 -- | V1 error format.
 pasipXgafv :: Lens' ProjectsAttestorsSetIAMPolicy (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/TestIAMPermissions.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/TestIAMPermissions.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/TestIAMPermissions.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/TestIAMPermissions.hs
@@ -72,7 +72,8 @@
 -- warning.
 --
 -- /See:/ 'projectsAttestorsTestIAMPermissions' smart constructor.
-data ProjectsAttestorsTestIAMPermissions = ProjectsAttestorsTestIAMPermissions'
+data ProjectsAttestorsTestIAMPermissions =
+  ProjectsAttestorsTestIAMPermissions'
     { _patipXgafv          :: !(Maybe Xgafv)
     , _patipUploadProtocol :: !(Maybe Text)
     , _patipAccessToken    :: !(Maybe Text)
@@ -80,8 +81,10 @@
     , _patipPayload        :: !TestIAMPermissionsRequest
     , _patipResource       :: !Text
     , _patipCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsTestIAMPermissions' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -104,7 +107,7 @@
     -> Text -- ^ 'patipResource'
     -> ProjectsAttestorsTestIAMPermissions
 projectsAttestorsTestIAMPermissions pPatipPayload_ pPatipResource_ =
-    ProjectsAttestorsTestIAMPermissions'
+  ProjectsAttestorsTestIAMPermissions'
     { _patipXgafv = Nothing
     , _patipUploadProtocol = Nothing
     , _patipAccessToken = Nothing
@@ -114,6 +117,7 @@
     , _patipCallback = Nothing
     }
 
+
 -- | V1 error format.
 patipXgafv :: Lens' ProjectsAttestorsTestIAMPermissions (Maybe Xgafv)
 patipXgafv
@@ -157,7 +161,8 @@
       (\ s a -> s{_patipCallback = a})
 
 instance GoogleRequest
-         ProjectsAttestorsTestIAMPermissions where
+           ProjectsAttestorsTestIAMPermissions
+         where
         type Rs ProjectsAttestorsTestIAMPermissions =
              TestIAMPermissionsResponse
         type Scopes ProjectsAttestorsTestIAMPermissions =
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Update.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Update.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Update.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Update.hs
@@ -61,7 +61,8 @@
 -- | Updates an attestor. Returns NOT_FOUND if the attestor does not exist.
 --
 -- /See:/ 'projectsAttestorsUpdate' smart constructor.
-data ProjectsAttestorsUpdate = ProjectsAttestorsUpdate'
+data ProjectsAttestorsUpdate =
+  ProjectsAttestorsUpdate'
     { _pauXgafv          :: !(Maybe Xgafv)
     , _pauUploadProtocol :: !(Maybe Text)
     , _pauAccessToken    :: !(Maybe Text)
@@ -69,8 +70,10 @@
     , _pauPayload        :: !Attestor
     , _pauName           :: !Text
     , _pauCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsAttestorsUpdate' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -93,7 +96,7 @@
     -> Text -- ^ 'pauName'
     -> ProjectsAttestorsUpdate
 projectsAttestorsUpdate pPauPayload_ pPauName_ =
-    ProjectsAttestorsUpdate'
+  ProjectsAttestorsUpdate'
     { _pauXgafv = Nothing
     , _pauUploadProtocol = Nothing
     , _pauAccessToken = Nothing
@@ -102,6 +105,7 @@
     , _pauName = pPauName_
     , _pauCallback = Nothing
     }
+
 
 -- | V1 error format.
 pauXgafv :: Lens' ProjectsAttestorsUpdate (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/GetPolicy.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/GetPolicy.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/GetPolicy.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/GetPolicy.hs
@@ -61,15 +61,18 @@
 -- project does not have one.
 --
 -- /See:/ 'projectsGetPolicy' smart constructor.
-data ProjectsGetPolicy = ProjectsGetPolicy'
+data ProjectsGetPolicy =
+  ProjectsGetPolicy'
     { _pgpXgafv          :: !(Maybe Xgafv)
     , _pgpUploadProtocol :: !(Maybe Text)
     , _pgpAccessToken    :: !(Maybe Text)
     , _pgpUploadType     :: !(Maybe Text)
     , _pgpName           :: !Text
     , _pgpCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsGetPolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -89,7 +92,7 @@
     :: Text -- ^ 'pgpName'
     -> ProjectsGetPolicy
 projectsGetPolicy pPgpName_ =
-    ProjectsGetPolicy'
+  ProjectsGetPolicy'
     { _pgpXgafv = Nothing
     , _pgpUploadProtocol = Nothing
     , _pgpAccessToken = Nothing
@@ -97,6 +100,7 @@
     , _pgpName = pPgpName_
     , _pgpCallback = Nothing
     }
+
 
 -- | V1 error format.
 pgpXgafv :: Lens' ProjectsGetPolicy (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/GetIAMPolicy.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/GetIAMPolicy.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/GetIAMPolicy.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/GetIAMPolicy.hs
@@ -61,15 +61,18 @@
 -- if the resource exists and does not have a policy set.
 --
 -- /See:/ 'projectsPolicyGetIAMPolicy' smart constructor.
-data ProjectsPolicyGetIAMPolicy = ProjectsPolicyGetIAMPolicy'
+data ProjectsPolicyGetIAMPolicy =
+  ProjectsPolicyGetIAMPolicy'
     { _ppgipXgafv          :: !(Maybe Xgafv)
     , _ppgipUploadProtocol :: !(Maybe Text)
     , _ppgipAccessToken    :: !(Maybe Text)
     , _ppgipUploadType     :: !(Maybe Text)
     , _ppgipResource       :: !Text
     , _ppgipCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsPolicyGetIAMPolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -89,7 +92,7 @@
     :: Text -- ^ 'ppgipResource'
     -> ProjectsPolicyGetIAMPolicy
 projectsPolicyGetIAMPolicy pPpgipResource_ =
-    ProjectsPolicyGetIAMPolicy'
+  ProjectsPolicyGetIAMPolicy'
     { _ppgipXgafv = Nothing
     , _ppgipUploadProtocol = Nothing
     , _ppgipAccessToken = Nothing
@@ -97,6 +100,7 @@
     , _ppgipResource = pPpgipResource_
     , _ppgipCallback = Nothing
     }
+
 
 -- | V1 error format.
 ppgipXgafv :: Lens' ProjectsPolicyGetIAMPolicy (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/SetIAMPolicy.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/SetIAMPolicy.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/SetIAMPolicy.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/SetIAMPolicy.hs
@@ -64,7 +64,8 @@
 -- existing policy.
 --
 -- /See:/ 'projectsPolicySetIAMPolicy' smart constructor.
-data ProjectsPolicySetIAMPolicy = ProjectsPolicySetIAMPolicy'
+data ProjectsPolicySetIAMPolicy =
+  ProjectsPolicySetIAMPolicy'
     { _ppsipXgafv          :: !(Maybe Xgafv)
     , _ppsipUploadProtocol :: !(Maybe Text)
     , _ppsipAccessToken    :: !(Maybe Text)
@@ -72,8 +73,10 @@
     , _ppsipPayload        :: !SetIAMPolicyRequest
     , _ppsipResource       :: !Text
     , _ppsipCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsPolicySetIAMPolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -96,7 +99,7 @@
     -> Text -- ^ 'ppsipResource'
     -> ProjectsPolicySetIAMPolicy
 projectsPolicySetIAMPolicy pPpsipPayload_ pPpsipResource_ =
-    ProjectsPolicySetIAMPolicy'
+  ProjectsPolicySetIAMPolicy'
     { _ppsipXgafv = Nothing
     , _ppsipUploadProtocol = Nothing
     , _ppsipAccessToken = Nothing
@@ -105,6 +108,7 @@
     , _ppsipResource = pPpsipResource_
     , _ppsipCallback = Nothing
     }
+
 
 -- | V1 error format.
 ppsipXgafv :: Lens' ProjectsPolicySetIAMPolicy (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/TestIAMPermissions.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/TestIAMPermissions.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/TestIAMPermissions.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/TestIAMPermissions.hs
@@ -72,7 +72,8 @@
 -- warning.
 --
 -- /See:/ 'projectsPolicyTestIAMPermissions' smart constructor.
-data ProjectsPolicyTestIAMPermissions = ProjectsPolicyTestIAMPermissions'
+data ProjectsPolicyTestIAMPermissions =
+  ProjectsPolicyTestIAMPermissions'
     { _pptipXgafv          :: !(Maybe Xgafv)
     , _pptipUploadProtocol :: !(Maybe Text)
     , _pptipAccessToken    :: !(Maybe Text)
@@ -80,8 +81,10 @@
     , _pptipPayload        :: !TestIAMPermissionsRequest
     , _pptipResource       :: !Text
     , _pptipCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsPolicyTestIAMPermissions' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -104,7 +107,7 @@
     -> Text -- ^ 'pptipResource'
     -> ProjectsPolicyTestIAMPermissions
 projectsPolicyTestIAMPermissions pPptipPayload_ pPptipResource_ =
-    ProjectsPolicyTestIAMPermissions'
+  ProjectsPolicyTestIAMPermissions'
     { _pptipXgafv = Nothing
     , _pptipUploadProtocol = Nothing
     , _pptipAccessToken = Nothing
@@ -114,6 +117,7 @@
     , _pptipCallback = Nothing
     }
 
+
 -- | V1 error format.
 pptipXgafv :: Lens' ProjectsPolicyTestIAMPermissions (Maybe Xgafv)
 pptipXgafv
@@ -157,7 +161,8 @@
       (\ s a -> s{_pptipCallback = a})
 
 instance GoogleRequest
-         ProjectsPolicyTestIAMPermissions where
+           ProjectsPolicyTestIAMPermissions
+         where
         type Rs ProjectsPolicyTestIAMPermissions =
              TestIAMPermissionsResponse
         type Scopes ProjectsPolicyTestIAMPermissions =
diff --git a/gen/Network/Google/Resource/BinaryAuthorization/Projects/UpdatePolicy.hs b/gen/Network/Google/Resource/BinaryAuthorization/Projects/UpdatePolicy.hs
--- a/gen/Network/Google/Resource/BinaryAuthorization/Projects/UpdatePolicy.hs
+++ b/gen/Network/Google/Resource/BinaryAuthorization/Projects/UpdatePolicy.hs
@@ -69,7 +69,8 @@
 -- is malformed.
 --
 -- /See:/ 'projectsUpdatePolicy' smart constructor.
-data ProjectsUpdatePolicy = ProjectsUpdatePolicy'
+data ProjectsUpdatePolicy =
+  ProjectsUpdatePolicy'
     { _pupXgafv          :: !(Maybe Xgafv)
     , _pupUploadProtocol :: !(Maybe Text)
     , _pupAccessToken    :: !(Maybe Text)
@@ -77,8 +78,10 @@
     , _pupPayload        :: !Policy
     , _pupName           :: !Text
     , _pupCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ProjectsUpdatePolicy' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -101,7 +104,7 @@
     -> Text -- ^ 'pupName'
     -> ProjectsUpdatePolicy
 projectsUpdatePolicy pPupPayload_ pPupName_ =
-    ProjectsUpdatePolicy'
+  ProjectsUpdatePolicy'
     { _pupXgafv = Nothing
     , _pupUploadProtocol = Nothing
     , _pupAccessToken = Nothing
@@ -110,6 +113,7 @@
     , _pupName = pPupName_
     , _pupCallback = Nothing
     }
+
 
 -- | V1 error format.
 pupXgafv :: Lens' ProjectsUpdatePolicy (Maybe Xgafv)
diff --git a/gogol-binaryauthorization.cabal b/gogol-binaryauthorization.cabal
--- a/gogol-binaryauthorization.cabal
+++ b/gogol-binaryauthorization.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-binaryauthorization
-version:               0.4.0
+version:               0.5.0
 synopsis:              Google Binary Authorization SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -55,5 +55,5 @@
         , Network.Google.BinaryAuthorization.Types.Sum
 
     build-depends:
-          gogol-core == 0.4.0.*
+          gogol-core == 0.5.0.*
         , base       >= 4.7 && < 5
