diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.5.0`
+`1.0.0`
 
 
 ## Description
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,3 @@
-import           Distribution.Simple
+import Distribution.Simple
+
 main = defaultMain
diff --git a/gen/Gogol/AppEngine.hs b/gen/Gogol/AppEngine.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine.hs
@@ -0,0 +1,807 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Provisions and manages developers\' App Engine applications.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference>
+module Gogol.AppEngine
+  ( -- * Configuration
+    appEngineService,
+
+    -- * OAuth Scopes
+    Appengine'Admin,
+    CloudPlatform'FullControl,
+    CloudPlatform'ReadOnly,
+
+    -- * Resources
+
+    -- ** appengine.apps.authorizedCertificates.create
+    AppEngineAppsAuthorizedCertificatesCreateResource,
+    AppEngineAppsAuthorizedCertificatesCreate (..),
+    newAppEngineAppsAuthorizedCertificatesCreate,
+
+    -- ** appengine.apps.authorizedCertificates.delete
+    AppEngineAppsAuthorizedCertificatesDeleteResource,
+    AppEngineAppsAuthorizedCertificatesDelete (..),
+    newAppEngineAppsAuthorizedCertificatesDelete,
+
+    -- ** appengine.apps.authorizedCertificates.get
+    AppEngineAppsAuthorizedCertificatesGetResource,
+    AppEngineAppsAuthorizedCertificatesGet (..),
+    newAppEngineAppsAuthorizedCertificatesGet,
+
+    -- ** appengine.apps.authorizedCertificates.list
+    AppEngineAppsAuthorizedCertificatesListResource,
+    AppEngineAppsAuthorizedCertificatesList (..),
+    newAppEngineAppsAuthorizedCertificatesList,
+
+    -- ** appengine.apps.authorizedCertificates.patch
+    AppEngineAppsAuthorizedCertificatesPatchResource,
+    AppEngineAppsAuthorizedCertificatesPatch (..),
+    newAppEngineAppsAuthorizedCertificatesPatch,
+
+    -- ** appengine.apps.authorizedDomains.list
+    AppEngineAppsAuthorizedDomainsListResource,
+    AppEngineAppsAuthorizedDomainsList (..),
+    newAppEngineAppsAuthorizedDomainsList,
+
+    -- ** appengine.apps.create
+    AppEngineAppsCreateResource,
+    AppEngineAppsCreate (..),
+    newAppEngineAppsCreate,
+
+    -- ** appengine.apps.domainMappings.create
+    AppEngineAppsDomainMappingsCreateResource,
+    AppEngineAppsDomainMappingsCreate (..),
+    newAppEngineAppsDomainMappingsCreate,
+
+    -- ** appengine.apps.domainMappings.delete
+    AppEngineAppsDomainMappingsDeleteResource,
+    AppEngineAppsDomainMappingsDelete (..),
+    newAppEngineAppsDomainMappingsDelete,
+
+    -- ** appengine.apps.domainMappings.get
+    AppEngineAppsDomainMappingsGetResource,
+    AppEngineAppsDomainMappingsGet (..),
+    newAppEngineAppsDomainMappingsGet,
+
+    -- ** appengine.apps.domainMappings.list
+    AppEngineAppsDomainMappingsListResource,
+    AppEngineAppsDomainMappingsList (..),
+    newAppEngineAppsDomainMappingsList,
+
+    -- ** appengine.apps.domainMappings.patch
+    AppEngineAppsDomainMappingsPatchResource,
+    AppEngineAppsDomainMappingsPatch (..),
+    newAppEngineAppsDomainMappingsPatch,
+
+    -- ** appengine.apps.firewall.ingressRules.batchUpdate
+    AppEngineAppsFirewallIngressRulesBatchUpdateResource,
+    AppEngineAppsFirewallIngressRulesBatchUpdate (..),
+    newAppEngineAppsFirewallIngressRulesBatchUpdate,
+
+    -- ** appengine.apps.firewall.ingressRules.create
+    AppEngineAppsFirewallIngressRulesCreateResource,
+    AppEngineAppsFirewallIngressRulesCreate (..),
+    newAppEngineAppsFirewallIngressRulesCreate,
+
+    -- ** appengine.apps.firewall.ingressRules.delete
+    AppEngineAppsFirewallIngressRulesDeleteResource,
+    AppEngineAppsFirewallIngressRulesDelete (..),
+    newAppEngineAppsFirewallIngressRulesDelete,
+
+    -- ** appengine.apps.firewall.ingressRules.get
+    AppEngineAppsFirewallIngressRulesGetResource,
+    AppEngineAppsFirewallIngressRulesGet (..),
+    newAppEngineAppsFirewallIngressRulesGet,
+
+    -- ** appengine.apps.firewall.ingressRules.list
+    AppEngineAppsFirewallIngressRulesListResource,
+    AppEngineAppsFirewallIngressRulesList (..),
+    newAppEngineAppsFirewallIngressRulesList,
+
+    -- ** appengine.apps.firewall.ingressRules.patch
+    AppEngineAppsFirewallIngressRulesPatchResource,
+    AppEngineAppsFirewallIngressRulesPatch (..),
+    newAppEngineAppsFirewallIngressRulesPatch,
+
+    -- ** appengine.apps.get
+    AppEngineAppsGetResource,
+    AppEngineAppsGet (..),
+    newAppEngineAppsGet,
+
+    -- ** appengine.apps.listRuntimes
+    AppEngineAppsListRuntimesResource,
+    AppEngineAppsListRuntimes (..),
+    newAppEngineAppsListRuntimes,
+
+    -- ** appengine.apps.locations.get
+    AppEngineAppsLocationsGetResource,
+    AppEngineAppsLocationsGet (..),
+    newAppEngineAppsLocationsGet,
+
+    -- ** appengine.apps.locations.list
+    AppEngineAppsLocationsListResource,
+    AppEngineAppsLocationsList (..),
+    newAppEngineAppsLocationsList,
+
+    -- ** appengine.apps.operations.get
+    AppEngineAppsOperationsGetResource,
+    AppEngineAppsOperationsGet (..),
+    newAppEngineAppsOperationsGet,
+
+    -- ** appengine.apps.operations.list
+    AppEngineAppsOperationsListResource,
+    AppEngineAppsOperationsList (..),
+    newAppEngineAppsOperationsList,
+
+    -- ** appengine.apps.patch
+    AppEngineAppsPatchResource,
+    AppEngineAppsPatch (..),
+    newAppEngineAppsPatch,
+
+    -- ** appengine.apps.repair
+    AppEngineAppsRepairResource,
+    AppEngineAppsRepair (..),
+    newAppEngineAppsRepair,
+
+    -- ** appengine.apps.services.delete
+    AppEngineAppsServicesDeleteResource,
+    AppEngineAppsServicesDelete (..),
+    newAppEngineAppsServicesDelete,
+
+    -- ** appengine.apps.services.get
+    AppEngineAppsServicesGetResource,
+    AppEngineAppsServicesGet (..),
+    newAppEngineAppsServicesGet,
+
+    -- ** appengine.apps.services.list
+    AppEngineAppsServicesListResource,
+    AppEngineAppsServicesList (..),
+    newAppEngineAppsServicesList,
+
+    -- ** appengine.apps.services.patch
+    AppEngineAppsServicesPatchResource,
+    AppEngineAppsServicesPatch (..),
+    newAppEngineAppsServicesPatch,
+
+    -- ** appengine.apps.services.versions.create
+    AppEngineAppsServicesVersionsCreateResource,
+    AppEngineAppsServicesVersionsCreate (..),
+    newAppEngineAppsServicesVersionsCreate,
+
+    -- ** appengine.apps.services.versions.delete
+    AppEngineAppsServicesVersionsDeleteResource,
+    AppEngineAppsServicesVersionsDelete (..),
+    newAppEngineAppsServicesVersionsDelete,
+
+    -- ** appengine.apps.services.versions.get
+    AppEngineAppsServicesVersionsGetResource,
+    AppEngineAppsServicesVersionsGet (..),
+    newAppEngineAppsServicesVersionsGet,
+
+    -- ** appengine.apps.services.versions.instances.debug
+    AppEngineAppsServicesVersionsInstancesDebugResource,
+    AppEngineAppsServicesVersionsInstancesDebug (..),
+    newAppEngineAppsServicesVersionsInstancesDebug,
+
+    -- ** appengine.apps.services.versions.instances.delete
+    AppEngineAppsServicesVersionsInstancesDeleteResource,
+    AppEngineAppsServicesVersionsInstancesDelete (..),
+    newAppEngineAppsServicesVersionsInstancesDelete,
+
+    -- ** appengine.apps.services.versions.instances.get
+    AppEngineAppsServicesVersionsInstancesGetResource,
+    AppEngineAppsServicesVersionsInstancesGet (..),
+    newAppEngineAppsServicesVersionsInstancesGet,
+
+    -- ** appengine.apps.services.versions.instances.list
+    AppEngineAppsServicesVersionsInstancesListResource,
+    AppEngineAppsServicesVersionsInstancesList (..),
+    newAppEngineAppsServicesVersionsInstancesList,
+
+    -- ** appengine.apps.services.versions.list
+    AppEngineAppsServicesVersionsListResource,
+    AppEngineAppsServicesVersionsList (..),
+    newAppEngineAppsServicesVersionsList,
+
+    -- ** appengine.apps.services.versions.patch
+    AppEngineAppsServicesVersionsPatchResource,
+    AppEngineAppsServicesVersionsPatch (..),
+    newAppEngineAppsServicesVersionsPatch,
+
+    -- ** appengine.projects.locations.applications.authorizedDomains.list
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsListResource,
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsList (..),
+    newAppEngineProjectsLocationsApplicationsAuthorizedDomainsList,
+
+    -- ** appengine.projects.locations.applications.services.delete
+    AppEngineProjectsLocationsApplicationsServicesDeleteResource,
+    AppEngineProjectsLocationsApplicationsServicesDelete (..),
+    newAppEngineProjectsLocationsApplicationsServicesDelete,
+
+    -- ** appengine.projects.locations.applications.services.versions.delete
+    AppEngineProjectsLocationsApplicationsServicesVersionsDeleteResource,
+    AppEngineProjectsLocationsApplicationsServicesVersionsDelete (..),
+    newAppEngineProjectsLocationsApplicationsServicesVersionsDelete,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** ApiConfigHandler
+    ApiConfigHandler (..),
+    newApiConfigHandler,
+
+    -- ** ApiConfigHandler_AuthFailAction
+    ApiConfigHandler_AuthFailAction (..),
+
+    -- ** ApiConfigHandler_Login
+    ApiConfigHandler_Login (..),
+
+    -- ** ApiConfigHandler_SecurityLevel
+    ApiConfigHandler_SecurityLevel (..),
+
+    -- ** ApiEndpointHandler
+    ApiEndpointHandler (..),
+    newApiEndpointHandler,
+
+    -- ** Application
+    Application (..),
+    newApplication,
+
+    -- ** Application_DatabaseType
+    Application_DatabaseType (..),
+
+    -- ** Application_GeneratedCustomerMetadata
+    Application_GeneratedCustomerMetadata (..),
+    newApplication_GeneratedCustomerMetadata,
+
+    -- ** Application_ServingStatus
+    Application_ServingStatus (..),
+
+    -- ** Application_SslPolicy
+    Application_SslPolicy (..),
+
+    -- ** AuthorizedCertificate
+    AuthorizedCertificate (..),
+    newAuthorizedCertificate,
+
+    -- ** AuthorizedDomain
+    AuthorizedDomain (..),
+    newAuthorizedDomain,
+
+    -- ** AutomaticScaling
+    AutomaticScaling (..),
+    newAutomaticScaling,
+
+    -- ** BasicScaling
+    BasicScaling (..),
+    newBasicScaling,
+
+    -- ** BatchUpdateIngressRulesRequest
+    BatchUpdateIngressRulesRequest (..),
+    newBatchUpdateIngressRulesRequest,
+
+    -- ** BatchUpdateIngressRulesResponse
+    BatchUpdateIngressRulesResponse (..),
+    newBatchUpdateIngressRulesResponse,
+
+    -- ** CertificateRawData
+    CertificateRawData (..),
+    newCertificateRawData,
+
+    -- ** CloudBuildOptions
+    CloudBuildOptions (..),
+    newCloudBuildOptions,
+
+    -- ** ContainerInfo
+    ContainerInfo (..),
+    newContainerInfo,
+
+    -- ** ContainerState
+    ContainerState (..),
+    newContainerState,
+
+    -- ** ContainerState_State
+    ContainerState_State (..),
+
+    -- ** CpuUtilization
+    CpuUtilization (..),
+    newCpuUtilization,
+
+    -- ** CreateVersionMetadataV1
+    CreateVersionMetadataV1 (..),
+    newCreateVersionMetadataV1,
+
+    -- ** CreateVersionMetadataV1Alpha
+    CreateVersionMetadataV1Alpha (..),
+    newCreateVersionMetadataV1Alpha,
+
+    -- ** CreateVersionMetadataV1Beta
+    CreateVersionMetadataV1Beta (..),
+    newCreateVersionMetadataV1Beta,
+
+    -- ** Date
+    Date (..),
+    newDate,
+
+    -- ** DebugInstanceRequest
+    DebugInstanceRequest (..),
+    newDebugInstanceRequest,
+
+    -- ** Deployment
+    Deployment (..),
+    newDeployment,
+
+    -- ** Deployment_Files
+    Deployment_Files (..),
+    newDeployment_Files,
+
+    -- ** DiskUtilization
+    DiskUtilization (..),
+    newDiskUtilization,
+
+    -- ** DomainMapping
+    DomainMapping (..),
+    newDomainMapping,
+
+    -- ** Empty
+    Empty (..),
+    newEmpty,
+
+    -- ** EndpointsApiService
+    EndpointsApiService (..),
+    newEndpointsApiService,
+
+    -- ** EndpointsApiService_RolloutStrategy
+    EndpointsApiService_RolloutStrategy (..),
+
+    -- ** Entrypoint
+    Entrypoint (..),
+    newEntrypoint,
+
+    -- ** ErrorHandler
+    ErrorHandler (..),
+    newErrorHandler,
+
+    -- ** ErrorHandler_ErrorCode
+    ErrorHandler_ErrorCode (..),
+
+    -- ** FeatureSettings
+    FeatureSettings (..),
+    newFeatureSettings,
+
+    -- ** FileInfo
+    FileInfo (..),
+    newFileInfo,
+
+    -- ** FirewallRule
+    FirewallRule (..),
+    newFirewallRule,
+
+    -- ** FirewallRule_Action
+    FirewallRule_Action (..),
+
+    -- ** FlexibleRuntimeSettings
+    FlexibleRuntimeSettings (..),
+    newFlexibleRuntimeSettings,
+
+    -- ** GceTag
+    GceTag (..),
+    newGceTag,
+
+    -- ** GoogleAppengineV1betaLocationMetadata
+    GoogleAppengineV1betaLocationMetadata (..),
+    newGoogleAppengineV1betaLocationMetadata,
+
+    -- ** HealthCheck
+    HealthCheck (..),
+    newHealthCheck,
+
+    -- ** IdentityAwareProxy
+    IdentityAwareProxy (..),
+    newIdentityAwareProxy,
+
+    -- ** Instance
+    Instance (..),
+    newInstance,
+
+    -- ** Instance_Availability
+    Instance_Availability (..),
+
+    -- ** Instance_VmLiveness
+    Instance_VmLiveness (..),
+
+    -- ** Library
+    Library (..),
+    newLibrary,
+
+    -- ** ListAuthorizedCertificatesResponse
+    ListAuthorizedCertificatesResponse (..),
+    newListAuthorizedCertificatesResponse,
+
+    -- ** ListAuthorizedDomainsResponse
+    ListAuthorizedDomainsResponse (..),
+    newListAuthorizedDomainsResponse,
+
+    -- ** ListDomainMappingsResponse
+    ListDomainMappingsResponse (..),
+    newListDomainMappingsResponse,
+
+    -- ** ListIngressRulesResponse
+    ListIngressRulesResponse (..),
+    newListIngressRulesResponse,
+
+    -- ** ListInstancesResponse
+    ListInstancesResponse (..),
+    newListInstancesResponse,
+
+    -- ** ListLocationsResponse
+    ListLocationsResponse (..),
+    newListLocationsResponse,
+
+    -- ** ListOperationsResponse
+    ListOperationsResponse (..),
+    newListOperationsResponse,
+
+    -- ** ListRuntimesResponse
+    ListRuntimesResponse (..),
+    newListRuntimesResponse,
+
+    -- ** ListServicesResponse
+    ListServicesResponse (..),
+    newListServicesResponse,
+
+    -- ** ListVersionsResponse
+    ListVersionsResponse (..),
+    newListVersionsResponse,
+
+    -- ** LivenessCheck
+    LivenessCheck (..),
+    newLivenessCheck,
+
+    -- ** Location
+    Location (..),
+    newLocation,
+
+    -- ** Location_Labels
+    Location_Labels (..),
+    newLocation_Labels,
+
+    -- ** Location_Metadata
+    Location_Metadata (..),
+    newLocation_Metadata,
+
+    -- ** LocationMetadata
+    LocationMetadata (..),
+    newLocationMetadata,
+
+    -- ** ManagedCertificate
+    ManagedCertificate (..),
+    newManagedCertificate,
+
+    -- ** ManagedCertificate_Status
+    ManagedCertificate_Status (..),
+
+    -- ** ManualScaling
+    ManualScaling (..),
+    newManualScaling,
+
+    -- ** Network
+    Network (..),
+    newNetwork,
+
+    -- ** Network_InstanceIpMode
+    Network_InstanceIpMode (..),
+
+    -- ** NetworkSettings
+    NetworkSettings (..),
+    newNetworkSettings,
+
+    -- ** NetworkSettings_IngressTrafficAllowed
+    NetworkSettings_IngressTrafficAllowed (..),
+
+    -- ** NetworkUtilization
+    NetworkUtilization (..),
+    newNetworkUtilization,
+
+    -- ** Operation
+    Operation (..),
+    newOperation,
+
+    -- ** Operation_Metadata
+    Operation_Metadata (..),
+    newOperation_Metadata,
+
+    -- ** Operation_Response
+    Operation_Response (..),
+    newOperation_Response,
+
+    -- ** OperationMetadataV1
+    OperationMetadataV1 (..),
+    newOperationMetadataV1,
+
+    -- ** OperationMetadataV1Alpha
+    OperationMetadataV1Alpha (..),
+    newOperationMetadataV1Alpha,
+
+    -- ** OperationMetadataV1Beta
+    OperationMetadataV1Beta (..),
+    newOperationMetadataV1Beta,
+
+    -- ** ProjectEvent
+    ProjectEvent (..),
+    newProjectEvent,
+
+    -- ** ProjectEvent_Phase
+    ProjectEvent_Phase (..),
+
+    -- ** ProjectsMetadata
+    ProjectsMetadata (..),
+    newProjectsMetadata,
+
+    -- ** ProjectsMetadata_ConsumerProjectState
+    ProjectsMetadata_ConsumerProjectState (..),
+
+    -- ** ReadinessCheck
+    ReadinessCheck (..),
+    newReadinessCheck,
+
+    -- ** Reasons
+    Reasons (..),
+    newReasons,
+
+    -- ** Reasons_Abuse
+    Reasons_Abuse (..),
+
+    -- ** Reasons_Billing
+    Reasons_Billing (..),
+
+    -- ** Reasons_DataGovernance
+    Reasons_DataGovernance (..),
+
+    -- ** Reasons_ServiceActivation
+    Reasons_ServiceActivation (..),
+
+    -- ** Reasons_ServiceManagement
+    Reasons_ServiceManagement (..),
+
+    -- ** RepairApplicationRequest
+    RepairApplicationRequest (..),
+    newRepairApplicationRequest,
+
+    -- ** RequestUtilization
+    RequestUtilization (..),
+    newRequestUtilization,
+
+    -- ** ResourceEvent
+    ResourceEvent (..),
+    newResourceEvent,
+
+    -- ** ResourceRecord
+    ResourceRecord (..),
+    newResourceRecord,
+
+    -- ** ResourceRecord_Type
+    ResourceRecord_Type (..),
+
+    -- ** Resources
+    Resources (..),
+    newResources,
+
+    -- ** Runtime
+    Runtime (..),
+    newRuntime,
+
+    -- ** Runtime_Environment
+    Runtime_Environment (..),
+
+    -- ** Runtime_Stage
+    Runtime_Stage (..),
+
+    -- ** ScriptHandler
+    ScriptHandler (..),
+    newScriptHandler,
+
+    -- ** Service
+    Service (..),
+    newService,
+
+    -- ** Service_GeneratedCustomerMetadata
+    Service_GeneratedCustomerMetadata (..),
+    newService_GeneratedCustomerMetadata,
+
+    -- ** Service_Labels
+    Service_Labels (..),
+    newService_Labels,
+
+    -- ** SslSettings
+    SslSettings (..),
+    newSslSettings,
+
+    -- ** SslSettings_SslManagementType
+    SslSettings_SslManagementType (..),
+
+    -- ** StandardSchedulerSettings
+    StandardSchedulerSettings (..),
+    newStandardSchedulerSettings,
+
+    -- ** StaticFilesHandler
+    StaticFilesHandler (..),
+    newStaticFilesHandler,
+
+    -- ** StaticFilesHandler_HttpHeaders
+    StaticFilesHandler_HttpHeaders (..),
+    newStaticFilesHandler_HttpHeaders,
+
+    -- ** Status
+    Status (..),
+    newStatus,
+
+    -- ** Status_DetailsItem
+    Status_DetailsItem (..),
+    newStatus_DetailsItem,
+
+    -- ** TrafficSplit
+    TrafficSplit (..),
+    newTrafficSplit,
+
+    -- ** TrafficSplit_Allocations
+    TrafficSplit_Allocations (..),
+    newTrafficSplit_Allocations,
+
+    -- ** TrafficSplit_ShardBy
+    TrafficSplit_ShardBy (..),
+
+    -- ** UrlDispatchRule
+    UrlDispatchRule (..),
+    newUrlDispatchRule,
+
+    -- ** UrlMap
+    UrlMap (..),
+    newUrlMap,
+
+    -- ** UrlMap_AuthFailAction
+    UrlMap_AuthFailAction (..),
+
+    -- ** UrlMap_Login
+    UrlMap_Login (..),
+
+    -- ** UrlMap_RedirectHttpResponseCode
+    UrlMap_RedirectHttpResponseCode (..),
+
+    -- ** UrlMap_SecurityLevel
+    UrlMap_SecurityLevel (..),
+
+    -- ** Version
+    Version (..),
+    newVersion,
+
+    -- ** Version_BetaSettings
+    Version_BetaSettings (..),
+    newVersion_BetaSettings,
+
+    -- ** Version_BuildEnvVariables
+    Version_BuildEnvVariables (..),
+    newVersion_BuildEnvVariables,
+
+    -- ** Version_EnvVariables
+    Version_EnvVariables (..),
+    newVersion_EnvVariables,
+
+    -- ** Version_GeneratedCustomerMetadata
+    Version_GeneratedCustomerMetadata (..),
+    newVersion_GeneratedCustomerMetadata,
+
+    -- ** Version_InboundServicesItem
+    Version_InboundServicesItem (..),
+
+    -- ** Version_ServingStatus
+    Version_ServingStatus (..),
+
+    -- ** Volume
+    Volume (..),
+    newVolume,
+
+    -- ** VpcAccessConnector
+    VpcAccessConnector (..),
+    newVpcAccessConnector,
+
+    -- ** VpcAccessConnector_EgressSetting
+    VpcAccessConnector_EgressSetting (..),
+
+    -- ** ZipInfo
+    ZipInfo (..),
+    newZipInfo,
+
+    -- ** AppsAuthorizedCertificatesGetView
+    AppsAuthorizedCertificatesGetView (..),
+
+    -- ** AppsAuthorizedCertificatesListView
+    AppsAuthorizedCertificatesListView (..),
+
+    -- ** AppsDomainMappingsCreateOverrideStrategy
+    AppsDomainMappingsCreateOverrideStrategy (..),
+
+    -- ** AppsGetIncludeExtraData
+    AppsGetIncludeExtraData (..),
+
+    -- ** AppsListRuntimesEnvironment
+    AppsListRuntimesEnvironment (..),
+
+    -- ** AppsServicesVersionsGetView
+    AppsServicesVersionsGetView (..),
+
+    -- ** AppsServicesVersionsListView
+    AppsServicesVersionsListView (..),
+  )
+where
+
+import Gogol.AppEngine.Apps.AuthorizedCertificates.Create
+import Gogol.AppEngine.Apps.AuthorizedCertificates.Delete
+import Gogol.AppEngine.Apps.AuthorizedCertificates.Get
+import Gogol.AppEngine.Apps.AuthorizedCertificates.List
+import Gogol.AppEngine.Apps.AuthorizedCertificates.Patch
+import Gogol.AppEngine.Apps.AuthorizedDomains.List
+import Gogol.AppEngine.Apps.Create
+import Gogol.AppEngine.Apps.DomainMappings.Create
+import Gogol.AppEngine.Apps.DomainMappings.Delete
+import Gogol.AppEngine.Apps.DomainMappings.Get
+import Gogol.AppEngine.Apps.DomainMappings.List
+import Gogol.AppEngine.Apps.DomainMappings.Patch
+import Gogol.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
+import Gogol.AppEngine.Apps.Firewall.IngressRules.Create
+import Gogol.AppEngine.Apps.Firewall.IngressRules.Delete
+import Gogol.AppEngine.Apps.Firewall.IngressRules.Get
+import Gogol.AppEngine.Apps.Firewall.IngressRules.List
+import Gogol.AppEngine.Apps.Firewall.IngressRules.Patch
+import Gogol.AppEngine.Apps.Get
+import Gogol.AppEngine.Apps.ListRuntimes
+import Gogol.AppEngine.Apps.Locations.Get
+import Gogol.AppEngine.Apps.Locations.List
+import Gogol.AppEngine.Apps.Operations.Get
+import Gogol.AppEngine.Apps.Operations.List
+import Gogol.AppEngine.Apps.Patch
+import Gogol.AppEngine.Apps.Repair
+import Gogol.AppEngine.Apps.Services.Delete
+import Gogol.AppEngine.Apps.Services.Get
+import Gogol.AppEngine.Apps.Services.List
+import Gogol.AppEngine.Apps.Services.Patch
+import Gogol.AppEngine.Apps.Services.Versions.Create
+import Gogol.AppEngine.Apps.Services.Versions.Delete
+import Gogol.AppEngine.Apps.Services.Versions.Get
+import Gogol.AppEngine.Apps.Services.Versions.Instances.Debug
+import Gogol.AppEngine.Apps.Services.Versions.Instances.Delete
+import Gogol.AppEngine.Apps.Services.Versions.Instances.Get
+import Gogol.AppEngine.Apps.Services.Versions.Instances.List
+import Gogol.AppEngine.Apps.Services.Versions.List
+import Gogol.AppEngine.Apps.Services.Versions.Patch
+import Gogol.AppEngine.Projects.Locations.Applications.AuthorizedDomains.List
+import Gogol.AppEngine.Projects.Locations.Applications.Services.Delete
+import Gogol.AppEngine.Projects.Locations.Applications.Services.Versions.Delete
+import Gogol.AppEngine.Types
diff --git a/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Create.hs b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Create.hs
@@ -0,0 +1,125 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.AuthorizedCertificates.Create
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Uploads the specified SSL certificate.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.create@.
+module Gogol.AppEngine.Apps.AuthorizedCertificates.Create
+  ( -- * Resource
+    AppEngineAppsAuthorizedCertificatesCreateResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsAuthorizedCertificatesCreate (..),
+    newAppEngineAppsAuthorizedCertificatesCreate,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.authorizedCertificates.create@ method which the
+-- 'AppEngineAppsAuthorizedCertificatesCreate' request conforms to.
+type AppEngineAppsAuthorizedCertificatesCreateResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "authorizedCertificates"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] AuthorizedCertificate
+    Core.:> Core.Post '[Core.JSON] AuthorizedCertificate
+
+-- | Uploads the specified SSL certificate.
+--
+-- /See:/ 'newAppEngineAppsAuthorizedCertificatesCreate' smart constructor.
+data AppEngineAppsAuthorizedCertificatesCreate = AppEngineAppsAuthorizedCertificatesCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: AuthorizedCertificate,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsAuthorizedCertificatesCreate' with the minimum fields required to make a request.
+newAppEngineAppsAuthorizedCertificatesCreate ::
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  AuthorizedCertificate ->
+  AppEngineAppsAuthorizedCertificatesCreate
+newAppEngineAppsAuthorizedCertificatesCreate appsId payload =
+  AppEngineAppsAuthorizedCertificatesCreate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsAuthorizedCertificatesCreate
+  where
+  type
+    Rs AppEngineAppsAuthorizedCertificatesCreate =
+      AuthorizedCertificate
+  type
+    Scopes AppEngineAppsAuthorizedCertificatesCreate =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsAuthorizedCertificatesCreate {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsAuthorizedCertificatesCreateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Delete.hs b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Delete.hs
@@ -0,0 +1,125 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.AuthorizedCertificates.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes the specified SSL certificate.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.delete@.
+module Gogol.AppEngine.Apps.AuthorizedCertificates.Delete
+  ( -- * Resource
+    AppEngineAppsAuthorizedCertificatesDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsAuthorizedCertificatesDelete (..),
+    newAppEngineAppsAuthorizedCertificatesDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.authorizedCertificates.delete@ method which the
+-- 'AppEngineAppsAuthorizedCertificatesDelete' request conforms to.
+type AppEngineAppsAuthorizedCertificatesDeleteResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "authorizedCertificates"
+    Core.:> Core.Capture "authorizedCertificatesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Empty
+
+-- | Deletes the specified SSL certificate.
+--
+-- /See:/ 'newAppEngineAppsAuthorizedCertificatesDelete' smart constructor.
+data AppEngineAppsAuthorizedCertificatesDelete = AppEngineAppsAuthorizedCertificatesDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource to delete. Example: apps\/myapp\/authorizedCertificates\/12345.
+    appsId :: Core.Text,
+    -- | Part of @name@. See documentation of @appsId@.
+    authorizedCertificatesId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsAuthorizedCertificatesDelete' with the minimum fields required to make a request.
+newAppEngineAppsAuthorizedCertificatesDelete ::
+  -- |  Part of @name@. Name of the resource to delete. Example: apps\/myapp\/authorizedCertificates\/12345. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'authorizedCertificatesId'.
+  Core.Text ->
+  AppEngineAppsAuthorizedCertificatesDelete
+newAppEngineAppsAuthorizedCertificatesDelete
+  appsId
+  authorizedCertificatesId =
+    AppEngineAppsAuthorizedCertificatesDelete
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        authorizedCertificatesId = authorizedCertificatesId,
+        callback = Core.Nothing,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsAuthorizedCertificatesDelete
+  where
+  type Rs AppEngineAppsAuthorizedCertificatesDelete = Empty
+  type
+    Scopes AppEngineAppsAuthorizedCertificatesDelete =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsAuthorizedCertificatesDelete {..} =
+    go
+      appsId
+      authorizedCertificatesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsAuthorizedCertificatesDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Get.hs b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Get.hs
@@ -0,0 +1,132 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.AuthorizedCertificates.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the specified SSL certificate.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.get@.
+module Gogol.AppEngine.Apps.AuthorizedCertificates.Get
+  ( -- * Resource
+    AppEngineAppsAuthorizedCertificatesGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsAuthorizedCertificatesGet (..),
+    newAppEngineAppsAuthorizedCertificatesGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.authorizedCertificates.get@ method which the
+-- 'AppEngineAppsAuthorizedCertificatesGet' request conforms to.
+type AppEngineAppsAuthorizedCertificatesGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "authorizedCertificates"
+    Core.:> Core.Capture "authorizedCertificatesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "view" AppsAuthorizedCertificatesGetView
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] AuthorizedCertificate
+
+-- | Gets the specified SSL certificate.
+--
+-- /See:/ 'newAppEngineAppsAuthorizedCertificatesGet' smart constructor.
+data AppEngineAppsAuthorizedCertificatesGet = AppEngineAppsAuthorizedCertificatesGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/authorizedCertificates\/12345.
+    appsId :: Core.Text,
+    -- | Part of @name@. See documentation of @appsId@.
+    authorizedCertificatesId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Controls the set of fields returned in the GET response.
+    view :: (Core.Maybe AppsAuthorizedCertificatesGetView)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsAuthorizedCertificatesGet' with the minimum fields required to make a request.
+newAppEngineAppsAuthorizedCertificatesGet ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/authorizedCertificates\/12345. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'authorizedCertificatesId'.
+  Core.Text ->
+  AppEngineAppsAuthorizedCertificatesGet
+newAppEngineAppsAuthorizedCertificatesGet
+  appsId
+  authorizedCertificatesId =
+    AppEngineAppsAuthorizedCertificatesGet
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        authorizedCertificatesId = authorizedCertificatesId,
+        callback = Core.Nothing,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        view = Core.Nothing
+      }
+
+instance Core.GoogleRequest AppEngineAppsAuthorizedCertificatesGet where
+  type
+    Rs AppEngineAppsAuthorizedCertificatesGet =
+      AuthorizedCertificate
+  type
+    Scopes AppEngineAppsAuthorizedCertificatesGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsAuthorizedCertificatesGet {..} =
+    go
+      appsId
+      authorizedCertificatesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      view
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsAuthorizedCertificatesGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/List.hs b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/List.hs
@@ -0,0 +1,133 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.AuthorizedCertificates.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all SSL certificates the user is authorized to administer.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.list@.
+module Gogol.AppEngine.Apps.AuthorizedCertificates.List
+  ( -- * Resource
+    AppEngineAppsAuthorizedCertificatesListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsAuthorizedCertificatesList (..),
+    newAppEngineAppsAuthorizedCertificatesList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.authorizedCertificates.list@ method which the
+-- 'AppEngineAppsAuthorizedCertificatesList' request conforms to.
+type AppEngineAppsAuthorizedCertificatesListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "authorizedCertificates"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "view" AppsAuthorizedCertificatesListView
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListAuthorizedCertificatesResponse
+
+-- | Lists all SSL certificates the user is authorized to administer.
+--
+-- /See:/ 'newAppEngineAppsAuthorizedCertificatesList' smart constructor.
+data AppEngineAppsAuthorizedCertificatesList = AppEngineAppsAuthorizedCertificatesList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Controls the set of fields returned in the LIST response.
+    view :: (Core.Maybe AppsAuthorizedCertificatesListView)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsAuthorizedCertificatesList' with the minimum fields required to make a request.
+newAppEngineAppsAuthorizedCertificatesList ::
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsAuthorizedCertificatesList
+newAppEngineAppsAuthorizedCertificatesList appsId =
+  AppEngineAppsAuthorizedCertificatesList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      view = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsAuthorizedCertificatesList where
+  type
+    Rs AppEngineAppsAuthorizedCertificatesList =
+      ListAuthorizedCertificatesResponse
+  type
+    Scopes AppEngineAppsAuthorizedCertificatesList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsAuthorizedCertificatesList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      view
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsAuthorizedCertificatesListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Patch.hs b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/AuthorizedCertificates/Patch.hs
@@ -0,0 +1,140 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.AuthorizedCertificates.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate/data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display/name may also be updated.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.patch@.
+module Gogol.AppEngine.Apps.AuthorizedCertificates.Patch
+  ( -- * Resource
+    AppEngineAppsAuthorizedCertificatesPatchResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsAuthorizedCertificatesPatch (..),
+    newAppEngineAppsAuthorizedCertificatesPatch,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.authorizedCertificates.patch@ method which the
+-- 'AppEngineAppsAuthorizedCertificatesPatch' request conforms to.
+type AppEngineAppsAuthorizedCertificatesPatchResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "authorizedCertificates"
+    Core.:> Core.Capture "authorizedCertificatesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "updateMask" Core.FieldMask
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] AuthorizedCertificate
+    Core.:> Core.Patch '[Core.JSON] AuthorizedCertificate
+
+-- | Updates the specified SSL certificate. To renew a certificate and maintain its existing domain mappings, update certificate/data with a new certificate. The new certificate must be applicable to the same domains as the original certificate. The certificate display/name may also be updated.
+--
+-- /See:/ 'newAppEngineAppsAuthorizedCertificatesPatch' smart constructor.
+data AppEngineAppsAuthorizedCertificatesPatch = AppEngineAppsAuthorizedCertificatesPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource to update. Example: apps\/myapp\/authorizedCertificates\/12345.
+    appsId :: Core.Text,
+    -- | Part of @name@. See documentation of @appsId@.
+    authorizedCertificatesId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: AuthorizedCertificate,
+    -- | Standard field mask for the set of fields to be updated. Updates are only supported on the certificate/raw/data and display_name fields.
+    updateMask :: (Core.Maybe Core.FieldMask),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsAuthorizedCertificatesPatch' with the minimum fields required to make a request.
+newAppEngineAppsAuthorizedCertificatesPatch ::
+  -- |  Part of @name@. Name of the resource to update. Example: apps\/myapp\/authorizedCertificates\/12345. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'authorizedCertificatesId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  AuthorizedCertificate ->
+  AppEngineAppsAuthorizedCertificatesPatch
+newAppEngineAppsAuthorizedCertificatesPatch
+  appsId
+  authorizedCertificatesId
+  payload =
+    AppEngineAppsAuthorizedCertificatesPatch
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        authorizedCertificatesId = authorizedCertificatesId,
+        callback = Core.Nothing,
+        payload = payload,
+        updateMask = Core.Nothing,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsAuthorizedCertificatesPatch
+  where
+  type
+    Rs AppEngineAppsAuthorizedCertificatesPatch =
+      AuthorizedCertificate
+  type
+    Scopes AppEngineAppsAuthorizedCertificatesPatch =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsAuthorizedCertificatesPatch {..} =
+    go
+      appsId
+      authorizedCertificatesId
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsAuthorizedCertificatesPatchResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/AuthorizedDomains/List.hs b/gen/Gogol/AppEngine/Apps/AuthorizedDomains/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/AuthorizedDomains/List.hs
@@ -0,0 +1,128 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.AuthorizedDomains.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all domains the user is authorized to administer.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedDomains.list@.
+module Gogol.AppEngine.Apps.AuthorizedDomains.List
+  ( -- * Resource
+    AppEngineAppsAuthorizedDomainsListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsAuthorizedDomainsList (..),
+    newAppEngineAppsAuthorizedDomainsList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.authorizedDomains.list@ method which the
+-- 'AppEngineAppsAuthorizedDomainsList' request conforms to.
+type AppEngineAppsAuthorizedDomainsListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "authorizedDomains"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListAuthorizedDomainsResponse
+
+-- | Lists all domains the user is authorized to administer.
+--
+-- /See:/ 'newAppEngineAppsAuthorizedDomainsList' smart constructor.
+data AppEngineAppsAuthorizedDomainsList = AppEngineAppsAuthorizedDomainsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsAuthorizedDomainsList' with the minimum fields required to make a request.
+newAppEngineAppsAuthorizedDomainsList ::
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsAuthorizedDomainsList
+newAppEngineAppsAuthorizedDomainsList appsId =
+  AppEngineAppsAuthorizedDomainsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsAuthorizedDomainsList where
+  type
+    Rs AppEngineAppsAuthorizedDomainsList =
+      ListAuthorizedDomainsResponse
+  type
+    Scopes AppEngineAppsAuthorizedDomainsList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsAuthorizedDomainsList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsAuthorizedDomainsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Create.hs b/gen/Gogol/AppEngine/Apps/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Create.hs
@@ -0,0 +1,108 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Create
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Creates an App Engine application for a Google Cloud Platform project. Required fields: id - The ID of the target Cloud Platform project. location - The region (https:\/\/cloud.google.com\/appengine\/docs\/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/console\/).
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.create@.
+module Gogol.AppEngine.Apps.Create
+  ( -- * Resource
+    AppEngineAppsCreateResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsCreate (..),
+    newAppEngineAppsCreate,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.create@ method which the
+-- 'AppEngineAppsCreate' request conforms to.
+type AppEngineAppsCreateResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Application
+    Core.:> Core.Post '[Core.JSON] Operation
+
+-- | Creates an App Engine application for a Google Cloud Platform project. Required fields: id - The ID of the target Cloud Platform project. location - The region (https:\/\/cloud.google.com\/appengine\/docs\/locations) where you want the App Engine application located.For more information about App Engine applications, see Managing Projects, Applications, and Billing (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/console\/).
+--
+-- /See:/ 'newAppEngineAppsCreate' smart constructor.
+data AppEngineAppsCreate = AppEngineAppsCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: Application,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsCreate' with the minimum fields required to make a request.
+newAppEngineAppsCreate ::
+  -- |  Multipart request metadata. See 'payload'.
+  Application ->
+  AppEngineAppsCreate
+newAppEngineAppsCreate payload =
+  AppEngineAppsCreate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsCreate where
+  type Rs AppEngineAppsCreate = Operation
+  type Scopes AppEngineAppsCreate = '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsCreate {..} =
+    go
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsCreateResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/DomainMappings/Create.hs b/gen/Gogol/AppEngine/Apps/DomainMappings/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/DomainMappings/Create.hs
@@ -0,0 +1,127 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.DomainMappings.Create
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.create@.
+module Gogol.AppEngine.Apps.DomainMappings.Create
+  ( -- * Resource
+    AppEngineAppsDomainMappingsCreateResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsDomainMappingsCreate (..),
+    newAppEngineAppsDomainMappingsCreate,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.domainMappings.create@ method which the
+-- 'AppEngineAppsDomainMappingsCreate' request conforms to.
+type AppEngineAppsDomainMappingsCreateResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "domainMappings"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam
+              "overrideStrategy"
+              AppsDomainMappingsCreateOverrideStrategy
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] DomainMapping
+    Core.:> Core.Post '[Core.JSON] Operation
+
+-- | Maps a domain to an application. A user must be authorized to administer a domain in order to map it to an application. For a list of available authorized domains, see AuthorizedDomains.ListAuthorizedDomains.
+--
+-- /See:/ 'newAppEngineAppsDomainMappingsCreate' smart constructor.
+data AppEngineAppsDomainMappingsCreate = AppEngineAppsDomainMappingsCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.
+    overrideStrategy :: (Core.Maybe AppsDomainMappingsCreateOverrideStrategy),
+    -- | Multipart request metadata.
+    payload :: DomainMapping,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsDomainMappingsCreate' with the minimum fields required to make a request.
+newAppEngineAppsDomainMappingsCreate ::
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  DomainMapping ->
+  AppEngineAppsDomainMappingsCreate
+newAppEngineAppsDomainMappingsCreate appsId payload =
+  AppEngineAppsDomainMappingsCreate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      overrideStrategy = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsDomainMappingsCreate where
+  type Rs AppEngineAppsDomainMappingsCreate = Operation
+  type
+    Scopes AppEngineAppsDomainMappingsCreate =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsDomainMappingsCreate {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      overrideStrategy
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsDomainMappingsCreateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/DomainMappings/Delete.hs b/gen/Gogol/AppEngine/Apps/DomainMappings/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/DomainMappings/Delete.hs
@@ -0,0 +1,120 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.DomainMappings.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.delete@.
+module Gogol.AppEngine.Apps.DomainMappings.Delete
+  ( -- * Resource
+    AppEngineAppsDomainMappingsDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsDomainMappingsDelete (..),
+    newAppEngineAppsDomainMappingsDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.domainMappings.delete@ method which the
+-- 'AppEngineAppsDomainMappingsDelete' request conforms to.
+type AppEngineAppsDomainMappingsDeleteResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "domainMappings"
+    Core.:> Core.Capture "domainMappingsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Operation
+
+-- | Deletes the specified domain mapping. A user must be authorized to administer the associated domain in order to delete a DomainMapping resource.
+--
+-- /See:/ 'newAppEngineAppsDomainMappingsDelete' smart constructor.
+data AppEngineAppsDomainMappingsDelete = AppEngineAppsDomainMappingsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource to delete. Example: apps\/myapp\/domainMappings\/example.com.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    domainMappingsId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsDomainMappingsDelete' with the minimum fields required to make a request.
+newAppEngineAppsDomainMappingsDelete ::
+  -- |  Part of @name@. Name of the resource to delete. Example: apps\/myapp\/domainMappings\/example.com. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'domainMappingsId'.
+  Core.Text ->
+  AppEngineAppsDomainMappingsDelete
+newAppEngineAppsDomainMappingsDelete appsId domainMappingsId =
+  AppEngineAppsDomainMappingsDelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      domainMappingsId = domainMappingsId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsDomainMappingsDelete where
+  type Rs AppEngineAppsDomainMappingsDelete = Operation
+  type
+    Scopes AppEngineAppsDomainMappingsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsDomainMappingsDelete {..} =
+    go
+      appsId
+      domainMappingsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsDomainMappingsDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/DomainMappings/Get.hs b/gen/Gogol/AppEngine/Apps/DomainMappings/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/DomainMappings/Get.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.DomainMappings.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the specified domain mapping.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.get@.
+module Gogol.AppEngine.Apps.DomainMappings.Get
+  ( -- * Resource
+    AppEngineAppsDomainMappingsGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsDomainMappingsGet (..),
+    newAppEngineAppsDomainMappingsGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.domainMappings.get@ method which the
+-- 'AppEngineAppsDomainMappingsGet' request conforms to.
+type AppEngineAppsDomainMappingsGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "domainMappings"
+    Core.:> Core.Capture "domainMappingsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] DomainMapping
+
+-- | Gets the specified domain mapping.
+--
+-- /See:/ 'newAppEngineAppsDomainMappingsGet' smart constructor.
+data AppEngineAppsDomainMappingsGet = AppEngineAppsDomainMappingsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/domainMappings\/example.com.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    domainMappingsId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsDomainMappingsGet' with the minimum fields required to make a request.
+newAppEngineAppsDomainMappingsGet ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/domainMappings\/example.com. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'domainMappingsId'.
+  Core.Text ->
+  AppEngineAppsDomainMappingsGet
+newAppEngineAppsDomainMappingsGet appsId domainMappingsId =
+  AppEngineAppsDomainMappingsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      domainMappingsId = domainMappingsId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsDomainMappingsGet where
+  type Rs AppEngineAppsDomainMappingsGet = DomainMapping
+  type
+    Scopes AppEngineAppsDomainMappingsGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsDomainMappingsGet {..} =
+    go
+      appsId
+      domainMappingsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsDomainMappingsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/DomainMappings/List.hs b/gen/Gogol/AppEngine/Apps/DomainMappings/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/DomainMappings/List.hs
@@ -0,0 +1,126 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.DomainMappings.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists the domain mappings on an application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.list@.
+module Gogol.AppEngine.Apps.DomainMappings.List
+  ( -- * Resource
+    AppEngineAppsDomainMappingsListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsDomainMappingsList (..),
+    newAppEngineAppsDomainMappingsList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.domainMappings.list@ method which the
+-- 'AppEngineAppsDomainMappingsList' request conforms to.
+type AppEngineAppsDomainMappingsListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "domainMappings"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListDomainMappingsResponse
+
+-- | Lists the domain mappings on an application.
+--
+-- /See:/ 'newAppEngineAppsDomainMappingsList' smart constructor.
+data AppEngineAppsDomainMappingsList = AppEngineAppsDomainMappingsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsDomainMappingsList' with the minimum fields required to make a request.
+newAppEngineAppsDomainMappingsList ::
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsDomainMappingsList
+newAppEngineAppsDomainMappingsList appsId =
+  AppEngineAppsDomainMappingsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsDomainMappingsList where
+  type
+    Rs AppEngineAppsDomainMappingsList =
+      ListDomainMappingsResponse
+  type
+    Scopes AppEngineAppsDomainMappingsList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsDomainMappingsList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsDomainMappingsListResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/DomainMappings/Patch.hs b/gen/Gogol/AppEngine/Apps/DomainMappings/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/DomainMappings/Patch.hs
@@ -0,0 +1,130 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.DomainMappings.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.patch@.
+module Gogol.AppEngine.Apps.DomainMappings.Patch
+  ( -- * Resource
+    AppEngineAppsDomainMappingsPatchResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsDomainMappingsPatch (..),
+    newAppEngineAppsDomainMappingsPatch,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.domainMappings.patch@ method which the
+-- 'AppEngineAppsDomainMappingsPatch' request conforms to.
+type AppEngineAppsDomainMappingsPatchResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "domainMappings"
+    Core.:> Core.Capture "domainMappingsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "updateMask" Core.FieldMask
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] DomainMapping
+    Core.:> Core.Patch '[Core.JSON] Operation
+
+-- | Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.
+--
+-- /See:/ 'newAppEngineAppsDomainMappingsPatch' smart constructor.
+data AppEngineAppsDomainMappingsPatch = AppEngineAppsDomainMappingsPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource to update. Example: apps\/myapp\/domainMappings\/example.com.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    domainMappingsId :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: DomainMapping,
+    -- | Required. Standard field mask for the set of fields to be updated.
+    updateMask :: (Core.Maybe Core.FieldMask),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsDomainMappingsPatch' with the minimum fields required to make a request.
+newAppEngineAppsDomainMappingsPatch ::
+  -- |  Part of @name@. Name of the resource to update. Example: apps\/myapp\/domainMappings\/example.com. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'domainMappingsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  DomainMapping ->
+  AppEngineAppsDomainMappingsPatch
+newAppEngineAppsDomainMappingsPatch appsId domainMappingsId payload =
+  AppEngineAppsDomainMappingsPatch
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      domainMappingsId = domainMappingsId,
+      payload = payload,
+      updateMask = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsDomainMappingsPatch where
+  type Rs AppEngineAppsDomainMappingsPatch = Operation
+  type
+    Scopes AppEngineAppsDomainMappingsPatch =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsDomainMappingsPatch {..} =
+    go
+      appsId
+      domainMappingsId
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsDomainMappingsPatchResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs
@@ -0,0 +1,127 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the \'*\' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.batchUpdate@.
+module Gogol.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
+  ( -- * Resource
+    AppEngineAppsFirewallIngressRulesBatchUpdateResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsFirewallIngressRulesBatchUpdate (..),
+    newAppEngineAppsFirewallIngressRulesBatchUpdate,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.firewall.ingressRules.batchUpdate@ method which the
+-- 'AppEngineAppsFirewallIngressRulesBatchUpdate' request conforms to.
+type AppEngineAppsFirewallIngressRulesBatchUpdateResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "firewall"
+    Core.:> "ingressRules:batchUpdate"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] BatchUpdateIngressRulesRequest
+    Core.:> Core.Post '[Core.JSON] BatchUpdateIngressRulesResponse
+
+-- | Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.If the final rule does not match traffic with the \'*\' wildcard IP range, then an \"allow all\" rule is explicitly added to the end of the list.
+--
+-- /See:/ 'newAppEngineAppsFirewallIngressRulesBatchUpdate' smart constructor.
+data AppEngineAppsFirewallIngressRulesBatchUpdate = AppEngineAppsFirewallIngressRulesBatchUpdate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the Firewall collection to set. Example: apps\/myapp\/firewall\/ingressRules.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: BatchUpdateIngressRulesRequest,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsFirewallIngressRulesBatchUpdate' with the minimum fields required to make a request.
+newAppEngineAppsFirewallIngressRulesBatchUpdate ::
+  -- |  Part of @name@. Name of the Firewall collection to set. Example: apps\/myapp\/firewall\/ingressRules. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  BatchUpdateIngressRulesRequest ->
+  AppEngineAppsFirewallIngressRulesBatchUpdate
+newAppEngineAppsFirewallIngressRulesBatchUpdate appsId payload =
+  AppEngineAppsFirewallIngressRulesBatchUpdate
+    { xgafv =
+        Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsFirewallIngressRulesBatchUpdate
+  where
+  type
+    Rs AppEngineAppsFirewallIngressRulesBatchUpdate =
+      BatchUpdateIngressRulesResponse
+  type
+    Scopes AppEngineAppsFirewallIngressRulesBatchUpdate =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsFirewallIngressRulesBatchUpdate {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsFirewallIngressRulesBatchUpdateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Create.hs b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Create.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Firewall.IngressRules.Create
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Creates a firewall rule for the application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.create@.
+module Gogol.AppEngine.Apps.Firewall.IngressRules.Create
+  ( -- * Resource
+    AppEngineAppsFirewallIngressRulesCreateResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsFirewallIngressRulesCreate (..),
+    newAppEngineAppsFirewallIngressRulesCreate,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.firewall.ingressRules.create@ method which the
+-- 'AppEngineAppsFirewallIngressRulesCreate' request conforms to.
+type AppEngineAppsFirewallIngressRulesCreateResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "firewall"
+    Core.:> "ingressRules"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] FirewallRule
+    Core.:> Core.Post '[Core.JSON] FirewallRule
+
+-- | Creates a firewall rule for the application.
+--
+-- /See:/ 'newAppEngineAppsFirewallIngressRulesCreate' smart constructor.
+data AppEngineAppsFirewallIngressRulesCreate = AppEngineAppsFirewallIngressRulesCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Firewall collection in which to create a new rule. Example: apps\/myapp\/firewall\/ingressRules.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: FirewallRule,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsFirewallIngressRulesCreate' with the minimum fields required to make a request.
+newAppEngineAppsFirewallIngressRulesCreate ::
+  -- |  Part of @parent@. Name of the parent Firewall collection in which to create a new rule. Example: apps\/myapp\/firewall\/ingressRules. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  FirewallRule ->
+  AppEngineAppsFirewallIngressRulesCreate
+newAppEngineAppsFirewallIngressRulesCreate appsId payload =
+  AppEngineAppsFirewallIngressRulesCreate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsFirewallIngressRulesCreate where
+  type Rs AppEngineAppsFirewallIngressRulesCreate = FirewallRule
+  type
+    Scopes AppEngineAppsFirewallIngressRulesCreate =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsFirewallIngressRulesCreate {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsFirewallIngressRulesCreateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Delete.hs b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Delete.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Firewall.IngressRules.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes the specified firewall rule.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.delete@.
+module Gogol.AppEngine.Apps.Firewall.IngressRules.Delete
+  ( -- * Resource
+    AppEngineAppsFirewallIngressRulesDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsFirewallIngressRulesDelete (..),
+    newAppEngineAppsFirewallIngressRulesDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.firewall.ingressRules.delete@ method which the
+-- 'AppEngineAppsFirewallIngressRulesDelete' request conforms to.
+type AppEngineAppsFirewallIngressRulesDeleteResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "firewall"
+    Core.:> "ingressRules"
+    Core.:> Core.Capture "ingressRulesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Empty
+
+-- | Deletes the specified firewall rule.
+--
+-- /See:/ 'newAppEngineAppsFirewallIngressRulesDelete' smart constructor.
+data AppEngineAppsFirewallIngressRulesDelete = AppEngineAppsFirewallIngressRulesDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the Firewall resource to delete. Example: apps\/myapp\/firewall\/ingressRules\/100.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    ingressRulesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsFirewallIngressRulesDelete' with the minimum fields required to make a request.
+newAppEngineAppsFirewallIngressRulesDelete ::
+  -- |  Part of @name@. Name of the Firewall resource to delete. Example: apps\/myapp\/firewall\/ingressRules\/100. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'ingressRulesId'.
+  Core.Text ->
+  AppEngineAppsFirewallIngressRulesDelete
+newAppEngineAppsFirewallIngressRulesDelete appsId ingressRulesId =
+  AppEngineAppsFirewallIngressRulesDelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      ingressRulesId = ingressRulesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsFirewallIngressRulesDelete where
+  type Rs AppEngineAppsFirewallIngressRulesDelete = Empty
+  type
+    Scopes AppEngineAppsFirewallIngressRulesDelete =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsFirewallIngressRulesDelete {..} =
+    go
+      appsId
+      ingressRulesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsFirewallIngressRulesDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Get.hs b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Get.hs
@@ -0,0 +1,124 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Firewall.IngressRules.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the specified firewall rule.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.get@.
+module Gogol.AppEngine.Apps.Firewall.IngressRules.Get
+  ( -- * Resource
+    AppEngineAppsFirewallIngressRulesGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsFirewallIngressRulesGet (..),
+    newAppEngineAppsFirewallIngressRulesGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.firewall.ingressRules.get@ method which the
+-- 'AppEngineAppsFirewallIngressRulesGet' request conforms to.
+type AppEngineAppsFirewallIngressRulesGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "firewall"
+    Core.:> "ingressRules"
+    Core.:> Core.Capture "ingressRulesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] FirewallRule
+
+-- | Gets the specified firewall rule.
+--
+-- /See:/ 'newAppEngineAppsFirewallIngressRulesGet' smart constructor.
+data AppEngineAppsFirewallIngressRulesGet = AppEngineAppsFirewallIngressRulesGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the Firewall resource to retrieve. Example: apps\/myapp\/firewall\/ingressRules\/100.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    ingressRulesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsFirewallIngressRulesGet' with the minimum fields required to make a request.
+newAppEngineAppsFirewallIngressRulesGet ::
+  -- |  Part of @name@. Name of the Firewall resource to retrieve. Example: apps\/myapp\/firewall\/ingressRules\/100. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'ingressRulesId'.
+  Core.Text ->
+  AppEngineAppsFirewallIngressRulesGet
+newAppEngineAppsFirewallIngressRulesGet appsId ingressRulesId =
+  AppEngineAppsFirewallIngressRulesGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      ingressRulesId = ingressRulesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsFirewallIngressRulesGet where
+  type Rs AppEngineAppsFirewallIngressRulesGet = FirewallRule
+  type
+    Scopes AppEngineAppsFirewallIngressRulesGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsFirewallIngressRulesGet {..} =
+    go
+      appsId
+      ingressRulesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsFirewallIngressRulesGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/List.hs b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/List.hs
@@ -0,0 +1,134 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Firewall.IngressRules.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists the firewall rules of an application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.list@.
+module Gogol.AppEngine.Apps.Firewall.IngressRules.List
+  ( -- * Resource
+    AppEngineAppsFirewallIngressRulesListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsFirewallIngressRulesList (..),
+    newAppEngineAppsFirewallIngressRulesList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.firewall.ingressRules.list@ method which the
+-- 'AppEngineAppsFirewallIngressRulesList' request conforms to.
+type AppEngineAppsFirewallIngressRulesListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "firewall"
+    Core.:> "ingressRules"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "matchingAddress" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListIngressRulesResponse
+
+-- | Lists the firewall rules of an application.
+--
+-- /See:/ 'newAppEngineAppsFirewallIngressRulesList' smart constructor.
+data AppEngineAppsFirewallIngressRulesList = AppEngineAppsFirewallIngressRulesList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the Firewall collection to retrieve. Example: apps\/myapp\/firewall\/ingressRules.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.
+    matchingAddress :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsFirewallIngressRulesList' with the minimum fields required to make a request.
+newAppEngineAppsFirewallIngressRulesList ::
+  -- |  Part of @parent@. Name of the Firewall collection to retrieve. Example: apps\/myapp\/firewall\/ingressRules. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsFirewallIngressRulesList
+newAppEngineAppsFirewallIngressRulesList appsId =
+  AppEngineAppsFirewallIngressRulesList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      matchingAddress = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsFirewallIngressRulesList where
+  type
+    Rs AppEngineAppsFirewallIngressRulesList =
+      ListIngressRulesResponse
+  type
+    Scopes AppEngineAppsFirewallIngressRulesList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsFirewallIngressRulesList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      matchingAddress
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsFirewallIngressRulesListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Patch.hs b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Firewall/IngressRules/Patch.hs
@@ -0,0 +1,136 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Firewall.IngressRules.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the specified firewall rule.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.patch@.
+module Gogol.AppEngine.Apps.Firewall.IngressRules.Patch
+  ( -- * Resource
+    AppEngineAppsFirewallIngressRulesPatchResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsFirewallIngressRulesPatch (..),
+    newAppEngineAppsFirewallIngressRulesPatch,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.firewall.ingressRules.patch@ method which the
+-- 'AppEngineAppsFirewallIngressRulesPatch' request conforms to.
+type AppEngineAppsFirewallIngressRulesPatchResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "firewall"
+    Core.:> "ingressRules"
+    Core.:> Core.Capture "ingressRulesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "updateMask" Core.FieldMask
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] FirewallRule
+    Core.:> Core.Patch '[Core.JSON] FirewallRule
+
+-- | Updates the specified firewall rule.
+--
+-- /See:/ 'newAppEngineAppsFirewallIngressRulesPatch' smart constructor.
+data AppEngineAppsFirewallIngressRulesPatch = AppEngineAppsFirewallIngressRulesPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the Firewall resource to update. Example: apps\/myapp\/firewall\/ingressRules\/100.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    ingressRulesId :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: FirewallRule,
+    -- | Standard field mask for the set of fields to be updated.
+    updateMask :: (Core.Maybe Core.FieldMask),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsFirewallIngressRulesPatch' with the minimum fields required to make a request.
+newAppEngineAppsFirewallIngressRulesPatch ::
+  -- |  Part of @name@. Name of the Firewall resource to update. Example: apps\/myapp\/firewall\/ingressRules\/100. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'ingressRulesId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  FirewallRule ->
+  AppEngineAppsFirewallIngressRulesPatch
+newAppEngineAppsFirewallIngressRulesPatch
+  appsId
+  ingressRulesId
+  payload =
+    AppEngineAppsFirewallIngressRulesPatch
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        callback = Core.Nothing,
+        ingressRulesId = ingressRulesId,
+        payload = payload,
+        updateMask = Core.Nothing,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance Core.GoogleRequest AppEngineAppsFirewallIngressRulesPatch where
+  type Rs AppEngineAppsFirewallIngressRulesPatch = FirewallRule
+  type
+    Scopes AppEngineAppsFirewallIngressRulesPatch =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsFirewallIngressRulesPatch {..} =
+    go
+      appsId
+      ingressRulesId
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsFirewallIngressRulesPatchResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Get.hs b/gen/Gogol/AppEngine/Apps/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Get.hs
@@ -0,0 +1,118 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets information about an application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.get@.
+module Gogol.AppEngine.Apps.Get
+  ( -- * Resource
+    AppEngineAppsGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsGet (..),
+    newAppEngineAppsGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.get@ method which the
+-- 'AppEngineAppsGet' request conforms to.
+type AppEngineAppsGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "includeExtraData" AppsGetIncludeExtraData
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Application
+
+-- | Gets information about an application.
+--
+-- /See:/ 'newAppEngineAppsGet' smart constructor.
+data AppEngineAppsGet = AppEngineAppsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the Application resource to get. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Options to include extra data
+    includeExtraData :: (Core.Maybe AppsGetIncludeExtraData),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsGet' with the minimum fields required to make a request.
+newAppEngineAppsGet ::
+  -- |  Part of @name@. Name of the Application resource to get. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsGet
+newAppEngineAppsGet appsId =
+  AppEngineAppsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      includeExtraData = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsGet where
+  type Rs AppEngineAppsGet = Application
+  type
+    Scopes AppEngineAppsGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsGet {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      includeExtraData
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/ListRuntimes.hs b/gen/Gogol/AppEngine/Apps/ListRuntimes.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/ListRuntimes.hs
@@ -0,0 +1,118 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.ListRuntimes
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all the available runtimes for the application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.listRuntimes@.
+module Gogol.AppEngine.Apps.ListRuntimes
+  ( -- * Resource
+    AppEngineAppsListRuntimesResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsListRuntimes (..),
+    newAppEngineAppsListRuntimes,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.listRuntimes@ method which the
+-- 'AppEngineAppsListRuntimes' request conforms to.
+type AppEngineAppsListRuntimesResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.CaptureMode "appsId" "listRuntimes" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "environment" AppsListRuntimesEnvironment
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListRuntimesResponse
+
+-- | Lists all the available runtimes for the application.
+--
+-- /See:/ 'newAppEngineAppsListRuntimes' smart constructor.
+data AppEngineAppsListRuntimes = AppEngineAppsListRuntimes
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Required. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Optional. The environment of the Application.
+    environment :: (Core.Maybe AppsListRuntimesEnvironment),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsListRuntimes' with the minimum fields required to make a request.
+newAppEngineAppsListRuntimes ::
+  -- |  Part of @parent@. Required. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsListRuntimes
+newAppEngineAppsListRuntimes appsId =
+  AppEngineAppsListRuntimes
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      environment = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsListRuntimes where
+  type Rs AppEngineAppsListRuntimes = ListRuntimesResponse
+  type
+    Scopes AppEngineAppsListRuntimes =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsListRuntimes {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      environment
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsListRuntimesResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Locations/Get.hs b/gen/Gogol/AppEngine/Apps/Locations/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Locations/Get.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Locations.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets information about a location.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.locations.get@.
+module Gogol.AppEngine.Apps.Locations.Get
+  ( -- * Resource
+    AppEngineAppsLocationsGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsLocationsGet (..),
+    newAppEngineAppsLocationsGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.locations.get@ method which the
+-- 'AppEngineAppsLocationsGet' request conforms to.
+type AppEngineAppsLocationsGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "locations"
+    Core.:> Core.Capture "locationsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Location
+
+-- | Gets information about a location.
+--
+-- /See:/ 'newAppEngineAppsLocationsGet' smart constructor.
+data AppEngineAppsLocationsGet = AppEngineAppsLocationsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Resource name for the location.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    locationsId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsLocationsGet' with the minimum fields required to make a request.
+newAppEngineAppsLocationsGet ::
+  -- |  Part of @name@. Resource name for the location. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'locationsId'.
+  Core.Text ->
+  AppEngineAppsLocationsGet
+newAppEngineAppsLocationsGet appsId locationsId =
+  AppEngineAppsLocationsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      locationsId = locationsId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsLocationsGet where
+  type Rs AppEngineAppsLocationsGet = Location
+  type
+    Scopes AppEngineAppsLocationsGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsLocationsGet {..} =
+    go
+      appsId
+      locationsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsLocationsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Locations/List.hs b/gen/Gogol/AppEngine/Apps/Locations/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Locations/List.hs
@@ -0,0 +1,129 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Locations.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists information about the supported locations for this service.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.locations.list@.
+module Gogol.AppEngine.Apps.Locations.List
+  ( -- * Resource
+    AppEngineAppsLocationsListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsLocationsList (..),
+    newAppEngineAppsLocationsList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.locations.list@ method which the
+-- 'AppEngineAppsLocationsList' request conforms to.
+type AppEngineAppsLocationsListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "locations"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "filter" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListLocationsResponse
+
+-- | Lists information about the supported locations for this service.
+--
+-- /See:/ 'newAppEngineAppsLocationsList' smart constructor.
+data AppEngineAppsLocationsList = AppEngineAppsLocationsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. The resource that owns the locations collection, if applicable.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in AIP-160 (https:\/\/google.aip.dev\/160).
+    filter :: (Core.Maybe Core.Text),
+    -- | The maximum number of results to return. If not set, the service selects a default.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | A page token received from the next/page/token field in the response. Send that page token to receive the subsequent page.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsLocationsList' with the minimum fields required to make a request.
+newAppEngineAppsLocationsList ::
+  -- |  Part of @name@. The resource that owns the locations collection, if applicable. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsLocationsList
+newAppEngineAppsLocationsList appsId =
+  AppEngineAppsLocationsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      filter = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsLocationsList where
+  type Rs AppEngineAppsLocationsList = ListLocationsResponse
+  type
+    Scopes AppEngineAppsLocationsList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsLocationsList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      filter
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsLocationsListResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Operations/Get.hs b/gen/Gogol/AppEngine/Apps/Operations/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Operations/Get.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Operations.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.operations.get@.
+module Gogol.AppEngine.Apps.Operations.Get
+  ( -- * Resource
+    AppEngineAppsOperationsGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsOperationsGet (..),
+    newAppEngineAppsOperationsGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.operations.get@ method which the
+-- 'AppEngineAppsOperationsGet' request conforms to.
+type AppEngineAppsOperationsGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "operations"
+    Core.:> Core.Capture "operationsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Operation
+
+-- | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+--
+-- /See:/ 'newAppEngineAppsOperationsGet' smart constructor.
+data AppEngineAppsOperationsGet = AppEngineAppsOperationsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. The name of the operation resource.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    operationsId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsOperationsGet' with the minimum fields required to make a request.
+newAppEngineAppsOperationsGet ::
+  -- |  Part of @name@. The name of the operation resource. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'operationsId'.
+  Core.Text ->
+  AppEngineAppsOperationsGet
+newAppEngineAppsOperationsGet appsId operationsId =
+  AppEngineAppsOperationsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      operationsId = operationsId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsOperationsGet where
+  type Rs AppEngineAppsOperationsGet = Operation
+  type
+    Scopes AppEngineAppsOperationsGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsOperationsGet {..} =
+    go
+      appsId
+      operationsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsOperationsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Operations/List.hs b/gen/Gogol/AppEngine/Apps/Operations/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Operations/List.hs
@@ -0,0 +1,129 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Operations.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists operations that match the specified filter in the request. If the server doesn\'t support this method, it returns UNIMPLEMENTED.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.operations.list@.
+module Gogol.AppEngine.Apps.Operations.List
+  ( -- * Resource
+    AppEngineAppsOperationsListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsOperationsList (..),
+    newAppEngineAppsOperationsList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.operations.list@ method which the
+-- 'AppEngineAppsOperationsList' request conforms to.
+type AppEngineAppsOperationsListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "operations"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "filter" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListOperationsResponse
+
+-- | Lists operations that match the specified filter in the request. If the server doesn\'t support this method, it returns UNIMPLEMENTED.
+--
+-- /See:/ 'newAppEngineAppsOperationsList' smart constructor.
+data AppEngineAppsOperationsList = AppEngineAppsOperationsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. The name of the operation\'s parent resource.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | The standard list filter.
+    filter :: (Core.Maybe Core.Text),
+    -- | The standard list page size.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | The standard list page token.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsOperationsList' with the minimum fields required to make a request.
+newAppEngineAppsOperationsList ::
+  -- |  Part of @name@. The name of the operation\'s parent resource. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsOperationsList
+newAppEngineAppsOperationsList appsId =
+  AppEngineAppsOperationsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      filter = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsOperationsList where
+  type Rs AppEngineAppsOperationsList = ListOperationsResponse
+  type
+    Scopes AppEngineAppsOperationsList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsOperationsList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      filter
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsOperationsListResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Patch.hs b/gen/Gogol/AppEngine/Apps/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Patch.hs
@@ -0,0 +1,120 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the specified Application resource. You can update the following fields: auth/domain - Google authentication domain for controlling user access to the application. default/cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.patch@.
+module Gogol.AppEngine.Apps.Patch
+  ( -- * Resource
+    AppEngineAppsPatchResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsPatch (..),
+    newAppEngineAppsPatch,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.patch@ method which the
+-- 'AppEngineAppsPatch' request conforms to.
+type AppEngineAppsPatchResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "updateMask" Core.FieldMask
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Application
+    Core.:> Core.Patch '[Core.JSON] Operation
+
+-- | Updates the specified Application resource. You can update the following fields: auth/domain - Google authentication domain for controlling user access to the application. default/cookie_expiration - Cookie expiration policy for the application. iap - Identity-Aware Proxy properties for the application.
+--
+-- /See:/ 'newAppEngineAppsPatch' smart constructor.
+data AppEngineAppsPatch = AppEngineAppsPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the Application resource to update. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: Application,
+    -- | Required. Standard field mask for the set of fields to be updated.
+    updateMask :: (Core.Maybe Core.FieldMask),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsPatch' with the minimum fields required to make a request.
+newAppEngineAppsPatch ::
+  -- |  Part of @name@. Name of the Application resource to update. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  Application ->
+  AppEngineAppsPatch
+newAppEngineAppsPatch appsId payload =
+  AppEngineAppsPatch
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      payload = payload,
+      updateMask = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsPatch where
+  type Rs AppEngineAppsPatch = Operation
+  type Scopes AppEngineAppsPatch = '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsPatch {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsPatchResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Repair.hs b/gen/Gogol/AppEngine/Apps/Repair.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Repair.hs
@@ -0,0 +1,115 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Repair
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https:\/\/cloud.google.com\/iam\/reference\/rest\/v1\/projects.serviceAccounts\/undelete?apix/params=%7B\"name\"%3A\"projects%2F-%2FserviceAccounts%2Funique/id\"%2C\"resource\"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.repair@.
+module Gogol.AppEngine.Apps.Repair
+  ( -- * Resource
+    AppEngineAppsRepairResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsRepair (..),
+    newAppEngineAppsRepair,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.repair@ method which the
+-- 'AppEngineAppsRepair' request conforms to.
+type AppEngineAppsRepairResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.CaptureMode "appsId" "repair" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] RepairApplicationRequest
+    Core.:> Core.Post '[Core.JSON] Operation
+
+-- | Recreates the required App Engine features for the specified App Engine application, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example, Error retrieving the App Engine service account. If you have deleted your App Engine service account, this will not be able to recreate it. Instead, you should attempt to use the IAM undelete API if possible at https:\/\/cloud.google.com\/iam\/reference\/rest\/v1\/projects.serviceAccounts\/undelete?apix/params=%7B\"name\"%3A\"projects%2F-%2FserviceAccounts%2Funique/id\"%2C\"resource\"%3A%7B%7D%7D . If the deletion was recent, the numeric ID can be found in the Cloud Console Activity Log.
+--
+-- /See:/ 'newAppEngineAppsRepair' smart constructor.
+data AppEngineAppsRepair = AppEngineAppsRepair
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the application to repair. Example: apps\/myapp
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: RepairApplicationRequest,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsRepair' with the minimum fields required to make a request.
+newAppEngineAppsRepair ::
+  -- |  Part of @name@. Name of the application to repair. Example: apps\/myapp See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  RepairApplicationRequest ->
+  AppEngineAppsRepair
+newAppEngineAppsRepair appsId payload =
+  AppEngineAppsRepair
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsRepair where
+  type Rs AppEngineAppsRepair = Operation
+  type Scopes AppEngineAppsRepair = '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsRepair {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsRepairResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Delete.hs b/gen/Gogol/AppEngine/Apps/Services/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Delete.hs
@@ -0,0 +1,118 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes the specified service and all enclosed versions.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.delete@.
+module Gogol.AppEngine.Apps.Services.Delete
+  ( -- * Resource
+    AppEngineAppsServicesDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesDelete (..),
+    newAppEngineAppsServicesDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.delete@ method which the
+-- 'AppEngineAppsServicesDelete' request conforms to.
+type AppEngineAppsServicesDeleteResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Operation
+
+-- | Deletes the specified service and all enclosed versions.
+--
+-- /See:/ 'newAppEngineAppsServicesDelete' smart constructor.
+data AppEngineAppsServicesDelete = AppEngineAppsServicesDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesDelete' with the minimum fields required to make a request.
+newAppEngineAppsServicesDelete ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  AppEngineAppsServicesDelete
+newAppEngineAppsServicesDelete appsId servicesId =
+  AppEngineAppsServicesDelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      servicesId = servicesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesDelete where
+  type Rs AppEngineAppsServicesDelete = Operation
+  type
+    Scopes AppEngineAppsServicesDelete =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesDelete {..} =
+    go
+      appsId
+      servicesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsServicesDeleteResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Get.hs b/gen/Gogol/AppEngine/Apps/Services/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Get.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the current configuration of the specified service.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.get@.
+module Gogol.AppEngine.Apps.Services.Get
+  ( -- * Resource
+    AppEngineAppsServicesGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesGet (..),
+    newAppEngineAppsServicesGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.get@ method which the
+-- 'AppEngineAppsServicesGet' request conforms to.
+type AppEngineAppsServicesGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Service
+
+-- | Gets the current configuration of the specified service.
+--
+-- /See:/ 'newAppEngineAppsServicesGet' smart constructor.
+data AppEngineAppsServicesGet = AppEngineAppsServicesGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesGet' with the minimum fields required to make a request.
+newAppEngineAppsServicesGet ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  AppEngineAppsServicesGet
+newAppEngineAppsServicesGet appsId servicesId =
+  AppEngineAppsServicesGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      servicesId = servicesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesGet where
+  type Rs AppEngineAppsServicesGet = Service
+  type
+    Scopes AppEngineAppsServicesGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsServicesGet {..} =
+    go
+      appsId
+      servicesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsServicesGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/List.hs b/gen/Gogol/AppEngine/Apps/Services/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/List.hs
@@ -0,0 +1,124 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all the services in the application.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.list@.
+module Gogol.AppEngine.Apps.Services.List
+  ( -- * Resource
+    AppEngineAppsServicesListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesList (..),
+    newAppEngineAppsServicesList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.list@ method which the
+-- 'AppEngineAppsServicesList' request conforms to.
+type AppEngineAppsServicesListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListServicesResponse
+
+-- | Lists all the services in the application.
+--
+-- /See:/ 'newAppEngineAppsServicesList' smart constructor.
+data AppEngineAppsServicesList = AppEngineAppsServicesList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesList' with the minimum fields required to make a request.
+newAppEngineAppsServicesList ::
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'appsId'.
+  Core.Text ->
+  AppEngineAppsServicesList
+newAppEngineAppsServicesList appsId =
+  AppEngineAppsServicesList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesList where
+  type Rs AppEngineAppsServicesList = ListServicesResponse
+  type
+    Scopes AppEngineAppsServicesList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsServicesList {..} =
+    go
+      appsId
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsServicesListResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Patch.hs b/gen/Gogol/AppEngine/Apps/Services/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Patch.hs
@@ -0,0 +1,135 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the configuration of the specified service.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.patch@.
+module Gogol.AppEngine.Apps.Services.Patch
+  ( -- * Resource
+    AppEngineAppsServicesPatchResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesPatch (..),
+    newAppEngineAppsServicesPatch,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.patch@ method which the
+-- 'AppEngineAppsServicesPatch' request conforms to.
+type AppEngineAppsServicesPatchResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "migrateTraffic" Core.Bool
+    Core.:> Core.QueryParam "updateMask" Core.FieldMask
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Service
+    Core.:> Core.Patch '[Core.JSON] Operation
+
+-- | Updates the configuration of the specified service.
+--
+-- /See:/ 'newAppEngineAppsServicesPatch' smart constructor.
+data AppEngineAppsServicesPatch = AppEngineAppsServicesPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource to update. Example: apps\/myapp\/services\/default.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#InboundServiceType) and automatic scaling (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#AutomaticScaling). You must specify the shardBy (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/migrating-splitting-traffic).
+    migrateTraffic :: (Core.Maybe Core.Bool),
+    -- | Multipart request metadata.
+    payload :: Service,
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Required. Standard field mask for the set of fields to be updated.
+    updateMask :: (Core.Maybe Core.FieldMask),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesPatch' with the minimum fields required to make a request.
+newAppEngineAppsServicesPatch ::
+  -- |  Part of @name@. Name of the resource to update. Example: apps\/myapp\/services\/default. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  Service ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  AppEngineAppsServicesPatch
+newAppEngineAppsServicesPatch appsId payload servicesId =
+  AppEngineAppsServicesPatch
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      migrateTraffic = Core.Nothing,
+      payload = payload,
+      servicesId = servicesId,
+      updateMask = Core.Nothing,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesPatch where
+  type Rs AppEngineAppsServicesPatch = Operation
+  type
+    Scopes AppEngineAppsServicesPatch =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesPatch {..} =
+    go
+      appsId
+      servicesId
+      xgafv
+      accessToken
+      callback
+      migrateTraffic
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsServicesPatchResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Create.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Create.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Create.hs
@@ -0,0 +1,128 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Create
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deploys code and resource files to a new version.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.create@.
+module Gogol.AppEngine.Apps.Services.Versions.Create
+  ( -- * Resource
+    AppEngineAppsServicesVersionsCreateResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsCreate (..),
+    newAppEngineAppsServicesVersionsCreate,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.create@ method which the
+-- 'AppEngineAppsServicesVersionsCreate' request conforms to.
+type AppEngineAppsServicesVersionsCreateResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Version
+    Core.:> Core.Post '[Core.JSON] Operation
+
+-- | Deploys code and resource files to a new version.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsCreate' smart constructor.
+data AppEngineAppsServicesVersionsCreate = AppEngineAppsServicesVersionsCreate
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent resource to create this version under. Example: apps\/myapp\/services\/default.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: Version,
+    -- | Part of @parent@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsCreate' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsCreate ::
+  -- |  Part of @parent@. Name of the parent resource to create this version under. Example: apps\/myapp\/services\/default. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  Version ->
+  -- |  Part of @parent@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsCreate
+newAppEngineAppsServicesVersionsCreate appsId payload servicesId =
+  AppEngineAppsServicesVersionsCreate
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      payload = payload,
+      servicesId = servicesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesVersionsCreate where
+  type Rs AppEngineAppsServicesVersionsCreate = Operation
+  type
+    Scopes AppEngineAppsServicesVersionsCreate =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesVersionsCreate {..} =
+    go
+      appsId
+      servicesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsCreateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Delete.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Delete.hs
@@ -0,0 +1,128 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes an existing Version resource.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.delete@.
+module Gogol.AppEngine.Apps.Services.Versions.Delete
+  ( -- * Resource
+    AppEngineAppsServicesVersionsDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsDelete (..),
+    newAppEngineAppsServicesVersionsDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.delete@ method which the
+-- 'AppEngineAppsServicesVersionsDelete' request conforms to.
+type AppEngineAppsServicesVersionsDeleteResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Operation
+
+-- | Deletes an existing Version resource.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsDelete' smart constructor.
+data AppEngineAppsServicesVersionsDelete = AppEngineAppsServicesVersionsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsDelete' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsDelete ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsDelete
+newAppEngineAppsServicesVersionsDelete appsId servicesId versionsId =
+  AppEngineAppsServicesVersionsDelete
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      servicesId = servicesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      versionsId = versionsId
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesVersionsDelete where
+  type Rs AppEngineAppsServicesVersionsDelete = Operation
+  type
+    Scopes AppEngineAppsServicesVersionsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesVersionsDelete {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Get.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Get.hs
@@ -0,0 +1,134 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the specified Version resource. By default, only a BASIC/VIEW will be returned. Specify the FULL/VIEW parameter to get the full resource.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.get@.
+module Gogol.AppEngine.Apps.Services.Versions.Get
+  ( -- * Resource
+    AppEngineAppsServicesVersionsGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsGet (..),
+    newAppEngineAppsServicesVersionsGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.get@ method which the
+-- 'AppEngineAppsServicesVersionsGet' request conforms to.
+type AppEngineAppsServicesVersionsGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "view" AppsServicesVersionsGetView
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Version
+
+-- | Gets the specified Version resource. By default, only a BASIC/VIEW will be returned. Specify the FULL/VIEW parameter to get the full resource.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsGet' smart constructor.
+data AppEngineAppsServicesVersionsGet = AppEngineAppsServicesVersionsGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    versionsId :: Core.Text,
+    -- | Controls the set of fields returned in the Get response.
+    view :: (Core.Maybe AppsServicesVersionsGetView)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsGet' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsGet ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsGet
+newAppEngineAppsServicesVersionsGet appsId servicesId versionsId =
+  AppEngineAppsServicesVersionsGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      servicesId = servicesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      versionsId = versionsId,
+      view = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesVersionsGet where
+  type Rs AppEngineAppsServicesVersionsGet = Version
+  type
+    Scopes AppEngineAppsServicesVersionsGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsServicesVersionsGet {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      view
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AppEngineAppsServicesVersionsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Debug.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Debug.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Debug.hs
@@ -0,0 +1,151 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Instances.Debug
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.debug@.
+module Gogol.AppEngine.Apps.Services.Versions.Instances.Debug
+  ( -- * Resource
+    AppEngineAppsServicesVersionsInstancesDebugResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsInstancesDebug (..),
+    newAppEngineAppsServicesVersionsInstancesDebug,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.instances.debug@ method which the
+-- 'AppEngineAppsServicesVersionsInstancesDebug' request conforms to.
+type AppEngineAppsServicesVersionsInstancesDebugResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> "instances"
+    Core.:> Core.CaptureMode "instancesId" "debug" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] DebugInstanceRequest
+    Core.:> Core.Post '[Core.JSON] Operation
+
+-- | Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started.Only applicable for instances in App Engine flexible environment.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsInstancesDebug' smart constructor.
+data AppEngineAppsServicesVersionsInstancesDebug = AppEngineAppsServicesVersionsInstancesDebug
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    instancesId :: Core.Text,
+    -- | Multipart request metadata.
+    payload :: DebugInstanceRequest,
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsInstancesDebug' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsInstancesDebug ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'instancesId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  DebugInstanceRequest ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsInstancesDebug
+newAppEngineAppsServicesVersionsInstancesDebug
+  appsId
+  instancesId
+  payload
+  servicesId
+  versionsId =
+    AppEngineAppsServicesVersionsInstancesDebug
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        callback = Core.Nothing,
+        instancesId = instancesId,
+        payload = payload,
+        servicesId = servicesId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        versionsId = versionsId
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsServicesVersionsInstancesDebug
+  where
+  type Rs AppEngineAppsServicesVersionsInstancesDebug = Operation
+  type
+    Scopes AppEngineAppsServicesVersionsInstancesDebug =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesVersionsInstancesDebug {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      instancesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsInstancesDebugResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Delete.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Delete.hs
@@ -0,0 +1,144 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Instances.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see \"How Instances are Managed\" (standard environment (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-instances-are-managed) | flexible environment (https:\/\/cloud.google.com\/appengine\/docs\/flexible\/python\/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions\/patch) method.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.delete@.
+module Gogol.AppEngine.Apps.Services.Versions.Instances.Delete
+  ( -- * Resource
+    AppEngineAppsServicesVersionsInstancesDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsInstancesDelete (..),
+    newAppEngineAppsServicesVersionsInstancesDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.instances.delete@ method which the
+-- 'AppEngineAppsServicesVersionsInstancesDelete' request conforms to.
+type AppEngineAppsServicesVersionsInstancesDeleteResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> "instances"
+    Core.:> Core.Capture "instancesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Operation
+
+-- | Stops a running instance.The instance might be automatically recreated based on the scaling settings of the version. For more information, see \"How Instances are Managed\" (standard environment (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/how-instances-are-managed) | flexible environment (https:\/\/cloud.google.com\/appengine\/docs\/flexible\/python\/how-instances-are-managed)).To ensure that instances are not re-created and avoid getting billed, you can stop all instances within the target version by changing the serving status of the version to STOPPED with the apps.services.versions.patch (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions\/patch) method.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsInstancesDelete' smart constructor.
+data AppEngineAppsServicesVersionsInstancesDelete = AppEngineAppsServicesVersionsInstancesDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    instancesId :: Core.Text,
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsInstancesDelete' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsInstancesDelete ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'instancesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsInstancesDelete
+newAppEngineAppsServicesVersionsInstancesDelete
+  appsId
+  instancesId
+  servicesId
+  versionsId =
+    AppEngineAppsServicesVersionsInstancesDelete
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        callback = Core.Nothing,
+        instancesId = instancesId,
+        servicesId = servicesId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        versionsId = versionsId
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsServicesVersionsInstancesDelete
+  where
+  type Rs AppEngineAppsServicesVersionsInstancesDelete = Operation
+  type
+    Scopes AppEngineAppsServicesVersionsInstancesDelete =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesVersionsInstancesDelete {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      instancesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsInstancesDeleteResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Get.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/Get.hs
@@ -0,0 +1,146 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Instances.Get
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets instance information.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.get@.
+module Gogol.AppEngine.Apps.Services.Versions.Instances.Get
+  ( -- * Resource
+    AppEngineAppsServicesVersionsInstancesGetResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsInstancesGet (..),
+    newAppEngineAppsServicesVersionsInstancesGet,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.instances.get@ method which the
+-- 'AppEngineAppsServicesVersionsInstancesGet' request conforms to.
+type AppEngineAppsServicesVersionsInstancesGetResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> "instances"
+    Core.:> Core.Capture "instancesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Instance
+
+-- | Gets instance information.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsInstancesGet' smart constructor.
+data AppEngineAppsServicesVersionsInstancesGet = AppEngineAppsServicesVersionsInstancesGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    instancesId :: Core.Text,
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsInstancesGet' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsInstancesGet ::
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'instancesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsInstancesGet
+newAppEngineAppsServicesVersionsInstancesGet
+  appsId
+  instancesId
+  servicesId
+  versionsId =
+    AppEngineAppsServicesVersionsInstancesGet
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        callback = Core.Nothing,
+        instancesId = instancesId,
+        servicesId = servicesId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        versionsId = versionsId
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsServicesVersionsInstancesGet
+  where
+  type Rs AppEngineAppsServicesVersionsInstancesGet = Instance
+  type
+    Scopes AppEngineAppsServicesVersionsInstancesGet =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsServicesVersionsInstancesGet {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      instancesId
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsInstancesGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/List.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Instances/List.hs
@@ -0,0 +1,150 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Instances.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https:\/\/cloud.google.com\/monitoring\/api\/ref_v3\/rest\/v3\/projects.timeSeries\/list).
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.list@.
+module Gogol.AppEngine.Apps.Services.Versions.Instances.List
+  ( -- * Resource
+    AppEngineAppsServicesVersionsInstancesListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsInstancesList (..),
+    newAppEngineAppsServicesVersionsInstancesList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.instances.list@ method which the
+-- 'AppEngineAppsServicesVersionsInstancesList' request conforms to.
+type AppEngineAppsServicesVersionsInstancesListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> "instances"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListInstancesResponse
+
+-- | Lists the instances of a version.Tip: To aggregate details about instances over time, see the Stackdriver Monitoring API (https:\/\/cloud.google.com\/monitoring\/api\/ref_v3\/rest\/v3\/projects.timeSeries\/list).
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsInstancesList' smart constructor.
+data AppEngineAppsServicesVersionsInstancesList = AppEngineAppsServicesVersionsInstancesList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Version resource. Example: apps\/myapp\/services\/default\/versions\/v1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. See documentation of @appsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsInstancesList' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsInstancesList ::
+  -- |  Part of @parent@. Name of the parent Version resource. Example: apps\/myapp\/services\/default\/versions\/v1. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @parent@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @parent@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsInstancesList
+newAppEngineAppsServicesVersionsInstancesList
+  appsId
+  servicesId
+  versionsId =
+    AppEngineAppsServicesVersionsInstancesList
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        callback = Core.Nothing,
+        pageSize = Core.Nothing,
+        pageToken = Core.Nothing,
+        servicesId = servicesId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        versionsId = versionsId
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineAppsServicesVersionsInstancesList
+  where
+  type
+    Rs AppEngineAppsServicesVersionsInstancesList =
+      ListInstancesResponse
+  type
+    Scopes AppEngineAppsServicesVersionsInstancesList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsServicesVersionsInstancesList {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsInstancesListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/List.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/List.hs
@@ -0,0 +1,139 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists the versions of a service.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.list@.
+module Gogol.AppEngine.Apps.Services.Versions.List
+  ( -- * Resource
+    AppEngineAppsServicesVersionsListResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsList (..),
+    newAppEngineAppsServicesVersionsList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.list@ method which the
+-- 'AppEngineAppsServicesVersionsList' request conforms to.
+type AppEngineAppsServicesVersionsListResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "view" AppsServicesVersionsListView
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListVersionsResponse
+
+-- | Lists the versions of a service.
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsList' smart constructor.
+data AppEngineAppsServicesVersionsList = AppEngineAppsServicesVersionsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Service resource. Example: apps\/myapp\/services\/default.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Controls the set of fields returned in the List response.
+    view :: (Core.Maybe AppsServicesVersionsListView)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsList' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsList ::
+  -- |  Part of @parent@. Name of the parent Service resource. Example: apps\/myapp\/services\/default. See 'appsId'.
+  Core.Text ->
+  -- |  Part of @parent@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsList
+newAppEngineAppsServicesVersionsList appsId servicesId =
+  AppEngineAppsServicesVersionsList
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      appsId = appsId,
+      callback = Core.Nothing,
+      pageSize = Core.Nothing,
+      pageToken = Core.Nothing,
+      servicesId = servicesId,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing,
+      view = Core.Nothing
+    }
+
+instance Core.GoogleRequest AppEngineAppsServicesVersionsList where
+  type Rs AppEngineAppsServicesVersionsList = ListVersionsResponse
+  type
+    Scopes AppEngineAppsServicesVersionsList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient AppEngineAppsServicesVersionsList {..} =
+    go
+      appsId
+      servicesId
+      xgafv
+      accessToken
+      callback
+      pageSize
+      pageToken
+      uploadType
+      uploadProtocol
+      view
+      (Core.Just Core.AltJSON)
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Apps/Services/Versions/Patch.hs b/gen/Gogol/AppEngine/Apps/Services/Versions/Patch.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Apps/Services/Versions/Patch.hs
@@ -0,0 +1,150 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Apps.Services.Versions.Patch
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:Standard environment instance/class (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.instance/class)automatic scaling in the standard environment: automatic/scaling.min/idle/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.max/idle/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automaticScaling.standard/scheduler/settings.max/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard/scheduler/settings.min/instances
+-- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard/scheduler/settings.target/cpu/utilization (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard/scheduler/settings.target/throughput/utilization (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)basic scaling or manual scaling in the standard environment: serving/status (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving/status) manual/scaling.instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#manualscaling)Flexible environment serving/status
+-- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving/status)automatic scaling in the flexible environment: automatic/scaling.min/total/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.max/total/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.cool/down/period/sec (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.cpu/utilization.target/utilization (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling)manual scaling in the flexible environment: manual_scaling.instances
+-- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#manualscaling)
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.patch@.
+module Gogol.AppEngine.Apps.Services.Versions.Patch
+  ( -- * Resource
+    AppEngineAppsServicesVersionsPatchResource,
+
+    -- ** Constructing a Request
+    AppEngineAppsServicesVersionsPatch (..),
+    newAppEngineAppsServicesVersionsPatch,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.apps.services.versions.patch@ method which the
+-- 'AppEngineAppsServicesVersionsPatch' request conforms to.
+type AppEngineAppsServicesVersionsPatchResource =
+  "v1"
+    Core.:> "apps"
+    Core.:> Core.Capture "appsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "updateMask" Core.FieldMask
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] Version
+    Core.:> Core.Patch '[Core.JSON] Operation
+
+-- | Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses:Standard environment instance/class (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.instance/class)automatic scaling in the standard environment: automatic/scaling.min/idle/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.max/idle/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automaticScaling.standard/scheduler/settings.max/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard/scheduler/settings.min/instances
+-- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard/scheduler/settings.target/cpu/utilization (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings) automaticScaling.standard/scheduler/settings.target/throughput/utilization (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)basic scaling or manual scaling in the standard environment: serving/status (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving/status) manual/scaling.instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#manualscaling)Flexible environment serving/status
+-- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving/status)automatic scaling in the flexible environment: automatic/scaling.min/total/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.max/total/instances (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.cool/down/period/sec (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling) automatic/scaling.cpu/utilization.target/utilization (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic/scaling)manual scaling in the flexible environment: manual_scaling.instances
+-- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#manualscaling)
+--
+-- /See:/ 'newAppEngineAppsServicesVersionsPatch' smart constructor.
+data AppEngineAppsServicesVersionsPatch = AppEngineAppsServicesVersionsPatch
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. Name of the resource to update. Example: apps\/myapp\/services\/default\/versions\/1.
+    appsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: Version,
+    -- | Part of @name@. See documentation of @appsId@.
+    servicesId :: Core.Text,
+    -- | Standard field mask for the set of fields to be updated.
+    updateMask :: (Core.Maybe Core.FieldMask),
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @appsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineAppsServicesVersionsPatch' with the minimum fields required to make a request.
+newAppEngineAppsServicesVersionsPatch ::
+  -- |  Part of @name@. Name of the resource to update. Example: apps\/myapp\/services\/default\/versions\/1. See 'appsId'.
+  Core.Text ->
+  -- |  Multipart request metadata. See 'payload'.
+  Version ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @appsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineAppsServicesVersionsPatch
+newAppEngineAppsServicesVersionsPatch
+  appsId
+  payload
+  servicesId
+  versionsId =
+    AppEngineAppsServicesVersionsPatch
+      { xgafv = Core.Nothing,
+        accessToken = Core.Nothing,
+        appsId = appsId,
+        callback = Core.Nothing,
+        payload = payload,
+        servicesId = servicesId,
+        updateMask = Core.Nothing,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        versionsId = versionsId
+      }
+
+instance Core.GoogleRequest AppEngineAppsServicesVersionsPatch where
+  type Rs AppEngineAppsServicesVersionsPatch = Operation
+  type
+    Scopes AppEngineAppsServicesVersionsPatch =
+      '[CloudPlatform'FullControl]
+  requestClient AppEngineAppsServicesVersionsPatch {..} =
+    go
+      appsId
+      servicesId
+      versionsId
+      xgafv
+      accessToken
+      callback
+      updateMask
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      appEngineService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AppEngineAppsServicesVersionsPatchResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AppEngine/Internal/Product.hs b/gen/Gogol/AppEngine/Internal/Product.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Internal/Product.hs
@@ -0,0 +1,4790 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Internal.Product
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Gogol.AppEngine.Internal.Product
+  ( -- * ApiConfigHandler
+    ApiConfigHandler (..),
+    newApiConfigHandler,
+
+    -- * ApiEndpointHandler
+    ApiEndpointHandler (..),
+    newApiEndpointHandler,
+
+    -- * Application
+    Application (..),
+    newApplication,
+
+    -- * Application_GeneratedCustomerMetadata
+    Application_GeneratedCustomerMetadata (..),
+    newApplication_GeneratedCustomerMetadata,
+
+    -- * AuthorizedCertificate
+    AuthorizedCertificate (..),
+    newAuthorizedCertificate,
+
+    -- * AuthorizedDomain
+    AuthorizedDomain (..),
+    newAuthorizedDomain,
+
+    -- * AutomaticScaling
+    AutomaticScaling (..),
+    newAutomaticScaling,
+
+    -- * BasicScaling
+    BasicScaling (..),
+    newBasicScaling,
+
+    -- * BatchUpdateIngressRulesRequest
+    BatchUpdateIngressRulesRequest (..),
+    newBatchUpdateIngressRulesRequest,
+
+    -- * BatchUpdateIngressRulesResponse
+    BatchUpdateIngressRulesResponse (..),
+    newBatchUpdateIngressRulesResponse,
+
+    -- * CertificateRawData
+    CertificateRawData (..),
+    newCertificateRawData,
+
+    -- * CloudBuildOptions
+    CloudBuildOptions (..),
+    newCloudBuildOptions,
+
+    -- * ContainerInfo
+    ContainerInfo (..),
+    newContainerInfo,
+
+    -- * ContainerState
+    ContainerState (..),
+    newContainerState,
+
+    -- * CpuUtilization
+    CpuUtilization (..),
+    newCpuUtilization,
+
+    -- * CreateVersionMetadataV1
+    CreateVersionMetadataV1 (..),
+    newCreateVersionMetadataV1,
+
+    -- * CreateVersionMetadataV1Alpha
+    CreateVersionMetadataV1Alpha (..),
+    newCreateVersionMetadataV1Alpha,
+
+    -- * CreateVersionMetadataV1Beta
+    CreateVersionMetadataV1Beta (..),
+    newCreateVersionMetadataV1Beta,
+
+    -- * Date
+    Date (..),
+    newDate,
+
+    -- * DebugInstanceRequest
+    DebugInstanceRequest (..),
+    newDebugInstanceRequest,
+
+    -- * Deployment
+    Deployment (..),
+    newDeployment,
+
+    -- * Deployment_Files
+    Deployment_Files (..),
+    newDeployment_Files,
+
+    -- * DiskUtilization
+    DiskUtilization (..),
+    newDiskUtilization,
+
+    -- * DomainMapping
+    DomainMapping (..),
+    newDomainMapping,
+
+    -- * Empty
+    Empty (..),
+    newEmpty,
+
+    -- * EndpointsApiService
+    EndpointsApiService (..),
+    newEndpointsApiService,
+
+    -- * Entrypoint
+    Entrypoint (..),
+    newEntrypoint,
+
+    -- * ErrorHandler
+    ErrorHandler (..),
+    newErrorHandler,
+
+    -- * FeatureSettings
+    FeatureSettings (..),
+    newFeatureSettings,
+
+    -- * FileInfo
+    FileInfo (..),
+    newFileInfo,
+
+    -- * FirewallRule
+    FirewallRule (..),
+    newFirewallRule,
+
+    -- * FlexibleRuntimeSettings
+    FlexibleRuntimeSettings (..),
+    newFlexibleRuntimeSettings,
+
+    -- * GceTag
+    GceTag (..),
+    newGceTag,
+
+    -- * GoogleAppengineV1betaLocationMetadata
+    GoogleAppengineV1betaLocationMetadata (..),
+    newGoogleAppengineV1betaLocationMetadata,
+
+    -- * HealthCheck
+    HealthCheck (..),
+    newHealthCheck,
+
+    -- * IdentityAwareProxy
+    IdentityAwareProxy (..),
+    newIdentityAwareProxy,
+
+    -- * Instance
+    Instance (..),
+    newInstance,
+
+    -- * Library
+    Library (..),
+    newLibrary,
+
+    -- * ListAuthorizedCertificatesResponse
+    ListAuthorizedCertificatesResponse (..),
+    newListAuthorizedCertificatesResponse,
+
+    -- * ListAuthorizedDomainsResponse
+    ListAuthorizedDomainsResponse (..),
+    newListAuthorizedDomainsResponse,
+
+    -- * ListDomainMappingsResponse
+    ListDomainMappingsResponse (..),
+    newListDomainMappingsResponse,
+
+    -- * ListIngressRulesResponse
+    ListIngressRulesResponse (..),
+    newListIngressRulesResponse,
+
+    -- * ListInstancesResponse
+    ListInstancesResponse (..),
+    newListInstancesResponse,
+
+    -- * ListLocationsResponse
+    ListLocationsResponse (..),
+    newListLocationsResponse,
+
+    -- * ListOperationsResponse
+    ListOperationsResponse (..),
+    newListOperationsResponse,
+
+    -- * ListRuntimesResponse
+    ListRuntimesResponse (..),
+    newListRuntimesResponse,
+
+    -- * ListServicesResponse
+    ListServicesResponse (..),
+    newListServicesResponse,
+
+    -- * ListVersionsResponse
+    ListVersionsResponse (..),
+    newListVersionsResponse,
+
+    -- * LivenessCheck
+    LivenessCheck (..),
+    newLivenessCheck,
+
+    -- * Location
+    Location (..),
+    newLocation,
+
+    -- * Location_Labels
+    Location_Labels (..),
+    newLocation_Labels,
+
+    -- * Location_Metadata
+    Location_Metadata (..),
+    newLocation_Metadata,
+
+    -- * LocationMetadata
+    LocationMetadata (..),
+    newLocationMetadata,
+
+    -- * ManagedCertificate
+    ManagedCertificate (..),
+    newManagedCertificate,
+
+    -- * ManualScaling
+    ManualScaling (..),
+    newManualScaling,
+
+    -- * Network
+    Network (..),
+    newNetwork,
+
+    -- * NetworkSettings
+    NetworkSettings (..),
+    newNetworkSettings,
+
+    -- * NetworkUtilization
+    NetworkUtilization (..),
+    newNetworkUtilization,
+
+    -- * Operation
+    Operation (..),
+    newOperation,
+
+    -- * Operation_Metadata
+    Operation_Metadata (..),
+    newOperation_Metadata,
+
+    -- * Operation_Response
+    Operation_Response (..),
+    newOperation_Response,
+
+    -- * OperationMetadataV1
+    OperationMetadataV1 (..),
+    newOperationMetadataV1,
+
+    -- * OperationMetadataV1Alpha
+    OperationMetadataV1Alpha (..),
+    newOperationMetadataV1Alpha,
+
+    -- * OperationMetadataV1Beta
+    OperationMetadataV1Beta (..),
+    newOperationMetadataV1Beta,
+
+    -- * ProjectEvent
+    ProjectEvent (..),
+    newProjectEvent,
+
+    -- * ProjectsMetadata
+    ProjectsMetadata (..),
+    newProjectsMetadata,
+
+    -- * ReadinessCheck
+    ReadinessCheck (..),
+    newReadinessCheck,
+
+    -- * Reasons
+    Reasons (..),
+    newReasons,
+
+    -- * RepairApplicationRequest
+    RepairApplicationRequest (..),
+    newRepairApplicationRequest,
+
+    -- * RequestUtilization
+    RequestUtilization (..),
+    newRequestUtilization,
+
+    -- * ResourceEvent
+    ResourceEvent (..),
+    newResourceEvent,
+
+    -- * ResourceRecord
+    ResourceRecord (..),
+    newResourceRecord,
+
+    -- * Resources
+    Resources (..),
+    newResources,
+
+    -- * Runtime
+    Runtime (..),
+    newRuntime,
+
+    -- * ScriptHandler
+    ScriptHandler (..),
+    newScriptHandler,
+
+    -- * Service
+    Service (..),
+    newService,
+
+    -- * Service_GeneratedCustomerMetadata
+    Service_GeneratedCustomerMetadata (..),
+    newService_GeneratedCustomerMetadata,
+
+    -- * Service_Labels
+    Service_Labels (..),
+    newService_Labels,
+
+    -- * SslSettings
+    SslSettings (..),
+    newSslSettings,
+
+    -- * StandardSchedulerSettings
+    StandardSchedulerSettings (..),
+    newStandardSchedulerSettings,
+
+    -- * StaticFilesHandler
+    StaticFilesHandler (..),
+    newStaticFilesHandler,
+
+    -- * StaticFilesHandler_HttpHeaders
+    StaticFilesHandler_HttpHeaders (..),
+    newStaticFilesHandler_HttpHeaders,
+
+    -- * Status
+    Status (..),
+    newStatus,
+
+    -- * Status_DetailsItem
+    Status_DetailsItem (..),
+    newStatus_DetailsItem,
+
+    -- * TrafficSplit
+    TrafficSplit (..),
+    newTrafficSplit,
+
+    -- * TrafficSplit_Allocations
+    TrafficSplit_Allocations (..),
+    newTrafficSplit_Allocations,
+
+    -- * UrlDispatchRule
+    UrlDispatchRule (..),
+    newUrlDispatchRule,
+
+    -- * UrlMap
+    UrlMap (..),
+    newUrlMap,
+
+    -- * Version
+    Version (..),
+    newVersion,
+
+    -- * Version_BetaSettings
+    Version_BetaSettings (..),
+    newVersion_BetaSettings,
+
+    -- * Version_BuildEnvVariables
+    Version_BuildEnvVariables (..),
+    newVersion_BuildEnvVariables,
+
+    -- * Version_EnvVariables
+    Version_EnvVariables (..),
+    newVersion_EnvVariables,
+
+    -- * Version_GeneratedCustomerMetadata
+    Version_GeneratedCustomerMetadata (..),
+    newVersion_GeneratedCustomerMetadata,
+
+    -- * Volume
+    Volume (..),
+    newVolume,
+
+    -- * VpcAccessConnector
+    VpcAccessConnector (..),
+    newVpcAccessConnector,
+
+    -- * ZipInfo
+    ZipInfo (..),
+    newZipInfo,
+  )
+where
+
+import Gogol.AppEngine.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Google Cloud Endpoints (https:\/\/cloud.google.com\/endpoints) configuration for API handlers.
+--
+-- /See:/ 'newApiConfigHandler' smart constructor.
+data ApiConfigHandler = ApiConfigHandler
+  { -- | Action to take when users access resources that require authentication. Defaults to redirect.
+    authFailAction :: (Core.Maybe ApiConfigHandler_AuthFailAction),
+    -- | Level of login required to access this resource. Defaults to optional.
+    login :: (Core.Maybe ApiConfigHandler_Login),
+    -- | Path to the script from the application root directory.
+    script :: (Core.Maybe Core.Text),
+    -- | Security (HTTPS) enforcement for this URL.
+    securityLevel :: (Core.Maybe ApiConfigHandler_SecurityLevel),
+    -- | URL to serve the endpoint at.
+    url :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ApiConfigHandler' with the minimum fields required to make a request.
+newApiConfigHandler ::
+  ApiConfigHandler
+newApiConfigHandler =
+  ApiConfigHandler
+    { authFailAction = Core.Nothing,
+      login = Core.Nothing,
+      script = Core.Nothing,
+      securityLevel = Core.Nothing,
+      url = Core.Nothing
+    }
+
+instance Core.FromJSON ApiConfigHandler where
+  parseJSON =
+    Core.withObject
+      "ApiConfigHandler"
+      ( \o ->
+          ApiConfigHandler
+            Core.<$> (o Core..:? "authFailAction")
+            Core.<*> (o Core..:? "login")
+            Core.<*> (o Core..:? "script")
+            Core.<*> (o Core..:? "securityLevel")
+            Core.<*> (o Core..:? "url")
+      )
+
+instance Core.ToJSON ApiConfigHandler where
+  toJSON ApiConfigHandler {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("authFailAction" Core..=) Core.<$> authFailAction,
+            ("login" Core..=) Core.<$> login,
+            ("script" Core..=) Core.<$> script,
+            ("securityLevel" Core..=) Core.<$> securityLevel,
+            ("url" Core..=) Core.<$> url
+          ]
+      )
+
+-- | Uses Google Cloud Endpoints to handle requests.
+--
+-- /See:/ 'newApiEndpointHandler' smart constructor.
+newtype ApiEndpointHandler = ApiEndpointHandler
+  { -- | Path to the script from the application root directory.
+    scriptPath :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ApiEndpointHandler' with the minimum fields required to make a request.
+newApiEndpointHandler ::
+  ApiEndpointHandler
+newApiEndpointHandler =
+  ApiEndpointHandler {scriptPath = Core.Nothing}
+
+instance Core.FromJSON ApiEndpointHandler where
+  parseJSON =
+    Core.withObject
+      "ApiEndpointHandler"
+      (\o -> ApiEndpointHandler Core.<$> (o Core..:? "scriptPath"))
+
+instance Core.ToJSON ApiEndpointHandler where
+  toJSON ApiEndpointHandler {..} =
+    Core.object
+      (Core.catMaybes [("scriptPath" Core..=) Core.<$> scriptPath])
+
+-- | An Application resource contains the top-level configuration of an App Engine application.
+--
+-- /See:/ 'newApplication' smart constructor.
+data Application = Application
+  { -- | Google Apps authentication domain that controls which users can access this application.Defaults to open access for any Google Account.
+    authDomain :: (Core.Maybe Core.Text),
+    -- | Output only. Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.\@OutputOnly
+    codeBucket :: (Core.Maybe Core.Text),
+    -- | The type of the Cloud Firestore or Cloud Datastore database associated with this application.
+    databaseType :: (Core.Maybe Application_DatabaseType),
+    -- | Output only. Google Cloud Storage bucket that can be used by this application to store content.\@OutputOnly
+    defaultBucket :: (Core.Maybe Core.Text),
+    -- | Cookie expiration policy for this application.
+    defaultCookieExpiration :: (Core.Maybe Core.Duration),
+    -- | Output only. Hostname used to reach this application, as resolved by App Engine.\@OutputOnly
+    defaultHostname :: (Core.Maybe Core.Text),
+    -- | HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported.
+    dispatchRules :: (Core.Maybe [UrlDispatchRule]),
+    -- | The feature specific settings to be used in the application.
+    featureSettings :: (Core.Maybe FeatureSettings),
+    -- | Output only. The Google Container Registry domain used for storing managed build docker images for this application.
+    gcrDomain :: (Core.Maybe Core.Text),
+    -- | Additional Google Generated Customer Metadata, this field won\'t be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest
+    generatedCustomerMetadata :: (Core.Maybe Application_GeneratedCustomerMetadata),
+    iap :: (Core.Maybe IdentityAwareProxy),
+    -- | Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp.
+    id :: (Core.Maybe Core.Text),
+    -- | Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application\'s end user content is stored.Defaults to us-central.View the list of supported locations (https:\/\/cloud.google.com\/appengine\/docs\/locations).
+    locationId :: (Core.Maybe Core.Text),
+    -- | Output only. Full path to the Application resource in the API. Example: apps\/myapp.\@OutputOnly
+    name :: (Core.Maybe Core.Text),
+    -- | The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one.
+    serviceAccount :: (Core.Maybe Core.Text),
+    -- | Serving status of this application.
+    servingStatus :: (Core.Maybe Application_ServingStatus),
+    -- | The SSL policy that will be applied to the application. If set to Modern it will restrict traffic with TLS \< 1.2 and allow only Modern Ciphers suite
+    sslPolicy :: (Core.Maybe Application_SslPolicy)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Application' with the minimum fields required to make a request.
+newApplication ::
+  Application
+newApplication =
+  Application
+    { authDomain = Core.Nothing,
+      codeBucket = Core.Nothing,
+      databaseType = Core.Nothing,
+      defaultBucket = Core.Nothing,
+      defaultCookieExpiration = Core.Nothing,
+      defaultHostname = Core.Nothing,
+      dispatchRules = Core.Nothing,
+      featureSettings = Core.Nothing,
+      gcrDomain = Core.Nothing,
+      generatedCustomerMetadata = Core.Nothing,
+      iap = Core.Nothing,
+      id = Core.Nothing,
+      locationId = Core.Nothing,
+      name = Core.Nothing,
+      serviceAccount = Core.Nothing,
+      servingStatus = Core.Nothing,
+      sslPolicy = Core.Nothing
+    }
+
+instance Core.FromJSON Application where
+  parseJSON =
+    Core.withObject
+      "Application"
+      ( \o ->
+          Application
+            Core.<$> (o Core..:? "authDomain")
+            Core.<*> (o Core..:? "codeBucket")
+            Core.<*> (o Core..:? "databaseType")
+            Core.<*> (o Core..:? "defaultBucket")
+            Core.<*> (o Core..:? "defaultCookieExpiration")
+            Core.<*> (o Core..:? "defaultHostname")
+            Core.<*> (o Core..:? "dispatchRules")
+            Core.<*> (o Core..:? "featureSettings")
+            Core.<*> (o Core..:? "gcrDomain")
+            Core.<*> (o Core..:? "generatedCustomerMetadata")
+            Core.<*> (o Core..:? "iap")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "locationId")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "serviceAccount")
+            Core.<*> (o Core..:? "servingStatus")
+            Core.<*> (o Core..:? "sslPolicy")
+      )
+
+instance Core.ToJSON Application where
+  toJSON Application {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("authDomain" Core..=) Core.<$> authDomain,
+            ("codeBucket" Core..=) Core.<$> codeBucket,
+            ("databaseType" Core..=) Core.<$> databaseType,
+            ("defaultBucket" Core..=) Core.<$> defaultBucket,
+            ("defaultCookieExpiration" Core..=)
+              Core.<$> defaultCookieExpiration,
+            ("defaultHostname" Core..=) Core.<$> defaultHostname,
+            ("dispatchRules" Core..=) Core.<$> dispatchRules,
+            ("featureSettings" Core..=) Core.<$> featureSettings,
+            ("gcrDomain" Core..=) Core.<$> gcrDomain,
+            ("generatedCustomerMetadata" Core..=)
+              Core.<$> generatedCustomerMetadata,
+            ("iap" Core..=) Core.<$> iap,
+            ("id" Core..=) Core.<$> id,
+            ("locationId" Core..=) Core.<$> locationId,
+            ("name" Core..=) Core.<$> name,
+            ("serviceAccount" Core..=) Core.<$> serviceAccount,
+            ("servingStatus" Core..=) Core.<$> servingStatus,
+            ("sslPolicy" Core..=) Core.<$> sslPolicy
+          ]
+      )
+
+-- | Additional Google Generated Customer Metadata, this field won\'t be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest
+--
+-- /See:/ 'newApplication_GeneratedCustomerMetadata' smart constructor.
+newtype Application_GeneratedCustomerMetadata = Application_GeneratedCustomerMetadata
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Application_GeneratedCustomerMetadata' with the minimum fields required to make a request.
+newApplication_GeneratedCustomerMetadata ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Application_GeneratedCustomerMetadata
+newApplication_GeneratedCustomerMetadata additional =
+  Application_GeneratedCustomerMetadata {additional = additional}
+
+instance Core.FromJSON Application_GeneratedCustomerMetadata where
+  parseJSON =
+    Core.withObject
+      "Application_GeneratedCustomerMetadata"
+      ( \o ->
+          Application_GeneratedCustomerMetadata
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON Application_GeneratedCustomerMetadata where
+  toJSON Application_GeneratedCustomerMetadata {..} =
+    Core.toJSON additional
+
+-- | An SSL certificate that a user has been authorized to administer. A user is authorized to administer any certificate that applies to one of their authorized domains.
+--
+-- /See:/ 'newAuthorizedCertificate' smart constructor.
+data AuthorizedCertificate = AuthorizedCertificate
+  { -- | The SSL certificate serving the AuthorizedCertificate resource. This must be obtained independently from a certificate authority.
+    certificateRawData :: (Core.Maybe CertificateRawData),
+    -- | The user-specified display name of the certificate. This is not guaranteed to be unique. Example: My Certificate.
+    displayName :: (Core.Maybe Core.Text),
+    -- | Aggregate count of the domain mappings with this certificate mapped. This count includes domain mappings on applications for which the user does not have VIEWER permissions.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.\@OutputOnly
+    domainMappingsCount :: (Core.Maybe Core.Int32),
+    -- | Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.\@OutputOnly
+    domainNames :: (Core.Maybe [Core.Text]),
+    -- | The time when this certificate expires. To update the renewal time on this certificate, upload an SSL certificate with a different expiration time using AuthorizedCertificates.UpdateAuthorizedCertificate.\@OutputOnly
+    expireTime :: (Core.Maybe Core.DateTime),
+    -- | Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.\@OutputOnly
+    id :: (Core.Maybe Core.Text),
+    -- | Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.\@OutputOnly
+    managedCertificate :: (Core.Maybe ManagedCertificate),
+    -- | Full path to the AuthorizedCertificate resource in the API. Example: apps\/myapp\/authorizedCertificates\/12345.\@OutputOnly
+    name :: (Core.Maybe Core.Text),
+    -- | The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps\/myapp\/domainMappings\/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain/mappings/count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.\@OutputOnly
+    visibleDomainMappings :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AuthorizedCertificate' with the minimum fields required to make a request.
+newAuthorizedCertificate ::
+  AuthorizedCertificate
+newAuthorizedCertificate =
+  AuthorizedCertificate
+    { certificateRawData = Core.Nothing,
+      displayName = Core.Nothing,
+      domainMappingsCount = Core.Nothing,
+      domainNames = Core.Nothing,
+      expireTime = Core.Nothing,
+      id = Core.Nothing,
+      managedCertificate = Core.Nothing,
+      name = Core.Nothing,
+      visibleDomainMappings = Core.Nothing
+    }
+
+instance Core.FromJSON AuthorizedCertificate where
+  parseJSON =
+    Core.withObject
+      "AuthorizedCertificate"
+      ( \o ->
+          AuthorizedCertificate
+            Core.<$> (o Core..:? "certificateRawData")
+            Core.<*> (o Core..:? "displayName")
+            Core.<*> (o Core..:? "domainMappingsCount")
+            Core.<*> (o Core..:? "domainNames")
+            Core.<*> (o Core..:? "expireTime")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "managedCertificate")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "visibleDomainMappings")
+      )
+
+instance Core.ToJSON AuthorizedCertificate where
+  toJSON AuthorizedCertificate {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("certificateRawData" Core..=) Core.<$> certificateRawData,
+            ("displayName" Core..=) Core.<$> displayName,
+            ("domainMappingsCount" Core..=) Core.<$> domainMappingsCount,
+            ("domainNames" Core..=) Core.<$> domainNames,
+            ("expireTime" Core..=) Core.<$> expireTime,
+            ("id" Core..=) Core.<$> id,
+            ("managedCertificate" Core..=) Core.<$> managedCertificate,
+            ("name" Core..=) Core.<$> name,
+            ("visibleDomainMappings" Core..=) Core.<$> visibleDomainMappings
+          ]
+      )
+
+-- | A domain that a user has been authorized to administer. To authorize use of a domain, verify ownership via Search Console (https:\/\/search.google.com\/search-console\/welcome).
+--
+-- /See:/ 'newAuthorizedDomain' smart constructor.
+data AuthorizedDomain = AuthorizedDomain
+  { -- | Fully qualified domain name of the domain authorized for use. Example: example.com.
+    id :: (Core.Maybe Core.Text),
+    -- | Full path to the AuthorizedDomain resource in the API. Example: apps\/myapp\/authorizedDomains\/example.com.\@OutputOnly
+    name :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AuthorizedDomain' with the minimum fields required to make a request.
+newAuthorizedDomain ::
+  AuthorizedDomain
+newAuthorizedDomain =
+  AuthorizedDomain {id = Core.Nothing, name = Core.Nothing}
+
+instance Core.FromJSON AuthorizedDomain where
+  parseJSON =
+    Core.withObject
+      "AuthorizedDomain"
+      ( \o ->
+          AuthorizedDomain
+            Core.<$> (o Core..:? "id")
+            Core.<*> (o Core..:? "name")
+      )
+
+instance Core.ToJSON AuthorizedDomain where
+  toJSON AuthorizedDomain {..} =
+    Core.object
+      ( Core.catMaybes
+          [("id" Core..=) Core.<$> id, ("name" Core..=) Core.<$> name]
+      )
+
+-- | Automatic scaling is based on request rate, response latencies, and other application metrics.
+--
+-- /See:/ 'newAutomaticScaling' smart constructor.
+data AutomaticScaling = AutomaticScaling
+  { -- | The time period that the Autoscaler (https:\/\/cloud.google.com\/compute\/docs\/autoscaler\/) should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. Only applicable in the App Engine flexible environment.
+    coolDownPeriod :: (Core.Maybe Core.Duration),
+    -- | Target scaling by CPU usage.
+    cpuUtilization :: (Core.Maybe CpuUtilization),
+    -- | Target scaling by disk usage.
+    diskUtilization :: (Core.Maybe DiskUtilization),
+    -- | Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.Defaults to a runtime-specific value.
+    maxConcurrentRequests :: (Core.Maybe Core.Int32),
+    -- | Maximum number of idle instances that should be maintained for this version.
+    maxIdleInstances :: (Core.Maybe Core.Int32),
+    -- | Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.
+    maxPendingLatency :: (Core.Maybe Core.Duration),
+    -- | Maximum number of instances that should be started to handle requests for this version.
+    maxTotalInstances :: (Core.Maybe Core.Int32),
+    -- | Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.
+    minIdleInstances :: (Core.Maybe Core.Int32),
+    -- | Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.
+    minPendingLatency :: (Core.Maybe Core.Duration),
+    -- | Minimum number of running instances that should be maintained for this version.
+    minTotalInstances :: (Core.Maybe Core.Int32),
+    -- | Target scaling by network usage.
+    networkUtilization :: (Core.Maybe NetworkUtilization),
+    -- | Target scaling by request utilization.
+    requestUtilization :: (Core.Maybe RequestUtilization),
+    -- | Scheduler settings for standard environment.
+    standardSchedulerSettings :: (Core.Maybe StandardSchedulerSettings)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AutomaticScaling' with the minimum fields required to make a request.
+newAutomaticScaling ::
+  AutomaticScaling
+newAutomaticScaling =
+  AutomaticScaling
+    { coolDownPeriod = Core.Nothing,
+      cpuUtilization = Core.Nothing,
+      diskUtilization = Core.Nothing,
+      maxConcurrentRequests = Core.Nothing,
+      maxIdleInstances = Core.Nothing,
+      maxPendingLatency = Core.Nothing,
+      maxTotalInstances = Core.Nothing,
+      minIdleInstances = Core.Nothing,
+      minPendingLatency = Core.Nothing,
+      minTotalInstances = Core.Nothing,
+      networkUtilization = Core.Nothing,
+      requestUtilization = Core.Nothing,
+      standardSchedulerSettings = Core.Nothing
+    }
+
+instance Core.FromJSON AutomaticScaling where
+  parseJSON =
+    Core.withObject
+      "AutomaticScaling"
+      ( \o ->
+          AutomaticScaling
+            Core.<$> (o Core..:? "coolDownPeriod")
+            Core.<*> (o Core..:? "cpuUtilization")
+            Core.<*> (o Core..:? "diskUtilization")
+            Core.<*> (o Core..:? "maxConcurrentRequests")
+            Core.<*> (o Core..:? "maxIdleInstances")
+            Core.<*> (o Core..:? "maxPendingLatency")
+            Core.<*> (o Core..:? "maxTotalInstances")
+            Core.<*> (o Core..:? "minIdleInstances")
+            Core.<*> (o Core..:? "minPendingLatency")
+            Core.<*> (o Core..:? "minTotalInstances")
+            Core.<*> (o Core..:? "networkUtilization")
+            Core.<*> (o Core..:? "requestUtilization")
+            Core.<*> (o Core..:? "standardSchedulerSettings")
+      )
+
+instance Core.ToJSON AutomaticScaling where
+  toJSON AutomaticScaling {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("coolDownPeriod" Core..=) Core.<$> coolDownPeriod,
+            ("cpuUtilization" Core..=) Core.<$> cpuUtilization,
+            ("diskUtilization" Core..=) Core.<$> diskUtilization,
+            ("maxConcurrentRequests" Core..=) Core.<$> maxConcurrentRequests,
+            ("maxIdleInstances" Core..=) Core.<$> maxIdleInstances,
+            ("maxPendingLatency" Core..=) Core.<$> maxPendingLatency,
+            ("maxTotalInstances" Core..=) Core.<$> maxTotalInstances,
+            ("minIdleInstances" Core..=) Core.<$> minIdleInstances,
+            ("minPendingLatency" Core..=) Core.<$> minPendingLatency,
+            ("minTotalInstances" Core..=) Core.<$> minTotalInstances,
+            ("networkUtilization" Core..=) Core.<$> networkUtilization,
+            ("requestUtilization" Core..=) Core.<$> requestUtilization,
+            ("standardSchedulerSettings" Core..=)
+              Core.<$> standardSchedulerSettings
+          ]
+      )
+
+-- | A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
+--
+-- /See:/ 'newBasicScaling' smart constructor.
+data BasicScaling = BasicScaling
+  { -- | Duration of time after the last request that an instance must wait before the instance is shut down.
+    idleTimeout :: (Core.Maybe Core.Duration),
+    -- | Maximum number of instances to create for this version.
+    maxInstances :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'BasicScaling' with the minimum fields required to make a request.
+newBasicScaling ::
+  BasicScaling
+newBasicScaling =
+  BasicScaling
+    { idleTimeout = Core.Nothing,
+      maxInstances = Core.Nothing
+    }
+
+instance Core.FromJSON BasicScaling where
+  parseJSON =
+    Core.withObject
+      "BasicScaling"
+      ( \o ->
+          BasicScaling
+            Core.<$> (o Core..:? "idleTimeout")
+            Core.<*> (o Core..:? "maxInstances")
+      )
+
+instance Core.ToJSON BasicScaling where
+  toJSON BasicScaling {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("idleTimeout" Core..=) Core.<$> idleTimeout,
+            ("maxInstances" Core..=) Core.<$> maxInstances
+          ]
+      )
+
+-- | Request message for Firewall.BatchUpdateIngressRules.
+--
+-- /See:/ 'newBatchUpdateIngressRulesRequest' smart constructor.
+newtype BatchUpdateIngressRulesRequest = BatchUpdateIngressRulesRequest
+  { -- | A list of FirewallRules to replace the existing set.
+    ingressRules :: (Core.Maybe [FirewallRule])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'BatchUpdateIngressRulesRequest' with the minimum fields required to make a request.
+newBatchUpdateIngressRulesRequest ::
+  BatchUpdateIngressRulesRequest
+newBatchUpdateIngressRulesRequest =
+  BatchUpdateIngressRulesRequest {ingressRules = Core.Nothing}
+
+instance Core.FromJSON BatchUpdateIngressRulesRequest where
+  parseJSON =
+    Core.withObject
+      "BatchUpdateIngressRulesRequest"
+      ( \o ->
+          BatchUpdateIngressRulesRequest
+            Core.<$> (o Core..:? "ingressRules")
+      )
+
+instance Core.ToJSON BatchUpdateIngressRulesRequest where
+  toJSON BatchUpdateIngressRulesRequest {..} =
+    Core.object
+      (Core.catMaybes [("ingressRules" Core..=) Core.<$> ingressRules])
+
+-- | Response message for Firewall.UpdateAllIngressRules.
+--
+-- /See:/ 'newBatchUpdateIngressRulesResponse' smart constructor.
+newtype BatchUpdateIngressRulesResponse = BatchUpdateIngressRulesResponse
+  { -- | The full list of ingress FirewallRules for this application.
+    ingressRules :: (Core.Maybe [FirewallRule])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'BatchUpdateIngressRulesResponse' with the minimum fields required to make a request.
+newBatchUpdateIngressRulesResponse ::
+  BatchUpdateIngressRulesResponse
+newBatchUpdateIngressRulesResponse =
+  BatchUpdateIngressRulesResponse {ingressRules = Core.Nothing}
+
+instance Core.FromJSON BatchUpdateIngressRulesResponse where
+  parseJSON =
+    Core.withObject
+      "BatchUpdateIngressRulesResponse"
+      ( \o ->
+          BatchUpdateIngressRulesResponse
+            Core.<$> (o Core..:? "ingressRules")
+      )
+
+instance Core.ToJSON BatchUpdateIngressRulesResponse where
+  toJSON BatchUpdateIngressRulesResponse {..} =
+    Core.object
+      (Core.catMaybes [("ingressRules" Core..=) Core.<$> ingressRules])
+
+-- | An SSL certificate obtained from a certificate authority.
+--
+-- /See:/ 'newCertificateRawData' smart constructor.
+data CertificateRawData = CertificateRawData
+  { -- | Unencrypted PEM encoded RSA private key. This field is set once on certificate creation and then encrypted. The key size must be 2048 bits or fewer. Must include the header and footer. Example: -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- \@InputOnly
+    privateKey :: (Core.Maybe Core.Text),
+    -- | PEM encoded x.509 public key certificate. This field is set once on certificate creation. Must include the header and footer. Example: -----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
+    publicCertificate :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CertificateRawData' with the minimum fields required to make a request.
+newCertificateRawData ::
+  CertificateRawData
+newCertificateRawData =
+  CertificateRawData
+    { privateKey = Core.Nothing,
+      publicCertificate = Core.Nothing
+    }
+
+instance Core.FromJSON CertificateRawData where
+  parseJSON =
+    Core.withObject
+      "CertificateRawData"
+      ( \o ->
+          CertificateRawData
+            Core.<$> (o Core..:? "privateKey")
+            Core.<*> (o Core..:? "publicCertificate")
+      )
+
+instance Core.ToJSON CertificateRawData where
+  toJSON CertificateRawData {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("privateKey" Core..=) Core.<$> privateKey,
+            ("publicCertificate" Core..=) Core.<$> publicCertificate
+          ]
+      )
+
+-- | Options for the build operations performed as a part of the version deployment. Only applicable for App Engine flexible environment when creating a version using source code directly.
+--
+-- /See:/ 'newCloudBuildOptions' smart constructor.
+data CloudBuildOptions = CloudBuildOptions
+  { -- | Path to the yaml file used in deployment, used to determine runtime configuration details.Required for flexible environment builds.See https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/appref for more details.
+    appYamlPath :: (Core.Maybe Core.Text),
+    -- | The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes.
+    cloudBuildTimeout :: (Core.Maybe Core.Duration)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CloudBuildOptions' with the minimum fields required to make a request.
+newCloudBuildOptions ::
+  CloudBuildOptions
+newCloudBuildOptions =
+  CloudBuildOptions
+    { appYamlPath = Core.Nothing,
+      cloudBuildTimeout = Core.Nothing
+    }
+
+instance Core.FromJSON CloudBuildOptions where
+  parseJSON =
+    Core.withObject
+      "CloudBuildOptions"
+      ( \o ->
+          CloudBuildOptions
+            Core.<$> (o Core..:? "appYamlPath")
+            Core.<*> (o Core..:? "cloudBuildTimeout")
+      )
+
+instance Core.ToJSON CloudBuildOptions where
+  toJSON CloudBuildOptions {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("appYamlPath" Core..=) Core.<$> appYamlPath,
+            ("cloudBuildTimeout" Core..=) Core.<$> cloudBuildTimeout
+          ]
+      )
+
+-- | Docker image that is used to create a container and start a VM instance for the version that you deploy. Only applicable for instances running in the App Engine flexible environment.
+--
+-- /See:/ 'newContainerInfo' smart constructor.
+newtype ContainerInfo = ContainerInfo
+  { -- | URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io\/my-project\/image:tag\" or \"gcr.io\/my-project\/image\@digest\"
+    image :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ContainerInfo' with the minimum fields required to make a request.
+newContainerInfo ::
+  ContainerInfo
+newContainerInfo = ContainerInfo {image = Core.Nothing}
+
+instance Core.FromJSON ContainerInfo where
+  parseJSON =
+    Core.withObject
+      "ContainerInfo"
+      (\o -> ContainerInfo Core.<$> (o Core..:? "image"))
+
+instance Core.ToJSON ContainerInfo where
+  toJSON ContainerInfo {..} =
+    Core.object (Core.catMaybes [("image" Core..=) Core.<$> image])
+
+-- | ContainerState contains the externally-visible container state that is used to communicate the state and reasoning for that state to the CLH. This data is not persisted by CCFE, but is instead derived from CCFE\'s internal representation of the container state.
+--
+-- /See:/ 'newContainerState' smart constructor.
+data ContainerState = ContainerState
+  { currentReasons :: (Core.Maybe Reasons),
+    -- | The previous and current reasons for a container state will be sent for a container event. CLHs that need to know the signal that caused the container event to trigger (edges) as opposed to just knowing the state can act upon differences in the previous and current reasons.Reasons will be provided for every system: service management, data governance, abuse, and billing.If this is a CCFE-triggered event used for reconciliation then the current reasons will be set to their */CONTROL/PLANE/SYNC state. The previous reasons will contain the last known set of non-unknown non-control/plane_sync reasons for the state.
+    previousReasons :: (Core.Maybe Reasons),
+    -- | The current state of the container. This state is the culmination of all of the opinions from external systems that CCFE knows about of the container.
+    state :: (Core.Maybe ContainerState_State)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ContainerState' with the minimum fields required to make a request.
+newContainerState ::
+  ContainerState
+newContainerState =
+  ContainerState
+    { currentReasons = Core.Nothing,
+      previousReasons = Core.Nothing,
+      state = Core.Nothing
+    }
+
+instance Core.FromJSON ContainerState where
+  parseJSON =
+    Core.withObject
+      "ContainerState"
+      ( \o ->
+          ContainerState
+            Core.<$> (o Core..:? "currentReasons")
+            Core.<*> (o Core..:? "previousReasons")
+            Core.<*> (o Core..:? "state")
+      )
+
+instance Core.ToJSON ContainerState where
+  toJSON ContainerState {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("currentReasons" Core..=) Core.<$> currentReasons,
+            ("previousReasons" Core..=) Core.<$> previousReasons,
+            ("state" Core..=) Core.<$> state
+          ]
+      )
+
+-- | Target scaling by CPU usage.
+--
+-- /See:/ 'newCpuUtilization' smart constructor.
+data CpuUtilization = CpuUtilization
+  { -- | Period of time over which CPU utilization is calculated.
+    aggregationWindowLength :: (Core.Maybe Core.Duration),
+    -- | Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
+    targetUtilization :: (Core.Maybe Core.Double)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CpuUtilization' with the minimum fields required to make a request.
+newCpuUtilization ::
+  CpuUtilization
+newCpuUtilization =
+  CpuUtilization
+    { aggregationWindowLength = Core.Nothing,
+      targetUtilization = Core.Nothing
+    }
+
+instance Core.FromJSON CpuUtilization where
+  parseJSON =
+    Core.withObject
+      "CpuUtilization"
+      ( \o ->
+          CpuUtilization
+            Core.<$> (o Core..:? "aggregationWindowLength")
+            Core.<*> (o Core..:? "targetUtilization")
+      )
+
+instance Core.ToJSON CpuUtilization where
+  toJSON CpuUtilization {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("aggregationWindowLength" Core..=)
+              Core.<$> aggregationWindowLength,
+            ("targetUtilization" Core..=) Core.<$> targetUtilization
+          ]
+      )
+
+-- | Metadata for the given google.longrunning.Operation during a google.appengine.v1.CreateVersionRequest.
+--
+-- /See:/ 'newCreateVersionMetadataV1' smart constructor.
+newtype CreateVersionMetadataV1 = CreateVersionMetadataV1
+  { -- | The Cloud Build ID if one was created as part of the version create. \@OutputOnly
+    cloudBuildId :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CreateVersionMetadataV1' with the minimum fields required to make a request.
+newCreateVersionMetadataV1 ::
+  CreateVersionMetadataV1
+newCreateVersionMetadataV1 =
+  CreateVersionMetadataV1 {cloudBuildId = Core.Nothing}
+
+instance Core.FromJSON CreateVersionMetadataV1 where
+  parseJSON =
+    Core.withObject
+      "CreateVersionMetadataV1"
+      ( \o ->
+          CreateVersionMetadataV1 Core.<$> (o Core..:? "cloudBuildId")
+      )
+
+instance Core.ToJSON CreateVersionMetadataV1 where
+  toJSON CreateVersionMetadataV1 {..} =
+    Core.object
+      (Core.catMaybes [("cloudBuildId" Core..=) Core.<$> cloudBuildId])
+
+-- | Metadata for the given google.longrunning.Operation during a google.appengine.v1alpha.CreateVersionRequest.
+--
+-- /See:/ 'newCreateVersionMetadataV1Alpha' smart constructor.
+newtype CreateVersionMetadataV1Alpha = CreateVersionMetadataV1Alpha
+  { -- | The Cloud Build ID if one was created as part of the version create. \@OutputOnly
+    cloudBuildId :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CreateVersionMetadataV1Alpha' with the minimum fields required to make a request.
+newCreateVersionMetadataV1Alpha ::
+  CreateVersionMetadataV1Alpha
+newCreateVersionMetadataV1Alpha =
+  CreateVersionMetadataV1Alpha {cloudBuildId = Core.Nothing}
+
+instance Core.FromJSON CreateVersionMetadataV1Alpha where
+  parseJSON =
+    Core.withObject
+      "CreateVersionMetadataV1Alpha"
+      ( \o ->
+          CreateVersionMetadataV1Alpha Core.<$> (o Core..:? "cloudBuildId")
+      )
+
+instance Core.ToJSON CreateVersionMetadataV1Alpha where
+  toJSON CreateVersionMetadataV1Alpha {..} =
+    Core.object
+      (Core.catMaybes [("cloudBuildId" Core..=) Core.<$> cloudBuildId])
+
+-- | Metadata for the given google.longrunning.Operation during a google.appengine.v1beta.CreateVersionRequest.
+--
+-- /See:/ 'newCreateVersionMetadataV1Beta' smart constructor.
+newtype CreateVersionMetadataV1Beta = CreateVersionMetadataV1Beta
+  { -- | The Cloud Build ID if one was created as part of the version create. \@OutputOnly
+    cloudBuildId :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CreateVersionMetadataV1Beta' with the minimum fields required to make a request.
+newCreateVersionMetadataV1Beta ::
+  CreateVersionMetadataV1Beta
+newCreateVersionMetadataV1Beta =
+  CreateVersionMetadataV1Beta {cloudBuildId = Core.Nothing}
+
+instance Core.FromJSON CreateVersionMetadataV1Beta where
+  parseJSON =
+    Core.withObject
+      "CreateVersionMetadataV1Beta"
+      ( \o ->
+          CreateVersionMetadataV1Beta Core.<$> (o Core..:? "cloudBuildId")
+      )
+
+instance Core.ToJSON CreateVersionMetadataV1Beta where
+  toJSON CreateVersionMetadataV1Beta {..} =
+    Core.object
+      (Core.catMaybes [("cloudBuildId" Core..=) Core.<$> cloudBuildId])
+
+-- | Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: A full date, with non-zero year, month, and day values. A month and day, with a zero year (for example, an anniversary). A year on its own, with a zero month and a zero day. A year and month, with a zero day (for example, a credit card expiration date).Related types: google.type.TimeOfDay google.type.DateTime google.protobuf.Timestamp
+--
+-- /See:/ 'newDate' smart constructor.
+data Date = Date
+  { -- | Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn\'t significant.
+    day :: (Core.Maybe Core.Int32),
+    -- | Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+    month :: (Core.Maybe Core.Int32),
+    -- | Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+    year :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Date' with the minimum fields required to make a request.
+newDate ::
+  Date
+newDate =
+  Date
+    { day = Core.Nothing,
+      month = Core.Nothing,
+      year = Core.Nothing
+    }
+
+instance Core.FromJSON Date where
+  parseJSON =
+    Core.withObject
+      "Date"
+      ( \o ->
+          Date
+            Core.<$> (o Core..:? "day")
+            Core.<*> (o Core..:? "month")
+            Core.<*> (o Core..:? "year")
+      )
+
+instance Core.ToJSON Date where
+  toJSON Date {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("day" Core..=) Core.<$> day,
+            ("month" Core..=) Core.<$> month,
+            ("year" Core..=) Core.<$> year
+          ]
+      )
+
+-- | Request message for Instances.DebugInstance.
+--
+-- /See:/ 'newDebugInstanceRequest' smart constructor.
+newtype DebugInstanceRequest = DebugInstanceRequest
+  { -- | Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa [KEY/VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY/VALUE] google-ssh {\"userName\":\"[USERNAME]\",\"expireOn\":\"[EXPIRE_TIME]\"}For more information, see Adding and Removing SSH Keys (https:\/\/cloud.google.com\/compute\/docs\/instances\/adding-removing-ssh-keys).
+    sshKey :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'DebugInstanceRequest' with the minimum fields required to make a request.
+newDebugInstanceRequest ::
+  DebugInstanceRequest
+newDebugInstanceRequest =
+  DebugInstanceRequest {sshKey = Core.Nothing}
+
+instance Core.FromJSON DebugInstanceRequest where
+  parseJSON =
+    Core.withObject
+      "DebugInstanceRequest"
+      (\o -> DebugInstanceRequest Core.<$> (o Core..:? "sshKey"))
+
+instance Core.ToJSON DebugInstanceRequest where
+  toJSON DebugInstanceRequest {..} =
+    Core.object (Core.catMaybes [("sshKey" Core..=) Core.<$> sshKey])
+
+-- | Code and application artifacts used to deploy a version to App Engine.
+--
+-- /See:/ 'newDeployment' smart constructor.
+data Deployment = Deployment
+  { -- | Options for any Google Cloud Build builds created as a part of this deployment.These options will only be used if a new build is created, such as when deploying to the App Engine flexible environment using files or zip.
+    cloudBuildOptions :: (Core.Maybe CloudBuildOptions),
+    -- | The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment.
+    container :: (Core.Maybe ContainerInfo),
+    -- | Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.
+    files :: (Core.Maybe Deployment_Files),
+    -- | The zip file for this deployment, if this is a zip deployment.
+    zip :: (Core.Maybe ZipInfo)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Deployment' with the minimum fields required to make a request.
+newDeployment ::
+  Deployment
+newDeployment =
+  Deployment
+    { cloudBuildOptions = Core.Nothing,
+      container = Core.Nothing,
+      files = Core.Nothing,
+      zip = Core.Nothing
+    }
+
+instance Core.FromJSON Deployment where
+  parseJSON =
+    Core.withObject
+      "Deployment"
+      ( \o ->
+          Deployment
+            Core.<$> (o Core..:? "cloudBuildOptions")
+            Core.<*> (o Core..:? "container")
+            Core.<*> (o Core..:? "files")
+            Core.<*> (o Core..:? "zip")
+      )
+
+instance Core.ToJSON Deployment where
+  toJSON Deployment {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("cloudBuildOptions" Core..=) Core.<$> cloudBuildOptions,
+            ("container" Core..=) Core.<$> container,
+            ("files" Core..=) Core.<$> files,
+            ("zip" Core..=) Core.<$> zip
+          ]
+      )
+
+-- | Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.
+--
+-- /See:/ 'newDeployment_Files' smart constructor.
+newtype Deployment_Files = Deployment_Files
+  { additional :: (Core.HashMap Core.Text FileInfo)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Deployment_Files' with the minimum fields required to make a request.
+newDeployment_Files ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text FileInfo ->
+  Deployment_Files
+newDeployment_Files additional =
+  Deployment_Files {additional = additional}
+
+instance Core.FromJSON Deployment_Files where
+  parseJSON =
+    Core.withObject
+      "Deployment_Files"
+      (\o -> Deployment_Files Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Deployment_Files where
+  toJSON Deployment_Files {..} = Core.toJSON additional
+
+-- | Target scaling by disk usage. Only applicable in the App Engine flexible environment.
+--
+-- /See:/ 'newDiskUtilization' smart constructor.
+data DiskUtilization = DiskUtilization
+  { -- | Target bytes read per second.
+    targetReadBytesPerSecond :: (Core.Maybe Core.Int32),
+    -- | Target ops read per seconds.
+    targetReadOpsPerSecond :: (Core.Maybe Core.Int32),
+    -- | Target bytes written per second.
+    targetWriteBytesPerSecond :: (Core.Maybe Core.Int32),
+    -- | Target ops written per second.
+    targetWriteOpsPerSecond :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'DiskUtilization' with the minimum fields required to make a request.
+newDiskUtilization ::
+  DiskUtilization
+newDiskUtilization =
+  DiskUtilization
+    { targetReadBytesPerSecond = Core.Nothing,
+      targetReadOpsPerSecond = Core.Nothing,
+      targetWriteBytesPerSecond = Core.Nothing,
+      targetWriteOpsPerSecond = Core.Nothing
+    }
+
+instance Core.FromJSON DiskUtilization where
+  parseJSON =
+    Core.withObject
+      "DiskUtilization"
+      ( \o ->
+          DiskUtilization
+            Core.<$> (o Core..:? "targetReadBytesPerSecond")
+            Core.<*> (o Core..:? "targetReadOpsPerSecond")
+            Core.<*> (o Core..:? "targetWriteBytesPerSecond")
+            Core.<*> (o Core..:? "targetWriteOpsPerSecond")
+      )
+
+instance Core.ToJSON DiskUtilization where
+  toJSON DiskUtilization {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("targetReadBytesPerSecond" Core..=)
+              Core.<$> targetReadBytesPerSecond,
+            ("targetReadOpsPerSecond" Core..=) Core.<$> targetReadOpsPerSecond,
+            ("targetWriteBytesPerSecond" Core..=)
+              Core.<$> targetWriteBytesPerSecond,
+            ("targetWriteOpsPerSecond" Core..=)
+              Core.<$> targetWriteOpsPerSecond
+          ]
+      )
+
+-- | A domain serving an App Engine application.
+--
+-- /See:/ 'newDomainMapping' smart constructor.
+data DomainMapping = DomainMapping
+  { -- | Relative name of the domain serving the application. Example: example.com.
+    id :: (Core.Maybe Core.Text),
+    -- | Full path to the DomainMapping resource in the API. Example: apps\/myapp\/domainMapping\/example.com.\@OutputOnly
+    name :: (Core.Maybe Core.Text),
+    -- | The resource records required to configure this domain mapping. These records must be added to the domain\'s DNS configuration in order to serve the application via this domain mapping.\@OutputOnly
+    resourceRecords :: (Core.Maybe [ResourceRecord]),
+    -- | SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.
+    sslSettings :: (Core.Maybe SslSettings)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'DomainMapping' with the minimum fields required to make a request.
+newDomainMapping ::
+  DomainMapping
+newDomainMapping =
+  DomainMapping
+    { id = Core.Nothing,
+      name = Core.Nothing,
+      resourceRecords = Core.Nothing,
+      sslSettings = Core.Nothing
+    }
+
+instance Core.FromJSON DomainMapping where
+  parseJSON =
+    Core.withObject
+      "DomainMapping"
+      ( \o ->
+          DomainMapping
+            Core.<$> (o Core..:? "id")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "resourceRecords")
+            Core.<*> (o Core..:? "sslSettings")
+      )
+
+instance Core.ToJSON DomainMapping where
+  toJSON DomainMapping {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("id" Core..=) Core.<$> id,
+            ("name" Core..=) Core.<$> name,
+            ("resourceRecords" Core..=) Core.<$> resourceRecords,
+            ("sslSettings" Core..=) Core.<$> sslSettings
+          ]
+      )
+
+-- | A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+--
+-- /See:/ 'newEmpty' smart constructor.
+data Empty = Empty
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Empty' with the minimum fields required to make a request.
+newEmpty ::
+  Empty
+newEmpty = Empty
+
+instance Core.FromJSON Empty where
+  parseJSON = Core.withObject "Empty" (\o -> Core.pure Empty)
+
+instance Core.ToJSON Empty where
+  toJSON = Core.const Core.emptyObject
+
+-- | Google Cloud Endpoints (https:\/\/cloud.google.com\/endpoints) configuration. The Endpoints API Service provides tooling for serving Open API and gRPC endpoints via an NGINX proxy. Only valid for App Engine Flexible environment deployments.The fields here refer to the name and configuration ID of a \"service\" resource in the Service Management API (https:\/\/cloud.google.com\/service-management\/overview).
+--
+-- /See:/ 'newEndpointsApiService' smart constructor.
+data EndpointsApiService = EndpointsApiService
+  { -- | Endpoints service configuration ID as specified by the Service Management API. For example \"2016-09-19r1\".By default, the rollout strategy for Endpoints is RolloutStrategy.FIXED. This means that Endpoints starts up with a particular configuration ID. When a new configuration is rolled out, Endpoints must be given the new configuration ID. The config/id field is used to give the configuration ID and is required in this case.Endpoints also has a rollout strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches the latest configuration and does not need the configuration ID. In this case, config/id must be omitted.
+    configId :: (Core.Maybe Core.Text),
+    -- | Enable or disable trace sampling. By default, this is set to false for enabled.
+    disableTraceSampling :: (Core.Maybe Core.Bool),
+    -- | Endpoints service name which is the name of the \"service\" resource in the Service Management API. For example \"myapi.endpoints.myproject.cloud.goog\"
+    name :: (Core.Maybe Core.Text),
+    -- | Endpoints rollout strategy. If FIXED, config/id must be specified. If MANAGED, config/id must be omitted.
+    rolloutStrategy :: (Core.Maybe EndpointsApiService_RolloutStrategy)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'EndpointsApiService' with the minimum fields required to make a request.
+newEndpointsApiService ::
+  EndpointsApiService
+newEndpointsApiService =
+  EndpointsApiService
+    { configId = Core.Nothing,
+      disableTraceSampling = Core.Nothing,
+      name = Core.Nothing,
+      rolloutStrategy = Core.Nothing
+    }
+
+instance Core.FromJSON EndpointsApiService where
+  parseJSON =
+    Core.withObject
+      "EndpointsApiService"
+      ( \o ->
+          EndpointsApiService
+            Core.<$> (o Core..:? "configId")
+            Core.<*> (o Core..:? "disableTraceSampling")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "rolloutStrategy")
+      )
+
+instance Core.ToJSON EndpointsApiService where
+  toJSON EndpointsApiService {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("configId" Core..=) Core.<$> configId,
+            ("disableTraceSampling" Core..=) Core.<$> disableTraceSampling,
+            ("name" Core..=) Core.<$> name,
+            ("rolloutStrategy" Core..=) Core.<$> rolloutStrategy
+          ]
+      )
+
+-- | The entrypoint for the application.
+--
+-- /See:/ 'newEntrypoint' smart constructor.
+newtype Entrypoint = Entrypoint
+  { -- | The format should be a shell command that can be fed to bash -c.
+    shell :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Entrypoint' with the minimum fields required to make a request.
+newEntrypoint ::
+  Entrypoint
+newEntrypoint = Entrypoint {shell = Core.Nothing}
+
+instance Core.FromJSON Entrypoint where
+  parseJSON =
+    Core.withObject
+      "Entrypoint"
+      (\o -> Entrypoint Core.<$> (o Core..:? "shell"))
+
+instance Core.ToJSON Entrypoint where
+  toJSON Entrypoint {..} =
+    Core.object (Core.catMaybes [("shell" Core..=) Core.<$> shell])
+
+-- | Custom static error page to be served when an error occurs.
+--
+-- /See:/ 'newErrorHandler' smart constructor.
+data ErrorHandler = ErrorHandler
+  { -- | Error condition this handler applies to.
+    errorCode :: (Core.Maybe ErrorHandler_ErrorCode),
+    -- | MIME type of file. Defaults to text\/html.
+    mimeType :: (Core.Maybe Core.Text),
+    -- | Static file content to be served for this error.
+    staticFile :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ErrorHandler' with the minimum fields required to make a request.
+newErrorHandler ::
+  ErrorHandler
+newErrorHandler =
+  ErrorHandler
+    { errorCode = Core.Nothing,
+      mimeType = Core.Nothing,
+      staticFile = Core.Nothing
+    }
+
+instance Core.FromJSON ErrorHandler where
+  parseJSON =
+    Core.withObject
+      "ErrorHandler"
+      ( \o ->
+          ErrorHandler
+            Core.<$> (o Core..:? "errorCode")
+            Core.<*> (o Core..:? "mimeType")
+            Core.<*> (o Core..:? "staticFile")
+      )
+
+instance Core.ToJSON ErrorHandler where
+  toJSON ErrorHandler {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("errorCode" Core..=) Core.<$> errorCode,
+            ("mimeType" Core..=) Core.<$> mimeType,
+            ("staticFile" Core..=) Core.<$> staticFile
+          ]
+      )
+
+-- | The feature specific settings to be used in the application. These define behaviors that are user configurable.
+--
+-- /See:/ 'newFeatureSettings' smart constructor.
+data FeatureSettings = FeatureSettings
+  { -- | Boolean value indicating if split health checks should be used instead of the legacy health checks. At an app.yaml level, this means defaulting to \'readiness/check\' and \'liveness/check\' values instead of \'health/check\' ones. Once the legacy \'health/check\' behavior is deprecated, and this value is always true, this setting can be removed.
+    splitHealthChecks :: (Core.Maybe Core.Bool),
+    -- | If true, use Container-Optimized OS (https:\/\/cloud.google.com\/container-optimized-os\/) base image for VMs, rather than a base Debian image.
+    useContainerOptimizedOs :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FeatureSettings' with the minimum fields required to make a request.
+newFeatureSettings ::
+  FeatureSettings
+newFeatureSettings =
+  FeatureSettings
+    { splitHealthChecks = Core.Nothing,
+      useContainerOptimizedOs = Core.Nothing
+    }
+
+instance Core.FromJSON FeatureSettings where
+  parseJSON =
+    Core.withObject
+      "FeatureSettings"
+      ( \o ->
+          FeatureSettings
+            Core.<$> (o Core..:? "splitHealthChecks")
+            Core.<*> (o Core..:? "useContainerOptimizedOs")
+      )
+
+instance Core.ToJSON FeatureSettings where
+  toJSON FeatureSettings {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("splitHealthChecks" Core..=) Core.<$> splitHealthChecks,
+            ("useContainerOptimizedOs" Core..=)
+              Core.<$> useContainerOptimizedOs
+          ]
+      )
+
+-- | Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.
+--
+-- /See:/ 'newFileInfo' smart constructor.
+data FileInfo = FileInfo
+  { -- | The MIME type of the file.Defaults to the value from Google Cloud Storage.
+    mimeType :: (Core.Maybe Core.Text),
+    -- | The SHA1 hash of the file, in hex.
+    sha1Sum :: (Core.Maybe Core.Text),
+    -- | URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form \'http(s):\/\/storage.googleapis.com\/\/\'.
+    sourceUrl :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FileInfo' with the minimum fields required to make a request.
+newFileInfo ::
+  FileInfo
+newFileInfo =
+  FileInfo
+    { mimeType = Core.Nothing,
+      sha1Sum = Core.Nothing,
+      sourceUrl = Core.Nothing
+    }
+
+instance Core.FromJSON FileInfo where
+  parseJSON =
+    Core.withObject
+      "FileInfo"
+      ( \o ->
+          FileInfo
+            Core.<$> (o Core..:? "mimeType")
+            Core.<*> (o Core..:? "sha1Sum")
+            Core.<*> (o Core..:? "sourceUrl")
+      )
+
+instance Core.ToJSON FileInfo where
+  toJSON FileInfo {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("mimeType" Core..=) Core.<$> mimeType,
+            ("sha1Sum" Core..=) Core.<$> sha1Sum,
+            ("sourceUrl" Core..=) Core.<$> sourceUrl
+          ]
+      )
+
+-- | A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
+--
+-- /See:/ 'newFirewallRule' smart constructor.
+data FirewallRule = FirewallRule
+  { -- | The action to take on matched requests.
+    action :: (Core.Maybe FirewallRule_Action),
+    -- | An optional string description of this rule. This field has a maximum length of 400 characters.
+    description :: (Core.Maybe Core.Text),
+    -- | A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
+    priority :: (Core.Maybe Core.Int32),
+    -- | IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character \"*\" to match all IPs equivalent to \"0\/0\" and \"::\/0\" together. Examples: 192.168.1.1 or 192.168.0.0\/16 or 2001:db8::\/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4\/24 is accepted as the same address as 1.2.3.0\/24. Similarly, for IPv6, 2001:db8::1\/32 is accepted as the same address as 2001:db8::\/32.
+    sourceRange :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FirewallRule' with the minimum fields required to make a request.
+newFirewallRule ::
+  FirewallRule
+newFirewallRule =
+  FirewallRule
+    { action = Core.Nothing,
+      description = Core.Nothing,
+      priority = Core.Nothing,
+      sourceRange = Core.Nothing
+    }
+
+instance Core.FromJSON FirewallRule where
+  parseJSON =
+    Core.withObject
+      "FirewallRule"
+      ( \o ->
+          FirewallRule
+            Core.<$> (o Core..:? "action")
+            Core.<*> (o Core..:? "description")
+            Core.<*> (o Core..:? "priority")
+            Core.<*> (o Core..:? "sourceRange")
+      )
+
+instance Core.ToJSON FirewallRule where
+  toJSON FirewallRule {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("action" Core..=) Core.<$> action,
+            ("description" Core..=) Core.<$> description,
+            ("priority" Core..=) Core.<$> priority,
+            ("sourceRange" Core..=) Core.<$> sourceRange
+          ]
+      )
+
+-- | Runtime settings for the App Engine flexible environment.
+--
+-- /See:/ 'newFlexibleRuntimeSettings' smart constructor.
+data FlexibleRuntimeSettings = FlexibleRuntimeSettings
+  { -- | The operating system of the application runtime.
+    operatingSystem :: (Core.Maybe Core.Text),
+    -- | The runtime version of an App Engine flexible application.
+    runtimeVersion :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'FlexibleRuntimeSettings' with the minimum fields required to make a request.
+newFlexibleRuntimeSettings ::
+  FlexibleRuntimeSettings
+newFlexibleRuntimeSettings =
+  FlexibleRuntimeSettings
+    { operatingSystem = Core.Nothing,
+      runtimeVersion = Core.Nothing
+    }
+
+instance Core.FromJSON FlexibleRuntimeSettings where
+  parseJSON =
+    Core.withObject
+      "FlexibleRuntimeSettings"
+      ( \o ->
+          FlexibleRuntimeSettings
+            Core.<$> (o Core..:? "operatingSystem")
+            Core.<*> (o Core..:? "runtimeVersion")
+      )
+
+instance Core.ToJSON FlexibleRuntimeSettings where
+  toJSON FlexibleRuntimeSettings {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("operatingSystem" Core..=) Core.<$> operatingSystem,
+            ("runtimeVersion" Core..=) Core.<$> runtimeVersion
+          ]
+      )
+
+-- | For use only by GCE. GceTag is a wrapper around the GCE administrative tag with parent info.
+--
+-- /See:/ 'newGceTag' smart constructor.
+data GceTag = GceTag
+  { -- | The parents(s) of the tag. Eg. projects\/123, folders\/456 It usually contains only one parent. But, in some corner cases, it can contain multiple parents. Currently, organizations are not supported.
+    parent :: (Core.Maybe [Core.Text]),
+    -- | The administrative_tag name.
+    tag :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GceTag' with the minimum fields required to make a request.
+newGceTag ::
+  GceTag
+newGceTag = GceTag {parent = Core.Nothing, tag = Core.Nothing}
+
+instance Core.FromJSON GceTag where
+  parseJSON =
+    Core.withObject
+      "GceTag"
+      ( \o ->
+          GceTag Core.<$> (o Core..:? "parent") Core.<*> (o Core..:? "tag")
+      )
+
+instance Core.ToJSON GceTag where
+  toJSON GceTag {..} =
+    Core.object
+      ( Core.catMaybes
+          [("parent" Core..=) Core.<$> parent, ("tag" Core..=) Core.<$> tag]
+      )
+
+-- | Metadata for the given google.cloud.location.Location.
+--
+-- /See:/ 'newGoogleAppengineV1betaLocationMetadata' smart constructor.
+data GoogleAppengineV1betaLocationMetadata = GoogleAppengineV1betaLocationMetadata
+  { -- | App Engine flexible environment is available in the given location.\@OutputOnly
+    flexibleEnvironmentAvailable :: (Core.Maybe Core.Bool),
+    -- | Output only. Search API (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/search) is available in the given location.
+    searchApiAvailable :: (Core.Maybe Core.Bool),
+    -- | App Engine standard environment is available in the given location.\@OutputOnly
+    standardEnvironmentAvailable :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'GoogleAppengineV1betaLocationMetadata' with the minimum fields required to make a request.
+newGoogleAppengineV1betaLocationMetadata ::
+  GoogleAppengineV1betaLocationMetadata
+newGoogleAppengineV1betaLocationMetadata =
+  GoogleAppengineV1betaLocationMetadata
+    { flexibleEnvironmentAvailable =
+        Core.Nothing,
+      searchApiAvailable = Core.Nothing,
+      standardEnvironmentAvailable = Core.Nothing
+    }
+
+instance Core.FromJSON GoogleAppengineV1betaLocationMetadata where
+  parseJSON =
+    Core.withObject
+      "GoogleAppengineV1betaLocationMetadata"
+      ( \o ->
+          GoogleAppengineV1betaLocationMetadata
+            Core.<$> (o Core..:? "flexibleEnvironmentAvailable")
+            Core.<*> (o Core..:? "searchApiAvailable")
+            Core.<*> (o Core..:? "standardEnvironmentAvailable")
+      )
+
+instance Core.ToJSON GoogleAppengineV1betaLocationMetadata where
+  toJSON GoogleAppengineV1betaLocationMetadata {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("flexibleEnvironmentAvailable" Core..=)
+              Core.<$> flexibleEnvironmentAvailable,
+            ("searchApiAvailable" Core..=) Core.<$> searchApiAvailable,
+            ("standardEnvironmentAvailable" Core..=)
+              Core.<$> standardEnvironmentAvailable
+          ]
+      )
+
+-- | Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.
+--
+-- /See:/ 'newHealthCheck' smart constructor.
+data HealthCheck = HealthCheck
+  { -- | Interval between health checks.
+    checkInterval :: (Core.Maybe Core.Duration),
+    -- | Whether to explicitly disable health checks for this instance.
+    disableHealthCheck :: (Core.Maybe Core.Bool),
+    -- | Number of consecutive successful health checks required before receiving traffic.
+    healthyThreshold :: (Core.Maybe Core.Word32),
+    -- | Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\"
+    host :: (Core.Maybe Core.Text),
+    -- | Number of consecutive failed health checks required before an instance is restarted.
+    restartThreshold :: (Core.Maybe Core.Word32),
+    -- | Time before the health check is considered failed.
+    timeout :: (Core.Maybe Core.Duration),
+    -- | Number of consecutive failed health checks required before removing traffic.
+    unhealthyThreshold :: (Core.Maybe Core.Word32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'HealthCheck' with the minimum fields required to make a request.
+newHealthCheck ::
+  HealthCheck
+newHealthCheck =
+  HealthCheck
+    { checkInterval = Core.Nothing,
+      disableHealthCheck = Core.Nothing,
+      healthyThreshold = Core.Nothing,
+      host = Core.Nothing,
+      restartThreshold = Core.Nothing,
+      timeout = Core.Nothing,
+      unhealthyThreshold = Core.Nothing
+    }
+
+instance Core.FromJSON HealthCheck where
+  parseJSON =
+    Core.withObject
+      "HealthCheck"
+      ( \o ->
+          HealthCheck
+            Core.<$> (o Core..:? "checkInterval")
+            Core.<*> (o Core..:? "disableHealthCheck")
+            Core.<*> (o Core..:? "healthyThreshold")
+            Core.<*> (o Core..:? "host")
+            Core.<*> (o Core..:? "restartThreshold")
+            Core.<*> (o Core..:? "timeout")
+            Core.<*> (o Core..:? "unhealthyThreshold")
+      )
+
+instance Core.ToJSON HealthCheck where
+  toJSON HealthCheck {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("checkInterval" Core..=) Core.<$> checkInterval,
+            ("disableHealthCheck" Core..=) Core.<$> disableHealthCheck,
+            ("healthyThreshold" Core..=) Core.<$> healthyThreshold,
+            ("host" Core..=) Core.<$> host,
+            ("restartThreshold" Core..=) Core.<$> restartThreshold,
+            ("timeout" Core..=) Core.<$> timeout,
+            ("unhealthyThreshold" Core..=) Core.<$> unhealthyThreshold
+          ]
+      )
+
+-- | Identity-Aware Proxy
+--
+-- /See:/ 'newIdentityAwareProxy' smart constructor.
+data IdentityAwareProxy = IdentityAwareProxy
+  { -- | Whether the serving infrastructure will authenticate and authorize all incoming requests.If true, the oauth2/client/id and oauth2/client/secret fields must be non-empty.
+    enabled :: (Core.Maybe Core.Bool),
+    -- | OAuth2 client ID to use for the authentication flow.
+    oauth2ClientId :: (Core.Maybe Core.Text),
+    -- | OAuth2 client secret to use for the authentication flow.For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2/client/secret_sha256 field.\@InputOnly
+    oauth2ClientSecret :: (Core.Maybe Core.Text),
+    -- | Output only. Hex-encoded SHA-256 hash of the client secret.\@OutputOnly
+    oauth2ClientSecretSha256 :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'IdentityAwareProxy' with the minimum fields required to make a request.
+newIdentityAwareProxy ::
+  IdentityAwareProxy
+newIdentityAwareProxy =
+  IdentityAwareProxy
+    { enabled = Core.Nothing,
+      oauth2ClientId = Core.Nothing,
+      oauth2ClientSecret = Core.Nothing,
+      oauth2ClientSecretSha256 = Core.Nothing
+    }
+
+instance Core.FromJSON IdentityAwareProxy where
+  parseJSON =
+    Core.withObject
+      "IdentityAwareProxy"
+      ( \o ->
+          IdentityAwareProxy
+            Core.<$> (o Core..:? "enabled")
+            Core.<*> (o Core..:? "oauth2ClientId")
+            Core.<*> (o Core..:? "oauth2ClientSecret")
+            Core.<*> (o Core..:? "oauth2ClientSecretSha256")
+      )
+
+instance Core.ToJSON IdentityAwareProxy where
+  toJSON IdentityAwareProxy {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("enabled" Core..=) Core.<$> enabled,
+            ("oauth2ClientId" Core..=) Core.<$> oauth2ClientId,
+            ("oauth2ClientSecret" Core..=) Core.<$> oauth2ClientSecret,
+            ("oauth2ClientSecretSha256" Core..=)
+              Core.<$> oauth2ClientSecretSha256
+          ]
+      )
+
+-- | An Instance resource is the computing unit that App Engine uses to automatically scale an application.
+--
+-- /See:/ 'newInstance' smart constructor.
+data Instance = Instance
+  { -- | Output only. App Engine release this instance is running on.
+    appEngineRelease :: (Core.Maybe Core.Text),
+    -- | Output only. Availability of the instance.
+    availability :: (Core.Maybe Instance_Availability),
+    -- | Output only. Average latency (ms) over the last minute.
+    averageLatency :: (Core.Maybe Core.Int32),
+    -- | Output only. Number of errors since this instance was started.
+    errors :: (Core.Maybe Core.Int32),
+    -- | Output only. Relative name of the instance within the version. Example: instance-1.
+    id :: (Core.Maybe Core.Text),
+    -- | Output only. Total memory in use (bytes).
+    memoryUsage :: (Core.Maybe Core.Int64),
+    -- | Output only. Full path to the Instance resource in the API. Example: apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
+    name :: (Core.Maybe Core.Text),
+    -- | Output only. Average queries per second (QPS) over the last minute.
+    qps :: (Core.Maybe Core.Double),
+    -- | Output only. Number of requests since this instance was started.
+    requests :: (Core.Maybe Core.Int32),
+    -- | Output only. Time that this instance was started.\@OutputOnly
+    startTime :: (Core.Maybe Core.DateTime),
+    -- | Output only. Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment.
+    vmDebugEnabled :: (Core.Maybe Core.Bool),
+    -- | Output only. Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment.
+    vmId :: (Core.Maybe Core.Text),
+    -- | Output only. The IP address of this instance. Only applicable for instances in App Engine flexible environment.
+    vmIp :: (Core.Maybe Core.Text),
+    -- | Output only. The liveness health check of this instance. Only applicable for instances in App Engine flexible environment.
+    vmLiveness :: (Core.Maybe Instance_VmLiveness),
+    -- | Output only. Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.
+    vmName :: (Core.Maybe Core.Text),
+    -- | Output only. Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment.
+    vmStatus :: (Core.Maybe Core.Text),
+    -- | Output only. Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment.
+    vmZoneName :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Instance' with the minimum fields required to make a request.
+newInstance ::
+  Instance
+newInstance =
+  Instance
+    { appEngineRelease = Core.Nothing,
+      availability = Core.Nothing,
+      averageLatency = Core.Nothing,
+      errors = Core.Nothing,
+      id = Core.Nothing,
+      memoryUsage = Core.Nothing,
+      name = Core.Nothing,
+      qps = Core.Nothing,
+      requests = Core.Nothing,
+      startTime = Core.Nothing,
+      vmDebugEnabled = Core.Nothing,
+      vmId = Core.Nothing,
+      vmIp = Core.Nothing,
+      vmLiveness = Core.Nothing,
+      vmName = Core.Nothing,
+      vmStatus = Core.Nothing,
+      vmZoneName = Core.Nothing
+    }
+
+instance Core.FromJSON Instance where
+  parseJSON =
+    Core.withObject
+      "Instance"
+      ( \o ->
+          Instance
+            Core.<$> (o Core..:? "appEngineRelease")
+            Core.<*> (o Core..:? "availability")
+            Core.<*> (o Core..:? "averageLatency")
+            Core.<*> (o Core..:? "errors")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "memoryUsage" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "qps")
+            Core.<*> (o Core..:? "requests")
+            Core.<*> (o Core..:? "startTime")
+            Core.<*> (o Core..:? "vmDebugEnabled")
+            Core.<*> (o Core..:? "vmId")
+            Core.<*> (o Core..:? "vmIp")
+            Core.<*> (o Core..:? "vmLiveness")
+            Core.<*> (o Core..:? "vmName")
+            Core.<*> (o Core..:? "vmStatus")
+            Core.<*> (o Core..:? "vmZoneName")
+      )
+
+instance Core.ToJSON Instance where
+  toJSON Instance {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("appEngineRelease" Core..=) Core.<$> appEngineRelease,
+            ("availability" Core..=) Core.<$> availability,
+            ("averageLatency" Core..=) Core.<$> averageLatency,
+            ("errors" Core..=) Core.<$> errors,
+            ("id" Core..=) Core.<$> id,
+            ("memoryUsage" Core..=) Core.. Core.AsText Core.<$> memoryUsage,
+            ("name" Core..=) Core.<$> name,
+            ("qps" Core..=) Core.<$> qps,
+            ("requests" Core..=) Core.<$> requests,
+            ("startTime" Core..=) Core.<$> startTime,
+            ("vmDebugEnabled" Core..=) Core.<$> vmDebugEnabled,
+            ("vmId" Core..=) Core.<$> vmId,
+            ("vmIp" Core..=) Core.<$> vmIp,
+            ("vmLiveness" Core..=) Core.<$> vmLiveness,
+            ("vmName" Core..=) Core.<$> vmName,
+            ("vmStatus" Core..=) Core.<$> vmStatus,
+            ("vmZoneName" Core..=) Core.<$> vmZoneName
+          ]
+      )
+
+-- | Third-party Python runtime library that is required by the application.
+--
+-- /See:/ 'newLibrary' smart constructor.
+data Library = Library
+  { -- | Name of the library. Example: \"django\".
+    name :: (Core.Maybe Core.Text),
+    -- | Version of the library to select, or \"latest\".
+    version :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Library' with the minimum fields required to make a request.
+newLibrary ::
+  Library
+newLibrary = Library {name = Core.Nothing, version = Core.Nothing}
+
+instance Core.FromJSON Library where
+  parseJSON =
+    Core.withObject
+      "Library"
+      ( \o ->
+          Library
+            Core.<$> (o Core..:? "name")
+            Core.<*> (o Core..:? "version")
+      )
+
+instance Core.ToJSON Library where
+  toJSON Library {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("name" Core..=) Core.<$> name,
+            ("version" Core..=) Core.<$> version
+          ]
+      )
+
+-- | Response message for AuthorizedCertificates.ListAuthorizedCertificates.
+--
+-- /See:/ 'newListAuthorizedCertificatesResponse' smart constructor.
+data ListAuthorizedCertificatesResponse = ListAuthorizedCertificatesResponse
+  { -- | The SSL certificates the user is authorized to administer.
+    certificates :: (Core.Maybe [AuthorizedCertificate]),
+    -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListAuthorizedCertificatesResponse' with the minimum fields required to make a request.
+newListAuthorizedCertificatesResponse ::
+  ListAuthorizedCertificatesResponse
+newListAuthorizedCertificatesResponse =
+  ListAuthorizedCertificatesResponse
+    { certificates = Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON ListAuthorizedCertificatesResponse where
+  parseJSON =
+    Core.withObject
+      "ListAuthorizedCertificatesResponse"
+      ( \o ->
+          ListAuthorizedCertificatesResponse
+            Core.<$> (o Core..:? "certificates")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON ListAuthorizedCertificatesResponse where
+  toJSON ListAuthorizedCertificatesResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("certificates" Core..=) Core.<$> certificates,
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | Response message for AuthorizedDomains.ListAuthorizedDomains.
+--
+-- /See:/ 'newListAuthorizedDomainsResponse' smart constructor.
+data ListAuthorizedDomainsResponse = ListAuthorizedDomainsResponse
+  { -- | The authorized domains belonging to the user.
+    domains :: (Core.Maybe [AuthorizedDomain]),
+    -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListAuthorizedDomainsResponse' with the minimum fields required to make a request.
+newListAuthorizedDomainsResponse ::
+  ListAuthorizedDomainsResponse
+newListAuthorizedDomainsResponse =
+  ListAuthorizedDomainsResponse
+    { domains = Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON ListAuthorizedDomainsResponse where
+  parseJSON =
+    Core.withObject
+      "ListAuthorizedDomainsResponse"
+      ( \o ->
+          ListAuthorizedDomainsResponse
+            Core.<$> (o Core..:? "domains")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON ListAuthorizedDomainsResponse where
+  toJSON ListAuthorizedDomainsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("domains" Core..=) Core.<$> domains,
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | Response message for DomainMappings.ListDomainMappings.
+--
+-- /See:/ 'newListDomainMappingsResponse' smart constructor.
+data ListDomainMappingsResponse = ListDomainMappingsResponse
+  { -- | The domain mappings for the application.
+    domainMappings :: (Core.Maybe [DomainMapping]),
+    -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListDomainMappingsResponse' with the minimum fields required to make a request.
+newListDomainMappingsResponse ::
+  ListDomainMappingsResponse
+newListDomainMappingsResponse =
+  ListDomainMappingsResponse
+    { domainMappings = Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON ListDomainMappingsResponse where
+  parseJSON =
+    Core.withObject
+      "ListDomainMappingsResponse"
+      ( \o ->
+          ListDomainMappingsResponse
+            Core.<$> (o Core..:? "domainMappings")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON ListDomainMappingsResponse where
+  toJSON ListDomainMappingsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("domainMappings" Core..=) Core.<$> domainMappings,
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | Response message for Firewall.ListIngressRules.
+--
+-- /See:/ 'newListIngressRulesResponse' smart constructor.
+data ListIngressRulesResponse = ListIngressRulesResponse
+  { -- | The ingress FirewallRules for this application.
+    ingressRules :: (Core.Maybe [FirewallRule]),
+    -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListIngressRulesResponse' with the minimum fields required to make a request.
+newListIngressRulesResponse ::
+  ListIngressRulesResponse
+newListIngressRulesResponse =
+  ListIngressRulesResponse
+    { ingressRules = Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON ListIngressRulesResponse where
+  parseJSON =
+    Core.withObject
+      "ListIngressRulesResponse"
+      ( \o ->
+          ListIngressRulesResponse
+            Core.<$> (o Core..:? "ingressRules")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON ListIngressRulesResponse where
+  toJSON ListIngressRulesResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("ingressRules" Core..=) Core.<$> ingressRules,
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | Response message for Instances.ListInstances.
+--
+-- /See:/ 'newListInstancesResponse' smart constructor.
+data ListInstancesResponse = ListInstancesResponse
+  { -- | The instances belonging to the requested version.
+    instances :: (Core.Maybe [Instance]),
+    -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListInstancesResponse' with the minimum fields required to make a request.
+newListInstancesResponse ::
+  ListInstancesResponse
+newListInstancesResponse =
+  ListInstancesResponse
+    { instances = Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON ListInstancesResponse where
+  parseJSON =
+    Core.withObject
+      "ListInstancesResponse"
+      ( \o ->
+          ListInstancesResponse
+            Core.<$> (o Core..:? "instances")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON ListInstancesResponse where
+  toJSON ListInstancesResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("instances" Core..=) Core.<$> instances,
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | The response message for Locations.ListLocations.
+--
+-- /See:/ 'newListLocationsResponse' smart constructor.
+data ListLocationsResponse = ListLocationsResponse
+  { -- | A list of locations that matches the specified filter in the request.
+    locations :: (Core.Maybe [Location]),
+    -- | The standard List next-page token.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListLocationsResponse' with the minimum fields required to make a request.
+newListLocationsResponse ::
+  ListLocationsResponse
+newListLocationsResponse =
+  ListLocationsResponse
+    { locations = Core.Nothing,
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON ListLocationsResponse where
+  parseJSON =
+    Core.withObject
+      "ListLocationsResponse"
+      ( \o ->
+          ListLocationsResponse
+            Core.<$> (o Core..:? "locations")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON ListLocationsResponse where
+  toJSON ListLocationsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("locations" Core..=) Core.<$> locations,
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+-- | The response message for Operations.ListOperations.
+--
+-- /See:/ 'newListOperationsResponse' smart constructor.
+data ListOperationsResponse = ListOperationsResponse
+  { -- | The standard List next-page token.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | A list of operations that matches the specified filter in the request.
+    operations :: (Core.Maybe [Operation])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
+newListOperationsResponse ::
+  ListOperationsResponse
+newListOperationsResponse =
+  ListOperationsResponse
+    { nextPageToken = Core.Nothing,
+      operations = Core.Nothing
+    }
+
+instance Core.FromJSON ListOperationsResponse where
+  parseJSON =
+    Core.withObject
+      "ListOperationsResponse"
+      ( \o ->
+          ListOperationsResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "operations")
+      )
+
+instance Core.ToJSON ListOperationsResponse where
+  toJSON ListOperationsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("operations" Core..=) Core.<$> operations
+          ]
+      )
+
+-- | Response message for Applications.ListRuntimes.
+--
+-- /See:/ 'newListRuntimesResponse' smart constructor.
+data ListRuntimesResponse = ListRuntimesResponse
+  { -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | The runtimes available to the requested application.
+    runtimes :: (Core.Maybe [Runtime])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListRuntimesResponse' with the minimum fields required to make a request.
+newListRuntimesResponse ::
+  ListRuntimesResponse
+newListRuntimesResponse =
+  ListRuntimesResponse
+    { nextPageToken = Core.Nothing,
+      runtimes = Core.Nothing
+    }
+
+instance Core.FromJSON ListRuntimesResponse where
+  parseJSON =
+    Core.withObject
+      "ListRuntimesResponse"
+      ( \o ->
+          ListRuntimesResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "runtimes")
+      )
+
+instance Core.ToJSON ListRuntimesResponse where
+  toJSON ListRuntimesResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("runtimes" Core..=) Core.<$> runtimes
+          ]
+      )
+
+-- | Response message for Services.ListServices.
+--
+-- /See:/ 'newListServicesResponse' smart constructor.
+data ListServicesResponse = ListServicesResponse
+  { -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | The services belonging to the requested application.
+    services :: (Core.Maybe [Service])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListServicesResponse' with the minimum fields required to make a request.
+newListServicesResponse ::
+  ListServicesResponse
+newListServicesResponse =
+  ListServicesResponse
+    { nextPageToken = Core.Nothing,
+      services = Core.Nothing
+    }
+
+instance Core.FromJSON ListServicesResponse where
+  parseJSON =
+    Core.withObject
+      "ListServicesResponse"
+      ( \o ->
+          ListServicesResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "services")
+      )
+
+instance Core.ToJSON ListServicesResponse where
+  toJSON ListServicesResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("services" Core..=) Core.<$> services
+          ]
+      )
+
+-- | Response message for Versions.ListVersions.
+--
+-- /See:/ 'newListVersionsResponse' smart constructor.
+data ListVersionsResponse = ListVersionsResponse
+  { -- | Continuation token for fetching the next page of results.
+    nextPageToken :: (Core.Maybe Core.Text),
+    -- | The versions belonging to the requested service.
+    versions :: (Core.Maybe [Version])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ListVersionsResponse' with the minimum fields required to make a request.
+newListVersionsResponse ::
+  ListVersionsResponse
+newListVersionsResponse =
+  ListVersionsResponse
+    { nextPageToken = Core.Nothing,
+      versions = Core.Nothing
+    }
+
+instance Core.FromJSON ListVersionsResponse where
+  parseJSON =
+    Core.withObject
+      "ListVersionsResponse"
+      ( \o ->
+          ListVersionsResponse
+            Core.<$> (o Core..:? "nextPageToken")
+            Core.<*> (o Core..:? "versions")
+      )
+
+instance Core.ToJSON ListVersionsResponse where
+  toJSON ListVersionsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,
+            ("versions" Core..=) Core.<$> versions
+          ]
+      )
+
+-- | Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.
+--
+-- /See:/ 'newLivenessCheck' smart constructor.
+data LivenessCheck = LivenessCheck
+  { -- | Interval between health checks.
+    checkInterval :: (Core.Maybe Core.Duration),
+    -- | Number of consecutive failed checks required before considering the VM unhealthy.
+    failureThreshold :: (Core.Maybe Core.Word32),
+    -- | Host header to send when performing a HTTP Liveness check. Example: \"myapp.appspot.com\"
+    host :: (Core.Maybe Core.Text),
+    -- | The initial delay before starting to execute the checks.
+    initialDelay :: (Core.Maybe Core.Duration),
+    -- | The request path.
+    path :: (Core.Maybe Core.Text),
+    -- | Number of consecutive successful checks required before considering the VM healthy.
+    successThreshold :: (Core.Maybe Core.Word32),
+    -- | Time before the check is considered failed.
+    timeout :: (Core.Maybe Core.Duration)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LivenessCheck' with the minimum fields required to make a request.
+newLivenessCheck ::
+  LivenessCheck
+newLivenessCheck =
+  LivenessCheck
+    { checkInterval = Core.Nothing,
+      failureThreshold = Core.Nothing,
+      host = Core.Nothing,
+      initialDelay = Core.Nothing,
+      path = Core.Nothing,
+      successThreshold = Core.Nothing,
+      timeout = Core.Nothing
+    }
+
+instance Core.FromJSON LivenessCheck where
+  parseJSON =
+    Core.withObject
+      "LivenessCheck"
+      ( \o ->
+          LivenessCheck
+            Core.<$> (o Core..:? "checkInterval")
+            Core.<*> (o Core..:? "failureThreshold")
+            Core.<*> (o Core..:? "host")
+            Core.<*> (o Core..:? "initialDelay")
+            Core.<*> (o Core..:? "path")
+            Core.<*> (o Core..:? "successThreshold")
+            Core.<*> (o Core..:? "timeout")
+      )
+
+instance Core.ToJSON LivenessCheck where
+  toJSON LivenessCheck {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("checkInterval" Core..=) Core.<$> checkInterval,
+            ("failureThreshold" Core..=) Core.<$> failureThreshold,
+            ("host" Core..=) Core.<$> host,
+            ("initialDelay" Core..=) Core.<$> initialDelay,
+            ("path" Core..=) Core.<$> path,
+            ("successThreshold" Core..=) Core.<$> successThreshold,
+            ("timeout" Core..=) Core.<$> timeout
+          ]
+      )
+
+-- | A resource that represents a Google Cloud location.
+--
+-- /See:/ 'newLocation' smart constructor.
+data Location = Location
+  { -- | The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".
+    displayName :: (Core.Maybe Core.Text),
+    -- | Cross-service attributes for the location. For example {\"cloud.googleapis.com\/region\": \"us-east1\"}
+    labels :: (Core.Maybe Location_Labels),
+    -- | The canonical id for this location. For example: \"us-east1\".
+    locationId :: (Core.Maybe Core.Text),
+    -- | Service-specific metadata. For example the available capacity at the given location.
+    metadata :: (Core.Maybe Location_Metadata),
+    -- | Resource name for the location, which may vary between implementations. For example: \"projects\/example-project\/locations\/us-east1\"
+    name :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Location' with the minimum fields required to make a request.
+newLocation ::
+  Location
+newLocation =
+  Location
+    { displayName = Core.Nothing,
+      labels = Core.Nothing,
+      locationId = Core.Nothing,
+      metadata = Core.Nothing,
+      name = Core.Nothing
+    }
+
+instance Core.FromJSON Location where
+  parseJSON =
+    Core.withObject
+      "Location"
+      ( \o ->
+          Location
+            Core.<$> (o Core..:? "displayName")
+            Core.<*> (o Core..:? "labels")
+            Core.<*> (o Core..:? "locationId")
+            Core.<*> (o Core..:? "metadata")
+            Core.<*> (o Core..:? "name")
+      )
+
+instance Core.ToJSON Location where
+  toJSON Location {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("displayName" Core..=) Core.<$> displayName,
+            ("labels" Core..=) Core.<$> labels,
+            ("locationId" Core..=) Core.<$> locationId,
+            ("metadata" Core..=) Core.<$> metadata,
+            ("name" Core..=) Core.<$> name
+          ]
+      )
+
+-- | Cross-service attributes for the location. For example {\"cloud.googleapis.com\/region\": \"us-east1\"}
+--
+-- /See:/ 'newLocation_Labels' smart constructor.
+newtype Location_Labels = Location_Labels
+  { additional :: (Core.HashMap Core.Text Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Location_Labels' with the minimum fields required to make a request.
+newLocation_Labels ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Text ->
+  Location_Labels
+newLocation_Labels additional =
+  Location_Labels {additional = additional}
+
+instance Core.FromJSON Location_Labels where
+  parseJSON =
+    Core.withObject
+      "Location_Labels"
+      (\o -> Location_Labels Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Location_Labels where
+  toJSON Location_Labels {..} = Core.toJSON additional
+
+-- | Service-specific metadata. For example the available capacity at the given location.
+--
+-- /See:/ 'newLocation_Metadata' smart constructor.
+newtype Location_Metadata = Location_Metadata
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Location_Metadata' with the minimum fields required to make a request.
+newLocation_Metadata ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Location_Metadata
+newLocation_Metadata additional =
+  Location_Metadata {additional = additional}
+
+instance Core.FromJSON Location_Metadata where
+  parseJSON =
+    Core.withObject
+      "Location_Metadata"
+      (\o -> Location_Metadata Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Location_Metadata where
+  toJSON Location_Metadata {..} = Core.toJSON additional
+
+-- | Metadata for the given google.cloud.location.Location.
+--
+-- /See:/ 'newLocationMetadata' smart constructor.
+data LocationMetadata = LocationMetadata
+  { -- | App Engine flexible environment is available in the given location.\@OutputOnly
+    flexibleEnvironmentAvailable :: (Core.Maybe Core.Bool),
+    -- | Output only. Search API (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/search) is available in the given location.
+    searchApiAvailable :: (Core.Maybe Core.Bool),
+    -- | App Engine standard environment is available in the given location.\@OutputOnly
+    standardEnvironmentAvailable :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'LocationMetadata' with the minimum fields required to make a request.
+newLocationMetadata ::
+  LocationMetadata
+newLocationMetadata =
+  LocationMetadata
+    { flexibleEnvironmentAvailable = Core.Nothing,
+      searchApiAvailable = Core.Nothing,
+      standardEnvironmentAvailable = Core.Nothing
+    }
+
+instance Core.FromJSON LocationMetadata where
+  parseJSON =
+    Core.withObject
+      "LocationMetadata"
+      ( \o ->
+          LocationMetadata
+            Core.<$> (o Core..:? "flexibleEnvironmentAvailable")
+            Core.<*> (o Core..:? "searchApiAvailable")
+            Core.<*> (o Core..:? "standardEnvironmentAvailable")
+      )
+
+instance Core.ToJSON LocationMetadata where
+  toJSON LocationMetadata {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("flexibleEnvironmentAvailable" Core..=)
+              Core.<$> flexibleEnvironmentAvailable,
+            ("searchApiAvailable" Core..=) Core.<$> searchApiAvailable,
+            ("standardEnvironmentAvailable" Core..=)
+              Core.<$> standardEnvironmentAvailable
+          ]
+      )
+
+-- | A certificate managed by App Engine.
+--
+-- /See:/ 'newManagedCertificate' smart constructor.
+data ManagedCertificate = ManagedCertificate
+  { -- | Time at which the certificate was last renewed. The renewal process is fully managed. Certificate renewal will automatically occur before the certificate expires. Renewal errors can be tracked via ManagementStatus.\@OutputOnly
+    lastRenewalTime :: (Core.Maybe Core.DateTime),
+    -- | Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.\@OutputOnly
+    status :: (Core.Maybe ManagedCertificate_Status)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ManagedCertificate' with the minimum fields required to make a request.
+newManagedCertificate ::
+  ManagedCertificate
+newManagedCertificate =
+  ManagedCertificate
+    { lastRenewalTime = Core.Nothing,
+      status = Core.Nothing
+    }
+
+instance Core.FromJSON ManagedCertificate where
+  parseJSON =
+    Core.withObject
+      "ManagedCertificate"
+      ( \o ->
+          ManagedCertificate
+            Core.<$> (o Core..:? "lastRenewalTime")
+            Core.<*> (o Core..:? "status")
+      )
+
+instance Core.ToJSON ManagedCertificate where
+  toJSON ManagedCertificate {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("lastRenewalTime" Core..=) Core.<$> lastRenewalTime,
+            ("status" Core..=) Core.<$> status
+          ]
+      )
+
+-- | A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.
+--
+-- /See:/ 'newManualScaling' smart constructor.
+newtype ManualScaling = ManualScaling
+  { -- | Number of instances to assign to the service at the start. This number can later be altered by using the Modules API (https:\/\/cloud.google.com\/appengine\/docs\/python\/modules\/functions) set/num/instances() function.
+    instances :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ManualScaling' with the minimum fields required to make a request.
+newManualScaling ::
+  ManualScaling
+newManualScaling = ManualScaling {instances = Core.Nothing}
+
+instance Core.FromJSON ManualScaling where
+  parseJSON =
+    Core.withObject
+      "ManualScaling"
+      (\o -> ManualScaling Core.<$> (o Core..:? "instances"))
+
+instance Core.ToJSON ManualScaling where
+  toJSON ManualScaling {..} =
+    Core.object
+      (Core.catMaybes [("instances" Core..=) Core.<$> instances])
+
+-- | Extra network settings. Only applicable in the App Engine flexible environment.
+--
+-- /See:/ 'newNetwork' smart constructor.
+data Network = Network
+  { -- | List of ports, or port pairs, to forward from the virtual machine to the application container. Only applicable in the App Engine flexible environment.
+    forwardedPorts :: (Core.Maybe [Core.Text]),
+    -- | The IP mode for instances. Only applicable in the App Engine flexible environment.
+    instanceIpMode :: (Core.Maybe Network_InstanceIpMode),
+    -- | Tag to apply to the instance during creation. Only applicable in the App Engine flexible environment.
+    instanceTag :: (Core.Maybe Core.Text),
+    -- | Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.Defaults to default.
+    name :: (Core.Maybe Core.Text),
+    -- | Enable session affinity. Only applicable in the App Engine flexible environment.
+    sessionAffinity :: (Core.Maybe Core.Bool),
+    -- | Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.If a subnetwork name is specified, a network name will also be required unless it is for the default network. If the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range. If the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetwork/name) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network. If the network that the instance is being created in is a custom Subnet Mode Network, then the subnetwork/name must be specified and the IP address is created from the IPCidrRange of the subnetwork.If specified, the subnetwork must exist in the same region as the App Engine flexible environment application.
+    subnetworkName :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Network' with the minimum fields required to make a request.
+newNetwork ::
+  Network
+newNetwork =
+  Network
+    { forwardedPorts = Core.Nothing,
+      instanceIpMode = Core.Nothing,
+      instanceTag = Core.Nothing,
+      name = Core.Nothing,
+      sessionAffinity = Core.Nothing,
+      subnetworkName = Core.Nothing
+    }
+
+instance Core.FromJSON Network where
+  parseJSON =
+    Core.withObject
+      "Network"
+      ( \o ->
+          Network
+            Core.<$> (o Core..:? "forwardedPorts")
+            Core.<*> (o Core..:? "instanceIpMode")
+            Core.<*> (o Core..:? "instanceTag")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "sessionAffinity")
+            Core.<*> (o Core..:? "subnetworkName")
+      )
+
+instance Core.ToJSON Network where
+  toJSON Network {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("forwardedPorts" Core..=) Core.<$> forwardedPorts,
+            ("instanceIpMode" Core..=) Core.<$> instanceIpMode,
+            ("instanceTag" Core..=) Core.<$> instanceTag,
+            ("name" Core..=) Core.<$> name,
+            ("sessionAffinity" Core..=) Core.<$> sessionAffinity,
+            ("subnetworkName" Core..=) Core.<$> subnetworkName
+          ]
+      )
+
+-- | A NetworkSettings resource is a container for ingress settings for a version or service.
+--
+-- /See:/ 'newNetworkSettings' smart constructor.
+newtype NetworkSettings = NetworkSettings
+  { -- | The ingress settings for version or service.
+    ingressTrafficAllowed :: (Core.Maybe NetworkSettings_IngressTrafficAllowed)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'NetworkSettings' with the minimum fields required to make a request.
+newNetworkSettings ::
+  NetworkSettings
+newNetworkSettings =
+  NetworkSettings {ingressTrafficAllowed = Core.Nothing}
+
+instance Core.FromJSON NetworkSettings where
+  parseJSON =
+    Core.withObject
+      "NetworkSettings"
+      ( \o ->
+          NetworkSettings Core.<$> (o Core..:? "ingressTrafficAllowed")
+      )
+
+instance Core.ToJSON NetworkSettings where
+  toJSON NetworkSettings {..} =
+    Core.object
+      ( Core.catMaybes
+          [("ingressTrafficAllowed" Core..=) Core.<$> ingressTrafficAllowed]
+      )
+
+-- | Target scaling by network usage. Only applicable in the App Engine flexible environment.
+--
+-- /See:/ 'newNetworkUtilization' smart constructor.
+data NetworkUtilization = NetworkUtilization
+  { -- | Target bytes received per second.
+    targetReceivedBytesPerSecond :: (Core.Maybe Core.Int32),
+    -- | Target packets received per second.
+    targetReceivedPacketsPerSecond :: (Core.Maybe Core.Int32),
+    -- | Target bytes sent per second.
+    targetSentBytesPerSecond :: (Core.Maybe Core.Int32),
+    -- | Target packets sent per second.
+    targetSentPacketsPerSecond :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'NetworkUtilization' with the minimum fields required to make a request.
+newNetworkUtilization ::
+  NetworkUtilization
+newNetworkUtilization =
+  NetworkUtilization
+    { targetReceivedBytesPerSecond = Core.Nothing,
+      targetReceivedPacketsPerSecond = Core.Nothing,
+      targetSentBytesPerSecond = Core.Nothing,
+      targetSentPacketsPerSecond = Core.Nothing
+    }
+
+instance Core.FromJSON NetworkUtilization where
+  parseJSON =
+    Core.withObject
+      "NetworkUtilization"
+      ( \o ->
+          NetworkUtilization
+            Core.<$> (o Core..:? "targetReceivedBytesPerSecond")
+            Core.<*> (o Core..:? "targetReceivedPacketsPerSecond")
+            Core.<*> (o Core..:? "targetSentBytesPerSecond")
+            Core.<*> (o Core..:? "targetSentPacketsPerSecond")
+      )
+
+instance Core.ToJSON NetworkUtilization where
+  toJSON NetworkUtilization {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("targetReceivedBytesPerSecond" Core..=)
+              Core.<$> targetReceivedBytesPerSecond,
+            ("targetReceivedPacketsPerSecond" Core..=)
+              Core.<$> targetReceivedPacketsPerSecond,
+            ("targetSentBytesPerSecond" Core..=)
+              Core.<$> targetSentBytesPerSecond,
+            ("targetSentPacketsPerSecond" Core..=)
+              Core.<$> targetSentPacketsPerSecond
+          ]
+      )
+
+-- | This resource represents a long-running operation that is the result of a network API call.
+--
+-- /See:/ 'newOperation' smart constructor.
+data Operation = Operation
+  { -- | If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
+    done :: (Core.Maybe Core.Bool),
+    -- | The error result of the operation in case of failure or cancellation.
+    error :: (Core.Maybe Status),
+    -- | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    metadata :: (Core.Maybe Operation_Metadata),
+    -- | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations\/{unique_id}.
+    name :: (Core.Maybe Core.Text),
+    -- | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get\/Create\/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+    response :: (Core.Maybe Operation_Response)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Operation' with the minimum fields required to make a request.
+newOperation ::
+  Operation
+newOperation =
+  Operation
+    { done = Core.Nothing,
+      error = Core.Nothing,
+      metadata = Core.Nothing,
+      name = Core.Nothing,
+      response = Core.Nothing
+    }
+
+instance Core.FromJSON Operation where
+  parseJSON =
+    Core.withObject
+      "Operation"
+      ( \o ->
+          Operation
+            Core.<$> (o Core..:? "done")
+            Core.<*> (o Core..:? "error")
+            Core.<*> (o Core..:? "metadata")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "response")
+      )
+
+instance Core.ToJSON Operation where
+  toJSON Operation {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("done" Core..=) Core.<$> done,
+            ("error" Core..=) Core.<$> error,
+            ("metadata" Core..=) Core.<$> metadata,
+            ("name" Core..=) Core.<$> name,
+            ("response" Core..=) Core.<$> response
+          ]
+      )
+
+-- | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+--
+-- /See:/ 'newOperation_Metadata' smart constructor.
+newtype Operation_Metadata = Operation_Metadata
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Operation_Metadata' with the minimum fields required to make a request.
+newOperation_Metadata ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Operation_Metadata
+newOperation_Metadata additional =
+  Operation_Metadata {additional = additional}
+
+instance Core.FromJSON Operation_Metadata where
+  parseJSON =
+    Core.withObject
+      "Operation_Metadata"
+      (\o -> Operation_Metadata Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Operation_Metadata where
+  toJSON Operation_Metadata {..} = Core.toJSON additional
+
+-- | The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get\/Create\/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+--
+-- /See:/ 'newOperation_Response' smart constructor.
+newtype Operation_Response = Operation_Response
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Operation_Response' with the minimum fields required to make a request.
+newOperation_Response ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Operation_Response
+newOperation_Response additional =
+  Operation_Response {additional = additional}
+
+instance Core.FromJSON Operation_Response where
+  parseJSON =
+    Core.withObject
+      "Operation_Response"
+      (\o -> Operation_Response Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Operation_Response where
+  toJSON Operation_Response {..} = Core.toJSON additional
+
+-- | Metadata for the given google.longrunning.Operation.
+--
+-- /See:/ 'newOperationMetadataV1' smart constructor.
+data OperationMetadataV1 = OperationMetadataV1
+  { createVersionMetadata :: (Core.Maybe CreateVersionMetadataV1),
+    -- | Time that this operation completed.\@OutputOnly
+    endTime :: (Core.Maybe Core.DateTime),
+    -- | Ephemeral message that may change every time the operation is polled. \@OutputOnly
+    ephemeralMessage :: (Core.Maybe Core.Text),
+    -- | Time that this operation was created.\@OutputOnly
+    insertTime :: (Core.Maybe Core.DateTime),
+    -- | API method that initiated this operation. Example: google.appengine.v1.Versions.CreateVersion.\@OutputOnly
+    method :: (Core.Maybe Core.Text),
+    -- | Name of the resource that this operation is acting on. Example: apps\/myapp\/services\/default.\@OutputOnly
+    target :: (Core.Maybe Core.Text),
+    -- | User who requested this operation.\@OutputOnly
+    user :: (Core.Maybe Core.Text),
+    -- | Durable messages that persist on every operation poll. \@OutputOnly
+    warning :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'OperationMetadataV1' with the minimum fields required to make a request.
+newOperationMetadataV1 ::
+  OperationMetadataV1
+newOperationMetadataV1 =
+  OperationMetadataV1
+    { createVersionMetadata = Core.Nothing,
+      endTime = Core.Nothing,
+      ephemeralMessage = Core.Nothing,
+      insertTime = Core.Nothing,
+      method = Core.Nothing,
+      target = Core.Nothing,
+      user = Core.Nothing,
+      warning = Core.Nothing
+    }
+
+instance Core.FromJSON OperationMetadataV1 where
+  parseJSON =
+    Core.withObject
+      "OperationMetadataV1"
+      ( \o ->
+          OperationMetadataV1
+            Core.<$> (o Core..:? "createVersionMetadata")
+            Core.<*> (o Core..:? "endTime")
+            Core.<*> (o Core..:? "ephemeralMessage")
+            Core.<*> (o Core..:? "insertTime")
+            Core.<*> (o Core..:? "method")
+            Core.<*> (o Core..:? "target")
+            Core.<*> (o Core..:? "user")
+            Core.<*> (o Core..:? "warning")
+      )
+
+instance Core.ToJSON OperationMetadataV1 where
+  toJSON OperationMetadataV1 {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("createVersionMetadata" Core..=) Core.<$> createVersionMetadata,
+            ("endTime" Core..=) Core.<$> endTime,
+            ("ephemeralMessage" Core..=) Core.<$> ephemeralMessage,
+            ("insertTime" Core..=) Core.<$> insertTime,
+            ("method" Core..=) Core.<$> method,
+            ("target" Core..=) Core.<$> target,
+            ("user" Core..=) Core.<$> user,
+            ("warning" Core..=) Core.<$> warning
+          ]
+      )
+
+-- | Metadata for the given google.longrunning.Operation.
+--
+-- /See:/ 'newOperationMetadataV1Alpha' smart constructor.
+data OperationMetadataV1Alpha = OperationMetadataV1Alpha
+  { createVersionMetadata :: (Core.Maybe CreateVersionMetadataV1Alpha),
+    -- | Time that this operation completed.\@OutputOnly
+    endTime :: (Core.Maybe Core.DateTime),
+    -- | Ephemeral message that may change every time the operation is polled. \@OutputOnly
+    ephemeralMessage :: (Core.Maybe Core.Text),
+    -- | Time that this operation was created.\@OutputOnly
+    insertTime :: (Core.Maybe Core.DateTime),
+    -- | API method that initiated this operation. Example: google.appengine.v1alpha.Versions.CreateVersion.\@OutputOnly
+    method :: (Core.Maybe Core.Text),
+    -- | Name of the resource that this operation is acting on. Example: apps\/myapp\/services\/default.\@OutputOnly
+    target :: (Core.Maybe Core.Text),
+    -- | User who requested this operation.\@OutputOnly
+    user :: (Core.Maybe Core.Text),
+    -- | Durable messages that persist on every operation poll. \@OutputOnly
+    warning :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'OperationMetadataV1Alpha' with the minimum fields required to make a request.
+newOperationMetadataV1Alpha ::
+  OperationMetadataV1Alpha
+newOperationMetadataV1Alpha =
+  OperationMetadataV1Alpha
+    { createVersionMetadata = Core.Nothing,
+      endTime = Core.Nothing,
+      ephemeralMessage = Core.Nothing,
+      insertTime = Core.Nothing,
+      method = Core.Nothing,
+      target = Core.Nothing,
+      user = Core.Nothing,
+      warning = Core.Nothing
+    }
+
+instance Core.FromJSON OperationMetadataV1Alpha where
+  parseJSON =
+    Core.withObject
+      "OperationMetadataV1Alpha"
+      ( \o ->
+          OperationMetadataV1Alpha
+            Core.<$> (o Core..:? "createVersionMetadata")
+            Core.<*> (o Core..:? "endTime")
+            Core.<*> (o Core..:? "ephemeralMessage")
+            Core.<*> (o Core..:? "insertTime")
+            Core.<*> (o Core..:? "method")
+            Core.<*> (o Core..:? "target")
+            Core.<*> (o Core..:? "user")
+            Core.<*> (o Core..:? "warning")
+      )
+
+instance Core.ToJSON OperationMetadataV1Alpha where
+  toJSON OperationMetadataV1Alpha {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("createVersionMetadata" Core..=) Core.<$> createVersionMetadata,
+            ("endTime" Core..=) Core.<$> endTime,
+            ("ephemeralMessage" Core..=) Core.<$> ephemeralMessage,
+            ("insertTime" Core..=) Core.<$> insertTime,
+            ("method" Core..=) Core.<$> method,
+            ("target" Core..=) Core.<$> target,
+            ("user" Core..=) Core.<$> user,
+            ("warning" Core..=) Core.<$> warning
+          ]
+      )
+
+-- | Metadata for the given google.longrunning.Operation.
+--
+-- /See:/ 'newOperationMetadataV1Beta' smart constructor.
+data OperationMetadataV1Beta = OperationMetadataV1Beta
+  { createVersionMetadata :: (Core.Maybe CreateVersionMetadataV1Beta),
+    -- | Time that this operation completed.\@OutputOnly
+    endTime :: (Core.Maybe Core.DateTime),
+    -- | Ephemeral message that may change every time the operation is polled. \@OutputOnly
+    ephemeralMessage :: (Core.Maybe Core.Text),
+    -- | Time that this operation was created.\@OutputOnly
+    insertTime :: (Core.Maybe Core.DateTime),
+    -- | API method that initiated this operation. Example: google.appengine.v1beta.Versions.CreateVersion.\@OutputOnly
+    method :: (Core.Maybe Core.Text),
+    -- | Name of the resource that this operation is acting on. Example: apps\/myapp\/services\/default.\@OutputOnly
+    target :: (Core.Maybe Core.Text),
+    -- | User who requested this operation.\@OutputOnly
+    user :: (Core.Maybe Core.Text),
+    -- | Durable messages that persist on every operation poll. \@OutputOnly
+    warning :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'OperationMetadataV1Beta' with the minimum fields required to make a request.
+newOperationMetadataV1Beta ::
+  OperationMetadataV1Beta
+newOperationMetadataV1Beta =
+  OperationMetadataV1Beta
+    { createVersionMetadata = Core.Nothing,
+      endTime = Core.Nothing,
+      ephemeralMessage = Core.Nothing,
+      insertTime = Core.Nothing,
+      method = Core.Nothing,
+      target = Core.Nothing,
+      user = Core.Nothing,
+      warning = Core.Nothing
+    }
+
+instance Core.FromJSON OperationMetadataV1Beta where
+  parseJSON =
+    Core.withObject
+      "OperationMetadataV1Beta"
+      ( \o ->
+          OperationMetadataV1Beta
+            Core.<$> (o Core..:? "createVersionMetadata")
+            Core.<*> (o Core..:? "endTime")
+            Core.<*> (o Core..:? "ephemeralMessage")
+            Core.<*> (o Core..:? "insertTime")
+            Core.<*> (o Core..:? "method")
+            Core.<*> (o Core..:? "target")
+            Core.<*> (o Core..:? "user")
+            Core.<*> (o Core..:? "warning")
+      )
+
+instance Core.ToJSON OperationMetadataV1Beta where
+  toJSON OperationMetadataV1Beta {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("createVersionMetadata" Core..=) Core.<$> createVersionMetadata,
+            ("endTime" Core..=) Core.<$> endTime,
+            ("ephemeralMessage" Core..=) Core.<$> ephemeralMessage,
+            ("insertTime" Core..=) Core.<$> insertTime,
+            ("method" Core..=) Core.<$> method,
+            ("target" Core..=) Core.<$> target,
+            ("user" Core..=) Core.<$> user,
+            ("warning" Core..=) Core.<$> warning
+          ]
+      )
+
+-- | The request sent to CLHs during project events.
+--
+-- /See:/ 'newProjectEvent' smart constructor.
+data ProjectEvent = ProjectEvent
+  { -- | The unique ID for this project event. CLHs can use this value to dedup repeated calls. required
+    eventId :: (Core.Maybe Core.Text),
+    -- | Phase indicates when in the container event propagation this event is being communicated. Events are sent before and after the per-resource events are propagated. required
+    phase :: (Core.Maybe ProjectEvent_Phase),
+    -- | The projects metadata for this project. required
+    projectMetadata :: (Core.Maybe ProjectsMetadata),
+    -- | The state of the organization that led to this event.
+    state :: (Core.Maybe ContainerState)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ProjectEvent' with the minimum fields required to make a request.
+newProjectEvent ::
+  ProjectEvent
+newProjectEvent =
+  ProjectEvent
+    { eventId = Core.Nothing,
+      phase = Core.Nothing,
+      projectMetadata = Core.Nothing,
+      state = Core.Nothing
+    }
+
+instance Core.FromJSON ProjectEvent where
+  parseJSON =
+    Core.withObject
+      "ProjectEvent"
+      ( \o ->
+          ProjectEvent
+            Core.<$> (o Core..:? "eventId")
+            Core.<*> (o Core..:? "phase")
+            Core.<*> (o Core..:? "projectMetadata")
+            Core.<*> (o Core..:? "state")
+      )
+
+instance Core.ToJSON ProjectEvent where
+  toJSON ProjectEvent {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("eventId" Core..=) Core.<$> eventId,
+            ("phase" Core..=) Core.<$> phase,
+            ("projectMetadata" Core..=) Core.<$> projectMetadata,
+            ("state" Core..=) Core.<$> state
+          ]
+      )
+
+-- | ProjectsMetadata is the metadata CCFE stores about the all the relevant projects (tenant, consumer, producer).
+--
+-- /See:/ 'newProjectsMetadata' smart constructor.
+data ProjectsMetadata = ProjectsMetadata
+  { -- | The consumer project id.
+    consumerProjectId :: (Core.Maybe Core.Text),
+    -- | The consumer project number.
+    consumerProjectNumber :: (Core.Maybe Core.Int64),
+    -- | The CCFE state of the consumer project. It is the same state that is communicated to the CLH during project events. Notice that this field is not set in the DB, it is only set in this proto when communicated to CLH in the side channel.
+    consumerProjectState :: (Core.Maybe ProjectsMetadata_ConsumerProjectState),
+    -- | The GCE tags associated with the consumer project and those inherited due to their ancestry, if any. Not supported by CCFE.
+    gceTag :: (Core.Maybe [GceTag]),
+    -- | The service account authorized to operate on the consumer project. Note: CCFE only propagates P4SA with default tag to CLH.
+    p4ServiceAccount :: (Core.Maybe Core.Text),
+    -- | The producer project id.
+    producerProjectId :: (Core.Maybe Core.Text),
+    -- | The producer project number.
+    producerProjectNumber :: (Core.Maybe Core.Int64),
+    -- | The tenant project id.
+    tenantProjectId :: (Core.Maybe Core.Text),
+    -- | The tenant project number.
+    tenantProjectNumber :: (Core.Maybe Core.Int64)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ProjectsMetadata' with the minimum fields required to make a request.
+newProjectsMetadata ::
+  ProjectsMetadata
+newProjectsMetadata =
+  ProjectsMetadata
+    { consumerProjectId = Core.Nothing,
+      consumerProjectNumber = Core.Nothing,
+      consumerProjectState = Core.Nothing,
+      gceTag = Core.Nothing,
+      p4ServiceAccount = Core.Nothing,
+      producerProjectId = Core.Nothing,
+      producerProjectNumber = Core.Nothing,
+      tenantProjectId = Core.Nothing,
+      tenantProjectNumber = Core.Nothing
+    }
+
+instance Core.FromJSON ProjectsMetadata where
+  parseJSON =
+    Core.withObject
+      "ProjectsMetadata"
+      ( \o ->
+          ProjectsMetadata
+            Core.<$> (o Core..:? "consumerProjectId")
+            Core.<*> ( o
+                         Core..:? "consumerProjectNumber"
+                         Core.<&> Core.fmap Core.fromAsText
+                     )
+            Core.<*> (o Core..:? "consumerProjectState")
+            Core.<*> (o Core..:? "gceTag")
+            Core.<*> (o Core..:? "p4ServiceAccount")
+            Core.<*> (o Core..:? "producerProjectId")
+            Core.<*> ( o
+                         Core..:? "producerProjectNumber"
+                         Core.<&> Core.fmap Core.fromAsText
+                     )
+            Core.<*> (o Core..:? "tenantProjectId")
+            Core.<*> ( o
+                         Core..:? "tenantProjectNumber"
+                         Core.<&> Core.fmap Core.fromAsText
+                     )
+      )
+
+instance Core.ToJSON ProjectsMetadata where
+  toJSON ProjectsMetadata {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("consumerProjectId" Core..=) Core.<$> consumerProjectId,
+            ("consumerProjectNumber" Core..=)
+              Core.. Core.AsText
+              Core.<$> consumerProjectNumber,
+            ("consumerProjectState" Core..=) Core.<$> consumerProjectState,
+            ("gceTag" Core..=) Core.<$> gceTag,
+            ("p4ServiceAccount" Core..=) Core.<$> p4ServiceAccount,
+            ("producerProjectId" Core..=) Core.<$> producerProjectId,
+            ("producerProjectNumber" Core..=)
+              Core.. Core.AsText
+              Core.<$> producerProjectNumber,
+            ("tenantProjectId" Core..=) Core.<$> tenantProjectId,
+            ("tenantProjectNumber" Core..=)
+              Core.. Core.AsText
+              Core.<$> tenantProjectNumber
+          ]
+      )
+
+-- | Readiness checking configuration for VM instances. Unhealthy instances are removed from traffic rotation.
+--
+-- /See:/ 'newReadinessCheck' smart constructor.
+data ReadinessCheck = ReadinessCheck
+  { -- | A maximum time limit on application initialization, measured from moment the application successfully replies to a healthcheck until it is ready to serve traffic.
+    appStartTimeout :: (Core.Maybe Core.Duration),
+    -- | Interval between health checks.
+    checkInterval :: (Core.Maybe Core.Duration),
+    -- | Number of consecutive failed checks required before removing traffic.
+    failureThreshold :: (Core.Maybe Core.Word32),
+    -- | Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\"
+    host :: (Core.Maybe Core.Text),
+    -- | The request path.
+    path :: (Core.Maybe Core.Text),
+    -- | Number of consecutive successful checks required before receiving traffic.
+    successThreshold :: (Core.Maybe Core.Word32),
+    -- | Time before the check is considered failed.
+    timeout :: (Core.Maybe Core.Duration)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ReadinessCheck' with the minimum fields required to make a request.
+newReadinessCheck ::
+  ReadinessCheck
+newReadinessCheck =
+  ReadinessCheck
+    { appStartTimeout = Core.Nothing,
+      checkInterval = Core.Nothing,
+      failureThreshold = Core.Nothing,
+      host = Core.Nothing,
+      path = Core.Nothing,
+      successThreshold = Core.Nothing,
+      timeout = Core.Nothing
+    }
+
+instance Core.FromJSON ReadinessCheck where
+  parseJSON =
+    Core.withObject
+      "ReadinessCheck"
+      ( \o ->
+          ReadinessCheck
+            Core.<$> (o Core..:? "appStartTimeout")
+            Core.<*> (o Core..:? "checkInterval")
+            Core.<*> (o Core..:? "failureThreshold")
+            Core.<*> (o Core..:? "host")
+            Core.<*> (o Core..:? "path")
+            Core.<*> (o Core..:? "successThreshold")
+            Core.<*> (o Core..:? "timeout")
+      )
+
+instance Core.ToJSON ReadinessCheck where
+  toJSON ReadinessCheck {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("appStartTimeout" Core..=) Core.<$> appStartTimeout,
+            ("checkInterval" Core..=) Core.<$> checkInterval,
+            ("failureThreshold" Core..=) Core.<$> failureThreshold,
+            ("host" Core..=) Core.<$> host,
+            ("path" Core..=) Core.<$> path,
+            ("successThreshold" Core..=) Core.<$> successThreshold,
+            ("timeout" Core..=) Core.<$> timeout
+          ]
+      )
+
+-- | Containers transition between and within states based on reasons sent from various systems. CCFE will provide the CLH with reasons for the current state per system.The current systems that CCFE supports are: Service Management (Inception) Data Governance (Wipeout) Abuse (Ares) Billing (Internal Cloud Billing API) Service Activation (Service Controller)
+--
+-- /See:/ 'newReasons' smart constructor.
+data Reasons = Reasons
+  { abuse :: (Core.Maybe Reasons_Abuse),
+    billing :: (Core.Maybe Reasons_Billing),
+    dataGovernance :: (Core.Maybe Reasons_DataGovernance),
+    -- | Consumer Container denotes if the service is active within a project or not. This information could be used to clean up resources in case service in DISABLED_FULL i.e. Service is inactive > 30 days.
+    serviceActivation :: (Core.Maybe Reasons_ServiceActivation),
+    serviceManagement :: (Core.Maybe Reasons_ServiceManagement)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Reasons' with the minimum fields required to make a request.
+newReasons ::
+  Reasons
+newReasons =
+  Reasons
+    { abuse = Core.Nothing,
+      billing = Core.Nothing,
+      dataGovernance = Core.Nothing,
+      serviceActivation = Core.Nothing,
+      serviceManagement = Core.Nothing
+    }
+
+instance Core.FromJSON Reasons where
+  parseJSON =
+    Core.withObject
+      "Reasons"
+      ( \o ->
+          Reasons
+            Core.<$> (o Core..:? "abuse")
+            Core.<*> (o Core..:? "billing")
+            Core.<*> (o Core..:? "dataGovernance")
+            Core.<*> (o Core..:? "serviceActivation")
+            Core.<*> (o Core..:? "serviceManagement")
+      )
+
+instance Core.ToJSON Reasons where
+  toJSON Reasons {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("abuse" Core..=) Core.<$> abuse,
+            ("billing" Core..=) Core.<$> billing,
+            ("dataGovernance" Core..=) Core.<$> dataGovernance,
+            ("serviceActivation" Core..=) Core.<$> serviceActivation,
+            ("serviceManagement" Core..=) Core.<$> serviceManagement
+          ]
+      )
+
+-- | Request message for \'Applications.RepairApplication\'.
+--
+-- /See:/ 'newRepairApplicationRequest' smart constructor.
+data RepairApplicationRequest = RepairApplicationRequest
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'RepairApplicationRequest' with the minimum fields required to make a request.
+newRepairApplicationRequest ::
+  RepairApplicationRequest
+newRepairApplicationRequest = RepairApplicationRequest
+
+instance Core.FromJSON RepairApplicationRequest where
+  parseJSON =
+    Core.withObject
+      "RepairApplicationRequest"
+      (\o -> Core.pure RepairApplicationRequest)
+
+instance Core.ToJSON RepairApplicationRequest where
+  toJSON = Core.const Core.emptyObject
+
+-- | Target scaling by request utilization. Only applicable in the App Engine flexible environment.
+--
+-- /See:/ 'newRequestUtilization' smart constructor.
+data RequestUtilization = RequestUtilization
+  { -- | Target number of concurrent requests.
+    targetConcurrentRequests :: (Core.Maybe Core.Int32),
+    -- | Target requests per second.
+    targetRequestCountPerSecond :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'RequestUtilization' with the minimum fields required to make a request.
+newRequestUtilization ::
+  RequestUtilization
+newRequestUtilization =
+  RequestUtilization
+    { targetConcurrentRequests = Core.Nothing,
+      targetRequestCountPerSecond = Core.Nothing
+    }
+
+instance Core.FromJSON RequestUtilization where
+  parseJSON =
+    Core.withObject
+      "RequestUtilization"
+      ( \o ->
+          RequestUtilization
+            Core.<$> (o Core..:? "targetConcurrentRequests")
+            Core.<*> (o Core..:? "targetRequestCountPerSecond")
+      )
+
+instance Core.ToJSON RequestUtilization where
+  toJSON RequestUtilization {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("targetConcurrentRequests" Core..=)
+              Core.<$> targetConcurrentRequests,
+            ("targetRequestCountPerSecond" Core..=)
+              Core.<$> targetRequestCountPerSecond
+          ]
+      )
+
+-- | The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event.
+--
+-- /See:/ 'newResourceEvent' smart constructor.
+data ResourceEvent = ResourceEvent
+  { -- | The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required
+    eventId :: (Core.Maybe Core.Text),
+    -- | The name of the resource for which this event is. required
+    name :: (Core.Maybe Core.Text),
+    -- | The state of the project that led to this event.
+    state :: (Core.Maybe ContainerState)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ResourceEvent' with the minimum fields required to make a request.
+newResourceEvent ::
+  ResourceEvent
+newResourceEvent =
+  ResourceEvent
+    { eventId = Core.Nothing,
+      name = Core.Nothing,
+      state = Core.Nothing
+    }
+
+instance Core.FromJSON ResourceEvent where
+  parseJSON =
+    Core.withObject
+      "ResourceEvent"
+      ( \o ->
+          ResourceEvent
+            Core.<$> (o Core..:? "eventId")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "state")
+      )
+
+instance Core.ToJSON ResourceEvent where
+  toJSON ResourceEvent {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("eventId" Core..=) Core.<$> eventId,
+            ("name" Core..=) Core.<$> name,
+            ("state" Core..=) Core.<$> state
+          ]
+      )
+
+-- | A DNS resource record.
+--
+-- /See:/ 'newResourceRecord' smart constructor.
+data ResourceRecord = ResourceRecord
+  { -- | Relative name of the object affected by this record. Only applicable for CNAME records. Example: \'www\'.
+    name :: (Core.Maybe Core.Text),
+    -- | Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).
+    rrdata :: (Core.Maybe Core.Text),
+    -- | Resource record type. Example: AAAA.
+    type' :: (Core.Maybe ResourceRecord_Type)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ResourceRecord' with the minimum fields required to make a request.
+newResourceRecord ::
+  ResourceRecord
+newResourceRecord =
+  ResourceRecord
+    { name = Core.Nothing,
+      rrdata = Core.Nothing,
+      type' = Core.Nothing
+    }
+
+instance Core.FromJSON ResourceRecord where
+  parseJSON =
+    Core.withObject
+      "ResourceRecord"
+      ( \o ->
+          ResourceRecord
+            Core.<$> (o Core..:? "name")
+            Core.<*> (o Core..:? "rrdata")
+            Core.<*> (o Core..:? "type")
+      )
+
+instance Core.ToJSON ResourceRecord where
+  toJSON ResourceRecord {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("name" Core..=) Core.<$> name,
+            ("rrdata" Core..=) Core.<$> rrdata,
+            ("type" Core..=) Core.<$> type'
+          ]
+      )
+
+-- | Machine resources for a version.
+--
+-- /See:/ 'newResources' smart constructor.
+data Resources = Resources
+  { -- | Number of CPU cores needed.
+    cpu :: (Core.Maybe Core.Double),
+    -- | Disk size (GB) needed.
+    diskGb :: (Core.Maybe Core.Double),
+    -- | The name of the encryption key that is stored in Google Cloud KMS. Only should be used by Cloud Composer to encrypt the vm disk
+    kmsKeyReference :: (Core.Maybe Core.Text),
+    -- | Memory (GB) needed.
+    memoryGb :: (Core.Maybe Core.Double),
+    -- | User specified volumes.
+    volumes :: (Core.Maybe [Volume])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Resources' with the minimum fields required to make a request.
+newResources ::
+  Resources
+newResources =
+  Resources
+    { cpu = Core.Nothing,
+      diskGb = Core.Nothing,
+      kmsKeyReference = Core.Nothing,
+      memoryGb = Core.Nothing,
+      volumes = Core.Nothing
+    }
+
+instance Core.FromJSON Resources where
+  parseJSON =
+    Core.withObject
+      "Resources"
+      ( \o ->
+          Resources
+            Core.<$> (o Core..:? "cpu")
+            Core.<*> (o Core..:? "diskGb")
+            Core.<*> (o Core..:? "kmsKeyReference")
+            Core.<*> (o Core..:? "memoryGb")
+            Core.<*> (o Core..:? "volumes")
+      )
+
+instance Core.ToJSON Resources where
+  toJSON Resources {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("cpu" Core..=) Core.<$> cpu,
+            ("diskGb" Core..=) Core.<$> diskGb,
+            ("kmsKeyReference" Core..=) Core.<$> kmsKeyReference,
+            ("memoryGb" Core..=) Core.<$> memoryGb,
+            ("volumes" Core..=) Core.<$> volumes
+          ]
+      )
+
+-- | Runtime versions for App Engine.
+--
+-- /See:/ 'newRuntime' smart constructor.
+data Runtime = Runtime
+  { -- | Date when Runtime is decommissioned.
+    decommissionedDate :: (Core.Maybe Date),
+    -- | Date when Runtime is deprecated.
+    deprecationDate :: (Core.Maybe Date),
+    -- | User-friendly display name, e.g. \'Node.js 12\', etc.
+    displayName :: (Core.Maybe Core.Text),
+    -- | Date when Runtime is end of support.
+    endOfSupportDate :: (Core.Maybe Date),
+    -- | The environment of the runtime.
+    environment :: (Core.Maybe Runtime_Environment),
+    -- | The name of the runtime, e.g., \'go113\', \'nodejs12\', etc.
+    name :: (Core.Maybe Core.Text),
+    -- | The stage of life this runtime is in, e.g., BETA, GA, etc.
+    stage :: (Core.Maybe Runtime_Stage),
+    -- | Supported operating systems for the runtime, e.g., \'ubuntu22\', etc.
+    supportedOperatingSystems :: (Core.Maybe [Core.Text]),
+    -- | Warning messages, e.g., a deprecation warning.
+    warnings :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Runtime' with the minimum fields required to make a request.
+newRuntime ::
+  Runtime
+newRuntime =
+  Runtime
+    { decommissionedDate = Core.Nothing,
+      deprecationDate = Core.Nothing,
+      displayName = Core.Nothing,
+      endOfSupportDate = Core.Nothing,
+      environment = Core.Nothing,
+      name = Core.Nothing,
+      stage = Core.Nothing,
+      supportedOperatingSystems = Core.Nothing,
+      warnings = Core.Nothing
+    }
+
+instance Core.FromJSON Runtime where
+  parseJSON =
+    Core.withObject
+      "Runtime"
+      ( \o ->
+          Runtime
+            Core.<$> (o Core..:? "decommissionedDate")
+            Core.<*> (o Core..:? "deprecationDate")
+            Core.<*> (o Core..:? "displayName")
+            Core.<*> (o Core..:? "endOfSupportDate")
+            Core.<*> (o Core..:? "environment")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "stage")
+            Core.<*> (o Core..:? "supportedOperatingSystems")
+            Core.<*> (o Core..:? "warnings")
+      )
+
+instance Core.ToJSON Runtime where
+  toJSON Runtime {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("decommissionedDate" Core..=) Core.<$> decommissionedDate,
+            ("deprecationDate" Core..=) Core.<$> deprecationDate,
+            ("displayName" Core..=) Core.<$> displayName,
+            ("endOfSupportDate" Core..=) Core.<$> endOfSupportDate,
+            ("environment" Core..=) Core.<$> environment,
+            ("name" Core..=) Core.<$> name,
+            ("stage" Core..=) Core.<$> stage,
+            ("supportedOperatingSystems" Core..=)
+              Core.<$> supportedOperatingSystems,
+            ("warnings" Core..=) Core.<$> warnings
+          ]
+      )
+
+-- | Executes a script to handle the request that matches the URL pattern.
+--
+-- /See:/ 'newScriptHandler' smart constructor.
+newtype ScriptHandler = ScriptHandler
+  { -- | Path to the script from the application root directory.
+    scriptPath :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ScriptHandler' with the minimum fields required to make a request.
+newScriptHandler ::
+  ScriptHandler
+newScriptHandler = ScriptHandler {scriptPath = Core.Nothing}
+
+instance Core.FromJSON ScriptHandler where
+  parseJSON =
+    Core.withObject
+      "ScriptHandler"
+      (\o -> ScriptHandler Core.<$> (o Core..:? "scriptPath"))
+
+instance Core.ToJSON ScriptHandler where
+  toJSON ScriptHandler {..} =
+    Core.object
+      (Core.catMaybes [("scriptPath" Core..=) Core.<$> scriptPath])
+
+-- | A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.
+--
+-- /See:/ 'newService' smart constructor.
+data Service = Service
+  { -- | Additional Google Generated Customer Metadata, this field won\'t be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest
+    generatedCustomerMetadata :: (Core.Maybe Service_GeneratedCustomerMetadata),
+    -- | Output only. Relative name of the service within the application. Example: default.\@OutputOnly
+    id :: (Core.Maybe Core.Text),
+    -- | A set of labels to apply to this service. Labels are key\/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., \"env=prod\", \"env=qa\"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.
+    labels :: (Core.Maybe Service_Labels),
+    -- | Output only. Full path to the Service resource in the API. Example: apps\/myapp\/services\/default.\@OutputOnly
+    name :: (Core.Maybe Core.Text),
+    -- | Ingress settings for this service. Will apply to all versions.
+    networkSettings :: (Core.Maybe NetworkSettings),
+    -- | Mapping that defines fractional HTTP traffic diversion to different versions within the service.
+    split :: (Core.Maybe TrafficSplit)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Service' with the minimum fields required to make a request.
+newService ::
+  Service
+newService =
+  Service
+    { generatedCustomerMetadata = Core.Nothing,
+      id = Core.Nothing,
+      labels = Core.Nothing,
+      name = Core.Nothing,
+      networkSettings = Core.Nothing,
+      split = Core.Nothing
+    }
+
+instance Core.FromJSON Service where
+  parseJSON =
+    Core.withObject
+      "Service"
+      ( \o ->
+          Service
+            Core.<$> (o Core..:? "generatedCustomerMetadata")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "labels")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "networkSettings")
+            Core.<*> (o Core..:? "split")
+      )
+
+instance Core.ToJSON Service where
+  toJSON Service {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("generatedCustomerMetadata" Core..=)
+              Core.<$> generatedCustomerMetadata,
+            ("id" Core..=) Core.<$> id,
+            ("labels" Core..=) Core.<$> labels,
+            ("name" Core..=) Core.<$> name,
+            ("networkSettings" Core..=) Core.<$> networkSettings,
+            ("split" Core..=) Core.<$> split
+          ]
+      )
+
+-- | Additional Google Generated Customer Metadata, this field won\'t be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest
+--
+-- /See:/ 'newService_GeneratedCustomerMetadata' smart constructor.
+newtype Service_GeneratedCustomerMetadata = Service_GeneratedCustomerMetadata
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Service_GeneratedCustomerMetadata' with the minimum fields required to make a request.
+newService_GeneratedCustomerMetadata ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Service_GeneratedCustomerMetadata
+newService_GeneratedCustomerMetadata additional =
+  Service_GeneratedCustomerMetadata {additional = additional}
+
+instance Core.FromJSON Service_GeneratedCustomerMetadata where
+  parseJSON =
+    Core.withObject
+      "Service_GeneratedCustomerMetadata"
+      ( \o ->
+          Service_GeneratedCustomerMetadata
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON Service_GeneratedCustomerMetadata where
+  toJSON Service_GeneratedCustomerMetadata {..} =
+    Core.toJSON additional
+
+-- | A set of labels to apply to this service. Labels are key\/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., \"env=prod\", \"env=qa\"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.
+--
+-- /See:/ 'newService_Labels' smart constructor.
+newtype Service_Labels = Service_Labels
+  { additional :: (Core.HashMap Core.Text Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Service_Labels' with the minimum fields required to make a request.
+newService_Labels ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Text ->
+  Service_Labels
+newService_Labels additional =
+  Service_Labels {additional = additional}
+
+instance Core.FromJSON Service_Labels where
+  parseJSON =
+    Core.withObject
+      "Service_Labels"
+      (\o -> Service_Labels Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Service_Labels where
+  toJSON Service_Labels {..} = Core.toJSON additional
+
+-- | SSL configuration for a DomainMapping resource.
+--
+-- /See:/ 'newSslSettings' smart constructor.
+data SslSettings = SslSettings
+  { -- | ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will remove SSL support.By default, a managed certificate is automatically created for every domain mapping. To omit SSL support or to configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE request. You must be authorized to administer the AuthorizedCertificate resource to manually map it to a DomainMapping resource. Example: 12345.
+    certificateId :: (Core.Maybe Core.Text),
+    -- | ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate/id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate/id field with an UpdateDomainMappingRequest.\@OutputOnly
+    pendingManagedCertificateId :: (Core.Maybe Core.Text),
+    -- | SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.
+    sslManagementType :: (Core.Maybe SslSettings_SslManagementType)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'SslSettings' with the minimum fields required to make a request.
+newSslSettings ::
+  SslSettings
+newSslSettings =
+  SslSettings
+    { certificateId = Core.Nothing,
+      pendingManagedCertificateId = Core.Nothing,
+      sslManagementType = Core.Nothing
+    }
+
+instance Core.FromJSON SslSettings where
+  parseJSON =
+    Core.withObject
+      "SslSettings"
+      ( \o ->
+          SslSettings
+            Core.<$> (o Core..:? "certificateId")
+            Core.<*> (o Core..:? "pendingManagedCertificateId")
+            Core.<*> (o Core..:? "sslManagementType")
+      )
+
+instance Core.ToJSON SslSettings where
+  toJSON SslSettings {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("certificateId" Core..=) Core.<$> certificateId,
+            ("pendingManagedCertificateId" Core..=)
+              Core.<$> pendingManagedCertificateId,
+            ("sslManagementType" Core..=) Core.<$> sslManagementType
+          ]
+      )
+
+-- | Scheduler settings for standard environment.
+--
+-- /See:/ 'newStandardSchedulerSettings' smart constructor.
+data StandardSchedulerSettings = StandardSchedulerSettings
+  { -- | Maximum number of instances to run for this version. Set to 2147483647 to disable max_instances configuration.
+    maxInstances :: (Core.Maybe Core.Int32),
+    -- | Minimum number of instances to run for this version. Set to zero to disable min_instances configuration.
+    minInstances :: (Core.Maybe Core.Int32),
+    -- | Target CPU utilization ratio to maintain when scaling.
+    targetCpuUtilization :: (Core.Maybe Core.Double),
+    -- | Target throughput utilization ratio to maintain when scaling
+    targetThroughputUtilization :: (Core.Maybe Core.Double)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StandardSchedulerSettings' with the minimum fields required to make a request.
+newStandardSchedulerSettings ::
+  StandardSchedulerSettings
+newStandardSchedulerSettings =
+  StandardSchedulerSettings
+    { maxInstances = Core.Nothing,
+      minInstances = Core.Nothing,
+      targetCpuUtilization = Core.Nothing,
+      targetThroughputUtilization = Core.Nothing
+    }
+
+instance Core.FromJSON StandardSchedulerSettings where
+  parseJSON =
+    Core.withObject
+      "StandardSchedulerSettings"
+      ( \o ->
+          StandardSchedulerSettings
+            Core.<$> (o Core..:? "maxInstances")
+            Core.<*> (o Core..:? "minInstances")
+            Core.<*> (o Core..:? "targetCpuUtilization")
+            Core.<*> (o Core..:? "targetThroughputUtilization")
+      )
+
+instance Core.ToJSON StandardSchedulerSettings where
+  toJSON StandardSchedulerSettings {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("maxInstances" Core..=) Core.<$> maxInstances,
+            ("minInstances" Core..=) Core.<$> minInstances,
+            ("targetCpuUtilization" Core..=) Core.<$> targetCpuUtilization,
+            ("targetThroughputUtilization" Core..=)
+              Core.<$> targetThroughputUtilization
+          ]
+      )
+
+-- | Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.
+--
+-- /See:/ 'newStaticFilesHandler' smart constructor.
+data StaticFilesHandler = StaticFilesHandler
+  { -- | Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas.
+    applicationReadable :: (Core.Maybe Core.Bool),
+    -- | Time a static file served by this handler should be cached by web proxies and browsers.
+    expiration :: (Core.Maybe Core.Duration),
+    -- | HTTP headers to use for all responses from these URLs.
+    httpHeaders :: (Core.Maybe StaticFilesHandler_HttpHeaders),
+    -- | MIME type used to serve all files served by this handler.Defaults to file-specific MIME types, which are derived from each file\'s filename extension.
+    mimeType :: (Core.Maybe Core.Text),
+    -- | Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.
+    path :: (Core.Maybe Core.Text),
+    -- | Whether this handler should match the request if the file referenced by the handler does not exist.
+    requireMatchingFile :: (Core.Maybe Core.Bool),
+    -- | Regular expression that matches the file paths for all files that should be referenced by this handler.
+    uploadPathRegex :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StaticFilesHandler' with the minimum fields required to make a request.
+newStaticFilesHandler ::
+  StaticFilesHandler
+newStaticFilesHandler =
+  StaticFilesHandler
+    { applicationReadable = Core.Nothing,
+      expiration = Core.Nothing,
+      httpHeaders = Core.Nothing,
+      mimeType = Core.Nothing,
+      path = Core.Nothing,
+      requireMatchingFile = Core.Nothing,
+      uploadPathRegex = Core.Nothing
+    }
+
+instance Core.FromJSON StaticFilesHandler where
+  parseJSON =
+    Core.withObject
+      "StaticFilesHandler"
+      ( \o ->
+          StaticFilesHandler
+            Core.<$> (o Core..:? "applicationReadable")
+            Core.<*> (o Core..:? "expiration")
+            Core.<*> (o Core..:? "httpHeaders")
+            Core.<*> (o Core..:? "mimeType")
+            Core.<*> (o Core..:? "path")
+            Core.<*> (o Core..:? "requireMatchingFile")
+            Core.<*> (o Core..:? "uploadPathRegex")
+      )
+
+instance Core.ToJSON StaticFilesHandler where
+  toJSON StaticFilesHandler {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("applicationReadable" Core..=) Core.<$> applicationReadable,
+            ("expiration" Core..=) Core.<$> expiration,
+            ("httpHeaders" Core..=) Core.<$> httpHeaders,
+            ("mimeType" Core..=) Core.<$> mimeType,
+            ("path" Core..=) Core.<$> path,
+            ("requireMatchingFile" Core..=) Core.<$> requireMatchingFile,
+            ("uploadPathRegex" Core..=) Core.<$> uploadPathRegex
+          ]
+      )
+
+-- | HTTP headers to use for all responses from these URLs.
+--
+-- /See:/ 'newStaticFilesHandler_HttpHeaders' smart constructor.
+newtype StaticFilesHandler_HttpHeaders = StaticFilesHandler_HttpHeaders
+  { additional :: (Core.HashMap Core.Text Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'StaticFilesHandler_HttpHeaders' with the minimum fields required to make a request.
+newStaticFilesHandler_HttpHeaders ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Text ->
+  StaticFilesHandler_HttpHeaders
+newStaticFilesHandler_HttpHeaders additional =
+  StaticFilesHandler_HttpHeaders {additional = additional}
+
+instance Core.FromJSON StaticFilesHandler_HttpHeaders where
+  parseJSON =
+    Core.withObject
+      "StaticFilesHandler_HttpHeaders"
+      ( \o ->
+          StaticFilesHandler_HttpHeaders Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON StaticFilesHandler_HttpHeaders where
+  toJSON StaticFilesHandler_HttpHeaders {..} = Core.toJSON additional
+
+-- | The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https:\/\/github.com\/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https:\/\/cloud.google.com\/apis\/design\/errors).
+--
+-- /See:/ 'newStatus' smart constructor.
+data Status = Status
+  { -- | The status code, which should be an enum value of google.rpc.Code.
+    code :: (Core.Maybe Core.Int32),
+    -- | A list of messages that carry the error details. There is a common set of message types for APIs to use.
+    details :: (Core.Maybe [Status_DetailsItem]),
+    -- | A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+    message :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Status' with the minimum fields required to make a request.
+newStatus ::
+  Status
+newStatus =
+  Status
+    { code = Core.Nothing,
+      details = Core.Nothing,
+      message = Core.Nothing
+    }
+
+instance Core.FromJSON Status where
+  parseJSON =
+    Core.withObject
+      "Status"
+      ( \o ->
+          Status
+            Core.<$> (o Core..:? "code")
+            Core.<*> (o Core..:? "details")
+            Core.<*> (o Core..:? "message")
+      )
+
+instance Core.ToJSON Status where
+  toJSON Status {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("code" Core..=) Core.<$> code,
+            ("details" Core..=) Core.<$> details,
+            ("message" Core..=) Core.<$> message
+          ]
+      )
+
+--
+-- /See:/ 'newStatus_DetailsItem' smart constructor.
+newtype Status_DetailsItem = Status_DetailsItem
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Status_DetailsItem' with the minimum fields required to make a request.
+newStatus_DetailsItem ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Status_DetailsItem
+newStatus_DetailsItem additional =
+  Status_DetailsItem {additional = additional}
+
+instance Core.FromJSON Status_DetailsItem where
+  parseJSON =
+    Core.withObject
+      "Status_DetailsItem"
+      (\o -> Status_DetailsItem Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Status_DetailsItem where
+  toJSON Status_DetailsItem {..} = Core.toJSON additional
+
+-- | Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.
+--
+-- /See:/ 'newTrafficSplit' smart constructor.
+data TrafficSplit = TrafficSplit
+  { -- | Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.
+    allocations :: (Core.Maybe TrafficSplit_Allocations),
+    -- | Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.
+    shardBy :: (Core.Maybe TrafficSplit_ShardBy)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'TrafficSplit' with the minimum fields required to make a request.
+newTrafficSplit ::
+  TrafficSplit
+newTrafficSplit =
+  TrafficSplit {allocations = Core.Nothing, shardBy = Core.Nothing}
+
+instance Core.FromJSON TrafficSplit where
+  parseJSON =
+    Core.withObject
+      "TrafficSplit"
+      ( \o ->
+          TrafficSplit
+            Core.<$> (o Core..:? "allocations")
+            Core.<*> (o Core..:? "shardBy")
+      )
+
+instance Core.ToJSON TrafficSplit where
+  toJSON TrafficSplit {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("allocations" Core..=) Core.<$> allocations,
+            ("shardBy" Core..=) Core.<$> shardBy
+          ]
+      )
+
+-- | Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.
+--
+-- /See:/ 'newTrafficSplit_Allocations' smart constructor.
+newtype TrafficSplit_Allocations = TrafficSplit_Allocations
+  { additional :: (Core.HashMap Core.Text Core.Double)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'TrafficSplit_Allocations' with the minimum fields required to make a request.
+newTrafficSplit_Allocations ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Double ->
+  TrafficSplit_Allocations
+newTrafficSplit_Allocations additional =
+  TrafficSplit_Allocations {additional = additional}
+
+instance Core.FromJSON TrafficSplit_Allocations where
+  parseJSON =
+    Core.withObject
+      "TrafficSplit_Allocations"
+      (\o -> TrafficSplit_Allocations Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON TrafficSplit_Allocations where
+  toJSON TrafficSplit_Allocations {..} = Core.toJSON additional
+
+-- | Rules to match an HTTP request and dispatch that request to a service.
+--
+-- /See:/ 'newUrlDispatchRule' smart constructor.
+data UrlDispatchRule = UrlDispatchRule
+  { -- | Domain name to match against. The wildcard \"/\" is supported if specified before a period: \"/.\".Defaults to matching all domains: \"*\".
+    domain :: (Core.Maybe Core.Text),
+    -- | Pathname within the host. Must start with a \"\/\". A single \"*\" can be included at the end of the path.The sum of the lengths of the domain and path may not exceed 100 characters.
+    path :: (Core.Maybe Core.Text),
+    -- | Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: default.
+    service :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'UrlDispatchRule' with the minimum fields required to make a request.
+newUrlDispatchRule ::
+  UrlDispatchRule
+newUrlDispatchRule =
+  UrlDispatchRule
+    { domain = Core.Nothing,
+      path = Core.Nothing,
+      service = Core.Nothing
+    }
+
+instance Core.FromJSON UrlDispatchRule where
+  parseJSON =
+    Core.withObject
+      "UrlDispatchRule"
+      ( \o ->
+          UrlDispatchRule
+            Core.<$> (o Core..:? "domain")
+            Core.<*> (o Core..:? "path")
+            Core.<*> (o Core..:? "service")
+      )
+
+instance Core.ToJSON UrlDispatchRule where
+  toJSON UrlDispatchRule {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("domain" Core..=) Core.<$> domain,
+            ("path" Core..=) Core.<$> path,
+            ("service" Core..=) Core.<$> service
+          ]
+      )
+
+-- | URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.
+--
+-- /See:/ 'newUrlMap' smart constructor.
+data UrlMap = UrlMap
+  { -- | Uses API Endpoints to handle requests.
+    apiEndpoint :: (Core.Maybe ApiEndpointHandler),
+    -- | Action to take when users access resources that require authentication. Defaults to redirect.
+    authFailAction :: (Core.Maybe UrlMap_AuthFailAction),
+    -- | Level of login required to access this resource. Not supported for Node.js in the App Engine standard environment.
+    login :: (Core.Maybe UrlMap_Login),
+    -- | 30x code to use when performing redirects for the secure field. Defaults to 302.
+    redirectHttpResponseCode :: (Core.Maybe UrlMap_RedirectHttpResponseCode),
+    -- | Executes a script to handle the requests that match this URL pattern. Only the auto value is supported for Node.js in the App Engine standard environment, for example \"script\": \"auto\".
+    script :: (Core.Maybe ScriptHandler),
+    -- | Security (HTTPS) enforcement for this URL.
+    securityLevel :: (Core.Maybe UrlMap_SecurityLevel),
+    -- | Returns the contents of a file, such as an image, as the response.
+    staticFiles :: (Core.Maybe StaticFilesHandler),
+    -- | URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.
+    urlRegex :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'UrlMap' with the minimum fields required to make a request.
+newUrlMap ::
+  UrlMap
+newUrlMap =
+  UrlMap
+    { apiEndpoint = Core.Nothing,
+      authFailAction = Core.Nothing,
+      login = Core.Nothing,
+      redirectHttpResponseCode = Core.Nothing,
+      script = Core.Nothing,
+      securityLevel = Core.Nothing,
+      staticFiles = Core.Nothing,
+      urlRegex = Core.Nothing
+    }
+
+instance Core.FromJSON UrlMap where
+  parseJSON =
+    Core.withObject
+      "UrlMap"
+      ( \o ->
+          UrlMap
+            Core.<$> (o Core..:? "apiEndpoint")
+            Core.<*> (o Core..:? "authFailAction")
+            Core.<*> (o Core..:? "login")
+            Core.<*> (o Core..:? "redirectHttpResponseCode")
+            Core.<*> (o Core..:? "script")
+            Core.<*> (o Core..:? "securityLevel")
+            Core.<*> (o Core..:? "staticFiles")
+            Core.<*> (o Core..:? "urlRegex")
+      )
+
+instance Core.ToJSON UrlMap where
+  toJSON UrlMap {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("apiEndpoint" Core..=) Core.<$> apiEndpoint,
+            ("authFailAction" Core..=) Core.<$> authFailAction,
+            ("login" Core..=) Core.<$> login,
+            ("redirectHttpResponseCode" Core..=)
+              Core.<$> redirectHttpResponseCode,
+            ("script" Core..=) Core.<$> script,
+            ("securityLevel" Core..=) Core.<$> securityLevel,
+            ("staticFiles" Core..=) Core.<$> staticFiles,
+            ("urlRegex" Core..=) Core.<$> urlRegex
+          ]
+      )
+
+-- | A Version resource is a specific set of source code and configuration files that are deployed into a service.
+--
+-- /See:/ 'newVersion' smart constructor.
+data Version = Version
+  { -- | Serving configuration for Google Cloud Endpoints (https:\/\/cloud.google.com\/endpoints).Only returned in GET requests if view=FULL is set.
+    apiConfig :: (Core.Maybe ApiConfigHandler),
+    -- | Allows App Engine second generation runtimes to access the legacy bundled services.
+    appEngineApis :: (Core.Maybe Core.Bool),
+    -- | Automatic scaling is based on request rate, response latencies, and other application metrics. Instances are dynamically created and destroyed as needed in order to handle traffic.
+    automaticScaling :: (Core.Maybe AutomaticScaling),
+    -- | A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
+    basicScaling :: (Core.Maybe BasicScaling),
+    -- | Metadata settings that are supplied to this version to enable beta runtime features.
+    betaSettings :: (Core.Maybe Version_BetaSettings),
+    -- | Environment variables available to the build environment.Only returned in GET requests if view=FULL is set.
+    buildEnvVariables :: (Core.Maybe Version_BuildEnvVariables),
+    -- | Time that this version was created.\@OutputOnly
+    createTime :: (Core.Maybe Core.DateTime),
+    -- | Output only. Email address of the user who created this version.\@OutputOnly
+    createdBy :: (Core.Maybe Core.Text),
+    -- | Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding StaticFilesHandler (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StaticFilesHandler) does not specify its own expiration time.Only returned in GET requests if view=FULL is set.
+    defaultExpiration :: (Core.Maybe Core.Duration),
+    -- | Code and application artifacts that make up this version.Only returned in GET requests if view=FULL is set.
+    deployment :: (Core.Maybe Deployment),
+    -- | Output only. Total size in bytes of all the files that are included in this version and currently hosted on the App Engine disk.\@OutputOnly
+    diskUsageBytes :: (Core.Maybe Core.Int64),
+    -- | Cloud Endpoints configuration.If endpoints/api/service is set, the Cloud Endpoints Extensible Service Proxy will be provided to serve the API implemented by the app.
+    endpointsApiService :: (Core.Maybe EndpointsApiService),
+    -- | The entrypoint for the application.
+    entrypoint :: (Core.Maybe Entrypoint),
+    -- | App Engine execution environment for this version.Defaults to standard.
+    env :: (Core.Maybe Core.Text),
+    -- | Environment variables available to the application.Only returned in GET requests if view=FULL is set.
+    envVariables :: (Core.Maybe Version_EnvVariables),
+    -- | Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set.
+    errorHandlers :: (Core.Maybe [ErrorHandler]),
+    -- | Settings for App Engine flexible runtimes.
+    flexibleRuntimeSettings :: (Core.Maybe FlexibleRuntimeSettings),
+    -- | Additional Google Generated Customer Metadata, this field won\'t be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest
+    generatedCustomerMetadata :: (Core.Maybe Version_GeneratedCustomerMetadata),
+    -- | An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set.
+    handlers :: (Core.Maybe [UrlMap]),
+    -- | Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment.
+    healthCheck :: (Core.Maybe HealthCheck),
+    -- | Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\".
+    id :: (Core.Maybe Core.Text),
+    -- | Before an application can receive email or XMPP messages, the application must be configured to enable the service.
+    inboundServices :: (Core.Maybe [Version_InboundServicesItem]),
+    -- | Instance class that is used to run this version. Valid values are: AutomaticScaling: F1, F2, F4, F4/1G ManualScaling or BasicScaling: B1, B2, B4, B8, B4/1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or BasicScaling.
+    instanceClass :: (Core.Maybe Core.Text),
+    -- | Configuration for third-party Python runtime libraries that are required by the application.Only returned in GET requests if view=FULL is set.
+    libraries :: (Core.Maybe [Library]),
+    -- | Configures liveness health checking for instances. Unhealthy instances are stopped and replaced with new instances
+    livenessCheck :: (Core.Maybe LivenessCheck),
+    -- | A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. Manually scaled versions are sometimes referred to as \"backends\".
+    manualScaling :: (Core.Maybe ManualScaling),
+    -- | Output only. Full path to the Version resource in the API. Example: apps\/myapp\/services\/default\/versions\/v1.\@OutputOnly
+    name :: (Core.Maybe Core.Text),
+    -- | Extra network settings. Only applicable in the App Engine flexible environment.
+    network :: (Core.Maybe Network),
+    -- | Files that match this pattern will not be built into this version. Only applicable for Go runtimes.Only returned in GET requests if view=FULL is set.
+    nobuildFilesRegex :: (Core.Maybe Core.Text),
+    -- | Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation.
+    readinessCheck :: (Core.Maybe ReadinessCheck),
+    -- | Machine resources for this version. Only applicable in the App Engine flexible environment.
+    resources :: (Core.Maybe Resources),
+    -- | Desired runtime. Example: python27.
+    runtime :: (Core.Maybe Core.Text),
+    -- | The version of the API in the given runtime environment. Please see the app.yaml reference for valid values at https:\/\/cloud.google.com\/appengine\/docs\/standard\/\/config\/appref
+    runtimeApiVersion :: (Core.Maybe Core.Text),
+    -- | The channel of the runtime to use. Only available for some runtimes. Defaults to the default channel.
+    runtimeChannel :: (Core.Maybe Core.Text),
+    -- | The path or name of the app\'s main executable.
+    runtimeMainExecutablePath :: (Core.Maybe Core.Text),
+    -- | The identity that the deployed version will run as. Admin API will use the App Engine Appspot service account as default if this field is neither provided in app.yaml file nor through CLI flag.
+    serviceAccount :: (Core.Maybe Core.Text),
+    -- | Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING/STATUS/UNSPECIFIED is an invalid value. Defaults to SERVING.
+    servingStatus :: (Core.Maybe Version_ServingStatus),
+    -- | Whether multiple requests can be dispatched to this version at once.
+    threadsafe :: (Core.Maybe Core.Bool),
+    -- | Output only. Serving URL for this version. Example: \"https:\/\/myversion-dot-myservice-dot-myapp.appspot.com\"\@OutputOnly
+    versionUrl :: (Core.Maybe Core.Text),
+    -- | Whether to deploy this version in a container on a virtual machine.
+    vm :: (Core.Maybe Core.Bool),
+    -- | Enables VPC connectivity for standard apps.
+    vpcAccessConnector :: (Core.Maybe VpcAccessConnector),
+    -- | The Google Compute Engine zones that are supported by this version in the App Engine flexible environment. Deprecated.
+    zones :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Version' with the minimum fields required to make a request.
+newVersion ::
+  Version
+newVersion =
+  Version
+    { apiConfig = Core.Nothing,
+      appEngineApis = Core.Nothing,
+      automaticScaling = Core.Nothing,
+      basicScaling = Core.Nothing,
+      betaSettings = Core.Nothing,
+      buildEnvVariables = Core.Nothing,
+      createTime = Core.Nothing,
+      createdBy = Core.Nothing,
+      defaultExpiration = Core.Nothing,
+      deployment = Core.Nothing,
+      diskUsageBytes = Core.Nothing,
+      endpointsApiService = Core.Nothing,
+      entrypoint = Core.Nothing,
+      env = Core.Nothing,
+      envVariables = Core.Nothing,
+      errorHandlers = Core.Nothing,
+      flexibleRuntimeSettings = Core.Nothing,
+      generatedCustomerMetadata = Core.Nothing,
+      handlers = Core.Nothing,
+      healthCheck = Core.Nothing,
+      id = Core.Nothing,
+      inboundServices = Core.Nothing,
+      instanceClass = Core.Nothing,
+      libraries = Core.Nothing,
+      livenessCheck = Core.Nothing,
+      manualScaling = Core.Nothing,
+      name = Core.Nothing,
+      network = Core.Nothing,
+      nobuildFilesRegex = Core.Nothing,
+      readinessCheck = Core.Nothing,
+      resources = Core.Nothing,
+      runtime = Core.Nothing,
+      runtimeApiVersion = Core.Nothing,
+      runtimeChannel = Core.Nothing,
+      runtimeMainExecutablePath = Core.Nothing,
+      serviceAccount = Core.Nothing,
+      servingStatus = Core.Nothing,
+      threadsafe = Core.Nothing,
+      versionUrl = Core.Nothing,
+      vm = Core.Nothing,
+      vpcAccessConnector = Core.Nothing,
+      zones = Core.Nothing
+    }
+
+instance Core.FromJSON Version where
+  parseJSON =
+    Core.withObject
+      "Version"
+      ( \o ->
+          Version
+            Core.<$> (o Core..:? "apiConfig")
+            Core.<*> (o Core..:? "appEngineApis")
+            Core.<*> (o Core..:? "automaticScaling")
+            Core.<*> (o Core..:? "basicScaling")
+            Core.<*> (o Core..:? "betaSettings")
+            Core.<*> (o Core..:? "buildEnvVariables")
+            Core.<*> (o Core..:? "createTime")
+            Core.<*> (o Core..:? "createdBy")
+            Core.<*> (o Core..:? "defaultExpiration")
+            Core.<*> (o Core..:? "deployment")
+            Core.<*> (o Core..:? "diskUsageBytes" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "endpointsApiService")
+            Core.<*> (o Core..:? "entrypoint")
+            Core.<*> (o Core..:? "env")
+            Core.<*> (o Core..:? "envVariables")
+            Core.<*> (o Core..:? "errorHandlers")
+            Core.<*> (o Core..:? "flexibleRuntimeSettings")
+            Core.<*> (o Core..:? "generatedCustomerMetadata")
+            Core.<*> (o Core..:? "handlers")
+            Core.<*> (o Core..:? "healthCheck")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "inboundServices")
+            Core.<*> (o Core..:? "instanceClass")
+            Core.<*> (o Core..:? "libraries")
+            Core.<*> (o Core..:? "livenessCheck")
+            Core.<*> (o Core..:? "manualScaling")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "network")
+            Core.<*> (o Core..:? "nobuildFilesRegex")
+            Core.<*> (o Core..:? "readinessCheck")
+            Core.<*> (o Core..:? "resources")
+            Core.<*> (o Core..:? "runtime")
+            Core.<*> (o Core..:? "runtimeApiVersion")
+            Core.<*> (o Core..:? "runtimeChannel")
+            Core.<*> (o Core..:? "runtimeMainExecutablePath")
+            Core.<*> (o Core..:? "serviceAccount")
+            Core.<*> (o Core..:? "servingStatus")
+            Core.<*> (o Core..:? "threadsafe")
+            Core.<*> (o Core..:? "versionUrl")
+            Core.<*> (o Core..:? "vm")
+            Core.<*> (o Core..:? "vpcAccessConnector")
+            Core.<*> (o Core..:? "zones")
+      )
+
+instance Core.ToJSON Version where
+  toJSON Version {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("apiConfig" Core..=) Core.<$> apiConfig,
+            ("appEngineApis" Core..=) Core.<$> appEngineApis,
+            ("automaticScaling" Core..=) Core.<$> automaticScaling,
+            ("basicScaling" Core..=) Core.<$> basicScaling,
+            ("betaSettings" Core..=) Core.<$> betaSettings,
+            ("buildEnvVariables" Core..=) Core.<$> buildEnvVariables,
+            ("createTime" Core..=) Core.<$> createTime,
+            ("createdBy" Core..=) Core.<$> createdBy,
+            ("defaultExpiration" Core..=) Core.<$> defaultExpiration,
+            ("deployment" Core..=) Core.<$> deployment,
+            ("diskUsageBytes" Core..=)
+              Core.. Core.AsText
+              Core.<$> diskUsageBytes,
+            ("endpointsApiService" Core..=) Core.<$> endpointsApiService,
+            ("entrypoint" Core..=) Core.<$> entrypoint,
+            ("env" Core..=) Core.<$> env,
+            ("envVariables" Core..=) Core.<$> envVariables,
+            ("errorHandlers" Core..=) Core.<$> errorHandlers,
+            ("flexibleRuntimeSettings" Core..=)
+              Core.<$> flexibleRuntimeSettings,
+            ("generatedCustomerMetadata" Core..=)
+              Core.<$> generatedCustomerMetadata,
+            ("handlers" Core..=) Core.<$> handlers,
+            ("healthCheck" Core..=) Core.<$> healthCheck,
+            ("id" Core..=) Core.<$> id,
+            ("inboundServices" Core..=) Core.<$> inboundServices,
+            ("instanceClass" Core..=) Core.<$> instanceClass,
+            ("libraries" Core..=) Core.<$> libraries,
+            ("livenessCheck" Core..=) Core.<$> livenessCheck,
+            ("manualScaling" Core..=) Core.<$> manualScaling,
+            ("name" Core..=) Core.<$> name,
+            ("network" Core..=) Core.<$> network,
+            ("nobuildFilesRegex" Core..=) Core.<$> nobuildFilesRegex,
+            ("readinessCheck" Core..=) Core.<$> readinessCheck,
+            ("resources" Core..=) Core.<$> resources,
+            ("runtime" Core..=) Core.<$> runtime,
+            ("runtimeApiVersion" Core..=) Core.<$> runtimeApiVersion,
+            ("runtimeChannel" Core..=) Core.<$> runtimeChannel,
+            ("runtimeMainExecutablePath" Core..=)
+              Core.<$> runtimeMainExecutablePath,
+            ("serviceAccount" Core..=) Core.<$> serviceAccount,
+            ("servingStatus" Core..=) Core.<$> servingStatus,
+            ("threadsafe" Core..=) Core.<$> threadsafe,
+            ("versionUrl" Core..=) Core.<$> versionUrl,
+            ("vm" Core..=) Core.<$> vm,
+            ("vpcAccessConnector" Core..=) Core.<$> vpcAccessConnector,
+            ("zones" Core..=) Core.<$> zones
+          ]
+      )
+
+-- | Metadata settings that are supplied to this version to enable beta runtime features.
+--
+-- /See:/ 'newVersion_BetaSettings' smart constructor.
+newtype Version_BetaSettings = Version_BetaSettings
+  { additional :: (Core.HashMap Core.Text Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Version_BetaSettings' with the minimum fields required to make a request.
+newVersion_BetaSettings ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Text ->
+  Version_BetaSettings
+newVersion_BetaSettings additional =
+  Version_BetaSettings {additional = additional}
+
+instance Core.FromJSON Version_BetaSettings where
+  parseJSON =
+    Core.withObject
+      "Version_BetaSettings"
+      (\o -> Version_BetaSettings Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Version_BetaSettings where
+  toJSON Version_BetaSettings {..} = Core.toJSON additional
+
+-- | Environment variables available to the build environment.Only returned in GET requests if view=FULL is set.
+--
+-- /See:/ 'newVersion_BuildEnvVariables' smart constructor.
+newtype Version_BuildEnvVariables = Version_BuildEnvVariables
+  { additional :: (Core.HashMap Core.Text Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Version_BuildEnvVariables' with the minimum fields required to make a request.
+newVersion_BuildEnvVariables ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Text ->
+  Version_BuildEnvVariables
+newVersion_BuildEnvVariables additional =
+  Version_BuildEnvVariables {additional = additional}
+
+instance Core.FromJSON Version_BuildEnvVariables where
+  parseJSON =
+    Core.withObject
+      "Version_BuildEnvVariables"
+      ( \o ->
+          Version_BuildEnvVariables Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON Version_BuildEnvVariables where
+  toJSON Version_BuildEnvVariables {..} = Core.toJSON additional
+
+-- | Environment variables available to the application.Only returned in GET requests if view=FULL is set.
+--
+-- /See:/ 'newVersion_EnvVariables' smart constructor.
+newtype Version_EnvVariables = Version_EnvVariables
+  { additional :: (Core.HashMap Core.Text Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Version_EnvVariables' with the minimum fields required to make a request.
+newVersion_EnvVariables ::
+  -- |  See 'additional'.
+  Core.HashMap Core.Text Core.Text ->
+  Version_EnvVariables
+newVersion_EnvVariables additional =
+  Version_EnvVariables {additional = additional}
+
+instance Core.FromJSON Version_EnvVariables where
+  parseJSON =
+    Core.withObject
+      "Version_EnvVariables"
+      (\o -> Version_EnvVariables Core.<$> (Core.parseJSONObject o))
+
+instance Core.ToJSON Version_EnvVariables where
+  toJSON Version_EnvVariables {..} = Core.toJSON additional
+
+-- | Additional Google Generated Customer Metadata, this field won\'t be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest
+--
+-- /See:/ 'newVersion_GeneratedCustomerMetadata' smart constructor.
+newtype Version_GeneratedCustomerMetadata = Version_GeneratedCustomerMetadata
+  { -- | Properties of the object. Contains field \@type with type URL.
+    additional :: (Core.HashMap Core.Text Core.Value)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Version_GeneratedCustomerMetadata' with the minimum fields required to make a request.
+newVersion_GeneratedCustomerMetadata ::
+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.
+  Core.HashMap Core.Text Core.Value ->
+  Version_GeneratedCustomerMetadata
+newVersion_GeneratedCustomerMetadata additional =
+  Version_GeneratedCustomerMetadata {additional = additional}
+
+instance Core.FromJSON Version_GeneratedCustomerMetadata where
+  parseJSON =
+    Core.withObject
+      "Version_GeneratedCustomerMetadata"
+      ( \o ->
+          Version_GeneratedCustomerMetadata
+            Core.<$> (Core.parseJSONObject o)
+      )
+
+instance Core.ToJSON Version_GeneratedCustomerMetadata where
+  toJSON Version_GeneratedCustomerMetadata {..} =
+    Core.toJSON additional
+
+-- | Volumes mounted within the app container. Only applicable in the App Engine flexible environment.
+--
+-- /See:/ 'newVolume' smart constructor.
+data Volume = Volume
+  { -- | Unique name for the volume.
+    name :: (Core.Maybe Core.Text),
+    -- | Volume size in gigabytes.
+    sizeGb :: (Core.Maybe Core.Double),
+    -- | Underlying volume type, e.g. \'tmpfs\'.
+    volumeType :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Volume' with the minimum fields required to make a request.
+newVolume ::
+  Volume
+newVolume =
+  Volume
+    { name = Core.Nothing,
+      sizeGb = Core.Nothing,
+      volumeType = Core.Nothing
+    }
+
+instance Core.FromJSON Volume where
+  parseJSON =
+    Core.withObject
+      "Volume"
+      ( \o ->
+          Volume
+            Core.<$> (o Core..:? "name")
+            Core.<*> (o Core..:? "sizeGb")
+            Core.<*> (o Core..:? "volumeType")
+      )
+
+instance Core.ToJSON Volume where
+  toJSON Volume {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("name" Core..=) Core.<$> name,
+            ("sizeGb" Core..=) Core.<$> sizeGb,
+            ("volumeType" Core..=) Core.<$> volumeType
+          ]
+      )
+
+-- | VPC access connector specification.
+--
+-- /See:/ 'newVpcAccessConnector' smart constructor.
+data VpcAccessConnector = VpcAccessConnector
+  { -- | The egress setting for the connector, controlling what traffic is diverted through it.
+    egressSetting :: (Core.Maybe VpcAccessConnector_EgressSetting),
+    -- | Full Serverless VPC Access Connector name e.g. projects\/my-project\/locations\/us-central1\/connectors\/c1.
+    name :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'VpcAccessConnector' with the minimum fields required to make a request.
+newVpcAccessConnector ::
+  VpcAccessConnector
+newVpcAccessConnector =
+  VpcAccessConnector
+    { egressSetting = Core.Nothing,
+      name = Core.Nothing
+    }
+
+instance Core.FromJSON VpcAccessConnector where
+  parseJSON =
+    Core.withObject
+      "VpcAccessConnector"
+      ( \o ->
+          VpcAccessConnector
+            Core.<$> (o Core..:? "egressSetting")
+            Core.<*> (o Core..:? "name")
+      )
+
+instance Core.ToJSON VpcAccessConnector where
+  toJSON VpcAccessConnector {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("egressSetting" Core..=) Core.<$> egressSetting,
+            ("name" Core..=) Core.<$> name
+          ]
+      )
+
+-- | The zip file information for a zip deployment.
+--
+-- /See:/ 'newZipInfo' smart constructor.
+data ZipInfo = ZipInfo
+  { -- | An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.
+    filesCount :: (Core.Maybe Core.Int32),
+    -- | URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form \'http(s):\/\/storage.googleapis.com\/\/\'.
+    sourceUrl :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ZipInfo' with the minimum fields required to make a request.
+newZipInfo ::
+  ZipInfo
+newZipInfo =
+  ZipInfo {filesCount = Core.Nothing, sourceUrl = Core.Nothing}
+
+instance Core.FromJSON ZipInfo where
+  parseJSON =
+    Core.withObject
+      "ZipInfo"
+      ( \o ->
+          ZipInfo
+            Core.<$> (o Core..:? "filesCount")
+            Core.<*> (o Core..:? "sourceUrl")
+      )
+
+instance Core.ToJSON ZipInfo where
+  toJSON ZipInfo {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("filesCount" Core..=) Core.<$> filesCount,
+            ("sourceUrl" Core..=) Core.<$> sourceUrl
+          ]
+      )
diff --git a/gen/Gogol/AppEngine/Internal/Sum.hs b/gen/Gogol/AppEngine/Internal/Sum.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Internal/Sum.hs
@@ -0,0 +1,1935 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Internal.Sum
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Gogol.AppEngine.Internal.Sum
+  ( -- * Xgafv
+    Xgafv
+      ( Xgafv_1,
+        Xgafv_2,
+        ..
+      ),
+
+    -- * ApiConfigHandler_AuthFailAction
+    ApiConfigHandler_AuthFailAction
+      ( ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNSPECIFIED,
+        ApiConfigHandler_AuthFailAction_AUTHFAILACTIONREDIRECT,
+        ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED,
+        ..
+      ),
+
+    -- * ApiConfigHandler_Login
+    ApiConfigHandler_Login
+      ( ApiConfigHandler_Login_LOGINUNSPECIFIED,
+        ApiConfigHandler_Login_LOGINOPTIONAL,
+        ApiConfigHandler_Login_LOGINADMIN,
+        ApiConfigHandler_Login_LOGINREQUIRED,
+        ..
+      ),
+
+    -- * ApiConfigHandler_SecurityLevel
+    ApiConfigHandler_SecurityLevel
+      ( ApiConfigHandler_SecurityLevel_SECUREUNSPECIFIED,
+        ApiConfigHandler_SecurityLevel_SECUREDEFAULT,
+        ApiConfigHandler_SecurityLevel_SECURENEVER,
+        ApiConfigHandler_SecurityLevel_SECUREOPTIONAL,
+        ApiConfigHandler_SecurityLevel_SECUREALWAYS,
+        ..
+      ),
+
+    -- * Application_DatabaseType
+    Application_DatabaseType
+      ( Application_DatabaseType_DATABASETYPEUNSPECIFIED,
+        Application_DatabaseType_CLOUDDATASTORE,
+        Application_DatabaseType_CLOUDFIRESTORE,
+        Application_DatabaseType_CLOUDDATASTORECOMPATIBILITY,
+        ..
+      ),
+
+    -- * Application_ServingStatus
+    Application_ServingStatus
+      ( Application_ServingStatus_Unspecified,
+        Application_ServingStatus_Serving,
+        Application_ServingStatus_USERDISABLED,
+        Application_ServingStatus_SYSTEMDISABLED,
+        ..
+      ),
+
+    -- * Application_SslPolicy
+    Application_SslPolicy
+      ( Application_SslPolicy_SSLPOLICYUNSPECIFIED,
+        Application_SslPolicy_Default,
+        Application_SslPolicy_Modern,
+        ..
+      ),
+
+    -- * ContainerState_State
+    ContainerState_State
+      ( ContainerState_State_UNKNOWNSTATE,
+        ContainerState_State_ON,
+        ContainerState_State_Off,
+        ContainerState_State_Deleted,
+        ..
+      ),
+
+    -- * EndpointsApiService_RolloutStrategy
+    EndpointsApiService_RolloutStrategy
+      ( EndpointsApiService_RolloutStrategy_UNSPECIFIEDROLLOUTSTRATEGY,
+        EndpointsApiService_RolloutStrategy_Fixed,
+        EndpointsApiService_RolloutStrategy_Managed,
+        ..
+      ),
+
+    -- * ErrorHandler_ErrorCode
+    ErrorHandler_ErrorCode
+      ( ErrorHandler_ErrorCode_ERRORCODEUNSPECIFIED,
+        ErrorHandler_ErrorCode_ERRORCODEDEFAULT,
+        ErrorHandler_ErrorCode_ERRORCODEOVERQUOTA,
+        ErrorHandler_ErrorCode_ERRORCODEDOSAPIDENIAL,
+        ErrorHandler_ErrorCode_ERRORCODETIMEOUT,
+        ..
+      ),
+
+    -- * FirewallRule_Action
+    FirewallRule_Action
+      ( FirewallRule_Action_UNSPECIFIEDACTION,
+        FirewallRule_Action_Allow,
+        FirewallRule_Action_Deny,
+        ..
+      ),
+
+    -- * Instance_Availability
+    Instance_Availability
+      ( Instance_Availability_Unspecified,
+        Instance_Availability_Resident,
+        Instance_Availability_Dynamic,
+        ..
+      ),
+
+    -- * Instance_VmLiveness
+    Instance_VmLiveness
+      ( Instance_VmLiveness_LIVENESSSTATEUNSPECIFIED,
+        Instance_VmLiveness_Unknown,
+        Instance_VmLiveness_Healthy,
+        Instance_VmLiveness_Unhealthy,
+        Instance_VmLiveness_Draining,
+        Instance_VmLiveness_Timeout,
+        ..
+      ),
+
+    -- * ManagedCertificate_Status
+    ManagedCertificate_Status
+      ( ManagedCertificate_Status_MANAGEMENTSTATUSUNSPECIFIED,
+        ManagedCertificate_Status_OK,
+        ManagedCertificate_Status_Pending,
+        ManagedCertificate_Status_FAILEDRETRYINGNOTVISIBLE,
+        ManagedCertificate_Status_FAILEDPERMANENT,
+        ManagedCertificate_Status_FAILEDRETRYINGCAAFORBIDDEN,
+        ManagedCertificate_Status_FAILEDRETRYINGCAACHECKING,
+        ..
+      ),
+
+    -- * Network_InstanceIpMode
+    Network_InstanceIpMode
+      ( Network_InstanceIpMode_INSTANCEIPMODEUNSPECIFIED,
+        Network_InstanceIpMode_External,
+        Network_InstanceIpMode_Internal,
+        ..
+      ),
+
+    -- * NetworkSettings_IngressTrafficAllowed
+    NetworkSettings_IngressTrafficAllowed
+      ( NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDUNSPECIFIED,
+        NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDALL,
+        NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALONLY,
+        NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALANDLB,
+        ..
+      ),
+
+    -- * ProjectEvent_Phase
+    ProjectEvent_Phase
+      ( ProjectEvent_Phase_CONTAINEREVENTPHASEUNSPECIFIED,
+        ProjectEvent_Phase_BEFORERESOURCEHANDLING,
+        ProjectEvent_Phase_AFTERRESOURCEHANDLING,
+        ..
+      ),
+
+    -- * ProjectsMetadata_ConsumerProjectState
+    ProjectsMetadata_ConsumerProjectState
+      ( ProjectsMetadata_ConsumerProjectState_UNKNOWNSTATE,
+        ProjectsMetadata_ConsumerProjectState_ON,
+        ProjectsMetadata_ConsumerProjectState_Off,
+        ProjectsMetadata_ConsumerProjectState_Deleted,
+        ..
+      ),
+
+    -- * Reasons_Abuse
+    Reasons_Abuse
+      ( Reasons_Abuse_ABUSEUNKNOWNREASON,
+        Reasons_Abuse_ABUSECONTROLPLANESYNC,
+        Reasons_Abuse_Suspend,
+        Reasons_Abuse_Reinstate,
+        ..
+      ),
+
+    -- * Reasons_Billing
+    Reasons_Billing
+      ( Reasons_Billing_BILLINGUNKNOWNREASON,
+        Reasons_Billing_BILLINGCONTROLPLANESYNC,
+        Reasons_Billing_Probation,
+        Reasons_Billing_Close,
+        Reasons_Billing_Open,
+        ..
+      ),
+
+    -- * Reasons_DataGovernance
+    Reasons_DataGovernance
+      ( Reasons_DataGovernance_DATAGOVERNANCEUNKNOWNREASON,
+        Reasons_DataGovernance_DATAGOVERNANCECONTROLPLANESYNC,
+        Reasons_DataGovernance_Hide,
+        Reasons_DataGovernance_Unhide,
+        Reasons_DataGovernance_Purge,
+        ..
+      ),
+
+    -- * Reasons_ServiceActivation
+    Reasons_ServiceActivation
+      ( Reasons_ServiceActivation_SERVICEACTIVATIONSTATUSUNSPECIFIED,
+        Reasons_ServiceActivation_SERVICEACTIVATIONENABLED,
+        Reasons_ServiceActivation_SERVICEACTIVATIONDISABLED,
+        Reasons_ServiceActivation_SERVICEACTIVATIONDISABLEDFULL,
+        Reasons_ServiceActivation_SERVICEACTIVATIONUNKNOWNREASON,
+        ..
+      ),
+
+    -- * Reasons_ServiceManagement
+    Reasons_ServiceManagement
+      ( Reasons_ServiceManagement_SERVICEMANAGEMENTUNKNOWNREASON,
+        Reasons_ServiceManagement_SERVICEMANAGEMENTCONTROLPLANESYNC,
+        Reasons_ServiceManagement_Activation,
+        Reasons_ServiceManagement_PREPAREDEACTIVATION,
+        Reasons_ServiceManagement_ABORTDEACTIVATION,
+        Reasons_ServiceManagement_COMMITDEACTIVATION,
+        ..
+      ),
+
+    -- * ResourceRecord_Type
+    ResourceRecord_Type
+      ( ResourceRecord_Type_RECORDTYPEUNSPECIFIED,
+        ResourceRecord_Type_A,
+        ResourceRecord_Type_Aaaa,
+        ResourceRecord_Type_Cname,
+        ..
+      ),
+
+    -- * Runtime_Environment
+    Runtime_Environment
+      ( Runtime_Environment_ENVIRONMENTUNSPECIFIED,
+        Runtime_Environment_Standard,
+        Runtime_Environment_Flexible,
+        ..
+      ),
+
+    -- * Runtime_Stage
+    Runtime_Stage
+      ( Runtime_Stage_RUNTIMESTAGEUNSPECIFIED,
+        Runtime_Stage_Development,
+        Runtime_Stage_Alpha,
+        Runtime_Stage_Beta,
+        Runtime_Stage_GA,
+        Runtime_Stage_Deprecated,
+        Runtime_Stage_Decommissioned,
+        Runtime_Stage_ENDOFSUPPORT,
+        ..
+      ),
+
+    -- * SslSettings_SslManagementType
+    SslSettings_SslManagementType
+      ( SslSettings_SslManagementType_SSLMANAGEMENTTYPEUNSPECIFIED,
+        SslSettings_SslManagementType_Automatic,
+        SslSettings_SslManagementType_Manual,
+        ..
+      ),
+
+    -- * TrafficSplit_ShardBy
+    TrafficSplit_ShardBy
+      ( TrafficSplit_ShardBy_Unspecified,
+        TrafficSplit_ShardBy_Cookie,
+        TrafficSplit_ShardBy_IP,
+        TrafficSplit_ShardBy_Random,
+        ..
+      ),
+
+    -- * UrlMap_AuthFailAction
+    UrlMap_AuthFailAction
+      ( UrlMap_AuthFailAction_AUTHFAILACTIONUNSPECIFIED,
+        UrlMap_AuthFailAction_AUTHFAILACTIONREDIRECT,
+        UrlMap_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED,
+        ..
+      ),
+
+    -- * UrlMap_Login
+    UrlMap_Login
+      ( UrlMap_Login_LOGINUNSPECIFIED,
+        UrlMap_Login_LOGINOPTIONAL,
+        UrlMap_Login_LOGINADMIN,
+        UrlMap_Login_LOGINREQUIRED,
+        ..
+      ),
+
+    -- * UrlMap_RedirectHttpResponseCode
+    UrlMap_RedirectHttpResponseCode
+      ( UrlMap_RedirectHttpResponseCode_REDIRECTHTTPRESPONSECODEUNSPECIFIED,
+        UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_301,
+        UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_302,
+        UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_303,
+        UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_307,
+        ..
+      ),
+
+    -- * UrlMap_SecurityLevel
+    UrlMap_SecurityLevel
+      ( UrlMap_SecurityLevel_SECUREUNSPECIFIED,
+        UrlMap_SecurityLevel_SECUREDEFAULT,
+        UrlMap_SecurityLevel_SECURENEVER,
+        UrlMap_SecurityLevel_SECUREOPTIONAL,
+        UrlMap_SecurityLevel_SECUREALWAYS,
+        ..
+      ),
+
+    -- * Version_InboundServicesItem
+    Version_InboundServicesItem
+      ( Version_InboundServicesItem_INBOUNDSERVICEUNSPECIFIED,
+        Version_InboundServicesItem_INBOUNDSERVICEMAIL,
+        Version_InboundServicesItem_INBOUNDSERVICEMAILBOUNCE,
+        Version_InboundServicesItem_INBOUNDSERVICEXMPPERROR,
+        Version_InboundServicesItem_INBOUNDSERVICEXMPPMESSAGE,
+        Version_InboundServicesItem_INBOUNDSERVICEXMPPSUBSCRIBE,
+        Version_InboundServicesItem_INBOUNDSERVICEXMPPPRESENCE,
+        Version_InboundServicesItem_INBOUNDSERVICECHANNELPRESENCE,
+        Version_InboundServicesItem_INBOUNDSERVICEWARMUP,
+        ..
+      ),
+
+    -- * Version_ServingStatus
+    Version_ServingStatus
+      ( Version_ServingStatus_SERVINGSTATUSUNSPECIFIED,
+        Version_ServingStatus_Serving,
+        Version_ServingStatus_Stopped,
+        ..
+      ),
+
+    -- * VpcAccessConnector_EgressSetting
+    VpcAccessConnector_EgressSetting
+      ( VpcAccessConnector_EgressSetting_EGRESSSETTINGUNSPECIFIED,
+        VpcAccessConnector_EgressSetting_ALLTRAFFIC,
+        VpcAccessConnector_EgressSetting_PRIVATEIPRANGES,
+        ..
+      ),
+
+    -- * AppsAuthorizedCertificatesGetView
+    AppsAuthorizedCertificatesGetView
+      ( AppsAuthorizedCertificatesGetView_BASICCERTIFICATE,
+        AppsAuthorizedCertificatesGetView_FULLCERTIFICATE,
+        ..
+      ),
+
+    -- * AppsAuthorizedCertificatesListView
+    AppsAuthorizedCertificatesListView
+      ( AppsAuthorizedCertificatesListView_BASICCERTIFICATE,
+        AppsAuthorizedCertificatesListView_FULLCERTIFICATE,
+        ..
+      ),
+
+    -- * AppsDomainMappingsCreateOverrideStrategy
+    AppsDomainMappingsCreateOverrideStrategy
+      ( AppsDomainMappingsCreateOverrideStrategy_UNSPECIFIEDDOMAINOVERRIDESTRATEGY,
+        AppsDomainMappingsCreateOverrideStrategy_Strict,
+        AppsDomainMappingsCreateOverrideStrategy_Override,
+        ..
+      ),
+
+    -- * AppsGetIncludeExtraData
+    AppsGetIncludeExtraData
+      ( AppsGetIncludeExtraData_INCLUDEEXTRADATAUNSPECIFIED,
+        AppsGetIncludeExtraData_INCLUDEEXTRADATANONE,
+        AppsGetIncludeExtraData_INCLUDEGOOGLEGENERATEDMETADATA,
+        ..
+      ),
+
+    -- * AppsListRuntimesEnvironment
+    AppsListRuntimesEnvironment
+      ( AppsListRuntimesEnvironment_ENVIRONMENTUNSPECIFIED,
+        AppsListRuntimesEnvironment_Standard,
+        AppsListRuntimesEnvironment_Flexible,
+        ..
+      ),
+
+    -- * AppsServicesVersionsGetView
+    AppsServicesVersionsGetView
+      ( AppsServicesVersionsGetView_Basic,
+        AppsServicesVersionsGetView_Full,
+        ..
+      ),
+
+    -- * AppsServicesVersionsListView
+    AppsServicesVersionsListView
+      ( AppsServicesVersionsListView_Basic,
+        AppsServicesVersionsListView_Full,
+        ..
+      ),
+  )
+where
+
+import Gogol.Prelude qualified as Core
+
+-- | V1 error format.
+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | v1 error format
+pattern Xgafv_1 :: Xgafv
+pattern Xgafv_1 = Xgafv "1"
+
+-- | v2 error format
+pattern Xgafv_2 :: Xgafv
+pattern Xgafv_2 = Xgafv "2"
+
+{-# COMPLETE
+  Xgafv_1,
+  Xgafv_2,
+  Xgafv
+  #-}
+
+-- | Action to take when users access resources that require authentication. Defaults to redirect.
+newtype ApiConfigHandler_AuthFailAction = ApiConfigHandler_AuthFailAction {fromApiConfigHandler_AuthFailAction :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. AUTH/FAIL/ACTION_REDIRECT is assumed.
+pattern ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNSPECIFIED :: ApiConfigHandler_AuthFailAction
+pattern ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNSPECIFIED = ApiConfigHandler_AuthFailAction "AUTH_FAIL_ACTION_UNSPECIFIED"
+
+-- | Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.
+pattern ApiConfigHandler_AuthFailAction_AUTHFAILACTIONREDIRECT :: ApiConfigHandler_AuthFailAction
+pattern ApiConfigHandler_AuthFailAction_AUTHFAILACTIONREDIRECT = ApiConfigHandler_AuthFailAction "AUTH_FAIL_ACTION_REDIRECT"
+
+-- | Rejects request with a 401 HTTP status code and an error message.
+pattern ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED :: ApiConfigHandler_AuthFailAction
+pattern ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED = ApiConfigHandler_AuthFailAction "AUTH_FAIL_ACTION_UNAUTHORIZED"
+
+{-# COMPLETE
+  ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNSPECIFIED,
+  ApiConfigHandler_AuthFailAction_AUTHFAILACTIONREDIRECT,
+  ApiConfigHandler_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED,
+  ApiConfigHandler_AuthFailAction
+  #-}
+
+-- | Level of login required to access this resource. Defaults to optional.
+newtype ApiConfigHandler_Login = ApiConfigHandler_Login {fromApiConfigHandler_Login :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. LOGIN_OPTIONAL is assumed.
+pattern ApiConfigHandler_Login_LOGINUNSPECIFIED :: ApiConfigHandler_Login
+pattern ApiConfigHandler_Login_LOGINUNSPECIFIED = ApiConfigHandler_Login "LOGIN_UNSPECIFIED"
+
+-- | Does not require that the user is signed in.
+pattern ApiConfigHandler_Login_LOGINOPTIONAL :: ApiConfigHandler_Login
+pattern ApiConfigHandler_Login_LOGINOPTIONAL = ApiConfigHandler_Login "LOGIN_OPTIONAL"
+
+-- | If the user is not signed in, the auth/fail/action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth/fail/action. If the user is an administrator, the handler proceeds.
+pattern ApiConfigHandler_Login_LOGINADMIN :: ApiConfigHandler_Login
+pattern ApiConfigHandler_Login_LOGINADMIN = ApiConfigHandler_Login "LOGIN_ADMIN"
+
+-- | If the user has signed in, the handler proceeds normally. Otherwise, the auth/fail/action is taken.
+pattern ApiConfigHandler_Login_LOGINREQUIRED :: ApiConfigHandler_Login
+pattern ApiConfigHandler_Login_LOGINREQUIRED = ApiConfigHandler_Login "LOGIN_REQUIRED"
+
+{-# COMPLETE
+  ApiConfigHandler_Login_LOGINUNSPECIFIED,
+  ApiConfigHandler_Login_LOGINOPTIONAL,
+  ApiConfigHandler_Login_LOGINADMIN,
+  ApiConfigHandler_Login_LOGINREQUIRED,
+  ApiConfigHandler_Login
+  #-}
+
+-- | Security (HTTPS) enforcement for this URL.
+newtype ApiConfigHandler_SecurityLevel = ApiConfigHandler_SecurityLevel {fromApiConfigHandler_SecurityLevel :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified.
+pattern ApiConfigHandler_SecurityLevel_SECUREUNSPECIFIED :: ApiConfigHandler_SecurityLevel
+pattern ApiConfigHandler_SecurityLevel_SECUREUNSPECIFIED = ApiConfigHandler_SecurityLevel "SECURE_UNSPECIFIED"
+
+-- | Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.
+pattern ApiConfigHandler_SecurityLevel_SECUREDEFAULT :: ApiConfigHandler_SecurityLevel
+pattern ApiConfigHandler_SecurityLevel_SECUREDEFAULT = ApiConfigHandler_SecurityLevel "SECURE_DEFAULT"
+
+-- | Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.
+pattern ApiConfigHandler_SecurityLevel_SECURENEVER :: ApiConfigHandler_SecurityLevel
+pattern ApiConfigHandler_SecurityLevel_SECURENEVER = ApiConfigHandler_SecurityLevel "SECURE_NEVER"
+
+-- | Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.
+pattern ApiConfigHandler_SecurityLevel_SECUREOPTIONAL :: ApiConfigHandler_SecurityLevel
+pattern ApiConfigHandler_SecurityLevel_SECUREOPTIONAL = ApiConfigHandler_SecurityLevel "SECURE_OPTIONAL"
+
+-- | Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect.
+pattern ApiConfigHandler_SecurityLevel_SECUREALWAYS :: ApiConfigHandler_SecurityLevel
+pattern ApiConfigHandler_SecurityLevel_SECUREALWAYS = ApiConfigHandler_SecurityLevel "SECURE_ALWAYS"
+
+{-# COMPLETE
+  ApiConfigHandler_SecurityLevel_SECUREUNSPECIFIED,
+  ApiConfigHandler_SecurityLevel_SECUREDEFAULT,
+  ApiConfigHandler_SecurityLevel_SECURENEVER,
+  ApiConfigHandler_SecurityLevel_SECUREOPTIONAL,
+  ApiConfigHandler_SecurityLevel_SECUREALWAYS,
+  ApiConfigHandler_SecurityLevel
+  #-}
+
+-- | The type of the Cloud Firestore or Cloud Datastore database associated with this application.
+newtype Application_DatabaseType = Application_DatabaseType {fromApplication_DatabaseType :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Database type is unspecified.
+pattern Application_DatabaseType_DATABASETYPEUNSPECIFIED :: Application_DatabaseType
+pattern Application_DatabaseType_DATABASETYPEUNSPECIFIED = Application_DatabaseType "DATABASE_TYPE_UNSPECIFIED"
+
+-- | Cloud Datastore
+pattern Application_DatabaseType_CLOUDDATASTORE :: Application_DatabaseType
+pattern Application_DatabaseType_CLOUDDATASTORE = Application_DatabaseType "CLOUD_DATASTORE"
+
+-- | Cloud Firestore Native
+pattern Application_DatabaseType_CLOUDFIRESTORE :: Application_DatabaseType
+pattern Application_DatabaseType_CLOUDFIRESTORE = Application_DatabaseType "CLOUD_FIRESTORE"
+
+-- | Cloud Firestore in Datastore Mode
+pattern Application_DatabaseType_CLOUDDATASTORECOMPATIBILITY :: Application_DatabaseType
+pattern Application_DatabaseType_CLOUDDATASTORECOMPATIBILITY = Application_DatabaseType "CLOUD_DATASTORE_COMPATIBILITY"
+
+{-# COMPLETE
+  Application_DatabaseType_DATABASETYPEUNSPECIFIED,
+  Application_DatabaseType_CLOUDDATASTORE,
+  Application_DatabaseType_CLOUDFIRESTORE,
+  Application_DatabaseType_CLOUDDATASTORECOMPATIBILITY,
+  Application_DatabaseType
+  #-}
+
+-- | Serving status of this application.
+newtype Application_ServingStatus = Application_ServingStatus {fromApplication_ServingStatus :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Serving status is unspecified.
+pattern Application_ServingStatus_Unspecified :: Application_ServingStatus
+pattern Application_ServingStatus_Unspecified = Application_ServingStatus "UNSPECIFIED"
+
+-- | Application is serving.
+pattern Application_ServingStatus_Serving :: Application_ServingStatus
+pattern Application_ServingStatus_Serving = Application_ServingStatus "SERVING"
+
+-- | Application has been disabled by the user.
+pattern Application_ServingStatus_USERDISABLED :: Application_ServingStatus
+pattern Application_ServingStatus_USERDISABLED = Application_ServingStatus "USER_DISABLED"
+
+-- | Application has been disabled by the system.
+pattern Application_ServingStatus_SYSTEMDISABLED :: Application_ServingStatus
+pattern Application_ServingStatus_SYSTEMDISABLED = Application_ServingStatus "SYSTEM_DISABLED"
+
+{-# COMPLETE
+  Application_ServingStatus_Unspecified,
+  Application_ServingStatus_Serving,
+  Application_ServingStatus_USERDISABLED,
+  Application_ServingStatus_SYSTEMDISABLED,
+  Application_ServingStatus
+  #-}
+
+-- | The SSL policy that will be applied to the application. If set to Modern it will restrict traffic with TLS \< 1.2 and allow only Modern Ciphers suite
+newtype Application_SslPolicy = Application_SslPolicy {fromApplication_SslPolicy :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Required by linter. Will work same as DEFAULT
+pattern Application_SslPolicy_SSLPOLICYUNSPECIFIED :: Application_SslPolicy
+pattern Application_SslPolicy_SSLPOLICYUNSPECIFIED = Application_SslPolicy "SSL_POLICY_UNSPECIFIED"
+
+-- | DEFAULT is to allow all TLS versions and cipher suites supported by App Engine
+pattern Application_SslPolicy_Default :: Application_SslPolicy
+pattern Application_SslPolicy_Default = Application_SslPolicy "DEFAULT"
+
+-- | MODERN is to allow only TLS 1.2 and TLS 1.3 along with Modern cipher suites only
+pattern Application_SslPolicy_Modern :: Application_SslPolicy
+pattern Application_SslPolicy_Modern = Application_SslPolicy "MODERN"
+
+{-# COMPLETE
+  Application_SslPolicy_SSLPOLICYUNSPECIFIED,
+  Application_SslPolicy_Default,
+  Application_SslPolicy_Modern,
+  Application_SslPolicy
+  #-}
+
+-- | The current state of the container. This state is the culmination of all of the opinions from external systems that CCFE knows about of the container.
+newtype ContainerState_State = ContainerState_State {fromContainerState_State :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | A container should never be in an unknown state. Receipt of a container with this state is an error.
+pattern ContainerState_State_UNKNOWNSTATE :: ContainerState_State
+pattern ContainerState_State_UNKNOWNSTATE = ContainerState_State "UNKNOWN_STATE"
+
+-- | CCFE considers the container to be serving or transitioning into serving.
+pattern ContainerState_State_ON :: ContainerState_State
+pattern ContainerState_State_ON = ContainerState_State "ON"
+
+-- | CCFE considers the container to be in an OFF state. This could occur due to various factors. The state could be triggered by Google-internal audits (ex. abuse suspension, billing closed) or cleanups trigged by compliance systems (ex. data governance hide). User-initiated events such as service management deactivation trigger a container to an OFF state.CLHs might choose to do nothing in this case or to turn off costly resources. CLHs need to consider the customer experience if an ON\/OFF\/ON sequence of state transitions occurs vs. the cost of deleting resources, keeping metadata about resources, or even keeping resources live for a period of time.CCFE will not send any new customer requests to the CLH when the container is in an OFF state. However, CCFE will allow all previous customer requests relayed to CLH to complete.
+pattern ContainerState_State_Off :: ContainerState_State
+pattern ContainerState_State_Off = ContainerState_State "OFF"
+
+-- | This state indicates that the container has been (or is being) completely removed. This is often due to a data governance purge request and therefore resources should be deleted when this state is reached.
+pattern ContainerState_State_Deleted :: ContainerState_State
+pattern ContainerState_State_Deleted = ContainerState_State "DELETED"
+
+{-# COMPLETE
+  ContainerState_State_UNKNOWNSTATE,
+  ContainerState_State_ON,
+  ContainerState_State_Off,
+  ContainerState_State_Deleted,
+  ContainerState_State
+  #-}
+
+-- | Endpoints rollout strategy. If FIXED, config/id must be specified. If MANAGED, config/id must be omitted.
+newtype EndpointsApiService_RolloutStrategy = EndpointsApiService_RolloutStrategy {fromEndpointsApiService_RolloutStrategy :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. Defaults to FIXED.
+pattern EndpointsApiService_RolloutStrategy_UNSPECIFIEDROLLOUTSTRATEGY :: EndpointsApiService_RolloutStrategy
+pattern EndpointsApiService_RolloutStrategy_UNSPECIFIEDROLLOUTSTRATEGY = EndpointsApiService_RolloutStrategy "UNSPECIFIED_ROLLOUT_STRATEGY"
+
+-- | Endpoints service configuration ID will be fixed to the configuration ID specified by config_id.
+pattern EndpointsApiService_RolloutStrategy_Fixed :: EndpointsApiService_RolloutStrategy
+pattern EndpointsApiService_RolloutStrategy_Fixed = EndpointsApiService_RolloutStrategy "FIXED"
+
+-- | Endpoints service configuration ID will be updated with each rollout.
+pattern EndpointsApiService_RolloutStrategy_Managed :: EndpointsApiService_RolloutStrategy
+pattern EndpointsApiService_RolloutStrategy_Managed = EndpointsApiService_RolloutStrategy "MANAGED"
+
+{-# COMPLETE
+  EndpointsApiService_RolloutStrategy_UNSPECIFIEDROLLOUTSTRATEGY,
+  EndpointsApiService_RolloutStrategy_Fixed,
+  EndpointsApiService_RolloutStrategy_Managed,
+  EndpointsApiService_RolloutStrategy
+  #-}
+
+-- | Error condition this handler applies to.
+newtype ErrorHandler_ErrorCode = ErrorHandler_ErrorCode {fromErrorHandler_ErrorCode :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. ERROR/CODE/DEFAULT is assumed.
+pattern ErrorHandler_ErrorCode_ERRORCODEUNSPECIFIED :: ErrorHandler_ErrorCode
+pattern ErrorHandler_ErrorCode_ERRORCODEUNSPECIFIED = ErrorHandler_ErrorCode "ERROR_CODE_UNSPECIFIED"
+
+-- | All other error types.
+pattern ErrorHandler_ErrorCode_ERRORCODEDEFAULT :: ErrorHandler_ErrorCode
+pattern ErrorHandler_ErrorCode_ERRORCODEDEFAULT = ErrorHandler_ErrorCode "ERROR_CODE_DEFAULT"
+
+-- | Application has exceeded a resource quota.
+pattern ErrorHandler_ErrorCode_ERRORCODEOVERQUOTA :: ErrorHandler_ErrorCode
+pattern ErrorHandler_ErrorCode_ERRORCODEOVERQUOTA = ErrorHandler_ErrorCode "ERROR_CODE_OVER_QUOTA"
+
+-- | Client blocked by the application\'s Denial of Service protection configuration.
+pattern ErrorHandler_ErrorCode_ERRORCODEDOSAPIDENIAL :: ErrorHandler_ErrorCode
+pattern ErrorHandler_ErrorCode_ERRORCODEDOSAPIDENIAL = ErrorHandler_ErrorCode "ERROR_CODE_DOS_API_DENIAL"
+
+-- | Deadline reached before the application responds.
+pattern ErrorHandler_ErrorCode_ERRORCODETIMEOUT :: ErrorHandler_ErrorCode
+pattern ErrorHandler_ErrorCode_ERRORCODETIMEOUT = ErrorHandler_ErrorCode "ERROR_CODE_TIMEOUT"
+
+{-# COMPLETE
+  ErrorHandler_ErrorCode_ERRORCODEUNSPECIFIED,
+  ErrorHandler_ErrorCode_ERRORCODEDEFAULT,
+  ErrorHandler_ErrorCode_ERRORCODEOVERQUOTA,
+  ErrorHandler_ErrorCode_ERRORCODEDOSAPIDENIAL,
+  ErrorHandler_ErrorCode_ERRORCODETIMEOUT,
+  ErrorHandler_ErrorCode
+  #-}
+
+-- | The action to take on matched requests.
+newtype FirewallRule_Action = FirewallRule_Action {fromFirewallRule_Action :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+pattern FirewallRule_Action_UNSPECIFIEDACTION :: FirewallRule_Action
+pattern FirewallRule_Action_UNSPECIFIEDACTION = FirewallRule_Action "UNSPECIFIED_ACTION"
+
+-- | Matching requests are allowed.
+pattern FirewallRule_Action_Allow :: FirewallRule_Action
+pattern FirewallRule_Action_Allow = FirewallRule_Action "ALLOW"
+
+-- | Matching requests are denied.
+pattern FirewallRule_Action_Deny :: FirewallRule_Action
+pattern FirewallRule_Action_Deny = FirewallRule_Action "DENY"
+
+{-# COMPLETE
+  FirewallRule_Action_UNSPECIFIEDACTION,
+  FirewallRule_Action_Allow,
+  FirewallRule_Action_Deny,
+  FirewallRule_Action
+  #-}
+
+-- | Output only. Availability of the instance.
+newtype Instance_Availability = Instance_Availability {fromInstance_Availability :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+pattern Instance_Availability_Unspecified :: Instance_Availability
+pattern Instance_Availability_Unspecified = Instance_Availability "UNSPECIFIED"
+
+pattern Instance_Availability_Resident :: Instance_Availability
+pattern Instance_Availability_Resident = Instance_Availability "RESIDENT"
+
+pattern Instance_Availability_Dynamic :: Instance_Availability
+pattern Instance_Availability_Dynamic = Instance_Availability "DYNAMIC"
+
+{-# COMPLETE
+  Instance_Availability_Unspecified,
+  Instance_Availability_Resident,
+  Instance_Availability_Dynamic,
+  Instance_Availability
+  #-}
+
+-- | Output only. The liveness health check of this instance. Only applicable for instances in App Engine flexible environment.
+newtype Instance_VmLiveness = Instance_VmLiveness {fromInstance_VmLiveness :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | There is no liveness health check for the instance. Only applicable for instances in App Engine standard environment.
+pattern Instance_VmLiveness_LIVENESSSTATEUNSPECIFIED :: Instance_VmLiveness
+pattern Instance_VmLiveness_LIVENESSSTATEUNSPECIFIED = Instance_VmLiveness "LIVENESS_STATE_UNSPECIFIED"
+
+-- | The health checking system is aware of the instance but its health is not known at the moment.
+pattern Instance_VmLiveness_Unknown :: Instance_VmLiveness
+pattern Instance_VmLiveness_Unknown = Instance_VmLiveness "UNKNOWN"
+
+-- | The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.
+pattern Instance_VmLiveness_Healthy :: Instance_VmLiveness
+pattern Instance_VmLiveness_Healthy = Instance_VmLiveness "HEALTHY"
+
+-- | The instance is reachable, but does not conform to the requirements defined by the health check.
+pattern Instance_VmLiveness_Unhealthy :: Instance_VmLiveness
+pattern Instance_VmLiveness_Unhealthy = Instance_VmLiveness "UNHEALTHY"
+
+-- | The instance is being drained. The existing connections to the instance have time to complete, but the new ones are being refused.
+pattern Instance_VmLiveness_Draining :: Instance_VmLiveness
+pattern Instance_VmLiveness_Draining = Instance_VmLiveness "DRAINING"
+
+-- | The instance is unreachable i.e. a connection to the application health checking endpoint cannot be established, or the server does not respond within the specified timeout.
+pattern Instance_VmLiveness_Timeout :: Instance_VmLiveness
+pattern Instance_VmLiveness_Timeout = Instance_VmLiveness "TIMEOUT"
+
+{-# COMPLETE
+  Instance_VmLiveness_LIVENESSSTATEUNSPECIFIED,
+  Instance_VmLiveness_Unknown,
+  Instance_VmLiveness_Healthy,
+  Instance_VmLiveness_Unhealthy,
+  Instance_VmLiveness_Draining,
+  Instance_VmLiveness_Timeout,
+  Instance_VmLiveness
+  #-}
+
+-- | Status of certificate management. Refers to the most recent certificate acquisition or renewal attempt.\@OutputOnly
+newtype ManagedCertificate_Status = ManagedCertificate_Status {fromManagedCertificate_Status :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+pattern ManagedCertificate_Status_MANAGEMENTSTATUSUNSPECIFIED :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_MANAGEMENTSTATUSUNSPECIFIED = ManagedCertificate_Status "MANAGEMENT_STATUS_UNSPECIFIED"
+
+-- | Certificate was successfully obtained and inserted into the serving system.
+pattern ManagedCertificate_Status_OK :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_OK = ManagedCertificate_Status "OK"
+
+-- | Certificate is under active attempts to acquire or renew.
+pattern ManagedCertificate_Status_Pending :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_Pending = ManagedCertificate_Status "PENDING"
+
+-- | Most recent renewal failed due to an invalid DNS setup and will be retried. Renewal attempts will continue to fail until the certificate domain\'s DNS configuration is fixed. The last successfully provisioned certificate may still be serving.
+pattern ManagedCertificate_Status_FAILEDRETRYINGNOTVISIBLE :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_FAILEDRETRYINGNOTVISIBLE = ManagedCertificate_Status "FAILED_RETRYING_NOT_VISIBLE"
+
+-- | All renewal attempts have been exhausted, likely due to an invalid DNS setup.
+pattern ManagedCertificate_Status_FAILEDPERMANENT :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_FAILEDPERMANENT = ManagedCertificate_Status "FAILED_PERMANENT"
+
+-- | Most recent renewal failed due to an explicit CAA record that does not include one of the in-use CAs (Google CA and Let\'s Encrypt). Renewals will continue to fail until the CAA is reconfigured. The last successfully provisioned certificate may still be serving.
+pattern ManagedCertificate_Status_FAILEDRETRYINGCAAFORBIDDEN :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_FAILEDRETRYINGCAAFORBIDDEN = ManagedCertificate_Status "FAILED_RETRYING_CAA_FORBIDDEN"
+
+-- | Most recent renewal failed due to a CAA retrieval failure. This means that the domain\'s DNS provider does not properly handle CAA records, failing requests for CAA records when no CAA records are defined. Renewals will continue to fail until the DNS provider is changed or a CAA record is added for the given domain. The last successfully provisioned certificate may still be serving.
+pattern ManagedCertificate_Status_FAILEDRETRYINGCAACHECKING :: ManagedCertificate_Status
+pattern ManagedCertificate_Status_FAILEDRETRYINGCAACHECKING = ManagedCertificate_Status "FAILED_RETRYING_CAA_CHECKING"
+
+{-# COMPLETE
+  ManagedCertificate_Status_MANAGEMENTSTATUSUNSPECIFIED,
+  ManagedCertificate_Status_OK,
+  ManagedCertificate_Status_Pending,
+  ManagedCertificate_Status_FAILEDRETRYINGNOTVISIBLE,
+  ManagedCertificate_Status_FAILEDPERMANENT,
+  ManagedCertificate_Status_FAILEDRETRYINGCAAFORBIDDEN,
+  ManagedCertificate_Status_FAILEDRETRYINGCAACHECKING,
+  ManagedCertificate_Status
+  #-}
+
+-- | The IP mode for instances. Only applicable in the App Engine flexible environment.
+newtype Network_InstanceIpMode = Network_InstanceIpMode {fromNetwork_InstanceIpMode :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Unspecified is treated as EXTERNAL.
+pattern Network_InstanceIpMode_INSTANCEIPMODEUNSPECIFIED :: Network_InstanceIpMode
+pattern Network_InstanceIpMode_INSTANCEIPMODEUNSPECIFIED = Network_InstanceIpMode "INSTANCE_IP_MODE_UNSPECIFIED"
+
+-- | Instances are created with both internal and external IP addresses.
+pattern Network_InstanceIpMode_External :: Network_InstanceIpMode
+pattern Network_InstanceIpMode_External = Network_InstanceIpMode "EXTERNAL"
+
+-- | Instances are created with internal IP addresses only.
+pattern Network_InstanceIpMode_Internal :: Network_InstanceIpMode
+pattern Network_InstanceIpMode_Internal = Network_InstanceIpMode "INTERNAL"
+
+{-# COMPLETE
+  Network_InstanceIpMode_INSTANCEIPMODEUNSPECIFIED,
+  Network_InstanceIpMode_External,
+  Network_InstanceIpMode_Internal,
+  Network_InstanceIpMode
+  #-}
+
+-- | The ingress settings for version or service.
+newtype NetworkSettings_IngressTrafficAllowed = NetworkSettings_IngressTrafficAllowed {fromNetworkSettings_IngressTrafficAllowed :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Unspecified
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDUNSPECIFIED :: NetworkSettings_IngressTrafficAllowed
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDUNSPECIFIED = NetworkSettings_IngressTrafficAllowed "INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED"
+
+-- | Allow HTTP traffic from public and private sources.
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDALL :: NetworkSettings_IngressTrafficAllowed
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDALL = NetworkSettings_IngressTrafficAllowed "INGRESS_TRAFFIC_ALLOWED_ALL"
+
+-- | Allow HTTP traffic from only private VPC sources.
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALONLY :: NetworkSettings_IngressTrafficAllowed
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALONLY = NetworkSettings_IngressTrafficAllowed "INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY"
+
+-- | Allow HTTP traffic from private VPC sources and through load balancers.
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALANDLB :: NetworkSettings_IngressTrafficAllowed
+pattern NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALANDLB = NetworkSettings_IngressTrafficAllowed "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB"
+
+{-# COMPLETE
+  NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDUNSPECIFIED,
+  NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDALL,
+  NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALONLY,
+  NetworkSettings_IngressTrafficAllowed_INGRESSTRAFFICALLOWEDINTERNALANDLB,
+  NetworkSettings_IngressTrafficAllowed
+  #-}
+
+-- | Phase indicates when in the container event propagation this event is being communicated. Events are sent before and after the per-resource events are propagated. required
+newtype ProjectEvent_Phase = ProjectEvent_Phase {fromProjectEvent_Phase :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+pattern ProjectEvent_Phase_CONTAINEREVENTPHASEUNSPECIFIED :: ProjectEvent_Phase
+pattern ProjectEvent_Phase_CONTAINEREVENTPHASEUNSPECIFIED = ProjectEvent_Phase "CONTAINER_EVENT_PHASE_UNSPECIFIED"
+
+pattern ProjectEvent_Phase_BEFORERESOURCEHANDLING :: ProjectEvent_Phase
+pattern ProjectEvent_Phase_BEFORERESOURCEHANDLING = ProjectEvent_Phase "BEFORE_RESOURCE_HANDLING"
+
+pattern ProjectEvent_Phase_AFTERRESOURCEHANDLING :: ProjectEvent_Phase
+pattern ProjectEvent_Phase_AFTERRESOURCEHANDLING = ProjectEvent_Phase "AFTER_RESOURCE_HANDLING"
+
+{-# COMPLETE
+  ProjectEvent_Phase_CONTAINEREVENTPHASEUNSPECIFIED,
+  ProjectEvent_Phase_BEFORERESOURCEHANDLING,
+  ProjectEvent_Phase_AFTERRESOURCEHANDLING,
+  ProjectEvent_Phase
+  #-}
+
+-- | The CCFE state of the consumer project. It is the same state that is communicated to the CLH during project events. Notice that this field is not set in the DB, it is only set in this proto when communicated to CLH in the side channel.
+newtype ProjectsMetadata_ConsumerProjectState = ProjectsMetadata_ConsumerProjectState {fromProjectsMetadata_ConsumerProjectState :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | A container should never be in an unknown state. Receipt of a container with this state is an error.
+pattern ProjectsMetadata_ConsumerProjectState_UNKNOWNSTATE :: ProjectsMetadata_ConsumerProjectState
+pattern ProjectsMetadata_ConsumerProjectState_UNKNOWNSTATE = ProjectsMetadata_ConsumerProjectState "UNKNOWN_STATE"
+
+-- | CCFE considers the container to be serving or transitioning into serving.
+pattern ProjectsMetadata_ConsumerProjectState_ON :: ProjectsMetadata_ConsumerProjectState
+pattern ProjectsMetadata_ConsumerProjectState_ON = ProjectsMetadata_ConsumerProjectState "ON"
+
+-- | CCFE considers the container to be in an OFF state. This could occur due to various factors. The state could be triggered by Google-internal audits (ex. abuse suspension, billing closed) or cleanups trigged by compliance systems (ex. data governance hide). User-initiated events such as service management deactivation trigger a container to an OFF state.CLHs might choose to do nothing in this case or to turn off costly resources. CLHs need to consider the customer experience if an ON\/OFF\/ON sequence of state transitions occurs vs. the cost of deleting resources, keeping metadata about resources, or even keeping resources live for a period of time.CCFE will not send any new customer requests to the CLH when the container is in an OFF state. However, CCFE will allow all previous customer requests relayed to CLH to complete.
+pattern ProjectsMetadata_ConsumerProjectState_Off :: ProjectsMetadata_ConsumerProjectState
+pattern ProjectsMetadata_ConsumerProjectState_Off = ProjectsMetadata_ConsumerProjectState "OFF"
+
+-- | This state indicates that the container has been (or is being) completely removed. This is often due to a data governance purge request and therefore resources should be deleted when this state is reached.
+pattern ProjectsMetadata_ConsumerProjectState_Deleted :: ProjectsMetadata_ConsumerProjectState
+pattern ProjectsMetadata_ConsumerProjectState_Deleted = ProjectsMetadata_ConsumerProjectState "DELETED"
+
+{-# COMPLETE
+  ProjectsMetadata_ConsumerProjectState_UNKNOWNSTATE,
+  ProjectsMetadata_ConsumerProjectState_ON,
+  ProjectsMetadata_ConsumerProjectState_Off,
+  ProjectsMetadata_ConsumerProjectState_Deleted,
+  ProjectsMetadata_ConsumerProjectState
+  #-}
+
+newtype Reasons_Abuse = Reasons_Abuse {fromReasons_Abuse :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | An unknown reason indicates that the abuse system has not sent a signal for this container.
+pattern Reasons_Abuse_ABUSEUNKNOWNREASON :: Reasons_Abuse
+pattern Reasons_Abuse_ABUSEUNKNOWNREASON = Reasons_Abuse "ABUSE_UNKNOWN_REASON"
+
+-- | Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.
+pattern Reasons_Abuse_ABUSECONTROLPLANESYNC :: Reasons_Abuse
+pattern Reasons_Abuse_ABUSECONTROLPLANESYNC = Reasons_Abuse "ABUSE_CONTROL_PLANE_SYNC"
+
+-- | If a container is deemed abusive we receive a suspend signal. Suspend is a reason to put the container into an INTERNAL_OFF state.
+pattern Reasons_Abuse_Suspend :: Reasons_Abuse
+pattern Reasons_Abuse_Suspend = Reasons_Abuse "SUSPEND"
+
+-- | Containers that were once considered abusive can later be deemed non-abusive. When this happens we must reinstate the container. Reinstate is a reason to put the container into an ON state.
+pattern Reasons_Abuse_Reinstate :: Reasons_Abuse
+pattern Reasons_Abuse_Reinstate = Reasons_Abuse "REINSTATE"
+
+{-# COMPLETE
+  Reasons_Abuse_ABUSEUNKNOWNREASON,
+  Reasons_Abuse_ABUSECONTROLPLANESYNC,
+  Reasons_Abuse_Suspend,
+  Reasons_Abuse_Reinstate,
+  Reasons_Abuse
+  #-}
+
+newtype Reasons_Billing = Reasons_Billing {fromReasons_Billing :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | An unknown reason indicates that the billing system has not sent a signal for this container.
+pattern Reasons_Billing_BILLINGUNKNOWNREASON :: Reasons_Billing
+pattern Reasons_Billing_BILLINGUNKNOWNREASON = Reasons_Billing "BILLING_UNKNOWN_REASON"
+
+-- | Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.
+pattern Reasons_Billing_BILLINGCONTROLPLANESYNC :: Reasons_Billing
+pattern Reasons_Billing_BILLINGCONTROLPLANESYNC = Reasons_Billing "BILLING_CONTROL_PLANE_SYNC"
+
+-- | Minor infractions cause a probation signal to be sent. Probation is a reason to put the container into a ON state even though it is a negative signal. CCFE will block mutations for this container while it is on billing probation, but the CLH is expected to serve non-mutation requests.
+pattern Reasons_Billing_Probation :: Reasons_Billing
+pattern Reasons_Billing_Probation = Reasons_Billing "PROBATION"
+
+-- | When a billing account is closed, it is a stronger signal about non-payment. Close is a reason to put the container into an INTERNAL_OFF state.
+pattern Reasons_Billing_Close :: Reasons_Billing
+pattern Reasons_Billing_Close = Reasons_Billing "CLOSE"
+
+-- | Consumers can re-open billing accounts and update accounts to pull them out of probation. When this happens, we get a signal that the account is open. Open is a reason to put the container into an ON state.
+pattern Reasons_Billing_Open :: Reasons_Billing
+pattern Reasons_Billing_Open = Reasons_Billing "OPEN"
+
+{-# COMPLETE
+  Reasons_Billing_BILLINGUNKNOWNREASON,
+  Reasons_Billing_BILLINGCONTROLPLANESYNC,
+  Reasons_Billing_Probation,
+  Reasons_Billing_Close,
+  Reasons_Billing_Open,
+  Reasons_Billing
+  #-}
+
+newtype Reasons_DataGovernance = Reasons_DataGovernance {fromReasons_DataGovernance :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | An unknown reason indicates that data governance has not sent a signal for this container.
+pattern Reasons_DataGovernance_DATAGOVERNANCEUNKNOWNREASON :: Reasons_DataGovernance
+pattern Reasons_DataGovernance_DATAGOVERNANCEUNKNOWNREASON = Reasons_DataGovernance "DATA_GOVERNANCE_UNKNOWN_REASON"
+
+-- | Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.
+pattern Reasons_DataGovernance_DATAGOVERNANCECONTROLPLANESYNC :: Reasons_DataGovernance
+pattern Reasons_DataGovernance_DATAGOVERNANCECONTROLPLANESYNC = Reasons_DataGovernance "DATA_GOVERNANCE_CONTROL_PLANE_SYNC"
+
+-- | When a container is deleted we retain some data for a period of time to allow the consumer to change their mind. Data governance sends a signal to hide the data when this occurs. Hide is a reason to put the container in an INTERNAL_OFF state.
+pattern Reasons_DataGovernance_Hide :: Reasons_DataGovernance
+pattern Reasons_DataGovernance_Hide = Reasons_DataGovernance "HIDE"
+
+-- | The decision to un-delete a container can be made. When this happens data governance tells us to unhide any hidden data. Unhide is a reason to put the container in an ON state.
+pattern Reasons_DataGovernance_Unhide :: Reasons_DataGovernance
+pattern Reasons_DataGovernance_Unhide = Reasons_DataGovernance "UNHIDE"
+
+-- | After a period of time data must be completely removed from our systems. When data governance sends a purge signal we need to remove data. Purge is a reason to put the container in a DELETED state. Purge is the only event that triggers a delete mutation. All other events have update semantics.
+pattern Reasons_DataGovernance_Purge :: Reasons_DataGovernance
+pattern Reasons_DataGovernance_Purge = Reasons_DataGovernance "PURGE"
+
+{-# COMPLETE
+  Reasons_DataGovernance_DATAGOVERNANCEUNKNOWNREASON,
+  Reasons_DataGovernance_DATAGOVERNANCECONTROLPLANESYNC,
+  Reasons_DataGovernance_Hide,
+  Reasons_DataGovernance_Unhide,
+  Reasons_DataGovernance_Purge,
+  Reasons_DataGovernance
+  #-}
+
+-- | Consumer Container denotes if the service is active within a project or not. This information could be used to clean up resources in case service in DISABLED_FULL i.e. Service is inactive > 30 days.
+newtype Reasons_ServiceActivation = Reasons_ServiceActivation {fromReasons_ServiceActivation :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Default Unspecified status
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONSTATUSUNSPECIFIED :: Reasons_ServiceActivation
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONSTATUSUNSPECIFIED = Reasons_ServiceActivation "SERVICE_ACTIVATION_STATUS_UNSPECIFIED"
+
+-- | Service is active in the project.
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONENABLED :: Reasons_ServiceActivation
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONENABLED = Reasons_ServiceActivation "SERVICE_ACTIVATION_ENABLED"
+
+-- | Service is disabled in the project recently i.e., within last 24 hours.
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONDISABLED :: Reasons_ServiceActivation
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONDISABLED = Reasons_ServiceActivation "SERVICE_ACTIVATION_DISABLED"
+
+-- | Service has been disabled for configured grace_period (default 30 days).
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONDISABLEDFULL :: Reasons_ServiceActivation
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONDISABLEDFULL = Reasons_ServiceActivation "SERVICE_ACTIVATION_DISABLED_FULL"
+
+-- | Happens when PSM cannot determine the status of service in a project Could happen due to variety of reasons like PERMISSION_DENIED or Project got deleted etc.
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONUNKNOWNREASON :: Reasons_ServiceActivation
+pattern Reasons_ServiceActivation_SERVICEACTIVATIONUNKNOWNREASON = Reasons_ServiceActivation "SERVICE_ACTIVATION_UNKNOWN_REASON"
+
+{-# COMPLETE
+  Reasons_ServiceActivation_SERVICEACTIVATIONSTATUSUNSPECIFIED,
+  Reasons_ServiceActivation_SERVICEACTIVATIONENABLED,
+  Reasons_ServiceActivation_SERVICEACTIVATIONDISABLED,
+  Reasons_ServiceActivation_SERVICEACTIVATIONDISABLEDFULL,
+  Reasons_ServiceActivation_SERVICEACTIVATIONUNKNOWNREASON,
+  Reasons_ServiceActivation
+  #-}
+
+newtype Reasons_ServiceManagement = Reasons_ServiceManagement {fromReasons_ServiceManagement :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | An unknown reason indicates that we have not received a signal from service management about this container. Since containers are created by request of service management, this reason should never be set.
+pattern Reasons_ServiceManagement_SERVICEMANAGEMENTUNKNOWNREASON :: Reasons_ServiceManagement
+pattern Reasons_ServiceManagement_SERVICEMANAGEMENTUNKNOWNREASON = Reasons_ServiceManagement "SERVICE_MANAGEMENT_UNKNOWN_REASON"
+
+-- | Due to various reasons CCFE might proactively restate a container state to a CLH to ensure that the CLH and CCFE are both aware of the container state. This reason can be tied to any of the states.
+pattern Reasons_ServiceManagement_SERVICEMANAGEMENTCONTROLPLANESYNC :: Reasons_ServiceManagement
+pattern Reasons_ServiceManagement_SERVICEMANAGEMENTCONTROLPLANESYNC = Reasons_ServiceManagement "SERVICE_MANAGEMENT_CONTROL_PLANE_SYNC"
+
+-- | When a customer activates an API CCFE notifies the CLH and sets the container to the ON state.
+pattern Reasons_ServiceManagement_Activation :: Reasons_ServiceManagement
+pattern Reasons_ServiceManagement_Activation = Reasons_ServiceManagement "ACTIVATION"
+
+-- | When a customer deactivates and API service management starts a two-step process to perform the deactivation. The first step is to prepare. Prepare is a reason to put the container in a EXTERNAL_OFF state.
+pattern Reasons_ServiceManagement_PREPAREDEACTIVATION :: Reasons_ServiceManagement
+pattern Reasons_ServiceManagement_PREPAREDEACTIVATION = Reasons_ServiceManagement "PREPARE_DEACTIVATION"
+
+-- | If the deactivation is cancelled, service managed needs to abort the deactivation. Abort is a reason to put the container in an ON state.
+pattern Reasons_ServiceManagement_ABORTDEACTIVATION :: Reasons_ServiceManagement
+pattern Reasons_ServiceManagement_ABORTDEACTIVATION = Reasons_ServiceManagement "ABORT_DEACTIVATION"
+
+-- | If the deactivation is followed through with, service management needs to finish deactivation. Commit is a reason to put the container in a DELETED state.
+pattern Reasons_ServiceManagement_COMMITDEACTIVATION :: Reasons_ServiceManagement
+pattern Reasons_ServiceManagement_COMMITDEACTIVATION = Reasons_ServiceManagement "COMMIT_DEACTIVATION"
+
+{-# COMPLETE
+  Reasons_ServiceManagement_SERVICEMANAGEMENTUNKNOWNREASON,
+  Reasons_ServiceManagement_SERVICEMANAGEMENTCONTROLPLANESYNC,
+  Reasons_ServiceManagement_Activation,
+  Reasons_ServiceManagement_PREPAREDEACTIVATION,
+  Reasons_ServiceManagement_ABORTDEACTIVATION,
+  Reasons_ServiceManagement_COMMITDEACTIVATION,
+  Reasons_ServiceManagement
+  #-}
+
+-- | Resource record type. Example: AAAA.
+newtype ResourceRecord_Type = ResourceRecord_Type {fromResourceRecord_Type :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | An unknown resource record.
+pattern ResourceRecord_Type_RECORDTYPEUNSPECIFIED :: ResourceRecord_Type
+pattern ResourceRecord_Type_RECORDTYPEUNSPECIFIED = ResourceRecord_Type "RECORD_TYPE_UNSPECIFIED"
+
+-- | An A resource record. Data is an IPv4 address.
+pattern ResourceRecord_Type_A :: ResourceRecord_Type
+pattern ResourceRecord_Type_A = ResourceRecord_Type "A"
+
+-- | An AAAA resource record. Data is an IPv6 address.
+pattern ResourceRecord_Type_Aaaa :: ResourceRecord_Type
+pattern ResourceRecord_Type_Aaaa = ResourceRecord_Type "AAAA"
+
+-- | A CNAME resource record. Data is a domain name to be aliased.
+pattern ResourceRecord_Type_Cname :: ResourceRecord_Type
+pattern ResourceRecord_Type_Cname = ResourceRecord_Type "CNAME"
+
+{-# COMPLETE
+  ResourceRecord_Type_RECORDTYPEUNSPECIFIED,
+  ResourceRecord_Type_A,
+  ResourceRecord_Type_Aaaa,
+  ResourceRecord_Type_Cname,
+  ResourceRecord_Type
+  #-}
+
+-- | The environment of the runtime.
+newtype Runtime_Environment = Runtime_Environment {fromRuntime_Environment :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Default value.
+pattern Runtime_Environment_ENVIRONMENTUNSPECIFIED :: Runtime_Environment
+pattern Runtime_Environment_ENVIRONMENTUNSPECIFIED = Runtime_Environment "ENVIRONMENT_UNSPECIFIED"
+
+-- | App Engine Standard.
+pattern Runtime_Environment_Standard :: Runtime_Environment
+pattern Runtime_Environment_Standard = Runtime_Environment "STANDARD"
+
+-- | App Engine Flexible
+pattern Runtime_Environment_Flexible :: Runtime_Environment
+pattern Runtime_Environment_Flexible = Runtime_Environment "FLEXIBLE"
+
+{-# COMPLETE
+  Runtime_Environment_ENVIRONMENTUNSPECIFIED,
+  Runtime_Environment_Standard,
+  Runtime_Environment_Flexible,
+  Runtime_Environment
+  #-}
+
+-- | The stage of life this runtime is in, e.g., BETA, GA, etc.
+newtype Runtime_Stage = Runtime_Stage {fromRuntime_Stage :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified.
+pattern Runtime_Stage_RUNTIMESTAGEUNSPECIFIED :: Runtime_Stage
+pattern Runtime_Stage_RUNTIMESTAGEUNSPECIFIED = Runtime_Stage "RUNTIME_STAGE_UNSPECIFIED"
+
+-- | The runtime is in development.
+pattern Runtime_Stage_Development :: Runtime_Stage
+pattern Runtime_Stage_Development = Runtime_Stage "DEVELOPMENT"
+
+-- | The runtime is in the Alpha stage.
+pattern Runtime_Stage_Alpha :: Runtime_Stage
+pattern Runtime_Stage_Alpha = Runtime_Stage "ALPHA"
+
+-- | The runtime is in the Beta stage.
+pattern Runtime_Stage_Beta :: Runtime_Stage
+pattern Runtime_Stage_Beta = Runtime_Stage "BETA"
+
+-- | The runtime is generally available.
+pattern Runtime_Stage_GA :: Runtime_Stage
+pattern Runtime_Stage_GA = Runtime_Stage "GA"
+
+-- | The runtime is deprecated.
+pattern Runtime_Stage_Deprecated :: Runtime_Stage
+pattern Runtime_Stage_Deprecated = Runtime_Stage "DEPRECATED"
+
+-- | The runtime is no longer supported.
+pattern Runtime_Stage_Decommissioned :: Runtime_Stage
+pattern Runtime_Stage_Decommissioned = Runtime_Stage "DECOMMISSIONED"
+
+-- | The runtime is end of support.
+pattern Runtime_Stage_ENDOFSUPPORT :: Runtime_Stage
+pattern Runtime_Stage_ENDOFSUPPORT = Runtime_Stage "END_OF_SUPPORT"
+
+{-# COMPLETE
+  Runtime_Stage_RUNTIMESTAGEUNSPECIFIED,
+  Runtime_Stage_Development,
+  Runtime_Stage_Alpha,
+  Runtime_Stage_Beta,
+  Runtime_Stage_GA,
+  Runtime_Stage_Deprecated,
+  Runtime_Stage_Decommissioned,
+  Runtime_Stage_ENDOFSUPPORT,
+  Runtime_Stage
+  #-}
+
+-- | SSL management type for this domain. If AUTOMATIC, a managed certificate is automatically provisioned. If MANUAL, certificate_id must be manually specified in order to configure SSL for this domain.
+newtype SslSettings_SslManagementType = SslSettings_SslManagementType {fromSslSettings_SslManagementType :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Defaults to AUTOMATIC.
+pattern SslSettings_SslManagementType_SSLMANAGEMENTTYPEUNSPECIFIED :: SslSettings_SslManagementType
+pattern SslSettings_SslManagementType_SSLMANAGEMENTTYPEUNSPECIFIED = SslSettings_SslManagementType "SSL_MANAGEMENT_TYPE_UNSPECIFIED"
+
+-- | SSL support for this domain is configured automatically. The mapped SSL certificate will be automatically renewed.
+pattern SslSettings_SslManagementType_Automatic :: SslSettings_SslManagementType
+pattern SslSettings_SslManagementType_Automatic = SslSettings_SslManagementType "AUTOMATIC"
+
+-- | SSL support for this domain is configured manually by the user. Either the domain has no SSL support or a user-obtained SSL certificate has been explicitly mapped to this domain.
+pattern SslSettings_SslManagementType_Manual :: SslSettings_SslManagementType
+pattern SslSettings_SslManagementType_Manual = SslSettings_SslManagementType "MANUAL"
+
+{-# COMPLETE
+  SslSettings_SslManagementType_SSLMANAGEMENTTYPEUNSPECIFIED,
+  SslSettings_SslManagementType_Automatic,
+  SslSettings_SslManagementType_Manual,
+  SslSettings_SslManagementType
+  #-}
+
+-- | Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.
+newtype TrafficSplit_ShardBy = TrafficSplit_ShardBy {fromTrafficSplit_ShardBy :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Diversion method unspecified.
+pattern TrafficSplit_ShardBy_Unspecified :: TrafficSplit_ShardBy
+pattern TrafficSplit_ShardBy_Unspecified = TrafficSplit_ShardBy "UNSPECIFIED"
+
+-- | Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie must be set by the application itself or no diversion will occur.
+pattern TrafficSplit_ShardBy_Cookie :: TrafficSplit_ShardBy
+pattern TrafficSplit_ShardBy_Cookie = TrafficSplit_ShardBy "COOKIE"
+
+-- | Diversion based on applying the modulus operation to a fingerprint of the IP address.
+pattern TrafficSplit_ShardBy_IP :: TrafficSplit_ShardBy
+pattern TrafficSplit_ShardBy_IP = TrafficSplit_ShardBy "IP"
+
+-- | Diversion based on weighted random assignment. An incoming request is randomly routed to a version in the traffic split, with probability proportional to the version\'s traffic share.
+pattern TrafficSplit_ShardBy_Random :: TrafficSplit_ShardBy
+pattern TrafficSplit_ShardBy_Random = TrafficSplit_ShardBy "RANDOM"
+
+{-# COMPLETE
+  TrafficSplit_ShardBy_Unspecified,
+  TrafficSplit_ShardBy_Cookie,
+  TrafficSplit_ShardBy_IP,
+  TrafficSplit_ShardBy_Random,
+  TrafficSplit_ShardBy
+  #-}
+
+-- | Action to take when users access resources that require authentication. Defaults to redirect.
+newtype UrlMap_AuthFailAction = UrlMap_AuthFailAction {fromUrlMap_AuthFailAction :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. AUTH/FAIL/ACTION_REDIRECT is assumed.
+pattern UrlMap_AuthFailAction_AUTHFAILACTIONUNSPECIFIED :: UrlMap_AuthFailAction
+pattern UrlMap_AuthFailAction_AUTHFAILACTIONUNSPECIFIED = UrlMap_AuthFailAction "AUTH_FAIL_ACTION_UNSPECIFIED"
+
+-- | Redirects user to \"accounts.google.com\". The user is redirected back to the application URL after signing in or creating an account.
+pattern UrlMap_AuthFailAction_AUTHFAILACTIONREDIRECT :: UrlMap_AuthFailAction
+pattern UrlMap_AuthFailAction_AUTHFAILACTIONREDIRECT = UrlMap_AuthFailAction "AUTH_FAIL_ACTION_REDIRECT"
+
+-- | Rejects request with a 401 HTTP status code and an error message.
+pattern UrlMap_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED :: UrlMap_AuthFailAction
+pattern UrlMap_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED = UrlMap_AuthFailAction "AUTH_FAIL_ACTION_UNAUTHORIZED"
+
+{-# COMPLETE
+  UrlMap_AuthFailAction_AUTHFAILACTIONUNSPECIFIED,
+  UrlMap_AuthFailAction_AUTHFAILACTIONREDIRECT,
+  UrlMap_AuthFailAction_AUTHFAILACTIONUNAUTHORIZED,
+  UrlMap_AuthFailAction
+  #-}
+
+-- | Level of login required to access this resource. Not supported for Node.js in the App Engine standard environment.
+newtype UrlMap_Login = UrlMap_Login {fromUrlMap_Login :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. LOGIN_OPTIONAL is assumed.
+pattern UrlMap_Login_LOGINUNSPECIFIED :: UrlMap_Login
+pattern UrlMap_Login_LOGINUNSPECIFIED = UrlMap_Login "LOGIN_UNSPECIFIED"
+
+-- | Does not require that the user is signed in.
+pattern UrlMap_Login_LOGINOPTIONAL :: UrlMap_Login
+pattern UrlMap_Login_LOGINOPTIONAL = UrlMap_Login "LOGIN_OPTIONAL"
+
+-- | If the user is not signed in, the auth/fail/action is taken. In addition, if the user is not an administrator for the application, they are given an error message regardless of auth/fail/action. If the user is an administrator, the handler proceeds.
+pattern UrlMap_Login_LOGINADMIN :: UrlMap_Login
+pattern UrlMap_Login_LOGINADMIN = UrlMap_Login "LOGIN_ADMIN"
+
+-- | If the user has signed in, the handler proceeds normally. Otherwise, the auth/fail/action is taken.
+pattern UrlMap_Login_LOGINREQUIRED :: UrlMap_Login
+pattern UrlMap_Login_LOGINREQUIRED = UrlMap_Login "LOGIN_REQUIRED"
+
+{-# COMPLETE
+  UrlMap_Login_LOGINUNSPECIFIED,
+  UrlMap_Login_LOGINOPTIONAL,
+  UrlMap_Login_LOGINADMIN,
+  UrlMap_Login_LOGINREQUIRED,
+  UrlMap_Login
+  #-}
+
+-- | 30x code to use when performing redirects for the secure field. Defaults to 302.
+newtype UrlMap_RedirectHttpResponseCode = UrlMap_RedirectHttpResponseCode {fromUrlMap_RedirectHttpResponseCode :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified. 302 is assumed.
+pattern UrlMap_RedirectHttpResponseCode_REDIRECTHTTPRESPONSECODEUNSPECIFIED :: UrlMap_RedirectHttpResponseCode
+pattern UrlMap_RedirectHttpResponseCode_REDIRECTHTTPRESPONSECODEUNSPECIFIED = UrlMap_RedirectHttpResponseCode "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED"
+
+-- | 301 Moved Permanently code.
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_301 :: UrlMap_RedirectHttpResponseCode
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_301 = UrlMap_RedirectHttpResponseCode "REDIRECT_HTTP_RESPONSE_CODE_301"
+
+-- | 302 Moved Temporarily code.
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_302 :: UrlMap_RedirectHttpResponseCode
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_302 = UrlMap_RedirectHttpResponseCode "REDIRECT_HTTP_RESPONSE_CODE_302"
+
+-- | 303 See Other code.
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_303 :: UrlMap_RedirectHttpResponseCode
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_303 = UrlMap_RedirectHttpResponseCode "REDIRECT_HTTP_RESPONSE_CODE_303"
+
+-- | 307 Temporary Redirect code.
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_307 :: UrlMap_RedirectHttpResponseCode
+pattern UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_307 = UrlMap_RedirectHttpResponseCode "REDIRECT_HTTP_RESPONSE_CODE_307"
+
+{-# COMPLETE
+  UrlMap_RedirectHttpResponseCode_REDIRECTHTTPRESPONSECODEUNSPECIFIED,
+  UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_301,
+  UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_302,
+  UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_303,
+  UrlMap_RedirectHttpResponseCode_REDIRECT_HTTP_RESPONSE_CODE_307,
+  UrlMap_RedirectHttpResponseCode
+  #-}
+
+-- | Security (HTTPS) enforcement for this URL.
+newtype UrlMap_SecurityLevel = UrlMap_SecurityLevel {fromUrlMap_SecurityLevel :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified.
+pattern UrlMap_SecurityLevel_SECUREUNSPECIFIED :: UrlMap_SecurityLevel
+pattern UrlMap_SecurityLevel_SECUREUNSPECIFIED = UrlMap_SecurityLevel "SECURE_UNSPECIFIED"
+
+-- | Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used, and respond accordingly.
+pattern UrlMap_SecurityLevel_SECUREDEFAULT :: UrlMap_SecurityLevel
+pattern UrlMap_SecurityLevel_SECUREDEFAULT = UrlMap_SecurityLevel "SECURE_DEFAULT"
+
+-- | Requests for a URL that match this handler that use HTTPS are automatically redirected to the HTTP equivalent URL.
+pattern UrlMap_SecurityLevel_SECURENEVER :: UrlMap_SecurityLevel
+pattern UrlMap_SecurityLevel_SECURENEVER = UrlMap_SecurityLevel "SECURE_NEVER"
+
+-- | Both HTTP and HTTPS requests with URLs that match the handler succeed without redirects. The application can examine the request to determine which protocol was used and respond accordingly.
+pattern UrlMap_SecurityLevel_SECUREOPTIONAL :: UrlMap_SecurityLevel
+pattern UrlMap_SecurityLevel_SECUREOPTIONAL = UrlMap_SecurityLevel "SECURE_OPTIONAL"
+
+-- | Requests for a URL that match this handler that do not use HTTPS are automatically redirected to the HTTPS URL with the same path. Query parameters are reserved for the redirect.
+pattern UrlMap_SecurityLevel_SECUREALWAYS :: UrlMap_SecurityLevel
+pattern UrlMap_SecurityLevel_SECUREALWAYS = UrlMap_SecurityLevel "SECURE_ALWAYS"
+
+{-# COMPLETE
+  UrlMap_SecurityLevel_SECUREUNSPECIFIED,
+  UrlMap_SecurityLevel_SECUREDEFAULT,
+  UrlMap_SecurityLevel_SECURENEVER,
+  UrlMap_SecurityLevel_SECUREOPTIONAL,
+  UrlMap_SecurityLevel_SECUREALWAYS,
+  UrlMap_SecurityLevel
+  #-}
+
+newtype Version_InboundServicesItem = Version_InboundServicesItem {fromVersion_InboundServicesItem :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified.
+pattern Version_InboundServicesItem_INBOUNDSERVICEUNSPECIFIED :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEUNSPECIFIED = Version_InboundServicesItem "INBOUND_SERVICE_UNSPECIFIED"
+
+-- | Allows an application to receive mail.
+pattern Version_InboundServicesItem_INBOUNDSERVICEMAIL :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEMAIL = Version_InboundServicesItem "INBOUND_SERVICE_MAIL"
+
+-- | Allows an application to receive email-bound notifications.
+pattern Version_InboundServicesItem_INBOUNDSERVICEMAILBOUNCE :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEMAILBOUNCE = Version_InboundServicesItem "INBOUND_SERVICE_MAIL_BOUNCE"
+
+-- | Allows an application to receive error stanzas.
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPERROR :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPERROR = Version_InboundServicesItem "INBOUND_SERVICE_XMPP_ERROR"
+
+-- | Allows an application to receive instant messages.
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPMESSAGE :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPMESSAGE = Version_InboundServicesItem "INBOUND_SERVICE_XMPP_MESSAGE"
+
+-- | Allows an application to receive user subscription POSTs.
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPSUBSCRIBE :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPSUBSCRIBE = Version_InboundServicesItem "INBOUND_SERVICE_XMPP_SUBSCRIBE"
+
+-- | Allows an application to receive a user\'s chat presence.
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPPRESENCE :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEXMPPPRESENCE = Version_InboundServicesItem "INBOUND_SERVICE_XMPP_PRESENCE"
+
+-- | Registers an application for notifications when a client connects or disconnects from a channel.
+pattern Version_InboundServicesItem_INBOUNDSERVICECHANNELPRESENCE :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICECHANNELPRESENCE = Version_InboundServicesItem "INBOUND_SERVICE_CHANNEL_PRESENCE"
+
+-- | Enables warmup requests.
+pattern Version_InboundServicesItem_INBOUNDSERVICEWARMUP :: Version_InboundServicesItem
+pattern Version_InboundServicesItem_INBOUNDSERVICEWARMUP = Version_InboundServicesItem "INBOUND_SERVICE_WARMUP"
+
+{-# COMPLETE
+  Version_InboundServicesItem_INBOUNDSERVICEUNSPECIFIED,
+  Version_InboundServicesItem_INBOUNDSERVICEMAIL,
+  Version_InboundServicesItem_INBOUNDSERVICEMAILBOUNCE,
+  Version_InboundServicesItem_INBOUNDSERVICEXMPPERROR,
+  Version_InboundServicesItem_INBOUNDSERVICEXMPPMESSAGE,
+  Version_InboundServicesItem_INBOUNDSERVICEXMPPSUBSCRIBE,
+  Version_InboundServicesItem_INBOUNDSERVICEXMPPPRESENCE,
+  Version_InboundServicesItem_INBOUNDSERVICECHANNELPRESENCE,
+  Version_InboundServicesItem_INBOUNDSERVICEWARMUP,
+  Version_InboundServicesItem
+  #-}
+
+-- | Current serving status of this version. Only the versions with a SERVING status create instances and can be billed.SERVING/STATUS/UNSPECIFIED is an invalid value. Defaults to SERVING.
+newtype Version_ServingStatus = Version_ServingStatus {fromVersion_ServingStatus :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified.
+pattern Version_ServingStatus_SERVINGSTATUSUNSPECIFIED :: Version_ServingStatus
+pattern Version_ServingStatus_SERVINGSTATUSUNSPECIFIED = Version_ServingStatus "SERVING_STATUS_UNSPECIFIED"
+
+-- | Currently serving. Instances are created according to the scaling settings of the version.
+pattern Version_ServingStatus_Serving :: Version_ServingStatus
+pattern Version_ServingStatus_Serving = Version_ServingStatus "SERVING"
+
+-- | Disabled. No instances will be created and the scaling settings are ignored until the state of the version changes to SERVING.
+pattern Version_ServingStatus_Stopped :: Version_ServingStatus
+pattern Version_ServingStatus_Stopped = Version_ServingStatus "STOPPED"
+
+{-# COMPLETE
+  Version_ServingStatus_SERVINGSTATUSUNSPECIFIED,
+  Version_ServingStatus_Serving,
+  Version_ServingStatus_Stopped,
+  Version_ServingStatus
+  #-}
+
+-- | The egress setting for the connector, controlling what traffic is diverted through it.
+newtype VpcAccessConnector_EgressSetting = VpcAccessConnector_EgressSetting {fromVpcAccessConnector_EgressSetting :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+pattern VpcAccessConnector_EgressSetting_EGRESSSETTINGUNSPECIFIED :: VpcAccessConnector_EgressSetting
+pattern VpcAccessConnector_EgressSetting_EGRESSSETTINGUNSPECIFIED = VpcAccessConnector_EgressSetting "EGRESS_SETTING_UNSPECIFIED"
+
+-- | Force the use of VPC Access for all egress traffic from the function.
+pattern VpcAccessConnector_EgressSetting_ALLTRAFFIC :: VpcAccessConnector_EgressSetting
+pattern VpcAccessConnector_EgressSetting_ALLTRAFFIC = VpcAccessConnector_EgressSetting "ALL_TRAFFIC"
+
+-- | Use the VPC Access Connector for private IP space from RFC1918.
+pattern VpcAccessConnector_EgressSetting_PRIVATEIPRANGES :: VpcAccessConnector_EgressSetting
+pattern VpcAccessConnector_EgressSetting_PRIVATEIPRANGES = VpcAccessConnector_EgressSetting "PRIVATE_IP_RANGES"
+
+{-# COMPLETE
+  VpcAccessConnector_EgressSetting_EGRESSSETTINGUNSPECIFIED,
+  VpcAccessConnector_EgressSetting_ALLTRAFFIC,
+  VpcAccessConnector_EgressSetting_PRIVATEIPRANGES,
+  VpcAccessConnector_EgressSetting
+  #-}
+
+-- | Controls the set of fields returned in the GET response.
+newtype AppsAuthorizedCertificatesGetView = AppsAuthorizedCertificatesGetView {fromAppsAuthorizedCertificatesGetView :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Basic certificate information, including applicable domains and expiration date.
+pattern AppsAuthorizedCertificatesGetView_BASICCERTIFICATE :: AppsAuthorizedCertificatesGetView
+pattern AppsAuthorizedCertificatesGetView_BASICCERTIFICATE = AppsAuthorizedCertificatesGetView "BASIC_CERTIFICATE"
+
+-- | The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped.
+pattern AppsAuthorizedCertificatesGetView_FULLCERTIFICATE :: AppsAuthorizedCertificatesGetView
+pattern AppsAuthorizedCertificatesGetView_FULLCERTIFICATE = AppsAuthorizedCertificatesGetView "FULL_CERTIFICATE"
+
+{-# COMPLETE
+  AppsAuthorizedCertificatesGetView_BASICCERTIFICATE,
+  AppsAuthorizedCertificatesGetView_FULLCERTIFICATE,
+  AppsAuthorizedCertificatesGetView
+  #-}
+
+-- | Controls the set of fields returned in the LIST response.
+newtype AppsAuthorizedCertificatesListView = AppsAuthorizedCertificatesListView {fromAppsAuthorizedCertificatesListView :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Basic certificate information, including applicable domains and expiration date.
+pattern AppsAuthorizedCertificatesListView_BASICCERTIFICATE :: AppsAuthorizedCertificatesListView
+pattern AppsAuthorizedCertificatesListView_BASICCERTIFICATE = AppsAuthorizedCertificatesListView "BASIC_CERTIFICATE"
+
+-- | The information from BASIC_CERTIFICATE, plus detailed information on the domain mappings that have this certificate mapped.
+pattern AppsAuthorizedCertificatesListView_FULLCERTIFICATE :: AppsAuthorizedCertificatesListView
+pattern AppsAuthorizedCertificatesListView_FULLCERTIFICATE = AppsAuthorizedCertificatesListView "FULL_CERTIFICATE"
+
+{-# COMPLETE
+  AppsAuthorizedCertificatesListView_BASICCERTIFICATE,
+  AppsAuthorizedCertificatesListView_FULLCERTIFICATE,
+  AppsAuthorizedCertificatesListView
+  #-}
+
+-- | Whether the domain creation should override any existing mappings for this domain. By default, overrides are rejected.
+newtype AppsDomainMappingsCreateOverrideStrategy = AppsDomainMappingsCreateOverrideStrategy {fromAppsDomainMappingsCreateOverrideStrategy :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Strategy unspecified. Defaults to STRICT.
+pattern AppsDomainMappingsCreateOverrideStrategy_UNSPECIFIEDDOMAINOVERRIDESTRATEGY :: AppsDomainMappingsCreateOverrideStrategy
+pattern AppsDomainMappingsCreateOverrideStrategy_UNSPECIFIEDDOMAINOVERRIDESTRATEGY = AppsDomainMappingsCreateOverrideStrategy "UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY"
+
+-- | Overrides not allowed. If a mapping already exists for the specified domain, the request will return an ALREADY_EXISTS (409).
+pattern AppsDomainMappingsCreateOverrideStrategy_Strict :: AppsDomainMappingsCreateOverrideStrategy
+pattern AppsDomainMappingsCreateOverrideStrategy_Strict = AppsDomainMappingsCreateOverrideStrategy "STRICT"
+
+-- | Overrides allowed. If a mapping already exists for the specified domain, the request will overwrite it. Note that this might stop another Google product from serving. For example, if the domain is mapped to another App Engine application, that app will no longer serve from that domain.
+pattern AppsDomainMappingsCreateOverrideStrategy_Override :: AppsDomainMappingsCreateOverrideStrategy
+pattern AppsDomainMappingsCreateOverrideStrategy_Override = AppsDomainMappingsCreateOverrideStrategy "OVERRIDE"
+
+{-# COMPLETE
+  AppsDomainMappingsCreateOverrideStrategy_UNSPECIFIEDDOMAINOVERRIDESTRATEGY,
+  AppsDomainMappingsCreateOverrideStrategy_Strict,
+  AppsDomainMappingsCreateOverrideStrategy_Override,
+  AppsDomainMappingsCreateOverrideStrategy
+  #-}
+
+-- | Options to include extra data
+newtype AppsGetIncludeExtraData = AppsGetIncludeExtraData {fromAppsGetIncludeExtraData :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Unspecified: No extra data will be returned
+pattern AppsGetIncludeExtraData_INCLUDEEXTRADATAUNSPECIFIED :: AppsGetIncludeExtraData
+pattern AppsGetIncludeExtraData_INCLUDEEXTRADATAUNSPECIFIED = AppsGetIncludeExtraData "INCLUDE_EXTRA_DATA_UNSPECIFIED"
+
+-- | Do not return any extra data
+pattern AppsGetIncludeExtraData_INCLUDEEXTRADATANONE :: AppsGetIncludeExtraData
+pattern AppsGetIncludeExtraData_INCLUDEEXTRADATANONE = AppsGetIncludeExtraData "INCLUDE_EXTRA_DATA_NONE"
+
+-- | Return GGCM associated with the resources
+pattern AppsGetIncludeExtraData_INCLUDEGOOGLEGENERATEDMETADATA :: AppsGetIncludeExtraData
+pattern AppsGetIncludeExtraData_INCLUDEGOOGLEGENERATEDMETADATA = AppsGetIncludeExtraData "INCLUDE_GOOGLE_GENERATED_METADATA"
+
+{-# COMPLETE
+  AppsGetIncludeExtraData_INCLUDEEXTRADATAUNSPECIFIED,
+  AppsGetIncludeExtraData_INCLUDEEXTRADATANONE,
+  AppsGetIncludeExtraData_INCLUDEGOOGLEGENERATEDMETADATA,
+  AppsGetIncludeExtraData
+  #-}
+
+-- | Optional. The environment of the Application.
+newtype AppsListRuntimesEnvironment = AppsListRuntimesEnvironment {fromAppsListRuntimesEnvironment :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Default value.
+pattern AppsListRuntimesEnvironment_ENVIRONMENTUNSPECIFIED :: AppsListRuntimesEnvironment
+pattern AppsListRuntimesEnvironment_ENVIRONMENTUNSPECIFIED = AppsListRuntimesEnvironment "ENVIRONMENT_UNSPECIFIED"
+
+-- | App Engine Standard.
+pattern AppsListRuntimesEnvironment_Standard :: AppsListRuntimesEnvironment
+pattern AppsListRuntimesEnvironment_Standard = AppsListRuntimesEnvironment "STANDARD"
+
+-- | App Engine Flexible
+pattern AppsListRuntimesEnvironment_Flexible :: AppsListRuntimesEnvironment
+pattern AppsListRuntimesEnvironment_Flexible = AppsListRuntimesEnvironment "FLEXIBLE"
+
+{-# COMPLETE
+  AppsListRuntimesEnvironment_ENVIRONMENTUNSPECIFIED,
+  AppsListRuntimesEnvironment_Standard,
+  AppsListRuntimesEnvironment_Flexible,
+  AppsListRuntimesEnvironment
+  #-}
+
+-- | Controls the set of fields returned in the Get response.
+newtype AppsServicesVersionsGetView = AppsServicesVersionsGetView {fromAppsServicesVersionsGetView :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Basic version information including scaling and inbound services, but not detailed deployment information.
+pattern AppsServicesVersionsGetView_Basic :: AppsServicesVersionsGetView
+pattern AppsServicesVersionsGetView_Basic = AppsServicesVersionsGetView "BASIC"
+
+-- | The information from BASIC, plus detailed information about the deployment. This format is required when creating resources, but is not returned in Get or List by default.
+pattern AppsServicesVersionsGetView_Full :: AppsServicesVersionsGetView
+pattern AppsServicesVersionsGetView_Full = AppsServicesVersionsGetView "FULL"
+
+{-# COMPLETE
+  AppsServicesVersionsGetView_Basic,
+  AppsServicesVersionsGetView_Full,
+  AppsServicesVersionsGetView
+  #-}
+
+-- | Controls the set of fields returned in the List response.
+newtype AppsServicesVersionsListView = AppsServicesVersionsListView {fromAppsServicesVersionsListView :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Basic version information including scaling and inbound services, but not detailed deployment information.
+pattern AppsServicesVersionsListView_Basic :: AppsServicesVersionsListView
+pattern AppsServicesVersionsListView_Basic = AppsServicesVersionsListView "BASIC"
+
+-- | The information from BASIC, plus detailed information about the deployment. This format is required when creating resources, but is not returned in Get or List by default.
+pattern AppsServicesVersionsListView_Full :: AppsServicesVersionsListView
+pattern AppsServicesVersionsListView_Full = AppsServicesVersionsListView "FULL"
+
+{-# COMPLETE
+  AppsServicesVersionsListView_Basic,
+  AppsServicesVersionsListView_Full,
+  AppsServicesVersionsListView
+  #-}
diff --git a/gen/Gogol/AppEngine/Projects/Locations/Applications/AuthorizedDomains/List.hs b/gen/Gogol/AppEngine/Projects/Locations/Applications/AuthorizedDomains/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Projects/Locations/Applications/AuthorizedDomains/List.hs
@@ -0,0 +1,154 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Projects.Locations.Applications.AuthorizedDomains.List
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all domains the user is authorized to administer.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.projects.locations.applications.authorizedDomains.list@.
+module Gogol.AppEngine.Projects.Locations.Applications.AuthorizedDomains.List
+  ( -- * Resource
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsListResource,
+
+    -- ** Constructing a Request
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsList (..),
+    newAppEngineProjectsLocationsApplicationsAuthorizedDomainsList,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.projects.locations.applications.authorizedDomains.list@ method which the
+-- 'AppEngineProjectsLocationsApplicationsAuthorizedDomainsList' request conforms to.
+type AppEngineProjectsLocationsApplicationsAuthorizedDomainsListResource =
+  "v1"
+    Core.:> "projects"
+    Core.:> Core.Capture "projectsId" Core.Text
+    Core.:> "locations"
+    Core.:> Core.Capture "locationsId" Core.Text
+    Core.:> "applications"
+    Core.:> Core.Capture "applicationsId" Core.Text
+    Core.:> "authorizedDomains"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "pageSize" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] ListAuthorizedDomainsResponse
+
+-- | Lists all domains the user is authorized to administer.
+--
+-- /See:/ 'newAppEngineProjectsLocationsApplicationsAuthorizedDomainsList' smart constructor.
+data AppEngineProjectsLocationsApplicationsAuthorizedDomainsList = AppEngineProjectsLocationsApplicationsAuthorizedDomainsList
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. See documentation of @projectsId@.
+    applicationsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. See documentation of @projectsId@.
+    locationsId :: Core.Text,
+    -- | Maximum results to return per page.
+    pageSize :: (Core.Maybe Core.Int32),
+    -- | Continuation token for fetching the next page of results.
+    pageToken :: (Core.Maybe Core.Text),
+    -- | Part of @parent@. Name of the parent Application resource. Example: apps\/myapp.
+    projectsId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineProjectsLocationsApplicationsAuthorizedDomainsList' with the minimum fields required to make a request.
+newAppEngineProjectsLocationsApplicationsAuthorizedDomainsList ::
+  -- |  Part of @parent@. See documentation of @projectsId@. See 'applicationsId'.
+  Core.Text ->
+  -- |  Part of @parent@. See documentation of @projectsId@. See 'locationsId'.
+  Core.Text ->
+  -- |  Part of @parent@. Name of the parent Application resource. Example: apps\/myapp. See 'projectsId'.
+  Core.Text ->
+  AppEngineProjectsLocationsApplicationsAuthorizedDomainsList
+newAppEngineProjectsLocationsApplicationsAuthorizedDomainsList
+  applicationsId
+  locationsId
+  projectsId =
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsList
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        applicationsId = applicationsId,
+        callback = Core.Nothing,
+        locationsId = locationsId,
+        pageSize = Core.Nothing,
+        pageToken = Core.Nothing,
+        projectsId = projectsId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsList
+  where
+  type
+    Rs AppEngineProjectsLocationsApplicationsAuthorizedDomainsList =
+      ListAuthorizedDomainsResponse
+  type
+    Scopes
+      AppEngineProjectsLocationsApplicationsAuthorizedDomainsList =
+      '[ Appengine'Admin,
+         CloudPlatform'FullControl,
+         CloudPlatform'ReadOnly
+       ]
+  requestClient
+    AppEngineProjectsLocationsApplicationsAuthorizedDomainsList {..} =
+      go
+        projectsId
+        locationsId
+        applicationsId
+        xgafv
+        accessToken
+        callback
+        pageSize
+        pageToken
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        appEngineService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  AppEngineProjectsLocationsApplicationsAuthorizedDomainsListResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/AppEngine/Projects/Locations/Applications/Services/Delete.hs b/gen/Gogol/AppEngine/Projects/Locations/Applications/Services/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Projects/Locations/Applications/Services/Delete.hs
@@ -0,0 +1,148 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Projects.Locations.Applications.Services.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes the specified service and all enclosed versions.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.projects.locations.applications.services.delete@.
+module Gogol.AppEngine.Projects.Locations.Applications.Services.Delete
+  ( -- * Resource
+    AppEngineProjectsLocationsApplicationsServicesDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineProjectsLocationsApplicationsServicesDelete (..),
+    newAppEngineProjectsLocationsApplicationsServicesDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.projects.locations.applications.services.delete@ method which the
+-- 'AppEngineProjectsLocationsApplicationsServicesDelete' request conforms to.
+type AppEngineProjectsLocationsApplicationsServicesDeleteResource =
+  "v1"
+    Core.:> "projects"
+    Core.:> Core.Capture "projectsId" Core.Text
+    Core.:> "locations"
+    Core.:> Core.Capture "locationsId" Core.Text
+    Core.:> "applications"
+    Core.:> Core.Capture "applicationsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Operation
+
+-- | Deletes the specified service and all enclosed versions.
+--
+-- /See:/ 'newAppEngineProjectsLocationsApplicationsServicesDelete' smart constructor.
+data AppEngineProjectsLocationsApplicationsServicesDelete = AppEngineProjectsLocationsApplicationsServicesDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @projectsId@.
+    applicationsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @projectsId@.
+    locationsId :: Core.Text,
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default.
+    projectsId :: Core.Text,
+    -- | Part of @name@. See documentation of @projectsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineProjectsLocationsApplicationsServicesDelete' with the minimum fields required to make a request.
+newAppEngineProjectsLocationsApplicationsServicesDelete ::
+  -- |  Part of @name@. See documentation of @projectsId@. See 'applicationsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @projectsId@. See 'locationsId'.
+  Core.Text ->
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default. See 'projectsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @projectsId@. See 'servicesId'.
+  Core.Text ->
+  AppEngineProjectsLocationsApplicationsServicesDelete
+newAppEngineProjectsLocationsApplicationsServicesDelete
+  applicationsId
+  locationsId
+  projectsId
+  servicesId =
+    AppEngineProjectsLocationsApplicationsServicesDelete
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        applicationsId = applicationsId,
+        callback = Core.Nothing,
+        locationsId = locationsId,
+        projectsId = projectsId,
+        servicesId = servicesId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineProjectsLocationsApplicationsServicesDelete
+  where
+  type
+    Rs AppEngineProjectsLocationsApplicationsServicesDelete =
+      Operation
+  type
+    Scopes AppEngineProjectsLocationsApplicationsServicesDelete =
+      '[CloudPlatform'FullControl]
+  requestClient
+    AppEngineProjectsLocationsApplicationsServicesDelete {..} =
+      go
+        projectsId
+        locationsId
+        applicationsId
+        servicesId
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        appEngineService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  AppEngineProjectsLocationsApplicationsServicesDeleteResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/AppEngine/Projects/Locations/Applications/Services/Versions/Delete.hs b/gen/Gogol/AppEngine/Projects/Locations/Applications/Services/Versions/Delete.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Projects/Locations/Applications/Services/Versions/Delete.hs
@@ -0,0 +1,159 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Projects.Locations.Applications.Services.Versions.Delete
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes an existing Version resource.
+--
+-- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.projects.locations.applications.services.versions.delete@.
+module Gogol.AppEngine.Projects.Locations.Applications.Services.Versions.Delete
+  ( -- * Resource
+    AppEngineProjectsLocationsApplicationsServicesVersionsDeleteResource,
+
+    -- ** Constructing a Request
+    AppEngineProjectsLocationsApplicationsServicesVersionsDelete (..),
+    newAppEngineProjectsLocationsApplicationsServicesVersionsDelete,
+  )
+where
+
+import Gogol.AppEngine.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @appengine.projects.locations.applications.services.versions.delete@ method which the
+-- 'AppEngineProjectsLocationsApplicationsServicesVersionsDelete' request conforms to.
+type AppEngineProjectsLocationsApplicationsServicesVersionsDeleteResource =
+  "v1"
+    Core.:> "projects"
+    Core.:> Core.Capture "projectsId" Core.Text
+    Core.:> "locations"
+    Core.:> Core.Capture "locationsId" Core.Text
+    Core.:> "applications"
+    Core.:> Core.Capture "applicationsId" Core.Text
+    Core.:> "services"
+    Core.:> Core.Capture "servicesId" Core.Text
+    Core.:> "versions"
+    Core.:> Core.Capture "versionsId" Core.Text
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Delete '[Core.JSON] Operation
+
+-- | Deletes an existing Version resource.
+--
+-- /See:/ 'newAppEngineProjectsLocationsApplicationsServicesVersionsDelete' smart constructor.
+data AppEngineProjectsLocationsApplicationsServicesVersionsDelete = AppEngineProjectsLocationsApplicationsServicesVersionsDelete
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @projectsId@.
+    applicationsId :: Core.Text,
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @projectsId@.
+    locationsId :: Core.Text,
+    -- | Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1.
+    projectsId :: Core.Text,
+    -- | Part of @name@. See documentation of @projectsId@.
+    servicesId :: Core.Text,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text),
+    -- | Part of @name@. See documentation of @projectsId@.
+    versionsId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AppEngineProjectsLocationsApplicationsServicesVersionsDelete' with the minimum fields required to make a request.
+newAppEngineProjectsLocationsApplicationsServicesVersionsDelete ::
+  -- |  Part of @name@. See documentation of @projectsId@. See 'applicationsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @projectsId@. See 'locationsId'.
+  Core.Text ->
+  -- |  Part of @name@. Name of the resource requested. Example: apps\/myapp\/services\/default\/versions\/v1. See 'projectsId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @projectsId@. See 'servicesId'.
+  Core.Text ->
+  -- |  Part of @name@. See documentation of @projectsId@. See 'versionsId'.
+  Core.Text ->
+  AppEngineProjectsLocationsApplicationsServicesVersionsDelete
+newAppEngineProjectsLocationsApplicationsServicesVersionsDelete
+  applicationsId
+  locationsId
+  projectsId
+  servicesId
+  versionsId =
+    AppEngineProjectsLocationsApplicationsServicesVersionsDelete
+      { xgafv =
+          Core.Nothing,
+        accessToken = Core.Nothing,
+        applicationsId = applicationsId,
+        callback = Core.Nothing,
+        locationsId = locationsId,
+        projectsId = projectsId,
+        servicesId = servicesId,
+        uploadType = Core.Nothing,
+        uploadProtocol = Core.Nothing,
+        versionsId = versionsId
+      }
+
+instance
+  Core.GoogleRequest
+    AppEngineProjectsLocationsApplicationsServicesVersionsDelete
+  where
+  type
+    Rs
+      AppEngineProjectsLocationsApplicationsServicesVersionsDelete =
+      Operation
+  type
+    Scopes
+      AppEngineProjectsLocationsApplicationsServicesVersionsDelete =
+      '[CloudPlatform'FullControl]
+  requestClient
+    AppEngineProjectsLocationsApplicationsServicesVersionsDelete {..} =
+      go
+        projectsId
+        locationsId
+        applicationsId
+        servicesId
+        versionsId
+        xgafv
+        accessToken
+        callback
+        uploadType
+        uploadProtocol
+        (Core.Just Core.AltJSON)
+        appEngineService
+      where
+        go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy
+                  AppEngineProjectsLocationsApplicationsServicesVersionsDeleteResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/AppEngine/Types.hs b/gen/Gogol/AppEngine/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AppEngine/Types.hs
@@ -0,0 +1,570 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AppEngine.Types
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Gogol.AppEngine.Types
+  ( -- * Configuration
+    appEngineService,
+
+    -- * OAuth Scopes
+    Appengine'Admin,
+    CloudPlatform'FullControl,
+    CloudPlatform'ReadOnly,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** ApiConfigHandler
+    ApiConfigHandler (..),
+    newApiConfigHandler,
+
+    -- ** ApiConfigHandler_AuthFailAction
+    ApiConfigHandler_AuthFailAction (..),
+
+    -- ** ApiConfigHandler_Login
+    ApiConfigHandler_Login (..),
+
+    -- ** ApiConfigHandler_SecurityLevel
+    ApiConfigHandler_SecurityLevel (..),
+
+    -- ** ApiEndpointHandler
+    ApiEndpointHandler (..),
+    newApiEndpointHandler,
+
+    -- ** Application
+    Application (..),
+    newApplication,
+
+    -- ** Application_DatabaseType
+    Application_DatabaseType (..),
+
+    -- ** Application_GeneratedCustomerMetadata
+    Application_GeneratedCustomerMetadata (..),
+    newApplication_GeneratedCustomerMetadata,
+
+    -- ** Application_ServingStatus
+    Application_ServingStatus (..),
+
+    -- ** Application_SslPolicy
+    Application_SslPolicy (..),
+
+    -- ** AuthorizedCertificate
+    AuthorizedCertificate (..),
+    newAuthorizedCertificate,
+
+    -- ** AuthorizedDomain
+    AuthorizedDomain (..),
+    newAuthorizedDomain,
+
+    -- ** AutomaticScaling
+    AutomaticScaling (..),
+    newAutomaticScaling,
+
+    -- ** BasicScaling
+    BasicScaling (..),
+    newBasicScaling,
+
+    -- ** BatchUpdateIngressRulesRequest
+    BatchUpdateIngressRulesRequest (..),
+    newBatchUpdateIngressRulesRequest,
+
+    -- ** BatchUpdateIngressRulesResponse
+    BatchUpdateIngressRulesResponse (..),
+    newBatchUpdateIngressRulesResponse,
+
+    -- ** CertificateRawData
+    CertificateRawData (..),
+    newCertificateRawData,
+
+    -- ** CloudBuildOptions
+    CloudBuildOptions (..),
+    newCloudBuildOptions,
+
+    -- ** ContainerInfo
+    ContainerInfo (..),
+    newContainerInfo,
+
+    -- ** ContainerState
+    ContainerState (..),
+    newContainerState,
+
+    -- ** ContainerState_State
+    ContainerState_State (..),
+
+    -- ** CpuUtilization
+    CpuUtilization (..),
+    newCpuUtilization,
+
+    -- ** CreateVersionMetadataV1
+    CreateVersionMetadataV1 (..),
+    newCreateVersionMetadataV1,
+
+    -- ** CreateVersionMetadataV1Alpha
+    CreateVersionMetadataV1Alpha (..),
+    newCreateVersionMetadataV1Alpha,
+
+    -- ** CreateVersionMetadataV1Beta
+    CreateVersionMetadataV1Beta (..),
+    newCreateVersionMetadataV1Beta,
+
+    -- ** Date
+    Date (..),
+    newDate,
+
+    -- ** DebugInstanceRequest
+    DebugInstanceRequest (..),
+    newDebugInstanceRequest,
+
+    -- ** Deployment
+    Deployment (..),
+    newDeployment,
+
+    -- ** Deployment_Files
+    Deployment_Files (..),
+    newDeployment_Files,
+
+    -- ** DiskUtilization
+    DiskUtilization (..),
+    newDiskUtilization,
+
+    -- ** DomainMapping
+    DomainMapping (..),
+    newDomainMapping,
+
+    -- ** Empty
+    Empty (..),
+    newEmpty,
+
+    -- ** EndpointsApiService
+    EndpointsApiService (..),
+    newEndpointsApiService,
+
+    -- ** EndpointsApiService_RolloutStrategy
+    EndpointsApiService_RolloutStrategy (..),
+
+    -- ** Entrypoint
+    Entrypoint (..),
+    newEntrypoint,
+
+    -- ** ErrorHandler
+    ErrorHandler (..),
+    newErrorHandler,
+
+    -- ** ErrorHandler_ErrorCode
+    ErrorHandler_ErrorCode (..),
+
+    -- ** FeatureSettings
+    FeatureSettings (..),
+    newFeatureSettings,
+
+    -- ** FileInfo
+    FileInfo (..),
+    newFileInfo,
+
+    -- ** FirewallRule
+    FirewallRule (..),
+    newFirewallRule,
+
+    -- ** FirewallRule_Action
+    FirewallRule_Action (..),
+
+    -- ** FlexibleRuntimeSettings
+    FlexibleRuntimeSettings (..),
+    newFlexibleRuntimeSettings,
+
+    -- ** GceTag
+    GceTag (..),
+    newGceTag,
+
+    -- ** GoogleAppengineV1betaLocationMetadata
+    GoogleAppengineV1betaLocationMetadata (..),
+    newGoogleAppengineV1betaLocationMetadata,
+
+    -- ** HealthCheck
+    HealthCheck (..),
+    newHealthCheck,
+
+    -- ** IdentityAwareProxy
+    IdentityAwareProxy (..),
+    newIdentityAwareProxy,
+
+    -- ** Instance
+    Instance (..),
+    newInstance,
+
+    -- ** Instance_Availability
+    Instance_Availability (..),
+
+    -- ** Instance_VmLiveness
+    Instance_VmLiveness (..),
+
+    -- ** Library
+    Library (..),
+    newLibrary,
+
+    -- ** ListAuthorizedCertificatesResponse
+    ListAuthorizedCertificatesResponse (..),
+    newListAuthorizedCertificatesResponse,
+
+    -- ** ListAuthorizedDomainsResponse
+    ListAuthorizedDomainsResponse (..),
+    newListAuthorizedDomainsResponse,
+
+    -- ** ListDomainMappingsResponse
+    ListDomainMappingsResponse (..),
+    newListDomainMappingsResponse,
+
+    -- ** ListIngressRulesResponse
+    ListIngressRulesResponse (..),
+    newListIngressRulesResponse,
+
+    -- ** ListInstancesResponse
+    ListInstancesResponse (..),
+    newListInstancesResponse,
+
+    -- ** ListLocationsResponse
+    ListLocationsResponse (..),
+    newListLocationsResponse,
+
+    -- ** ListOperationsResponse
+    ListOperationsResponse (..),
+    newListOperationsResponse,
+
+    -- ** ListRuntimesResponse
+    ListRuntimesResponse (..),
+    newListRuntimesResponse,
+
+    -- ** ListServicesResponse
+    ListServicesResponse (..),
+    newListServicesResponse,
+
+    -- ** ListVersionsResponse
+    ListVersionsResponse (..),
+    newListVersionsResponse,
+
+    -- ** LivenessCheck
+    LivenessCheck (..),
+    newLivenessCheck,
+
+    -- ** Location
+    Location (..),
+    newLocation,
+
+    -- ** Location_Labels
+    Location_Labels (..),
+    newLocation_Labels,
+
+    -- ** Location_Metadata
+    Location_Metadata (..),
+    newLocation_Metadata,
+
+    -- ** LocationMetadata
+    LocationMetadata (..),
+    newLocationMetadata,
+
+    -- ** ManagedCertificate
+    ManagedCertificate (..),
+    newManagedCertificate,
+
+    -- ** ManagedCertificate_Status
+    ManagedCertificate_Status (..),
+
+    -- ** ManualScaling
+    ManualScaling (..),
+    newManualScaling,
+
+    -- ** Network
+    Network (..),
+    newNetwork,
+
+    -- ** Network_InstanceIpMode
+    Network_InstanceIpMode (..),
+
+    -- ** NetworkSettings
+    NetworkSettings (..),
+    newNetworkSettings,
+
+    -- ** NetworkSettings_IngressTrafficAllowed
+    NetworkSettings_IngressTrafficAllowed (..),
+
+    -- ** NetworkUtilization
+    NetworkUtilization (..),
+    newNetworkUtilization,
+
+    -- ** Operation
+    Operation (..),
+    newOperation,
+
+    -- ** Operation_Metadata
+    Operation_Metadata (..),
+    newOperation_Metadata,
+
+    -- ** Operation_Response
+    Operation_Response (..),
+    newOperation_Response,
+
+    -- ** OperationMetadataV1
+    OperationMetadataV1 (..),
+    newOperationMetadataV1,
+
+    -- ** OperationMetadataV1Alpha
+    OperationMetadataV1Alpha (..),
+    newOperationMetadataV1Alpha,
+
+    -- ** OperationMetadataV1Beta
+    OperationMetadataV1Beta (..),
+    newOperationMetadataV1Beta,
+
+    -- ** ProjectEvent
+    ProjectEvent (..),
+    newProjectEvent,
+
+    -- ** ProjectEvent_Phase
+    ProjectEvent_Phase (..),
+
+    -- ** ProjectsMetadata
+    ProjectsMetadata (..),
+    newProjectsMetadata,
+
+    -- ** ProjectsMetadata_ConsumerProjectState
+    ProjectsMetadata_ConsumerProjectState (..),
+
+    -- ** ReadinessCheck
+    ReadinessCheck (..),
+    newReadinessCheck,
+
+    -- ** Reasons
+    Reasons (..),
+    newReasons,
+
+    -- ** Reasons_Abuse
+    Reasons_Abuse (..),
+
+    -- ** Reasons_Billing
+    Reasons_Billing (..),
+
+    -- ** Reasons_DataGovernance
+    Reasons_DataGovernance (..),
+
+    -- ** Reasons_ServiceActivation
+    Reasons_ServiceActivation (..),
+
+    -- ** Reasons_ServiceManagement
+    Reasons_ServiceManagement (..),
+
+    -- ** RepairApplicationRequest
+    RepairApplicationRequest (..),
+    newRepairApplicationRequest,
+
+    -- ** RequestUtilization
+    RequestUtilization (..),
+    newRequestUtilization,
+
+    -- ** ResourceEvent
+    ResourceEvent (..),
+    newResourceEvent,
+
+    -- ** ResourceRecord
+    ResourceRecord (..),
+    newResourceRecord,
+
+    -- ** ResourceRecord_Type
+    ResourceRecord_Type (..),
+
+    -- ** Resources
+    Resources (..),
+    newResources,
+
+    -- ** Runtime
+    Runtime (..),
+    newRuntime,
+
+    -- ** Runtime_Environment
+    Runtime_Environment (..),
+
+    -- ** Runtime_Stage
+    Runtime_Stage (..),
+
+    -- ** ScriptHandler
+    ScriptHandler (..),
+    newScriptHandler,
+
+    -- ** Service
+    Service (..),
+    newService,
+
+    -- ** Service_GeneratedCustomerMetadata
+    Service_GeneratedCustomerMetadata (..),
+    newService_GeneratedCustomerMetadata,
+
+    -- ** Service_Labels
+    Service_Labels (..),
+    newService_Labels,
+
+    -- ** SslSettings
+    SslSettings (..),
+    newSslSettings,
+
+    -- ** SslSettings_SslManagementType
+    SslSettings_SslManagementType (..),
+
+    -- ** StandardSchedulerSettings
+    StandardSchedulerSettings (..),
+    newStandardSchedulerSettings,
+
+    -- ** StaticFilesHandler
+    StaticFilesHandler (..),
+    newStaticFilesHandler,
+
+    -- ** StaticFilesHandler_HttpHeaders
+    StaticFilesHandler_HttpHeaders (..),
+    newStaticFilesHandler_HttpHeaders,
+
+    -- ** Status
+    Status (..),
+    newStatus,
+
+    -- ** Status_DetailsItem
+    Status_DetailsItem (..),
+    newStatus_DetailsItem,
+
+    -- ** TrafficSplit
+    TrafficSplit (..),
+    newTrafficSplit,
+
+    -- ** TrafficSplit_Allocations
+    TrafficSplit_Allocations (..),
+    newTrafficSplit_Allocations,
+
+    -- ** TrafficSplit_ShardBy
+    TrafficSplit_ShardBy (..),
+
+    -- ** UrlDispatchRule
+    UrlDispatchRule (..),
+    newUrlDispatchRule,
+
+    -- ** UrlMap
+    UrlMap (..),
+    newUrlMap,
+
+    -- ** UrlMap_AuthFailAction
+    UrlMap_AuthFailAction (..),
+
+    -- ** UrlMap_Login
+    UrlMap_Login (..),
+
+    -- ** UrlMap_RedirectHttpResponseCode
+    UrlMap_RedirectHttpResponseCode (..),
+
+    -- ** UrlMap_SecurityLevel
+    UrlMap_SecurityLevel (..),
+
+    -- ** Version
+    Version (..),
+    newVersion,
+
+    -- ** Version_BetaSettings
+    Version_BetaSettings (..),
+    newVersion_BetaSettings,
+
+    -- ** Version_BuildEnvVariables
+    Version_BuildEnvVariables (..),
+    newVersion_BuildEnvVariables,
+
+    -- ** Version_EnvVariables
+    Version_EnvVariables (..),
+    newVersion_EnvVariables,
+
+    -- ** Version_GeneratedCustomerMetadata
+    Version_GeneratedCustomerMetadata (..),
+    newVersion_GeneratedCustomerMetadata,
+
+    -- ** Version_InboundServicesItem
+    Version_InboundServicesItem (..),
+
+    -- ** Version_ServingStatus
+    Version_ServingStatus (..),
+
+    -- ** Volume
+    Volume (..),
+    newVolume,
+
+    -- ** VpcAccessConnector
+    VpcAccessConnector (..),
+    newVpcAccessConnector,
+
+    -- ** VpcAccessConnector_EgressSetting
+    VpcAccessConnector_EgressSetting (..),
+
+    -- ** ZipInfo
+    ZipInfo (..),
+    newZipInfo,
+
+    -- ** AppsAuthorizedCertificatesGetView
+    AppsAuthorizedCertificatesGetView (..),
+
+    -- ** AppsAuthorizedCertificatesListView
+    AppsAuthorizedCertificatesListView (..),
+
+    -- ** AppsDomainMappingsCreateOverrideStrategy
+    AppsDomainMappingsCreateOverrideStrategy (..),
+
+    -- ** AppsGetIncludeExtraData
+    AppsGetIncludeExtraData (..),
+
+    -- ** AppsListRuntimesEnvironment
+    AppsListRuntimesEnvironment (..),
+
+    -- ** AppsServicesVersionsGetView
+    AppsServicesVersionsGetView (..),
+
+    -- ** AppsServicesVersionsListView
+    AppsServicesVersionsListView (..),
+  )
+where
+
+import Gogol.AppEngine.Internal.Product
+import Gogol.AppEngine.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Default request referring to version @v1@ of the App Engine Admin API. This contains the host and root path used as a starting point for constructing service requests.
+appEngineService :: Core.ServiceConfig
+appEngineService =
+  Core.defaultService
+    (Core.ServiceId "appengine:v1")
+    "appengine.googleapis.com"
+
+-- | View and manage your applications deployed on Google App Engine
+type Appengine'Admin =
+  "https://www.googleapis.com/auth/appengine.admin"
+
+-- | See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
+type CloudPlatform'FullControl =
+  "https://www.googleapis.com/auth/cloud-platform"
+
+-- | View your data across Google Cloud services and see the email address of your Google Account
+type CloudPlatform'ReadOnly =
+  "https://www.googleapis.com/auth/cloud-platform.read-only"
diff --git a/gen/Network/Google/AppEngine.hs b/gen/Network/Google/AppEngine.hs
deleted file mode 100644
--- a/gen/Network/Google/AppEngine.hs
+++ /dev/null
@@ -1,897 +0,0 @@
-{-# LANGUAGE DataKinds         #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TypeOperators     #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- |
--- Module      : Network.Google.AppEngine
--- 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)
---
--- Provisions and manages developers\' App Engine applications.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference>
-module Network.Google.AppEngine
-    (
-    -- * Service Configuration
-      appEngineService
-
-    -- * OAuth Scopes
-    , cloudPlatformReadOnlyScope
-    , appEngineAdminScope
-    , cloudPlatformScope
-
-    -- * API Declaration
-    , AppEngineAPI
-
-    -- * Resources
-
-    -- ** appengine.apps.authorizedCertificates.create
-    , module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Create
-
-    -- ** appengine.apps.authorizedCertificates.delete
-    , module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Delete
-
-    -- ** appengine.apps.authorizedCertificates.get
-    , module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Get
-
-    -- ** appengine.apps.authorizedCertificates.list
-    , module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.List
-
-    -- ** appengine.apps.authorizedCertificates.patch
-    , module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Patch
-
-    -- ** appengine.apps.authorizedDomains.list
-    , module Network.Google.Resource.AppEngine.Apps.AuthorizedDomains.List
-
-    -- ** appengine.apps.create
-    , module Network.Google.Resource.AppEngine.Apps.Create
-
-    -- ** appengine.apps.domainMappings.create
-    , module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Create
-
-    -- ** appengine.apps.domainMappings.delete
-    , module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Delete
-
-    -- ** appengine.apps.domainMappings.get
-    , module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Get
-
-    -- ** appengine.apps.domainMappings.list
-    , module Network.Google.Resource.AppEngine.Apps.DomainMAppings.List
-
-    -- ** appengine.apps.domainMappings.patch
-    , module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Patch
-
-    -- ** appengine.apps.firewall.ingressRules.batchUpdate
-    , module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
-
-    -- ** appengine.apps.firewall.ingressRules.create
-    , module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Create
-
-    -- ** appengine.apps.firewall.ingressRules.delete
-    , module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Delete
-
-    -- ** appengine.apps.firewall.ingressRules.get
-    , module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Get
-
-    -- ** appengine.apps.firewall.ingressRules.list
-    , module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.List
-
-    -- ** appengine.apps.firewall.ingressRules.patch
-    , module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Patch
-
-    -- ** appengine.apps.get
-    , module Network.Google.Resource.AppEngine.Apps.Get
-
-    -- ** appengine.apps.locations.get
-    , module Network.Google.Resource.AppEngine.Apps.Locations.Get
-
-    -- ** appengine.apps.locations.list
-    , module Network.Google.Resource.AppEngine.Apps.Locations.List
-
-    -- ** appengine.apps.operations.get
-    , module Network.Google.Resource.AppEngine.Apps.Operations.Get
-
-    -- ** appengine.apps.operations.list
-    , module Network.Google.Resource.AppEngine.Apps.Operations.List
-
-    -- ** appengine.apps.patch
-    , module Network.Google.Resource.AppEngine.Apps.Patch
-
-    -- ** appengine.apps.repair
-    , module Network.Google.Resource.AppEngine.Apps.Repair
-
-    -- ** appengine.apps.services.delete
-    , module Network.Google.Resource.AppEngine.Apps.Services.Delete
-
-    -- ** appengine.apps.services.get
-    , module Network.Google.Resource.AppEngine.Apps.Services.Get
-
-    -- ** appengine.apps.services.list
-    , module Network.Google.Resource.AppEngine.Apps.Services.List
-
-    -- ** appengine.apps.services.patch
-    , module Network.Google.Resource.AppEngine.Apps.Services.Patch
-
-    -- ** appengine.apps.services.versions.create
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Create
-
-    -- ** appengine.apps.services.versions.delete
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete
-
-    -- ** appengine.apps.services.versions.get
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Get
-
-    -- ** appengine.apps.services.versions.instances.debug
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug
-
-    -- ** appengine.apps.services.versions.instances.delete
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete
-
-    -- ** appengine.apps.services.versions.instances.get
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get
-
-    -- ** appengine.apps.services.versions.instances.list
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List
-
-    -- ** appengine.apps.services.versions.list
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.List
-
-    -- ** appengine.apps.services.versions.patch
-    , module Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch
-
-    -- * Types
-
-    -- ** ApplicationServingStatus
-    , ApplicationServingStatus (..)
-
-    -- ** URLMapLogin
-    , URLMapLogin (..)
-
-    -- ** NetworkUtilization
-    , NetworkUtilization
-    , networkUtilization
-    , nuTargetReceivedBytesPerSecond
-    , nuTargetSentPacketsPerSecond
-    , nuTargetReceivedPacketsPerSecond
-    , nuTargetSentBytesPerSecond
-
-    -- ** ManagedCertificateStatus
-    , ManagedCertificateStatus (..)
-
-    -- ** Status
-    , Status
-    , status
-    , sDetails
-    , sCode
-    , sMessage
-
-    -- ** LocationSchema
-    , LocationSchema
-    , locationSchema
-    , lsAddtional
-
-    -- ** AuthorizedDomain
-    , AuthorizedDomain
-    , authorizedDomain
-    , adName
-    , adId
-
-    -- ** TrafficSplit
-    , TrafficSplit
-    , trafficSplit
-    , tsShardBy
-    , tsAllocations
-
-    -- ** ScriptHandler
-    , ScriptHandler
-    , scriptHandler
-    , shScriptPath
-
-    -- ** ListServicesResponse
-    , ListServicesResponse
-    , listServicesResponse
-    , lsrNextPageToken
-    , lsrServices
-
-    -- ** URLMap
-    , URLMap
-    , urlMap
-    , umScript
-    , umSecurityLevel
-    , umAPIEndpoint
-    , umURLRegex
-    , umRedirectHTTPResponseCode
-    , umAuthFailAction
-    , umStaticFiles
-    , umLogin
-
-    -- ** Library
-    , Library
-    , library
-    , lName
-    , lVersion
-
-    -- ** ResourceRecord
-    , ResourceRecord
-    , resourceRecord
-    , rrRrData
-    , rrName
-    , rrType
-
-    -- ** ListLocationsResponse
-    , ListLocationsResponse
-    , listLocationsResponse
-    , llrNextPageToken
-    , llrLocations
-
-    -- ** DiskUtilization
-    , DiskUtilization
-    , diskUtilization
-    , duTargetReadBytesPerSecond
-    , duTargetReadOpsPerSecond
-    , duTargetWriteOpsPerSecond
-    , duTargetWriteBytesPerSecond
-
-    -- ** ListOperationsResponse
-    , ListOperationsResponse
-    , listOperationsResponse
-    , lorNextPageToken
-    , lorOperations
-
-    -- ** HealthCheck
-    , HealthCheck
-    , healthCheck
-    , hcHealthyThreshold
-    , hcDisableHealthCheck
-    , hcCheckInterval
-    , hcRestartThreshold
-    , hcHost
-    , hcTimeout
-    , hcUnhealthyThreshold
-
-    -- ** AuthorizedCertificate
-    , AuthorizedCertificate
-    , authorizedCertificate
-    , acManagedCertificate
-    , acCertificateRawData
-    , acDomainNames
-    , acDomainMAppingsCount
-    , acName
-    , acDisplayName
-    , acId
-    , acExpireTime
-    , acVisibleDomainMAppings
-
-    -- ** VPCAccessConnector
-    , VPCAccessConnector
-    , vpcAccessConnector
-    , vacName
-
-    -- ** APIConfigHandler
-    , APIConfigHandler
-    , apiConfigHandler
-    , achScript
-    , achSecurityLevel
-    , achURL
-    , achAuthFailAction
-    , achLogin
-
-    -- ** VersionEnvVariables
-    , VersionEnvVariables
-    , versionEnvVariables
-    , vevAddtional
-
-    -- ** APIConfigHandlerSecurityLevel
-    , APIConfigHandlerSecurityLevel (..)
-
-    -- ** Application
-    , Application
-    , application
-    , aDefaultHostname
-    , aDefaultCookieExpiration
-    , aIap
-    , aAuthDomain
-    , aCodeBucket
-    , aGcrDomain
-    , aFeatureSettings
-    , aName
-    , aDispatchRules
-    , aDefaultBucket
-    , aId
-    , aLocationId
-    , aServingStatus
-
-    -- ** VersionBetaSettings
-    , VersionBetaSettings
-    , versionBetaSettings
-    , vbsAddtional
-
-    -- ** Service
-    , Service
-    , service
-    , sSplit
-    , sName
-    , sId
-
-    -- ** ErrorHandlerErrorCode
-    , ErrorHandlerErrorCode (..)
-
-    -- ** EndpointsAPIService
-    , EndpointsAPIService
-    , endpointsAPIService
-    , easDisableTraceSampling
-    , easName
-    , easConfigId
-    , easRolloutStrategy
-
-    -- ** Location
-    , Location
-    , location
-    , locName
-    , locMetadata
-    , locDisplayName
-    , locLabels
-    , locLocationId
-
-    -- ** Operation
-    , Operation
-    , operation
-    , oDone
-    , oError
-    , oResponse
-    , oName
-    , oMetadata
-
-    -- ** EndpointsAPIServiceRolloutStrategy
-    , EndpointsAPIServiceRolloutStrategy (..)
-
-    -- ** ZipInfo
-    , ZipInfo
-    , zipInfo
-    , ziFilesCount
-    , ziSourceURL
-
-    -- ** Empty
-    , Empty
-    , empty
-
-    -- ** URLDispatchRule
-    , URLDispatchRule
-    , urlDispatchRule
-    , udrPath
-    , udrService
-    , udrDomain
-
-    -- ** OperationMetadataV1Beta
-    , OperationMetadataV1Beta
-    , operationMetadataV1Beta
-    , omvbEphemeralMessage
-    , omvbInsertTime
-    , omvbUser
-    , omvbMethod
-    , omvbEndTime
-    , omvbWarning
-    , omvbCreateVersionMetadata
-    , omvbTarget
-
-    -- ** ListAuthorizedDomainsResponse
-    , ListAuthorizedDomainsResponse
-    , listAuthorizedDomainsResponse
-    , ladrNextPageToken
-    , ladrDomains
-
-    -- ** Entrypoint
-    , Entrypoint
-    , entrypoint
-    , eShell
-
-    -- ** ListVersionsResponse
-    , ListVersionsResponse
-    , listVersionsResponse
-    , lvrNextPageToken
-    , lvrVersions
-
-    -- ** ManagedCertificate
-    , ManagedCertificate
-    , managedCertificate
-    , mcStatus
-    , mcLastRenewalTime
-
-    -- ** CreateVersionMetadataV1Alpha
-    , CreateVersionMetadataV1Alpha
-    , createVersionMetadataV1Alpha
-    , cvmvaCloudBuildId
-
-    -- ** FileInfo
-    , FileInfo
-    , fileInfo
-    , fiSha1Sum
-    , fiMimeType
-    , fiSourceURL
-
-    -- ** AutomaticScaling
-    , AutomaticScaling
-    , automaticScaling
-    , asNetworkUtilization
-    , asMaxTotalInstances
-    , asMinIdleInstances
-    , asDiskUtilization
-    , asMinPendingLatency
-    , asCPUUtilization
-    , asMaxIdleInstances
-    , asMinTotalInstances
-    , asMaxConcurrentRequests
-    , asCoolDownPeriod
-    , asRequestUtilization
-    , asMaxPendingLatency
-    , asStandardSchedulerSettings
-
-    -- ** Volume
-    , Volume
-    , volume
-    , vSizeGb
-    , vName
-    , vVolumeType
-
-    -- ** APIEndpointHandler
-    , APIEndpointHandler
-    , apiEndpointHandler
-    , aehScriptPath
-
-    -- ** StatusDetailsItem
-    , StatusDetailsItem
-    , statusDetailsItem
-    , sdiAddtional
-
-    -- ** ListIngressRulesResponse
-    , ListIngressRulesResponse
-    , listIngressRulesResponse
-    , lirrNextPageToken
-    , lirrIngressRules
-
-    -- ** Network
-    , Network
-    , network
-    , nSessionAffinity
-    , nSubnetworkName
-    , nForwardedPorts
-    , nInstanceTag
-    , nName
-
-    -- ** APIConfigHandlerAuthFailAction
-    , APIConfigHandlerAuthFailAction (..)
-
-    -- ** ReadinessCheck
-    , ReadinessCheck
-    , readinessCheck
-    , rcSuccessThreshold
-    , rcFailureThreshold
-    , rcPath
-    , rcCheckInterval
-    , rcAppStartTimeout
-    , rcHost
-    , rcTimeout
-
-    -- ** BatchUpdateIngressRulesRequest
-    , BatchUpdateIngressRulesRequest
-    , batchUpdateIngressRulesRequest
-    , buirrIngressRules
-
-    -- ** DebugInstanceRequest
-    , DebugInstanceRequest
-    , debugInstanceRequest
-    , dirSSHKey
-
-    -- ** StaticFilesHandlerHTTPHeaders
-    , StaticFilesHandlerHTTPHeaders
-    , staticFilesHandlerHTTPHeaders
-    , sfhhttphAddtional
-
-    -- ** Resources
-    , Resources
-    , resources
-    , rMemoryGb
-    , rDiskGb
-    , rVolumes
-    , rCPU
-
-    -- ** FeatureSettings
-    , FeatureSettings
-    , featureSettings
-    , fsUseContainerOptimizedOS
-    , fsSplitHealthChecks
-
-    -- ** CertificateRawData
-    , CertificateRawData
-    , certificateRawData
-    , crdPrivateKey
-    , crdPublicCertificate
-
-    -- ** DomainMApping
-    , DomainMApping
-    , domainMApping
-    , dmaResourceRecords
-    , dmaName
-    , dmaId
-    , dmaSSLSettings
-
-    -- ** VersionServingStatus
-    , VersionServingStatus (..)
-
-    -- ** DeploymentFiles
-    , DeploymentFiles
-    , deploymentFiles
-    , dfAddtional
-
-    -- ** BatchUpdateIngressRulesResponse
-    , BatchUpdateIngressRulesResponse
-    , batchUpdateIngressRulesResponse
-    , bIngressRules
-
-    -- ** CPUUtilization
-    , CPUUtilization
-    , cpuUtilization
-    , cuAggregationWindowLength
-    , cuTargetUtilization
-
-    -- ** CreateVersionMetadataV1
-    , CreateVersionMetadataV1
-    , createVersionMetadataV1
-    , cvmvCloudBuildId
-
-    -- ** TrafficSplitAllocations
-    , TrafficSplitAllocations
-    , trafficSplitAllocations
-    , tsaAddtional
-
-    -- ** CloudBuildOptions
-    , CloudBuildOptions
-    , cloudBuildOptions
-    , cboCloudBuildTimeout
-    , cboAppYamlPath
-
-    -- ** ManualScaling
-    , ManualScaling
-    , manualScaling
-    , msInstances
-
-    -- ** BasicScaling
-    , BasicScaling
-    , basicScaling
-    , bsMaxInstances
-    , bsIdleTimeout
-
-    -- ** URLMapSecurityLevel
-    , URLMapSecurityLevel (..)
-
-    -- ** ResourceRecordType
-    , ResourceRecordType (..)
-
-    -- ** OperationMetadataV1
-    , OperationMetadataV1
-    , operationMetadataV1
-    , omvEphemeralMessage
-    , omvInsertTime
-    , omvUser
-    , omvMethod
-    , omvEndTime
-    , omvWarning
-    , omvCreateVersionMetadata
-    , omvTarget
-
-    -- ** Version
-    , Version
-    , version
-    , verRuntime
-    , verNobuildFilesRegex
-    , verInstanceClass
-    , verRuntimeChannel
-    , verRuntimeMainExecutablePath
-    , verVPCAccessConnector
-    , verHealthCheck
-    , verEndpointsAPIService
-    , verEnv
-    , verZones
-    , verEntrypoint
-    , verDefaultExpiration
-    , verAutomaticScaling
-    , verErrorHandlers
-    , verCreatedBy
-    , verVM
-    , verHandlers
-    , verInboundServices
-    , verReadinessCheck
-    , verNetwork
-    , verResources
-    , verName
-    , verThreadsafe
-    , verBetaSettings
-    , verBasicScaling
-    , verManualScaling
-    , verAPIConfig
-    , verId
-    , verEnvVariables
-    , verLivenessCheck
-    , verRuntimeAPIVersion
-    , verServingStatus
-    , verDiskUsageBytes
-    , verCreateTime
-    , verLibraries
-    , verVersionURL
-    , verDeployment
-
-    -- ** Xgafv
-    , Xgafv (..)
-
-    -- ** IdentityAwareProxy
-    , IdentityAwareProxy
-    , identityAwareProxy
-    , iapEnabled
-    , iapOAuth2ClientSecretSha256
-    , iapOAuth2ClientSecret
-    , iapOAuth2ClientId
-
-    -- ** StaticFilesHandler
-    , StaticFilesHandler
-    , staticFilesHandler
-    , sfhHTTPHeaders
-    , sfhPath
-    , sfhRequireMatchingFile
-    , sfhExpiration
-    , sfhMimeType
-    , sfhApplicationReadable
-    , sfhUploadPathRegex
-
-    -- ** ErrorHandler
-    , ErrorHandler
-    , errorHandler
-    , ehMimeType
-    , ehErrorCode
-    , ehStaticFile
-
-    -- ** TrafficSplitShardBy
-    , TrafficSplitShardBy (..)
-
-    -- ** InstanceAvailability
-    , InstanceAvailability (..)
-
-    -- ** LocationLabels
-    , LocationLabels
-    , locationLabels
-    , llAddtional
-
-    -- ** ListAuthorizedCertificatesResponse
-    , ListAuthorizedCertificatesResponse
-    , listAuthorizedCertificatesResponse
-    , lacrNextPageToken
-    , lacrCertificates
-
-    -- ** FirewallRule
-    , FirewallRule
-    , firewallRule
-    , frPriority
-    , frAction
-    , frSourceRange
-    , frDescription
-
-    -- ** LocationMetadata
-    , LocationMetadata
-    , locationMetadata
-    , lmStandardEnvironmentAvailable
-    , lmFlexibleEnvironmentAvailable
-
-    -- ** OperationMetadata
-    , OperationMetadata
-    , operationMetadata
-    , omAddtional
-
-    -- ** URLMapAuthFailAction
-    , URLMapAuthFailAction (..)
-
-    -- ** ListInstancesResponse
-    , ListInstancesResponse
-    , listInstancesResponse
-    , lirNextPageToken
-    , lirInstances
-
-    -- ** OperationMetadataV1Alpha
-    , OperationMetadataV1Alpha
-    , operationMetadataV1Alpha
-    , omvaEphemeralMessage
-    , omvaInsertTime
-    , omvaUser
-    , omvaMethod
-    , omvaEndTime
-    , omvaWarning
-    , omvaCreateVersionMetadata
-    , omvaTarget
-
-    -- ** LivenessCheck
-    , LivenessCheck
-    , livenessCheck
-    , lcSuccessThreshold
-    , lcFailureThreshold
-    , lcPath
-    , lcCheckInterval
-    , lcHost
-    , lcInitialDelay
-    , lcTimeout
-
-    -- ** URLMapRedirectHTTPResponseCode
-    , URLMapRedirectHTTPResponseCode (..)
-
-    -- ** RequestUtilization
-    , RequestUtilization
-    , requestUtilization
-    , ruTargetConcurrentRequests
-    , ruTargetRequestCountPerSecond
-
-    -- ** FirewallRuleAction
-    , FirewallRuleAction (..)
-
-    -- ** SSLSettingsSSLManagementType
-    , SSLSettingsSSLManagementType (..)
-
-    -- ** RepairApplicationRequest
-    , RepairApplicationRequest
-    , repairApplicationRequest
-
-    -- ** OperationResponse
-    , OperationResponse
-    , operationResponse
-    , orAddtional
-
-    -- ** CreateVersionMetadataV1Beta
-    , CreateVersionMetadataV1Beta
-    , createVersionMetadataV1Beta
-    , cvmvbCloudBuildId
-
-    -- ** ListDomainMAppingsResponse
-    , ListDomainMAppingsResponse
-    , listDomainMAppingsResponse
-    , ldmarDomainMAppings
-    , ldmarNextPageToken
-
-    -- ** StandardSchedulerSettings
-    , StandardSchedulerSettings
-    , standardSchedulerSettings
-    , sssTargetCPUUtilization
-    , sssMinInstances
-    , sssMaxInstances
-    , sssTargetThroughputUtilization
-
-    -- ** APIConfigHandlerLogin
-    , APIConfigHandlerLogin (..)
-
-    -- ** ContainerInfo
-    , ContainerInfo
-    , containerInfo
-    , ciImage
-
-    -- ** Instance
-    , Instance
-    , instance'
-    , iMemoryUsage
-    , iVMStatus
-    , iVMZoneName
-    , iVMIP
-    , iStartTime
-    , iVMId
-    , iAvailability
-    , iVMName
-    , iName
-    , iVMDebugEnabled
-    , iRequests
-    , iQps
-    , iId
-    , iErrors
-    , iAverageLatency
-    , iAppEngineRelease
-
-    -- ** SSLSettings
-    , SSLSettings
-    , sslSettings
-    , ssSSLManagementType
-    , ssCertificateId
-    , ssPendingManagedCertificateId
-
-    -- ** Deployment
-    , Deployment
-    , deployment
-    , dZip
-    , dCloudBuildOptions
-    , dContainer
-    , dFiles
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-import           Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Create
-import           Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Delete
-import           Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Get
-import           Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.List
-import           Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Patch
-import           Network.Google.Resource.AppEngine.Apps.AuthorizedDomains.List
-import           Network.Google.Resource.AppEngine.Apps.Create
-import           Network.Google.Resource.AppEngine.Apps.DomainMAppings.Create
-import           Network.Google.Resource.AppEngine.Apps.DomainMAppings.Delete
-import           Network.Google.Resource.AppEngine.Apps.DomainMAppings.Get
-import           Network.Google.Resource.AppEngine.Apps.DomainMAppings.List
-import           Network.Google.Resource.AppEngine.Apps.DomainMAppings.Patch
-import           Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
-import           Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Create
-import           Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Delete
-import           Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Get
-import           Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.List
-import           Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Patch
-import           Network.Google.Resource.AppEngine.Apps.Get
-import           Network.Google.Resource.AppEngine.Apps.Locations.Get
-import           Network.Google.Resource.AppEngine.Apps.Locations.List
-import           Network.Google.Resource.AppEngine.Apps.Operations.Get
-import           Network.Google.Resource.AppEngine.Apps.Operations.List
-import           Network.Google.Resource.AppEngine.Apps.Patch
-import           Network.Google.Resource.AppEngine.Apps.Repair
-import           Network.Google.Resource.AppEngine.Apps.Services.Delete
-import           Network.Google.Resource.AppEngine.Apps.Services.Get
-import           Network.Google.Resource.AppEngine.Apps.Services.List
-import           Network.Google.Resource.AppEngine.Apps.Services.Patch
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Create
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Get
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.List
-import           Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch
-
-{- $resources
-TODO
--}
-
--- | Represents the entirety of the methods and resources available for the App Engine Admin API service.
-type AppEngineAPI =
-     AppsAuthorizedDomainsListResource :<|>
-       AppsDomainMAppingsListResource
-       :<|> AppsDomainMAppingsPatchResource
-       :<|> AppsDomainMAppingsGetResource
-       :<|> AppsDomainMAppingsCreateResource
-       :<|> AppsDomainMAppingsDeleteResource
-       :<|> AppsFirewallIngressRulesListResource
-       :<|> AppsFirewallIngressRulesPatchResource
-       :<|> AppsFirewallIngressRulesGetResource
-       :<|> AppsFirewallIngressRulesCreateResource
-       :<|> AppsFirewallIngressRulesBatchUpdateResource
-       :<|> AppsFirewallIngressRulesDeleteResource
-       :<|> AppsOperationsListResource
-       :<|> AppsOperationsGetResource
-       :<|> AppsLocationsListResource
-       :<|> AppsLocationsGetResource
-       :<|> AppsServicesVersionsInstancesListResource
-       :<|> AppsServicesVersionsInstancesGetResource
-       :<|> AppsServicesVersionsInstancesDebugResource
-       :<|> AppsServicesVersionsInstancesDeleteResource
-       :<|> AppsServicesVersionsListResource
-       :<|> AppsServicesVersionsPatchResource
-       :<|> AppsServicesVersionsGetResource
-       :<|> AppsServicesVersionsCreateResource
-       :<|> AppsServicesVersionsDeleteResource
-       :<|> AppsServicesListResource
-       :<|> AppsServicesPatchResource
-       :<|> AppsServicesGetResource
-       :<|> AppsServicesDeleteResource
-       :<|> AppsAuthorizedCertificatesListResource
-       :<|> AppsAuthorizedCertificatesPatchResource
-       :<|> AppsAuthorizedCertificatesGetResource
-       :<|> AppsAuthorizedCertificatesCreateResource
-       :<|> AppsAuthorizedCertificatesDeleteResource
-       :<|> AppsPatchResource
-       :<|> AppsGetResource
-       :<|> AppsCreateResource
-       :<|> AppsRepairResource
diff --git a/gen/Network/Google/AppEngine/Types.hs b/gen/Network/Google/AppEngine/Types.hs
deleted file mode 100644
--- a/gen/Network/Google/AppEngine/Types.hs
+++ /dev/null
@@ -1,710 +0,0 @@
-{-# LANGUAGE DataKinds          #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AppEngine.Types
--- 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)
---
-module Network.Google.AppEngine.Types
-    (
-    -- * Service Configuration
-      appEngineService
-
-    -- * OAuth Scopes
-    , cloudPlatformReadOnlyScope
-    , appEngineAdminScope
-    , cloudPlatformScope
-
-    -- * ApplicationServingStatus
-    , ApplicationServingStatus (..)
-
-    -- * URLMapLogin
-    , URLMapLogin (..)
-
-    -- * NetworkUtilization
-    , NetworkUtilization
-    , networkUtilization
-    , nuTargetReceivedBytesPerSecond
-    , nuTargetSentPacketsPerSecond
-    , nuTargetReceivedPacketsPerSecond
-    , nuTargetSentBytesPerSecond
-
-    -- * ManagedCertificateStatus
-    , ManagedCertificateStatus (..)
-
-    -- * Status
-    , Status
-    , status
-    , sDetails
-    , sCode
-    , sMessage
-
-    -- * LocationSchema
-    , LocationSchema
-    , locationSchema
-    , lsAddtional
-
-    -- * AuthorizedDomain
-    , AuthorizedDomain
-    , authorizedDomain
-    , adName
-    , adId
-
-    -- * TrafficSplit
-    , TrafficSplit
-    , trafficSplit
-    , tsShardBy
-    , tsAllocations
-
-    -- * ScriptHandler
-    , ScriptHandler
-    , scriptHandler
-    , shScriptPath
-
-    -- * ListServicesResponse
-    , ListServicesResponse
-    , listServicesResponse
-    , lsrNextPageToken
-    , lsrServices
-
-    -- * URLMap
-    , URLMap
-    , urlMap
-    , umScript
-    , umSecurityLevel
-    , umAPIEndpoint
-    , umURLRegex
-    , umRedirectHTTPResponseCode
-    , umAuthFailAction
-    , umStaticFiles
-    , umLogin
-
-    -- * Library
-    , Library
-    , library
-    , lName
-    , lVersion
-
-    -- * ResourceRecord
-    , ResourceRecord
-    , resourceRecord
-    , rrRrData
-    , rrName
-    , rrType
-
-    -- * ListLocationsResponse
-    , ListLocationsResponse
-    , listLocationsResponse
-    , llrNextPageToken
-    , llrLocations
-
-    -- * DiskUtilization
-    , DiskUtilization
-    , diskUtilization
-    , duTargetReadBytesPerSecond
-    , duTargetReadOpsPerSecond
-    , duTargetWriteOpsPerSecond
-    , duTargetWriteBytesPerSecond
-
-    -- * ListOperationsResponse
-    , ListOperationsResponse
-    , listOperationsResponse
-    , lorNextPageToken
-    , lorOperations
-
-    -- * HealthCheck
-    , HealthCheck
-    , healthCheck
-    , hcHealthyThreshold
-    , hcDisableHealthCheck
-    , hcCheckInterval
-    , hcRestartThreshold
-    , hcHost
-    , hcTimeout
-    , hcUnhealthyThreshold
-
-    -- * AuthorizedCertificate
-    , AuthorizedCertificate
-    , authorizedCertificate
-    , acManagedCertificate
-    , acCertificateRawData
-    , acDomainNames
-    , acDomainMAppingsCount
-    , acName
-    , acDisplayName
-    , acId
-    , acExpireTime
-    , acVisibleDomainMAppings
-
-    -- * VPCAccessConnector
-    , VPCAccessConnector
-    , vpcAccessConnector
-    , vacName
-
-    -- * APIConfigHandler
-    , APIConfigHandler
-    , apiConfigHandler
-    , achScript
-    , achSecurityLevel
-    , achURL
-    , achAuthFailAction
-    , achLogin
-
-    -- * VersionEnvVariables
-    , VersionEnvVariables
-    , versionEnvVariables
-    , vevAddtional
-
-    -- * APIConfigHandlerSecurityLevel
-    , APIConfigHandlerSecurityLevel (..)
-
-    -- * Application
-    , Application
-    , application
-    , aDefaultHostname
-    , aDefaultCookieExpiration
-    , aIap
-    , aAuthDomain
-    , aCodeBucket
-    , aGcrDomain
-    , aFeatureSettings
-    , aName
-    , aDispatchRules
-    , aDefaultBucket
-    , aId
-    , aLocationId
-    , aServingStatus
-
-    -- * VersionBetaSettings
-    , VersionBetaSettings
-    , versionBetaSettings
-    , vbsAddtional
-
-    -- * Service
-    , Service
-    , service
-    , sSplit
-    , sName
-    , sId
-
-    -- * ErrorHandlerErrorCode
-    , ErrorHandlerErrorCode (..)
-
-    -- * EndpointsAPIService
-    , EndpointsAPIService
-    , endpointsAPIService
-    , easDisableTraceSampling
-    , easName
-    , easConfigId
-    , easRolloutStrategy
-
-    -- * Location
-    , Location
-    , location
-    , locName
-    , locMetadata
-    , locDisplayName
-    , locLabels
-    , locLocationId
-
-    -- * Operation
-    , Operation
-    , operation
-    , oDone
-    , oError
-    , oResponse
-    , oName
-    , oMetadata
-
-    -- * EndpointsAPIServiceRolloutStrategy
-    , EndpointsAPIServiceRolloutStrategy (..)
-
-    -- * ZipInfo
-    , ZipInfo
-    , zipInfo
-    , ziFilesCount
-    , ziSourceURL
-
-    -- * Empty
-    , Empty
-    , empty
-
-    -- * URLDispatchRule
-    , URLDispatchRule
-    , urlDispatchRule
-    , udrPath
-    , udrService
-    , udrDomain
-
-    -- * OperationMetadataV1Beta
-    , OperationMetadataV1Beta
-    , operationMetadataV1Beta
-    , omvbEphemeralMessage
-    , omvbInsertTime
-    , omvbUser
-    , omvbMethod
-    , omvbEndTime
-    , omvbWarning
-    , omvbCreateVersionMetadata
-    , omvbTarget
-
-    -- * ListAuthorizedDomainsResponse
-    , ListAuthorizedDomainsResponse
-    , listAuthorizedDomainsResponse
-    , ladrNextPageToken
-    , ladrDomains
-
-    -- * Entrypoint
-    , Entrypoint
-    , entrypoint
-    , eShell
-
-    -- * ListVersionsResponse
-    , ListVersionsResponse
-    , listVersionsResponse
-    , lvrNextPageToken
-    , lvrVersions
-
-    -- * ManagedCertificate
-    , ManagedCertificate
-    , managedCertificate
-    , mcStatus
-    , mcLastRenewalTime
-
-    -- * CreateVersionMetadataV1Alpha
-    , CreateVersionMetadataV1Alpha
-    , createVersionMetadataV1Alpha
-    , cvmvaCloudBuildId
-
-    -- * FileInfo
-    , FileInfo
-    , fileInfo
-    , fiSha1Sum
-    , fiMimeType
-    , fiSourceURL
-
-    -- * AutomaticScaling
-    , AutomaticScaling
-    , automaticScaling
-    , asNetworkUtilization
-    , asMaxTotalInstances
-    , asMinIdleInstances
-    , asDiskUtilization
-    , asMinPendingLatency
-    , asCPUUtilization
-    , asMaxIdleInstances
-    , asMinTotalInstances
-    , asMaxConcurrentRequests
-    , asCoolDownPeriod
-    , asRequestUtilization
-    , asMaxPendingLatency
-    , asStandardSchedulerSettings
-
-    -- * Volume
-    , Volume
-    , volume
-    , vSizeGb
-    , vName
-    , vVolumeType
-
-    -- * APIEndpointHandler
-    , APIEndpointHandler
-    , apiEndpointHandler
-    , aehScriptPath
-
-    -- * StatusDetailsItem
-    , StatusDetailsItem
-    , statusDetailsItem
-    , sdiAddtional
-
-    -- * ListIngressRulesResponse
-    , ListIngressRulesResponse
-    , listIngressRulesResponse
-    , lirrNextPageToken
-    , lirrIngressRules
-
-    -- * Network
-    , Network
-    , network
-    , nSessionAffinity
-    , nSubnetworkName
-    , nForwardedPorts
-    , nInstanceTag
-    , nName
-
-    -- * APIConfigHandlerAuthFailAction
-    , APIConfigHandlerAuthFailAction (..)
-
-    -- * ReadinessCheck
-    , ReadinessCheck
-    , readinessCheck
-    , rcSuccessThreshold
-    , rcFailureThreshold
-    , rcPath
-    , rcCheckInterval
-    , rcAppStartTimeout
-    , rcHost
-    , rcTimeout
-
-    -- * BatchUpdateIngressRulesRequest
-    , BatchUpdateIngressRulesRequest
-    , batchUpdateIngressRulesRequest
-    , buirrIngressRules
-
-    -- * DebugInstanceRequest
-    , DebugInstanceRequest
-    , debugInstanceRequest
-    , dirSSHKey
-
-    -- * StaticFilesHandlerHTTPHeaders
-    , StaticFilesHandlerHTTPHeaders
-    , staticFilesHandlerHTTPHeaders
-    , sfhhttphAddtional
-
-    -- * Resources
-    , Resources
-    , resources
-    , rMemoryGb
-    , rDiskGb
-    , rVolumes
-    , rCPU
-
-    -- * FeatureSettings
-    , FeatureSettings
-    , featureSettings
-    , fsUseContainerOptimizedOS
-    , fsSplitHealthChecks
-
-    -- * CertificateRawData
-    , CertificateRawData
-    , certificateRawData
-    , crdPrivateKey
-    , crdPublicCertificate
-
-    -- * DomainMApping
-    , DomainMApping
-    , domainMApping
-    , dmaResourceRecords
-    , dmaName
-    , dmaId
-    , dmaSSLSettings
-
-    -- * VersionServingStatus
-    , VersionServingStatus (..)
-
-    -- * DeploymentFiles
-    , DeploymentFiles
-    , deploymentFiles
-    , dfAddtional
-
-    -- * BatchUpdateIngressRulesResponse
-    , BatchUpdateIngressRulesResponse
-    , batchUpdateIngressRulesResponse
-    , bIngressRules
-
-    -- * CPUUtilization
-    , CPUUtilization
-    , cpuUtilization
-    , cuAggregationWindowLength
-    , cuTargetUtilization
-
-    -- * CreateVersionMetadataV1
-    , CreateVersionMetadataV1
-    , createVersionMetadataV1
-    , cvmvCloudBuildId
-
-    -- * TrafficSplitAllocations
-    , TrafficSplitAllocations
-    , trafficSplitAllocations
-    , tsaAddtional
-
-    -- * CloudBuildOptions
-    , CloudBuildOptions
-    , cloudBuildOptions
-    , cboCloudBuildTimeout
-    , cboAppYamlPath
-
-    -- * ManualScaling
-    , ManualScaling
-    , manualScaling
-    , msInstances
-
-    -- * BasicScaling
-    , BasicScaling
-    , basicScaling
-    , bsMaxInstances
-    , bsIdleTimeout
-
-    -- * URLMapSecurityLevel
-    , URLMapSecurityLevel (..)
-
-    -- * ResourceRecordType
-    , ResourceRecordType (..)
-
-    -- * OperationMetadataV1
-    , OperationMetadataV1
-    , operationMetadataV1
-    , omvEphemeralMessage
-    , omvInsertTime
-    , omvUser
-    , omvMethod
-    , omvEndTime
-    , omvWarning
-    , omvCreateVersionMetadata
-    , omvTarget
-
-    -- * Version
-    , Version
-    , version
-    , verRuntime
-    , verNobuildFilesRegex
-    , verInstanceClass
-    , verRuntimeChannel
-    , verRuntimeMainExecutablePath
-    , verVPCAccessConnector
-    , verHealthCheck
-    , verEndpointsAPIService
-    , verEnv
-    , verZones
-    , verEntrypoint
-    , verDefaultExpiration
-    , verAutomaticScaling
-    , verErrorHandlers
-    , verCreatedBy
-    , verVM
-    , verHandlers
-    , verInboundServices
-    , verReadinessCheck
-    , verNetwork
-    , verResources
-    , verName
-    , verThreadsafe
-    , verBetaSettings
-    , verBasicScaling
-    , verManualScaling
-    , verAPIConfig
-    , verId
-    , verEnvVariables
-    , verLivenessCheck
-    , verRuntimeAPIVersion
-    , verServingStatus
-    , verDiskUsageBytes
-    , verCreateTime
-    , verLibraries
-    , verVersionURL
-    , verDeployment
-
-    -- * Xgafv
-    , Xgafv (..)
-
-    -- * IdentityAwareProxy
-    , IdentityAwareProxy
-    , identityAwareProxy
-    , iapEnabled
-    , iapOAuth2ClientSecretSha256
-    , iapOAuth2ClientSecret
-    , iapOAuth2ClientId
-
-    -- * StaticFilesHandler
-    , StaticFilesHandler
-    , staticFilesHandler
-    , sfhHTTPHeaders
-    , sfhPath
-    , sfhRequireMatchingFile
-    , sfhExpiration
-    , sfhMimeType
-    , sfhApplicationReadable
-    , sfhUploadPathRegex
-
-    -- * ErrorHandler
-    , ErrorHandler
-    , errorHandler
-    , ehMimeType
-    , ehErrorCode
-    , ehStaticFile
-
-    -- * TrafficSplitShardBy
-    , TrafficSplitShardBy (..)
-
-    -- * InstanceAvailability
-    , InstanceAvailability (..)
-
-    -- * LocationLabels
-    , LocationLabels
-    , locationLabels
-    , llAddtional
-
-    -- * ListAuthorizedCertificatesResponse
-    , ListAuthorizedCertificatesResponse
-    , listAuthorizedCertificatesResponse
-    , lacrNextPageToken
-    , lacrCertificates
-
-    -- * FirewallRule
-    , FirewallRule
-    , firewallRule
-    , frPriority
-    , frAction
-    , frSourceRange
-    , frDescription
-
-    -- * LocationMetadata
-    , LocationMetadata
-    , locationMetadata
-    , lmStandardEnvironmentAvailable
-    , lmFlexibleEnvironmentAvailable
-
-    -- * OperationMetadata
-    , OperationMetadata
-    , operationMetadata
-    , omAddtional
-
-    -- * URLMapAuthFailAction
-    , URLMapAuthFailAction (..)
-
-    -- * ListInstancesResponse
-    , ListInstancesResponse
-    , listInstancesResponse
-    , lirNextPageToken
-    , lirInstances
-
-    -- * OperationMetadataV1Alpha
-    , OperationMetadataV1Alpha
-    , operationMetadataV1Alpha
-    , omvaEphemeralMessage
-    , omvaInsertTime
-    , omvaUser
-    , omvaMethod
-    , omvaEndTime
-    , omvaWarning
-    , omvaCreateVersionMetadata
-    , omvaTarget
-
-    -- * LivenessCheck
-    , LivenessCheck
-    , livenessCheck
-    , lcSuccessThreshold
-    , lcFailureThreshold
-    , lcPath
-    , lcCheckInterval
-    , lcHost
-    , lcInitialDelay
-    , lcTimeout
-
-    -- * URLMapRedirectHTTPResponseCode
-    , URLMapRedirectHTTPResponseCode (..)
-
-    -- * RequestUtilization
-    , RequestUtilization
-    , requestUtilization
-    , ruTargetConcurrentRequests
-    , ruTargetRequestCountPerSecond
-
-    -- * FirewallRuleAction
-    , FirewallRuleAction (..)
-
-    -- * SSLSettingsSSLManagementType
-    , SSLSettingsSSLManagementType (..)
-
-    -- * RepairApplicationRequest
-    , RepairApplicationRequest
-    , repairApplicationRequest
-
-    -- * OperationResponse
-    , OperationResponse
-    , operationResponse
-    , orAddtional
-
-    -- * CreateVersionMetadataV1Beta
-    , CreateVersionMetadataV1Beta
-    , createVersionMetadataV1Beta
-    , cvmvbCloudBuildId
-
-    -- * ListDomainMAppingsResponse
-    , ListDomainMAppingsResponse
-    , listDomainMAppingsResponse
-    , ldmarDomainMAppings
-    , ldmarNextPageToken
-
-    -- * StandardSchedulerSettings
-    , StandardSchedulerSettings
-    , standardSchedulerSettings
-    , sssTargetCPUUtilization
-    , sssMinInstances
-    , sssMaxInstances
-    , sssTargetThroughputUtilization
-
-    -- * APIConfigHandlerLogin
-    , APIConfigHandlerLogin (..)
-
-    -- * ContainerInfo
-    , ContainerInfo
-    , containerInfo
-    , ciImage
-
-    -- * Instance
-    , Instance
-    , instance'
-    , iMemoryUsage
-    , iVMStatus
-    , iVMZoneName
-    , iVMIP
-    , iStartTime
-    , iVMId
-    , iAvailability
-    , iVMName
-    , iName
-    , iVMDebugEnabled
-    , iRequests
-    , iQps
-    , iId
-    , iErrors
-    , iAverageLatency
-    , iAppEngineRelease
-
-    -- * SSLSettings
-    , SSLSettings
-    , sslSettings
-    , ssSSLManagementType
-    , ssCertificateId
-    , ssPendingManagedCertificateId
-
-    -- * Deployment
-    , Deployment
-    , deployment
-    , dZip
-    , dCloudBuildOptions
-    , dContainer
-    , dFiles
-    ) where
-
-import           Network.Google.AppEngine.Types.Product
-import           Network.Google.AppEngine.Types.Sum
-import           Network.Google.Prelude
-
--- | Default request referring to version 'v1' of the App Engine Admin API. This contains the host and root path used as a starting point for constructing service requests.
-appEngineService :: ServiceConfig
-appEngineService
-  = defaultService (ServiceId "appengine:v1")
-      "appengine.googleapis.com"
-
--- | View your data across Google Cloud Platform services
-cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]
-cloudPlatformReadOnlyScope = Proxy
-
--- | View and manage your applications deployed on Google App Engine
-appEngineAdminScope :: Proxy '["https://www.googleapis.com/auth/appengine.admin"]
-appEngineAdminScope = Proxy
-
--- | View and manage your data across Google Cloud Platform services
-cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
-cloudPlatformScope = Proxy
diff --git a/gen/Network/Google/AppEngine/Types/Product.hs b/gen/Network/Google/AppEngine/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/Google/AppEngine/Types/Product.hs
+++ /dev/null
@@ -1,6034 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AppEngine.Types.Product
--- 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)
---
-module Network.Google.AppEngine.Types.Product where
-
-import           Network.Google.AppEngine.Types.Sum
-import           Network.Google.Prelude
-
--- | Target scaling by network usage. Only applicable in the App Engine
--- flexible environment.
---
--- /See:/ 'networkUtilization' smart constructor.
-data NetworkUtilization =
-  NetworkUtilization'
-    { _nuTargetReceivedBytesPerSecond   :: !(Maybe (Textual Int32))
-    , _nuTargetSentPacketsPerSecond     :: !(Maybe (Textual Int32))
-    , _nuTargetReceivedPacketsPerSecond :: !(Maybe (Textual Int32))
-    , _nuTargetSentBytesPerSecond       :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'NetworkUtilization' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'nuTargetReceivedBytesPerSecond'
---
--- * 'nuTargetSentPacketsPerSecond'
---
--- * 'nuTargetReceivedPacketsPerSecond'
---
--- * 'nuTargetSentBytesPerSecond'
-networkUtilization
-    :: NetworkUtilization
-networkUtilization =
-  NetworkUtilization'
-    { _nuTargetReceivedBytesPerSecond = Nothing
-    , _nuTargetSentPacketsPerSecond = Nothing
-    , _nuTargetReceivedPacketsPerSecond = Nothing
-    , _nuTargetSentBytesPerSecond = Nothing
-    }
-
-
--- | Target bytes received per second.
-nuTargetReceivedBytesPerSecond :: Lens' NetworkUtilization (Maybe Int32)
-nuTargetReceivedBytesPerSecond
-  = lens _nuTargetReceivedBytesPerSecond
-      (\ s a -> s{_nuTargetReceivedBytesPerSecond = a})
-      . mapping _Coerce
-
--- | Target packets sent per second.
-nuTargetSentPacketsPerSecond :: Lens' NetworkUtilization (Maybe Int32)
-nuTargetSentPacketsPerSecond
-  = lens _nuTargetSentPacketsPerSecond
-      (\ s a -> s{_nuTargetSentPacketsPerSecond = a})
-      . mapping _Coerce
-
--- | Target packets received per second.
-nuTargetReceivedPacketsPerSecond :: Lens' NetworkUtilization (Maybe Int32)
-nuTargetReceivedPacketsPerSecond
-  = lens _nuTargetReceivedPacketsPerSecond
-      (\ s a -> s{_nuTargetReceivedPacketsPerSecond = a})
-      . mapping _Coerce
-
--- | Target bytes sent per second.
-nuTargetSentBytesPerSecond :: Lens' NetworkUtilization (Maybe Int32)
-nuTargetSentBytesPerSecond
-  = lens _nuTargetSentBytesPerSecond
-      (\ s a -> s{_nuTargetSentBytesPerSecond = a})
-      . mapping _Coerce
-
-instance FromJSON NetworkUtilization where
-        parseJSON
-          = withObject "NetworkUtilization"
-              (\ o ->
-                 NetworkUtilization' <$>
-                   (o .:? "targetReceivedBytesPerSecond") <*>
-                     (o .:? "targetSentPacketsPerSecond")
-                     <*> (o .:? "targetReceivedPacketsPerSecond")
-                     <*> (o .:? "targetSentBytesPerSecond"))
-
-instance ToJSON NetworkUtilization where
-        toJSON NetworkUtilization'{..}
-          = object
-              (catMaybes
-                 [("targetReceivedBytesPerSecond" .=) <$>
-                    _nuTargetReceivedBytesPerSecond,
-                  ("targetSentPacketsPerSecond" .=) <$>
-                    _nuTargetSentPacketsPerSecond,
-                  ("targetReceivedPacketsPerSecond" .=) <$>
-                    _nuTargetReceivedPacketsPerSecond,
-                  ("targetSentBytesPerSecond" .=) <$>
-                    _nuTargetSentBytesPerSecond])
-
--- | The Status type defines a logical error model that is suitable for
--- different programming environments, including REST APIs and RPC APIs. It
--- is used by gRPC (https:\/\/github.com\/grpc). The error model is
--- designed to be: Simple to use and understand for most users Flexible
--- enough to meet unexpected needsOverviewThe Status message contains three
--- pieces of data: error code, error message, and error details. The error
--- code should be an enum value of google.rpc.Code, but it may accept
--- additional error codes if needed. The error message should be a
--- developer-facing English message that helps developers understand and
--- resolve the error. If a localized user-facing error message is needed,
--- put the localized message in the error details or localize it in the
--- client. The optional error details may contain arbitrary information
--- about the error. There is a predefined set of error detail types in the
--- package google.rpc that can be used for common error conditions.Language
--- mappingThe Status message is the logical representation of the error
--- model, but it is not necessarily the actual wire format. When the Status
--- message is exposed in different client libraries and different wire
--- protocols, it can be mapped differently. For example, it will likely be
--- mapped to some exceptions in Java, but more likely mapped to some error
--- codes in C.Other usesThe error model and the Status message can be used
--- in a variety of environments, either with or without APIs, to provide a
--- consistent developer experience across different environments.Example
--- uses of this error model include: Partial errors. If a service needs to
--- return partial errors to the client, it may embed the Status in the
--- normal response to indicate the partial errors. Workflow errors. A
--- typical workflow has multiple steps. Each step may have a Status message
--- for error reporting. Batch operations. If a client uses batch request
--- and batch response, the Status message should be used directly inside
--- batch response, one for each error sub-response. Asynchronous
--- operations. If an API call embeds asynchronous operation results in its
--- response, the status of those operations should be represented directly
--- using the Status message. Logging. If some API errors are stored in
--- logs, the message Status could be used directly after any stripping
--- needed for security\/privacy reasons.
---
--- /See:/ 'status' smart constructor.
-data Status =
-  Status'
-    { _sDetails :: !(Maybe [StatusDetailsItem])
-    , _sCode    :: !(Maybe (Textual Int32))
-    , _sMessage :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Status' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sDetails'
---
--- * 'sCode'
---
--- * 'sMessage'
-status
-    :: Status
-status = Status' {_sDetails = Nothing, _sCode = Nothing, _sMessage = Nothing}
-
-
--- | A list of messages that carry the error details. There is a common set
--- of message types for APIs to use.
-sDetails :: Lens' Status [StatusDetailsItem]
-sDetails
-  = lens _sDetails (\ s a -> s{_sDetails = a}) .
-      _Default
-      . _Coerce
-
--- | The status code, which should be an enum value of google.rpc.Code.
-sCode :: Lens' Status (Maybe Int32)
-sCode
-  = lens _sCode (\ s a -> s{_sCode = a}) .
-      mapping _Coerce
-
--- | A developer-facing error message, which should be in English. Any
--- user-facing error message should be localized and sent in the
--- google.rpc.Status.details field, or localized by the client.
-sMessage :: Lens' Status (Maybe Text)
-sMessage = lens _sMessage (\ s a -> s{_sMessage = a})
-
-instance FromJSON Status where
-        parseJSON
-          = withObject "Status"
-              (\ o ->
-                 Status' <$>
-                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>
-                     (o .:? "message"))
-
-instance ToJSON Status where
-        toJSON Status'{..}
-          = object
-              (catMaybes
-                 [("details" .=) <$> _sDetails,
-                  ("code" .=) <$> _sCode,
-                  ("message" .=) <$> _sMessage])
-
--- | Service-specific metadata. For example the available capacity at the
--- given location.
---
--- /See:/ 'locationSchema' smart constructor.
-newtype LocationSchema =
-  LocationSchema'
-    { _lsAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LocationSchema' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lsAddtional'
-locationSchema
-    :: HashMap Text JSONValue -- ^ 'lsAddtional'
-    -> LocationSchema
-locationSchema pLsAddtional_ =
-  LocationSchema' {_lsAddtional = _Coerce # pLsAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-lsAddtional :: Lens' LocationSchema (HashMap Text JSONValue)
-lsAddtional
-  = lens _lsAddtional (\ s a -> s{_lsAddtional = a}) .
-      _Coerce
-
-instance FromJSON LocationSchema where
-        parseJSON
-          = withObject "LocationSchema"
-              (\ o -> LocationSchema' <$> (parseJSONObject o))
-
-instance ToJSON LocationSchema where
-        toJSON = toJSON . _lsAddtional
-
--- | A domain that a user has been authorized to administer. To authorize use
--- of a domain, verify ownership via Webmaster Central
--- (https:\/\/www.google.com\/webmasters\/verification\/home).
---
--- /See:/ 'authorizedDomain' smart constructor.
-data AuthorizedDomain =
-  AuthorizedDomain'
-    { _adName :: !(Maybe Text)
-    , _adId   :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AuthorizedDomain' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'adName'
---
--- * 'adId'
-authorizedDomain
-    :: AuthorizedDomain
-authorizedDomain = AuthorizedDomain' {_adName = Nothing, _adId = Nothing}
-
-
--- | Full path to the AuthorizedDomain resource in the API. Example:
--- apps\/myapp\/authorizedDomains\/example.com.\'OutputOnly
-adName :: Lens' AuthorizedDomain (Maybe Text)
-adName = lens _adName (\ s a -> s{_adName = a})
-
--- | Fully qualified domain name of the domain authorized for use. Example:
--- example.com.
-adId :: Lens' AuthorizedDomain (Maybe Text)
-adId = lens _adId (\ s a -> s{_adId = a})
-
-instance FromJSON AuthorizedDomain where
-        parseJSON
-          = withObject "AuthorizedDomain"
-              (\ o ->
-                 AuthorizedDomain' <$>
-                   (o .:? "name") <*> (o .:? "id"))
-
-instance ToJSON AuthorizedDomain where
-        toJSON AuthorizedDomain'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _adName, ("id" .=) <$> _adId])
-
--- | Traffic routing configuration for versions within a single service.
--- Traffic splits define how traffic directed to the service is assigned to
--- versions.
---
--- /See:/ 'trafficSplit' smart constructor.
-data TrafficSplit =
-  TrafficSplit'
-    { _tsShardBy     :: !(Maybe TrafficSplitShardBy)
-    , _tsAllocations :: !(Maybe TrafficSplitAllocations)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TrafficSplit' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tsShardBy'
---
--- * 'tsAllocations'
-trafficSplit
-    :: TrafficSplit
-trafficSplit = TrafficSplit' {_tsShardBy = Nothing, _tsAllocations = Nothing}
-
-
--- | Mechanism used to determine which version a request is sent to. The
--- traffic selection algorithm will be stable for either type until
--- allocations are changed.
-tsShardBy :: Lens' TrafficSplit (Maybe TrafficSplitShardBy)
-tsShardBy
-  = lens _tsShardBy (\ s a -> s{_tsShardBy = a})
-
--- | Mapping from version IDs within the service to fractional (0.000, 1]
--- allocations of traffic for that version. Each version can be specified
--- only once, but some versions in the service may not have any traffic
--- allocation. Services that have traffic allocated cannot be deleted until
--- either the service is deleted or their traffic allocation is removed.
--- Allocations must sum to 1. Up to two decimal place precision is
--- supported for IP-based splits and up to three decimal places is
--- supported for cookie-based splits.
-tsAllocations :: Lens' TrafficSplit (Maybe TrafficSplitAllocations)
-tsAllocations
-  = lens _tsAllocations
-      (\ s a -> s{_tsAllocations = a})
-
-instance FromJSON TrafficSplit where
-        parseJSON
-          = withObject "TrafficSplit"
-              (\ o ->
-                 TrafficSplit' <$>
-                   (o .:? "shardBy") <*> (o .:? "allocations"))
-
-instance ToJSON TrafficSplit where
-        toJSON TrafficSplit'{..}
-          = object
-              (catMaybes
-                 [("shardBy" .=) <$> _tsShardBy,
-                  ("allocations" .=) <$> _tsAllocations])
-
--- | Executes a script to handle the request that matches the URL pattern.
---
--- /See:/ 'scriptHandler' smart constructor.
-newtype ScriptHandler =
-  ScriptHandler'
-    { _shScriptPath :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ScriptHandler' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'shScriptPath'
-scriptHandler
-    :: ScriptHandler
-scriptHandler = ScriptHandler' {_shScriptPath = Nothing}
-
-
--- | Path to the script from the application root directory.
-shScriptPath :: Lens' ScriptHandler (Maybe Text)
-shScriptPath
-  = lens _shScriptPath (\ s a -> s{_shScriptPath = a})
-
-instance FromJSON ScriptHandler where
-        parseJSON
-          = withObject "ScriptHandler"
-              (\ o -> ScriptHandler' <$> (o .:? "scriptPath"))
-
-instance ToJSON ScriptHandler where
-        toJSON ScriptHandler'{..}
-          = object
-              (catMaybes [("scriptPath" .=) <$> _shScriptPath])
-
--- | Response message for Services.ListServices.
---
--- /See:/ 'listServicesResponse' smart constructor.
-data ListServicesResponse =
-  ListServicesResponse'
-    { _lsrNextPageToken :: !(Maybe Text)
-    , _lsrServices      :: !(Maybe [Service])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListServicesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lsrNextPageToken'
---
--- * 'lsrServices'
-listServicesResponse
-    :: ListServicesResponse
-listServicesResponse =
-  ListServicesResponse' {_lsrNextPageToken = Nothing, _lsrServices = Nothing}
-
-
--- | Continuation token for fetching the next page of results.
-lsrNextPageToken :: Lens' ListServicesResponse (Maybe Text)
-lsrNextPageToken
-  = lens _lsrNextPageToken
-      (\ s a -> s{_lsrNextPageToken = a})
-
--- | The services belonging to the requested application.
-lsrServices :: Lens' ListServicesResponse [Service]
-lsrServices
-  = lens _lsrServices (\ s a -> s{_lsrServices = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON ListServicesResponse where
-        parseJSON
-          = withObject "ListServicesResponse"
-              (\ o ->
-                 ListServicesResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "services" .!= mempty))
-
-instance ToJSON ListServicesResponse where
-        toJSON ListServicesResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lsrNextPageToken,
-                  ("services" .=) <$> _lsrServices])
-
--- | URL pattern and description of how the URL should be handled. App Engine
--- can handle URLs by executing application code or by serving static files
--- uploaded with the version, such as images, CSS, or JavaScript.
---
--- /See:/ 'urlMap' smart constructor.
-data URLMap =
-  URLMap'
-    { _umScript                   :: !(Maybe ScriptHandler)
-    , _umSecurityLevel            :: !(Maybe URLMapSecurityLevel)
-    , _umAPIEndpoint              :: !(Maybe APIEndpointHandler)
-    , _umURLRegex                 :: !(Maybe Text)
-    , _umRedirectHTTPResponseCode :: !(Maybe URLMapRedirectHTTPResponseCode)
-    , _umAuthFailAction           :: !(Maybe URLMapAuthFailAction)
-    , _umStaticFiles              :: !(Maybe StaticFilesHandler)
-    , _umLogin                    :: !(Maybe URLMapLogin)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'URLMap' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'umScript'
---
--- * 'umSecurityLevel'
---
--- * 'umAPIEndpoint'
---
--- * 'umURLRegex'
---
--- * 'umRedirectHTTPResponseCode'
---
--- * 'umAuthFailAction'
---
--- * 'umStaticFiles'
---
--- * 'umLogin'
-urlMap
-    :: URLMap
-urlMap =
-  URLMap'
-    { _umScript = Nothing
-    , _umSecurityLevel = Nothing
-    , _umAPIEndpoint = Nothing
-    , _umURLRegex = Nothing
-    , _umRedirectHTTPResponseCode = Nothing
-    , _umAuthFailAction = Nothing
-    , _umStaticFiles = Nothing
-    , _umLogin = Nothing
-    }
-
-
--- | Executes a script to handle the requests that match this URL pattern.
--- Only the auto value is supported for Node.js in the App Engine standard
--- environment, for example \"script\": \"auto\".
-umScript :: Lens' URLMap (Maybe ScriptHandler)
-umScript = lens _umScript (\ s a -> s{_umScript = a})
-
--- | Security (HTTPS) enforcement for this URL.
-umSecurityLevel :: Lens' URLMap (Maybe URLMapSecurityLevel)
-umSecurityLevel
-  = lens _umSecurityLevel
-      (\ s a -> s{_umSecurityLevel = a})
-
--- | Uses API Endpoints to handle requests.
-umAPIEndpoint :: Lens' URLMap (Maybe APIEndpointHandler)
-umAPIEndpoint
-  = lens _umAPIEndpoint
-      (\ s a -> s{_umAPIEndpoint = a})
-
--- | URL prefix. Uses regular expression syntax, which means regexp special
--- characters must be escaped, but should not contain groupings. All URLs
--- that begin with this prefix are handled by this handler, using the
--- portion of the URL after the prefix as part of the file path.
-umURLRegex :: Lens' URLMap (Maybe Text)
-umURLRegex
-  = lens _umURLRegex (\ s a -> s{_umURLRegex = a})
-
--- | 30x code to use when performing redirects for the secure field. Defaults
--- to 302.
-umRedirectHTTPResponseCode :: Lens' URLMap (Maybe URLMapRedirectHTTPResponseCode)
-umRedirectHTTPResponseCode
-  = lens _umRedirectHTTPResponseCode
-      (\ s a -> s{_umRedirectHTTPResponseCode = a})
-
--- | Action to take when users access resources that require authentication.
--- Defaults to redirect.
-umAuthFailAction :: Lens' URLMap (Maybe URLMapAuthFailAction)
-umAuthFailAction
-  = lens _umAuthFailAction
-      (\ s a -> s{_umAuthFailAction = a})
-
--- | Returns the contents of a file, such as an image, as the response.
-umStaticFiles :: Lens' URLMap (Maybe StaticFilesHandler)
-umStaticFiles
-  = lens _umStaticFiles
-      (\ s a -> s{_umStaticFiles = a})
-
--- | Level of login required to access this resource. Not supported for
--- Node.js in the App Engine standard environment.
-umLogin :: Lens' URLMap (Maybe URLMapLogin)
-umLogin = lens _umLogin (\ s a -> s{_umLogin = a})
-
-instance FromJSON URLMap where
-        parseJSON
-          = withObject "URLMap"
-              (\ o ->
-                 URLMap' <$>
-                   (o .:? "script") <*> (o .:? "securityLevel") <*>
-                     (o .:? "apiEndpoint")
-                     <*> (o .:? "urlRegex")
-                     <*> (o .:? "redirectHttpResponseCode")
-                     <*> (o .:? "authFailAction")
-                     <*> (o .:? "staticFiles")
-                     <*> (o .:? "login"))
-
-instance ToJSON URLMap where
-        toJSON URLMap'{..}
-          = object
-              (catMaybes
-                 [("script" .=) <$> _umScript,
-                  ("securityLevel" .=) <$> _umSecurityLevel,
-                  ("apiEndpoint" .=) <$> _umAPIEndpoint,
-                  ("urlRegex" .=) <$> _umURLRegex,
-                  ("redirectHttpResponseCode" .=) <$>
-                    _umRedirectHTTPResponseCode,
-                  ("authFailAction" .=) <$> _umAuthFailAction,
-                  ("staticFiles" .=) <$> _umStaticFiles,
-                  ("login" .=) <$> _umLogin])
-
--- | Third-party Python runtime library that is required by the application.
---
--- /See:/ 'library' smart constructor.
-data Library =
-  Library'
-    { _lName    :: !(Maybe Text)
-    , _lVersion :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Library' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lName'
---
--- * 'lVersion'
-library
-    :: Library
-library = Library' {_lName = Nothing, _lVersion = Nothing}
-
-
--- | Name of the library. Example: \"django\".
-lName :: Lens' Library (Maybe Text)
-lName = lens _lName (\ s a -> s{_lName = a})
-
--- | Version of the library to select, or \"latest\".
-lVersion :: Lens' Library (Maybe Text)
-lVersion = lens _lVersion (\ s a -> s{_lVersion = a})
-
-instance FromJSON Library where
-        parseJSON
-          = withObject "Library"
-              (\ o ->
-                 Library' <$> (o .:? "name") <*> (o .:? "version"))
-
-instance ToJSON Library where
-        toJSON Library'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _lName,
-                  ("version" .=) <$> _lVersion])
-
--- | A DNS resource record.
---
--- /See:/ 'resourceRecord' smart constructor.
-data ResourceRecord =
-  ResourceRecord'
-    { _rrRrData :: !(Maybe Text)
-    , _rrName   :: !(Maybe Text)
-    , _rrType   :: !(Maybe ResourceRecordType)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ResourceRecord' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rrRrData'
---
--- * 'rrName'
---
--- * 'rrType'
-resourceRecord
-    :: ResourceRecord
-resourceRecord =
-  ResourceRecord' {_rrRrData = Nothing, _rrName = Nothing, _rrType = Nothing}
-
-
--- | Data for this record. Values vary by record type, as defined in RFC 1035
--- (section 5) and RFC 1034 (section 3.6.1).
-rrRrData :: Lens' ResourceRecord (Maybe Text)
-rrRrData = lens _rrRrData (\ s a -> s{_rrRrData = a})
-
--- | Relative name of the object affected by this record. Only applicable for
--- CNAME records. Example: \'www\'.
-rrName :: Lens' ResourceRecord (Maybe Text)
-rrName = lens _rrName (\ s a -> s{_rrName = a})
-
--- | Resource record type. Example: AAAA.
-rrType :: Lens' ResourceRecord (Maybe ResourceRecordType)
-rrType = lens _rrType (\ s a -> s{_rrType = a})
-
-instance FromJSON ResourceRecord where
-        parseJSON
-          = withObject "ResourceRecord"
-              (\ o ->
-                 ResourceRecord' <$>
-                   (o .:? "rrdata") <*> (o .:? "name") <*>
-                     (o .:? "type"))
-
-instance ToJSON ResourceRecord where
-        toJSON ResourceRecord'{..}
-          = object
-              (catMaybes
-                 [("rrdata" .=) <$> _rrRrData,
-                  ("name" .=) <$> _rrName, ("type" .=) <$> _rrType])
-
--- | The response message for Locations.ListLocations.
---
--- /See:/ 'listLocationsResponse' smart constructor.
-data ListLocationsResponse =
-  ListLocationsResponse'
-    { _llrNextPageToken :: !(Maybe Text)
-    , _llrLocations     :: !(Maybe [Location])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListLocationsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'llrNextPageToken'
---
--- * 'llrLocations'
-listLocationsResponse
-    :: ListLocationsResponse
-listLocationsResponse =
-  ListLocationsResponse' {_llrNextPageToken = Nothing, _llrLocations = Nothing}
-
-
--- | The standard List next-page token.
-llrNextPageToken :: Lens' ListLocationsResponse (Maybe Text)
-llrNextPageToken
-  = lens _llrNextPageToken
-      (\ s a -> s{_llrNextPageToken = a})
-
--- | A list of locations that matches the specified filter in the request.
-llrLocations :: Lens' ListLocationsResponse [Location]
-llrLocations
-  = lens _llrLocations (\ s a -> s{_llrLocations = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListLocationsResponse where
-        parseJSON
-          = withObject "ListLocationsResponse"
-              (\ o ->
-                 ListLocationsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "locations" .!= mempty))
-
-instance ToJSON ListLocationsResponse where
-        toJSON ListLocationsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _llrNextPageToken,
-                  ("locations" .=) <$> _llrLocations])
-
--- | Target scaling by disk usage. Only applicable in the App Engine flexible
--- environment.
---
--- /See:/ 'diskUtilization' smart constructor.
-data DiskUtilization =
-  DiskUtilization'
-    { _duTargetReadBytesPerSecond  :: !(Maybe (Textual Int32))
-    , _duTargetReadOpsPerSecond    :: !(Maybe (Textual Int32))
-    , _duTargetWriteOpsPerSecond   :: !(Maybe (Textual Int32))
-    , _duTargetWriteBytesPerSecond :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DiskUtilization' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'duTargetReadBytesPerSecond'
---
--- * 'duTargetReadOpsPerSecond'
---
--- * 'duTargetWriteOpsPerSecond'
---
--- * 'duTargetWriteBytesPerSecond'
-diskUtilization
-    :: DiskUtilization
-diskUtilization =
-  DiskUtilization'
-    { _duTargetReadBytesPerSecond = Nothing
-    , _duTargetReadOpsPerSecond = Nothing
-    , _duTargetWriteOpsPerSecond = Nothing
-    , _duTargetWriteBytesPerSecond = Nothing
-    }
-
-
--- | Target bytes read per second.
-duTargetReadBytesPerSecond :: Lens' DiskUtilization (Maybe Int32)
-duTargetReadBytesPerSecond
-  = lens _duTargetReadBytesPerSecond
-      (\ s a -> s{_duTargetReadBytesPerSecond = a})
-      . mapping _Coerce
-
--- | Target ops read per seconds.
-duTargetReadOpsPerSecond :: Lens' DiskUtilization (Maybe Int32)
-duTargetReadOpsPerSecond
-  = lens _duTargetReadOpsPerSecond
-      (\ s a -> s{_duTargetReadOpsPerSecond = a})
-      . mapping _Coerce
-
--- | Target ops written per second.
-duTargetWriteOpsPerSecond :: Lens' DiskUtilization (Maybe Int32)
-duTargetWriteOpsPerSecond
-  = lens _duTargetWriteOpsPerSecond
-      (\ s a -> s{_duTargetWriteOpsPerSecond = a})
-      . mapping _Coerce
-
--- | Target bytes written per second.
-duTargetWriteBytesPerSecond :: Lens' DiskUtilization (Maybe Int32)
-duTargetWriteBytesPerSecond
-  = lens _duTargetWriteBytesPerSecond
-      (\ s a -> s{_duTargetWriteBytesPerSecond = a})
-      . mapping _Coerce
-
-instance FromJSON DiskUtilization where
-        parseJSON
-          = withObject "DiskUtilization"
-              (\ o ->
-                 DiskUtilization' <$>
-                   (o .:? "targetReadBytesPerSecond") <*>
-                     (o .:? "targetReadOpsPerSecond")
-                     <*> (o .:? "targetWriteOpsPerSecond")
-                     <*> (o .:? "targetWriteBytesPerSecond"))
-
-instance ToJSON DiskUtilization where
-        toJSON DiskUtilization'{..}
-          = object
-              (catMaybes
-                 [("targetReadBytesPerSecond" .=) <$>
-                    _duTargetReadBytesPerSecond,
-                  ("targetReadOpsPerSecond" .=) <$>
-                    _duTargetReadOpsPerSecond,
-                  ("targetWriteOpsPerSecond" .=) <$>
-                    _duTargetWriteOpsPerSecond,
-                  ("targetWriteBytesPerSecond" .=) <$>
-                    _duTargetWriteBytesPerSecond])
-
--- | The response message for Operations.ListOperations.
---
--- /See:/ 'listOperationsResponse' smart constructor.
-data ListOperationsResponse =
-  ListOperationsResponse'
-    { _lorNextPageToken :: !(Maybe Text)
-    , _lorOperations    :: !(Maybe [Operation])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lorNextPageToken'
---
--- * 'lorOperations'
-listOperationsResponse
-    :: ListOperationsResponse
-listOperationsResponse =
-  ListOperationsResponse'
-    {_lorNextPageToken = Nothing, _lorOperations = Nothing}
-
-
--- | The standard List next-page token.
-lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)
-lorNextPageToken
-  = lens _lorNextPageToken
-      (\ s a -> s{_lorNextPageToken = a})
-
--- | A list of operations that matches the specified filter in the request.
-lorOperations :: Lens' ListOperationsResponse [Operation]
-lorOperations
-  = lens _lorOperations
-      (\ s a -> s{_lorOperations = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListOperationsResponse where
-        parseJSON
-          = withObject "ListOperationsResponse"
-              (\ o ->
-                 ListOperationsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "operations" .!= mempty))
-
-instance ToJSON ListOperationsResponse where
-        toJSON ListOperationsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lorNextPageToken,
-                  ("operations" .=) <$> _lorOperations])
-
--- | Health checking configuration for VM instances. Unhealthy instances are
--- killed and replaced with new instances. Only applicable for instances in
--- App Engine flexible environment.
---
--- /See:/ 'healthCheck' smart constructor.
-data HealthCheck =
-  HealthCheck'
-    { _hcHealthyThreshold   :: !(Maybe (Textual Word32))
-    , _hcDisableHealthCheck :: !(Maybe Bool)
-    , _hcCheckInterval      :: !(Maybe GDuration)
-    , _hcRestartThreshold   :: !(Maybe (Textual Word32))
-    , _hcHost               :: !(Maybe Text)
-    , _hcTimeout            :: !(Maybe GDuration)
-    , _hcUnhealthyThreshold :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'HealthCheck' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'hcHealthyThreshold'
---
--- * 'hcDisableHealthCheck'
---
--- * 'hcCheckInterval'
---
--- * 'hcRestartThreshold'
---
--- * 'hcHost'
---
--- * 'hcTimeout'
---
--- * 'hcUnhealthyThreshold'
-healthCheck
-    :: HealthCheck
-healthCheck =
-  HealthCheck'
-    { _hcHealthyThreshold = Nothing
-    , _hcDisableHealthCheck = Nothing
-    , _hcCheckInterval = Nothing
-    , _hcRestartThreshold = Nothing
-    , _hcHost = Nothing
-    , _hcTimeout = Nothing
-    , _hcUnhealthyThreshold = Nothing
-    }
-
-
--- | Number of consecutive successful health checks required before receiving
--- traffic.
-hcHealthyThreshold :: Lens' HealthCheck (Maybe Word32)
-hcHealthyThreshold
-  = lens _hcHealthyThreshold
-      (\ s a -> s{_hcHealthyThreshold = a})
-      . mapping _Coerce
-
--- | Whether to explicitly disable health checks for this instance.
-hcDisableHealthCheck :: Lens' HealthCheck (Maybe Bool)
-hcDisableHealthCheck
-  = lens _hcDisableHealthCheck
-      (\ s a -> s{_hcDisableHealthCheck = a})
-
--- | Interval between health checks.
-hcCheckInterval :: Lens' HealthCheck (Maybe Scientific)
-hcCheckInterval
-  = lens _hcCheckInterval
-      (\ s a -> s{_hcCheckInterval = a})
-      . mapping _GDuration
-
--- | Number of consecutive failed health checks required before an instance
--- is restarted.
-hcRestartThreshold :: Lens' HealthCheck (Maybe Word32)
-hcRestartThreshold
-  = lens _hcRestartThreshold
-      (\ s a -> s{_hcRestartThreshold = a})
-      . mapping _Coerce
-
--- | Host header to send when performing an HTTP health check. Example:
--- \"myapp.appspot.com\"
-hcHost :: Lens' HealthCheck (Maybe Text)
-hcHost = lens _hcHost (\ s a -> s{_hcHost = a})
-
--- | Time before the health check is considered failed.
-hcTimeout :: Lens' HealthCheck (Maybe Scientific)
-hcTimeout
-  = lens _hcTimeout (\ s a -> s{_hcTimeout = a}) .
-      mapping _GDuration
-
--- | Number of consecutive failed health checks required before removing
--- traffic.
-hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Word32)
-hcUnhealthyThreshold
-  = lens _hcUnhealthyThreshold
-      (\ s a -> s{_hcUnhealthyThreshold = a})
-      . mapping _Coerce
-
-instance FromJSON HealthCheck where
-        parseJSON
-          = withObject "HealthCheck"
-              (\ o ->
-                 HealthCheck' <$>
-                   (o .:? "healthyThreshold") <*>
-                     (o .:? "disableHealthCheck")
-                     <*> (o .:? "checkInterval")
-                     <*> (o .:? "restartThreshold")
-                     <*> (o .:? "host")
-                     <*> (o .:? "timeout")
-                     <*> (o .:? "unhealthyThreshold"))
-
-instance ToJSON HealthCheck where
-        toJSON HealthCheck'{..}
-          = object
-              (catMaybes
-                 [("healthyThreshold" .=) <$> _hcHealthyThreshold,
-                  ("disableHealthCheck" .=) <$> _hcDisableHealthCheck,
-                  ("checkInterval" .=) <$> _hcCheckInterval,
-                  ("restartThreshold" .=) <$> _hcRestartThreshold,
-                  ("host" .=) <$> _hcHost,
-                  ("timeout" .=) <$> _hcTimeout,
-                  ("unhealthyThreshold" .=) <$> _hcUnhealthyThreshold])
-
--- | An SSL certificate that a user has been authorized to administer. A user
--- is authorized to administer any certificate that applies to one of their
--- authorized domains.
---
--- /See:/ 'authorizedCertificate' smart constructor.
-data AuthorizedCertificate =
-  AuthorizedCertificate'
-    { _acManagedCertificate    :: !(Maybe ManagedCertificate)
-    , _acCertificateRawData    :: !(Maybe CertificateRawData)
-    , _acDomainNames           :: !(Maybe [Text])
-    , _acDomainMAppingsCount   :: !(Maybe (Textual Int32))
-    , _acName                  :: !(Maybe Text)
-    , _acDisplayName           :: !(Maybe Text)
-    , _acId                    :: !(Maybe Text)
-    , _acExpireTime            :: !(Maybe DateTime')
-    , _acVisibleDomainMAppings :: !(Maybe [Text])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AuthorizedCertificate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'acManagedCertificate'
---
--- * 'acCertificateRawData'
---
--- * 'acDomainNames'
---
--- * 'acDomainMAppingsCount'
---
--- * 'acName'
---
--- * 'acDisplayName'
---
--- * 'acId'
---
--- * 'acExpireTime'
---
--- * 'acVisibleDomainMAppings'
-authorizedCertificate
-    :: AuthorizedCertificate
-authorizedCertificate =
-  AuthorizedCertificate'
-    { _acManagedCertificate = Nothing
-    , _acCertificateRawData = Nothing
-    , _acDomainNames = Nothing
-    , _acDomainMAppingsCount = Nothing
-    , _acName = Nothing
-    , _acDisplayName = Nothing
-    , _acId = Nothing
-    , _acExpireTime = Nothing
-    , _acVisibleDomainMAppings = Nothing
-    }
-
-
--- | Only applicable if this certificate is managed by App Engine. Managed
--- certificates are tied to the lifecycle of a DomainMapping and cannot be
--- updated or deleted via the AuthorizedCertificates API. If this
--- certificate is manually administered by the user, this field will be
--- empty.\'OutputOnly
-acManagedCertificate :: Lens' AuthorizedCertificate (Maybe ManagedCertificate)
-acManagedCertificate
-  = lens _acManagedCertificate
-      (\ s a -> s{_acManagedCertificate = a})
-
--- | The SSL certificate serving the AuthorizedCertificate resource. This
--- must be obtained independently from a certificate authority.
-acCertificateRawData :: Lens' AuthorizedCertificate (Maybe CertificateRawData)
-acCertificateRawData
-  = lens _acCertificateRawData
-      (\ s a -> s{_acCertificateRawData = a})
-
--- | Topmost applicable domains of this certificate. This certificate applies
--- to these domains and their subdomains. Example: example.com.\'OutputOnly
-acDomainNames :: Lens' AuthorizedCertificate [Text]
-acDomainNames
-  = lens _acDomainNames
-      (\ s a -> s{_acDomainNames = a})
-      . _Default
-      . _Coerce
-
--- | Aggregate count of the domain mappings with this certificate mapped.
--- This count includes domain mappings on applications for which the user
--- does not have VIEWER permissions.Only returned by GET or LIST requests
--- when specifically requested by the view=FULL_CERTIFICATE
--- option.\'OutputOnly
-acDomainMAppingsCount :: Lens' AuthorizedCertificate (Maybe Int32)
-acDomainMAppingsCount
-  = lens _acDomainMAppingsCount
-      (\ s a -> s{_acDomainMAppingsCount = a})
-      . mapping _Coerce
-
--- | Full path to the AuthorizedCertificate resource in the API. Example:
--- apps\/myapp\/authorizedCertificates\/12345.\'OutputOnly
-acName :: Lens' AuthorizedCertificate (Maybe Text)
-acName = lens _acName (\ s a -> s{_acName = a})
-
--- | The user-specified display name of the certificate. This is not
--- guaranteed to be unique. Example: My Certificate.
-acDisplayName :: Lens' AuthorizedCertificate (Maybe Text)
-acDisplayName
-  = lens _acDisplayName
-      (\ s a -> s{_acDisplayName = a})
-
--- | Relative name of the certificate. This is a unique value autogenerated
--- on AuthorizedCertificate resource creation. Example: 12345.\'OutputOnly
-acId :: Lens' AuthorizedCertificate (Maybe Text)
-acId = lens _acId (\ s a -> s{_acId = a})
-
--- | The time when this certificate expires. To update the renewal time on
--- this certificate, upload an SSL certificate with a different expiration
--- time using
--- AuthorizedCertificates.UpdateAuthorizedCertificate.\'OutputOnly
-acExpireTime :: Lens' AuthorizedCertificate (Maybe UTCTime)
-acExpireTime
-  = lens _acExpireTime (\ s a -> s{_acExpireTime = a})
-      . mapping _DateTime
-
--- | The full paths to user visible Domain Mapping resources that have this
--- certificate mapped. Example:
--- apps\/myapp\/domainMappings\/example.com.This may not represent the full
--- list of mapped domain mappings if the user does not have VIEWER
--- permissions on all of the applications that have this certificate
--- mapped. See domain_mappings_count for a complete count.Only returned by
--- GET or LIST requests when specifically requested by the
--- view=FULL_CERTIFICATE option.\'OutputOnly
-acVisibleDomainMAppings :: Lens' AuthorizedCertificate [Text]
-acVisibleDomainMAppings
-  = lens _acVisibleDomainMAppings
-      (\ s a -> s{_acVisibleDomainMAppings = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON AuthorizedCertificate where
-        parseJSON
-          = withObject "AuthorizedCertificate"
-              (\ o ->
-                 AuthorizedCertificate' <$>
-                   (o .:? "managedCertificate") <*>
-                     (o .:? "certificateRawData")
-                     <*> (o .:? "domainNames" .!= mempty)
-                     <*> (o .:? "domainMappingsCount")
-                     <*> (o .:? "name")
-                     <*> (o .:? "displayName")
-                     <*> (o .:? "id")
-                     <*> (o .:? "expireTime")
-                     <*> (o .:? "visibleDomainMappings" .!= mempty))
-
-instance ToJSON AuthorizedCertificate where
-        toJSON AuthorizedCertificate'{..}
-          = object
-              (catMaybes
-                 [("managedCertificate" .=) <$> _acManagedCertificate,
-                  ("certificateRawData" .=) <$> _acCertificateRawData,
-                  ("domainNames" .=) <$> _acDomainNames,
-                  ("domainMappingsCount" .=) <$>
-                    _acDomainMAppingsCount,
-                  ("name" .=) <$> _acName,
-                  ("displayName" .=) <$> _acDisplayName,
-                  ("id" .=) <$> _acId,
-                  ("expireTime" .=) <$> _acExpireTime,
-                  ("visibleDomainMappings" .=) <$>
-                    _acVisibleDomainMAppings])
-
--- | VPC access connector specification.
---
--- /See:/ 'vpcAccessConnector' smart constructor.
-newtype VPCAccessConnector =
-  VPCAccessConnector'
-    { _vacName :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'VPCAccessConnector' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'vacName'
-vpcAccessConnector
-    :: VPCAccessConnector
-vpcAccessConnector = VPCAccessConnector' {_vacName = Nothing}
-
-
--- | Full Serverless VPC Access Connector name e.g.
--- \/projects\/my-project\/locations\/us-central1\/connectors\/c1.
-vacName :: Lens' VPCAccessConnector (Maybe Text)
-vacName = lens _vacName (\ s a -> s{_vacName = a})
-
-instance FromJSON VPCAccessConnector where
-        parseJSON
-          = withObject "VPCAccessConnector"
-              (\ o -> VPCAccessConnector' <$> (o .:? "name"))
-
-instance ToJSON VPCAccessConnector where
-        toJSON VPCAccessConnector'{..}
-          = object (catMaybes [("name" .=) <$> _vacName])
-
--- | Google Cloud Endpoints
--- (https:\/\/cloud.google.com\/appengine\/docs\/python\/endpoints\/)
--- configuration for API handlers.
---
--- /See:/ 'apiConfigHandler' smart constructor.
-data APIConfigHandler =
-  APIConfigHandler'
-    { _achScript         :: !(Maybe Text)
-    , _achSecurityLevel  :: !(Maybe APIConfigHandlerSecurityLevel)
-    , _achURL            :: !(Maybe Text)
-    , _achAuthFailAction :: !(Maybe APIConfigHandlerAuthFailAction)
-    , _achLogin          :: !(Maybe APIConfigHandlerLogin)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'APIConfigHandler' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'achScript'
---
--- * 'achSecurityLevel'
---
--- * 'achURL'
---
--- * 'achAuthFailAction'
---
--- * 'achLogin'
-apiConfigHandler
-    :: APIConfigHandler
-apiConfigHandler =
-  APIConfigHandler'
-    { _achScript = Nothing
-    , _achSecurityLevel = Nothing
-    , _achURL = Nothing
-    , _achAuthFailAction = Nothing
-    , _achLogin = Nothing
-    }
-
-
--- | Path to the script from the application root directory.
-achScript :: Lens' APIConfigHandler (Maybe Text)
-achScript
-  = lens _achScript (\ s a -> s{_achScript = a})
-
--- | Security (HTTPS) enforcement for this URL.
-achSecurityLevel :: Lens' APIConfigHandler (Maybe APIConfigHandlerSecurityLevel)
-achSecurityLevel
-  = lens _achSecurityLevel
-      (\ s a -> s{_achSecurityLevel = a})
-
--- | URL to serve the endpoint at.
-achURL :: Lens' APIConfigHandler (Maybe Text)
-achURL = lens _achURL (\ s a -> s{_achURL = a})
-
--- | Action to take when users access resources that require authentication.
--- Defaults to redirect.
-achAuthFailAction :: Lens' APIConfigHandler (Maybe APIConfigHandlerAuthFailAction)
-achAuthFailAction
-  = lens _achAuthFailAction
-      (\ s a -> s{_achAuthFailAction = a})
-
--- | Level of login required to access this resource. Defaults to optional.
-achLogin :: Lens' APIConfigHandler (Maybe APIConfigHandlerLogin)
-achLogin = lens _achLogin (\ s a -> s{_achLogin = a})
-
-instance FromJSON APIConfigHandler where
-        parseJSON
-          = withObject "APIConfigHandler"
-              (\ o ->
-                 APIConfigHandler' <$>
-                   (o .:? "script") <*> (o .:? "securityLevel") <*>
-                     (o .:? "url")
-                     <*> (o .:? "authFailAction")
-                     <*> (o .:? "login"))
-
-instance ToJSON APIConfigHandler where
-        toJSON APIConfigHandler'{..}
-          = object
-              (catMaybes
-                 [("script" .=) <$> _achScript,
-                  ("securityLevel" .=) <$> _achSecurityLevel,
-                  ("url" .=) <$> _achURL,
-                  ("authFailAction" .=) <$> _achAuthFailAction,
-                  ("login" .=) <$> _achLogin])
-
--- | Environment variables available to the application.Only returned in GET
--- requests if view=FULL is set.
---
--- /See:/ 'versionEnvVariables' smart constructor.
-newtype VersionEnvVariables =
-  VersionEnvVariables'
-    { _vevAddtional :: HashMap Text Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'VersionEnvVariables' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'vevAddtional'
-versionEnvVariables
-    :: HashMap Text Text -- ^ 'vevAddtional'
-    -> VersionEnvVariables
-versionEnvVariables pVevAddtional_ =
-  VersionEnvVariables' {_vevAddtional = _Coerce # pVevAddtional_}
-
-
-vevAddtional :: Lens' VersionEnvVariables (HashMap Text Text)
-vevAddtional
-  = lens _vevAddtional (\ s a -> s{_vevAddtional = a})
-      . _Coerce
-
-instance FromJSON VersionEnvVariables where
-        parseJSON
-          = withObject "VersionEnvVariables"
-              (\ o -> VersionEnvVariables' <$> (parseJSONObject o))
-
-instance ToJSON VersionEnvVariables where
-        toJSON = toJSON . _vevAddtional
-
--- | An Application resource contains the top-level configuration of an App
--- Engine application.
---
--- /See:/ 'application' smart constructor.
-data Application =
-  Application'
-    { _aDefaultHostname         :: !(Maybe Text)
-    , _aDefaultCookieExpiration :: !(Maybe GDuration)
-    , _aIap                     :: !(Maybe IdentityAwareProxy)
-    , _aAuthDomain              :: !(Maybe Text)
-    , _aCodeBucket              :: !(Maybe Text)
-    , _aGcrDomain               :: !(Maybe Text)
-    , _aFeatureSettings         :: !(Maybe FeatureSettings)
-    , _aName                    :: !(Maybe Text)
-    , _aDispatchRules           :: !(Maybe [URLDispatchRule])
-    , _aDefaultBucket           :: !(Maybe Text)
-    , _aId                      :: !(Maybe Text)
-    , _aLocationId              :: !(Maybe Text)
-    , _aServingStatus           :: !(Maybe ApplicationServingStatus)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Application' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aDefaultHostname'
---
--- * 'aDefaultCookieExpiration'
---
--- * 'aIap'
---
--- * 'aAuthDomain'
---
--- * 'aCodeBucket'
---
--- * 'aGcrDomain'
---
--- * 'aFeatureSettings'
---
--- * 'aName'
---
--- * 'aDispatchRules'
---
--- * 'aDefaultBucket'
---
--- * 'aId'
---
--- * 'aLocationId'
---
--- * 'aServingStatus'
-application
-    :: Application
-application =
-  Application'
-    { _aDefaultHostname = Nothing
-    , _aDefaultCookieExpiration = Nothing
-    , _aIap = Nothing
-    , _aAuthDomain = Nothing
-    , _aCodeBucket = Nothing
-    , _aGcrDomain = Nothing
-    , _aFeatureSettings = Nothing
-    , _aName = Nothing
-    , _aDispatchRules = Nothing
-    , _aDefaultBucket = Nothing
-    , _aId = Nothing
-    , _aLocationId = Nothing
-    , _aServingStatus = Nothing
-    }
-
-
--- | Hostname used to reach this application, as resolved by App
--- Engine.\'OutputOnly
-aDefaultHostname :: Lens' Application (Maybe Text)
-aDefaultHostname
-  = lens _aDefaultHostname
-      (\ s a -> s{_aDefaultHostname = a})
-
--- | Cookie expiration policy for this application.
-aDefaultCookieExpiration :: Lens' Application (Maybe Scientific)
-aDefaultCookieExpiration
-  = lens _aDefaultCookieExpiration
-      (\ s a -> s{_aDefaultCookieExpiration = a})
-      . mapping _GDuration
-
-aIap :: Lens' Application (Maybe IdentityAwareProxy)
-aIap = lens _aIap (\ s a -> s{_aIap = a})
-
--- | Google Apps authentication domain that controls which users can access
--- this application.Defaults to open access for any Google Account.
-aAuthDomain :: Lens' Application (Maybe Text)
-aAuthDomain
-  = lens _aAuthDomain (\ s a -> s{_aAuthDomain = a})
-
--- | Google Cloud Storage bucket that can be used for storing files
--- associated with this application. This bucket is associated with the
--- application and can be used by the gcloud deployment
--- commands.\'OutputOnly
-aCodeBucket :: Lens' Application (Maybe Text)
-aCodeBucket
-  = lens _aCodeBucket (\ s a -> s{_aCodeBucket = a})
-
--- | The Google Container Registry domain used for storing managed build
--- docker images for this application.
-aGcrDomain :: Lens' Application (Maybe Text)
-aGcrDomain
-  = lens _aGcrDomain (\ s a -> s{_aGcrDomain = a})
-
--- | The feature specific settings to be used in the application.
-aFeatureSettings :: Lens' Application (Maybe FeatureSettings)
-aFeatureSettings
-  = lens _aFeatureSettings
-      (\ s a -> s{_aFeatureSettings = a})
-
--- | Full path to the Application resource in the API. Example:
--- apps\/myapp.\'OutputOnly
-aName :: Lens' Application (Maybe Text)
-aName = lens _aName (\ s a -> s{_aName = a})
-
--- | HTTP path dispatch rules for requests to the application that do not
--- explicitly target a service or version. Rules are order-dependent. Up to
--- 20 dispatch rules can be supported.
-aDispatchRules :: Lens' Application [URLDispatchRule]
-aDispatchRules
-  = lens _aDispatchRules
-      (\ s a -> s{_aDispatchRules = a})
-      . _Default
-      . _Coerce
-
--- | Google Cloud Storage bucket that can be used by this application to
--- store content.\'OutputOnly
-aDefaultBucket :: Lens' Application (Maybe Text)
-aDefaultBucket
-  = lens _aDefaultBucket
-      (\ s a -> s{_aDefaultBucket = a})
-
--- | Identifier of the Application resource. This identifier is equivalent to
--- the project ID of the Google Cloud Platform project where you want to
--- deploy your application. Example: myapp.
-aId :: Lens' Application (Maybe Text)
-aId = lens _aId (\ s a -> s{_aId = a})
-
--- | Location from which this application runs. Application instances run out
--- of the data centers in the specified location, which is also where all
--- of the application\'s end user content is stored.Defaults to
--- us-central.View the list of supported locations
--- (https:\/\/cloud.google.com\/appengine\/docs\/locations).
-aLocationId :: Lens' Application (Maybe Text)
-aLocationId
-  = lens _aLocationId (\ s a -> s{_aLocationId = a})
-
--- | Serving status of this application.
-aServingStatus :: Lens' Application (Maybe ApplicationServingStatus)
-aServingStatus
-  = lens _aServingStatus
-      (\ s a -> s{_aServingStatus = a})
-
-instance FromJSON Application where
-        parseJSON
-          = withObject "Application"
-              (\ o ->
-                 Application' <$>
-                   (o .:? "defaultHostname") <*>
-                     (o .:? "defaultCookieExpiration")
-                     <*> (o .:? "iap")
-                     <*> (o .:? "authDomain")
-                     <*> (o .:? "codeBucket")
-                     <*> (o .:? "gcrDomain")
-                     <*> (o .:? "featureSettings")
-                     <*> (o .:? "name")
-                     <*> (o .:? "dispatchRules" .!= mempty)
-                     <*> (o .:? "defaultBucket")
-                     <*> (o .:? "id")
-                     <*> (o .:? "locationId")
-                     <*> (o .:? "servingStatus"))
-
-instance ToJSON Application where
-        toJSON Application'{..}
-          = object
-              (catMaybes
-                 [("defaultHostname" .=) <$> _aDefaultHostname,
-                  ("defaultCookieExpiration" .=) <$>
-                    _aDefaultCookieExpiration,
-                  ("iap" .=) <$> _aIap,
-                  ("authDomain" .=) <$> _aAuthDomain,
-                  ("codeBucket" .=) <$> _aCodeBucket,
-                  ("gcrDomain" .=) <$> _aGcrDomain,
-                  ("featureSettings" .=) <$> _aFeatureSettings,
-                  ("name" .=) <$> _aName,
-                  ("dispatchRules" .=) <$> _aDispatchRules,
-                  ("defaultBucket" .=) <$> _aDefaultBucket,
-                  ("id" .=) <$> _aId,
-                  ("locationId" .=) <$> _aLocationId,
-                  ("servingStatus" .=) <$> _aServingStatus])
-
--- | Metadata settings that are supplied to this version to enable beta
--- runtime features.
---
--- /See:/ 'versionBetaSettings' smart constructor.
-newtype VersionBetaSettings =
-  VersionBetaSettings'
-    { _vbsAddtional :: HashMap Text Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'VersionBetaSettings' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'vbsAddtional'
-versionBetaSettings
-    :: HashMap Text Text -- ^ 'vbsAddtional'
-    -> VersionBetaSettings
-versionBetaSettings pVbsAddtional_ =
-  VersionBetaSettings' {_vbsAddtional = _Coerce # pVbsAddtional_}
-
-
-vbsAddtional :: Lens' VersionBetaSettings (HashMap Text Text)
-vbsAddtional
-  = lens _vbsAddtional (\ s a -> s{_vbsAddtional = a})
-      . _Coerce
-
-instance FromJSON VersionBetaSettings where
-        parseJSON
-          = withObject "VersionBetaSettings"
-              (\ o -> VersionBetaSettings' <$> (parseJSONObject o))
-
-instance ToJSON VersionBetaSettings where
-        toJSON = toJSON . _vbsAddtional
-
--- | A Service resource is a logical component of an application that can
--- share state and communicate in a secure fashion with other services. For
--- example, an application that handles customer requests might include
--- separate services to handle tasks such as backend data analysis or API
--- requests from mobile devices. Each service has a collection of versions
--- that define a specific set of code used to implement the functionality
--- of that service.
---
--- /See:/ 'service' smart constructor.
-data Service =
-  Service'
-    { _sSplit :: !(Maybe TrafficSplit)
-    , _sName  :: !(Maybe Text)
-    , _sId    :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Service' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sSplit'
---
--- * 'sName'
---
--- * 'sId'
-service
-    :: Service
-service = Service' {_sSplit = Nothing, _sName = Nothing, _sId = Nothing}
-
-
--- | Mapping that defines fractional HTTP traffic diversion to different
--- versions within the service.
-sSplit :: Lens' Service (Maybe TrafficSplit)
-sSplit = lens _sSplit (\ s a -> s{_sSplit = a})
-
--- | Full path to the Service resource in the API. Example:
--- apps\/myapp\/services\/default.\'OutputOnly
-sName :: Lens' Service (Maybe Text)
-sName = lens _sName (\ s a -> s{_sName = a})
-
--- | Relative name of the service within the application. Example:
--- default.\'OutputOnly
-sId :: Lens' Service (Maybe Text)
-sId = lens _sId (\ s a -> s{_sId = a})
-
-instance FromJSON Service where
-        parseJSON
-          = withObject "Service"
-              (\ o ->
-                 Service' <$>
-                   (o .:? "split") <*> (o .:? "name") <*> (o .:? "id"))
-
-instance ToJSON Service where
-        toJSON Service'{..}
-          = object
-              (catMaybes
-                 [("split" .=) <$> _sSplit, ("name" .=) <$> _sName,
-                  ("id" .=) <$> _sId])
-
--- | Cloud Endpoints (https:\/\/cloud.google.com\/endpoints) configuration.
--- The Endpoints API Service provides tooling for serving Open API and gRPC
--- endpoints via an NGINX proxy. Only valid for App Engine Flexible
--- environment deployments.The fields here refer to the name and
--- configuration ID of a \"service\" resource in the Service Management API
--- (https:\/\/cloud.google.com\/service-management\/overview).
---
--- /See:/ 'endpointsAPIService' smart constructor.
-data EndpointsAPIService =
-  EndpointsAPIService'
-    { _easDisableTraceSampling :: !(Maybe Bool)
-    , _easName                 :: !(Maybe Text)
-    , _easConfigId             :: !(Maybe Text)
-    , _easRolloutStrategy      :: !(Maybe EndpointsAPIServiceRolloutStrategy)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'EndpointsAPIService' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'easDisableTraceSampling'
---
--- * 'easName'
---
--- * 'easConfigId'
---
--- * 'easRolloutStrategy'
-endpointsAPIService
-    :: EndpointsAPIService
-endpointsAPIService =
-  EndpointsAPIService'
-    { _easDisableTraceSampling = Nothing
-    , _easName = Nothing
-    , _easConfigId = Nothing
-    , _easRolloutStrategy = Nothing
-    }
-
-
--- | Enable or disable trace sampling. By default, this is set to false for
--- enabled.
-easDisableTraceSampling :: Lens' EndpointsAPIService (Maybe Bool)
-easDisableTraceSampling
-  = lens _easDisableTraceSampling
-      (\ s a -> s{_easDisableTraceSampling = a})
-
--- | Endpoints service name which is the name of the \"service\" resource in
--- the Service Management API. For example
--- \"myapi.endpoints.myproject.cloud.goog\"
-easName :: Lens' EndpointsAPIService (Maybe Text)
-easName = lens _easName (\ s a -> s{_easName = a})
-
--- | Endpoints service configuration ID as specified by the Service
--- Management API. For example \"2016-09-19r1\".By default, the rollout
--- strategy for Endpoints is RolloutStrategy.FIXED. This means that
--- Endpoints starts up with a particular configuration ID. When a new
--- configuration is rolled out, Endpoints must be given the new
--- configuration ID. The config_id field is used to give the configuration
--- ID and is required in this case.Endpoints also has a rollout strategy
--- called RolloutStrategy.MANAGED. When using this, Endpoints fetches the
--- latest configuration and does not need the configuration ID. In this
--- case, config_id must be omitted.
-easConfigId :: Lens' EndpointsAPIService (Maybe Text)
-easConfigId
-  = lens _easConfigId (\ s a -> s{_easConfigId = a})
-
--- | Endpoints rollout strategy. If FIXED, config_id must be specified. If
--- MANAGED, config_id must be omitted.
-easRolloutStrategy :: Lens' EndpointsAPIService (Maybe EndpointsAPIServiceRolloutStrategy)
-easRolloutStrategy
-  = lens _easRolloutStrategy
-      (\ s a -> s{_easRolloutStrategy = a})
-
-instance FromJSON EndpointsAPIService where
-        parseJSON
-          = withObject "EndpointsAPIService"
-              (\ o ->
-                 EndpointsAPIService' <$>
-                   (o .:? "disableTraceSampling") <*> (o .:? "name") <*>
-                     (o .:? "configId")
-                     <*> (o .:? "rolloutStrategy"))
-
-instance ToJSON EndpointsAPIService where
-        toJSON EndpointsAPIService'{..}
-          = object
-              (catMaybes
-                 [("disableTraceSampling" .=) <$>
-                    _easDisableTraceSampling,
-                  ("name" .=) <$> _easName,
-                  ("configId" .=) <$> _easConfigId,
-                  ("rolloutStrategy" .=) <$> _easRolloutStrategy])
-
--- | A resource that represents Google Cloud Platform location.
---
--- /See:/ 'location' smart constructor.
-data Location =
-  Location'
-    { _locName        :: !(Maybe Text)
-    , _locMetadata    :: !(Maybe LocationSchema)
-    , _locDisplayName :: !(Maybe Text)
-    , _locLabels      :: !(Maybe LocationLabels)
-    , _locLocationId  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Location' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'locName'
---
--- * 'locMetadata'
---
--- * 'locDisplayName'
---
--- * 'locLabels'
---
--- * 'locLocationId'
-location
-    :: Location
-location =
-  Location'
-    { _locName = Nothing
-    , _locMetadata = Nothing
-    , _locDisplayName = Nothing
-    , _locLabels = Nothing
-    , _locLocationId = Nothing
-    }
-
-
--- | Resource name for the location, which may vary between implementations.
--- For example: \"projects\/example-project\/locations\/us-east1\"
-locName :: Lens' Location (Maybe Text)
-locName = lens _locName (\ s a -> s{_locName = a})
-
--- | Service-specific metadata. For example the available capacity at the
--- given location.
-locMetadata :: Lens' Location (Maybe LocationSchema)
-locMetadata
-  = lens _locMetadata (\ s a -> s{_locMetadata = a})
-
--- | The friendly name for this location, typically a nearby city name. For
--- example, \"Tokyo\".
-locDisplayName :: Lens' Location (Maybe Text)
-locDisplayName
-  = lens _locDisplayName
-      (\ s a -> s{_locDisplayName = a})
-
--- | Cross-service attributes for the location. For example
--- {\"cloud.googleapis.com\/region\": \"us-east1\"}
-locLabels :: Lens' Location (Maybe LocationLabels)
-locLabels
-  = lens _locLabels (\ s a -> s{_locLabels = a})
-
--- | The canonical id for this location. For example: \"us-east1\".
-locLocationId :: Lens' Location (Maybe Text)
-locLocationId
-  = lens _locLocationId
-      (\ s a -> s{_locLocationId = a})
-
-instance FromJSON Location where
-        parseJSON
-          = withObject "Location"
-              (\ o ->
-                 Location' <$>
-                   (o .:? "name") <*> (o .:? "metadata") <*>
-                     (o .:? "displayName")
-                     <*> (o .:? "labels")
-                     <*> (o .:? "locationId"))
-
-instance ToJSON Location where
-        toJSON Location'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _locName,
-                  ("metadata" .=) <$> _locMetadata,
-                  ("displayName" .=) <$> _locDisplayName,
-                  ("labels" .=) <$> _locLabels,
-                  ("locationId" .=) <$> _locLocationId])
-
--- | This resource represents a long-running operation that is the result of
--- a network API call.
---
--- /See:/ 'operation' smart constructor.
-data Operation =
-  Operation'
-    { _oDone     :: !(Maybe Bool)
-    , _oError    :: !(Maybe Status)
-    , _oResponse :: !(Maybe OperationResponse)
-    , _oName     :: !(Maybe Text)
-    , _oMetadata :: !(Maybe OperationMetadata)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Operation' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'oDone'
---
--- * 'oError'
---
--- * 'oResponse'
---
--- * 'oName'
---
--- * 'oMetadata'
-operation
-    :: Operation
-operation =
-  Operation'
-    { _oDone = Nothing
-    , _oError = Nothing
-    , _oResponse = Nothing
-    , _oName = Nothing
-    , _oMetadata = Nothing
-    }
-
-
--- | If the value is false, it means the operation is still in progress. If
--- true, the operation is completed, and either error or response is
--- available.
-oDone :: Lens' Operation (Maybe Bool)
-oDone = lens _oDone (\ s a -> s{_oDone = a})
-
--- | The error result of the operation in case of failure or cancellation.
-oError :: Lens' Operation (Maybe Status)
-oError = lens _oError (\ s a -> s{_oError = a})
-
--- | The normal response of the operation in case of success. If the original
--- method returns no data on success, such as Delete, the response is
--- google.protobuf.Empty. If the original method is standard
--- Get\/Create\/Update, the response should be the resource. For other
--- methods, the response should have the type XxxResponse, where Xxx is the
--- original method name. For example, if the original method name is
--- TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
-oResponse :: Lens' Operation (Maybe OperationResponse)
-oResponse
-  = lens _oResponse (\ s a -> s{_oResponse = a})
-
--- | The server-assigned name, which is only unique within the same service
--- that originally returns it. If you use the default HTTP mapping, the
--- name should have the format of operations\/some\/unique\/name.
-oName :: Lens' Operation (Maybe Text)
-oName = lens _oName (\ s a -> s{_oName = a})
-
--- | Service-specific metadata associated with the operation. It typically
--- contains progress information and common metadata such as create time.
--- Some services might not provide such metadata. Any method that returns a
--- long-running operation should document the metadata type, if any.
-oMetadata :: Lens' Operation (Maybe OperationMetadata)
-oMetadata
-  = lens _oMetadata (\ s a -> s{_oMetadata = a})
-
-instance FromJSON Operation where
-        parseJSON
-          = withObject "Operation"
-              (\ o ->
-                 Operation' <$>
-                   (o .:? "done") <*> (o .:? "error") <*>
-                     (o .:? "response")
-                     <*> (o .:? "name")
-                     <*> (o .:? "metadata"))
-
-instance ToJSON Operation where
-        toJSON Operation'{..}
-          = object
-              (catMaybes
-                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,
-                  ("response" .=) <$> _oResponse,
-                  ("name" .=) <$> _oName,
-                  ("metadata" .=) <$> _oMetadata])
-
--- | The zip file information for a zip deployment.
---
--- /See:/ 'zipInfo' smart constructor.
-data ZipInfo =
-  ZipInfo'
-    { _ziFilesCount :: !(Maybe (Textual Int32))
-    , _ziSourceURL  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ZipInfo' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ziFilesCount'
---
--- * 'ziSourceURL'
-zipInfo
-    :: ZipInfo
-zipInfo = ZipInfo' {_ziFilesCount = Nothing, _ziSourceURL = Nothing}
-
-
--- | An estimate of the number of files in a zip for a zip deployment. If
--- set, must be greater than or equal to the actual number of files. Used
--- for optimizing performance; if not provided, deployment may be slow.
-ziFilesCount :: Lens' ZipInfo (Maybe Int32)
-ziFilesCount
-  = lens _ziFilesCount (\ s a -> s{_ziFilesCount = a})
-      . mapping _Coerce
-
--- | URL of the zip file to deploy from. Must be a URL to a resource in
--- Google Cloud Storage in the form
--- \'http(s):\/\/storage.googleapis.com\/\/
--- \'.
-ziSourceURL :: Lens' ZipInfo (Maybe Text)
-ziSourceURL
-  = lens _ziSourceURL (\ s a -> s{_ziSourceURL = a})
-
-instance FromJSON ZipInfo where
-        parseJSON
-          = withObject "ZipInfo"
-              (\ o ->
-                 ZipInfo' <$>
-                   (o .:? "filesCount") <*> (o .:? "sourceUrl"))
-
-instance ToJSON ZipInfo where
-        toJSON ZipInfo'{..}
-          = object
-              (catMaybes
-                 [("filesCount" .=) <$> _ziFilesCount,
-                  ("sourceUrl" .=) <$> _ziSourceURL])
-
--- | A generic empty message that you can re-use to avoid defining duplicated
--- empty messages in your APIs. A typical example is to use it as the
--- request or the response type of an API method. For instance: service Foo
--- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The
--- JSON representation for Empty is empty JSON object {}.
---
--- /See:/ 'empty' smart constructor.
-data Empty =
-  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')
-
-instance ToJSON Empty where
-        toJSON = const emptyObject
-
--- | Rules to match an HTTP request and dispatch that request to a service.
---
--- /See:/ 'urlDispatchRule' smart constructor.
-data URLDispatchRule =
-  URLDispatchRule'
-    { _udrPath    :: !(Maybe Text)
-    , _udrService :: !(Maybe Text)
-    , _udrDomain  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'URLDispatchRule' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'udrPath'
---
--- * 'udrService'
---
--- * 'udrDomain'
-urlDispatchRule
-    :: URLDispatchRule
-urlDispatchRule =
-  URLDispatchRule'
-    {_udrPath = Nothing, _udrService = Nothing, _udrDomain = Nothing}
-
-
--- | Pathname within the host. Must start with a \"\/\". A single \"*\" can
--- be included at the end of the path.The sum of the lengths of the domain
--- and path may not exceed 100 characters.
-udrPath :: Lens' URLDispatchRule (Maybe Text)
-udrPath = lens _udrPath (\ s a -> s{_udrPath = a})
-
--- | Resource ID of a service in this application that should serve the
--- matched request. The service must already exist. Example: default.
-udrService :: Lens' URLDispatchRule (Maybe Text)
-udrService
-  = lens _udrService (\ s a -> s{_udrService = a})
-
--- | Domain name to match against. The wildcard \"*\" is supported if
--- specified before a period: \"*.\".Defaults to matching all domains:
--- \"*\".
-udrDomain :: Lens' URLDispatchRule (Maybe Text)
-udrDomain
-  = lens _udrDomain (\ s a -> s{_udrDomain = a})
-
-instance FromJSON URLDispatchRule where
-        parseJSON
-          = withObject "URLDispatchRule"
-              (\ o ->
-                 URLDispatchRule' <$>
-                   (o .:? "path") <*> (o .:? "service") <*>
-                     (o .:? "domain"))
-
-instance ToJSON URLDispatchRule where
-        toJSON URLDispatchRule'{..}
-          = object
-              (catMaybes
-                 [("path" .=) <$> _udrPath,
-                  ("service" .=) <$> _udrService,
-                  ("domain" .=) <$> _udrDomain])
-
--- | Metadata for the given google.longrunning.Operation.
---
--- /See:/ 'operationMetadataV1Beta' smart constructor.
-data OperationMetadataV1Beta =
-  OperationMetadataV1Beta'
-    { _omvbEphemeralMessage      :: !(Maybe Text)
-    , _omvbInsertTime            :: !(Maybe DateTime')
-    , _omvbUser                  :: !(Maybe Text)
-    , _omvbMethod                :: !(Maybe Text)
-    , _omvbEndTime               :: !(Maybe DateTime')
-    , _omvbWarning               :: !(Maybe [Text])
-    , _omvbCreateVersionMetadata :: !(Maybe CreateVersionMetadataV1Beta)
-    , _omvbTarget                :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationMetadataV1Beta' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'omvbEphemeralMessage'
---
--- * 'omvbInsertTime'
---
--- * 'omvbUser'
---
--- * 'omvbMethod'
---
--- * 'omvbEndTime'
---
--- * 'omvbWarning'
---
--- * 'omvbCreateVersionMetadata'
---
--- * 'omvbTarget'
-operationMetadataV1Beta
-    :: OperationMetadataV1Beta
-operationMetadataV1Beta =
-  OperationMetadataV1Beta'
-    { _omvbEphemeralMessage = Nothing
-    , _omvbInsertTime = Nothing
-    , _omvbUser = Nothing
-    , _omvbMethod = Nothing
-    , _omvbEndTime = Nothing
-    , _omvbWarning = Nothing
-    , _omvbCreateVersionMetadata = Nothing
-    , _omvbTarget = Nothing
-    }
-
-
--- | Ephemeral message that may change every time the operation is polled.
--- \'OutputOnly
-omvbEphemeralMessage :: Lens' OperationMetadataV1Beta (Maybe Text)
-omvbEphemeralMessage
-  = lens _omvbEphemeralMessage
-      (\ s a -> s{_omvbEphemeralMessage = a})
-
--- | Time that this operation was created.\'OutputOnly
-omvbInsertTime :: Lens' OperationMetadataV1Beta (Maybe UTCTime)
-omvbInsertTime
-  = lens _omvbInsertTime
-      (\ s a -> s{_omvbInsertTime = a})
-      . mapping _DateTime
-
--- | User who requested this operation.\'OutputOnly
-omvbUser :: Lens' OperationMetadataV1Beta (Maybe Text)
-omvbUser = lens _omvbUser (\ s a -> s{_omvbUser = a})
-
--- | API method that initiated this operation. Example:
--- google.appengine.v1beta.Versions.CreateVersion.\'OutputOnly
-omvbMethod :: Lens' OperationMetadataV1Beta (Maybe Text)
-omvbMethod
-  = lens _omvbMethod (\ s a -> s{_omvbMethod = a})
-
--- | Time that this operation completed.\'OutputOnly
-omvbEndTime :: Lens' OperationMetadataV1Beta (Maybe UTCTime)
-omvbEndTime
-  = lens _omvbEndTime (\ s a -> s{_omvbEndTime = a}) .
-      mapping _DateTime
-
--- | Durable messages that persist on every operation poll. \'OutputOnly
-omvbWarning :: Lens' OperationMetadataV1Beta [Text]
-omvbWarning
-  = lens _omvbWarning (\ s a -> s{_omvbWarning = a}) .
-      _Default
-      . _Coerce
-
-omvbCreateVersionMetadata :: Lens' OperationMetadataV1Beta (Maybe CreateVersionMetadataV1Beta)
-omvbCreateVersionMetadata
-  = lens _omvbCreateVersionMetadata
-      (\ s a -> s{_omvbCreateVersionMetadata = a})
-
--- | Name of the resource that this operation is acting on. Example:
--- apps\/myapp\/services\/default.\'OutputOnly
-omvbTarget :: Lens' OperationMetadataV1Beta (Maybe Text)
-omvbTarget
-  = lens _omvbTarget (\ s a -> s{_omvbTarget = a})
-
-instance FromJSON OperationMetadataV1Beta where
-        parseJSON
-          = withObject "OperationMetadataV1Beta"
-              (\ o ->
-                 OperationMetadataV1Beta' <$>
-                   (o .:? "ephemeralMessage") <*> (o .:? "insertTime")
-                     <*> (o .:? "user")
-                     <*> (o .:? "method")
-                     <*> (o .:? "endTime")
-                     <*> (o .:? "warning" .!= mempty)
-                     <*> (o .:? "createVersionMetadata")
-                     <*> (o .:? "target"))
-
-instance ToJSON OperationMetadataV1Beta where
-        toJSON OperationMetadataV1Beta'{..}
-          = object
-              (catMaybes
-                 [("ephemeralMessage" .=) <$> _omvbEphemeralMessage,
-                  ("insertTime" .=) <$> _omvbInsertTime,
-                  ("user" .=) <$> _omvbUser,
-                  ("method" .=) <$> _omvbMethod,
-                  ("endTime" .=) <$> _omvbEndTime,
-                  ("warning" .=) <$> _omvbWarning,
-                  ("createVersionMetadata" .=) <$>
-                    _omvbCreateVersionMetadata,
-                  ("target" .=) <$> _omvbTarget])
-
--- | Response message for AuthorizedDomains.ListAuthorizedDomains.
---
--- /See:/ 'listAuthorizedDomainsResponse' smart constructor.
-data ListAuthorizedDomainsResponse =
-  ListAuthorizedDomainsResponse'
-    { _ladrNextPageToken :: !(Maybe Text)
-    , _ladrDomains       :: !(Maybe [AuthorizedDomain])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListAuthorizedDomainsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ladrNextPageToken'
---
--- * 'ladrDomains'
-listAuthorizedDomainsResponse
-    :: ListAuthorizedDomainsResponse
-listAuthorizedDomainsResponse =
-  ListAuthorizedDomainsResponse'
-    {_ladrNextPageToken = Nothing, _ladrDomains = Nothing}
-
-
--- | Continuation token for fetching the next page of results.
-ladrNextPageToken :: Lens' ListAuthorizedDomainsResponse (Maybe Text)
-ladrNextPageToken
-  = lens _ladrNextPageToken
-      (\ s a -> s{_ladrNextPageToken = a})
-
--- | The authorized domains belonging to the user.
-ladrDomains :: Lens' ListAuthorizedDomainsResponse [AuthorizedDomain]
-ladrDomains
-  = lens _ladrDomains (\ s a -> s{_ladrDomains = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON ListAuthorizedDomainsResponse where
-        parseJSON
-          = withObject "ListAuthorizedDomainsResponse"
-              (\ o ->
-                 ListAuthorizedDomainsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "domains" .!= mempty))
-
-instance ToJSON ListAuthorizedDomainsResponse where
-        toJSON ListAuthorizedDomainsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _ladrNextPageToken,
-                  ("domains" .=) <$> _ladrDomains])
-
--- | The entrypoint for the application.
---
--- /See:/ 'entrypoint' smart constructor.
-newtype Entrypoint =
-  Entrypoint'
-    { _eShell :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Entrypoint' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'eShell'
-entrypoint
-    :: Entrypoint
-entrypoint = Entrypoint' {_eShell = Nothing}
-
-
--- | The format should be a shell command that can be fed to bash -c.
-eShell :: Lens' Entrypoint (Maybe Text)
-eShell = lens _eShell (\ s a -> s{_eShell = a})
-
-instance FromJSON Entrypoint where
-        parseJSON
-          = withObject "Entrypoint"
-              (\ o -> Entrypoint' <$> (o .:? "shell"))
-
-instance ToJSON Entrypoint where
-        toJSON Entrypoint'{..}
-          = object (catMaybes [("shell" .=) <$> _eShell])
-
--- | Response message for Versions.ListVersions.
---
--- /See:/ 'listVersionsResponse' smart constructor.
-data ListVersionsResponse =
-  ListVersionsResponse'
-    { _lvrNextPageToken :: !(Maybe Text)
-    , _lvrVersions      :: !(Maybe [Version])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListVersionsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lvrNextPageToken'
---
--- * 'lvrVersions'
-listVersionsResponse
-    :: ListVersionsResponse
-listVersionsResponse =
-  ListVersionsResponse' {_lvrNextPageToken = Nothing, _lvrVersions = Nothing}
-
-
--- | Continuation token for fetching the next page of results.
-lvrNextPageToken :: Lens' ListVersionsResponse (Maybe Text)
-lvrNextPageToken
-  = lens _lvrNextPageToken
-      (\ s a -> s{_lvrNextPageToken = a})
-
--- | The versions belonging to the requested service.
-lvrVersions :: Lens' ListVersionsResponse [Version]
-lvrVersions
-  = lens _lvrVersions (\ s a -> s{_lvrVersions = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON ListVersionsResponse where
-        parseJSON
-          = withObject "ListVersionsResponse"
-              (\ o ->
-                 ListVersionsResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "versions" .!= mempty))
-
-instance ToJSON ListVersionsResponse where
-        toJSON ListVersionsResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lvrNextPageToken,
-                  ("versions" .=) <$> _lvrVersions])
-
--- | A certificate managed by App Engine.
---
--- /See:/ 'managedCertificate' smart constructor.
-data ManagedCertificate =
-  ManagedCertificate'
-    { _mcStatus          :: !(Maybe ManagedCertificateStatus)
-    , _mcLastRenewalTime :: !(Maybe DateTime')
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ManagedCertificate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'mcStatus'
---
--- * 'mcLastRenewalTime'
-managedCertificate
-    :: ManagedCertificate
-managedCertificate =
-  ManagedCertificate' {_mcStatus = Nothing, _mcLastRenewalTime = Nothing}
-
-
--- | Status of certificate management. Refers to the most recent certificate
--- acquisition or renewal attempt.\'OutputOnly
-mcStatus :: Lens' ManagedCertificate (Maybe ManagedCertificateStatus)
-mcStatus = lens _mcStatus (\ s a -> s{_mcStatus = a})
-
--- | Time at which the certificate was last renewed. The renewal process is
--- fully managed. Certificate renewal will automatically occur before the
--- certificate expires. Renewal errors can be tracked via
--- ManagementStatus.\'OutputOnly
-mcLastRenewalTime :: Lens' ManagedCertificate (Maybe UTCTime)
-mcLastRenewalTime
-  = lens _mcLastRenewalTime
-      (\ s a -> s{_mcLastRenewalTime = a})
-      . mapping _DateTime
-
-instance FromJSON ManagedCertificate where
-        parseJSON
-          = withObject "ManagedCertificate"
-              (\ o ->
-                 ManagedCertificate' <$>
-                   (o .:? "status") <*> (o .:? "lastRenewalTime"))
-
-instance ToJSON ManagedCertificate where
-        toJSON ManagedCertificate'{..}
-          = object
-              (catMaybes
-                 [("status" .=) <$> _mcStatus,
-                  ("lastRenewalTime" .=) <$> _mcLastRenewalTime])
-
--- | Metadata for the given google.longrunning.Operation during a
--- google.appengine.v1alpha.CreateVersionRequest.
---
--- /See:/ 'createVersionMetadataV1Alpha' smart constructor.
-newtype CreateVersionMetadataV1Alpha =
-  CreateVersionMetadataV1Alpha'
-    { _cvmvaCloudBuildId :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateVersionMetadataV1Alpha' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cvmvaCloudBuildId'
-createVersionMetadataV1Alpha
-    :: CreateVersionMetadataV1Alpha
-createVersionMetadataV1Alpha =
-  CreateVersionMetadataV1Alpha' {_cvmvaCloudBuildId = Nothing}
-
-
--- | The Cloud Build ID if one was created as part of the version create.
--- \'OutputOnly
-cvmvaCloudBuildId :: Lens' CreateVersionMetadataV1Alpha (Maybe Text)
-cvmvaCloudBuildId
-  = lens _cvmvaCloudBuildId
-      (\ s a -> s{_cvmvaCloudBuildId = a})
-
-instance FromJSON CreateVersionMetadataV1Alpha where
-        parseJSON
-          = withObject "CreateVersionMetadataV1Alpha"
-              (\ o ->
-                 CreateVersionMetadataV1Alpha' <$>
-                   (o .:? "cloudBuildId"))
-
-instance ToJSON CreateVersionMetadataV1Alpha where
-        toJSON CreateVersionMetadataV1Alpha'{..}
-          = object
-              (catMaybes
-                 [("cloudBuildId" .=) <$> _cvmvaCloudBuildId])
-
--- | Single source file that is part of the version to be deployed. Each
--- source file that is deployed must be specified separately.
---
--- /See:/ 'fileInfo' smart constructor.
-data FileInfo =
-  FileInfo'
-    { _fiSha1Sum   :: !(Maybe Text)
-    , _fiMimeType  :: !(Maybe Text)
-    , _fiSourceURL :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'FileInfo' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'fiSha1Sum'
---
--- * 'fiMimeType'
---
--- * 'fiSourceURL'
-fileInfo
-    :: FileInfo
-fileInfo =
-  FileInfo'
-    {_fiSha1Sum = Nothing, _fiMimeType = Nothing, _fiSourceURL = Nothing}
-
-
--- | The SHA1 hash of the file, in hex.
-fiSha1Sum :: Lens' FileInfo (Maybe Text)
-fiSha1Sum
-  = lens _fiSha1Sum (\ s a -> s{_fiSha1Sum = a})
-
--- | The MIME type of the file.Defaults to the value from Google Cloud
--- Storage.
-fiMimeType :: Lens' FileInfo (Maybe Text)
-fiMimeType
-  = lens _fiMimeType (\ s a -> s{_fiMimeType = a})
-
--- | URL source to use to fetch this file. Must be a URL to a resource in
--- Google Cloud Storage in the form
--- \'http(s):\/\/storage.googleapis.com\/\/
--- \'.
-fiSourceURL :: Lens' FileInfo (Maybe Text)
-fiSourceURL
-  = lens _fiSourceURL (\ s a -> s{_fiSourceURL = a})
-
-instance FromJSON FileInfo where
-        parseJSON
-          = withObject "FileInfo"
-              (\ o ->
-                 FileInfo' <$>
-                   (o .:? "sha1Sum") <*> (o .:? "mimeType") <*>
-                     (o .:? "sourceUrl"))
-
-instance ToJSON FileInfo where
-        toJSON FileInfo'{..}
-          = object
-              (catMaybes
-                 [("sha1Sum" .=) <$> _fiSha1Sum,
-                  ("mimeType" .=) <$> _fiMimeType,
-                  ("sourceUrl" .=) <$> _fiSourceURL])
-
--- | Automatic scaling is based on request rate, response latencies, and
--- other application metrics.
---
--- /See:/ 'automaticScaling' smart constructor.
-data AutomaticScaling =
-  AutomaticScaling'
-    { _asNetworkUtilization        :: !(Maybe NetworkUtilization)
-    , _asMaxTotalInstances         :: !(Maybe (Textual Int32))
-    , _asMinIdleInstances          :: !(Maybe (Textual Int32))
-    , _asDiskUtilization           :: !(Maybe DiskUtilization)
-    , _asMinPendingLatency         :: !(Maybe GDuration)
-    , _asCPUUtilization            :: !(Maybe CPUUtilization)
-    , _asMaxIdleInstances          :: !(Maybe (Textual Int32))
-    , _asMinTotalInstances         :: !(Maybe (Textual Int32))
-    , _asMaxConcurrentRequests     :: !(Maybe (Textual Int32))
-    , _asCoolDownPeriod            :: !(Maybe GDuration)
-    , _asRequestUtilization        :: !(Maybe RequestUtilization)
-    , _asMaxPendingLatency         :: !(Maybe GDuration)
-    , _asStandardSchedulerSettings :: !(Maybe StandardSchedulerSettings)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AutomaticScaling' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asNetworkUtilization'
---
--- * 'asMaxTotalInstances'
---
--- * 'asMinIdleInstances'
---
--- * 'asDiskUtilization'
---
--- * 'asMinPendingLatency'
---
--- * 'asCPUUtilization'
---
--- * 'asMaxIdleInstances'
---
--- * 'asMinTotalInstances'
---
--- * 'asMaxConcurrentRequests'
---
--- * 'asCoolDownPeriod'
---
--- * 'asRequestUtilization'
---
--- * 'asMaxPendingLatency'
---
--- * 'asStandardSchedulerSettings'
-automaticScaling
-    :: AutomaticScaling
-automaticScaling =
-  AutomaticScaling'
-    { _asNetworkUtilization = Nothing
-    , _asMaxTotalInstances = Nothing
-    , _asMinIdleInstances = Nothing
-    , _asDiskUtilization = Nothing
-    , _asMinPendingLatency = Nothing
-    , _asCPUUtilization = Nothing
-    , _asMaxIdleInstances = Nothing
-    , _asMinTotalInstances = Nothing
-    , _asMaxConcurrentRequests = Nothing
-    , _asCoolDownPeriod = Nothing
-    , _asRequestUtilization = Nothing
-    , _asMaxPendingLatency = Nothing
-    , _asStandardSchedulerSettings = Nothing
-    }
-
-
--- | Target scaling by network usage.
-asNetworkUtilization :: Lens' AutomaticScaling (Maybe NetworkUtilization)
-asNetworkUtilization
-  = lens _asNetworkUtilization
-      (\ s a -> s{_asNetworkUtilization = a})
-
--- | Maximum number of instances that should be started to handle requests
--- for this version.
-asMaxTotalInstances :: Lens' AutomaticScaling (Maybe Int32)
-asMaxTotalInstances
-  = lens _asMaxTotalInstances
-      (\ s a -> s{_asMaxTotalInstances = a})
-      . mapping _Coerce
-
--- | Minimum number of idle instances that should be maintained for this
--- version. Only applicable for the default version of a service.
-asMinIdleInstances :: Lens' AutomaticScaling (Maybe Int32)
-asMinIdleInstances
-  = lens _asMinIdleInstances
-      (\ s a -> s{_asMinIdleInstances = a})
-      . mapping _Coerce
-
--- | Target scaling by disk usage.
-asDiskUtilization :: Lens' AutomaticScaling (Maybe DiskUtilization)
-asDiskUtilization
-  = lens _asDiskUtilization
-      (\ s a -> s{_asDiskUtilization = a})
-
--- | Minimum amount of time a request should wait in the pending queue before
--- starting a new instance to handle it.
-asMinPendingLatency :: Lens' AutomaticScaling (Maybe Scientific)
-asMinPendingLatency
-  = lens _asMinPendingLatency
-      (\ s a -> s{_asMinPendingLatency = a})
-      . mapping _GDuration
-
--- | Target scaling by CPU usage.
-asCPUUtilization :: Lens' AutomaticScaling (Maybe CPUUtilization)
-asCPUUtilization
-  = lens _asCPUUtilization
-      (\ s a -> s{_asCPUUtilization = a})
-
--- | Maximum number of idle instances that should be maintained for this
--- version.
-asMaxIdleInstances :: Lens' AutomaticScaling (Maybe Int32)
-asMaxIdleInstances
-  = lens _asMaxIdleInstances
-      (\ s a -> s{_asMaxIdleInstances = a})
-      . mapping _Coerce
-
--- | Minimum number of running instances that should be maintained for this
--- version.
-asMinTotalInstances :: Lens' AutomaticScaling (Maybe Int32)
-asMinTotalInstances
-  = lens _asMinTotalInstances
-      (\ s a -> s{_asMinTotalInstances = a})
-      . mapping _Coerce
-
--- | Number of concurrent requests an automatic scaling instance can accept
--- before the scheduler spawns a new instance.Defaults to a
--- runtime-specific value.
-asMaxConcurrentRequests :: Lens' AutomaticScaling (Maybe Int32)
-asMaxConcurrentRequests
-  = lens _asMaxConcurrentRequests
-      (\ s a -> s{_asMaxConcurrentRequests = a})
-      . mapping _Coerce
-
--- | The time period that the Autoscaler
--- (https:\/\/cloud.google.com\/compute\/docs\/autoscaler\/) should wait
--- before it starts collecting information from a new instance. This
--- prevents the autoscaler from collecting information when the instance is
--- initializing, during which the collected usage would not be reliable.
--- Only applicable in the App Engine flexible environment.
-asCoolDownPeriod :: Lens' AutomaticScaling (Maybe Scientific)
-asCoolDownPeriod
-  = lens _asCoolDownPeriod
-      (\ s a -> s{_asCoolDownPeriod = a})
-      . mapping _GDuration
-
--- | Target scaling by request utilization.
-asRequestUtilization :: Lens' AutomaticScaling (Maybe RequestUtilization)
-asRequestUtilization
-  = lens _asRequestUtilization
-      (\ s a -> s{_asRequestUtilization = a})
-
--- | Maximum amount of time that a request should wait in the pending queue
--- before starting a new instance to handle it.
-asMaxPendingLatency :: Lens' AutomaticScaling (Maybe Scientific)
-asMaxPendingLatency
-  = lens _asMaxPendingLatency
-      (\ s a -> s{_asMaxPendingLatency = a})
-      . mapping _GDuration
-
--- | Scheduler settings for standard environment.
-asStandardSchedulerSettings :: Lens' AutomaticScaling (Maybe StandardSchedulerSettings)
-asStandardSchedulerSettings
-  = lens _asStandardSchedulerSettings
-      (\ s a -> s{_asStandardSchedulerSettings = a})
-
-instance FromJSON AutomaticScaling where
-        parseJSON
-          = withObject "AutomaticScaling"
-              (\ o ->
-                 AutomaticScaling' <$>
-                   (o .:? "networkUtilization") <*>
-                     (o .:? "maxTotalInstances")
-                     <*> (o .:? "minIdleInstances")
-                     <*> (o .:? "diskUtilization")
-                     <*> (o .:? "minPendingLatency")
-                     <*> (o .:? "cpuUtilization")
-                     <*> (o .:? "maxIdleInstances")
-                     <*> (o .:? "minTotalInstances")
-                     <*> (o .:? "maxConcurrentRequests")
-                     <*> (o .:? "coolDownPeriod")
-                     <*> (o .:? "requestUtilization")
-                     <*> (o .:? "maxPendingLatency")
-                     <*> (o .:? "standardSchedulerSettings"))
-
-instance ToJSON AutomaticScaling where
-        toJSON AutomaticScaling'{..}
-          = object
-              (catMaybes
-                 [("networkUtilization" .=) <$> _asNetworkUtilization,
-                  ("maxTotalInstances" .=) <$> _asMaxTotalInstances,
-                  ("minIdleInstances" .=) <$> _asMinIdleInstances,
-                  ("diskUtilization" .=) <$> _asDiskUtilization,
-                  ("minPendingLatency" .=) <$> _asMinPendingLatency,
-                  ("cpuUtilization" .=) <$> _asCPUUtilization,
-                  ("maxIdleInstances" .=) <$> _asMaxIdleInstances,
-                  ("minTotalInstances" .=) <$> _asMinTotalInstances,
-                  ("maxConcurrentRequests" .=) <$>
-                    _asMaxConcurrentRequests,
-                  ("coolDownPeriod" .=) <$> _asCoolDownPeriod,
-                  ("requestUtilization" .=) <$> _asRequestUtilization,
-                  ("maxPendingLatency" .=) <$> _asMaxPendingLatency,
-                  ("standardSchedulerSettings" .=) <$>
-                    _asStandardSchedulerSettings])
-
--- | Volumes mounted within the app container. Only applicable in the App
--- Engine flexible environment.
---
--- /See:/ 'volume' smart constructor.
-data Volume =
-  Volume'
-    { _vSizeGb     :: !(Maybe (Textual Double))
-    , _vName       :: !(Maybe Text)
-    , _vVolumeType :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Volume' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'vSizeGb'
---
--- * 'vName'
---
--- * 'vVolumeType'
-volume
-    :: Volume
-volume = Volume' {_vSizeGb = Nothing, _vName = Nothing, _vVolumeType = Nothing}
-
-
--- | Volume size in gigabytes.
-vSizeGb :: Lens' Volume (Maybe Double)
-vSizeGb
-  = lens _vSizeGb (\ s a -> s{_vSizeGb = a}) .
-      mapping _Coerce
-
--- | Unique name for the volume.
-vName :: Lens' Volume (Maybe Text)
-vName = lens _vName (\ s a -> s{_vName = a})
-
--- | Underlying volume type, e.g. \'tmpfs\'.
-vVolumeType :: Lens' Volume (Maybe Text)
-vVolumeType
-  = lens _vVolumeType (\ s a -> s{_vVolumeType = a})
-
-instance FromJSON Volume where
-        parseJSON
-          = withObject "Volume"
-              (\ o ->
-                 Volume' <$>
-                   (o .:? "sizeGb") <*> (o .:? "name") <*>
-                     (o .:? "volumeType"))
-
-instance ToJSON Volume where
-        toJSON Volume'{..}
-          = object
-              (catMaybes
-                 [("sizeGb" .=) <$> _vSizeGb, ("name" .=) <$> _vName,
-                  ("volumeType" .=) <$> _vVolumeType])
-
--- | Uses Google Cloud Endpoints to handle requests.
---
--- /See:/ 'apiEndpointHandler' smart constructor.
-newtype APIEndpointHandler =
-  APIEndpointHandler'
-    { _aehScriptPath :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'APIEndpointHandler' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aehScriptPath'
-apiEndpointHandler
-    :: APIEndpointHandler
-apiEndpointHandler = APIEndpointHandler' {_aehScriptPath = Nothing}
-
-
--- | Path to the script from the application root directory.
-aehScriptPath :: Lens' APIEndpointHandler (Maybe Text)
-aehScriptPath
-  = lens _aehScriptPath
-      (\ s a -> s{_aehScriptPath = a})
-
-instance FromJSON APIEndpointHandler where
-        parseJSON
-          = withObject "APIEndpointHandler"
-              (\ o -> APIEndpointHandler' <$> (o .:? "scriptPath"))
-
-instance ToJSON APIEndpointHandler where
-        toJSON APIEndpointHandler'{..}
-          = object
-              (catMaybes [("scriptPath" .=) <$> _aehScriptPath])
-
---
--- /See:/ 'statusDetailsItem' smart constructor.
-newtype StatusDetailsItem =
-  StatusDetailsItem'
-    { _sdiAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sdiAddtional'
-statusDetailsItem
-    :: HashMap Text JSONValue -- ^ 'sdiAddtional'
-    -> StatusDetailsItem
-statusDetailsItem pSdiAddtional_ =
-  StatusDetailsItem' {_sdiAddtional = _Coerce # pSdiAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)
-sdiAddtional
-  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})
-      . _Coerce
-
-instance FromJSON StatusDetailsItem where
-        parseJSON
-          = withObject "StatusDetailsItem"
-              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))
-
-instance ToJSON StatusDetailsItem where
-        toJSON = toJSON . _sdiAddtional
-
--- | Response message for Firewall.ListIngressRules.
---
--- /See:/ 'listIngressRulesResponse' smart constructor.
-data ListIngressRulesResponse =
-  ListIngressRulesResponse'
-    { _lirrNextPageToken :: !(Maybe Text)
-    , _lirrIngressRules  :: !(Maybe [FirewallRule])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListIngressRulesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lirrNextPageToken'
---
--- * 'lirrIngressRules'
-listIngressRulesResponse
-    :: ListIngressRulesResponse
-listIngressRulesResponse =
-  ListIngressRulesResponse'
-    {_lirrNextPageToken = Nothing, _lirrIngressRules = Nothing}
-
-
--- | Continuation token for fetching the next page of results.
-lirrNextPageToken :: Lens' ListIngressRulesResponse (Maybe Text)
-lirrNextPageToken
-  = lens _lirrNextPageToken
-      (\ s a -> s{_lirrNextPageToken = a})
-
--- | The ingress FirewallRules for this application.
-lirrIngressRules :: Lens' ListIngressRulesResponse [FirewallRule]
-lirrIngressRules
-  = lens _lirrIngressRules
-      (\ s a -> s{_lirrIngressRules = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListIngressRulesResponse where
-        parseJSON
-          = withObject "ListIngressRulesResponse"
-              (\ o ->
-                 ListIngressRulesResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "ingressRules" .!= mempty))
-
-instance ToJSON ListIngressRulesResponse where
-        toJSON ListIngressRulesResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lirrNextPageToken,
-                  ("ingressRules" .=) <$> _lirrIngressRules])
-
--- | Extra network settings. Only applicable in the App Engine flexible
--- environment.
---
--- /See:/ 'network' smart constructor.
-data Network =
-  Network'
-    { _nSessionAffinity :: !(Maybe Bool)
-    , _nSubnetworkName  :: !(Maybe Text)
-    , _nForwardedPorts  :: !(Maybe [Text])
-    , _nInstanceTag     :: !(Maybe Text)
-    , _nName            :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Network' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'nSessionAffinity'
---
--- * 'nSubnetworkName'
---
--- * 'nForwardedPorts'
---
--- * 'nInstanceTag'
---
--- * 'nName'
-network
-    :: Network
-network =
-  Network'
-    { _nSessionAffinity = Nothing
-    , _nSubnetworkName = Nothing
-    , _nForwardedPorts = Nothing
-    , _nInstanceTag = Nothing
-    , _nName = Nothing
-    }
-
-
--- | Enable session affinity. Only applicable in the App Engine flexible
--- environment.
-nSessionAffinity :: Lens' Network (Maybe Bool)
-nSessionAffinity
-  = lens _nSessionAffinity
-      (\ s a -> s{_nSessionAffinity = a})
-
--- | Google Cloud Platform sub-network where the virtual machines are
--- created. Specify the short name, not the resource path.If a subnetwork
--- name is specified, a network name will also be required unless it is for
--- the default network. If the network that the instance is being created
--- in is a Legacy network, then the IP address is allocated from the
--- IPv4Range. If the network that the instance is being created in is an
--- auto Subnet Mode Network, then only network name should be specified
--- (not the subnetwork_name) and the IP address is created from the
--- IPCidrRange of the subnetwork that exists in that zone for that network.
--- If the network that the instance is being created in is a custom Subnet
--- Mode Network, then the subnetwork_name must be specified and the IP
--- address is created from the IPCidrRange of the subnetwork.If specified,
--- the subnetwork must exist in the same region as the App Engine flexible
--- environment application.
-nSubnetworkName :: Lens' Network (Maybe Text)
-nSubnetworkName
-  = lens _nSubnetworkName
-      (\ s a -> s{_nSubnetworkName = a})
-
--- | List of ports, or port pairs, to forward from the virtual machine to the
--- application container. Only applicable in the App Engine flexible
--- environment.
-nForwardedPorts :: Lens' Network [Text]
-nForwardedPorts
-  = lens _nForwardedPorts
-      (\ s a -> s{_nForwardedPorts = a})
-      . _Default
-      . _Coerce
-
--- | Tag to apply to the instance during creation. Only applicable in the App
--- Engine flexible environment.
-nInstanceTag :: Lens' Network (Maybe Text)
-nInstanceTag
-  = lens _nInstanceTag (\ s a -> s{_nInstanceTag = a})
-
--- | Google Compute Engine network where the virtual machines are created.
--- Specify the short name, not the resource path.Defaults to default.
-nName :: Lens' Network (Maybe Text)
-nName = lens _nName (\ s a -> s{_nName = a})
-
-instance FromJSON Network where
-        parseJSON
-          = withObject "Network"
-              (\ o ->
-                 Network' <$>
-                   (o .:? "sessionAffinity") <*>
-                     (o .:? "subnetworkName")
-                     <*> (o .:? "forwardedPorts" .!= mempty)
-                     <*> (o .:? "instanceTag")
-                     <*> (o .:? "name"))
-
-instance ToJSON Network where
-        toJSON Network'{..}
-          = object
-              (catMaybes
-                 [("sessionAffinity" .=) <$> _nSessionAffinity,
-                  ("subnetworkName" .=) <$> _nSubnetworkName,
-                  ("forwardedPorts" .=) <$> _nForwardedPorts,
-                  ("instanceTag" .=) <$> _nInstanceTag,
-                  ("name" .=) <$> _nName])
-
--- | Readiness checking configuration for VM instances. Unhealthy instances
--- are removed from traffic rotation.
---
--- /See:/ 'readinessCheck' smart constructor.
-data ReadinessCheck =
-  ReadinessCheck'
-    { _rcSuccessThreshold :: !(Maybe (Textual Word32))
-    , _rcFailureThreshold :: !(Maybe (Textual Word32))
-    , _rcPath             :: !(Maybe Text)
-    , _rcCheckInterval    :: !(Maybe GDuration)
-    , _rcAppStartTimeout  :: !(Maybe GDuration)
-    , _rcHost             :: !(Maybe Text)
-    , _rcTimeout          :: !(Maybe GDuration)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ReadinessCheck' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rcSuccessThreshold'
---
--- * 'rcFailureThreshold'
---
--- * 'rcPath'
---
--- * 'rcCheckInterval'
---
--- * 'rcAppStartTimeout'
---
--- * 'rcHost'
---
--- * 'rcTimeout'
-readinessCheck
-    :: ReadinessCheck
-readinessCheck =
-  ReadinessCheck'
-    { _rcSuccessThreshold = Nothing
-    , _rcFailureThreshold = Nothing
-    , _rcPath = Nothing
-    , _rcCheckInterval = Nothing
-    , _rcAppStartTimeout = Nothing
-    , _rcHost = Nothing
-    , _rcTimeout = Nothing
-    }
-
-
--- | Number of consecutive successful checks required before receiving
--- traffic.
-rcSuccessThreshold :: Lens' ReadinessCheck (Maybe Word32)
-rcSuccessThreshold
-  = lens _rcSuccessThreshold
-      (\ s a -> s{_rcSuccessThreshold = a})
-      . mapping _Coerce
-
--- | Number of consecutive failed checks required before removing traffic.
-rcFailureThreshold :: Lens' ReadinessCheck (Maybe Word32)
-rcFailureThreshold
-  = lens _rcFailureThreshold
-      (\ s a -> s{_rcFailureThreshold = a})
-      . mapping _Coerce
-
--- | The request path.
-rcPath :: Lens' ReadinessCheck (Maybe Text)
-rcPath = lens _rcPath (\ s a -> s{_rcPath = a})
-
--- | Interval between health checks.
-rcCheckInterval :: Lens' ReadinessCheck (Maybe Scientific)
-rcCheckInterval
-  = lens _rcCheckInterval
-      (\ s a -> s{_rcCheckInterval = a})
-      . mapping _GDuration
-
--- | A maximum time limit on application initialization, measured from moment
--- the application successfully replies to a healthcheck until it is ready
--- to serve traffic.
-rcAppStartTimeout :: Lens' ReadinessCheck (Maybe Scientific)
-rcAppStartTimeout
-  = lens _rcAppStartTimeout
-      (\ s a -> s{_rcAppStartTimeout = a})
-      . mapping _GDuration
-
--- | Host header to send when performing a HTTP Readiness check. Example:
--- \"myapp.appspot.com\"
-rcHost :: Lens' ReadinessCheck (Maybe Text)
-rcHost = lens _rcHost (\ s a -> s{_rcHost = a})
-
--- | Time before the check is considered failed.
-rcTimeout :: Lens' ReadinessCheck (Maybe Scientific)
-rcTimeout
-  = lens _rcTimeout (\ s a -> s{_rcTimeout = a}) .
-      mapping _GDuration
-
-instance FromJSON ReadinessCheck where
-        parseJSON
-          = withObject "ReadinessCheck"
-              (\ o ->
-                 ReadinessCheck' <$>
-                   (o .:? "successThreshold") <*>
-                     (o .:? "failureThreshold")
-                     <*> (o .:? "path")
-                     <*> (o .:? "checkInterval")
-                     <*> (o .:? "appStartTimeout")
-                     <*> (o .:? "host")
-                     <*> (o .:? "timeout"))
-
-instance ToJSON ReadinessCheck where
-        toJSON ReadinessCheck'{..}
-          = object
-              (catMaybes
-                 [("successThreshold" .=) <$> _rcSuccessThreshold,
-                  ("failureThreshold" .=) <$> _rcFailureThreshold,
-                  ("path" .=) <$> _rcPath,
-                  ("checkInterval" .=) <$> _rcCheckInterval,
-                  ("appStartTimeout" .=) <$> _rcAppStartTimeout,
-                  ("host" .=) <$> _rcHost,
-                  ("timeout" .=) <$> _rcTimeout])
-
--- | Request message for Firewall.BatchUpdateIngressRules.
---
--- /See:/ 'batchUpdateIngressRulesRequest' smart constructor.
-newtype BatchUpdateIngressRulesRequest =
-  BatchUpdateIngressRulesRequest'
-    { _buirrIngressRules :: Maybe [FirewallRule]
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'BatchUpdateIngressRulesRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'buirrIngressRules'
-batchUpdateIngressRulesRequest
-    :: BatchUpdateIngressRulesRequest
-batchUpdateIngressRulesRequest =
-  BatchUpdateIngressRulesRequest' {_buirrIngressRules = Nothing}
-
-
--- | A list of FirewallRules to replace the existing set.
-buirrIngressRules :: Lens' BatchUpdateIngressRulesRequest [FirewallRule]
-buirrIngressRules
-  = lens _buirrIngressRules
-      (\ s a -> s{_buirrIngressRules = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON BatchUpdateIngressRulesRequest
-         where
-        parseJSON
-          = withObject "BatchUpdateIngressRulesRequest"
-              (\ o ->
-                 BatchUpdateIngressRulesRequest' <$>
-                   (o .:? "ingressRules" .!= mempty))
-
-instance ToJSON BatchUpdateIngressRulesRequest where
-        toJSON BatchUpdateIngressRulesRequest'{..}
-          = object
-              (catMaybes
-                 [("ingressRules" .=) <$> _buirrIngressRules])
-
--- | Request message for Instances.DebugInstance.
---
--- /See:/ 'debugInstanceRequest' smart constructor.
-newtype DebugInstanceRequest =
-  DebugInstanceRequest'
-    { _dirSSHKey :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DebugInstanceRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dirSSHKey'
-debugInstanceRequest
-    :: DebugInstanceRequest
-debugInstanceRequest = DebugInstanceRequest' {_dirSSHKey = Nothing}
-
-
--- | Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa
--- [KEY_VALUE] [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh
--- {\"userName\":\"[USERNAME]\",\"expireOn\":\"[EXPIRE_TIME]\"}For more
--- information, see Adding and Removing SSH Keys
--- (https:\/\/cloud.google.com\/compute\/docs\/instances\/adding-removing-ssh-keys).
-dirSSHKey :: Lens' DebugInstanceRequest (Maybe Text)
-dirSSHKey
-  = lens _dirSSHKey (\ s a -> s{_dirSSHKey = a})
-
-instance FromJSON DebugInstanceRequest where
-        parseJSON
-          = withObject "DebugInstanceRequest"
-              (\ o -> DebugInstanceRequest' <$> (o .:? "sshKey"))
-
-instance ToJSON DebugInstanceRequest where
-        toJSON DebugInstanceRequest'{..}
-          = object (catMaybes [("sshKey" .=) <$> _dirSSHKey])
-
--- | HTTP headers to use for all responses from these URLs.
---
--- /See:/ 'staticFilesHandlerHTTPHeaders' smart constructor.
-newtype StaticFilesHandlerHTTPHeaders =
-  StaticFilesHandlerHTTPHeaders'
-    { _sfhhttphAddtional :: HashMap Text Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StaticFilesHandlerHTTPHeaders' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sfhhttphAddtional'
-staticFilesHandlerHTTPHeaders
-    :: HashMap Text Text -- ^ 'sfhhttphAddtional'
-    -> StaticFilesHandlerHTTPHeaders
-staticFilesHandlerHTTPHeaders pSfhhttphAddtional_ =
-  StaticFilesHandlerHTTPHeaders'
-    {_sfhhttphAddtional = _Coerce # pSfhhttphAddtional_}
-
-
-sfhhttphAddtional :: Lens' StaticFilesHandlerHTTPHeaders (HashMap Text Text)
-sfhhttphAddtional
-  = lens _sfhhttphAddtional
-      (\ s a -> s{_sfhhttphAddtional = a})
-      . _Coerce
-
-instance FromJSON StaticFilesHandlerHTTPHeaders where
-        parseJSON
-          = withObject "StaticFilesHandlerHTTPHeaders"
-              (\ o ->
-                 StaticFilesHandlerHTTPHeaders' <$>
-                   (parseJSONObject o))
-
-instance ToJSON StaticFilesHandlerHTTPHeaders where
-        toJSON = toJSON . _sfhhttphAddtional
-
--- | Machine resources for a version.
---
--- /See:/ 'resources' smart constructor.
-data Resources =
-  Resources'
-    { _rMemoryGb :: !(Maybe (Textual Double))
-    , _rDiskGb   :: !(Maybe (Textual Double))
-    , _rVolumes  :: !(Maybe [Volume])
-    , _rCPU      :: !(Maybe (Textual Double))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Resources' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rMemoryGb'
---
--- * 'rDiskGb'
---
--- * 'rVolumes'
---
--- * 'rCPU'
-resources
-    :: Resources
-resources =
-  Resources'
-    { _rMemoryGb = Nothing
-    , _rDiskGb = Nothing
-    , _rVolumes = Nothing
-    , _rCPU = Nothing
-    }
-
-
--- | Memory (GB) needed.
-rMemoryGb :: Lens' Resources (Maybe Double)
-rMemoryGb
-  = lens _rMemoryGb (\ s a -> s{_rMemoryGb = a}) .
-      mapping _Coerce
-
--- | Disk size (GB) needed.
-rDiskGb :: Lens' Resources (Maybe Double)
-rDiskGb
-  = lens _rDiskGb (\ s a -> s{_rDiskGb = a}) .
-      mapping _Coerce
-
--- | User specified volumes.
-rVolumes :: Lens' Resources [Volume]
-rVolumes
-  = lens _rVolumes (\ s a -> s{_rVolumes = a}) .
-      _Default
-      . _Coerce
-
--- | Number of CPU cores needed.
-rCPU :: Lens' Resources (Maybe Double)
-rCPU
-  = lens _rCPU (\ s a -> s{_rCPU = a}) .
-      mapping _Coerce
-
-instance FromJSON Resources where
-        parseJSON
-          = withObject "Resources"
-              (\ o ->
-                 Resources' <$>
-                   (o .:? "memoryGb") <*> (o .:? "diskGb") <*>
-                     (o .:? "volumes" .!= mempty)
-                     <*> (o .:? "cpu"))
-
-instance ToJSON Resources where
-        toJSON Resources'{..}
-          = object
-              (catMaybes
-                 [("memoryGb" .=) <$> _rMemoryGb,
-                  ("diskGb" .=) <$> _rDiskGb,
-                  ("volumes" .=) <$> _rVolumes, ("cpu" .=) <$> _rCPU])
-
--- | The feature specific settings to be used in the application. These
--- define behaviors that are user configurable.
---
--- /See:/ 'featureSettings' smart constructor.
-data FeatureSettings =
-  FeatureSettings'
-    { _fsUseContainerOptimizedOS :: !(Maybe Bool)
-    , _fsSplitHealthChecks       :: !(Maybe Bool)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'FeatureSettings' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'fsUseContainerOptimizedOS'
---
--- * 'fsSplitHealthChecks'
-featureSettings
-    :: FeatureSettings
-featureSettings =
-  FeatureSettings'
-    {_fsUseContainerOptimizedOS = Nothing, _fsSplitHealthChecks = Nothing}
-
-
--- | If true, use Container-Optimized OS
--- (https:\/\/cloud.google.com\/container-optimized-os\/) base image for
--- VMs, rather than a base Debian image.
-fsUseContainerOptimizedOS :: Lens' FeatureSettings (Maybe Bool)
-fsUseContainerOptimizedOS
-  = lens _fsUseContainerOptimizedOS
-      (\ s a -> s{_fsUseContainerOptimizedOS = a})
-
--- | Boolean value indicating if split health checks should be used instead
--- of the legacy health checks. At an app.yaml level, this means defaulting
--- to \'readiness_check\' and \'liveness_check\' values instead of
--- \'health_check\' ones. Once the legacy \'health_check\' behavior is
--- deprecated, and this value is always true, this setting can be removed.
-fsSplitHealthChecks :: Lens' FeatureSettings (Maybe Bool)
-fsSplitHealthChecks
-  = lens _fsSplitHealthChecks
-      (\ s a -> s{_fsSplitHealthChecks = a})
-
-instance FromJSON FeatureSettings where
-        parseJSON
-          = withObject "FeatureSettings"
-              (\ o ->
-                 FeatureSettings' <$>
-                   (o .:? "useContainerOptimizedOs") <*>
-                     (o .:? "splitHealthChecks"))
-
-instance ToJSON FeatureSettings where
-        toJSON FeatureSettings'{..}
-          = object
-              (catMaybes
-                 [("useContainerOptimizedOs" .=) <$>
-                    _fsUseContainerOptimizedOS,
-                  ("splitHealthChecks" .=) <$> _fsSplitHealthChecks])
-
--- | An SSL certificate obtained from a certificate authority.
---
--- /See:/ 'certificateRawData' smart constructor.
-data CertificateRawData =
-  CertificateRawData'
-    { _crdPrivateKey        :: !(Maybe Text)
-    , _crdPublicCertificate :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CertificateRawData' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'crdPrivateKey'
---
--- * 'crdPublicCertificate'
-certificateRawData
-    :: CertificateRawData
-certificateRawData =
-  CertificateRawData'
-    {_crdPrivateKey = Nothing, _crdPublicCertificate = Nothing}
-
-
--- | Unencrypted PEM encoded RSA private key. This field is set once on
--- certificate creation and then encrypted. The key size must be 2048 bits
--- or fewer. Must include the header and footer. Example:
---
--- >  -----BEGIN RSA PRIVATE KEY-----  -----END RSA PRIVATE KEY-----
---
--- \'InputOnly
-crdPrivateKey :: Lens' CertificateRawData (Maybe Text)
-crdPrivateKey
-  = lens _crdPrivateKey
-      (\ s a -> s{_crdPrivateKey = a})
-
--- | PEM encoded x.509 public key certificate. This field is set once on
--- certificate creation. Must include the header and footer. Example:
---
--- >  -----BEGIN CERTIFICATE-----  -----END CERTIFICATE-----
-crdPublicCertificate :: Lens' CertificateRawData (Maybe Text)
-crdPublicCertificate
-  = lens _crdPublicCertificate
-      (\ s a -> s{_crdPublicCertificate = a})
-
-instance FromJSON CertificateRawData where
-        parseJSON
-          = withObject "CertificateRawData"
-              (\ o ->
-                 CertificateRawData' <$>
-                   (o .:? "privateKey") <*> (o .:? "publicCertificate"))
-
-instance ToJSON CertificateRawData where
-        toJSON CertificateRawData'{..}
-          = object
-              (catMaybes
-                 [("privateKey" .=) <$> _crdPrivateKey,
-                  ("publicCertificate" .=) <$> _crdPublicCertificate])
-
--- | A domain serving an App Engine application.
---
--- /See:/ 'domainMApping' smart constructor.
-data DomainMApping =
-  DomainMApping'
-    { _dmaResourceRecords :: !(Maybe [ResourceRecord])
-    , _dmaName            :: !(Maybe Text)
-    , _dmaId              :: !(Maybe Text)
-    , _dmaSSLSettings     :: !(Maybe SSLSettings)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DomainMApping' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dmaResourceRecords'
---
--- * 'dmaName'
---
--- * 'dmaId'
---
--- * 'dmaSSLSettings'
-domainMApping
-    :: DomainMApping
-domainMApping =
-  DomainMApping'
-    { _dmaResourceRecords = Nothing
-    , _dmaName = Nothing
-    , _dmaId = Nothing
-    , _dmaSSLSettings = Nothing
-    }
-
-
--- | The resource records required to configure this domain mapping. These
--- records must be added to the domain\'s DNS configuration in order to
--- serve the application via this domain mapping.\'OutputOnly
-dmaResourceRecords :: Lens' DomainMApping [ResourceRecord]
-dmaResourceRecords
-  = lens _dmaResourceRecords
-      (\ s a -> s{_dmaResourceRecords = a})
-      . _Default
-      . _Coerce
-
--- | Full path to the DomainMapping resource in the API. Example:
--- apps\/myapp\/domainMapping\/example.com.\'OutputOnly
-dmaName :: Lens' DomainMApping (Maybe Text)
-dmaName = lens _dmaName (\ s a -> s{_dmaName = a})
-
--- | Relative name of the domain serving the application. Example:
--- example.com.
-dmaId :: Lens' DomainMApping (Maybe Text)
-dmaId = lens _dmaId (\ s a -> s{_dmaId = a})
-
--- | SSL configuration for this domain. If unconfigured, this domain will not
--- serve with SSL.
-dmaSSLSettings :: Lens' DomainMApping (Maybe SSLSettings)
-dmaSSLSettings
-  = lens _dmaSSLSettings
-      (\ s a -> s{_dmaSSLSettings = a})
-
-instance FromJSON DomainMApping where
-        parseJSON
-          = withObject "DomainMApping"
-              (\ o ->
-                 DomainMApping' <$>
-                   (o .:? "resourceRecords" .!= mempty) <*>
-                     (o .:? "name")
-                     <*> (o .:? "id")
-                     <*> (o .:? "sslSettings"))
-
-instance ToJSON DomainMApping where
-        toJSON DomainMApping'{..}
-          = object
-              (catMaybes
-                 [("resourceRecords" .=) <$> _dmaResourceRecords,
-                  ("name" .=) <$> _dmaName, ("id" .=) <$> _dmaId,
-                  ("sslSettings" .=) <$> _dmaSSLSettings])
-
--- | Manifest of the files stored in Google Cloud Storage that are included
--- as part of this version. All files must be readable using the
--- credentials supplied with this call.
---
--- /See:/ 'deploymentFiles' smart constructor.
-newtype DeploymentFiles =
-  DeploymentFiles'
-    { _dfAddtional :: HashMap Text FileInfo
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DeploymentFiles' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dfAddtional'
-deploymentFiles
-    :: HashMap Text FileInfo -- ^ 'dfAddtional'
-    -> DeploymentFiles
-deploymentFiles pDfAddtional_ =
-  DeploymentFiles' {_dfAddtional = _Coerce # pDfAddtional_}
-
-
-dfAddtional :: Lens' DeploymentFiles (HashMap Text FileInfo)
-dfAddtional
-  = lens _dfAddtional (\ s a -> s{_dfAddtional = a}) .
-      _Coerce
-
-instance FromJSON DeploymentFiles where
-        parseJSON
-          = withObject "DeploymentFiles"
-              (\ o -> DeploymentFiles' <$> (parseJSONObject o))
-
-instance ToJSON DeploymentFiles where
-        toJSON = toJSON . _dfAddtional
-
--- | Response message for Firewall.UpdateAllIngressRules.
---
--- /See:/ 'batchUpdateIngressRulesResponse' smart constructor.
-newtype BatchUpdateIngressRulesResponse =
-  BatchUpdateIngressRulesResponse'
-    { _bIngressRules :: Maybe [FirewallRule]
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'BatchUpdateIngressRulesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bIngressRules'
-batchUpdateIngressRulesResponse
-    :: BatchUpdateIngressRulesResponse
-batchUpdateIngressRulesResponse =
-  BatchUpdateIngressRulesResponse' {_bIngressRules = Nothing}
-
-
--- | The full list of ingress FirewallRules for this application.
-bIngressRules :: Lens' BatchUpdateIngressRulesResponse [FirewallRule]
-bIngressRules
-  = lens _bIngressRules
-      (\ s a -> s{_bIngressRules = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON BatchUpdateIngressRulesResponse
-         where
-        parseJSON
-          = withObject "BatchUpdateIngressRulesResponse"
-              (\ o ->
-                 BatchUpdateIngressRulesResponse' <$>
-                   (o .:? "ingressRules" .!= mempty))
-
-instance ToJSON BatchUpdateIngressRulesResponse where
-        toJSON BatchUpdateIngressRulesResponse'{..}
-          = object
-              (catMaybes [("ingressRules" .=) <$> _bIngressRules])
-
--- | Target scaling by CPU usage.
---
--- /See:/ 'cpuUtilization' smart constructor.
-data CPUUtilization =
-  CPUUtilization'
-    { _cuAggregationWindowLength :: !(Maybe GDuration)
-    , _cuTargetUtilization       :: !(Maybe (Textual Double))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CPUUtilization' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cuAggregationWindowLength'
---
--- * 'cuTargetUtilization'
-cpuUtilization
-    :: CPUUtilization
-cpuUtilization =
-  CPUUtilization'
-    {_cuAggregationWindowLength = Nothing, _cuTargetUtilization = Nothing}
-
-
--- | Period of time over which CPU utilization is calculated.
-cuAggregationWindowLength :: Lens' CPUUtilization (Maybe Scientific)
-cuAggregationWindowLength
-  = lens _cuAggregationWindowLength
-      (\ s a -> s{_cuAggregationWindowLength = a})
-      . mapping _GDuration
-
--- | Target CPU utilization ratio to maintain when scaling. Must be between 0
--- and 1.
-cuTargetUtilization :: Lens' CPUUtilization (Maybe Double)
-cuTargetUtilization
-  = lens _cuTargetUtilization
-      (\ s a -> s{_cuTargetUtilization = a})
-      . mapping _Coerce
-
-instance FromJSON CPUUtilization where
-        parseJSON
-          = withObject "CPUUtilization"
-              (\ o ->
-                 CPUUtilization' <$>
-                   (o .:? "aggregationWindowLength") <*>
-                     (o .:? "targetUtilization"))
-
-instance ToJSON CPUUtilization where
-        toJSON CPUUtilization'{..}
-          = object
-              (catMaybes
-                 [("aggregationWindowLength" .=) <$>
-                    _cuAggregationWindowLength,
-                  ("targetUtilization" .=) <$> _cuTargetUtilization])
-
--- | Metadata for the given google.longrunning.Operation during a
--- google.appengine.v1.CreateVersionRequest.
---
--- /See:/ 'createVersionMetadataV1' smart constructor.
-newtype CreateVersionMetadataV1 =
-  CreateVersionMetadataV1'
-    { _cvmvCloudBuildId :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateVersionMetadataV1' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cvmvCloudBuildId'
-createVersionMetadataV1
-    :: CreateVersionMetadataV1
-createVersionMetadataV1 = CreateVersionMetadataV1' {_cvmvCloudBuildId = Nothing}
-
-
--- | The Cloud Build ID if one was created as part of the version create.
--- \'OutputOnly
-cvmvCloudBuildId :: Lens' CreateVersionMetadataV1 (Maybe Text)
-cvmvCloudBuildId
-  = lens _cvmvCloudBuildId
-      (\ s a -> s{_cvmvCloudBuildId = a})
-
-instance FromJSON CreateVersionMetadataV1 where
-        parseJSON
-          = withObject "CreateVersionMetadataV1"
-              (\ o ->
-                 CreateVersionMetadataV1' <$> (o .:? "cloudBuildId"))
-
-instance ToJSON CreateVersionMetadataV1 where
-        toJSON CreateVersionMetadataV1'{..}
-          = object
-              (catMaybes
-                 [("cloudBuildId" .=) <$> _cvmvCloudBuildId])
-
--- | Mapping from version IDs within the service to fractional (0.000, 1]
--- allocations of traffic for that version. Each version can be specified
--- only once, but some versions in the service may not have any traffic
--- allocation. Services that have traffic allocated cannot be deleted until
--- either the service is deleted or their traffic allocation is removed.
--- Allocations must sum to 1. Up to two decimal place precision is
--- supported for IP-based splits and up to three decimal places is
--- supported for cookie-based splits.
---
--- /See:/ 'trafficSplitAllocations' smart constructor.
-newtype TrafficSplitAllocations =
-  TrafficSplitAllocations'
-    { _tsaAddtional :: HashMap Text (Textual Double)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TrafficSplitAllocations' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tsaAddtional'
-trafficSplitAllocations
-    :: HashMap Text Double -- ^ 'tsaAddtional'
-    -> TrafficSplitAllocations
-trafficSplitAllocations pTsaAddtional_ =
-  TrafficSplitAllocations' {_tsaAddtional = _Coerce # pTsaAddtional_}
-
-
-tsaAddtional :: Lens' TrafficSplitAllocations (HashMap Text Double)
-tsaAddtional
-  = lens _tsaAddtional (\ s a -> s{_tsaAddtional = a})
-      . _Coerce
-
-instance FromJSON TrafficSplitAllocations where
-        parseJSON
-          = withObject "TrafficSplitAllocations"
-              (\ o ->
-                 TrafficSplitAllocations' <$> (parseJSONObject o))
-
-instance ToJSON TrafficSplitAllocations where
-        toJSON = toJSON . _tsaAddtional
-
--- | Options for the build operations performed as a part of the version
--- deployment. Only applicable for App Engine flexible environment when
--- creating a version using source code directly.
---
--- /See:/ 'cloudBuildOptions' smart constructor.
-data CloudBuildOptions =
-  CloudBuildOptions'
-    { _cboCloudBuildTimeout :: !(Maybe GDuration)
-    , _cboAppYamlPath       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CloudBuildOptions' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cboCloudBuildTimeout'
---
--- * 'cboAppYamlPath'
-cloudBuildOptions
-    :: CloudBuildOptions
-cloudBuildOptions =
-  CloudBuildOptions'
-    {_cboCloudBuildTimeout = Nothing, _cboAppYamlPath = Nothing}
-
-
--- | The Cloud Build timeout used as part of any dependent builds performed
--- by version creation. Defaults to 10 minutes.
-cboCloudBuildTimeout :: Lens' CloudBuildOptions (Maybe Scientific)
-cboCloudBuildTimeout
-  = lens _cboCloudBuildTimeout
-      (\ s a -> s{_cboCloudBuildTimeout = a})
-      . mapping _GDuration
-
--- | Path to the yaml file used in deployment, used to determine runtime
--- configuration details.Required for flexible environment builds.See
--- https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/config\/appref
--- for more details.
-cboAppYamlPath :: Lens' CloudBuildOptions (Maybe Text)
-cboAppYamlPath
-  = lens _cboAppYamlPath
-      (\ s a -> s{_cboAppYamlPath = a})
-
-instance FromJSON CloudBuildOptions where
-        parseJSON
-          = withObject "CloudBuildOptions"
-              (\ o ->
-                 CloudBuildOptions' <$>
-                   (o .:? "cloudBuildTimeout") <*>
-                     (o .:? "appYamlPath"))
-
-instance ToJSON CloudBuildOptions where
-        toJSON CloudBuildOptions'{..}
-          = object
-              (catMaybes
-                 [("cloudBuildTimeout" .=) <$> _cboCloudBuildTimeout,
-                  ("appYamlPath" .=) <$> _cboAppYamlPath])
-
--- | A service with manual scaling runs continuously, allowing you to perform
--- complex initialization and rely on the state of its memory over time.
---
--- /See:/ 'manualScaling' smart constructor.
-newtype ManualScaling =
-  ManualScaling'
-    { _msInstances :: Maybe (Textual Int32)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ManualScaling' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'msInstances'
-manualScaling
-    :: ManualScaling
-manualScaling = ManualScaling' {_msInstances = Nothing}
-
-
--- | Number of instances to assign to the service at the start. This number
--- can later be altered by using the Modules API
--- (https:\/\/cloud.google.com\/appengine\/docs\/python\/modules\/functions)
--- set_num_instances() function.
-msInstances :: Lens' ManualScaling (Maybe Int32)
-msInstances
-  = lens _msInstances (\ s a -> s{_msInstances = a}) .
-      mapping _Coerce
-
-instance FromJSON ManualScaling where
-        parseJSON
-          = withObject "ManualScaling"
-              (\ o -> ManualScaling' <$> (o .:? "instances"))
-
-instance ToJSON ManualScaling where
-        toJSON ManualScaling'{..}
-          = object
-              (catMaybes [("instances" .=) <$> _msInstances])
-
--- | A service with basic scaling will create an instance when the
--- application receives a request. The instance will be turned down when
--- the app becomes idle. Basic scaling is ideal for work that is
--- intermittent or driven by user activity.
---
--- /See:/ 'basicScaling' smart constructor.
-data BasicScaling =
-  BasicScaling'
-    { _bsMaxInstances :: !(Maybe (Textual Int32))
-    , _bsIdleTimeout  :: !(Maybe GDuration)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'BasicScaling' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bsMaxInstances'
---
--- * 'bsIdleTimeout'
-basicScaling
-    :: BasicScaling
-basicScaling =
-  BasicScaling' {_bsMaxInstances = Nothing, _bsIdleTimeout = Nothing}
-
-
--- | Maximum number of instances to create for this version.
-bsMaxInstances :: Lens' BasicScaling (Maybe Int32)
-bsMaxInstances
-  = lens _bsMaxInstances
-      (\ s a -> s{_bsMaxInstances = a})
-      . mapping _Coerce
-
--- | Duration of time after the last request that an instance must wait
--- before the instance is shut down.
-bsIdleTimeout :: Lens' BasicScaling (Maybe Scientific)
-bsIdleTimeout
-  = lens _bsIdleTimeout
-      (\ s a -> s{_bsIdleTimeout = a})
-      . mapping _GDuration
-
-instance FromJSON BasicScaling where
-        parseJSON
-          = withObject "BasicScaling"
-              (\ o ->
-                 BasicScaling' <$>
-                   (o .:? "maxInstances") <*> (o .:? "idleTimeout"))
-
-instance ToJSON BasicScaling where
-        toJSON BasicScaling'{..}
-          = object
-              (catMaybes
-                 [("maxInstances" .=) <$> _bsMaxInstances,
-                  ("idleTimeout" .=) <$> _bsIdleTimeout])
-
--- | Metadata for the given google.longrunning.Operation.
---
--- /See:/ 'operationMetadataV1' smart constructor.
-data OperationMetadataV1 =
-  OperationMetadataV1'
-    { _omvEphemeralMessage      :: !(Maybe Text)
-    , _omvInsertTime            :: !(Maybe DateTime')
-    , _omvUser                  :: !(Maybe Text)
-    , _omvMethod                :: !(Maybe Text)
-    , _omvEndTime               :: !(Maybe DateTime')
-    , _omvWarning               :: !(Maybe [Text])
-    , _omvCreateVersionMetadata :: !(Maybe CreateVersionMetadataV1)
-    , _omvTarget                :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationMetadataV1' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'omvEphemeralMessage'
---
--- * 'omvInsertTime'
---
--- * 'omvUser'
---
--- * 'omvMethod'
---
--- * 'omvEndTime'
---
--- * 'omvWarning'
---
--- * 'omvCreateVersionMetadata'
---
--- * 'omvTarget'
-operationMetadataV1
-    :: OperationMetadataV1
-operationMetadataV1 =
-  OperationMetadataV1'
-    { _omvEphemeralMessage = Nothing
-    , _omvInsertTime = Nothing
-    , _omvUser = Nothing
-    , _omvMethod = Nothing
-    , _omvEndTime = Nothing
-    , _omvWarning = Nothing
-    , _omvCreateVersionMetadata = Nothing
-    , _omvTarget = Nothing
-    }
-
-
--- | Ephemeral message that may change every time the operation is polled.
--- \'OutputOnly
-omvEphemeralMessage :: Lens' OperationMetadataV1 (Maybe Text)
-omvEphemeralMessage
-  = lens _omvEphemeralMessage
-      (\ s a -> s{_omvEphemeralMessage = a})
-
--- | Time that this operation was created.\'OutputOnly
-omvInsertTime :: Lens' OperationMetadataV1 (Maybe UTCTime)
-omvInsertTime
-  = lens _omvInsertTime
-      (\ s a -> s{_omvInsertTime = a})
-      . mapping _DateTime
-
--- | User who requested this operation.\'OutputOnly
-omvUser :: Lens' OperationMetadataV1 (Maybe Text)
-omvUser = lens _omvUser (\ s a -> s{_omvUser = a})
-
--- | API method that initiated this operation. Example:
--- google.appengine.v1.Versions.CreateVersion.\'OutputOnly
-omvMethod :: Lens' OperationMetadataV1 (Maybe Text)
-omvMethod
-  = lens _omvMethod (\ s a -> s{_omvMethod = a})
-
--- | Time that this operation completed.\'OutputOnly
-omvEndTime :: Lens' OperationMetadataV1 (Maybe UTCTime)
-omvEndTime
-  = lens _omvEndTime (\ s a -> s{_omvEndTime = a}) .
-      mapping _DateTime
-
--- | Durable messages that persist on every operation poll. \'OutputOnly
-omvWarning :: Lens' OperationMetadataV1 [Text]
-omvWarning
-  = lens _omvWarning (\ s a -> s{_omvWarning = a}) .
-      _Default
-      . _Coerce
-
-omvCreateVersionMetadata :: Lens' OperationMetadataV1 (Maybe CreateVersionMetadataV1)
-omvCreateVersionMetadata
-  = lens _omvCreateVersionMetadata
-      (\ s a -> s{_omvCreateVersionMetadata = a})
-
--- | Name of the resource that this operation is acting on. Example:
--- apps\/myapp\/services\/default.\'OutputOnly
-omvTarget :: Lens' OperationMetadataV1 (Maybe Text)
-omvTarget
-  = lens _omvTarget (\ s a -> s{_omvTarget = a})
-
-instance FromJSON OperationMetadataV1 where
-        parseJSON
-          = withObject "OperationMetadataV1"
-              (\ o ->
-                 OperationMetadataV1' <$>
-                   (o .:? "ephemeralMessage") <*> (o .:? "insertTime")
-                     <*> (o .:? "user")
-                     <*> (o .:? "method")
-                     <*> (o .:? "endTime")
-                     <*> (o .:? "warning" .!= mempty)
-                     <*> (o .:? "createVersionMetadata")
-                     <*> (o .:? "target"))
-
-instance ToJSON OperationMetadataV1 where
-        toJSON OperationMetadataV1'{..}
-          = object
-              (catMaybes
-                 [("ephemeralMessage" .=) <$> _omvEphemeralMessage,
-                  ("insertTime" .=) <$> _omvInsertTime,
-                  ("user" .=) <$> _omvUser,
-                  ("method" .=) <$> _omvMethod,
-                  ("endTime" .=) <$> _omvEndTime,
-                  ("warning" .=) <$> _omvWarning,
-                  ("createVersionMetadata" .=) <$>
-                    _omvCreateVersionMetadata,
-                  ("target" .=) <$> _omvTarget])
-
--- | A Version resource is a specific set of source code and configuration
--- files that are deployed into a service.
---
--- /See:/ 'version' smart constructor.
-data Version =
-  Version'
-    { _verRuntime                   :: !(Maybe Text)
-    , _verNobuildFilesRegex         :: !(Maybe Text)
-    , _verInstanceClass             :: !(Maybe Text)
-    , _verRuntimeChannel            :: !(Maybe Text)
-    , _verRuntimeMainExecutablePath :: !(Maybe Text)
-    , _verVPCAccessConnector        :: !(Maybe VPCAccessConnector)
-    , _verHealthCheck               :: !(Maybe HealthCheck)
-    , _verEndpointsAPIService       :: !(Maybe EndpointsAPIService)
-    , _verEnv                       :: !(Maybe Text)
-    , _verZones                     :: !(Maybe [Text])
-    , _verEntrypoint                :: !(Maybe Entrypoint)
-    , _verDefaultExpiration         :: !(Maybe GDuration)
-    , _verAutomaticScaling          :: !(Maybe AutomaticScaling)
-    , _verErrorHandlers             :: !(Maybe [ErrorHandler])
-    , _verCreatedBy                 :: !(Maybe Text)
-    , _verVM                        :: !(Maybe Bool)
-    , _verHandlers                  :: !(Maybe [URLMap])
-    , _verInboundServices           :: !(Maybe [Text])
-    , _verReadinessCheck            :: !(Maybe ReadinessCheck)
-    , _verNetwork                   :: !(Maybe Network)
-    , _verResources                 :: !(Maybe Resources)
-    , _verName                      :: !(Maybe Text)
-    , _verThreadsafe                :: !(Maybe Bool)
-    , _verBetaSettings              :: !(Maybe VersionBetaSettings)
-    , _verBasicScaling              :: !(Maybe BasicScaling)
-    , _verManualScaling             :: !(Maybe ManualScaling)
-    , _verAPIConfig                 :: !(Maybe APIConfigHandler)
-    , _verId                        :: !(Maybe Text)
-    , _verEnvVariables              :: !(Maybe VersionEnvVariables)
-    , _verLivenessCheck             :: !(Maybe LivenessCheck)
-    , _verRuntimeAPIVersion         :: !(Maybe Text)
-    , _verServingStatus             :: !(Maybe VersionServingStatus)
-    , _verDiskUsageBytes            :: !(Maybe (Textual Int64))
-    , _verCreateTime                :: !(Maybe DateTime')
-    , _verLibraries                 :: !(Maybe [Library])
-    , _verVersionURL                :: !(Maybe Text)
-    , _verDeployment                :: !(Maybe Deployment)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Version' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'verRuntime'
---
--- * 'verNobuildFilesRegex'
---
--- * 'verInstanceClass'
---
--- * 'verRuntimeChannel'
---
--- * 'verRuntimeMainExecutablePath'
---
--- * 'verVPCAccessConnector'
---
--- * 'verHealthCheck'
---
--- * 'verEndpointsAPIService'
---
--- * 'verEnv'
---
--- * 'verZones'
---
--- * 'verEntrypoint'
---
--- * 'verDefaultExpiration'
---
--- * 'verAutomaticScaling'
---
--- * 'verErrorHandlers'
---
--- * 'verCreatedBy'
---
--- * 'verVM'
---
--- * 'verHandlers'
---
--- * 'verInboundServices'
---
--- * 'verReadinessCheck'
---
--- * 'verNetwork'
---
--- * 'verResources'
---
--- * 'verName'
---
--- * 'verThreadsafe'
---
--- * 'verBetaSettings'
---
--- * 'verBasicScaling'
---
--- * 'verManualScaling'
---
--- * 'verAPIConfig'
---
--- * 'verId'
---
--- * 'verEnvVariables'
---
--- * 'verLivenessCheck'
---
--- * 'verRuntimeAPIVersion'
---
--- * 'verServingStatus'
---
--- * 'verDiskUsageBytes'
---
--- * 'verCreateTime'
---
--- * 'verLibraries'
---
--- * 'verVersionURL'
---
--- * 'verDeployment'
-version
-    :: Version
-version =
-  Version'
-    { _verRuntime = Nothing
-    , _verNobuildFilesRegex = Nothing
-    , _verInstanceClass = Nothing
-    , _verRuntimeChannel = Nothing
-    , _verRuntimeMainExecutablePath = Nothing
-    , _verVPCAccessConnector = Nothing
-    , _verHealthCheck = Nothing
-    , _verEndpointsAPIService = Nothing
-    , _verEnv = Nothing
-    , _verZones = Nothing
-    , _verEntrypoint = Nothing
-    , _verDefaultExpiration = Nothing
-    , _verAutomaticScaling = Nothing
-    , _verErrorHandlers = Nothing
-    , _verCreatedBy = Nothing
-    , _verVM = Nothing
-    , _verHandlers = Nothing
-    , _verInboundServices = Nothing
-    , _verReadinessCheck = Nothing
-    , _verNetwork = Nothing
-    , _verResources = Nothing
-    , _verName = Nothing
-    , _verThreadsafe = Nothing
-    , _verBetaSettings = Nothing
-    , _verBasicScaling = Nothing
-    , _verManualScaling = Nothing
-    , _verAPIConfig = Nothing
-    , _verId = Nothing
-    , _verEnvVariables = Nothing
-    , _verLivenessCheck = Nothing
-    , _verRuntimeAPIVersion = Nothing
-    , _verServingStatus = Nothing
-    , _verDiskUsageBytes = Nothing
-    , _verCreateTime = Nothing
-    , _verLibraries = Nothing
-    , _verVersionURL = Nothing
-    , _verDeployment = Nothing
-    }
-
-
--- | Desired runtime. Example: python27.
-verRuntime :: Lens' Version (Maybe Text)
-verRuntime
-  = lens _verRuntime (\ s a -> s{_verRuntime = a})
-
--- | Files that match this pattern will not be built into this version. Only
--- applicable for Go runtimes.Only returned in GET requests if view=FULL is
--- set.
-verNobuildFilesRegex :: Lens' Version (Maybe Text)
-verNobuildFilesRegex
-  = lens _verNobuildFilesRegex
-      (\ s a -> s{_verNobuildFilesRegex = a})
-
--- | Instance class that is used to run this version. Valid values are:
--- AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1,
--- B2, B4, B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for
--- ManualScaling or BasicScaling.
-verInstanceClass :: Lens' Version (Maybe Text)
-verInstanceClass
-  = lens _verInstanceClass
-      (\ s a -> s{_verInstanceClass = a})
-
--- | The channel of the runtime to use. Only available for some runtimes.
--- Defaults to the default channel.
-verRuntimeChannel :: Lens' Version (Maybe Text)
-verRuntimeChannel
-  = lens _verRuntimeChannel
-      (\ s a -> s{_verRuntimeChannel = a})
-
--- | The path or name of the app\'s main executable.
-verRuntimeMainExecutablePath :: Lens' Version (Maybe Text)
-verRuntimeMainExecutablePath
-  = lens _verRuntimeMainExecutablePath
-      (\ s a -> s{_verRuntimeMainExecutablePath = a})
-
--- | Enables VPC connectivity for standard apps.
-verVPCAccessConnector :: Lens' Version (Maybe VPCAccessConnector)
-verVPCAccessConnector
-  = lens _verVPCAccessConnector
-      (\ s a -> s{_verVPCAccessConnector = a})
-
--- | Configures health checking for instances. Unhealthy instances are
--- stopped and replaced with new instances. Only applicable in the App
--- Engine flexible environment.Only returned in GET requests if view=FULL
--- is set.
-verHealthCheck :: Lens' Version (Maybe HealthCheck)
-verHealthCheck
-  = lens _verHealthCheck
-      (\ s a -> s{_verHealthCheck = a})
-
--- | Cloud Endpoints configuration.If endpoints_api_service is set, the Cloud
--- Endpoints Extensible Service Proxy will be provided to serve the API
--- implemented by the app.
-verEndpointsAPIService :: Lens' Version (Maybe EndpointsAPIService)
-verEndpointsAPIService
-  = lens _verEndpointsAPIService
-      (\ s a -> s{_verEndpointsAPIService = a})
-
--- | App Engine execution environment for this version.Defaults to standard.
-verEnv :: Lens' Version (Maybe Text)
-verEnv = lens _verEnv (\ s a -> s{_verEnv = a})
-
--- | The Google Compute Engine zones that are supported by this version in
--- the App Engine flexible environment. Deprecated.
-verZones :: Lens' Version [Text]
-verZones
-  = lens _verZones (\ s a -> s{_verZones = a}) .
-      _Default
-      . _Coerce
-
--- | The entrypoint for the application.
-verEntrypoint :: Lens' Version (Maybe Entrypoint)
-verEntrypoint
-  = lens _verEntrypoint
-      (\ s a -> s{_verEntrypoint = a})
-
--- | Duration that static files should be cached by web proxies and browsers.
--- Only applicable if the corresponding StaticFilesHandler
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StaticFilesHandler)
--- does not specify its own expiration time.Only returned in GET requests
--- if view=FULL is set.
-verDefaultExpiration :: Lens' Version (Maybe Scientific)
-verDefaultExpiration
-  = lens _verDefaultExpiration
-      (\ s a -> s{_verDefaultExpiration = a})
-      . mapping _GDuration
-
--- | Automatic scaling is based on request rate, response latencies, and
--- other application metrics.
-verAutomaticScaling :: Lens' Version (Maybe AutomaticScaling)
-verAutomaticScaling
-  = lens _verAutomaticScaling
-      (\ s a -> s{_verAutomaticScaling = a})
-
--- | Custom static error pages. Limited to 10KB per page.Only returned in GET
--- requests if view=FULL is set.
-verErrorHandlers :: Lens' Version [ErrorHandler]
-verErrorHandlers
-  = lens _verErrorHandlers
-      (\ s a -> s{_verErrorHandlers = a})
-      . _Default
-      . _Coerce
-
--- | Email address of the user who created this version.\'OutputOnly
-verCreatedBy :: Lens' Version (Maybe Text)
-verCreatedBy
-  = lens _verCreatedBy (\ s a -> s{_verCreatedBy = a})
-
--- | Whether to deploy this version in a container on a virtual machine.
-verVM :: Lens' Version (Maybe Bool)
-verVM = lens _verVM (\ s a -> s{_verVM = a})
-
--- | An ordered list of URL-matching patterns that should be applied to
--- incoming requests. The first matching URL handles the request and other
--- request handlers are not attempted.Only returned in GET requests if
--- view=FULL is set.
-verHandlers :: Lens' Version [URLMap]
-verHandlers
-  = lens _verHandlers (\ s a -> s{_verHandlers = a}) .
-      _Default
-      . _Coerce
-
--- | Before an application can receive email or XMPP messages, the
--- application must be configured to enable the service.
-verInboundServices :: Lens' Version [Text]
-verInboundServices
-  = lens _verInboundServices
-      (\ s a -> s{_verInboundServices = a})
-      . _Default
-      . _Coerce
-
--- | Configures readiness health checking for instances. Unhealthy instances
--- are not put into the backend traffic rotation.Only returned in GET
--- requests if view=FULL is set.
-verReadinessCheck :: Lens' Version (Maybe ReadinessCheck)
-verReadinessCheck
-  = lens _verReadinessCheck
-      (\ s a -> s{_verReadinessCheck = a})
-
--- | Extra network settings. Only applicable in the App Engine flexible
--- environment.
-verNetwork :: Lens' Version (Maybe Network)
-verNetwork
-  = lens _verNetwork (\ s a -> s{_verNetwork = a})
-
--- | Machine resources for this version. Only applicable in the App Engine
--- flexible environment.
-verResources :: Lens' Version (Maybe Resources)
-verResources
-  = lens _verResources (\ s a -> s{_verResources = a})
-
--- | Full path to the Version resource in the API. Example:
--- apps\/myapp\/services\/default\/versions\/v1.\'OutputOnly
-verName :: Lens' Version (Maybe Text)
-verName = lens _verName (\ s a -> s{_verName = a})
-
--- | Whether multiple requests can be dispatched to this version at once.
-verThreadsafe :: Lens' Version (Maybe Bool)
-verThreadsafe
-  = lens _verThreadsafe
-      (\ s a -> s{_verThreadsafe = a})
-
--- | Metadata settings that are supplied to this version to enable beta
--- runtime features.
-verBetaSettings :: Lens' Version (Maybe VersionBetaSettings)
-verBetaSettings
-  = lens _verBetaSettings
-      (\ s a -> s{_verBetaSettings = a})
-
--- | A service with basic scaling will create an instance when the
--- application receives a request. The instance will be turned down when
--- the app becomes idle. Basic scaling is ideal for work that is
--- intermittent or driven by user activity.
-verBasicScaling :: Lens' Version (Maybe BasicScaling)
-verBasicScaling
-  = lens _verBasicScaling
-      (\ s a -> s{_verBasicScaling = a})
-
--- | A service with manual scaling runs continuously, allowing you to perform
--- complex initialization and rely on the state of its memory over time.
-verManualScaling :: Lens' Version (Maybe ManualScaling)
-verManualScaling
-  = lens _verManualScaling
-      (\ s a -> s{_verManualScaling = a})
-
--- | Serving configuration for Google Cloud Endpoints
--- (https:\/\/cloud.google.com\/appengine\/docs\/python\/endpoints\/).Only
--- returned in GET requests if view=FULL is set.
-verAPIConfig :: Lens' Version (Maybe APIConfigHandler)
-verAPIConfig
-  = lens _verAPIConfig (\ s a -> s{_verAPIConfig = a})
-
--- | Relative name of the version within the service. Example: v1. Version
--- names can contain only lowercase letters, numbers, or hyphens. Reserved
--- names: \"default\", \"latest\", and any name with the prefix \"ah-\".
-verId :: Lens' Version (Maybe Text)
-verId = lens _verId (\ s a -> s{_verId = a})
-
--- | Environment variables available to the application.Only returned in GET
--- requests if view=FULL is set.
-verEnvVariables :: Lens' Version (Maybe VersionEnvVariables)
-verEnvVariables
-  = lens _verEnvVariables
-      (\ s a -> s{_verEnvVariables = a})
-
--- | Configures liveness health checking for instances. Unhealthy instances
--- are stopped and replaced with new instancesOnly returned in GET requests
--- if view=FULL is set.
-verLivenessCheck :: Lens' Version (Maybe LivenessCheck)
-verLivenessCheck
-  = lens _verLivenessCheck
-      (\ s a -> s{_verLivenessCheck = a})
-
--- | The version of the API in the given runtime environment. Please see the
--- app.yaml reference for valid values at
--- https:\/\/cloud.google.com\/appengine\/docs\/standard\/\/config\/appref
-verRuntimeAPIVersion :: Lens' Version (Maybe Text)
-verRuntimeAPIVersion
-  = lens _verRuntimeAPIVersion
-      (\ s a -> s{_verRuntimeAPIVersion = a})
-
--- | Current serving status of this version. Only the versions with a SERVING
--- status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is
--- an invalid value. Defaults to SERVING.
-verServingStatus :: Lens' Version (Maybe VersionServingStatus)
-verServingStatus
-  = lens _verServingStatus
-      (\ s a -> s{_verServingStatus = a})
-
--- | Total size in bytes of all the files that are included in this version
--- and currently hosted on the App Engine disk.\'OutputOnly
-verDiskUsageBytes :: Lens' Version (Maybe Int64)
-verDiskUsageBytes
-  = lens _verDiskUsageBytes
-      (\ s a -> s{_verDiskUsageBytes = a})
-      . mapping _Coerce
-
--- | Time that this version was created.\'OutputOnly
-verCreateTime :: Lens' Version (Maybe UTCTime)
-verCreateTime
-  = lens _verCreateTime
-      (\ s a -> s{_verCreateTime = a})
-      . mapping _DateTime
-
--- | Configuration for third-party Python runtime libraries that are required
--- by the application.Only returned in GET requests if view=FULL is set.
-verLibraries :: Lens' Version [Library]
-verLibraries
-  = lens _verLibraries (\ s a -> s{_verLibraries = a})
-      . _Default
-      . _Coerce
-
--- | Serving URL for this version. Example:
--- \"https:\/\/myversion-dot-myservice-dot-myapp.appspot.com\"\'OutputOnly
-verVersionURL :: Lens' Version (Maybe Text)
-verVersionURL
-  = lens _verVersionURL
-      (\ s a -> s{_verVersionURL = a})
-
--- | Code and application artifacts that make up this version.Only returned
--- in GET requests if view=FULL is set.
-verDeployment :: Lens' Version (Maybe Deployment)
-verDeployment
-  = lens _verDeployment
-      (\ s a -> s{_verDeployment = a})
-
-instance FromJSON Version where
-        parseJSON
-          = withObject "Version"
-              (\ o ->
-                 Version' <$>
-                   (o .:? "runtime") <*> (o .:? "nobuildFilesRegex") <*>
-                     (o .:? "instanceClass")
-                     <*> (o .:? "runtimeChannel")
-                     <*> (o .:? "runtimeMainExecutablePath")
-                     <*> (o .:? "vpcAccessConnector")
-                     <*> (o .:? "healthCheck")
-                     <*> (o .:? "endpointsApiService")
-                     <*> (o .:? "env")
-                     <*> (o .:? "zones" .!= mempty)
-                     <*> (o .:? "entrypoint")
-                     <*> (o .:? "defaultExpiration")
-                     <*> (o .:? "automaticScaling")
-                     <*> (o .:? "errorHandlers" .!= mempty)
-                     <*> (o .:? "createdBy")
-                     <*> (o .:? "vm")
-                     <*> (o .:? "handlers" .!= mempty)
-                     <*> (o .:? "inboundServices" .!= mempty)
-                     <*> (o .:? "readinessCheck")
-                     <*> (o .:? "network")
-                     <*> (o .:? "resources")
-                     <*> (o .:? "name")
-                     <*> (o .:? "threadsafe")
-                     <*> (o .:? "betaSettings")
-                     <*> (o .:? "basicScaling")
-                     <*> (o .:? "manualScaling")
-                     <*> (o .:? "apiConfig")
-                     <*> (o .:? "id")
-                     <*> (o .:? "envVariables")
-                     <*> (o .:? "livenessCheck")
-                     <*> (o .:? "runtimeApiVersion")
-                     <*> (o .:? "servingStatus")
-                     <*> (o .:? "diskUsageBytes")
-                     <*> (o .:? "createTime")
-                     <*> (o .:? "libraries" .!= mempty)
-                     <*> (o .:? "versionUrl")
-                     <*> (o .:? "deployment"))
-
-instance ToJSON Version where
-        toJSON Version'{..}
-          = object
-              (catMaybes
-                 [("runtime" .=) <$> _verRuntime,
-                  ("nobuildFilesRegex" .=) <$> _verNobuildFilesRegex,
-                  ("instanceClass" .=) <$> _verInstanceClass,
-                  ("runtimeChannel" .=) <$> _verRuntimeChannel,
-                  ("runtimeMainExecutablePath" .=) <$>
-                    _verRuntimeMainExecutablePath,
-                  ("vpcAccessConnector" .=) <$> _verVPCAccessConnector,
-                  ("healthCheck" .=) <$> _verHealthCheck,
-                  ("endpointsApiService" .=) <$>
-                    _verEndpointsAPIService,
-                  ("env" .=) <$> _verEnv, ("zones" .=) <$> _verZones,
-                  ("entrypoint" .=) <$> _verEntrypoint,
-                  ("defaultExpiration" .=) <$> _verDefaultExpiration,
-                  ("automaticScaling" .=) <$> _verAutomaticScaling,
-                  ("errorHandlers" .=) <$> _verErrorHandlers,
-                  ("createdBy" .=) <$> _verCreatedBy,
-                  ("vm" .=) <$> _verVM,
-                  ("handlers" .=) <$> _verHandlers,
-                  ("inboundServices" .=) <$> _verInboundServices,
-                  ("readinessCheck" .=) <$> _verReadinessCheck,
-                  ("network" .=) <$> _verNetwork,
-                  ("resources" .=) <$> _verResources,
-                  ("name" .=) <$> _verName,
-                  ("threadsafe" .=) <$> _verThreadsafe,
-                  ("betaSettings" .=) <$> _verBetaSettings,
-                  ("basicScaling" .=) <$> _verBasicScaling,
-                  ("manualScaling" .=) <$> _verManualScaling,
-                  ("apiConfig" .=) <$> _verAPIConfig,
-                  ("id" .=) <$> _verId,
-                  ("envVariables" .=) <$> _verEnvVariables,
-                  ("livenessCheck" .=) <$> _verLivenessCheck,
-                  ("runtimeApiVersion" .=) <$> _verRuntimeAPIVersion,
-                  ("servingStatus" .=) <$> _verServingStatus,
-                  ("diskUsageBytes" .=) <$> _verDiskUsageBytes,
-                  ("createTime" .=) <$> _verCreateTime,
-                  ("libraries" .=) <$> _verLibraries,
-                  ("versionUrl" .=) <$> _verVersionURL,
-                  ("deployment" .=) <$> _verDeployment])
-
--- | Identity-Aware Proxy
---
--- /See:/ 'identityAwareProxy' smart constructor.
-data IdentityAwareProxy =
-  IdentityAwareProxy'
-    { _iapEnabled                  :: !(Maybe Bool)
-    , _iapOAuth2ClientSecretSha256 :: !(Maybe Text)
-    , _iapOAuth2ClientSecret       :: !(Maybe Text)
-    , _iapOAuth2ClientId           :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'IdentityAwareProxy' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'iapEnabled'
---
--- * 'iapOAuth2ClientSecretSha256'
---
--- * 'iapOAuth2ClientSecret'
---
--- * 'iapOAuth2ClientId'
-identityAwareProxy
-    :: IdentityAwareProxy
-identityAwareProxy =
-  IdentityAwareProxy'
-    { _iapEnabled = Nothing
-    , _iapOAuth2ClientSecretSha256 = Nothing
-    , _iapOAuth2ClientSecret = Nothing
-    , _iapOAuth2ClientId = Nothing
-    }
-
-
--- | Whether the serving infrastructure will authenticate and authorize all
--- incoming requests.If true, the oauth2_client_id and oauth2_client_secret
--- fields must be non-empty.
-iapEnabled :: Lens' IdentityAwareProxy (Maybe Bool)
-iapEnabled
-  = lens _iapEnabled (\ s a -> s{_iapEnabled = a})
-
--- | Hex-encoded SHA-256 hash of the client secret.\'OutputOnly
-iapOAuth2ClientSecretSha256 :: Lens' IdentityAwareProxy (Maybe Text)
-iapOAuth2ClientSecretSha256
-  = lens _iapOAuth2ClientSecretSha256
-      (\ s a -> s{_iapOAuth2ClientSecretSha256 = a})
-
--- | OAuth2 client secret to use for the authentication flow.For security
--- reasons, this value cannot be retrieved via the API. Instead, the
--- SHA-256 hash of the value is returned in the oauth2_client_secret_sha256
--- field.\'InputOnly
-iapOAuth2ClientSecret :: Lens' IdentityAwareProxy (Maybe Text)
-iapOAuth2ClientSecret
-  = lens _iapOAuth2ClientSecret
-      (\ s a -> s{_iapOAuth2ClientSecret = a})
-
--- | OAuth2 client ID to use for the authentication flow.
-iapOAuth2ClientId :: Lens' IdentityAwareProxy (Maybe Text)
-iapOAuth2ClientId
-  = lens _iapOAuth2ClientId
-      (\ s a -> s{_iapOAuth2ClientId = a})
-
-instance FromJSON IdentityAwareProxy where
-        parseJSON
-          = withObject "IdentityAwareProxy"
-              (\ o ->
-                 IdentityAwareProxy' <$>
-                   (o .:? "enabled") <*>
-                     (o .:? "oauth2ClientSecretSha256")
-                     <*> (o .:? "oauth2ClientSecret")
-                     <*> (o .:? "oauth2ClientId"))
-
-instance ToJSON IdentityAwareProxy where
-        toJSON IdentityAwareProxy'{..}
-          = object
-              (catMaybes
-                 [("enabled" .=) <$> _iapEnabled,
-                  ("oauth2ClientSecretSha256" .=) <$>
-                    _iapOAuth2ClientSecretSha256,
-                  ("oauth2ClientSecret" .=) <$> _iapOAuth2ClientSecret,
-                  ("oauth2ClientId" .=) <$> _iapOAuth2ClientId])
-
--- | Files served directly to the user for a given URL, such as images, CSS
--- stylesheets, or JavaScript source files. Static file handlers describe
--- which files in the application directory are static files, and which
--- URLs serve them.
---
--- /See:/ 'staticFilesHandler' smart constructor.
-data StaticFilesHandler =
-  StaticFilesHandler'
-    { _sfhHTTPHeaders         :: !(Maybe StaticFilesHandlerHTTPHeaders)
-    , _sfhPath                :: !(Maybe Text)
-    , _sfhRequireMatchingFile :: !(Maybe Bool)
-    , _sfhExpiration          :: !(Maybe GDuration)
-    , _sfhMimeType            :: !(Maybe Text)
-    , _sfhApplicationReadable :: !(Maybe Bool)
-    , _sfhUploadPathRegex     :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StaticFilesHandler' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sfhHTTPHeaders'
---
--- * 'sfhPath'
---
--- * 'sfhRequireMatchingFile'
---
--- * 'sfhExpiration'
---
--- * 'sfhMimeType'
---
--- * 'sfhApplicationReadable'
---
--- * 'sfhUploadPathRegex'
-staticFilesHandler
-    :: StaticFilesHandler
-staticFilesHandler =
-  StaticFilesHandler'
-    { _sfhHTTPHeaders = Nothing
-    , _sfhPath = Nothing
-    , _sfhRequireMatchingFile = Nothing
-    , _sfhExpiration = Nothing
-    , _sfhMimeType = Nothing
-    , _sfhApplicationReadable = Nothing
-    , _sfhUploadPathRegex = Nothing
-    }
-
-
--- | HTTP headers to use for all responses from these URLs.
-sfhHTTPHeaders :: Lens' StaticFilesHandler (Maybe StaticFilesHandlerHTTPHeaders)
-sfhHTTPHeaders
-  = lens _sfhHTTPHeaders
-      (\ s a -> s{_sfhHTTPHeaders = a})
-
--- | Path to the static files matched by the URL pattern, from the
--- application root directory. The path can refer to text matched in
--- groupings in the URL pattern.
-sfhPath :: Lens' StaticFilesHandler (Maybe Text)
-sfhPath = lens _sfhPath (\ s a -> s{_sfhPath = a})
-
--- | Whether this handler should match the request if the file referenced by
--- the handler does not exist.
-sfhRequireMatchingFile :: Lens' StaticFilesHandler (Maybe Bool)
-sfhRequireMatchingFile
-  = lens _sfhRequireMatchingFile
-      (\ s a -> s{_sfhRequireMatchingFile = a})
-
--- | Time a static file served by this handler should be cached by web
--- proxies and browsers.
-sfhExpiration :: Lens' StaticFilesHandler (Maybe Scientific)
-sfhExpiration
-  = lens _sfhExpiration
-      (\ s a -> s{_sfhExpiration = a})
-      . mapping _GDuration
-
--- | MIME type used to serve all files served by this handler.Defaults to
--- file-specific MIME types, which are derived from each file\'s filename
--- extension.
-sfhMimeType :: Lens' StaticFilesHandler (Maybe Text)
-sfhMimeType
-  = lens _sfhMimeType (\ s a -> s{_sfhMimeType = a})
-
--- | Whether files should also be uploaded as code data. By default, files
--- declared in static file handlers are uploaded as static data and are
--- only served to end users; they cannot be read by the application. If
--- enabled, uploads are charged against both your code and static data
--- storage resource quotas.
-sfhApplicationReadable :: Lens' StaticFilesHandler (Maybe Bool)
-sfhApplicationReadable
-  = lens _sfhApplicationReadable
-      (\ s a -> s{_sfhApplicationReadable = a})
-
--- | Regular expression that matches the file paths for all files that should
--- be referenced by this handler.
-sfhUploadPathRegex :: Lens' StaticFilesHandler (Maybe Text)
-sfhUploadPathRegex
-  = lens _sfhUploadPathRegex
-      (\ s a -> s{_sfhUploadPathRegex = a})
-
-instance FromJSON StaticFilesHandler where
-        parseJSON
-          = withObject "StaticFilesHandler"
-              (\ o ->
-                 StaticFilesHandler' <$>
-                   (o .:? "httpHeaders") <*> (o .:? "path") <*>
-                     (o .:? "requireMatchingFile")
-                     <*> (o .:? "expiration")
-                     <*> (o .:? "mimeType")
-                     <*> (o .:? "applicationReadable")
-                     <*> (o .:? "uploadPathRegex"))
-
-instance ToJSON StaticFilesHandler where
-        toJSON StaticFilesHandler'{..}
-          = object
-              (catMaybes
-                 [("httpHeaders" .=) <$> _sfhHTTPHeaders,
-                  ("path" .=) <$> _sfhPath,
-                  ("requireMatchingFile" .=) <$>
-                    _sfhRequireMatchingFile,
-                  ("expiration" .=) <$> _sfhExpiration,
-                  ("mimeType" .=) <$> _sfhMimeType,
-                  ("applicationReadable" .=) <$>
-                    _sfhApplicationReadable,
-                  ("uploadPathRegex" .=) <$> _sfhUploadPathRegex])
-
--- | Custom static error page to be served when an error occurs.
---
--- /See:/ 'errorHandler' smart constructor.
-data ErrorHandler =
-  ErrorHandler'
-    { _ehMimeType   :: !(Maybe Text)
-    , _ehErrorCode  :: !(Maybe ErrorHandlerErrorCode)
-    , _ehStaticFile :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ErrorHandler' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ehMimeType'
---
--- * 'ehErrorCode'
---
--- * 'ehStaticFile'
-errorHandler
-    :: ErrorHandler
-errorHandler =
-  ErrorHandler'
-    {_ehMimeType = Nothing, _ehErrorCode = Nothing, _ehStaticFile = Nothing}
-
-
--- | MIME type of file. Defaults to text\/html.
-ehMimeType :: Lens' ErrorHandler (Maybe Text)
-ehMimeType
-  = lens _ehMimeType (\ s a -> s{_ehMimeType = a})
-
--- | Error condition this handler applies to.
-ehErrorCode :: Lens' ErrorHandler (Maybe ErrorHandlerErrorCode)
-ehErrorCode
-  = lens _ehErrorCode (\ s a -> s{_ehErrorCode = a})
-
--- | Static file content to be served for this error.
-ehStaticFile :: Lens' ErrorHandler (Maybe Text)
-ehStaticFile
-  = lens _ehStaticFile (\ s a -> s{_ehStaticFile = a})
-
-instance FromJSON ErrorHandler where
-        parseJSON
-          = withObject "ErrorHandler"
-              (\ o ->
-                 ErrorHandler' <$>
-                   (o .:? "mimeType") <*> (o .:? "errorCode") <*>
-                     (o .:? "staticFile"))
-
-instance ToJSON ErrorHandler where
-        toJSON ErrorHandler'{..}
-          = object
-              (catMaybes
-                 [("mimeType" .=) <$> _ehMimeType,
-                  ("errorCode" .=) <$> _ehErrorCode,
-                  ("staticFile" .=) <$> _ehStaticFile])
-
--- | Cross-service attributes for the location. For example
--- {\"cloud.googleapis.com\/region\": \"us-east1\"}
---
--- /See:/ 'locationLabels' smart constructor.
-newtype LocationLabels =
-  LocationLabels'
-    { _llAddtional :: HashMap Text Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LocationLabels' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'llAddtional'
-locationLabels
-    :: HashMap Text Text -- ^ 'llAddtional'
-    -> LocationLabels
-locationLabels pLlAddtional_ =
-  LocationLabels' {_llAddtional = _Coerce # pLlAddtional_}
-
-
-llAddtional :: Lens' LocationLabels (HashMap Text Text)
-llAddtional
-  = lens _llAddtional (\ s a -> s{_llAddtional = a}) .
-      _Coerce
-
-instance FromJSON LocationLabels where
-        parseJSON
-          = withObject "LocationLabels"
-              (\ o -> LocationLabels' <$> (parseJSONObject o))
-
-instance ToJSON LocationLabels where
-        toJSON = toJSON . _llAddtional
-
--- | Response message for AuthorizedCertificates.ListAuthorizedCertificates.
---
--- /See:/ 'listAuthorizedCertificatesResponse' smart constructor.
-data ListAuthorizedCertificatesResponse =
-  ListAuthorizedCertificatesResponse'
-    { _lacrNextPageToken :: !(Maybe Text)
-    , _lacrCertificates  :: !(Maybe [AuthorizedCertificate])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListAuthorizedCertificatesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lacrNextPageToken'
---
--- * 'lacrCertificates'
-listAuthorizedCertificatesResponse
-    :: ListAuthorizedCertificatesResponse
-listAuthorizedCertificatesResponse =
-  ListAuthorizedCertificatesResponse'
-    {_lacrNextPageToken = Nothing, _lacrCertificates = Nothing}
-
-
--- | Continuation token for fetching the next page of results.
-lacrNextPageToken :: Lens' ListAuthorizedCertificatesResponse (Maybe Text)
-lacrNextPageToken
-  = lens _lacrNextPageToken
-      (\ s a -> s{_lacrNextPageToken = a})
-
--- | The SSL certificates the user is authorized to administer.
-lacrCertificates :: Lens' ListAuthorizedCertificatesResponse [AuthorizedCertificate]
-lacrCertificates
-  = lens _lacrCertificates
-      (\ s a -> s{_lacrCertificates = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListAuthorizedCertificatesResponse
-         where
-        parseJSON
-          = withObject "ListAuthorizedCertificatesResponse"
-              (\ o ->
-                 ListAuthorizedCertificatesResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "certificates" .!= mempty))
-
-instance ToJSON ListAuthorizedCertificatesResponse
-         where
-        toJSON ListAuthorizedCertificatesResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lacrNextPageToken,
-                  ("certificates" .=) <$> _lacrCertificates])
-
--- | A single firewall rule that is evaluated against incoming traffic and
--- provides an action to take on matched requests.
---
--- /See:/ 'firewallRule' smart constructor.
-data FirewallRule =
-  FirewallRule'
-    { _frPriority    :: !(Maybe (Textual Int32))
-    , _frAction      :: !(Maybe FirewallRuleAction)
-    , _frSourceRange :: !(Maybe Text)
-    , _frDescription :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'FirewallRule' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'frPriority'
---
--- * 'frAction'
---
--- * 'frSourceRange'
---
--- * 'frDescription'
-firewallRule
-    :: FirewallRule
-firewallRule =
-  FirewallRule'
-    { _frPriority = Nothing
-    , _frAction = Nothing
-    , _frSourceRange = Nothing
-    , _frDescription = Nothing
-    }
-
-
--- | A positive integer between 1, Int32.MaxValue-1 that defines the order of
--- rule evaluation. Rules with the lowest priority are evaluated first.A
--- default rule at priority Int32.MaxValue matches all IPv4 and IPv6
--- traffic when no previous rule matches. Only the action of this rule can
--- be modified by the user.
-frPriority :: Lens' FirewallRule (Maybe Int32)
-frPriority
-  = lens _frPriority (\ s a -> s{_frPriority = a}) .
-      mapping _Coerce
-
--- | The action to take on matched requests.
-frAction :: Lens' FirewallRule (Maybe FirewallRuleAction)
-frAction = lens _frAction (\ s a -> s{_frAction = a})
-
--- | IP address or range, defined using CIDR notation, of requests that this
--- rule applies to. You can use the wildcard character \"*\" to match all
--- IPs equivalent to \"0\/0\" and \"::\/0\" together. Examples: 192.168.1.1
--- or 192.168.0.0\/16 or 2001:db8::\/32 or
--- 2001:0db8:0000:0042:0000:8a2e:0370:7334.
---
--- Truncation will be silently performed on addresses which are not
--- properly truncated. For example, 1.2.3.4\/24 is accepted as the same
--- address as 1.2.3.0\/24. Similarly, for IPv6, 2001:db8::1\/32 is accepted
--- as the same address as 2001:db8::\/32.
-frSourceRange :: Lens' FirewallRule (Maybe Text)
-frSourceRange
-  = lens _frSourceRange
-      (\ s a -> s{_frSourceRange = a})
-
--- | An optional string description of this rule. This field has a maximum
--- length of 100 characters.
-frDescription :: Lens' FirewallRule (Maybe Text)
-frDescription
-  = lens _frDescription
-      (\ s a -> s{_frDescription = a})
-
-instance FromJSON FirewallRule where
-        parseJSON
-          = withObject "FirewallRule"
-              (\ o ->
-                 FirewallRule' <$>
-                   (o .:? "priority") <*> (o .:? "action") <*>
-                     (o .:? "sourceRange")
-                     <*> (o .:? "description"))
-
-instance ToJSON FirewallRule where
-        toJSON FirewallRule'{..}
-          = object
-              (catMaybes
-                 [("priority" .=) <$> _frPriority,
-                  ("action" .=) <$> _frAction,
-                  ("sourceRange" .=) <$> _frSourceRange,
-                  ("description" .=) <$> _frDescription])
-
--- | Metadata for the given google.cloud.location.Location.
---
--- /See:/ 'locationMetadata' smart constructor.
-data LocationMetadata =
-  LocationMetadata'
-    { _lmStandardEnvironmentAvailable :: !(Maybe Bool)
-    , _lmFlexibleEnvironmentAvailable :: !(Maybe Bool)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LocationMetadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lmStandardEnvironmentAvailable'
---
--- * 'lmFlexibleEnvironmentAvailable'
-locationMetadata
-    :: LocationMetadata
-locationMetadata =
-  LocationMetadata'
-    { _lmStandardEnvironmentAvailable = Nothing
-    , _lmFlexibleEnvironmentAvailable = Nothing
-    }
-
-
--- | App Engine standard environment is available in the given
--- location.\'OutputOnly
-lmStandardEnvironmentAvailable :: Lens' LocationMetadata (Maybe Bool)
-lmStandardEnvironmentAvailable
-  = lens _lmStandardEnvironmentAvailable
-      (\ s a -> s{_lmStandardEnvironmentAvailable = a})
-
--- | App Engine flexible environment is available in the given
--- location.\'OutputOnly
-lmFlexibleEnvironmentAvailable :: Lens' LocationMetadata (Maybe Bool)
-lmFlexibleEnvironmentAvailable
-  = lens _lmFlexibleEnvironmentAvailable
-      (\ s a -> s{_lmFlexibleEnvironmentAvailable = a})
-
-instance FromJSON LocationMetadata where
-        parseJSON
-          = withObject "LocationMetadata"
-              (\ o ->
-                 LocationMetadata' <$>
-                   (o .:? "standardEnvironmentAvailable") <*>
-                     (o .:? "flexibleEnvironmentAvailable"))
-
-instance ToJSON LocationMetadata where
-        toJSON LocationMetadata'{..}
-          = object
-              (catMaybes
-                 [("standardEnvironmentAvailable" .=) <$>
-                    _lmStandardEnvironmentAvailable,
-                  ("flexibleEnvironmentAvailable" .=) <$>
-                    _lmFlexibleEnvironmentAvailable])
-
--- | Service-specific metadata associated with the operation. It typically
--- contains progress information and common metadata such as create time.
--- Some services might not provide such metadata. Any method that returns a
--- long-running operation should document the metadata type, if any.
---
--- /See:/ 'operationMetadata' smart constructor.
-newtype OperationMetadata =
-  OperationMetadata'
-    { _omAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'omAddtional'
-operationMetadata
-    :: HashMap Text JSONValue -- ^ 'omAddtional'
-    -> OperationMetadata
-operationMetadata pOmAddtional_ =
-  OperationMetadata' {_omAddtional = _Coerce # pOmAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)
-omAddtional
-  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .
-      _Coerce
-
-instance FromJSON OperationMetadata where
-        parseJSON
-          = withObject "OperationMetadata"
-              (\ o -> OperationMetadata' <$> (parseJSONObject o))
-
-instance ToJSON OperationMetadata where
-        toJSON = toJSON . _omAddtional
-
--- | Response message for Instances.ListInstances.
---
--- /See:/ 'listInstancesResponse' smart constructor.
-data ListInstancesResponse =
-  ListInstancesResponse'
-    { _lirNextPageToken :: !(Maybe Text)
-    , _lirInstances     :: !(Maybe [Instance])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListInstancesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lirNextPageToken'
---
--- * 'lirInstances'
-listInstancesResponse
-    :: ListInstancesResponse
-listInstancesResponse =
-  ListInstancesResponse' {_lirNextPageToken = Nothing, _lirInstances = Nothing}
-
-
--- | Continuation token for fetching the next page of results.
-lirNextPageToken :: Lens' ListInstancesResponse (Maybe Text)
-lirNextPageToken
-  = lens _lirNextPageToken
-      (\ s a -> s{_lirNextPageToken = a})
-
--- | The instances belonging to the requested version.
-lirInstances :: Lens' ListInstancesResponse [Instance]
-lirInstances
-  = lens _lirInstances (\ s a -> s{_lirInstances = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ListInstancesResponse where
-        parseJSON
-          = withObject "ListInstancesResponse"
-              (\ o ->
-                 ListInstancesResponse' <$>
-                   (o .:? "nextPageToken") <*>
-                     (o .:? "instances" .!= mempty))
-
-instance ToJSON ListInstancesResponse where
-        toJSON ListInstancesResponse'{..}
-          = object
-              (catMaybes
-                 [("nextPageToken" .=) <$> _lirNextPageToken,
-                  ("instances" .=) <$> _lirInstances])
-
--- | Metadata for the given google.longrunning.Operation.
---
--- /See:/ 'operationMetadataV1Alpha' smart constructor.
-data OperationMetadataV1Alpha =
-  OperationMetadataV1Alpha'
-    { _omvaEphemeralMessage      :: !(Maybe Text)
-    , _omvaInsertTime            :: !(Maybe DateTime')
-    , _omvaUser                  :: !(Maybe Text)
-    , _omvaMethod                :: !(Maybe Text)
-    , _omvaEndTime               :: !(Maybe DateTime')
-    , _omvaWarning               :: !(Maybe [Text])
-    , _omvaCreateVersionMetadata :: !(Maybe CreateVersionMetadataV1Alpha)
-    , _omvaTarget                :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationMetadataV1Alpha' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'omvaEphemeralMessage'
---
--- * 'omvaInsertTime'
---
--- * 'omvaUser'
---
--- * 'omvaMethod'
---
--- * 'omvaEndTime'
---
--- * 'omvaWarning'
---
--- * 'omvaCreateVersionMetadata'
---
--- * 'omvaTarget'
-operationMetadataV1Alpha
-    :: OperationMetadataV1Alpha
-operationMetadataV1Alpha =
-  OperationMetadataV1Alpha'
-    { _omvaEphemeralMessage = Nothing
-    , _omvaInsertTime = Nothing
-    , _omvaUser = Nothing
-    , _omvaMethod = Nothing
-    , _omvaEndTime = Nothing
-    , _omvaWarning = Nothing
-    , _omvaCreateVersionMetadata = Nothing
-    , _omvaTarget = Nothing
-    }
-
-
--- | Ephemeral message that may change every time the operation is polled.
--- \'OutputOnly
-omvaEphemeralMessage :: Lens' OperationMetadataV1Alpha (Maybe Text)
-omvaEphemeralMessage
-  = lens _omvaEphemeralMessage
-      (\ s a -> s{_omvaEphemeralMessage = a})
-
--- | Time that this operation was created.\'OutputOnly
-omvaInsertTime :: Lens' OperationMetadataV1Alpha (Maybe UTCTime)
-omvaInsertTime
-  = lens _omvaInsertTime
-      (\ s a -> s{_omvaInsertTime = a})
-      . mapping _DateTime
-
--- | User who requested this operation.\'OutputOnly
-omvaUser :: Lens' OperationMetadataV1Alpha (Maybe Text)
-omvaUser = lens _omvaUser (\ s a -> s{_omvaUser = a})
-
--- | API method that initiated this operation. Example:
--- google.appengine.v1alpha.Versions.CreateVersion.\'OutputOnly
-omvaMethod :: Lens' OperationMetadataV1Alpha (Maybe Text)
-omvaMethod
-  = lens _omvaMethod (\ s a -> s{_omvaMethod = a})
-
--- | Time that this operation completed.\'OutputOnly
-omvaEndTime :: Lens' OperationMetadataV1Alpha (Maybe UTCTime)
-omvaEndTime
-  = lens _omvaEndTime (\ s a -> s{_omvaEndTime = a}) .
-      mapping _DateTime
-
--- | Durable messages that persist on every operation poll. \'OutputOnly
-omvaWarning :: Lens' OperationMetadataV1Alpha [Text]
-omvaWarning
-  = lens _omvaWarning (\ s a -> s{_omvaWarning = a}) .
-      _Default
-      . _Coerce
-
-omvaCreateVersionMetadata :: Lens' OperationMetadataV1Alpha (Maybe CreateVersionMetadataV1Alpha)
-omvaCreateVersionMetadata
-  = lens _omvaCreateVersionMetadata
-      (\ s a -> s{_omvaCreateVersionMetadata = a})
-
--- | Name of the resource that this operation is acting on. Example:
--- apps\/myapp\/services\/default.\'OutputOnly
-omvaTarget :: Lens' OperationMetadataV1Alpha (Maybe Text)
-omvaTarget
-  = lens _omvaTarget (\ s a -> s{_omvaTarget = a})
-
-instance FromJSON OperationMetadataV1Alpha where
-        parseJSON
-          = withObject "OperationMetadataV1Alpha"
-              (\ o ->
-                 OperationMetadataV1Alpha' <$>
-                   (o .:? "ephemeralMessage") <*> (o .:? "insertTime")
-                     <*> (o .:? "user")
-                     <*> (o .:? "method")
-                     <*> (o .:? "endTime")
-                     <*> (o .:? "warning" .!= mempty)
-                     <*> (o .:? "createVersionMetadata")
-                     <*> (o .:? "target"))
-
-instance ToJSON OperationMetadataV1Alpha where
-        toJSON OperationMetadataV1Alpha'{..}
-          = object
-              (catMaybes
-                 [("ephemeralMessage" .=) <$> _omvaEphemeralMessage,
-                  ("insertTime" .=) <$> _omvaInsertTime,
-                  ("user" .=) <$> _omvaUser,
-                  ("method" .=) <$> _omvaMethod,
-                  ("endTime" .=) <$> _omvaEndTime,
-                  ("warning" .=) <$> _omvaWarning,
-                  ("createVersionMetadata" .=) <$>
-                    _omvaCreateVersionMetadata,
-                  ("target" .=) <$> _omvaTarget])
-
--- | Health checking configuration for VM instances. Unhealthy instances are
--- killed and replaced with new instances.
---
--- /See:/ 'livenessCheck' smart constructor.
-data LivenessCheck =
-  LivenessCheck'
-    { _lcSuccessThreshold :: !(Maybe (Textual Word32))
-    , _lcFailureThreshold :: !(Maybe (Textual Word32))
-    , _lcPath             :: !(Maybe Text)
-    , _lcCheckInterval    :: !(Maybe GDuration)
-    , _lcHost             :: !(Maybe Text)
-    , _lcInitialDelay     :: !(Maybe GDuration)
-    , _lcTimeout          :: !(Maybe GDuration)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'LivenessCheck' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lcSuccessThreshold'
---
--- * 'lcFailureThreshold'
---
--- * 'lcPath'
---
--- * 'lcCheckInterval'
---
--- * 'lcHost'
---
--- * 'lcInitialDelay'
---
--- * 'lcTimeout'
-livenessCheck
-    :: LivenessCheck
-livenessCheck =
-  LivenessCheck'
-    { _lcSuccessThreshold = Nothing
-    , _lcFailureThreshold = Nothing
-    , _lcPath = Nothing
-    , _lcCheckInterval = Nothing
-    , _lcHost = Nothing
-    , _lcInitialDelay = Nothing
-    , _lcTimeout = Nothing
-    }
-
-
--- | Number of consecutive successful checks required before considering the
--- VM healthy.
-lcSuccessThreshold :: Lens' LivenessCheck (Maybe Word32)
-lcSuccessThreshold
-  = lens _lcSuccessThreshold
-      (\ s a -> s{_lcSuccessThreshold = a})
-      . mapping _Coerce
-
--- | Number of consecutive failed checks required before considering the VM
--- unhealthy.
-lcFailureThreshold :: Lens' LivenessCheck (Maybe Word32)
-lcFailureThreshold
-  = lens _lcFailureThreshold
-      (\ s a -> s{_lcFailureThreshold = a})
-      . mapping _Coerce
-
--- | The request path.
-lcPath :: Lens' LivenessCheck (Maybe Text)
-lcPath = lens _lcPath (\ s a -> s{_lcPath = a})
-
--- | Interval between health checks.
-lcCheckInterval :: Lens' LivenessCheck (Maybe Scientific)
-lcCheckInterval
-  = lens _lcCheckInterval
-      (\ s a -> s{_lcCheckInterval = a})
-      . mapping _GDuration
-
--- | Host header to send when performing a HTTP Liveness check. Example:
--- \"myapp.appspot.com\"
-lcHost :: Lens' LivenessCheck (Maybe Text)
-lcHost = lens _lcHost (\ s a -> s{_lcHost = a})
-
--- | The initial delay before starting to execute the checks.
-lcInitialDelay :: Lens' LivenessCheck (Maybe Scientific)
-lcInitialDelay
-  = lens _lcInitialDelay
-      (\ s a -> s{_lcInitialDelay = a})
-      . mapping _GDuration
-
--- | Time before the check is considered failed.
-lcTimeout :: Lens' LivenessCheck (Maybe Scientific)
-lcTimeout
-  = lens _lcTimeout (\ s a -> s{_lcTimeout = a}) .
-      mapping _GDuration
-
-instance FromJSON LivenessCheck where
-        parseJSON
-          = withObject "LivenessCheck"
-              (\ o ->
-                 LivenessCheck' <$>
-                   (o .:? "successThreshold") <*>
-                     (o .:? "failureThreshold")
-                     <*> (o .:? "path")
-                     <*> (o .:? "checkInterval")
-                     <*> (o .:? "host")
-                     <*> (o .:? "initialDelay")
-                     <*> (o .:? "timeout"))
-
-instance ToJSON LivenessCheck where
-        toJSON LivenessCheck'{..}
-          = object
-              (catMaybes
-                 [("successThreshold" .=) <$> _lcSuccessThreshold,
-                  ("failureThreshold" .=) <$> _lcFailureThreshold,
-                  ("path" .=) <$> _lcPath,
-                  ("checkInterval" .=) <$> _lcCheckInterval,
-                  ("host" .=) <$> _lcHost,
-                  ("initialDelay" .=) <$> _lcInitialDelay,
-                  ("timeout" .=) <$> _lcTimeout])
-
--- | Target scaling by request utilization. Only applicable in the App Engine
--- flexible environment.
---
--- /See:/ 'requestUtilization' smart constructor.
-data RequestUtilization =
-  RequestUtilization'
-    { _ruTargetConcurrentRequests    :: !(Maybe (Textual Int32))
-    , _ruTargetRequestCountPerSecond :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'RequestUtilization' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ruTargetConcurrentRequests'
---
--- * 'ruTargetRequestCountPerSecond'
-requestUtilization
-    :: RequestUtilization
-requestUtilization =
-  RequestUtilization'
-    { _ruTargetConcurrentRequests = Nothing
-    , _ruTargetRequestCountPerSecond = Nothing
-    }
-
-
--- | Target number of concurrent requests.
-ruTargetConcurrentRequests :: Lens' RequestUtilization (Maybe Int32)
-ruTargetConcurrentRequests
-  = lens _ruTargetConcurrentRequests
-      (\ s a -> s{_ruTargetConcurrentRequests = a})
-      . mapping _Coerce
-
--- | Target requests per second.
-ruTargetRequestCountPerSecond :: Lens' RequestUtilization (Maybe Int32)
-ruTargetRequestCountPerSecond
-  = lens _ruTargetRequestCountPerSecond
-      (\ s a -> s{_ruTargetRequestCountPerSecond = a})
-      . mapping _Coerce
-
-instance FromJSON RequestUtilization where
-        parseJSON
-          = withObject "RequestUtilization"
-              (\ o ->
-                 RequestUtilization' <$>
-                   (o .:? "targetConcurrentRequests") <*>
-                     (o .:? "targetRequestCountPerSecond"))
-
-instance ToJSON RequestUtilization where
-        toJSON RequestUtilization'{..}
-          = object
-              (catMaybes
-                 [("targetConcurrentRequests" .=) <$>
-                    _ruTargetConcurrentRequests,
-                  ("targetRequestCountPerSecond" .=) <$>
-                    _ruTargetRequestCountPerSecond])
-
--- | Request message for \'Applications.RepairApplication\'.
---
--- /See:/ 'repairApplicationRequest' smart constructor.
-data RepairApplicationRequest =
-  RepairApplicationRequest'
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'RepairApplicationRequest' with the minimum fields required to make a request.
---
-repairApplicationRequest
-    :: RepairApplicationRequest
-repairApplicationRequest = RepairApplicationRequest'
-
-
-instance FromJSON RepairApplicationRequest where
-        parseJSON
-          = withObject "RepairApplicationRequest"
-              (\ o -> pure RepairApplicationRequest')
-
-instance ToJSON RepairApplicationRequest where
-        toJSON = const emptyObject
-
--- | The normal response of the operation in case of success. If the original
--- method returns no data on success, such as Delete, the response is
--- google.protobuf.Empty. If the original method is standard
--- Get\/Create\/Update, the response should be the resource. For other
--- methods, the response should have the type XxxResponse, where Xxx is the
--- original method name. For example, if the original method name is
--- TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
---
--- /See:/ 'operationResponse' smart constructor.
-newtype OperationResponse =
-  OperationResponse'
-    { _orAddtional :: HashMap Text JSONValue
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'orAddtional'
-operationResponse
-    :: HashMap Text JSONValue -- ^ 'orAddtional'
-    -> OperationResponse
-operationResponse pOrAddtional_ =
-  OperationResponse' {_orAddtional = _Coerce # pOrAddtional_}
-
-
--- | Properties of the object. Contains field \'type with type URL.
-orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)
-orAddtional
-  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .
-      _Coerce
-
-instance FromJSON OperationResponse where
-        parseJSON
-          = withObject "OperationResponse"
-              (\ o -> OperationResponse' <$> (parseJSONObject o))
-
-instance ToJSON OperationResponse where
-        toJSON = toJSON . _orAddtional
-
--- | Metadata for the given google.longrunning.Operation during a
--- google.appengine.v1beta.CreateVersionRequest.
---
--- /See:/ 'createVersionMetadataV1Beta' smart constructor.
-newtype CreateVersionMetadataV1Beta =
-  CreateVersionMetadataV1Beta'
-    { _cvmvbCloudBuildId :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateVersionMetadataV1Beta' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cvmvbCloudBuildId'
-createVersionMetadataV1Beta
-    :: CreateVersionMetadataV1Beta
-createVersionMetadataV1Beta =
-  CreateVersionMetadataV1Beta' {_cvmvbCloudBuildId = Nothing}
-
-
--- | The Cloud Build ID if one was created as part of the version create.
--- \'OutputOnly
-cvmvbCloudBuildId :: Lens' CreateVersionMetadataV1Beta (Maybe Text)
-cvmvbCloudBuildId
-  = lens _cvmvbCloudBuildId
-      (\ s a -> s{_cvmvbCloudBuildId = a})
-
-instance FromJSON CreateVersionMetadataV1Beta where
-        parseJSON
-          = withObject "CreateVersionMetadataV1Beta"
-              (\ o ->
-                 CreateVersionMetadataV1Beta' <$>
-                   (o .:? "cloudBuildId"))
-
-instance ToJSON CreateVersionMetadataV1Beta where
-        toJSON CreateVersionMetadataV1Beta'{..}
-          = object
-              (catMaybes
-                 [("cloudBuildId" .=) <$> _cvmvbCloudBuildId])
-
--- | Response message for DomainMappings.ListDomainMappings.
---
--- /See:/ 'listDomainMAppingsResponse' smart constructor.
-data ListDomainMAppingsResponse =
-  ListDomainMAppingsResponse'
-    { _ldmarDomainMAppings :: !(Maybe [DomainMApping])
-    , _ldmarNextPageToken  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListDomainMAppingsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ldmarDomainMAppings'
---
--- * 'ldmarNextPageToken'
-listDomainMAppingsResponse
-    :: ListDomainMAppingsResponse
-listDomainMAppingsResponse =
-  ListDomainMAppingsResponse'
-    {_ldmarDomainMAppings = Nothing, _ldmarNextPageToken = Nothing}
-
-
--- | The domain mappings for the application.
-ldmarDomainMAppings :: Lens' ListDomainMAppingsResponse [DomainMApping]
-ldmarDomainMAppings
-  = lens _ldmarDomainMAppings
-      (\ s a -> s{_ldmarDomainMAppings = a})
-      . _Default
-      . _Coerce
-
--- | Continuation token for fetching the next page of results.
-ldmarNextPageToken :: Lens' ListDomainMAppingsResponse (Maybe Text)
-ldmarNextPageToken
-  = lens _ldmarNextPageToken
-      (\ s a -> s{_ldmarNextPageToken = a})
-
-instance FromJSON ListDomainMAppingsResponse where
-        parseJSON
-          = withObject "ListDomainMAppingsResponse"
-              (\ o ->
-                 ListDomainMAppingsResponse' <$>
-                   (o .:? "domainMappings" .!= mempty) <*>
-                     (o .:? "nextPageToken"))
-
-instance ToJSON ListDomainMAppingsResponse where
-        toJSON ListDomainMAppingsResponse'{..}
-          = object
-              (catMaybes
-                 [("domainMappings" .=) <$> _ldmarDomainMAppings,
-                  ("nextPageToken" .=) <$> _ldmarNextPageToken])
-
--- | Scheduler settings for standard environment.
---
--- /See:/ 'standardSchedulerSettings' smart constructor.
-data StandardSchedulerSettings =
-  StandardSchedulerSettings'
-    { _sssTargetCPUUtilization        :: !(Maybe (Textual Double))
-    , _sssMinInstances                :: !(Maybe (Textual Int32))
-    , _sssMaxInstances                :: !(Maybe (Textual Int32))
-    , _sssTargetThroughputUtilization :: !(Maybe (Textual Double))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'StandardSchedulerSettings' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sssTargetCPUUtilization'
---
--- * 'sssMinInstances'
---
--- * 'sssMaxInstances'
---
--- * 'sssTargetThroughputUtilization'
-standardSchedulerSettings
-    :: StandardSchedulerSettings
-standardSchedulerSettings =
-  StandardSchedulerSettings'
-    { _sssTargetCPUUtilization = Nothing
-    , _sssMinInstances = Nothing
-    , _sssMaxInstances = Nothing
-    , _sssTargetThroughputUtilization = Nothing
-    }
-
-
--- | Target CPU utilization ratio to maintain when scaling.
-sssTargetCPUUtilization :: Lens' StandardSchedulerSettings (Maybe Double)
-sssTargetCPUUtilization
-  = lens _sssTargetCPUUtilization
-      (\ s a -> s{_sssTargetCPUUtilization = a})
-      . mapping _Coerce
-
--- | Minimum number of instances to run for this version. Set to zero to
--- disable min_instances configuration.
-sssMinInstances :: Lens' StandardSchedulerSettings (Maybe Int32)
-sssMinInstances
-  = lens _sssMinInstances
-      (\ s a -> s{_sssMinInstances = a})
-      . mapping _Coerce
-
--- | Maximum number of instances to run for this version. Set to zero to
--- disable max_instances configuration.
-sssMaxInstances :: Lens' StandardSchedulerSettings (Maybe Int32)
-sssMaxInstances
-  = lens _sssMaxInstances
-      (\ s a -> s{_sssMaxInstances = a})
-      . mapping _Coerce
-
--- | Target throughput utilization ratio to maintain when scaling
-sssTargetThroughputUtilization :: Lens' StandardSchedulerSettings (Maybe Double)
-sssTargetThroughputUtilization
-  = lens _sssTargetThroughputUtilization
-      (\ s a -> s{_sssTargetThroughputUtilization = a})
-      . mapping _Coerce
-
-instance FromJSON StandardSchedulerSettings where
-        parseJSON
-          = withObject "StandardSchedulerSettings"
-              (\ o ->
-                 StandardSchedulerSettings' <$>
-                   (o .:? "targetCpuUtilization") <*>
-                     (o .:? "minInstances")
-                     <*> (o .:? "maxInstances")
-                     <*> (o .:? "targetThroughputUtilization"))
-
-instance ToJSON StandardSchedulerSettings where
-        toJSON StandardSchedulerSettings'{..}
-          = object
-              (catMaybes
-                 [("targetCpuUtilization" .=) <$>
-                    _sssTargetCPUUtilization,
-                  ("minInstances" .=) <$> _sssMinInstances,
-                  ("maxInstances" .=) <$> _sssMaxInstances,
-                  ("targetThroughputUtilization" .=) <$>
-                    _sssTargetThroughputUtilization])
-
--- | Docker image that is used to create a container and start a VM instance
--- for the version that you deploy. Only applicable for instances running
--- in the App Engine flexible environment.
---
--- /See:/ 'containerInfo' smart constructor.
-newtype ContainerInfo =
-  ContainerInfo'
-    { _ciImage :: Maybe Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ContainerInfo' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ciImage'
-containerInfo
-    :: ContainerInfo
-containerInfo = ContainerInfo' {_ciImage = Nothing}
-
-
--- | URI to the hosted container image in Google Container Registry. The URI
--- must be fully qualified and include a tag or digest. Examples:
--- \"gcr.io\/my-project\/image:tag\" or
--- \"gcr.io\/my-project\/image\'digest\"
-ciImage :: Lens' ContainerInfo (Maybe Text)
-ciImage = lens _ciImage (\ s a -> s{_ciImage = a})
-
-instance FromJSON ContainerInfo where
-        parseJSON
-          = withObject "ContainerInfo"
-              (\ o -> ContainerInfo' <$> (o .:? "image"))
-
-instance ToJSON ContainerInfo where
-        toJSON ContainerInfo'{..}
-          = object (catMaybes [("image" .=) <$> _ciImage])
-
--- | An Instance resource is the computing unit that App Engine uses to
--- automatically scale an application.
---
--- /See:/ 'instance'' smart constructor.
-data Instance =
-  Instance'
-    { _iMemoryUsage      :: !(Maybe (Textual Int64))
-    , _iVMStatus         :: !(Maybe Text)
-    , _iVMZoneName       :: !(Maybe Text)
-    , _iVMIP             :: !(Maybe Text)
-    , _iStartTime        :: !(Maybe DateTime')
-    , _iVMId             :: !(Maybe Text)
-    , _iAvailability     :: !(Maybe InstanceAvailability)
-    , _iVMName           :: !(Maybe Text)
-    , _iName             :: !(Maybe Text)
-    , _iVMDebugEnabled   :: !(Maybe Bool)
-    , _iRequests         :: !(Maybe (Textual Int32))
-    , _iQps              :: !(Maybe (Textual Double))
-    , _iId               :: !(Maybe Text)
-    , _iErrors           :: !(Maybe (Textual Int32))
-    , _iAverageLatency   :: !(Maybe (Textual Int32))
-    , _iAppEngineRelease :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Instance' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'iMemoryUsage'
---
--- * 'iVMStatus'
---
--- * 'iVMZoneName'
---
--- * 'iVMIP'
---
--- * 'iStartTime'
---
--- * 'iVMId'
---
--- * 'iAvailability'
---
--- * 'iVMName'
---
--- * 'iName'
---
--- * 'iVMDebugEnabled'
---
--- * 'iRequests'
---
--- * 'iQps'
---
--- * 'iId'
---
--- * 'iErrors'
---
--- * 'iAverageLatency'
---
--- * 'iAppEngineRelease'
-instance'
-    :: Instance
-instance' =
-  Instance'
-    { _iMemoryUsage = Nothing
-    , _iVMStatus = Nothing
-    , _iVMZoneName = Nothing
-    , _iVMIP = Nothing
-    , _iStartTime = Nothing
-    , _iVMId = Nothing
-    , _iAvailability = Nothing
-    , _iVMName = Nothing
-    , _iName = Nothing
-    , _iVMDebugEnabled = Nothing
-    , _iRequests = Nothing
-    , _iQps = Nothing
-    , _iId = Nothing
-    , _iErrors = Nothing
-    , _iAverageLatency = Nothing
-    , _iAppEngineRelease = Nothing
-    }
-
-
--- | Total memory in use (bytes).\'OutputOnly
-iMemoryUsage :: Lens' Instance (Maybe Int64)
-iMemoryUsage
-  = lens _iMemoryUsage (\ s a -> s{_iMemoryUsage = a})
-      . mapping _Coerce
-
--- | Status of the virtual machine where this instance lives. Only applicable
--- for instances in App Engine flexible environment.\'OutputOnly
-iVMStatus :: Lens' Instance (Maybe Text)
-iVMStatus
-  = lens _iVMStatus (\ s a -> s{_iVMStatus = a})
-
--- | Zone where the virtual machine is located. Only applicable for instances
--- in App Engine flexible environment.\'OutputOnly
-iVMZoneName :: Lens' Instance (Maybe Text)
-iVMZoneName
-  = lens _iVMZoneName (\ s a -> s{_iVMZoneName = a})
-
--- | The IP address of this instance. Only applicable for instances in App
--- Engine flexible environment.\'OutputOnly
-iVMIP :: Lens' Instance (Maybe Text)
-iVMIP = lens _iVMIP (\ s a -> s{_iVMIP = a})
-
--- | Time that this instance was started.\'OutputOnly
-iStartTime :: Lens' Instance (Maybe UTCTime)
-iStartTime
-  = lens _iStartTime (\ s a -> s{_iStartTime = a}) .
-      mapping _DateTime
-
--- | Virtual machine ID of this instance. Only applicable for instances in
--- App Engine flexible environment.\'OutputOnly
-iVMId :: Lens' Instance (Maybe Text)
-iVMId = lens _iVMId (\ s a -> s{_iVMId = a})
-
--- | Availability of the instance.\'OutputOnly
-iAvailability :: Lens' Instance (Maybe InstanceAvailability)
-iAvailability
-  = lens _iAvailability
-      (\ s a -> s{_iAvailability = a})
-
--- | Name of the virtual machine where this instance lives. Only applicable
--- for instances in App Engine flexible environment.\'OutputOnly
-iVMName :: Lens' Instance (Maybe Text)
-iVMName = lens _iVMName (\ s a -> s{_iVMName = a})
-
--- | Full path to the Instance resource in the API. Example:
--- apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.\'OutputOnly
-iName :: Lens' Instance (Maybe Text)
-iName = lens _iName (\ s a -> s{_iName = a})
-
--- | Whether this instance is in debug mode. Only applicable for instances in
--- App Engine flexible environment.\'OutputOnly
-iVMDebugEnabled :: Lens' Instance (Maybe Bool)
-iVMDebugEnabled
-  = lens _iVMDebugEnabled
-      (\ s a -> s{_iVMDebugEnabled = a})
-
--- | Number of requests since this instance was started.\'OutputOnly
-iRequests :: Lens' Instance (Maybe Int32)
-iRequests
-  = lens _iRequests (\ s a -> s{_iRequests = a}) .
-      mapping _Coerce
-
--- | Average queries per second (QPS) over the last minute.\'OutputOnly
-iQps :: Lens' Instance (Maybe Double)
-iQps
-  = lens _iQps (\ s a -> s{_iQps = a}) .
-      mapping _Coerce
-
--- | Relative name of the instance within the version. Example:
--- instance-1.\'OutputOnly
-iId :: Lens' Instance (Maybe Text)
-iId = lens _iId (\ s a -> s{_iId = a})
-
--- | Number of errors since this instance was started.\'OutputOnly
-iErrors :: Lens' Instance (Maybe Int32)
-iErrors
-  = lens _iErrors (\ s a -> s{_iErrors = a}) .
-      mapping _Coerce
-
--- | Average latency (ms) over the last minute.\'OutputOnly
-iAverageLatency :: Lens' Instance (Maybe Int32)
-iAverageLatency
-  = lens _iAverageLatency
-      (\ s a -> s{_iAverageLatency = a})
-      . mapping _Coerce
-
--- | App Engine release this instance is running on.\'OutputOnly
-iAppEngineRelease :: Lens' Instance (Maybe Text)
-iAppEngineRelease
-  = lens _iAppEngineRelease
-      (\ s a -> s{_iAppEngineRelease = a})
-
-instance FromJSON Instance where
-        parseJSON
-          = withObject "Instance"
-              (\ o ->
-                 Instance' <$>
-                   (o .:? "memoryUsage") <*> (o .:? "vmStatus") <*>
-                     (o .:? "vmZoneName")
-                     <*> (o .:? "vmIp")
-                     <*> (o .:? "startTime")
-                     <*> (o .:? "vmId")
-                     <*> (o .:? "availability")
-                     <*> (o .:? "vmName")
-                     <*> (o .:? "name")
-                     <*> (o .:? "vmDebugEnabled")
-                     <*> (o .:? "requests")
-                     <*> (o .:? "qps")
-                     <*> (o .:? "id")
-                     <*> (o .:? "errors")
-                     <*> (o .:? "averageLatency")
-                     <*> (o .:? "appEngineRelease"))
-
-instance ToJSON Instance where
-        toJSON Instance'{..}
-          = object
-              (catMaybes
-                 [("memoryUsage" .=) <$> _iMemoryUsage,
-                  ("vmStatus" .=) <$> _iVMStatus,
-                  ("vmZoneName" .=) <$> _iVMZoneName,
-                  ("vmIp" .=) <$> _iVMIP,
-                  ("startTime" .=) <$> _iStartTime,
-                  ("vmId" .=) <$> _iVMId,
-                  ("availability" .=) <$> _iAvailability,
-                  ("vmName" .=) <$> _iVMName, ("name" .=) <$> _iName,
-                  ("vmDebugEnabled" .=) <$> _iVMDebugEnabled,
-                  ("requests" .=) <$> _iRequests, ("qps" .=) <$> _iQps,
-                  ("id" .=) <$> _iId, ("errors" .=) <$> _iErrors,
-                  ("averageLatency" .=) <$> _iAverageLatency,
-                  ("appEngineRelease" .=) <$> _iAppEngineRelease])
-
--- | SSL configuration for a DomainMapping resource.
---
--- /See:/ 'sslSettings' smart constructor.
-data SSLSettings =
-  SSLSettings'
-    { _ssSSLManagementType           :: !(Maybe SSLSettingsSSLManagementType)
-    , _ssCertificateId               :: !(Maybe Text)
-    , _ssPendingManagedCertificateId :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'SSLSettings' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ssSSLManagementType'
---
--- * 'ssCertificateId'
---
--- * 'ssPendingManagedCertificateId'
-sslSettings
-    :: SSLSettings
-sslSettings =
-  SSLSettings'
-    { _ssSSLManagementType = Nothing
-    , _ssCertificateId = Nothing
-    , _ssPendingManagedCertificateId = Nothing
-    }
-
-
--- | SSL management type for this domain. If AUTOMATIC, a managed certificate
--- is automatically provisioned. If MANUAL, certificate_id must be manually
--- specified in order to configure SSL for this domain.
-ssSSLManagementType :: Lens' SSLSettings (Maybe SSLSettingsSSLManagementType)
-ssSSLManagementType
-  = lens _ssSSLManagementType
-      (\ s a -> s{_ssSSLManagementType = a})
-
--- | ID of the AuthorizedCertificate resource configuring SSL for the
--- application. Clearing this field will remove SSL support.By default, a
--- managed certificate is automatically created for every domain mapping.
--- To omit SSL support or to configure SSL manually, specify
--- SslManagementType.MANUAL on a CREATE or UPDATE request. You must be
--- authorized to administer the AuthorizedCertificate resource to manually
--- map it to a DomainMapping resource. Example: 12345.
-ssCertificateId :: Lens' SSLSettings (Maybe Text)
-ssCertificateId
-  = lens _ssCertificateId
-      (\ s a -> s{_ssCertificateId = a})
-
--- | ID of the managed AuthorizedCertificate resource currently being
--- provisioned, if applicable. Until the new managed certificate has been
--- successfully provisioned, the previous SSL state will be preserved. Once
--- the provisioning process completes, the certificate_id field will
--- reflect the new managed certificate and this field will be left empty.
--- To remove SSL support while there is still a pending managed
--- certificate, clear the certificate_id field with an
--- UpdateDomainMappingRequest.\'OutputOnly
-ssPendingManagedCertificateId :: Lens' SSLSettings (Maybe Text)
-ssPendingManagedCertificateId
-  = lens _ssPendingManagedCertificateId
-      (\ s a -> s{_ssPendingManagedCertificateId = a})
-
-instance FromJSON SSLSettings where
-        parseJSON
-          = withObject "SSLSettings"
-              (\ o ->
-                 SSLSettings' <$>
-                   (o .:? "sslManagementType") <*>
-                     (o .:? "certificateId")
-                     <*> (o .:? "pendingManagedCertificateId"))
-
-instance ToJSON SSLSettings where
-        toJSON SSLSettings'{..}
-          = object
-              (catMaybes
-                 [("sslManagementType" .=) <$> _ssSSLManagementType,
-                  ("certificateId" .=) <$> _ssCertificateId,
-                  ("pendingManagedCertificateId" .=) <$>
-                    _ssPendingManagedCertificateId])
-
--- | Code and application artifacts used to deploy a version to App Engine.
---
--- /See:/ 'deployment' smart constructor.
-data Deployment =
-  Deployment'
-    { _dZip               :: !(Maybe ZipInfo)
-    , _dCloudBuildOptions :: !(Maybe CloudBuildOptions)
-    , _dContainer         :: !(Maybe ContainerInfo)
-    , _dFiles             :: !(Maybe DeploymentFiles)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Deployment' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dZip'
---
--- * 'dCloudBuildOptions'
---
--- * 'dContainer'
---
--- * 'dFiles'
-deployment
-    :: Deployment
-deployment =
-  Deployment'
-    { _dZip = Nothing
-    , _dCloudBuildOptions = Nothing
-    , _dContainer = Nothing
-    , _dFiles = Nothing
-    }
-
-
--- | The zip file for this deployment, if this is a zip deployment.
-dZip :: Lens' Deployment (Maybe ZipInfo)
-dZip = lens _dZip (\ s a -> s{_dZip = a})
-
--- | Options for any Google Cloud Build builds created as a part of this
--- deployment.These options will only be used if a new build is created,
--- such as when deploying to the App Engine flexible environment using
--- files or zip.
-dCloudBuildOptions :: Lens' Deployment (Maybe CloudBuildOptions)
-dCloudBuildOptions
-  = lens _dCloudBuildOptions
-      (\ s a -> s{_dCloudBuildOptions = a})
-
--- | The Docker image for the container that runs the version. Only
--- applicable for instances running in the App Engine flexible environment.
-dContainer :: Lens' Deployment (Maybe ContainerInfo)
-dContainer
-  = lens _dContainer (\ s a -> s{_dContainer = a})
-
--- | Manifest of the files stored in Google Cloud Storage that are included
--- as part of this version. All files must be readable using the
--- credentials supplied with this call.
-dFiles :: Lens' Deployment (Maybe DeploymentFiles)
-dFiles = lens _dFiles (\ s a -> s{_dFiles = a})
-
-instance FromJSON Deployment where
-        parseJSON
-          = withObject "Deployment"
-              (\ o ->
-                 Deployment' <$>
-                   (o .:? "zip") <*> (o .:? "cloudBuildOptions") <*>
-                     (o .:? "container")
-                     <*> (o .:? "files"))
-
-instance ToJSON Deployment where
-        toJSON Deployment'{..}
-          = object
-              (catMaybes
-                 [("zip" .=) <$> _dZip,
-                  ("cloudBuildOptions" .=) <$> _dCloudBuildOptions,
-                  ("container" .=) <$> _dContainer,
-                  ("files" .=) <$> _dFiles])
diff --git a/gen/Network/Google/AppEngine/Types/Sum.hs b/gen/Network/Google/AppEngine/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/Google/AppEngine/Types/Sum.hs
+++ /dev/null
@@ -1,766 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE LambdaCase         #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AppEngine.Types.Sum
--- 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)
---
-module Network.Google.AppEngine.Types.Sum where
-
-import           Network.Google.Prelude hiding (Bytes)
-
--- | Serving status of this application.
-data ApplicationServingStatus
-    = Unspecified
-      -- ^ @UNSPECIFIED@
-      -- Serving status is unspecified.
-    | Serving
-      -- ^ @SERVING@
-      -- Application is serving.
-    | UserDisabled
-      -- ^ @USER_DISABLED@
-      -- Application has been disabled by the user.
-    | SystemDisabled
-      -- ^ @SYSTEM_DISABLED@
-      -- Application has been disabled by the system.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable ApplicationServingStatus
-
-instance FromHttpApiData ApplicationServingStatus where
-    parseQueryParam = \case
-        "UNSPECIFIED" -> Right Unspecified
-        "SERVING" -> Right Serving
-        "USER_DISABLED" -> Right UserDisabled
-        "SYSTEM_DISABLED" -> Right SystemDisabled
-        x -> Left ("Unable to parse ApplicationServingStatus from: " <> x)
-
-instance ToHttpApiData ApplicationServingStatus where
-    toQueryParam = \case
-        Unspecified -> "UNSPECIFIED"
-        Serving -> "SERVING"
-        UserDisabled -> "USER_DISABLED"
-        SystemDisabled -> "SYSTEM_DISABLED"
-
-instance FromJSON ApplicationServingStatus where
-    parseJSON = parseJSONText "ApplicationServingStatus"
-
-instance ToJSON ApplicationServingStatus where
-    toJSON = toJSONText
-
--- | Level of login required to access this resource. Not supported for
--- Node.js in the App Engine standard environment.
-data URLMapLogin
-    = LoginUnspecified
-      -- ^ @LOGIN_UNSPECIFIED@
-      -- Not specified. LOGIN_OPTIONAL is assumed.
-    | LoginOptional
-      -- ^ @LOGIN_OPTIONAL@
-      -- Does not require that the user is signed in.
-    | LoginAdmin
-      -- ^ @LOGIN_ADMIN@
-      -- If the user is not signed in, the auth_fail_action is taken. In
-      -- addition, if the user is not an administrator for the application, they
-      -- are given an error message regardless of auth_fail_action. If the user
-      -- is an administrator, the handler proceeds.
-    | LoginRequired
-      -- ^ @LOGIN_REQUIRED@
-      -- If the user has signed in, the handler proceeds normally. Otherwise, the
-      -- auth_fail_action is taken.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable URLMapLogin
-
-instance FromHttpApiData URLMapLogin where
-    parseQueryParam = \case
-        "LOGIN_UNSPECIFIED" -> Right LoginUnspecified
-        "LOGIN_OPTIONAL" -> Right LoginOptional
-        "LOGIN_ADMIN" -> Right LoginAdmin
-        "LOGIN_REQUIRED" -> Right LoginRequired
-        x -> Left ("Unable to parse URLMapLogin from: " <> x)
-
-instance ToHttpApiData URLMapLogin where
-    toQueryParam = \case
-        LoginUnspecified -> "LOGIN_UNSPECIFIED"
-        LoginOptional -> "LOGIN_OPTIONAL"
-        LoginAdmin -> "LOGIN_ADMIN"
-        LoginRequired -> "LOGIN_REQUIRED"
-
-instance FromJSON URLMapLogin where
-    parseJSON = parseJSONText "URLMapLogin"
-
-instance ToJSON URLMapLogin where
-    toJSON = toJSONText
-
--- | Status of certificate management. Refers to the most recent certificate
--- acquisition or renewal attempt.\'OutputOnly
-data ManagedCertificateStatus
-    = ManagementStatusUnspecified
-      -- ^ @MANAGEMENT_STATUS_UNSPECIFIED@
-    | OK
-      -- ^ @OK@
-      -- Certificate was successfully obtained and inserted into the serving
-      -- system.
-    | Pending
-      -- ^ @PENDING@
-      -- Certificate is under active attempts to acquire or renew.
-    | FailedRetryingNotVisible
-      -- ^ @FAILED_RETRYING_NOT_VISIBLE@
-      -- Most recent renewal failed due to an invalid DNS setup and will be
-      -- retried. Renewal attempts will continue to fail until the certificate
-      -- domain\'s DNS configuration is fixed. The last successfully provisioned
-      -- certificate may still be serving.
-    | FailedPermanent
-      -- ^ @FAILED_PERMANENT@
-      -- All renewal attempts have been exhausted, likely due to an invalid DNS
-      -- setup.
-    | FailedRetryingCaaForBidden
-      -- ^ @FAILED_RETRYING_CAA_FORBIDDEN@
-      -- Most recent renewal failed due to an explicit CAA record that does not
-      -- include the in-use CA, Let\'s Encrypt. Renewals will continue to fail
-      -- until the CAA is reconfigured. The last successfully provisioned
-      -- certificate may still be serving.
-    | FailedRetryingCaaChecking
-      -- ^ @FAILED_RETRYING_CAA_CHECKING@
-      -- Most recent renewal failed due to a CAA retrieval failure. This means
-      -- that the domain\'s DNS provider does not properly handle CAA records,
-      -- failing requests for CAA records when no CAA records are defined.
-      -- Renewals will continue to fail until the DNS provider is changed or a
-      -- CAA record is added for the given domain. The last successfully
-      -- provisioned certificate may still be serving.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable ManagedCertificateStatus
-
-instance FromHttpApiData ManagedCertificateStatus where
-    parseQueryParam = \case
-        "MANAGEMENT_STATUS_UNSPECIFIED" -> Right ManagementStatusUnspecified
-        "OK" -> Right OK
-        "PENDING" -> Right Pending
-        "FAILED_RETRYING_NOT_VISIBLE" -> Right FailedRetryingNotVisible
-        "FAILED_PERMANENT" -> Right FailedPermanent
-        "FAILED_RETRYING_CAA_FORBIDDEN" -> Right FailedRetryingCaaForBidden
-        "FAILED_RETRYING_CAA_CHECKING" -> Right FailedRetryingCaaChecking
-        x -> Left ("Unable to parse ManagedCertificateStatus from: " <> x)
-
-instance ToHttpApiData ManagedCertificateStatus where
-    toQueryParam = \case
-        ManagementStatusUnspecified -> "MANAGEMENT_STATUS_UNSPECIFIED"
-        OK -> "OK"
-        Pending -> "PENDING"
-        FailedRetryingNotVisible -> "FAILED_RETRYING_NOT_VISIBLE"
-        FailedPermanent -> "FAILED_PERMANENT"
-        FailedRetryingCaaForBidden -> "FAILED_RETRYING_CAA_FORBIDDEN"
-        FailedRetryingCaaChecking -> "FAILED_RETRYING_CAA_CHECKING"
-
-instance FromJSON ManagedCertificateStatus where
-    parseJSON = parseJSONText "ManagedCertificateStatus"
-
-instance ToJSON ManagedCertificateStatus where
-    toJSON = toJSONText
-
--- | Security (HTTPS) enforcement for this URL.
-data APIConfigHandlerSecurityLevel
-    = SecureUnspecified
-      -- ^ @SECURE_UNSPECIFIED@
-      -- Not specified.
-    | SecureDefault
-      -- ^ @SECURE_DEFAULT@
-      -- Both HTTP and HTTPS requests with URLs that match the handler succeed
-      -- without redirects. The application can examine the request to determine
-      -- which protocol was used, and respond accordingly.
-    | SecureNever
-      -- ^ @SECURE_NEVER@
-      -- Requests for a URL that match this handler that use HTTPS are
-      -- automatically redirected to the HTTP equivalent URL.
-    | SecureOptional
-      -- ^ @SECURE_OPTIONAL@
-      -- Both HTTP and HTTPS requests with URLs that match the handler succeed
-      -- without redirects. The application can examine the request to determine
-      -- which protocol was used and respond accordingly.
-    | SecureAlways
-      -- ^ @SECURE_ALWAYS@
-      -- Requests for a URL that match this handler that do not use HTTPS are
-      -- automatically redirected to the HTTPS URL with the same path. Query
-      -- parameters are reserved for the redirect.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable APIConfigHandlerSecurityLevel
-
-instance FromHttpApiData APIConfigHandlerSecurityLevel where
-    parseQueryParam = \case
-        "SECURE_UNSPECIFIED" -> Right SecureUnspecified
-        "SECURE_DEFAULT" -> Right SecureDefault
-        "SECURE_NEVER" -> Right SecureNever
-        "SECURE_OPTIONAL" -> Right SecureOptional
-        "SECURE_ALWAYS" -> Right SecureAlways
-        x -> Left ("Unable to parse APIConfigHandlerSecurityLevel from: " <> x)
-
-instance ToHttpApiData APIConfigHandlerSecurityLevel where
-    toQueryParam = \case
-        SecureUnspecified -> "SECURE_UNSPECIFIED"
-        SecureDefault -> "SECURE_DEFAULT"
-        SecureNever -> "SECURE_NEVER"
-        SecureOptional -> "SECURE_OPTIONAL"
-        SecureAlways -> "SECURE_ALWAYS"
-
-instance FromJSON APIConfigHandlerSecurityLevel where
-    parseJSON = parseJSONText "APIConfigHandlerSecurityLevel"
-
-instance ToJSON APIConfigHandlerSecurityLevel where
-    toJSON = toJSONText
-
--- | Error condition this handler applies to.
-data ErrorHandlerErrorCode
-    = ErrorCodeUnspecified
-      -- ^ @ERROR_CODE_UNSPECIFIED@
-      -- Not specified. ERROR_CODE_DEFAULT is assumed.
-    | ErrorCodeDefault
-      -- ^ @ERROR_CODE_DEFAULT@
-      -- All other error types.
-    | ErrorCodeOverQuota
-      -- ^ @ERROR_CODE_OVER_QUOTA@
-      -- Application has exceeded a resource quota.
-    | ErrorCodeDosAPIdenial
-      -- ^ @ERROR_CODE_DOS_API_DENIAL@
-      -- Client blocked by the application\'s Denial of Service protection
-      -- configuration.
-    | ErrorCodeTimeout
-      -- ^ @ERROR_CODE_TIMEOUT@
-      -- Deadline reached before the application responds.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable ErrorHandlerErrorCode
-
-instance FromHttpApiData ErrorHandlerErrorCode where
-    parseQueryParam = \case
-        "ERROR_CODE_UNSPECIFIED" -> Right ErrorCodeUnspecified
-        "ERROR_CODE_DEFAULT" -> Right ErrorCodeDefault
-        "ERROR_CODE_OVER_QUOTA" -> Right ErrorCodeOverQuota
-        "ERROR_CODE_DOS_API_DENIAL" -> Right ErrorCodeDosAPIdenial
-        "ERROR_CODE_TIMEOUT" -> Right ErrorCodeTimeout
-        x -> Left ("Unable to parse ErrorHandlerErrorCode from: " <> x)
-
-instance ToHttpApiData ErrorHandlerErrorCode where
-    toQueryParam = \case
-        ErrorCodeUnspecified -> "ERROR_CODE_UNSPECIFIED"
-        ErrorCodeDefault -> "ERROR_CODE_DEFAULT"
-        ErrorCodeOverQuota -> "ERROR_CODE_OVER_QUOTA"
-        ErrorCodeDosAPIdenial -> "ERROR_CODE_DOS_API_DENIAL"
-        ErrorCodeTimeout -> "ERROR_CODE_TIMEOUT"
-
-instance FromJSON ErrorHandlerErrorCode where
-    parseJSON = parseJSONText "ErrorHandlerErrorCode"
-
-instance ToJSON ErrorHandlerErrorCode where
-    toJSON = toJSONText
-
--- | Endpoints rollout strategy. If FIXED, config_id must be specified. If
--- MANAGED, config_id must be omitted.
-data EndpointsAPIServiceRolloutStrategy
-    = UnspecifiedRolloutStrategy
-      -- ^ @UNSPECIFIED_ROLLOUT_STRATEGY@
-      -- Not specified. Defaults to FIXED.
-    | Fixed
-      -- ^ @FIXED@
-      -- Endpoints service configuration ID will be fixed to the configuration ID
-      -- specified by config_id.
-    | Managed
-      -- ^ @MANAGED@
-      -- Endpoints service configuration ID will be updated with each rollout.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable EndpointsAPIServiceRolloutStrategy
-
-instance FromHttpApiData EndpointsAPIServiceRolloutStrategy where
-    parseQueryParam = \case
-        "UNSPECIFIED_ROLLOUT_STRATEGY" -> Right UnspecifiedRolloutStrategy
-        "FIXED" -> Right Fixed
-        "MANAGED" -> Right Managed
-        x -> Left ("Unable to parse EndpointsAPIServiceRolloutStrategy from: " <> x)
-
-instance ToHttpApiData EndpointsAPIServiceRolloutStrategy where
-    toQueryParam = \case
-        UnspecifiedRolloutStrategy -> "UNSPECIFIED_ROLLOUT_STRATEGY"
-        Fixed -> "FIXED"
-        Managed -> "MANAGED"
-
-instance FromJSON EndpointsAPIServiceRolloutStrategy where
-    parseJSON = parseJSONText "EndpointsAPIServiceRolloutStrategy"
-
-instance ToJSON EndpointsAPIServiceRolloutStrategy where
-    toJSON = toJSONText
-
--- | Action to take when users access resources that require authentication.
--- Defaults to redirect.
-data APIConfigHandlerAuthFailAction
-    = AuthFailActionUnspecified
-      -- ^ @AUTH_FAIL_ACTION_UNSPECIFIED@
-      -- Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.
-    | AuthFailActionRedirect
-      -- ^ @AUTH_FAIL_ACTION_REDIRECT@
-      -- Redirects user to \"accounts.google.com\". The user is redirected back
-      -- to the application URL after signing in or creating an account.
-    | AuthFailActionUnauthorized
-      -- ^ @AUTH_FAIL_ACTION_UNAUTHORIZED@
-      -- Rejects request with a 401 HTTP status code and an error message.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable APIConfigHandlerAuthFailAction
-
-instance FromHttpApiData APIConfigHandlerAuthFailAction where
-    parseQueryParam = \case
-        "AUTH_FAIL_ACTION_UNSPECIFIED" -> Right AuthFailActionUnspecified
-        "AUTH_FAIL_ACTION_REDIRECT" -> Right AuthFailActionRedirect
-        "AUTH_FAIL_ACTION_UNAUTHORIZED" -> Right AuthFailActionUnauthorized
-        x -> Left ("Unable to parse APIConfigHandlerAuthFailAction from: " <> x)
-
-instance ToHttpApiData APIConfigHandlerAuthFailAction where
-    toQueryParam = \case
-        AuthFailActionUnspecified -> "AUTH_FAIL_ACTION_UNSPECIFIED"
-        AuthFailActionRedirect -> "AUTH_FAIL_ACTION_REDIRECT"
-        AuthFailActionUnauthorized -> "AUTH_FAIL_ACTION_UNAUTHORIZED"
-
-instance FromJSON APIConfigHandlerAuthFailAction where
-    parseJSON = parseJSONText "APIConfigHandlerAuthFailAction"
-
-instance ToJSON APIConfigHandlerAuthFailAction where
-    toJSON = toJSONText
-
--- | Current serving status of this version. Only the versions with a SERVING
--- status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is
--- an invalid value. Defaults to SERVING.
-data VersionServingStatus
-    = VSSServingStatusUnspecified
-      -- ^ @SERVING_STATUS_UNSPECIFIED@
-      -- Not specified.
-    | VSSServing
-      -- ^ @SERVING@
-      -- Currently serving. Instances are created according to the scaling
-      -- settings of the version.
-    | VSSStopped
-      -- ^ @STOPPED@
-      -- Disabled. No instances will be created and the scaling settings are
-      -- ignored until the state of the version changes to SERVING.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable VersionServingStatus
-
-instance FromHttpApiData VersionServingStatus where
-    parseQueryParam = \case
-        "SERVING_STATUS_UNSPECIFIED" -> Right VSSServingStatusUnspecified
-        "SERVING" -> Right VSSServing
-        "STOPPED" -> Right VSSStopped
-        x -> Left ("Unable to parse VersionServingStatus from: " <> x)
-
-instance ToHttpApiData VersionServingStatus where
-    toQueryParam = \case
-        VSSServingStatusUnspecified -> "SERVING_STATUS_UNSPECIFIED"
-        VSSServing -> "SERVING"
-        VSSStopped -> "STOPPED"
-
-instance FromJSON VersionServingStatus where
-    parseJSON = parseJSONText "VersionServingStatus"
-
-instance ToJSON VersionServingStatus where
-    toJSON = toJSONText
-
--- | Security (HTTPS) enforcement for this URL.
-data URLMapSecurityLevel
-    = UMSLSecureUnspecified
-      -- ^ @SECURE_UNSPECIFIED@
-      -- Not specified.
-    | UMSLSecureDefault
-      -- ^ @SECURE_DEFAULT@
-      -- Both HTTP and HTTPS requests with URLs that match the handler succeed
-      -- without redirects. The application can examine the request to determine
-      -- which protocol was used, and respond accordingly.
-    | UMSLSecureNever
-      -- ^ @SECURE_NEVER@
-      -- Requests for a URL that match this handler that use HTTPS are
-      -- automatically redirected to the HTTP equivalent URL.
-    | UMSLSecureOptional
-      -- ^ @SECURE_OPTIONAL@
-      -- Both HTTP and HTTPS requests with URLs that match the handler succeed
-      -- without redirects. The application can examine the request to determine
-      -- which protocol was used and respond accordingly.
-    | UMSLSecureAlways
-      -- ^ @SECURE_ALWAYS@
-      -- Requests for a URL that match this handler that do not use HTTPS are
-      -- automatically redirected to the HTTPS URL with the same path. Query
-      -- parameters are reserved for the redirect.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable URLMapSecurityLevel
-
-instance FromHttpApiData URLMapSecurityLevel where
-    parseQueryParam = \case
-        "SECURE_UNSPECIFIED" -> Right UMSLSecureUnspecified
-        "SECURE_DEFAULT" -> Right UMSLSecureDefault
-        "SECURE_NEVER" -> Right UMSLSecureNever
-        "SECURE_OPTIONAL" -> Right UMSLSecureOptional
-        "SECURE_ALWAYS" -> Right UMSLSecureAlways
-        x -> Left ("Unable to parse URLMapSecurityLevel from: " <> x)
-
-instance ToHttpApiData URLMapSecurityLevel where
-    toQueryParam = \case
-        UMSLSecureUnspecified -> "SECURE_UNSPECIFIED"
-        UMSLSecureDefault -> "SECURE_DEFAULT"
-        UMSLSecureNever -> "SECURE_NEVER"
-        UMSLSecureOptional -> "SECURE_OPTIONAL"
-        UMSLSecureAlways -> "SECURE_ALWAYS"
-
-instance FromJSON URLMapSecurityLevel where
-    parseJSON = parseJSONText "URLMapSecurityLevel"
-
-instance ToJSON URLMapSecurityLevel where
-    toJSON = toJSONText
-
--- | Resource record type. Example: AAAA.
-data ResourceRecordType
-    = RecordTypeUnspecified
-      -- ^ @RECORD_TYPE_UNSPECIFIED@
-      -- An unknown resource record.
-    | A
-      -- ^ @A@
-      -- An A resource record. Data is an IPv4 address.
-    | Aaaa
-      -- ^ @AAAA@
-      -- An AAAA resource record. Data is an IPv6 address.
-    | Cname
-      -- ^ @CNAME@
-      -- A CNAME resource record. Data is a domain name to be aliased.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable ResourceRecordType
-
-instance FromHttpApiData ResourceRecordType where
-    parseQueryParam = \case
-        "RECORD_TYPE_UNSPECIFIED" -> Right RecordTypeUnspecified
-        "A" -> Right A
-        "AAAA" -> Right Aaaa
-        "CNAME" -> Right Cname
-        x -> Left ("Unable to parse ResourceRecordType from: " <> x)
-
-instance ToHttpApiData ResourceRecordType where
-    toQueryParam = \case
-        RecordTypeUnspecified -> "RECORD_TYPE_UNSPECIFIED"
-        A -> "A"
-        Aaaa -> "AAAA"
-        Cname -> "CNAME"
-
-instance FromJSON ResourceRecordType where
-    parseJSON = parseJSONText "ResourceRecordType"
-
-instance ToJSON ResourceRecordType where
-    toJSON = toJSONText
-
--- | V1 error format.
-data Xgafv
-    = X1
-      -- ^ @1@
-      -- v1 error format
-    | X2
-      -- ^ @2@
-      -- v2 error format
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable Xgafv
-
-instance FromHttpApiData Xgafv where
-    parseQueryParam = \case
-        "1" -> Right X1
-        "2" -> Right X2
-        x -> Left ("Unable to parse Xgafv from: " <> x)
-
-instance ToHttpApiData Xgafv where
-    toQueryParam = \case
-        X1 -> "1"
-        X2 -> "2"
-
-instance FromJSON Xgafv where
-    parseJSON = parseJSONText "Xgafv"
-
-instance ToJSON Xgafv where
-    toJSON = toJSONText
-
--- | Mechanism used to determine which version a request is sent to. The
--- traffic selection algorithm will be stable for either type until
--- allocations are changed.
-data TrafficSplitShardBy
-    = TSSBUnspecified
-      -- ^ @UNSPECIFIED@
-      -- Diversion method unspecified.
-    | TSSBCookie
-      -- ^ @COOKIE@
-      -- Diversion based on a specially named cookie, \"GOOGAPPUID.\" The cookie
-      -- must be set by the application itself or no diversion will occur.
-    | TSSBIP
-      -- ^ @IP@
-      -- Diversion based on applying the modulus operation to a fingerprint of
-      -- the IP address.
-    | TSSBRandom
-      -- ^ @RANDOM@
-      -- Diversion based on weighted random assignment. An incoming request is
-      -- randomly routed to a version in the traffic split, with probability
-      -- proportional to the version\'s traffic share.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable TrafficSplitShardBy
-
-instance FromHttpApiData TrafficSplitShardBy where
-    parseQueryParam = \case
-        "UNSPECIFIED" -> Right TSSBUnspecified
-        "COOKIE" -> Right TSSBCookie
-        "IP" -> Right TSSBIP
-        "RANDOM" -> Right TSSBRandom
-        x -> Left ("Unable to parse TrafficSplitShardBy from: " <> x)
-
-instance ToHttpApiData TrafficSplitShardBy where
-    toQueryParam = \case
-        TSSBUnspecified -> "UNSPECIFIED"
-        TSSBCookie -> "COOKIE"
-        TSSBIP -> "IP"
-        TSSBRandom -> "RANDOM"
-
-instance FromJSON TrafficSplitShardBy where
-    parseJSON = parseJSONText "TrafficSplitShardBy"
-
-instance ToJSON TrafficSplitShardBy where
-    toJSON = toJSONText
-
--- | Availability of the instance.\'OutputOnly
-data InstanceAvailability
-    = IAUnspecified
-      -- ^ @UNSPECIFIED@
-    | IAResident
-      -- ^ @RESIDENT@
-    | IADynamic
-      -- ^ @DYNAMIC@
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable InstanceAvailability
-
-instance FromHttpApiData InstanceAvailability where
-    parseQueryParam = \case
-        "UNSPECIFIED" -> Right IAUnspecified
-        "RESIDENT" -> Right IAResident
-        "DYNAMIC" -> Right IADynamic
-        x -> Left ("Unable to parse InstanceAvailability from: " <> x)
-
-instance ToHttpApiData InstanceAvailability where
-    toQueryParam = \case
-        IAUnspecified -> "UNSPECIFIED"
-        IAResident -> "RESIDENT"
-        IADynamic -> "DYNAMIC"
-
-instance FromJSON InstanceAvailability where
-    parseJSON = parseJSONText "InstanceAvailability"
-
-instance ToJSON InstanceAvailability where
-    toJSON = toJSONText
-
--- | Action to take when users access resources that require authentication.
--- Defaults to redirect.
-data URLMapAuthFailAction
-    = UMAFAAuthFailActionUnspecified
-      -- ^ @AUTH_FAIL_ACTION_UNSPECIFIED@
-      -- Not specified. AUTH_FAIL_ACTION_REDIRECT is assumed.
-    | UMAFAAuthFailActionRedirect
-      -- ^ @AUTH_FAIL_ACTION_REDIRECT@
-      -- Redirects user to \"accounts.google.com\". The user is redirected back
-      -- to the application URL after signing in or creating an account.
-    | UMAFAAuthFailActionUnauthorized
-      -- ^ @AUTH_FAIL_ACTION_UNAUTHORIZED@
-      -- Rejects request with a 401 HTTP status code and an error message.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable URLMapAuthFailAction
-
-instance FromHttpApiData URLMapAuthFailAction where
-    parseQueryParam = \case
-        "AUTH_FAIL_ACTION_UNSPECIFIED" -> Right UMAFAAuthFailActionUnspecified
-        "AUTH_FAIL_ACTION_REDIRECT" -> Right UMAFAAuthFailActionRedirect
-        "AUTH_FAIL_ACTION_UNAUTHORIZED" -> Right UMAFAAuthFailActionUnauthorized
-        x -> Left ("Unable to parse URLMapAuthFailAction from: " <> x)
-
-instance ToHttpApiData URLMapAuthFailAction where
-    toQueryParam = \case
-        UMAFAAuthFailActionUnspecified -> "AUTH_FAIL_ACTION_UNSPECIFIED"
-        UMAFAAuthFailActionRedirect -> "AUTH_FAIL_ACTION_REDIRECT"
-        UMAFAAuthFailActionUnauthorized -> "AUTH_FAIL_ACTION_UNAUTHORIZED"
-
-instance FromJSON URLMapAuthFailAction where
-    parseJSON = parseJSONText "URLMapAuthFailAction"
-
-instance ToJSON URLMapAuthFailAction where
-    toJSON = toJSONText
-
--- | 30x code to use when performing redirects for the secure field. Defaults
--- to 302.
-data URLMapRedirectHTTPResponseCode
-    = RedirectHTTPResponseCodeUnspecified
-      -- ^ @REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED@
-      -- Not specified. 302 is assumed.
-    | RedirectHTTPResponseCode301
-      -- ^ @REDIRECT_HTTP_RESPONSE_CODE_301@
-      -- 301 Moved Permanently code.
-    | RedirectHTTPResponseCode302
-      -- ^ @REDIRECT_HTTP_RESPONSE_CODE_302@
-      -- 302 Moved Temporarily code.
-    | RedirectHTTPResponseCode303
-      -- ^ @REDIRECT_HTTP_RESPONSE_CODE_303@
-      -- 303 See Other code.
-    | RedirectHTTPResponseCode307
-      -- ^ @REDIRECT_HTTP_RESPONSE_CODE_307@
-      -- 307 Temporary Redirect code.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable URLMapRedirectHTTPResponseCode
-
-instance FromHttpApiData URLMapRedirectHTTPResponseCode where
-    parseQueryParam = \case
-        "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED" -> Right RedirectHTTPResponseCodeUnspecified
-        "REDIRECT_HTTP_RESPONSE_CODE_301" -> Right RedirectHTTPResponseCode301
-        "REDIRECT_HTTP_RESPONSE_CODE_302" -> Right RedirectHTTPResponseCode302
-        "REDIRECT_HTTP_RESPONSE_CODE_303" -> Right RedirectHTTPResponseCode303
-        "REDIRECT_HTTP_RESPONSE_CODE_307" -> Right RedirectHTTPResponseCode307
-        x -> Left ("Unable to parse URLMapRedirectHTTPResponseCode from: " <> x)
-
-instance ToHttpApiData URLMapRedirectHTTPResponseCode where
-    toQueryParam = \case
-        RedirectHTTPResponseCodeUnspecified -> "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED"
-        RedirectHTTPResponseCode301 -> "REDIRECT_HTTP_RESPONSE_CODE_301"
-        RedirectHTTPResponseCode302 -> "REDIRECT_HTTP_RESPONSE_CODE_302"
-        RedirectHTTPResponseCode303 -> "REDIRECT_HTTP_RESPONSE_CODE_303"
-        RedirectHTTPResponseCode307 -> "REDIRECT_HTTP_RESPONSE_CODE_307"
-
-instance FromJSON URLMapRedirectHTTPResponseCode where
-    parseJSON = parseJSONText "URLMapRedirectHTTPResponseCode"
-
-instance ToJSON URLMapRedirectHTTPResponseCode where
-    toJSON = toJSONText
-
--- | The action to take on matched requests.
-data FirewallRuleAction
-    = UnspecifiedAction
-      -- ^ @UNSPECIFIED_ACTION@
-    | Allow
-      -- ^ @ALLOW@
-      -- Matching requests are allowed.
-    | Deny
-      -- ^ @DENY@
-      -- Matching requests are denied.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable FirewallRuleAction
-
-instance FromHttpApiData FirewallRuleAction where
-    parseQueryParam = \case
-        "UNSPECIFIED_ACTION" -> Right UnspecifiedAction
-        "ALLOW" -> Right Allow
-        "DENY" -> Right Deny
-        x -> Left ("Unable to parse FirewallRuleAction from: " <> x)
-
-instance ToHttpApiData FirewallRuleAction where
-    toQueryParam = \case
-        UnspecifiedAction -> "UNSPECIFIED_ACTION"
-        Allow -> "ALLOW"
-        Deny -> "DENY"
-
-instance FromJSON FirewallRuleAction where
-    parseJSON = parseJSONText "FirewallRuleAction"
-
-instance ToJSON FirewallRuleAction where
-    toJSON = toJSONText
-
--- | SSL management type for this domain. If AUTOMATIC, a managed certificate
--- is automatically provisioned. If MANUAL, certificate_id must be manually
--- specified in order to configure SSL for this domain.
-data SSLSettingsSSLManagementType
-    = SSLManagementTypeUnspecified
-      -- ^ @SSL_MANAGEMENT_TYPE_UNSPECIFIED@
-      -- Defaults to AUTOMATIC.
-    | Automatic
-      -- ^ @AUTOMATIC@
-      -- SSL support for this domain is configured automatically. The mapped SSL
-      -- certificate will be automatically renewed.
-    | Manual
-      -- ^ @MANUAL@
-      -- SSL support for this domain is configured manually by the user. Either
-      -- the domain has no SSL support or a user-obtained SSL certificate has
-      -- been explictly mapped to this domain.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable SSLSettingsSSLManagementType
-
-instance FromHttpApiData SSLSettingsSSLManagementType where
-    parseQueryParam = \case
-        "SSL_MANAGEMENT_TYPE_UNSPECIFIED" -> Right SSLManagementTypeUnspecified
-        "AUTOMATIC" -> Right Automatic
-        "MANUAL" -> Right Manual
-        x -> Left ("Unable to parse SSLSettingsSSLManagementType from: " <> x)
-
-instance ToHttpApiData SSLSettingsSSLManagementType where
-    toQueryParam = \case
-        SSLManagementTypeUnspecified -> "SSL_MANAGEMENT_TYPE_UNSPECIFIED"
-        Automatic -> "AUTOMATIC"
-        Manual -> "MANUAL"
-
-instance FromJSON SSLSettingsSSLManagementType where
-    parseJSON = parseJSONText "SSLSettingsSSLManagementType"
-
-instance ToJSON SSLSettingsSSLManagementType where
-    toJSON = toJSONText
-
--- | Level of login required to access this resource. Defaults to optional.
-data APIConfigHandlerLogin
-    = ACHLLoginUnspecified
-      -- ^ @LOGIN_UNSPECIFIED@
-      -- Not specified. LOGIN_OPTIONAL is assumed.
-    | ACHLLoginOptional
-      -- ^ @LOGIN_OPTIONAL@
-      -- Does not require that the user is signed in.
-    | ACHLLoginAdmin
-      -- ^ @LOGIN_ADMIN@
-      -- If the user is not signed in, the auth_fail_action is taken. In
-      -- addition, if the user is not an administrator for the application, they
-      -- are given an error message regardless of auth_fail_action. If the user
-      -- is an administrator, the handler proceeds.
-    | ACHLLoginRequired
-      -- ^ @LOGIN_REQUIRED@
-      -- If the user has signed in, the handler proceeds normally. Otherwise, the
-      -- auth_fail_action is taken.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable APIConfigHandlerLogin
-
-instance FromHttpApiData APIConfigHandlerLogin where
-    parseQueryParam = \case
-        "LOGIN_UNSPECIFIED" -> Right ACHLLoginUnspecified
-        "LOGIN_OPTIONAL" -> Right ACHLLoginOptional
-        "LOGIN_ADMIN" -> Right ACHLLoginAdmin
-        "LOGIN_REQUIRED" -> Right ACHLLoginRequired
-        x -> Left ("Unable to parse APIConfigHandlerLogin from: " <> x)
-
-instance ToHttpApiData APIConfigHandlerLogin where
-    toQueryParam = \case
-        ACHLLoginUnspecified -> "LOGIN_UNSPECIFIED"
-        ACHLLoginOptional -> "LOGIN_OPTIONAL"
-        ACHLLoginAdmin -> "LOGIN_ADMIN"
-        ACHLLoginRequired -> "LOGIN_REQUIRED"
-
-instance FromJSON APIConfigHandlerLogin where
-    parseJSON = parseJSONText "APIConfigHandlerLogin"
-
-instance ToJSON APIConfigHandlerLogin where
-    toJSON = toJSONText
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Create.hs b/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Create.hs
+++ /dev/null
@@ -1,171 +0,0 @@
-{-# 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.AppEngine.Apps.AuthorizedCertificates.Create
--- 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)
---
--- Uploads the specified SSL certificate.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.create@.
-module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Create
-    (
-    -- * REST Resource
-      AppsAuthorizedCertificatesCreateResource
-
-    -- * Creating a Request
-    , appsAuthorizedCertificatesCreate
-    , AppsAuthorizedCertificatesCreate
-
-    -- * Request Lenses
-    , aaccXgafv
-    , aaccUploadProtocol
-    , aaccAccessToken
-    , aaccUploadType
-    , aaccPayload
-    , aaccAppsId
-    , aaccCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.authorizedCertificates.create@ method which the
--- 'AppsAuthorizedCertificatesCreate' request conforms to.
-type AppsAuthorizedCertificatesCreateResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "authorizedCertificates" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "callback" Text :>
-                       QueryParam "alt" AltJSON :>
-                         ReqBody '[JSON] AuthorizedCertificate :>
-                           Post '[JSON] AuthorizedCertificate
-
--- | Uploads the specified SSL certificate.
---
--- /See:/ 'appsAuthorizedCertificatesCreate' smart constructor.
-data AppsAuthorizedCertificatesCreate =
-  AppsAuthorizedCertificatesCreate'
-    { _aaccXgafv          :: !(Maybe Xgafv)
-    , _aaccUploadProtocol :: !(Maybe Text)
-    , _aaccAccessToken    :: !(Maybe Text)
-    , _aaccUploadType     :: !(Maybe Text)
-    , _aaccPayload        :: !AuthorizedCertificate
-    , _aaccAppsId         :: !Text
-    , _aaccCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsAuthorizedCertificatesCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aaccXgafv'
---
--- * 'aaccUploadProtocol'
---
--- * 'aaccAccessToken'
---
--- * 'aaccUploadType'
---
--- * 'aaccPayload'
---
--- * 'aaccAppsId'
---
--- * 'aaccCallback'
-appsAuthorizedCertificatesCreate
-    :: AuthorizedCertificate -- ^ 'aaccPayload'
-    -> Text -- ^ 'aaccAppsId'
-    -> AppsAuthorizedCertificatesCreate
-appsAuthorizedCertificatesCreate pAaccPayload_ pAaccAppsId_ =
-  AppsAuthorizedCertificatesCreate'
-    { _aaccXgafv = Nothing
-    , _aaccUploadProtocol = Nothing
-    , _aaccAccessToken = Nothing
-    , _aaccUploadType = Nothing
-    , _aaccPayload = pAaccPayload_
-    , _aaccAppsId = pAaccAppsId_
-    , _aaccCallback = Nothing
-    }
-
-
--- | V1 error format.
-aaccXgafv :: Lens' AppsAuthorizedCertificatesCreate (Maybe Xgafv)
-aaccXgafv
-  = lens _aaccXgafv (\ s a -> s{_aaccXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aaccUploadProtocol :: Lens' AppsAuthorizedCertificatesCreate (Maybe Text)
-aaccUploadProtocol
-  = lens _aaccUploadProtocol
-      (\ s a -> s{_aaccUploadProtocol = a})
-
--- | OAuth access token.
-aaccAccessToken :: Lens' AppsAuthorizedCertificatesCreate (Maybe Text)
-aaccAccessToken
-  = lens _aaccAccessToken
-      (\ s a -> s{_aaccAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aaccUploadType :: Lens' AppsAuthorizedCertificatesCreate (Maybe Text)
-aaccUploadType
-  = lens _aaccUploadType
-      (\ s a -> s{_aaccUploadType = a})
-
--- | Multipart request metadata.
-aaccPayload :: Lens' AppsAuthorizedCertificatesCreate AuthorizedCertificate
-aaccPayload
-  = lens _aaccPayload (\ s a -> s{_aaccPayload = a})
-
--- | Part of \`parent\`. Name of the parent Application resource. Example:
--- apps\/myapp.
-aaccAppsId :: Lens' AppsAuthorizedCertificatesCreate Text
-aaccAppsId
-  = lens _aaccAppsId (\ s a -> s{_aaccAppsId = a})
-
--- | JSONP
-aaccCallback :: Lens' AppsAuthorizedCertificatesCreate (Maybe Text)
-aaccCallback
-  = lens _aaccCallback (\ s a -> s{_aaccCallback = a})
-
-instance GoogleRequest
-           AppsAuthorizedCertificatesCreate
-         where
-        type Rs AppsAuthorizedCertificatesCreate =
-             AuthorizedCertificate
-        type Scopes AppsAuthorizedCertificatesCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsAuthorizedCertificatesCreate'{..}
-          = go _aaccAppsId _aaccXgafv _aaccUploadProtocol
-              _aaccAccessToken
-              _aaccUploadType
-              _aaccCallback
-              (Just AltJSON)
-              _aaccPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsAuthorizedCertificatesCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Delete.hs b/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Delete.hs
+++ /dev/null
@@ -1,171 +0,0 @@
-{-# 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.AppEngine.Apps.AuthorizedCertificates.Delete
--- 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)
---
--- Deletes the specified SSL certificate.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.delete@.
-module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Delete
-    (
-    -- * REST Resource
-      AppsAuthorizedCertificatesDeleteResource
-
-    -- * Creating a Request
-    , appsAuthorizedCertificatesDelete
-    , AppsAuthorizedCertificatesDelete
-
-    -- * Request Lenses
-    , aacdAuthorizedCertificatesId
-    , aacdXgafv
-    , aacdUploadProtocol
-    , aacdAccessToken
-    , aacdUploadType
-    , aacdAppsId
-    , aacdCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.authorizedCertificates.delete@ method which the
--- 'AppsAuthorizedCertificatesDelete' request conforms to.
-type AppsAuthorizedCertificatesDeleteResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "authorizedCertificates" :>
-             Capture "authorizedCertificatesId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Delete '[JSON] Empty
-
--- | Deletes the specified SSL certificate.
---
--- /See:/ 'appsAuthorizedCertificatesDelete' smart constructor.
-data AppsAuthorizedCertificatesDelete =
-  AppsAuthorizedCertificatesDelete'
-    { _aacdAuthorizedCertificatesId :: !Text
-    , _aacdXgafv                    :: !(Maybe Xgafv)
-    , _aacdUploadProtocol           :: !(Maybe Text)
-    , _aacdAccessToken              :: !(Maybe Text)
-    , _aacdUploadType               :: !(Maybe Text)
-    , _aacdAppsId                   :: !Text
-    , _aacdCallback                 :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsAuthorizedCertificatesDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aacdAuthorizedCertificatesId'
---
--- * 'aacdXgafv'
---
--- * 'aacdUploadProtocol'
---
--- * 'aacdAccessToken'
---
--- * 'aacdUploadType'
---
--- * 'aacdAppsId'
---
--- * 'aacdCallback'
-appsAuthorizedCertificatesDelete
-    :: Text -- ^ 'aacdAuthorizedCertificatesId'
-    -> Text -- ^ 'aacdAppsId'
-    -> AppsAuthorizedCertificatesDelete
-appsAuthorizedCertificatesDelete pAacdAuthorizedCertificatesId_ pAacdAppsId_ =
-  AppsAuthorizedCertificatesDelete'
-    { _aacdAuthorizedCertificatesId = pAacdAuthorizedCertificatesId_
-    , _aacdXgafv = Nothing
-    , _aacdUploadProtocol = Nothing
-    , _aacdAccessToken = Nothing
-    , _aacdUploadType = Nothing
-    , _aacdAppsId = pAacdAppsId_
-    , _aacdCallback = Nothing
-    }
-
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aacdAuthorizedCertificatesId :: Lens' AppsAuthorizedCertificatesDelete Text
-aacdAuthorizedCertificatesId
-  = lens _aacdAuthorizedCertificatesId
-      (\ s a -> s{_aacdAuthorizedCertificatesId = a})
-
--- | V1 error format.
-aacdXgafv :: Lens' AppsAuthorizedCertificatesDelete (Maybe Xgafv)
-aacdXgafv
-  = lens _aacdXgafv (\ s a -> s{_aacdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aacdUploadProtocol :: Lens' AppsAuthorizedCertificatesDelete (Maybe Text)
-aacdUploadProtocol
-  = lens _aacdUploadProtocol
-      (\ s a -> s{_aacdUploadProtocol = a})
-
--- | OAuth access token.
-aacdAccessToken :: Lens' AppsAuthorizedCertificatesDelete (Maybe Text)
-aacdAccessToken
-  = lens _aacdAccessToken
-      (\ s a -> s{_aacdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aacdUploadType :: Lens' AppsAuthorizedCertificatesDelete (Maybe Text)
-aacdUploadType
-  = lens _aacdUploadType
-      (\ s a -> s{_aacdUploadType = a})
-
--- | Part of \`name\`. Name of the resource to delete. Example:
--- apps\/myapp\/authorizedCertificates\/12345.
-aacdAppsId :: Lens' AppsAuthorizedCertificatesDelete Text
-aacdAppsId
-  = lens _aacdAppsId (\ s a -> s{_aacdAppsId = a})
-
--- | JSONP
-aacdCallback :: Lens' AppsAuthorizedCertificatesDelete (Maybe Text)
-aacdCallback
-  = lens _aacdCallback (\ s a -> s{_aacdCallback = a})
-
-instance GoogleRequest
-           AppsAuthorizedCertificatesDelete
-         where
-        type Rs AppsAuthorizedCertificatesDelete = Empty
-        type Scopes AppsAuthorizedCertificatesDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsAuthorizedCertificatesDelete'{..}
-          = go _aacdAppsId _aacdAuthorizedCertificatesId
-              _aacdXgafv
-              _aacdUploadProtocol
-              _aacdAccessToken
-              _aacdUploadType
-              _aacdCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsAuthorizedCertificatesDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Get.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# 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.AppEngine.Apps.AuthorizedCertificates.Get
--- 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 specified SSL certificate.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.get@.
-module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Get
-    (
-    -- * REST Resource
-      AppsAuthorizedCertificatesGetResource
-
-    -- * Creating a Request
-    , appsAuthorizedCertificatesGet
-    , AppsAuthorizedCertificatesGet
-
-    -- * Request Lenses
-    , aacgAuthorizedCertificatesId
-    , aacgXgafv
-    , aacgUploadProtocol
-    , aacgAccessToken
-    , aacgUploadType
-    , aacgAppsId
-    , aacgView
-    , aacgCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.authorizedCertificates.get@ method which the
--- 'AppsAuthorizedCertificatesGet' request conforms to.
-type AppsAuthorizedCertificatesGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "authorizedCertificates" :>
-             Capture "authorizedCertificatesId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "view" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] AuthorizedCertificate
-
--- | Gets the specified SSL certificate.
---
--- /See:/ 'appsAuthorizedCertificatesGet' smart constructor.
-data AppsAuthorizedCertificatesGet =
-  AppsAuthorizedCertificatesGet'
-    { _aacgAuthorizedCertificatesId :: !Text
-    , _aacgXgafv                    :: !(Maybe Xgafv)
-    , _aacgUploadProtocol           :: !(Maybe Text)
-    , _aacgAccessToken              :: !(Maybe Text)
-    , _aacgUploadType               :: !(Maybe Text)
-    , _aacgAppsId                   :: !Text
-    , _aacgView                     :: !(Maybe Text)
-    , _aacgCallback                 :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsAuthorizedCertificatesGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aacgAuthorizedCertificatesId'
---
--- * 'aacgXgafv'
---
--- * 'aacgUploadProtocol'
---
--- * 'aacgAccessToken'
---
--- * 'aacgUploadType'
---
--- * 'aacgAppsId'
---
--- * 'aacgView'
---
--- * 'aacgCallback'
-appsAuthorizedCertificatesGet
-    :: Text -- ^ 'aacgAuthorizedCertificatesId'
-    -> Text -- ^ 'aacgAppsId'
-    -> AppsAuthorizedCertificatesGet
-appsAuthorizedCertificatesGet pAacgAuthorizedCertificatesId_ pAacgAppsId_ =
-  AppsAuthorizedCertificatesGet'
-    { _aacgAuthorizedCertificatesId = pAacgAuthorizedCertificatesId_
-    , _aacgXgafv = Nothing
-    , _aacgUploadProtocol = Nothing
-    , _aacgAccessToken = Nothing
-    , _aacgUploadType = Nothing
-    , _aacgAppsId = pAacgAppsId_
-    , _aacgView = Nothing
-    , _aacgCallback = Nothing
-    }
-
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aacgAuthorizedCertificatesId :: Lens' AppsAuthorizedCertificatesGet Text
-aacgAuthorizedCertificatesId
-  = lens _aacgAuthorizedCertificatesId
-      (\ s a -> s{_aacgAuthorizedCertificatesId = a})
-
--- | V1 error format.
-aacgXgafv :: Lens' AppsAuthorizedCertificatesGet (Maybe Xgafv)
-aacgXgafv
-  = lens _aacgXgafv (\ s a -> s{_aacgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aacgUploadProtocol :: Lens' AppsAuthorizedCertificatesGet (Maybe Text)
-aacgUploadProtocol
-  = lens _aacgUploadProtocol
-      (\ s a -> s{_aacgUploadProtocol = a})
-
--- | OAuth access token.
-aacgAccessToken :: Lens' AppsAuthorizedCertificatesGet (Maybe Text)
-aacgAccessToken
-  = lens _aacgAccessToken
-      (\ s a -> s{_aacgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aacgUploadType :: Lens' AppsAuthorizedCertificatesGet (Maybe Text)
-aacgUploadType
-  = lens _aacgUploadType
-      (\ s a -> s{_aacgUploadType = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/authorizedCertificates\/12345.
-aacgAppsId :: Lens' AppsAuthorizedCertificatesGet Text
-aacgAppsId
-  = lens _aacgAppsId (\ s a -> s{_aacgAppsId = a})
-
--- | Controls the set of fields returned in the GET response.
-aacgView :: Lens' AppsAuthorizedCertificatesGet (Maybe Text)
-aacgView = lens _aacgView (\ s a -> s{_aacgView = a})
-
--- | JSONP
-aacgCallback :: Lens' AppsAuthorizedCertificatesGet (Maybe Text)
-aacgCallback
-  = lens _aacgCallback (\ s a -> s{_aacgCallback = a})
-
-instance GoogleRequest AppsAuthorizedCertificatesGet
-         where
-        type Rs AppsAuthorizedCertificatesGet =
-             AuthorizedCertificate
-        type Scopes AppsAuthorizedCertificatesGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsAuthorizedCertificatesGet'{..}
-          = go _aacgAppsId _aacgAuthorizedCertificatesId
-              _aacgXgafv
-              _aacgUploadProtocol
-              _aacgAccessToken
-              _aacgUploadType
-              _aacgView
-              _aacgCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsAuthorizedCertificatesGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/List.hs
+++ /dev/null
@@ -1,196 +0,0 @@
-{-# 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.AppEngine.Apps.AuthorizedCertificates.List
--- 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)
---
--- Lists all SSL certificates the user is authorized to administer.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.list@.
-module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.List
-    (
-    -- * REST Resource
-      AppsAuthorizedCertificatesListResource
-
-    -- * Creating a Request
-    , appsAuthorizedCertificatesList
-    , AppsAuthorizedCertificatesList
-
-    -- * Request Lenses
-    , aaclXgafv
-    , aaclUploadProtocol
-    , aaclAccessToken
-    , aaclUploadType
-    , aaclAppsId
-    , aaclView
-    , aaclPageToken
-    , aaclPageSize
-    , aaclCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.authorizedCertificates.list@ method which the
--- 'AppsAuthorizedCertificatesList' request conforms to.
-type AppsAuthorizedCertificatesListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "authorizedCertificates" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "view" Text :>
-                       QueryParam "pageToken" Text :>
-                         QueryParam "pageSize" (Textual Int32) :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               Get '[JSON] ListAuthorizedCertificatesResponse
-
--- | Lists all SSL certificates the user is authorized to administer.
---
--- /See:/ 'appsAuthorizedCertificatesList' smart constructor.
-data AppsAuthorizedCertificatesList =
-  AppsAuthorizedCertificatesList'
-    { _aaclXgafv          :: !(Maybe Xgafv)
-    , _aaclUploadProtocol :: !(Maybe Text)
-    , _aaclAccessToken    :: !(Maybe Text)
-    , _aaclUploadType     :: !(Maybe Text)
-    , _aaclAppsId         :: !Text
-    , _aaclView           :: !(Maybe Text)
-    , _aaclPageToken      :: !(Maybe Text)
-    , _aaclPageSize       :: !(Maybe (Textual Int32))
-    , _aaclCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsAuthorizedCertificatesList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aaclXgafv'
---
--- * 'aaclUploadProtocol'
---
--- * 'aaclAccessToken'
---
--- * 'aaclUploadType'
---
--- * 'aaclAppsId'
---
--- * 'aaclView'
---
--- * 'aaclPageToken'
---
--- * 'aaclPageSize'
---
--- * 'aaclCallback'
-appsAuthorizedCertificatesList
-    :: Text -- ^ 'aaclAppsId'
-    -> AppsAuthorizedCertificatesList
-appsAuthorizedCertificatesList pAaclAppsId_ =
-  AppsAuthorizedCertificatesList'
-    { _aaclXgafv = Nothing
-    , _aaclUploadProtocol = Nothing
-    , _aaclAccessToken = Nothing
-    , _aaclUploadType = Nothing
-    , _aaclAppsId = pAaclAppsId_
-    , _aaclView = Nothing
-    , _aaclPageToken = Nothing
-    , _aaclPageSize = Nothing
-    , _aaclCallback = Nothing
-    }
-
-
--- | V1 error format.
-aaclXgafv :: Lens' AppsAuthorizedCertificatesList (Maybe Xgafv)
-aaclXgafv
-  = lens _aaclXgafv (\ s a -> s{_aaclXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aaclUploadProtocol :: Lens' AppsAuthorizedCertificatesList (Maybe Text)
-aaclUploadProtocol
-  = lens _aaclUploadProtocol
-      (\ s a -> s{_aaclUploadProtocol = a})
-
--- | OAuth access token.
-aaclAccessToken :: Lens' AppsAuthorizedCertificatesList (Maybe Text)
-aaclAccessToken
-  = lens _aaclAccessToken
-      (\ s a -> s{_aaclAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aaclUploadType :: Lens' AppsAuthorizedCertificatesList (Maybe Text)
-aaclUploadType
-  = lens _aaclUploadType
-      (\ s a -> s{_aaclUploadType = a})
-
--- | Part of \`parent\`. Name of the parent Application resource. Example:
--- apps\/myapp.
-aaclAppsId :: Lens' AppsAuthorizedCertificatesList Text
-aaclAppsId
-  = lens _aaclAppsId (\ s a -> s{_aaclAppsId = a})
-
--- | Controls the set of fields returned in the LIST response.
-aaclView :: Lens' AppsAuthorizedCertificatesList (Maybe Text)
-aaclView = lens _aaclView (\ s a -> s{_aaclView = a})
-
--- | Continuation token for fetching the next page of results.
-aaclPageToken :: Lens' AppsAuthorizedCertificatesList (Maybe Text)
-aaclPageToken
-  = lens _aaclPageToken
-      (\ s a -> s{_aaclPageToken = a})
-
--- | Maximum results to return per page.
-aaclPageSize :: Lens' AppsAuthorizedCertificatesList (Maybe Int32)
-aaclPageSize
-  = lens _aaclPageSize (\ s a -> s{_aaclPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-aaclCallback :: Lens' AppsAuthorizedCertificatesList (Maybe Text)
-aaclCallback
-  = lens _aaclCallback (\ s a -> s{_aaclCallback = a})
-
-instance GoogleRequest AppsAuthorizedCertificatesList
-         where
-        type Rs AppsAuthorizedCertificatesList =
-             ListAuthorizedCertificatesResponse
-        type Scopes AppsAuthorizedCertificatesList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsAuthorizedCertificatesList'{..}
-          = go _aaclAppsId _aaclXgafv _aaclUploadProtocol
-              _aaclAccessToken
-              _aaclUploadType
-              _aaclView
-              _aaclPageToken
-              _aaclPageSize
-              _aaclCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsAuthorizedCertificatesListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Patch.hs b/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Patch.hs
+++ /dev/null
@@ -1,208 +0,0 @@
-{-# 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.AppEngine.Apps.AuthorizedCertificates.Patch
--- 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)
---
--- Updates the specified SSL certificate. To renew a certificate and
--- maintain its existing domain mappings, update certificate_data with a
--- new certificate. The new certificate must be applicable to the same
--- domains as the original certificate. The certificate display_name may
--- also be updated.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedCertificates.patch@.
-module Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Patch
-    (
-    -- * REST Resource
-      AppsAuthorizedCertificatesPatchResource
-
-    -- * Creating a Request
-    , appsAuthorizedCertificatesPatch
-    , AppsAuthorizedCertificatesPatch
-
-    -- * Request Lenses
-    , aacpAuthorizedCertificatesId
-    , aacpXgafv
-    , aacpUploadProtocol
-    , aacpUpdateMask
-    , aacpAccessToken
-    , aacpUploadType
-    , aacpPayload
-    , aacpAppsId
-    , aacpCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.authorizedCertificates.patch@ method which the
--- 'AppsAuthorizedCertificatesPatch' request conforms to.
-type AppsAuthorizedCertificatesPatchResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "authorizedCertificates" :>
-             Capture "authorizedCertificatesId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "updateMask" GFieldMask :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             ReqBody '[JSON] AuthorizedCertificate :>
-                               Patch '[JSON] AuthorizedCertificate
-
--- | Updates the specified SSL certificate. To renew a certificate and
--- maintain its existing domain mappings, update certificate_data with a
--- new certificate. The new certificate must be applicable to the same
--- domains as the original certificate. The certificate display_name may
--- also be updated.
---
--- /See:/ 'appsAuthorizedCertificatesPatch' smart constructor.
-data AppsAuthorizedCertificatesPatch =
-  AppsAuthorizedCertificatesPatch'
-    { _aacpAuthorizedCertificatesId :: !Text
-    , _aacpXgafv                    :: !(Maybe Xgafv)
-    , _aacpUploadProtocol           :: !(Maybe Text)
-    , _aacpUpdateMask               :: !(Maybe GFieldMask)
-    , _aacpAccessToken              :: !(Maybe Text)
-    , _aacpUploadType               :: !(Maybe Text)
-    , _aacpPayload                  :: !AuthorizedCertificate
-    , _aacpAppsId                   :: !Text
-    , _aacpCallback                 :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsAuthorizedCertificatesPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aacpAuthorizedCertificatesId'
---
--- * 'aacpXgafv'
---
--- * 'aacpUploadProtocol'
---
--- * 'aacpUpdateMask'
---
--- * 'aacpAccessToken'
---
--- * 'aacpUploadType'
---
--- * 'aacpPayload'
---
--- * 'aacpAppsId'
---
--- * 'aacpCallback'
-appsAuthorizedCertificatesPatch
-    :: Text -- ^ 'aacpAuthorizedCertificatesId'
-    -> AuthorizedCertificate -- ^ 'aacpPayload'
-    -> Text -- ^ 'aacpAppsId'
-    -> AppsAuthorizedCertificatesPatch
-appsAuthorizedCertificatesPatch pAacpAuthorizedCertificatesId_ pAacpPayload_ pAacpAppsId_ =
-  AppsAuthorizedCertificatesPatch'
-    { _aacpAuthorizedCertificatesId = pAacpAuthorizedCertificatesId_
-    , _aacpXgafv = Nothing
-    , _aacpUploadProtocol = Nothing
-    , _aacpUpdateMask = Nothing
-    , _aacpAccessToken = Nothing
-    , _aacpUploadType = Nothing
-    , _aacpPayload = pAacpPayload_
-    , _aacpAppsId = pAacpAppsId_
-    , _aacpCallback = Nothing
-    }
-
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aacpAuthorizedCertificatesId :: Lens' AppsAuthorizedCertificatesPatch Text
-aacpAuthorizedCertificatesId
-  = lens _aacpAuthorizedCertificatesId
-      (\ s a -> s{_aacpAuthorizedCertificatesId = a})
-
--- | V1 error format.
-aacpXgafv :: Lens' AppsAuthorizedCertificatesPatch (Maybe Xgafv)
-aacpXgafv
-  = lens _aacpXgafv (\ s a -> s{_aacpXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aacpUploadProtocol :: Lens' AppsAuthorizedCertificatesPatch (Maybe Text)
-aacpUploadProtocol
-  = lens _aacpUploadProtocol
-      (\ s a -> s{_aacpUploadProtocol = a})
-
--- | Standard field mask for the set of fields to be updated. Updates are
--- only supported on the certificate_raw_data and display_name fields.
-aacpUpdateMask :: Lens' AppsAuthorizedCertificatesPatch (Maybe GFieldMask)
-aacpUpdateMask
-  = lens _aacpUpdateMask
-      (\ s a -> s{_aacpUpdateMask = a})
-
--- | OAuth access token.
-aacpAccessToken :: Lens' AppsAuthorizedCertificatesPatch (Maybe Text)
-aacpAccessToken
-  = lens _aacpAccessToken
-      (\ s a -> s{_aacpAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aacpUploadType :: Lens' AppsAuthorizedCertificatesPatch (Maybe Text)
-aacpUploadType
-  = lens _aacpUploadType
-      (\ s a -> s{_aacpUploadType = a})
-
--- | Multipart request metadata.
-aacpPayload :: Lens' AppsAuthorizedCertificatesPatch AuthorizedCertificate
-aacpPayload
-  = lens _aacpPayload (\ s a -> s{_aacpPayload = a})
-
--- | Part of \`name\`. Name of the resource to update. Example:
--- apps\/myapp\/authorizedCertificates\/12345.
-aacpAppsId :: Lens' AppsAuthorizedCertificatesPatch Text
-aacpAppsId
-  = lens _aacpAppsId (\ s a -> s{_aacpAppsId = a})
-
--- | JSONP
-aacpCallback :: Lens' AppsAuthorizedCertificatesPatch (Maybe Text)
-aacpCallback
-  = lens _aacpCallback (\ s a -> s{_aacpCallback = a})
-
-instance GoogleRequest
-           AppsAuthorizedCertificatesPatch
-         where
-        type Rs AppsAuthorizedCertificatesPatch =
-             AuthorizedCertificate
-        type Scopes AppsAuthorizedCertificatesPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsAuthorizedCertificatesPatch'{..}
-          = go _aacpAppsId _aacpAuthorizedCertificatesId
-              _aacpXgafv
-              _aacpUploadProtocol
-              _aacpUpdateMask
-              _aacpAccessToken
-              _aacpUploadType
-              _aacpCallback
-              (Just AltJSON)
-              _aacpPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsAuthorizedCertificatesPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedDomains/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedDomains/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedDomains/List.hs
+++ /dev/null
@@ -1,184 +0,0 @@
-{-# 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.AppEngine.Apps.AuthorizedDomains.List
--- 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)
---
--- Lists all domains the user is authorized to administer.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.authorizedDomains.list@.
-module Network.Google.Resource.AppEngine.Apps.AuthorizedDomains.List
-    (
-    -- * REST Resource
-      AppsAuthorizedDomainsListResource
-
-    -- * Creating a Request
-    , appsAuthorizedDomainsList
-    , AppsAuthorizedDomainsList
-
-    -- * Request Lenses
-    , aadlXgafv
-    , aadlUploadProtocol
-    , aadlAccessToken
-    , aadlUploadType
-    , aadlAppsId
-    , aadlPageToken
-    , aadlPageSize
-    , aadlCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.authorizedDomains.list@ method which the
--- 'AppsAuthorizedDomainsList' request conforms to.
-type AppsAuthorizedDomainsListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "authorizedDomains" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "pageToken" Text :>
-                       QueryParam "pageSize" (Textual Int32) :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] ListAuthorizedDomainsResponse
-
--- | Lists all domains the user is authorized to administer.
---
--- /See:/ 'appsAuthorizedDomainsList' smart constructor.
-data AppsAuthorizedDomainsList =
-  AppsAuthorizedDomainsList'
-    { _aadlXgafv          :: !(Maybe Xgafv)
-    , _aadlUploadProtocol :: !(Maybe Text)
-    , _aadlAccessToken    :: !(Maybe Text)
-    , _aadlUploadType     :: !(Maybe Text)
-    , _aadlAppsId         :: !Text
-    , _aadlPageToken      :: !(Maybe Text)
-    , _aadlPageSize       :: !(Maybe (Textual Int32))
-    , _aadlCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsAuthorizedDomainsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aadlXgafv'
---
--- * 'aadlUploadProtocol'
---
--- * 'aadlAccessToken'
---
--- * 'aadlUploadType'
---
--- * 'aadlAppsId'
---
--- * 'aadlPageToken'
---
--- * 'aadlPageSize'
---
--- * 'aadlCallback'
-appsAuthorizedDomainsList
-    :: Text -- ^ 'aadlAppsId'
-    -> AppsAuthorizedDomainsList
-appsAuthorizedDomainsList pAadlAppsId_ =
-  AppsAuthorizedDomainsList'
-    { _aadlXgafv = Nothing
-    , _aadlUploadProtocol = Nothing
-    , _aadlAccessToken = Nothing
-    , _aadlUploadType = Nothing
-    , _aadlAppsId = pAadlAppsId_
-    , _aadlPageToken = Nothing
-    , _aadlPageSize = Nothing
-    , _aadlCallback = Nothing
-    }
-
-
--- | V1 error format.
-aadlXgafv :: Lens' AppsAuthorizedDomainsList (Maybe Xgafv)
-aadlXgafv
-  = lens _aadlXgafv (\ s a -> s{_aadlXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aadlUploadProtocol :: Lens' AppsAuthorizedDomainsList (Maybe Text)
-aadlUploadProtocol
-  = lens _aadlUploadProtocol
-      (\ s a -> s{_aadlUploadProtocol = a})
-
--- | OAuth access token.
-aadlAccessToken :: Lens' AppsAuthorizedDomainsList (Maybe Text)
-aadlAccessToken
-  = lens _aadlAccessToken
-      (\ s a -> s{_aadlAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aadlUploadType :: Lens' AppsAuthorizedDomainsList (Maybe Text)
-aadlUploadType
-  = lens _aadlUploadType
-      (\ s a -> s{_aadlUploadType = a})
-
--- | Part of \`parent\`. Name of the parent Application resource. Example:
--- apps\/myapp.
-aadlAppsId :: Lens' AppsAuthorizedDomainsList Text
-aadlAppsId
-  = lens _aadlAppsId (\ s a -> s{_aadlAppsId = a})
-
--- | Continuation token for fetching the next page of results.
-aadlPageToken :: Lens' AppsAuthorizedDomainsList (Maybe Text)
-aadlPageToken
-  = lens _aadlPageToken
-      (\ s a -> s{_aadlPageToken = a})
-
--- | Maximum results to return per page.
-aadlPageSize :: Lens' AppsAuthorizedDomainsList (Maybe Int32)
-aadlPageSize
-  = lens _aadlPageSize (\ s a -> s{_aadlPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-aadlCallback :: Lens' AppsAuthorizedDomainsList (Maybe Text)
-aadlCallback
-  = lens _aadlCallback (\ s a -> s{_aadlCallback = a})
-
-instance GoogleRequest AppsAuthorizedDomainsList
-         where
-        type Rs AppsAuthorizedDomainsList =
-             ListAuthorizedDomainsResponse
-        type Scopes AppsAuthorizedDomainsList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsAuthorizedDomainsList'{..}
-          = go _aadlAppsId _aadlXgafv _aadlUploadProtocol
-              _aadlAccessToken
-              _aadlUploadType
-              _aadlPageToken
-              _aadlPageSize
-              _aadlCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsAuthorizedDomainsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Create.hs b/gen/Network/Google/Resource/AppEngine/Apps/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Create.hs
+++ /dev/null
@@ -1,160 +0,0 @@
-{-# 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.AppEngine.Apps.Create
--- 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)
---
--- Creates an App Engine application for a Google Cloud Platform project.
--- Required fields: id - The ID of the target Cloud Platform project.
--- location - The region
--- (https:\/\/cloud.google.com\/appengine\/docs\/locations) where you want
--- the App Engine application located.For more information about App Engine
--- applications, see Managing Projects, Applications, and Billing
--- (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/console\/).
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.create@.
-module Network.Google.Resource.AppEngine.Apps.Create
-    (
-    -- * REST Resource
-      AppsCreateResource
-
-    -- * Creating a Request
-    , appsCreate
-    , AppsCreate
-
-    -- * Request Lenses
-    , acXgafv
-    , acUploadProtocol
-    , acAccessToken
-    , acUploadType
-    , acPayload
-    , acCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.create@ method which the
--- 'AppsCreate' request conforms to.
-type AppsCreateResource =
-     "v1" :>
-       "apps" :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON] Application :> Post '[JSON] Operation
-
--- | Creates an App Engine application for a Google Cloud Platform project.
--- Required fields: id - The ID of the target Cloud Platform project.
--- location - The region
--- (https:\/\/cloud.google.com\/appengine\/docs\/locations) where you want
--- the App Engine application located.For more information about App Engine
--- applications, see Managing Projects, Applications, and Billing
--- (https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/console\/).
---
--- /See:/ 'appsCreate' smart constructor.
-data AppsCreate =
-  AppsCreate'
-    { _acXgafv          :: !(Maybe Xgafv)
-    , _acUploadProtocol :: !(Maybe Text)
-    , _acAccessToken    :: !(Maybe Text)
-    , _acUploadType     :: !(Maybe Text)
-    , _acPayload        :: !Application
-    , _acCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'acXgafv'
---
--- * 'acUploadProtocol'
---
--- * 'acAccessToken'
---
--- * 'acUploadType'
---
--- * 'acPayload'
---
--- * 'acCallback'
-appsCreate
-    :: Application -- ^ 'acPayload'
-    -> AppsCreate
-appsCreate pAcPayload_ =
-  AppsCreate'
-    { _acXgafv = Nothing
-    , _acUploadProtocol = Nothing
-    , _acAccessToken = Nothing
-    , _acUploadType = Nothing
-    , _acPayload = pAcPayload_
-    , _acCallback = Nothing
-    }
-
-
--- | V1 error format.
-acXgafv :: Lens' AppsCreate (Maybe Xgafv)
-acXgafv = lens _acXgafv (\ s a -> s{_acXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-acUploadProtocol :: Lens' AppsCreate (Maybe Text)
-acUploadProtocol
-  = lens _acUploadProtocol
-      (\ s a -> s{_acUploadProtocol = a})
-
--- | OAuth access token.
-acAccessToken :: Lens' AppsCreate (Maybe Text)
-acAccessToken
-  = lens _acAccessToken
-      (\ s a -> s{_acAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-acUploadType :: Lens' AppsCreate (Maybe Text)
-acUploadType
-  = lens _acUploadType (\ s a -> s{_acUploadType = a})
-
--- | Multipart request metadata.
-acPayload :: Lens' AppsCreate Application
-acPayload
-  = lens _acPayload (\ s a -> s{_acPayload = a})
-
--- | JSONP
-acCallback :: Lens' AppsCreate (Maybe Text)
-acCallback
-  = lens _acCallback (\ s a -> s{_acCallback = a})
-
-instance GoogleRequest AppsCreate where
-        type Rs AppsCreate = Operation
-        type Scopes AppsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsCreate'{..}
-          = go _acXgafv _acUploadProtocol _acAccessToken
-              _acUploadType
-              _acCallback
-              (Just AltJSON)
-              _acPayload
-              appEngineService
-          where go
-                  = buildClient (Proxy :: Proxy AppsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Create.hs b/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Create.hs
+++ /dev/null
@@ -1,186 +0,0 @@
-{-# 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.AppEngine.Apps.DomainMAppings.Create
--- 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)
---
--- Maps a domain to an application. A user must be authorized to administer
--- a domain in order to map it to an application. For a list of available
--- authorized domains, see AuthorizedDomains.ListAuthorizedDomains.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.create@.
-module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Create
-    (
-    -- * REST Resource
-      AppsDomainMAppingsCreateResource
-
-    -- * Creating a Request
-    , appsDomainMAppingsCreate
-    , AppsDomainMAppingsCreate
-
-    -- * Request Lenses
-    , admacXgafv
-    , admacUploadProtocol
-    , admacAccessToken
-    , admacUploadType
-    , admacPayload
-    , admacOverrideStrategy
-    , admacAppsId
-    , admacCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.domainMappings.create@ method which the
--- 'AppsDomainMAppingsCreate' request conforms to.
-type AppsDomainMAppingsCreateResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "domainMappings" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "overrideStrategy" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :>
-                           ReqBody '[JSON] DomainMApping :>
-                             Post '[JSON] Operation
-
--- | Maps a domain to an application. A user must be authorized to administer
--- a domain in order to map it to an application. For a list of available
--- authorized domains, see AuthorizedDomains.ListAuthorizedDomains.
---
--- /See:/ 'appsDomainMAppingsCreate' smart constructor.
-data AppsDomainMAppingsCreate =
-  AppsDomainMAppingsCreate'
-    { _admacXgafv            :: !(Maybe Xgafv)
-    , _admacUploadProtocol   :: !(Maybe Text)
-    , _admacAccessToken      :: !(Maybe Text)
-    , _admacUploadType       :: !(Maybe Text)
-    , _admacPayload          :: !DomainMApping
-    , _admacOverrideStrategy :: !(Maybe Text)
-    , _admacAppsId           :: !Text
-    , _admacCallback         :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsDomainMAppingsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'admacXgafv'
---
--- * 'admacUploadProtocol'
---
--- * 'admacAccessToken'
---
--- * 'admacUploadType'
---
--- * 'admacPayload'
---
--- * 'admacOverrideStrategy'
---
--- * 'admacAppsId'
---
--- * 'admacCallback'
-appsDomainMAppingsCreate
-    :: DomainMApping -- ^ 'admacPayload'
-    -> Text -- ^ 'admacAppsId'
-    -> AppsDomainMAppingsCreate
-appsDomainMAppingsCreate pAdmacPayload_ pAdmacAppsId_ =
-  AppsDomainMAppingsCreate'
-    { _admacXgafv = Nothing
-    , _admacUploadProtocol = Nothing
-    , _admacAccessToken = Nothing
-    , _admacUploadType = Nothing
-    , _admacPayload = pAdmacPayload_
-    , _admacOverrideStrategy = Nothing
-    , _admacAppsId = pAdmacAppsId_
-    , _admacCallback = Nothing
-    }
-
-
--- | V1 error format.
-admacXgafv :: Lens' AppsDomainMAppingsCreate (Maybe Xgafv)
-admacXgafv
-  = lens _admacXgafv (\ s a -> s{_admacXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-admacUploadProtocol :: Lens' AppsDomainMAppingsCreate (Maybe Text)
-admacUploadProtocol
-  = lens _admacUploadProtocol
-      (\ s a -> s{_admacUploadProtocol = a})
-
--- | OAuth access token.
-admacAccessToken :: Lens' AppsDomainMAppingsCreate (Maybe Text)
-admacAccessToken
-  = lens _admacAccessToken
-      (\ s a -> s{_admacAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-admacUploadType :: Lens' AppsDomainMAppingsCreate (Maybe Text)
-admacUploadType
-  = lens _admacUploadType
-      (\ s a -> s{_admacUploadType = a})
-
--- | Multipart request metadata.
-admacPayload :: Lens' AppsDomainMAppingsCreate DomainMApping
-admacPayload
-  = lens _admacPayload (\ s a -> s{_admacPayload = a})
-
--- | Whether the domain creation should override any existing mappings for
--- this domain. By default, overrides are rejected.
-admacOverrideStrategy :: Lens' AppsDomainMAppingsCreate (Maybe Text)
-admacOverrideStrategy
-  = lens _admacOverrideStrategy
-      (\ s a -> s{_admacOverrideStrategy = a})
-
--- | Part of \`parent\`. Name of the parent Application resource. Example:
--- apps\/myapp.
-admacAppsId :: Lens' AppsDomainMAppingsCreate Text
-admacAppsId
-  = lens _admacAppsId (\ s a -> s{_admacAppsId = a})
-
--- | JSONP
-admacCallback :: Lens' AppsDomainMAppingsCreate (Maybe Text)
-admacCallback
-  = lens _admacCallback
-      (\ s a -> s{_admacCallback = a})
-
-instance GoogleRequest AppsDomainMAppingsCreate where
-        type Rs AppsDomainMAppingsCreate = Operation
-        type Scopes AppsDomainMAppingsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsDomainMAppingsCreate'{..}
-          = go _admacAppsId _admacXgafv _admacUploadProtocol
-              _admacAccessToken
-              _admacUploadType
-              _admacOverrideStrategy
-              _admacCallback
-              (Just AltJSON)
-              _admacPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsDomainMAppingsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Delete.hs b/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Delete.hs
+++ /dev/null
@@ -1,172 +0,0 @@
-{-# 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.AppEngine.Apps.DomainMAppings.Delete
--- 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)
---
--- Deletes the specified domain mapping. A user must be authorized to
--- administer the associated domain in order to delete a DomainMapping
--- resource.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.delete@.
-module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Delete
-    (
-    -- * REST Resource
-      AppsDomainMAppingsDeleteResource
-
-    -- * Creating a Request
-    , appsDomainMAppingsDelete
-    , AppsDomainMAppingsDelete
-
-    -- * Request Lenses
-    , admadXgafv
-    , admadUploadProtocol
-    , admadAccessToken
-    , admadUploadType
-    , admadAppsId
-    , admadDomainMAppingsId
-    , admadCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.domainMappings.delete@ method which the
--- 'AppsDomainMAppingsDelete' request conforms to.
-type AppsDomainMAppingsDeleteResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "domainMappings" :>
-             Capture "domainMappingsId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Delete '[JSON] Operation
-
--- | Deletes the specified domain mapping. A user must be authorized to
--- administer the associated domain in order to delete a DomainMapping
--- resource.
---
--- /See:/ 'appsDomainMAppingsDelete' smart constructor.
-data AppsDomainMAppingsDelete =
-  AppsDomainMAppingsDelete'
-    { _admadXgafv            :: !(Maybe Xgafv)
-    , _admadUploadProtocol   :: !(Maybe Text)
-    , _admadAccessToken      :: !(Maybe Text)
-    , _admadUploadType       :: !(Maybe Text)
-    , _admadAppsId           :: !Text
-    , _admadDomainMAppingsId :: !Text
-    , _admadCallback         :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsDomainMAppingsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'admadXgafv'
---
--- * 'admadUploadProtocol'
---
--- * 'admadAccessToken'
---
--- * 'admadUploadType'
---
--- * 'admadAppsId'
---
--- * 'admadDomainMAppingsId'
---
--- * 'admadCallback'
-appsDomainMAppingsDelete
-    :: Text -- ^ 'admadAppsId'
-    -> Text -- ^ 'admadDomainMAppingsId'
-    -> AppsDomainMAppingsDelete
-appsDomainMAppingsDelete pAdmadAppsId_ pAdmadDomainMAppingsId_ =
-  AppsDomainMAppingsDelete'
-    { _admadXgafv = Nothing
-    , _admadUploadProtocol = Nothing
-    , _admadAccessToken = Nothing
-    , _admadUploadType = Nothing
-    , _admadAppsId = pAdmadAppsId_
-    , _admadDomainMAppingsId = pAdmadDomainMAppingsId_
-    , _admadCallback = Nothing
-    }
-
-
--- | V1 error format.
-admadXgafv :: Lens' AppsDomainMAppingsDelete (Maybe Xgafv)
-admadXgafv
-  = lens _admadXgafv (\ s a -> s{_admadXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-admadUploadProtocol :: Lens' AppsDomainMAppingsDelete (Maybe Text)
-admadUploadProtocol
-  = lens _admadUploadProtocol
-      (\ s a -> s{_admadUploadProtocol = a})
-
--- | OAuth access token.
-admadAccessToken :: Lens' AppsDomainMAppingsDelete (Maybe Text)
-admadAccessToken
-  = lens _admadAccessToken
-      (\ s a -> s{_admadAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-admadUploadType :: Lens' AppsDomainMAppingsDelete (Maybe Text)
-admadUploadType
-  = lens _admadUploadType
-      (\ s a -> s{_admadUploadType = a})
-
--- | Part of \`name\`. Name of the resource to delete. Example:
--- apps\/myapp\/domainMappings\/example.com.
-admadAppsId :: Lens' AppsDomainMAppingsDelete Text
-admadAppsId
-  = lens _admadAppsId (\ s a -> s{_admadAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-admadDomainMAppingsId :: Lens' AppsDomainMAppingsDelete Text
-admadDomainMAppingsId
-  = lens _admadDomainMAppingsId
-      (\ s a -> s{_admadDomainMAppingsId = a})
-
--- | JSONP
-admadCallback :: Lens' AppsDomainMAppingsDelete (Maybe Text)
-admadCallback
-  = lens _admadCallback
-      (\ s a -> s{_admadCallback = a})
-
-instance GoogleRequest AppsDomainMAppingsDelete where
-        type Rs AppsDomainMAppingsDelete = Operation
-        type Scopes AppsDomainMAppingsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsDomainMAppingsDelete'{..}
-          = go _admadAppsId _admadDomainMAppingsId _admadXgafv
-              _admadUploadProtocol
-              _admadAccessToken
-              _admadUploadType
-              _admadCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsDomainMAppingsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Get.hs
+++ /dev/null
@@ -1,170 +0,0 @@
-{-# 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.AppEngine.Apps.DomainMAppings.Get
--- 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 specified domain mapping.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.get@.
-module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Get
-    (
-    -- * REST Resource
-      AppsDomainMAppingsGetResource
-
-    -- * Creating a Request
-    , appsDomainMAppingsGet
-    , AppsDomainMAppingsGet
-
-    -- * Request Lenses
-    , admagXgafv
-    , admagUploadProtocol
-    , admagAccessToken
-    , admagUploadType
-    , admagAppsId
-    , admagDomainMAppingsId
-    , admagCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.domainMappings.get@ method which the
--- 'AppsDomainMAppingsGet' request conforms to.
-type AppsDomainMAppingsGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "domainMappings" :>
-             Capture "domainMappingsId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Get '[JSON] DomainMApping
-
--- | Gets the specified domain mapping.
---
--- /See:/ 'appsDomainMAppingsGet' smart constructor.
-data AppsDomainMAppingsGet =
-  AppsDomainMAppingsGet'
-    { _admagXgafv            :: !(Maybe Xgafv)
-    , _admagUploadProtocol   :: !(Maybe Text)
-    , _admagAccessToken      :: !(Maybe Text)
-    , _admagUploadType       :: !(Maybe Text)
-    , _admagAppsId           :: !Text
-    , _admagDomainMAppingsId :: !Text
-    , _admagCallback         :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsDomainMAppingsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'admagXgafv'
---
--- * 'admagUploadProtocol'
---
--- * 'admagAccessToken'
---
--- * 'admagUploadType'
---
--- * 'admagAppsId'
---
--- * 'admagDomainMAppingsId'
---
--- * 'admagCallback'
-appsDomainMAppingsGet
-    :: Text -- ^ 'admagAppsId'
-    -> Text -- ^ 'admagDomainMAppingsId'
-    -> AppsDomainMAppingsGet
-appsDomainMAppingsGet pAdmagAppsId_ pAdmagDomainMAppingsId_ =
-  AppsDomainMAppingsGet'
-    { _admagXgafv = Nothing
-    , _admagUploadProtocol = Nothing
-    , _admagAccessToken = Nothing
-    , _admagUploadType = Nothing
-    , _admagAppsId = pAdmagAppsId_
-    , _admagDomainMAppingsId = pAdmagDomainMAppingsId_
-    , _admagCallback = Nothing
-    }
-
-
--- | V1 error format.
-admagXgafv :: Lens' AppsDomainMAppingsGet (Maybe Xgafv)
-admagXgafv
-  = lens _admagXgafv (\ s a -> s{_admagXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-admagUploadProtocol :: Lens' AppsDomainMAppingsGet (Maybe Text)
-admagUploadProtocol
-  = lens _admagUploadProtocol
-      (\ s a -> s{_admagUploadProtocol = a})
-
--- | OAuth access token.
-admagAccessToken :: Lens' AppsDomainMAppingsGet (Maybe Text)
-admagAccessToken
-  = lens _admagAccessToken
-      (\ s a -> s{_admagAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-admagUploadType :: Lens' AppsDomainMAppingsGet (Maybe Text)
-admagUploadType
-  = lens _admagUploadType
-      (\ s a -> s{_admagUploadType = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/domainMappings\/example.com.
-admagAppsId :: Lens' AppsDomainMAppingsGet Text
-admagAppsId
-  = lens _admagAppsId (\ s a -> s{_admagAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-admagDomainMAppingsId :: Lens' AppsDomainMAppingsGet Text
-admagDomainMAppingsId
-  = lens _admagDomainMAppingsId
-      (\ s a -> s{_admagDomainMAppingsId = a})
-
--- | JSONP
-admagCallback :: Lens' AppsDomainMAppingsGet (Maybe Text)
-admagCallback
-  = lens _admagCallback
-      (\ s a -> s{_admagCallback = a})
-
-instance GoogleRequest AppsDomainMAppingsGet where
-        type Rs AppsDomainMAppingsGet = DomainMApping
-        type Scopes AppsDomainMAppingsGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsDomainMAppingsGet'{..}
-          = go _admagAppsId _admagDomainMAppingsId _admagXgafv
-              _admagUploadProtocol
-              _admagAccessToken
-              _admagUploadType
-              _admagCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsDomainMAppingsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/List.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# 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.AppEngine.Apps.DomainMAppings.List
--- 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)
---
--- Lists the domain mappings on an application.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.list@.
-module Network.Google.Resource.AppEngine.Apps.DomainMAppings.List
-    (
-    -- * REST Resource
-      AppsDomainMAppingsListResource
-
-    -- * Creating a Request
-    , appsDomainMAppingsList
-    , AppsDomainMAppingsList
-
-    -- * Request Lenses
-    , admalXgafv
-    , admalUploadProtocol
-    , admalAccessToken
-    , admalUploadType
-    , admalAppsId
-    , admalPageToken
-    , admalPageSize
-    , admalCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.domainMappings.list@ method which the
--- 'AppsDomainMAppingsList' request conforms to.
-type AppsDomainMAppingsListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "domainMappings" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "pageToken" Text :>
-                       QueryParam "pageSize" (Textual Int32) :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] ListDomainMAppingsResponse
-
--- | Lists the domain mappings on an application.
---
--- /See:/ 'appsDomainMAppingsList' smart constructor.
-data AppsDomainMAppingsList =
-  AppsDomainMAppingsList'
-    { _admalXgafv          :: !(Maybe Xgafv)
-    , _admalUploadProtocol :: !(Maybe Text)
-    , _admalAccessToken    :: !(Maybe Text)
-    , _admalUploadType     :: !(Maybe Text)
-    , _admalAppsId         :: !Text
-    , _admalPageToken      :: !(Maybe Text)
-    , _admalPageSize       :: !(Maybe (Textual Int32))
-    , _admalCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsDomainMAppingsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'admalXgafv'
---
--- * 'admalUploadProtocol'
---
--- * 'admalAccessToken'
---
--- * 'admalUploadType'
---
--- * 'admalAppsId'
---
--- * 'admalPageToken'
---
--- * 'admalPageSize'
---
--- * 'admalCallback'
-appsDomainMAppingsList
-    :: Text -- ^ 'admalAppsId'
-    -> AppsDomainMAppingsList
-appsDomainMAppingsList pAdmalAppsId_ =
-  AppsDomainMAppingsList'
-    { _admalXgafv = Nothing
-    , _admalUploadProtocol = Nothing
-    , _admalAccessToken = Nothing
-    , _admalUploadType = Nothing
-    , _admalAppsId = pAdmalAppsId_
-    , _admalPageToken = Nothing
-    , _admalPageSize = Nothing
-    , _admalCallback = Nothing
-    }
-
-
--- | V1 error format.
-admalXgafv :: Lens' AppsDomainMAppingsList (Maybe Xgafv)
-admalXgafv
-  = lens _admalXgafv (\ s a -> s{_admalXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-admalUploadProtocol :: Lens' AppsDomainMAppingsList (Maybe Text)
-admalUploadProtocol
-  = lens _admalUploadProtocol
-      (\ s a -> s{_admalUploadProtocol = a})
-
--- | OAuth access token.
-admalAccessToken :: Lens' AppsDomainMAppingsList (Maybe Text)
-admalAccessToken
-  = lens _admalAccessToken
-      (\ s a -> s{_admalAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-admalUploadType :: Lens' AppsDomainMAppingsList (Maybe Text)
-admalUploadType
-  = lens _admalUploadType
-      (\ s a -> s{_admalUploadType = a})
-
--- | Part of \`parent\`. Name of the parent Application resource. Example:
--- apps\/myapp.
-admalAppsId :: Lens' AppsDomainMAppingsList Text
-admalAppsId
-  = lens _admalAppsId (\ s a -> s{_admalAppsId = a})
-
--- | Continuation token for fetching the next page of results.
-admalPageToken :: Lens' AppsDomainMAppingsList (Maybe Text)
-admalPageToken
-  = lens _admalPageToken
-      (\ s a -> s{_admalPageToken = a})
-
--- | Maximum results to return per page.
-admalPageSize :: Lens' AppsDomainMAppingsList (Maybe Int32)
-admalPageSize
-  = lens _admalPageSize
-      (\ s a -> s{_admalPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-admalCallback :: Lens' AppsDomainMAppingsList (Maybe Text)
-admalCallback
-  = lens _admalCallback
-      (\ s a -> s{_admalCallback = a})
-
-instance GoogleRequest AppsDomainMAppingsList where
-        type Rs AppsDomainMAppingsList =
-             ListDomainMAppingsResponse
-        type Scopes AppsDomainMAppingsList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsDomainMAppingsList'{..}
-          = go _admalAppsId _admalXgafv _admalUploadProtocol
-              _admalAccessToken
-              _admalUploadType
-              _admalPageToken
-              _admalPageSize
-              _admalCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsDomainMAppingsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Patch.hs b/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Patch.hs
+++ /dev/null
@@ -1,201 +0,0 @@
-{-# 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.AppEngine.Apps.DomainMAppings.Patch
--- 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)
---
--- Updates the specified domain mapping. To map an SSL certificate to a
--- domain mapping, update certificate_id to point to an
--- AuthorizedCertificate resource. A user must be authorized to administer
--- the associated domain in order to update a DomainMapping resource.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.domainMappings.patch@.
-module Network.Google.Resource.AppEngine.Apps.DomainMAppings.Patch
-    (
-    -- * REST Resource
-      AppsDomainMAppingsPatchResource
-
-    -- * Creating a Request
-    , appsDomainMAppingsPatch
-    , AppsDomainMAppingsPatch
-
-    -- * Request Lenses
-    , admapXgafv
-    , admapUploadProtocol
-    , admapUpdateMask
-    , admapAccessToken
-    , admapUploadType
-    , admapPayload
-    , admapAppsId
-    , admapDomainMAppingsId
-    , admapCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.domainMappings.patch@ method which the
--- 'AppsDomainMAppingsPatch' request conforms to.
-type AppsDomainMAppingsPatchResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "domainMappings" :>
-             Capture "domainMappingsId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "updateMask" GFieldMask :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             ReqBody '[JSON] DomainMApping :>
-                               Patch '[JSON] Operation
-
--- | Updates the specified domain mapping. To map an SSL certificate to a
--- domain mapping, update certificate_id to point to an
--- AuthorizedCertificate resource. A user must be authorized to administer
--- the associated domain in order to update a DomainMapping resource.
---
--- /See:/ 'appsDomainMAppingsPatch' smart constructor.
-data AppsDomainMAppingsPatch =
-  AppsDomainMAppingsPatch'
-    { _admapXgafv            :: !(Maybe Xgafv)
-    , _admapUploadProtocol   :: !(Maybe Text)
-    , _admapUpdateMask       :: !(Maybe GFieldMask)
-    , _admapAccessToken      :: !(Maybe Text)
-    , _admapUploadType       :: !(Maybe Text)
-    , _admapPayload          :: !DomainMApping
-    , _admapAppsId           :: !Text
-    , _admapDomainMAppingsId :: !Text
-    , _admapCallback         :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsDomainMAppingsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'admapXgafv'
---
--- * 'admapUploadProtocol'
---
--- * 'admapUpdateMask'
---
--- * 'admapAccessToken'
---
--- * 'admapUploadType'
---
--- * 'admapPayload'
---
--- * 'admapAppsId'
---
--- * 'admapDomainMAppingsId'
---
--- * 'admapCallback'
-appsDomainMAppingsPatch
-    :: DomainMApping -- ^ 'admapPayload'
-    -> Text -- ^ 'admapAppsId'
-    -> Text -- ^ 'admapDomainMAppingsId'
-    -> AppsDomainMAppingsPatch
-appsDomainMAppingsPatch pAdmapPayload_ pAdmapAppsId_ pAdmapDomainMAppingsId_ =
-  AppsDomainMAppingsPatch'
-    { _admapXgafv = Nothing
-    , _admapUploadProtocol = Nothing
-    , _admapUpdateMask = Nothing
-    , _admapAccessToken = Nothing
-    , _admapUploadType = Nothing
-    , _admapPayload = pAdmapPayload_
-    , _admapAppsId = pAdmapAppsId_
-    , _admapDomainMAppingsId = pAdmapDomainMAppingsId_
-    , _admapCallback = Nothing
-    }
-
-
--- | V1 error format.
-admapXgafv :: Lens' AppsDomainMAppingsPatch (Maybe Xgafv)
-admapXgafv
-  = lens _admapXgafv (\ s a -> s{_admapXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-admapUploadProtocol :: Lens' AppsDomainMAppingsPatch (Maybe Text)
-admapUploadProtocol
-  = lens _admapUploadProtocol
-      (\ s a -> s{_admapUploadProtocol = a})
-
--- | Standard field mask for the set of fields to be updated.
-admapUpdateMask :: Lens' AppsDomainMAppingsPatch (Maybe GFieldMask)
-admapUpdateMask
-  = lens _admapUpdateMask
-      (\ s a -> s{_admapUpdateMask = a})
-
--- | OAuth access token.
-admapAccessToken :: Lens' AppsDomainMAppingsPatch (Maybe Text)
-admapAccessToken
-  = lens _admapAccessToken
-      (\ s a -> s{_admapAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-admapUploadType :: Lens' AppsDomainMAppingsPatch (Maybe Text)
-admapUploadType
-  = lens _admapUploadType
-      (\ s a -> s{_admapUploadType = a})
-
--- | Multipart request metadata.
-admapPayload :: Lens' AppsDomainMAppingsPatch DomainMApping
-admapPayload
-  = lens _admapPayload (\ s a -> s{_admapPayload = a})
-
--- | Part of \`name\`. Name of the resource to update. Example:
--- apps\/myapp\/domainMappings\/example.com.
-admapAppsId :: Lens' AppsDomainMAppingsPatch Text
-admapAppsId
-  = lens _admapAppsId (\ s a -> s{_admapAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-admapDomainMAppingsId :: Lens' AppsDomainMAppingsPatch Text
-admapDomainMAppingsId
-  = lens _admapDomainMAppingsId
-      (\ s a -> s{_admapDomainMAppingsId = a})
-
--- | JSONP
-admapCallback :: Lens' AppsDomainMAppingsPatch (Maybe Text)
-admapCallback
-  = lens _admapCallback
-      (\ s a -> s{_admapCallback = a})
-
-instance GoogleRequest AppsDomainMAppingsPatch where
-        type Rs AppsDomainMAppingsPatch = Operation
-        type Scopes AppsDomainMAppingsPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsDomainMAppingsPatch'{..}
-          = go _admapAppsId _admapDomainMAppingsId _admapXgafv
-              _admapUploadProtocol
-              _admapUpdateMask
-              _admapAccessToken
-              _admapUploadType
-              _admapCallback
-              (Just AltJSON)
-              _admapPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsDomainMAppingsPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs b/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs
+++ /dev/null
@@ -1,183 +0,0 @@
-{-# 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.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
--- 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)
---
--- Replaces the entire firewall ruleset in one bulk operation. This
--- overrides and replaces the rules of an existing firewall with the new
--- rules.If the final rule does not match traffic with the \'*\' wildcard
--- IP range, then an \"allow all\" rule is explicitly added to the end of
--- the list.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.batchUpdate@.
-module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
-    (
-    -- * REST Resource
-      AppsFirewallIngressRulesBatchUpdateResource
-
-    -- * Creating a Request
-    , appsFirewallIngressRulesBatchUpdate
-    , AppsFirewallIngressRulesBatchUpdate
-
-    -- * Request Lenses
-    , afirbuXgafv
-    , afirbuUploadProtocol
-    , afirbuAccessToken
-    , afirbuUploadType
-    , afirbuPayload
-    , afirbuAppsId
-    , afirbuCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.firewall.ingressRules.batchUpdate@ method which the
--- 'AppsFirewallIngressRulesBatchUpdate' request conforms to.
-type AppsFirewallIngressRulesBatchUpdateResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "firewall" :>
-             "ingressRules:batchUpdate" :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :>
-                           ReqBody '[JSON] BatchUpdateIngressRulesRequest :>
-                             Post '[JSON] BatchUpdateIngressRulesResponse
-
--- | Replaces the entire firewall ruleset in one bulk operation. This
--- overrides and replaces the rules of an existing firewall with the new
--- rules.If the final rule does not match traffic with the \'*\' wildcard
--- IP range, then an \"allow all\" rule is explicitly added to the end of
--- the list.
---
--- /See:/ 'appsFirewallIngressRulesBatchUpdate' smart constructor.
-data AppsFirewallIngressRulesBatchUpdate =
-  AppsFirewallIngressRulesBatchUpdate'
-    { _afirbuXgafv          :: !(Maybe Xgafv)
-    , _afirbuUploadProtocol :: !(Maybe Text)
-    , _afirbuAccessToken    :: !(Maybe Text)
-    , _afirbuUploadType     :: !(Maybe Text)
-    , _afirbuPayload        :: !BatchUpdateIngressRulesRequest
-    , _afirbuAppsId         :: !Text
-    , _afirbuCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsFirewallIngressRulesBatchUpdate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'afirbuXgafv'
---
--- * 'afirbuUploadProtocol'
---
--- * 'afirbuAccessToken'
---
--- * 'afirbuUploadType'
---
--- * 'afirbuPayload'
---
--- * 'afirbuAppsId'
---
--- * 'afirbuCallback'
-appsFirewallIngressRulesBatchUpdate
-    :: BatchUpdateIngressRulesRequest -- ^ 'afirbuPayload'
-    -> Text -- ^ 'afirbuAppsId'
-    -> AppsFirewallIngressRulesBatchUpdate
-appsFirewallIngressRulesBatchUpdate pAfirbuPayload_ pAfirbuAppsId_ =
-  AppsFirewallIngressRulesBatchUpdate'
-    { _afirbuXgafv = Nothing
-    , _afirbuUploadProtocol = Nothing
-    , _afirbuAccessToken = Nothing
-    , _afirbuUploadType = Nothing
-    , _afirbuPayload = pAfirbuPayload_
-    , _afirbuAppsId = pAfirbuAppsId_
-    , _afirbuCallback = Nothing
-    }
-
-
--- | V1 error format.
-afirbuXgafv :: Lens' AppsFirewallIngressRulesBatchUpdate (Maybe Xgafv)
-afirbuXgafv
-  = lens _afirbuXgafv (\ s a -> s{_afirbuXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-afirbuUploadProtocol :: Lens' AppsFirewallIngressRulesBatchUpdate (Maybe Text)
-afirbuUploadProtocol
-  = lens _afirbuUploadProtocol
-      (\ s a -> s{_afirbuUploadProtocol = a})
-
--- | OAuth access token.
-afirbuAccessToken :: Lens' AppsFirewallIngressRulesBatchUpdate (Maybe Text)
-afirbuAccessToken
-  = lens _afirbuAccessToken
-      (\ s a -> s{_afirbuAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-afirbuUploadType :: Lens' AppsFirewallIngressRulesBatchUpdate (Maybe Text)
-afirbuUploadType
-  = lens _afirbuUploadType
-      (\ s a -> s{_afirbuUploadType = a})
-
--- | Multipart request metadata.
-afirbuPayload :: Lens' AppsFirewallIngressRulesBatchUpdate BatchUpdateIngressRulesRequest
-afirbuPayload
-  = lens _afirbuPayload
-      (\ s a -> s{_afirbuPayload = a})
-
--- | Part of \`name\`. Name of the Firewall collection to set. Example:
--- apps\/myapp\/firewall\/ingressRules.
-afirbuAppsId :: Lens' AppsFirewallIngressRulesBatchUpdate Text
-afirbuAppsId
-  = lens _afirbuAppsId (\ s a -> s{_afirbuAppsId = a})
-
--- | JSONP
-afirbuCallback :: Lens' AppsFirewallIngressRulesBatchUpdate (Maybe Text)
-afirbuCallback
-  = lens _afirbuCallback
-      (\ s a -> s{_afirbuCallback = a})
-
-instance GoogleRequest
-           AppsFirewallIngressRulesBatchUpdate
-         where
-        type Rs AppsFirewallIngressRulesBatchUpdate =
-             BatchUpdateIngressRulesResponse
-        type Scopes AppsFirewallIngressRulesBatchUpdate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient
-          AppsFirewallIngressRulesBatchUpdate'{..}
-          = go _afirbuAppsId _afirbuXgafv _afirbuUploadProtocol
-              _afirbuAccessToken
-              _afirbuUploadType
-              _afirbuCallback
-              (Just AltJSON)
-              _afirbuPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsFirewallIngressRulesBatchUpdateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Create.hs b/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Create.hs
+++ /dev/null
@@ -1,171 +0,0 @@
-{-# 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.AppEngine.Apps.Firewall.IngressRules.Create
--- 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)
---
--- Creates a firewall rule for the application.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.create@.
-module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Create
-    (
-    -- * REST Resource
-      AppsFirewallIngressRulesCreateResource
-
-    -- * Creating a Request
-    , appsFirewallIngressRulesCreate
-    , AppsFirewallIngressRulesCreate
-
-    -- * Request Lenses
-    , afircXgafv
-    , afircUploadProtocol
-    , afircAccessToken
-    , afircUploadType
-    , afircPayload
-    , afircAppsId
-    , afircCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.firewall.ingressRules.create@ method which the
--- 'AppsFirewallIngressRulesCreate' request conforms to.
-type AppsFirewallIngressRulesCreateResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "firewall" :>
-             "ingressRules" :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :>
-                           ReqBody '[JSON] FirewallRule :>
-                             Post '[JSON] FirewallRule
-
--- | Creates a firewall rule for the application.
---
--- /See:/ 'appsFirewallIngressRulesCreate' smart constructor.
-data AppsFirewallIngressRulesCreate =
-  AppsFirewallIngressRulesCreate'
-    { _afircXgafv          :: !(Maybe Xgafv)
-    , _afircUploadProtocol :: !(Maybe Text)
-    , _afircAccessToken    :: !(Maybe Text)
-    , _afircUploadType     :: !(Maybe Text)
-    , _afircPayload        :: !FirewallRule
-    , _afircAppsId         :: !Text
-    , _afircCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsFirewallIngressRulesCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'afircXgafv'
---
--- * 'afircUploadProtocol'
---
--- * 'afircAccessToken'
---
--- * 'afircUploadType'
---
--- * 'afircPayload'
---
--- * 'afircAppsId'
---
--- * 'afircCallback'
-appsFirewallIngressRulesCreate
-    :: FirewallRule -- ^ 'afircPayload'
-    -> Text -- ^ 'afircAppsId'
-    -> AppsFirewallIngressRulesCreate
-appsFirewallIngressRulesCreate pAfircPayload_ pAfircAppsId_ =
-  AppsFirewallIngressRulesCreate'
-    { _afircXgafv = Nothing
-    , _afircUploadProtocol = Nothing
-    , _afircAccessToken = Nothing
-    , _afircUploadType = Nothing
-    , _afircPayload = pAfircPayload_
-    , _afircAppsId = pAfircAppsId_
-    , _afircCallback = Nothing
-    }
-
-
--- | V1 error format.
-afircXgafv :: Lens' AppsFirewallIngressRulesCreate (Maybe Xgafv)
-afircXgafv
-  = lens _afircXgafv (\ s a -> s{_afircXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-afircUploadProtocol :: Lens' AppsFirewallIngressRulesCreate (Maybe Text)
-afircUploadProtocol
-  = lens _afircUploadProtocol
-      (\ s a -> s{_afircUploadProtocol = a})
-
--- | OAuth access token.
-afircAccessToken :: Lens' AppsFirewallIngressRulesCreate (Maybe Text)
-afircAccessToken
-  = lens _afircAccessToken
-      (\ s a -> s{_afircAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-afircUploadType :: Lens' AppsFirewallIngressRulesCreate (Maybe Text)
-afircUploadType
-  = lens _afircUploadType
-      (\ s a -> s{_afircUploadType = a})
-
--- | Multipart request metadata.
-afircPayload :: Lens' AppsFirewallIngressRulesCreate FirewallRule
-afircPayload
-  = lens _afircPayload (\ s a -> s{_afircPayload = a})
-
--- | Part of \`parent\`. Name of the parent Firewall collection in which to
--- create a new rule. Example: apps\/myapp\/firewall\/ingressRules.
-afircAppsId :: Lens' AppsFirewallIngressRulesCreate Text
-afircAppsId
-  = lens _afircAppsId (\ s a -> s{_afircAppsId = a})
-
--- | JSONP
-afircCallback :: Lens' AppsFirewallIngressRulesCreate (Maybe Text)
-afircCallback
-  = lens _afircCallback
-      (\ s a -> s{_afircCallback = a})
-
-instance GoogleRequest AppsFirewallIngressRulesCreate
-         where
-        type Rs AppsFirewallIngressRulesCreate = FirewallRule
-        type Scopes AppsFirewallIngressRulesCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsFirewallIngressRulesCreate'{..}
-          = go _afircAppsId _afircXgafv _afircUploadProtocol
-              _afircAccessToken
-              _afircUploadType
-              _afircCallback
-              (Just AltJSON)
-              _afircPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsFirewallIngressRulesCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Delete.hs b/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Delete.hs
+++ /dev/null
@@ -1,171 +0,0 @@
-{-# 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.AppEngine.Apps.Firewall.IngressRules.Delete
--- 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)
---
--- Deletes the specified firewall rule.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.delete@.
-module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Delete
-    (
-    -- * REST Resource
-      AppsFirewallIngressRulesDeleteResource
-
-    -- * Creating a Request
-    , appsFirewallIngressRulesDelete
-    , AppsFirewallIngressRulesDelete
-
-    -- * Request Lenses
-    , afirdXgafv
-    , afirdUploadProtocol
-    , afirdAccessToken
-    , afirdUploadType
-    , afirdIngressRulesId
-    , afirdAppsId
-    , afirdCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.firewall.ingressRules.delete@ method which the
--- 'AppsFirewallIngressRulesDelete' request conforms to.
-type AppsFirewallIngressRulesDeleteResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "firewall" :>
-             "ingressRules" :>
-               Capture "ingressRulesId" Text :>
-                 QueryParam "$.xgafv" Xgafv :>
-                   QueryParam "upload_protocol" Text :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :> Delete '[JSON] Empty
-
--- | Deletes the specified firewall rule.
---
--- /See:/ 'appsFirewallIngressRulesDelete' smart constructor.
-data AppsFirewallIngressRulesDelete =
-  AppsFirewallIngressRulesDelete'
-    { _afirdXgafv          :: !(Maybe Xgafv)
-    , _afirdUploadProtocol :: !(Maybe Text)
-    , _afirdAccessToken    :: !(Maybe Text)
-    , _afirdUploadType     :: !(Maybe Text)
-    , _afirdIngressRulesId :: !Text
-    , _afirdAppsId         :: !Text
-    , _afirdCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsFirewallIngressRulesDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'afirdXgafv'
---
--- * 'afirdUploadProtocol'
---
--- * 'afirdAccessToken'
---
--- * 'afirdUploadType'
---
--- * 'afirdIngressRulesId'
---
--- * 'afirdAppsId'
---
--- * 'afirdCallback'
-appsFirewallIngressRulesDelete
-    :: Text -- ^ 'afirdIngressRulesId'
-    -> Text -- ^ 'afirdAppsId'
-    -> AppsFirewallIngressRulesDelete
-appsFirewallIngressRulesDelete pAfirdIngressRulesId_ pAfirdAppsId_ =
-  AppsFirewallIngressRulesDelete'
-    { _afirdXgafv = Nothing
-    , _afirdUploadProtocol = Nothing
-    , _afirdAccessToken = Nothing
-    , _afirdUploadType = Nothing
-    , _afirdIngressRulesId = pAfirdIngressRulesId_
-    , _afirdAppsId = pAfirdAppsId_
-    , _afirdCallback = Nothing
-    }
-
-
--- | V1 error format.
-afirdXgafv :: Lens' AppsFirewallIngressRulesDelete (Maybe Xgafv)
-afirdXgafv
-  = lens _afirdXgafv (\ s a -> s{_afirdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-afirdUploadProtocol :: Lens' AppsFirewallIngressRulesDelete (Maybe Text)
-afirdUploadProtocol
-  = lens _afirdUploadProtocol
-      (\ s a -> s{_afirdUploadProtocol = a})
-
--- | OAuth access token.
-afirdAccessToken :: Lens' AppsFirewallIngressRulesDelete (Maybe Text)
-afirdAccessToken
-  = lens _afirdAccessToken
-      (\ s a -> s{_afirdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-afirdUploadType :: Lens' AppsFirewallIngressRulesDelete (Maybe Text)
-afirdUploadType
-  = lens _afirdUploadType
-      (\ s a -> s{_afirdUploadType = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-afirdIngressRulesId :: Lens' AppsFirewallIngressRulesDelete Text
-afirdIngressRulesId
-  = lens _afirdIngressRulesId
-      (\ s a -> s{_afirdIngressRulesId = a})
-
--- | Part of \`name\`. Name of the Firewall resource to delete. Example:
--- apps\/myapp\/firewall\/ingressRules\/100.
-afirdAppsId :: Lens' AppsFirewallIngressRulesDelete Text
-afirdAppsId
-  = lens _afirdAppsId (\ s a -> s{_afirdAppsId = a})
-
--- | JSONP
-afirdCallback :: Lens' AppsFirewallIngressRulesDelete (Maybe Text)
-afirdCallback
-  = lens _afirdCallback
-      (\ s a -> s{_afirdCallback = a})
-
-instance GoogleRequest AppsFirewallIngressRulesDelete
-         where
-        type Rs AppsFirewallIngressRulesDelete = Empty
-        type Scopes AppsFirewallIngressRulesDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsFirewallIngressRulesDelete'{..}
-          = go _afirdAppsId _afirdIngressRulesId _afirdXgafv
-              _afirdUploadProtocol
-              _afirdAccessToken
-              _afirdUploadType
-              _afirdCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsFirewallIngressRulesDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Get.hs
+++ /dev/null
@@ -1,172 +0,0 @@
-{-# 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.AppEngine.Apps.Firewall.IngressRules.Get
--- 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 specified firewall rule.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.get@.
-module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Get
-    (
-    -- * REST Resource
-      AppsFirewallIngressRulesGetResource
-
-    -- * Creating a Request
-    , appsFirewallIngressRulesGet
-    , AppsFirewallIngressRulesGet
-
-    -- * Request Lenses
-    , afirgXgafv
-    , afirgUploadProtocol
-    , afirgAccessToken
-    , afirgUploadType
-    , afirgIngressRulesId
-    , afirgAppsId
-    , afirgCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.firewall.ingressRules.get@ method which the
--- 'AppsFirewallIngressRulesGet' request conforms to.
-type AppsFirewallIngressRulesGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "firewall" :>
-             "ingressRules" :>
-               Capture "ingressRulesId" Text :>
-                 QueryParam "$.xgafv" Xgafv :>
-                   QueryParam "upload_protocol" Text :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :> Get '[JSON] FirewallRule
-
--- | Gets the specified firewall rule.
---
--- /See:/ 'appsFirewallIngressRulesGet' smart constructor.
-data AppsFirewallIngressRulesGet =
-  AppsFirewallIngressRulesGet'
-    { _afirgXgafv          :: !(Maybe Xgafv)
-    , _afirgUploadProtocol :: !(Maybe Text)
-    , _afirgAccessToken    :: !(Maybe Text)
-    , _afirgUploadType     :: !(Maybe Text)
-    , _afirgIngressRulesId :: !Text
-    , _afirgAppsId         :: !Text
-    , _afirgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsFirewallIngressRulesGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'afirgXgafv'
---
--- * 'afirgUploadProtocol'
---
--- * 'afirgAccessToken'
---
--- * 'afirgUploadType'
---
--- * 'afirgIngressRulesId'
---
--- * 'afirgAppsId'
---
--- * 'afirgCallback'
-appsFirewallIngressRulesGet
-    :: Text -- ^ 'afirgIngressRulesId'
-    -> Text -- ^ 'afirgAppsId'
-    -> AppsFirewallIngressRulesGet
-appsFirewallIngressRulesGet pAfirgIngressRulesId_ pAfirgAppsId_ =
-  AppsFirewallIngressRulesGet'
-    { _afirgXgafv = Nothing
-    , _afirgUploadProtocol = Nothing
-    , _afirgAccessToken = Nothing
-    , _afirgUploadType = Nothing
-    , _afirgIngressRulesId = pAfirgIngressRulesId_
-    , _afirgAppsId = pAfirgAppsId_
-    , _afirgCallback = Nothing
-    }
-
-
--- | V1 error format.
-afirgXgafv :: Lens' AppsFirewallIngressRulesGet (Maybe Xgafv)
-afirgXgafv
-  = lens _afirgXgafv (\ s a -> s{_afirgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-afirgUploadProtocol :: Lens' AppsFirewallIngressRulesGet (Maybe Text)
-afirgUploadProtocol
-  = lens _afirgUploadProtocol
-      (\ s a -> s{_afirgUploadProtocol = a})
-
--- | OAuth access token.
-afirgAccessToken :: Lens' AppsFirewallIngressRulesGet (Maybe Text)
-afirgAccessToken
-  = lens _afirgAccessToken
-      (\ s a -> s{_afirgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-afirgUploadType :: Lens' AppsFirewallIngressRulesGet (Maybe Text)
-afirgUploadType
-  = lens _afirgUploadType
-      (\ s a -> s{_afirgUploadType = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-afirgIngressRulesId :: Lens' AppsFirewallIngressRulesGet Text
-afirgIngressRulesId
-  = lens _afirgIngressRulesId
-      (\ s a -> s{_afirgIngressRulesId = a})
-
--- | Part of \`name\`. Name of the Firewall resource to retrieve. Example:
--- apps\/myapp\/firewall\/ingressRules\/100.
-afirgAppsId :: Lens' AppsFirewallIngressRulesGet Text
-afirgAppsId
-  = lens _afirgAppsId (\ s a -> s{_afirgAppsId = a})
-
--- | JSONP
-afirgCallback :: Lens' AppsFirewallIngressRulesGet (Maybe Text)
-afirgCallback
-  = lens _afirgCallback
-      (\ s a -> s{_afirgCallback = a})
-
-instance GoogleRequest AppsFirewallIngressRulesGet
-         where
-        type Rs AppsFirewallIngressRulesGet = FirewallRule
-        type Scopes AppsFirewallIngressRulesGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsFirewallIngressRulesGet'{..}
-          = go _afirgAppsId _afirgIngressRulesId _afirgXgafv
-              _afirgUploadProtocol
-              _afirgAccessToken
-              _afirgUploadType
-              _afirgCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsFirewallIngressRulesGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/List.hs
+++ /dev/null
@@ -1,202 +0,0 @@
-{-# 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.AppEngine.Apps.Firewall.IngressRules.List
--- 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)
---
--- Lists the firewall rules of an application.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.list@.
-module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.List
-    (
-    -- * REST Resource
-      AppsFirewallIngressRulesListResource
-
-    -- * Creating a Request
-    , appsFirewallIngressRulesList
-    , AppsFirewallIngressRulesList
-
-    -- * Request Lenses
-    , afirlXgafv
-    , afirlUploadProtocol
-    , afirlMatchingAddress
-    , afirlAccessToken
-    , afirlUploadType
-    , afirlAppsId
-    , afirlPageToken
-    , afirlPageSize
-    , afirlCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.firewall.ingressRules.list@ method which the
--- 'AppsFirewallIngressRulesList' request conforms to.
-type AppsFirewallIngressRulesListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "firewall" :>
-             "ingressRules" :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "matchingAddress" Text :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "pageToken" Text :>
-                           QueryParam "pageSize" (Textual Int32) :>
-                             QueryParam "callback" Text :>
-                               QueryParam "alt" AltJSON :>
-                                 Get '[JSON] ListIngressRulesResponse
-
--- | Lists the firewall rules of an application.
---
--- /See:/ 'appsFirewallIngressRulesList' smart constructor.
-data AppsFirewallIngressRulesList =
-  AppsFirewallIngressRulesList'
-    { _afirlXgafv           :: !(Maybe Xgafv)
-    , _afirlUploadProtocol  :: !(Maybe Text)
-    , _afirlMatchingAddress :: !(Maybe Text)
-    , _afirlAccessToken     :: !(Maybe Text)
-    , _afirlUploadType      :: !(Maybe Text)
-    , _afirlAppsId          :: !Text
-    , _afirlPageToken       :: !(Maybe Text)
-    , _afirlPageSize        :: !(Maybe (Textual Int32))
-    , _afirlCallback        :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsFirewallIngressRulesList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'afirlXgafv'
---
--- * 'afirlUploadProtocol'
---
--- * 'afirlMatchingAddress'
---
--- * 'afirlAccessToken'
---
--- * 'afirlUploadType'
---
--- * 'afirlAppsId'
---
--- * 'afirlPageToken'
---
--- * 'afirlPageSize'
---
--- * 'afirlCallback'
-appsFirewallIngressRulesList
-    :: Text -- ^ 'afirlAppsId'
-    -> AppsFirewallIngressRulesList
-appsFirewallIngressRulesList pAfirlAppsId_ =
-  AppsFirewallIngressRulesList'
-    { _afirlXgafv = Nothing
-    , _afirlUploadProtocol = Nothing
-    , _afirlMatchingAddress = Nothing
-    , _afirlAccessToken = Nothing
-    , _afirlUploadType = Nothing
-    , _afirlAppsId = pAfirlAppsId_
-    , _afirlPageToken = Nothing
-    , _afirlPageSize = Nothing
-    , _afirlCallback = Nothing
-    }
-
-
--- | V1 error format.
-afirlXgafv :: Lens' AppsFirewallIngressRulesList (Maybe Xgafv)
-afirlXgafv
-  = lens _afirlXgafv (\ s a -> s{_afirlXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-afirlUploadProtocol :: Lens' AppsFirewallIngressRulesList (Maybe Text)
-afirlUploadProtocol
-  = lens _afirlUploadProtocol
-      (\ s a -> s{_afirlUploadProtocol = a})
-
--- | A valid IP Address. If set, only rules matching this address will be
--- returned. The first returned rule will be the rule that fires on
--- requests from this IP.
-afirlMatchingAddress :: Lens' AppsFirewallIngressRulesList (Maybe Text)
-afirlMatchingAddress
-  = lens _afirlMatchingAddress
-      (\ s a -> s{_afirlMatchingAddress = a})
-
--- | OAuth access token.
-afirlAccessToken :: Lens' AppsFirewallIngressRulesList (Maybe Text)
-afirlAccessToken
-  = lens _afirlAccessToken
-      (\ s a -> s{_afirlAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-afirlUploadType :: Lens' AppsFirewallIngressRulesList (Maybe Text)
-afirlUploadType
-  = lens _afirlUploadType
-      (\ s a -> s{_afirlUploadType = a})
-
--- | Part of \`parent\`. Name of the Firewall collection to retrieve.
--- Example: apps\/myapp\/firewall\/ingressRules.
-afirlAppsId :: Lens' AppsFirewallIngressRulesList Text
-afirlAppsId
-  = lens _afirlAppsId (\ s a -> s{_afirlAppsId = a})
-
--- | Continuation token for fetching the next page of results.
-afirlPageToken :: Lens' AppsFirewallIngressRulesList (Maybe Text)
-afirlPageToken
-  = lens _afirlPageToken
-      (\ s a -> s{_afirlPageToken = a})
-
--- | Maximum results to return per page.
-afirlPageSize :: Lens' AppsFirewallIngressRulesList (Maybe Int32)
-afirlPageSize
-  = lens _afirlPageSize
-      (\ s a -> s{_afirlPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-afirlCallback :: Lens' AppsFirewallIngressRulesList (Maybe Text)
-afirlCallback
-  = lens _afirlCallback
-      (\ s a -> s{_afirlCallback = a})
-
-instance GoogleRequest AppsFirewallIngressRulesList
-         where
-        type Rs AppsFirewallIngressRulesList =
-             ListIngressRulesResponse
-        type Scopes AppsFirewallIngressRulesList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsFirewallIngressRulesList'{..}
-          = go _afirlAppsId _afirlXgafv _afirlUploadProtocol
-              _afirlMatchingAddress
-              _afirlAccessToken
-              _afirlUploadType
-              _afirlPageToken
-              _afirlPageSize
-              _afirlCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsFirewallIngressRulesListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Patch.hs b/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Patch.hs
+++ /dev/null
@@ -1,198 +0,0 @@
-{-# 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.AppEngine.Apps.Firewall.IngressRules.Patch
--- 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)
---
--- Updates the specified firewall rule.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.firewall.ingressRules.patch@.
-module Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Patch
-    (
-    -- * REST Resource
-      AppsFirewallIngressRulesPatchResource
-
-    -- * Creating a Request
-    , appsFirewallIngressRulesPatch
-    , AppsFirewallIngressRulesPatch
-
-    -- * Request Lenses
-    , afirpXgafv
-    , afirpUploadProtocol
-    , afirpUpdateMask
-    , afirpAccessToken
-    , afirpUploadType
-    , afirpPayload
-    , afirpIngressRulesId
-    , afirpAppsId
-    , afirpCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.firewall.ingressRules.patch@ method which the
--- 'AppsFirewallIngressRulesPatch' request conforms to.
-type AppsFirewallIngressRulesPatchResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "firewall" :>
-             "ingressRules" :>
-               Capture "ingressRulesId" Text :>
-                 QueryParam "$.xgafv" Xgafv :>
-                   QueryParam "upload_protocol" Text :>
-                     QueryParam "updateMask" GFieldMask :>
-                       QueryParam "access_token" Text :>
-                         QueryParam "uploadType" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               ReqBody '[JSON] FirewallRule :>
-                                 Patch '[JSON] FirewallRule
-
--- | Updates the specified firewall rule.
---
--- /See:/ 'appsFirewallIngressRulesPatch' smart constructor.
-data AppsFirewallIngressRulesPatch =
-  AppsFirewallIngressRulesPatch'
-    { _afirpXgafv          :: !(Maybe Xgafv)
-    , _afirpUploadProtocol :: !(Maybe Text)
-    , _afirpUpdateMask     :: !(Maybe GFieldMask)
-    , _afirpAccessToken    :: !(Maybe Text)
-    , _afirpUploadType     :: !(Maybe Text)
-    , _afirpPayload        :: !FirewallRule
-    , _afirpIngressRulesId :: !Text
-    , _afirpAppsId         :: !Text
-    , _afirpCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsFirewallIngressRulesPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'afirpXgafv'
---
--- * 'afirpUploadProtocol'
---
--- * 'afirpUpdateMask'
---
--- * 'afirpAccessToken'
---
--- * 'afirpUploadType'
---
--- * 'afirpPayload'
---
--- * 'afirpIngressRulesId'
---
--- * 'afirpAppsId'
---
--- * 'afirpCallback'
-appsFirewallIngressRulesPatch
-    :: FirewallRule -- ^ 'afirpPayload'
-    -> Text -- ^ 'afirpIngressRulesId'
-    -> Text -- ^ 'afirpAppsId'
-    -> AppsFirewallIngressRulesPatch
-appsFirewallIngressRulesPatch pAfirpPayload_ pAfirpIngressRulesId_ pAfirpAppsId_ =
-  AppsFirewallIngressRulesPatch'
-    { _afirpXgafv = Nothing
-    , _afirpUploadProtocol = Nothing
-    , _afirpUpdateMask = Nothing
-    , _afirpAccessToken = Nothing
-    , _afirpUploadType = Nothing
-    , _afirpPayload = pAfirpPayload_
-    , _afirpIngressRulesId = pAfirpIngressRulesId_
-    , _afirpAppsId = pAfirpAppsId_
-    , _afirpCallback = Nothing
-    }
-
-
--- | V1 error format.
-afirpXgafv :: Lens' AppsFirewallIngressRulesPatch (Maybe Xgafv)
-afirpXgafv
-  = lens _afirpXgafv (\ s a -> s{_afirpXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-afirpUploadProtocol :: Lens' AppsFirewallIngressRulesPatch (Maybe Text)
-afirpUploadProtocol
-  = lens _afirpUploadProtocol
-      (\ s a -> s{_afirpUploadProtocol = a})
-
--- | Standard field mask for the set of fields to be updated.
-afirpUpdateMask :: Lens' AppsFirewallIngressRulesPatch (Maybe GFieldMask)
-afirpUpdateMask
-  = lens _afirpUpdateMask
-      (\ s a -> s{_afirpUpdateMask = a})
-
--- | OAuth access token.
-afirpAccessToken :: Lens' AppsFirewallIngressRulesPatch (Maybe Text)
-afirpAccessToken
-  = lens _afirpAccessToken
-      (\ s a -> s{_afirpAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-afirpUploadType :: Lens' AppsFirewallIngressRulesPatch (Maybe Text)
-afirpUploadType
-  = lens _afirpUploadType
-      (\ s a -> s{_afirpUploadType = a})
-
--- | Multipart request metadata.
-afirpPayload :: Lens' AppsFirewallIngressRulesPatch FirewallRule
-afirpPayload
-  = lens _afirpPayload (\ s a -> s{_afirpPayload = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-afirpIngressRulesId :: Lens' AppsFirewallIngressRulesPatch Text
-afirpIngressRulesId
-  = lens _afirpIngressRulesId
-      (\ s a -> s{_afirpIngressRulesId = a})
-
--- | Part of \`name\`. Name of the Firewall resource to update. Example:
--- apps\/myapp\/firewall\/ingressRules\/100.
-afirpAppsId :: Lens' AppsFirewallIngressRulesPatch Text
-afirpAppsId
-  = lens _afirpAppsId (\ s a -> s{_afirpAppsId = a})
-
--- | JSONP
-afirpCallback :: Lens' AppsFirewallIngressRulesPatch (Maybe Text)
-afirpCallback
-  = lens _afirpCallback
-      (\ s a -> s{_afirpCallback = a})
-
-instance GoogleRequest AppsFirewallIngressRulesPatch
-         where
-        type Rs AppsFirewallIngressRulesPatch = FirewallRule
-        type Scopes AppsFirewallIngressRulesPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsFirewallIngressRulesPatch'{..}
-          = go _afirpAppsId _afirpIngressRulesId _afirpXgafv
-              _afirpUploadProtocol
-              _afirpUpdateMask
-              _afirpAccessToken
-              _afirpUploadType
-              _afirpCallback
-              (Just AltJSON)
-              _afirpPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsFirewallIngressRulesPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Get.hs
+++ /dev/null
@@ -1,149 +0,0 @@
-{-# 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.AppEngine.Apps.Get
--- 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 information about an application.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.get@.
-module Network.Google.Resource.AppEngine.Apps.Get
-    (
-    -- * REST Resource
-      AppsGetResource
-
-    -- * Creating a Request
-    , appsGet
-    , AppsGet
-
-    -- * Request Lenses
-    , agXgafv
-    , agUploadProtocol
-    , agAccessToken
-    , agUploadType
-    , agAppsId
-    , agCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.get@ method which the
--- 'AppsGet' request conforms to.
-type AppsGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :> Get '[JSON] Application
-
--- | Gets information about an application.
---
--- /See:/ 'appsGet' smart constructor.
-data AppsGet =
-  AppsGet'
-    { _agXgafv          :: !(Maybe Xgafv)
-    , _agUploadProtocol :: !(Maybe Text)
-    , _agAccessToken    :: !(Maybe Text)
-    , _agUploadType     :: !(Maybe Text)
-    , _agAppsId         :: !Text
-    , _agCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'agXgafv'
---
--- * 'agUploadProtocol'
---
--- * 'agAccessToken'
---
--- * 'agUploadType'
---
--- * 'agAppsId'
---
--- * 'agCallback'
-appsGet
-    :: Text -- ^ 'agAppsId'
-    -> AppsGet
-appsGet pAgAppsId_ =
-  AppsGet'
-    { _agXgafv = Nothing
-    , _agUploadProtocol = Nothing
-    , _agAccessToken = Nothing
-    , _agUploadType = Nothing
-    , _agAppsId = pAgAppsId_
-    , _agCallback = Nothing
-    }
-
-
--- | V1 error format.
-agXgafv :: Lens' AppsGet (Maybe Xgafv)
-agXgafv = lens _agXgafv (\ s a -> s{_agXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-agUploadProtocol :: Lens' AppsGet (Maybe Text)
-agUploadProtocol
-  = lens _agUploadProtocol
-      (\ s a -> s{_agUploadProtocol = a})
-
--- | OAuth access token.
-agAccessToken :: Lens' AppsGet (Maybe Text)
-agAccessToken
-  = lens _agAccessToken
-      (\ s a -> s{_agAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-agUploadType :: Lens' AppsGet (Maybe Text)
-agUploadType
-  = lens _agUploadType (\ s a -> s{_agUploadType = a})
-
--- | Part of \`name\`. Name of the Application resource to get. Example:
--- apps\/myapp.
-agAppsId :: Lens' AppsGet Text
-agAppsId = lens _agAppsId (\ s a -> s{_agAppsId = a})
-
--- | JSONP
-agCallback :: Lens' AppsGet (Maybe Text)
-agCallback
-  = lens _agCallback (\ s a -> s{_agCallback = a})
-
-instance GoogleRequest AppsGet where
-        type Rs AppsGet = Application
-        type Scopes AppsGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsGet'{..}
-          = go _agAppsId _agXgafv _agUploadProtocol
-              _agAccessToken
-              _agUploadType
-              _agCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient (Proxy :: Proxy AppsGetResource) mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Locations/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Locations/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Locations/Get.hs
+++ /dev/null
@@ -1,167 +0,0 @@
-{-# 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.AppEngine.Apps.Locations.Get
--- 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 information about a location.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.locations.get@.
-module Network.Google.Resource.AppEngine.Apps.Locations.Get
-    (
-    -- * REST Resource
-      AppsLocationsGetResource
-
-    -- * Creating a Request
-    , appsLocationsGet
-    , AppsLocationsGet
-
-    -- * Request Lenses
-    , algXgafv
-    , algUploadProtocol
-    , algAccessToken
-    , algUploadType
-    , algAppsId
-    , algLocationsId
-    , algCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.locations.get@ method which the
--- 'AppsLocationsGet' request conforms to.
-type AppsLocationsGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "locations" :>
-             Capture "locationsId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Get '[JSON] Location
-
--- | Gets information about a location.
---
--- /See:/ 'appsLocationsGet' smart constructor.
-data AppsLocationsGet =
-  AppsLocationsGet'
-    { _algXgafv          :: !(Maybe Xgafv)
-    , _algUploadProtocol :: !(Maybe Text)
-    , _algAccessToken    :: !(Maybe Text)
-    , _algUploadType     :: !(Maybe Text)
-    , _algAppsId         :: !Text
-    , _algLocationsId    :: !Text
-    , _algCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsLocationsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'algXgafv'
---
--- * 'algUploadProtocol'
---
--- * 'algAccessToken'
---
--- * 'algUploadType'
---
--- * 'algAppsId'
---
--- * 'algLocationsId'
---
--- * 'algCallback'
-appsLocationsGet
-    :: Text -- ^ 'algAppsId'
-    -> Text -- ^ 'algLocationsId'
-    -> AppsLocationsGet
-appsLocationsGet pAlgAppsId_ pAlgLocationsId_ =
-  AppsLocationsGet'
-    { _algXgafv = Nothing
-    , _algUploadProtocol = Nothing
-    , _algAccessToken = Nothing
-    , _algUploadType = Nothing
-    , _algAppsId = pAlgAppsId_
-    , _algLocationsId = pAlgLocationsId_
-    , _algCallback = Nothing
-    }
-
-
--- | V1 error format.
-algXgafv :: Lens' AppsLocationsGet (Maybe Xgafv)
-algXgafv = lens _algXgafv (\ s a -> s{_algXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-algUploadProtocol :: Lens' AppsLocationsGet (Maybe Text)
-algUploadProtocol
-  = lens _algUploadProtocol
-      (\ s a -> s{_algUploadProtocol = a})
-
--- | OAuth access token.
-algAccessToken :: Lens' AppsLocationsGet (Maybe Text)
-algAccessToken
-  = lens _algAccessToken
-      (\ s a -> s{_algAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-algUploadType :: Lens' AppsLocationsGet (Maybe Text)
-algUploadType
-  = lens _algUploadType
-      (\ s a -> s{_algUploadType = a})
-
--- | Part of \`name\`. Resource name for the location.
-algAppsId :: Lens' AppsLocationsGet Text
-algAppsId
-  = lens _algAppsId (\ s a -> s{_algAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-algLocationsId :: Lens' AppsLocationsGet Text
-algLocationsId
-  = lens _algLocationsId
-      (\ s a -> s{_algLocationsId = a})
-
--- | JSONP
-algCallback :: Lens' AppsLocationsGet (Maybe Text)
-algCallback
-  = lens _algCallback (\ s a -> s{_algCallback = a})
-
-instance GoogleRequest AppsLocationsGet where
-        type Rs AppsLocationsGet = Location
-        type Scopes AppsLocationsGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsLocationsGet'{..}
-          = go _algAppsId _algLocationsId _algXgafv
-              _algUploadProtocol
-              _algAccessToken
-              _algUploadType
-              _algCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsLocationsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Locations/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/Locations/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Locations/List.hs
+++ /dev/null
@@ -1,192 +0,0 @@
-{-# 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.AppEngine.Apps.Locations.List
--- 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)
---
--- Lists information about the supported locations for this service.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.locations.list@.
-module Network.Google.Resource.AppEngine.Apps.Locations.List
-    (
-    -- * REST Resource
-      AppsLocationsListResource
-
-    -- * Creating a Request
-    , appsLocationsList
-    , AppsLocationsList
-
-    -- * Request Lenses
-    , allXgafv
-    , allUploadProtocol
-    , allAccessToken
-    , allUploadType
-    , allAppsId
-    , allFilter
-    , allPageToken
-    , allPageSize
-    , allCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.locations.list@ method which the
--- 'AppsLocationsList' request conforms to.
-type AppsLocationsListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "locations" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "filter" Text :>
-                       QueryParam "pageToken" Text :>
-                         QueryParam "pageSize" (Textual Int32) :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               Get '[JSON] ListLocationsResponse
-
--- | Lists information about the supported locations for this service.
---
--- /See:/ 'appsLocationsList' smart constructor.
-data AppsLocationsList =
-  AppsLocationsList'
-    { _allXgafv          :: !(Maybe Xgafv)
-    , _allUploadProtocol :: !(Maybe Text)
-    , _allAccessToken    :: !(Maybe Text)
-    , _allUploadType     :: !(Maybe Text)
-    , _allAppsId         :: !Text
-    , _allFilter         :: !(Maybe Text)
-    , _allPageToken      :: !(Maybe Text)
-    , _allPageSize       :: !(Maybe (Textual Int32))
-    , _allCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsLocationsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'allXgafv'
---
--- * 'allUploadProtocol'
---
--- * 'allAccessToken'
---
--- * 'allUploadType'
---
--- * 'allAppsId'
---
--- * 'allFilter'
---
--- * 'allPageToken'
---
--- * 'allPageSize'
---
--- * 'allCallback'
-appsLocationsList
-    :: Text -- ^ 'allAppsId'
-    -> AppsLocationsList
-appsLocationsList pAllAppsId_ =
-  AppsLocationsList'
-    { _allXgafv = Nothing
-    , _allUploadProtocol = Nothing
-    , _allAccessToken = Nothing
-    , _allUploadType = Nothing
-    , _allAppsId = pAllAppsId_
-    , _allFilter = Nothing
-    , _allPageToken = Nothing
-    , _allPageSize = Nothing
-    , _allCallback = Nothing
-    }
-
-
--- | V1 error format.
-allXgafv :: Lens' AppsLocationsList (Maybe Xgafv)
-allXgafv = lens _allXgafv (\ s a -> s{_allXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-allUploadProtocol :: Lens' AppsLocationsList (Maybe Text)
-allUploadProtocol
-  = lens _allUploadProtocol
-      (\ s a -> s{_allUploadProtocol = a})
-
--- | OAuth access token.
-allAccessToken :: Lens' AppsLocationsList (Maybe Text)
-allAccessToken
-  = lens _allAccessToken
-      (\ s a -> s{_allAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-allUploadType :: Lens' AppsLocationsList (Maybe Text)
-allUploadType
-  = lens _allUploadType
-      (\ s a -> s{_allUploadType = a})
-
--- | Part of \`name\`. The resource that owns the locations collection, if
--- applicable.
-allAppsId :: Lens' AppsLocationsList Text
-allAppsId
-  = lens _allAppsId (\ s a -> s{_allAppsId = a})
-
--- | The standard list filter.
-allFilter :: Lens' AppsLocationsList (Maybe Text)
-allFilter
-  = lens _allFilter (\ s a -> s{_allFilter = a})
-
--- | The standard list page token.
-allPageToken :: Lens' AppsLocationsList (Maybe Text)
-allPageToken
-  = lens _allPageToken (\ s a -> s{_allPageToken = a})
-
--- | The standard list page size.
-allPageSize :: Lens' AppsLocationsList (Maybe Int32)
-allPageSize
-  = lens _allPageSize (\ s a -> s{_allPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-allCallback :: Lens' AppsLocationsList (Maybe Text)
-allCallback
-  = lens _allCallback (\ s a -> s{_allCallback = a})
-
-instance GoogleRequest AppsLocationsList where
-        type Rs AppsLocationsList = ListLocationsResponse
-        type Scopes AppsLocationsList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsLocationsList'{..}
-          = go _allAppsId _allXgafv _allUploadProtocol
-              _allAccessToken
-              _allUploadType
-              _allFilter
-              _allPageToken
-              _allPageSize
-              _allCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsLocationsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Operations/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Operations/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Operations/Get.hs
+++ /dev/null
@@ -1,171 +0,0 @@
-{-# 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.AppEngine.Apps.Operations.Get
--- 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 latest state of a long-running operation. Clients can use this
--- method to poll the operation result at intervals as recommended by the
--- API service.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.operations.get@.
-module Network.Google.Resource.AppEngine.Apps.Operations.Get
-    (
-    -- * REST Resource
-      AppsOperationsGetResource
-
-    -- * Creating a Request
-    , appsOperationsGet
-    , AppsOperationsGet
-
-    -- * Request Lenses
-    , aogXgafv
-    , aogUploadProtocol
-    , aogAccessToken
-    , aogUploadType
-    , aogAppsId
-    , aogOperationsId
-    , aogCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.operations.get@ method which the
--- 'AppsOperationsGet' request conforms to.
-type AppsOperationsGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "operations" :>
-             Capture "operationsId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Get '[JSON] Operation
-
--- | Gets the latest state of a long-running operation. Clients can use this
--- method to poll the operation result at intervals as recommended by the
--- API service.
---
--- /See:/ 'appsOperationsGet' smart constructor.
-data AppsOperationsGet =
-  AppsOperationsGet'
-    { _aogXgafv          :: !(Maybe Xgafv)
-    , _aogUploadProtocol :: !(Maybe Text)
-    , _aogAccessToken    :: !(Maybe Text)
-    , _aogUploadType     :: !(Maybe Text)
-    , _aogAppsId         :: !Text
-    , _aogOperationsId   :: !Text
-    , _aogCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsOperationsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aogXgafv'
---
--- * 'aogUploadProtocol'
---
--- * 'aogAccessToken'
---
--- * 'aogUploadType'
---
--- * 'aogAppsId'
---
--- * 'aogOperationsId'
---
--- * 'aogCallback'
-appsOperationsGet
-    :: Text -- ^ 'aogAppsId'
-    -> Text -- ^ 'aogOperationsId'
-    -> AppsOperationsGet
-appsOperationsGet pAogAppsId_ pAogOperationsId_ =
-  AppsOperationsGet'
-    { _aogXgafv = Nothing
-    , _aogUploadProtocol = Nothing
-    , _aogAccessToken = Nothing
-    , _aogUploadType = Nothing
-    , _aogAppsId = pAogAppsId_
-    , _aogOperationsId = pAogOperationsId_
-    , _aogCallback = Nothing
-    }
-
-
--- | V1 error format.
-aogXgafv :: Lens' AppsOperationsGet (Maybe Xgafv)
-aogXgafv = lens _aogXgafv (\ s a -> s{_aogXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aogUploadProtocol :: Lens' AppsOperationsGet (Maybe Text)
-aogUploadProtocol
-  = lens _aogUploadProtocol
-      (\ s a -> s{_aogUploadProtocol = a})
-
--- | OAuth access token.
-aogAccessToken :: Lens' AppsOperationsGet (Maybe Text)
-aogAccessToken
-  = lens _aogAccessToken
-      (\ s a -> s{_aogAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aogUploadType :: Lens' AppsOperationsGet (Maybe Text)
-aogUploadType
-  = lens _aogUploadType
-      (\ s a -> s{_aogUploadType = a})
-
--- | Part of \`name\`. The name of the operation resource.
-aogAppsId :: Lens' AppsOperationsGet Text
-aogAppsId
-  = lens _aogAppsId (\ s a -> s{_aogAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aogOperationsId :: Lens' AppsOperationsGet Text
-aogOperationsId
-  = lens _aogOperationsId
-      (\ s a -> s{_aogOperationsId = a})
-
--- | JSONP
-aogCallback :: Lens' AppsOperationsGet (Maybe Text)
-aogCallback
-  = lens _aogCallback (\ s a -> s{_aogCallback = a})
-
-instance GoogleRequest AppsOperationsGet where
-        type Rs AppsOperationsGet = Operation
-        type Scopes AppsOperationsGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsOperationsGet'{..}
-          = go _aogAppsId _aogOperationsId _aogXgafv
-              _aogUploadProtocol
-              _aogAccessToken
-              _aogUploadType
-              _aogCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsOperationsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Operations/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/Operations/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Operations/List.hs
+++ /dev/null
@@ -1,207 +0,0 @@
-{-# 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.AppEngine.Apps.Operations.List
--- 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)
---
--- Lists operations that match the specified filter in the request. If the
--- server doesn\'t support this method, it returns UNIMPLEMENTED.NOTE: the
--- name binding allows API services to override the binding to use
--- different resource name schemes, such as users\/*\/operations. To
--- override the binding, API services can add a binding such as
--- \"\/v1\/{name=users\/*}\/operations\" to their service configuration.
--- For backwards compatibility, the default name includes the operations
--- collection id, however overriding users must ensure the name binding is
--- the parent resource, without the operations collection id.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.operations.list@.
-module Network.Google.Resource.AppEngine.Apps.Operations.List
-    (
-    -- * REST Resource
-      AppsOperationsListResource
-
-    -- * Creating a Request
-    , appsOperationsList
-    , AppsOperationsList
-
-    -- * Request Lenses
-    , aolXgafv
-    , aolUploadProtocol
-    , aolAccessToken
-    , aolUploadType
-    , aolAppsId
-    , aolFilter
-    , aolPageToken
-    , aolPageSize
-    , aolCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.operations.list@ method which the
--- 'AppsOperationsList' request conforms to.
-type AppsOperationsListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "operations" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "filter" Text :>
-                       QueryParam "pageToken" Text :>
-                         QueryParam "pageSize" (Textual Int32) :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               Get '[JSON] ListOperationsResponse
-
--- | Lists operations that match the specified filter in the request. If the
--- server doesn\'t support this method, it returns UNIMPLEMENTED.NOTE: the
--- name binding allows API services to override the binding to use
--- different resource name schemes, such as users\/*\/operations. To
--- override the binding, API services can add a binding such as
--- \"\/v1\/{name=users\/*}\/operations\" to their service configuration.
--- For backwards compatibility, the default name includes the operations
--- collection id, however overriding users must ensure the name binding is
--- the parent resource, without the operations collection id.
---
--- /See:/ 'appsOperationsList' smart constructor.
-data AppsOperationsList =
-  AppsOperationsList'
-    { _aolXgafv          :: !(Maybe Xgafv)
-    , _aolUploadProtocol :: !(Maybe Text)
-    , _aolAccessToken    :: !(Maybe Text)
-    , _aolUploadType     :: !(Maybe Text)
-    , _aolAppsId         :: !Text
-    , _aolFilter         :: !(Maybe Text)
-    , _aolPageToken      :: !(Maybe Text)
-    , _aolPageSize       :: !(Maybe (Textual Int32))
-    , _aolCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsOperationsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aolXgafv'
---
--- * 'aolUploadProtocol'
---
--- * 'aolAccessToken'
---
--- * 'aolUploadType'
---
--- * 'aolAppsId'
---
--- * 'aolFilter'
---
--- * 'aolPageToken'
---
--- * 'aolPageSize'
---
--- * 'aolCallback'
-appsOperationsList
-    :: Text -- ^ 'aolAppsId'
-    -> AppsOperationsList
-appsOperationsList pAolAppsId_ =
-  AppsOperationsList'
-    { _aolXgafv = Nothing
-    , _aolUploadProtocol = Nothing
-    , _aolAccessToken = Nothing
-    , _aolUploadType = Nothing
-    , _aolAppsId = pAolAppsId_
-    , _aolFilter = Nothing
-    , _aolPageToken = Nothing
-    , _aolPageSize = Nothing
-    , _aolCallback = Nothing
-    }
-
-
--- | V1 error format.
-aolXgafv :: Lens' AppsOperationsList (Maybe Xgafv)
-aolXgafv = lens _aolXgafv (\ s a -> s{_aolXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aolUploadProtocol :: Lens' AppsOperationsList (Maybe Text)
-aolUploadProtocol
-  = lens _aolUploadProtocol
-      (\ s a -> s{_aolUploadProtocol = a})
-
--- | OAuth access token.
-aolAccessToken :: Lens' AppsOperationsList (Maybe Text)
-aolAccessToken
-  = lens _aolAccessToken
-      (\ s a -> s{_aolAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aolUploadType :: Lens' AppsOperationsList (Maybe Text)
-aolUploadType
-  = lens _aolUploadType
-      (\ s a -> s{_aolUploadType = a})
-
--- | Part of \`name\`. The name of the operation\'s parent resource.
-aolAppsId :: Lens' AppsOperationsList Text
-aolAppsId
-  = lens _aolAppsId (\ s a -> s{_aolAppsId = a})
-
--- | The standard list filter.
-aolFilter :: Lens' AppsOperationsList (Maybe Text)
-aolFilter
-  = lens _aolFilter (\ s a -> s{_aolFilter = a})
-
--- | The standard list page token.
-aolPageToken :: Lens' AppsOperationsList (Maybe Text)
-aolPageToken
-  = lens _aolPageToken (\ s a -> s{_aolPageToken = a})
-
--- | The standard list page size.
-aolPageSize :: Lens' AppsOperationsList (Maybe Int32)
-aolPageSize
-  = lens _aolPageSize (\ s a -> s{_aolPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-aolCallback :: Lens' AppsOperationsList (Maybe Text)
-aolCallback
-  = lens _aolCallback (\ s a -> s{_aolCallback = a})
-
-instance GoogleRequest AppsOperationsList where
-        type Rs AppsOperationsList = ListOperationsResponse
-        type Scopes AppsOperationsList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsOperationsList'{..}
-          = go _aolAppsId _aolXgafv _aolUploadProtocol
-              _aolAccessToken
-              _aolUploadType
-              _aolFilter
-              _aolPageToken
-              _aolPageSize
-              _aolCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsOperationsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Patch.hs b/gen/Network/Google/Resource/AppEngine/Apps/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Patch.hs
+++ /dev/null
@@ -1,180 +0,0 @@
-{-# 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.AppEngine.Apps.Patch
--- 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)
---
--- Updates the specified Application resource. You can update the following
--- fields: auth_domain - Google authentication domain for controlling user
--- access to the application. default_cookie_expiration - Cookie expiration
--- policy for the application.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.patch@.
-module Network.Google.Resource.AppEngine.Apps.Patch
-    (
-    -- * REST Resource
-      AppsPatchResource
-
-    -- * Creating a Request
-    , appsPatch
-    , AppsPatch
-
-    -- * Request Lenses
-    , apXgafv
-    , apUploadProtocol
-    , apUpdateMask
-    , apAccessToken
-    , apUploadType
-    , apPayload
-    , apAppsId
-    , apCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.patch@ method which the
--- 'AppsPatch' request conforms to.
-type AppsPatchResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "updateMask" GFieldMask :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "callback" Text :>
-                       QueryParam "alt" AltJSON :>
-                         ReqBody '[JSON] Application :>
-                           Patch '[JSON] Operation
-
--- | Updates the specified Application resource. You can update the following
--- fields: auth_domain - Google authentication domain for controlling user
--- access to the application. default_cookie_expiration - Cookie expiration
--- policy for the application.
---
--- /See:/ 'appsPatch' smart constructor.
-data AppsPatch =
-  AppsPatch'
-    { _apXgafv          :: !(Maybe Xgafv)
-    , _apUploadProtocol :: !(Maybe Text)
-    , _apUpdateMask     :: !(Maybe GFieldMask)
-    , _apAccessToken    :: !(Maybe Text)
-    , _apUploadType     :: !(Maybe Text)
-    , _apPayload        :: !Application
-    , _apAppsId         :: !Text
-    , _apCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'apXgafv'
---
--- * 'apUploadProtocol'
---
--- * 'apUpdateMask'
---
--- * 'apAccessToken'
---
--- * 'apUploadType'
---
--- * 'apPayload'
---
--- * 'apAppsId'
---
--- * 'apCallback'
-appsPatch
-    :: Application -- ^ 'apPayload'
-    -> Text -- ^ 'apAppsId'
-    -> AppsPatch
-appsPatch pApPayload_ pApAppsId_ =
-  AppsPatch'
-    { _apXgafv = Nothing
-    , _apUploadProtocol = Nothing
-    , _apUpdateMask = Nothing
-    , _apAccessToken = Nothing
-    , _apUploadType = Nothing
-    , _apPayload = pApPayload_
-    , _apAppsId = pApAppsId_
-    , _apCallback = Nothing
-    }
-
-
--- | V1 error format.
-apXgafv :: Lens' AppsPatch (Maybe Xgafv)
-apXgafv = lens _apXgafv (\ s a -> s{_apXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-apUploadProtocol :: Lens' AppsPatch (Maybe Text)
-apUploadProtocol
-  = lens _apUploadProtocol
-      (\ s a -> s{_apUploadProtocol = a})
-
--- | Standard field mask for the set of fields to be updated.
-apUpdateMask :: Lens' AppsPatch (Maybe GFieldMask)
-apUpdateMask
-  = lens _apUpdateMask (\ s a -> s{_apUpdateMask = a})
-
--- | OAuth access token.
-apAccessToken :: Lens' AppsPatch (Maybe Text)
-apAccessToken
-  = lens _apAccessToken
-      (\ s a -> s{_apAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-apUploadType :: Lens' AppsPatch (Maybe Text)
-apUploadType
-  = lens _apUploadType (\ s a -> s{_apUploadType = a})
-
--- | Multipart request metadata.
-apPayload :: Lens' AppsPatch Application
-apPayload
-  = lens _apPayload (\ s a -> s{_apPayload = a})
-
--- | Part of \`name\`. Name of the Application resource to update. Example:
--- apps\/myapp.
-apAppsId :: Lens' AppsPatch Text
-apAppsId = lens _apAppsId (\ s a -> s{_apAppsId = a})
-
--- | JSONP
-apCallback :: Lens' AppsPatch (Maybe Text)
-apCallback
-  = lens _apCallback (\ s a -> s{_apCallback = a})
-
-instance GoogleRequest AppsPatch where
-        type Rs AppsPatch = Operation
-        type Scopes AppsPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsPatch'{..}
-          = go _apAppsId _apXgafv _apUploadProtocol
-              _apUpdateMask
-              _apAccessToken
-              _apUploadType
-              _apCallback
-              (Just AltJSON)
-              _apPayload
-              appEngineService
-          where go
-                  = buildClient (Proxy :: Proxy AppsPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Repair.hs b/gen/Network/Google/Resource/AppEngine/Apps/Repair.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Repair.hs
+++ /dev/null
@@ -1,180 +0,0 @@
-{-# 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.AppEngine.Apps.Repair
--- 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)
---
--- Recreates the required App Engine features for the specified App Engine
--- application, for example a Cloud Storage bucket or App Engine service
--- account. Use this method if you receive an error message about a missing
--- feature, for example, Error retrieving the App Engine service account.
--- If you have deleted your App Engine service account, this will not be
--- able to recreate it. Instead, you should attempt to use the IAM undelete
--- API if possible at
--- https:\/\/cloud.google.com\/iam\/reference\/rest\/v1\/projects.serviceAccounts\/undelete?apix_params=%7B\"name\"%3A\"projects%2F-%2FserviceAccounts%2Funique_id\"%2C\"resource\"%3A%7B%7D%7D
--- . If the deletion was recent, the numeric ID can be found in the Cloud
--- Console Activity Log.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.repair@.
-module Network.Google.Resource.AppEngine.Apps.Repair
-    (
-    -- * REST Resource
-      AppsRepairResource
-
-    -- * Creating a Request
-    , appsRepair
-    , AppsRepair
-
-    -- * Request Lenses
-    , arXgafv
-    , arUploadProtocol
-    , arAccessToken
-    , arUploadType
-    , arPayload
-    , arAppsId
-    , arCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.repair@ method which the
--- 'AppsRepair' request conforms to.
-type AppsRepairResource =
-     "v1" :>
-       "apps" :>
-         CaptureMode "appsId" "repair" Text :>
-           QueryParam "$.xgafv" Xgafv :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "access_token" Text :>
-                 QueryParam "uploadType" Text :>
-                   QueryParam "callback" Text :>
-                     QueryParam "alt" AltJSON :>
-                       ReqBody '[JSON] RepairApplicationRequest :>
-                         Post '[JSON] Operation
-
--- | Recreates the required App Engine features for the specified App Engine
--- application, for example a Cloud Storage bucket or App Engine service
--- account. Use this method if you receive an error message about a missing
--- feature, for example, Error retrieving the App Engine service account.
--- If you have deleted your App Engine service account, this will not be
--- able to recreate it. Instead, you should attempt to use the IAM undelete
--- API if possible at
--- https:\/\/cloud.google.com\/iam\/reference\/rest\/v1\/projects.serviceAccounts\/undelete?apix_params=%7B\"name\"%3A\"projects%2F-%2FserviceAccounts%2Funique_id\"%2C\"resource\"%3A%7B%7D%7D
--- . If the deletion was recent, the numeric ID can be found in the Cloud
--- Console Activity Log.
---
--- /See:/ 'appsRepair' smart constructor.
-data AppsRepair =
-  AppsRepair'
-    { _arXgafv          :: !(Maybe Xgafv)
-    , _arUploadProtocol :: !(Maybe Text)
-    , _arAccessToken    :: !(Maybe Text)
-    , _arUploadType     :: !(Maybe Text)
-    , _arPayload        :: !RepairApplicationRequest
-    , _arAppsId         :: !Text
-    , _arCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsRepair' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'arXgafv'
---
--- * 'arUploadProtocol'
---
--- * 'arAccessToken'
---
--- * 'arUploadType'
---
--- * 'arPayload'
---
--- * 'arAppsId'
---
--- * 'arCallback'
-appsRepair
-    :: RepairApplicationRequest -- ^ 'arPayload'
-    -> Text -- ^ 'arAppsId'
-    -> AppsRepair
-appsRepair pArPayload_ pArAppsId_ =
-  AppsRepair'
-    { _arXgafv = Nothing
-    , _arUploadProtocol = Nothing
-    , _arAccessToken = Nothing
-    , _arUploadType = Nothing
-    , _arPayload = pArPayload_
-    , _arAppsId = pArAppsId_
-    , _arCallback = Nothing
-    }
-
-
--- | V1 error format.
-arXgafv :: Lens' AppsRepair (Maybe Xgafv)
-arXgafv = lens _arXgafv (\ s a -> s{_arXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-arUploadProtocol :: Lens' AppsRepair (Maybe Text)
-arUploadProtocol
-  = lens _arUploadProtocol
-      (\ s a -> s{_arUploadProtocol = a})
-
--- | OAuth access token.
-arAccessToken :: Lens' AppsRepair (Maybe Text)
-arAccessToken
-  = lens _arAccessToken
-      (\ s a -> s{_arAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-arUploadType :: Lens' AppsRepair (Maybe Text)
-arUploadType
-  = lens _arUploadType (\ s a -> s{_arUploadType = a})
-
--- | Multipart request metadata.
-arPayload :: Lens' AppsRepair RepairApplicationRequest
-arPayload
-  = lens _arPayload (\ s a -> s{_arPayload = a})
-
--- | Part of \`name\`. Name of the application to repair. Example:
--- apps\/myapp
-arAppsId :: Lens' AppsRepair Text
-arAppsId = lens _arAppsId (\ s a -> s{_arAppsId = a})
-
--- | JSONP
-arCallback :: Lens' AppsRepair (Maybe Text)
-arCallback
-  = lens _arCallback (\ s a -> s{_arCallback = a})
-
-instance GoogleRequest AppsRepair where
-        type Rs AppsRepair = Operation
-        type Scopes AppsRepair =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsRepair'{..}
-          = go _arAppsId _arXgafv _arUploadProtocol
-              _arAccessToken
-              _arUploadType
-              _arCallback
-              (Just AltJSON)
-              _arPayload
-              appEngineService
-          where go
-                  = buildClient (Proxy :: Proxy AppsRepairResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Delete.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Delete.hs
+++ /dev/null
@@ -1,166 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Delete
--- 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)
---
--- Deletes the specified service and all enclosed versions.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.delete@.
-module Network.Google.Resource.AppEngine.Apps.Services.Delete
-    (
-    -- * REST Resource
-      AppsServicesDeleteResource
-
-    -- * Creating a Request
-    , appsServicesDelete
-    , AppsServicesDelete
-
-    -- * Request Lenses
-    , asdXgafv
-    , asdUploadProtocol
-    , asdAccessToken
-    , asdUploadType
-    , asdAppsId
-    , asdServicesId
-    , asdCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.delete@ method which the
--- 'AppsServicesDelete' request conforms to.
-type AppsServicesDeleteResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Delete '[JSON] Operation
-
--- | Deletes the specified service and all enclosed versions.
---
--- /See:/ 'appsServicesDelete' smart constructor.
-data AppsServicesDelete =
-  AppsServicesDelete'
-    { _asdXgafv          :: !(Maybe Xgafv)
-    , _asdUploadProtocol :: !(Maybe Text)
-    , _asdAccessToken    :: !(Maybe Text)
-    , _asdUploadType     :: !(Maybe Text)
-    , _asdAppsId         :: !Text
-    , _asdServicesId     :: !Text
-    , _asdCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asdXgafv'
---
--- * 'asdUploadProtocol'
---
--- * 'asdAccessToken'
---
--- * 'asdUploadType'
---
--- * 'asdAppsId'
---
--- * 'asdServicesId'
---
--- * 'asdCallback'
-appsServicesDelete
-    :: Text -- ^ 'asdAppsId'
-    -> Text -- ^ 'asdServicesId'
-    -> AppsServicesDelete
-appsServicesDelete pAsdAppsId_ pAsdServicesId_ =
-  AppsServicesDelete'
-    { _asdXgafv = Nothing
-    , _asdUploadProtocol = Nothing
-    , _asdAccessToken = Nothing
-    , _asdUploadType = Nothing
-    , _asdAppsId = pAsdAppsId_
-    , _asdServicesId = pAsdServicesId_
-    , _asdCallback = Nothing
-    }
-
-
--- | V1 error format.
-asdXgafv :: Lens' AppsServicesDelete (Maybe Xgafv)
-asdXgafv = lens _asdXgafv (\ s a -> s{_asdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asdUploadProtocol :: Lens' AppsServicesDelete (Maybe Text)
-asdUploadProtocol
-  = lens _asdUploadProtocol
-      (\ s a -> s{_asdUploadProtocol = a})
-
--- | OAuth access token.
-asdAccessToken :: Lens' AppsServicesDelete (Maybe Text)
-asdAccessToken
-  = lens _asdAccessToken
-      (\ s a -> s{_asdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asdUploadType :: Lens' AppsServicesDelete (Maybe Text)
-asdUploadType
-  = lens _asdUploadType
-      (\ s a -> s{_asdUploadType = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default.
-asdAppsId :: Lens' AppsServicesDelete Text
-asdAppsId
-  = lens _asdAppsId (\ s a -> s{_asdAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asdServicesId :: Lens' AppsServicesDelete Text
-asdServicesId
-  = lens _asdServicesId
-      (\ s a -> s{_asdServicesId = a})
-
--- | JSONP
-asdCallback :: Lens' AppsServicesDelete (Maybe Text)
-asdCallback
-  = lens _asdCallback (\ s a -> s{_asdCallback = a})
-
-instance GoogleRequest AppsServicesDelete where
-        type Rs AppsServicesDelete = Operation
-        type Scopes AppsServicesDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsServicesDelete'{..}
-          = go _asdAppsId _asdServicesId _asdXgafv
-              _asdUploadProtocol
-              _asdAccessToken
-              _asdUploadType
-              _asdCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Get.hs
+++ /dev/null
@@ -1,168 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Get
--- 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 current configuration of the specified service.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.get@.
-module Network.Google.Resource.AppEngine.Apps.Services.Get
-    (
-    -- * REST Resource
-      AppsServicesGetResource
-
-    -- * Creating a Request
-    , appsServicesGet
-    , AppsServicesGet
-
-    -- * Request Lenses
-    , asgXgafv
-    , asgUploadProtocol
-    , asgAccessToken
-    , asgUploadType
-    , asgAppsId
-    , asgServicesId
-    , asgCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.get@ method which the
--- 'AppsServicesGet' request conforms to.
-type AppsServicesGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "access_token" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "callback" Text :>
-                         QueryParam "alt" AltJSON :> Get '[JSON] Service
-
--- | Gets the current configuration of the specified service.
---
--- /See:/ 'appsServicesGet' smart constructor.
-data AppsServicesGet =
-  AppsServicesGet'
-    { _asgXgafv          :: !(Maybe Xgafv)
-    , _asgUploadProtocol :: !(Maybe Text)
-    , _asgAccessToken    :: !(Maybe Text)
-    , _asgUploadType     :: !(Maybe Text)
-    , _asgAppsId         :: !Text
-    , _asgServicesId     :: !Text
-    , _asgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asgXgafv'
---
--- * 'asgUploadProtocol'
---
--- * 'asgAccessToken'
---
--- * 'asgUploadType'
---
--- * 'asgAppsId'
---
--- * 'asgServicesId'
---
--- * 'asgCallback'
-appsServicesGet
-    :: Text -- ^ 'asgAppsId'
-    -> Text -- ^ 'asgServicesId'
-    -> AppsServicesGet
-appsServicesGet pAsgAppsId_ pAsgServicesId_ =
-  AppsServicesGet'
-    { _asgXgafv = Nothing
-    , _asgUploadProtocol = Nothing
-    , _asgAccessToken = Nothing
-    , _asgUploadType = Nothing
-    , _asgAppsId = pAsgAppsId_
-    , _asgServicesId = pAsgServicesId_
-    , _asgCallback = Nothing
-    }
-
-
--- | V1 error format.
-asgXgafv :: Lens' AppsServicesGet (Maybe Xgafv)
-asgXgafv = lens _asgXgafv (\ s a -> s{_asgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asgUploadProtocol :: Lens' AppsServicesGet (Maybe Text)
-asgUploadProtocol
-  = lens _asgUploadProtocol
-      (\ s a -> s{_asgUploadProtocol = a})
-
--- | OAuth access token.
-asgAccessToken :: Lens' AppsServicesGet (Maybe Text)
-asgAccessToken
-  = lens _asgAccessToken
-      (\ s a -> s{_asgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asgUploadType :: Lens' AppsServicesGet (Maybe Text)
-asgUploadType
-  = lens _asgUploadType
-      (\ s a -> s{_asgUploadType = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default.
-asgAppsId :: Lens' AppsServicesGet Text
-asgAppsId
-  = lens _asgAppsId (\ s a -> s{_asgAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asgServicesId :: Lens' AppsServicesGet Text
-asgServicesId
-  = lens _asgServicesId
-      (\ s a -> s{_asgServicesId = a})
-
--- | JSONP
-asgCallback :: Lens' AppsServicesGet (Maybe Text)
-asgCallback
-  = lens _asgCallback (\ s a -> s{_asgCallback = a})
-
-instance GoogleRequest AppsServicesGet where
-        type Rs AppsServicesGet = Service
-        type Scopes AppsServicesGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsServicesGet'{..}
-          = go _asgAppsId _asgServicesId _asgXgafv
-              _asgUploadProtocol
-              _asgAccessToken
-              _asgUploadType
-              _asgCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/List.hs
+++ /dev/null
@@ -1,180 +0,0 @@
-{-# 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.AppEngine.Apps.Services.List
--- 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)
---
--- Lists all the services in the application.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.list@.
-module Network.Google.Resource.AppEngine.Apps.Services.List
-    (
-    -- * REST Resource
-      AppsServicesListResource
-
-    -- * Creating a Request
-    , appsServicesList
-    , AppsServicesList
-
-    -- * Request Lenses
-    , aslXgafv
-    , aslUploadProtocol
-    , aslAccessToken
-    , aslUploadType
-    , aslAppsId
-    , aslPageToken
-    , aslPageSize
-    , aslCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.list@ method which the
--- 'AppsServicesList' request conforms to.
-type AppsServicesListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             QueryParam "$.xgafv" Xgafv :>
-               QueryParam "upload_protocol" Text :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "uploadType" Text :>
-                     QueryParam "pageToken" Text :>
-                       QueryParam "pageSize" (Textual Int32) :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             Get '[JSON] ListServicesResponse
-
--- | Lists all the services in the application.
---
--- /See:/ 'appsServicesList' smart constructor.
-data AppsServicesList =
-  AppsServicesList'
-    { _aslXgafv          :: !(Maybe Xgafv)
-    , _aslUploadProtocol :: !(Maybe Text)
-    , _aslAccessToken    :: !(Maybe Text)
-    , _aslUploadType     :: !(Maybe Text)
-    , _aslAppsId         :: !Text
-    , _aslPageToken      :: !(Maybe Text)
-    , _aslPageSize       :: !(Maybe (Textual Int32))
-    , _aslCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aslXgafv'
---
--- * 'aslUploadProtocol'
---
--- * 'aslAccessToken'
---
--- * 'aslUploadType'
---
--- * 'aslAppsId'
---
--- * 'aslPageToken'
---
--- * 'aslPageSize'
---
--- * 'aslCallback'
-appsServicesList
-    :: Text -- ^ 'aslAppsId'
-    -> AppsServicesList
-appsServicesList pAslAppsId_ =
-  AppsServicesList'
-    { _aslXgafv = Nothing
-    , _aslUploadProtocol = Nothing
-    , _aslAccessToken = Nothing
-    , _aslUploadType = Nothing
-    , _aslAppsId = pAslAppsId_
-    , _aslPageToken = Nothing
-    , _aslPageSize = Nothing
-    , _aslCallback = Nothing
-    }
-
-
--- | V1 error format.
-aslXgafv :: Lens' AppsServicesList (Maybe Xgafv)
-aslXgafv = lens _aslXgafv (\ s a -> s{_aslXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aslUploadProtocol :: Lens' AppsServicesList (Maybe Text)
-aslUploadProtocol
-  = lens _aslUploadProtocol
-      (\ s a -> s{_aslUploadProtocol = a})
-
--- | OAuth access token.
-aslAccessToken :: Lens' AppsServicesList (Maybe Text)
-aslAccessToken
-  = lens _aslAccessToken
-      (\ s a -> s{_aslAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aslUploadType :: Lens' AppsServicesList (Maybe Text)
-aslUploadType
-  = lens _aslUploadType
-      (\ s a -> s{_aslUploadType = a})
-
--- | Part of \`parent\`. Name of the parent Application resource. Example:
--- apps\/myapp.
-aslAppsId :: Lens' AppsServicesList Text
-aslAppsId
-  = lens _aslAppsId (\ s a -> s{_aslAppsId = a})
-
--- | Continuation token for fetching the next page of results.
-aslPageToken :: Lens' AppsServicesList (Maybe Text)
-aslPageToken
-  = lens _aslPageToken (\ s a -> s{_aslPageToken = a})
-
--- | Maximum results to return per page.
-aslPageSize :: Lens' AppsServicesList (Maybe Int32)
-aslPageSize
-  = lens _aslPageSize (\ s a -> s{_aslPageSize = a}) .
-      mapping _Coerce
-
--- | JSONP
-aslCallback :: Lens' AppsServicesList (Maybe Text)
-aslCallback
-  = lens _aslCallback (\ s a -> s{_aslCallback = a})
-
-instance GoogleRequest AppsServicesList where
-        type Rs AppsServicesList = ListServicesResponse
-        type Scopes AppsServicesList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsServicesList'{..}
-          = go _aslAppsId _aslXgafv _aslUploadProtocol
-              _aslAccessToken
-              _aslUploadType
-              _aslPageToken
-              _aslPageSize
-              _aslCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Patch.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Patch.hs
+++ /dev/null
@@ -1,218 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Patch
--- 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)
---
--- Updates the configuration of the specified service.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.patch@.
-module Network.Google.Resource.AppEngine.Apps.Services.Patch
-    (
-    -- * REST Resource
-      AppsServicesPatchResource
-
-    -- * Creating a Request
-    , appsServicesPatch
-    , AppsServicesPatch
-
-    -- * Request Lenses
-    , aspXgafv
-    , aspUploadProtocol
-    , aspUpdateMask
-    , aspAccessToken
-    , aspUploadType
-    , aspPayload
-    , aspMigrateTraffic
-    , aspAppsId
-    , aspServicesId
-    , aspCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.patch@ method which the
--- 'AppsServicesPatch' request conforms to.
-type AppsServicesPatchResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               QueryParam "$.xgafv" Xgafv :>
-                 QueryParam "upload_protocol" Text :>
-                   QueryParam "updateMask" GFieldMask :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "migrateTraffic" Bool :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               ReqBody '[JSON] Service :>
-                                 Patch '[JSON] Operation
-
--- | Updates the configuration of the specified service.
---
--- /See:/ 'appsServicesPatch' smart constructor.
-data AppsServicesPatch =
-  AppsServicesPatch'
-    { _aspXgafv          :: !(Maybe Xgafv)
-    , _aspUploadProtocol :: !(Maybe Text)
-    , _aspUpdateMask     :: !(Maybe GFieldMask)
-    , _aspAccessToken    :: !(Maybe Text)
-    , _aspUploadType     :: !(Maybe Text)
-    , _aspPayload        :: !Service
-    , _aspMigrateTraffic :: !(Maybe Bool)
-    , _aspAppsId         :: !Text
-    , _aspServicesId     :: !Text
-    , _aspCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aspXgafv'
---
--- * 'aspUploadProtocol'
---
--- * 'aspUpdateMask'
---
--- * 'aspAccessToken'
---
--- * 'aspUploadType'
---
--- * 'aspPayload'
---
--- * 'aspMigrateTraffic'
---
--- * 'aspAppsId'
---
--- * 'aspServicesId'
---
--- * 'aspCallback'
-appsServicesPatch
-    :: Service -- ^ 'aspPayload'
-    -> Text -- ^ 'aspAppsId'
-    -> Text -- ^ 'aspServicesId'
-    -> AppsServicesPatch
-appsServicesPatch pAspPayload_ pAspAppsId_ pAspServicesId_ =
-  AppsServicesPatch'
-    { _aspXgafv = Nothing
-    , _aspUploadProtocol = Nothing
-    , _aspUpdateMask = Nothing
-    , _aspAccessToken = Nothing
-    , _aspUploadType = Nothing
-    , _aspPayload = pAspPayload_
-    , _aspMigrateTraffic = Nothing
-    , _aspAppsId = pAspAppsId_
-    , _aspServicesId = pAspServicesId_
-    , _aspCallback = Nothing
-    }
-
-
--- | V1 error format.
-aspXgafv :: Lens' AppsServicesPatch (Maybe Xgafv)
-aspXgafv = lens _aspXgafv (\ s a -> s{_aspXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aspUploadProtocol :: Lens' AppsServicesPatch (Maybe Text)
-aspUploadProtocol
-  = lens _aspUploadProtocol
-      (\ s a -> s{_aspUploadProtocol = a})
-
--- | Standard field mask for the set of fields to be updated.
-aspUpdateMask :: Lens' AppsServicesPatch (Maybe GFieldMask)
-aspUpdateMask
-  = lens _aspUpdateMask
-      (\ s a -> s{_aspUpdateMask = a})
-
--- | OAuth access token.
-aspAccessToken :: Lens' AppsServicesPatch (Maybe Text)
-aspAccessToken
-  = lens _aspAccessToken
-      (\ s a -> s{_aspAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aspUploadType :: Lens' AppsServicesPatch (Maybe Text)
-aspUploadType
-  = lens _aspUploadType
-      (\ s a -> s{_aspUploadType = a})
-
--- | Multipart request metadata.
-aspPayload :: Lens' AppsServicesPatch Service
-aspPayload
-  = lens _aspPayload (\ s a -> s{_aspPayload = a})
-
--- | Set to true to gradually shift traffic to one or more versions that you
--- specify. By default, traffic is shifted immediately. For gradual traffic
--- migration, the target versions must be located within instances that are
--- configured for both warmup requests
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#InboundServiceType)
--- and automatic scaling
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#AutomaticScaling).
--- You must specify the shardBy
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services#ShardBy)
--- field in the Service resource. Gradual traffic migration is not
--- supported in the App Engine flexible environment. For examples, see
--- Migrating and Splitting Traffic
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/migrating-splitting-traffic).
-aspMigrateTraffic :: Lens' AppsServicesPatch (Maybe Bool)
-aspMigrateTraffic
-  = lens _aspMigrateTraffic
-      (\ s a -> s{_aspMigrateTraffic = a})
-
--- | Part of \`name\`. Name of the resource to update. Example:
--- apps\/myapp\/services\/default.
-aspAppsId :: Lens' AppsServicesPatch Text
-aspAppsId
-  = lens _aspAppsId (\ s a -> s{_aspAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aspServicesId :: Lens' AppsServicesPatch Text
-aspServicesId
-  = lens _aspServicesId
-      (\ s a -> s{_aspServicesId = a})
-
--- | JSONP
-aspCallback :: Lens' AppsServicesPatch (Maybe Text)
-aspCallback
-  = lens _aspCallback (\ s a -> s{_aspCallback = a})
-
-instance GoogleRequest AppsServicesPatch where
-        type Rs AppsServicesPatch = Operation
-        type Scopes AppsServicesPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsServicesPatch'{..}
-          = go _aspAppsId _aspServicesId _aspXgafv
-              _aspUploadProtocol
-              _aspUpdateMask
-              _aspAccessToken
-              _aspUploadType
-              _aspMigrateTraffic
-              _aspCallback
-              (Just AltJSON)
-              _aspPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesPatchResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Create.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Create.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Create.hs
+++ /dev/null
@@ -1,182 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Create
--- 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)
---
--- Deploys code and resource files to a new version.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.create@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Create
-    (
-    -- * REST Resource
-      AppsServicesVersionsCreateResource
-
-    -- * Creating a Request
-    , appsServicesVersionsCreate
-    , AppsServicesVersionsCreate
-
-    -- * Request Lenses
-    , asvcXgafv
-    , asvcUploadProtocol
-    , asvcAccessToken
-    , asvcUploadType
-    , asvcPayload
-    , asvcAppsId
-    , asvcServicesId
-    , asvcCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.create@ method which the
--- 'AppsServicesVersionsCreate' request conforms to.
-type AppsServicesVersionsCreateResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 QueryParam "$.xgafv" Xgafv :>
-                   QueryParam "upload_protocol" Text :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "callback" Text :>
-                           QueryParam "alt" AltJSON :>
-                             ReqBody '[JSON] Version :> Post '[JSON] Operation
-
--- | Deploys code and resource files to a new version.
---
--- /See:/ 'appsServicesVersionsCreate' smart constructor.
-data AppsServicesVersionsCreate =
-  AppsServicesVersionsCreate'
-    { _asvcXgafv          :: !(Maybe Xgafv)
-    , _asvcUploadProtocol :: !(Maybe Text)
-    , _asvcAccessToken    :: !(Maybe Text)
-    , _asvcUploadType     :: !(Maybe Text)
-    , _asvcPayload        :: !Version
-    , _asvcAppsId         :: !Text
-    , _asvcServicesId     :: !Text
-    , _asvcCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsCreate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvcXgafv'
---
--- * 'asvcUploadProtocol'
---
--- * 'asvcAccessToken'
---
--- * 'asvcUploadType'
---
--- * 'asvcPayload'
---
--- * 'asvcAppsId'
---
--- * 'asvcServicesId'
---
--- * 'asvcCallback'
-appsServicesVersionsCreate
-    :: Version -- ^ 'asvcPayload'
-    -> Text -- ^ 'asvcAppsId'
-    -> Text -- ^ 'asvcServicesId'
-    -> AppsServicesVersionsCreate
-appsServicesVersionsCreate pAsvcPayload_ pAsvcAppsId_ pAsvcServicesId_ =
-  AppsServicesVersionsCreate'
-    { _asvcXgafv = Nothing
-    , _asvcUploadProtocol = Nothing
-    , _asvcAccessToken = Nothing
-    , _asvcUploadType = Nothing
-    , _asvcPayload = pAsvcPayload_
-    , _asvcAppsId = pAsvcAppsId_
-    , _asvcServicesId = pAsvcServicesId_
-    , _asvcCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvcXgafv :: Lens' AppsServicesVersionsCreate (Maybe Xgafv)
-asvcXgafv
-  = lens _asvcXgafv (\ s a -> s{_asvcXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvcUploadProtocol :: Lens' AppsServicesVersionsCreate (Maybe Text)
-asvcUploadProtocol
-  = lens _asvcUploadProtocol
-      (\ s a -> s{_asvcUploadProtocol = a})
-
--- | OAuth access token.
-asvcAccessToken :: Lens' AppsServicesVersionsCreate (Maybe Text)
-asvcAccessToken
-  = lens _asvcAccessToken
-      (\ s a -> s{_asvcAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvcUploadType :: Lens' AppsServicesVersionsCreate (Maybe Text)
-asvcUploadType
-  = lens _asvcUploadType
-      (\ s a -> s{_asvcUploadType = a})
-
--- | Multipart request metadata.
-asvcPayload :: Lens' AppsServicesVersionsCreate Version
-asvcPayload
-  = lens _asvcPayload (\ s a -> s{_asvcPayload = a})
-
--- | Part of \`parent\`. Name of the parent resource to create this version
--- under. Example: apps\/myapp\/services\/default.
-asvcAppsId :: Lens' AppsServicesVersionsCreate Text
-asvcAppsId
-  = lens _asvcAppsId (\ s a -> s{_asvcAppsId = a})
-
--- | Part of \`parent\`. See documentation of \`appsId\`.
-asvcServicesId :: Lens' AppsServicesVersionsCreate Text
-asvcServicesId
-  = lens _asvcServicesId
-      (\ s a -> s{_asvcServicesId = a})
-
--- | JSONP
-asvcCallback :: Lens' AppsServicesVersionsCreate (Maybe Text)
-asvcCallback
-  = lens _asvcCallback (\ s a -> s{_asvcCallback = a})
-
-instance GoogleRequest AppsServicesVersionsCreate
-         where
-        type Rs AppsServicesVersionsCreate = Operation
-        type Scopes AppsServicesVersionsCreate =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsServicesVersionsCreate'{..}
-          = go _asvcAppsId _asvcServicesId _asvcXgafv
-              _asvcUploadProtocol
-              _asvcAccessToken
-              _asvcUploadType
-              _asvcCallback
-              (Just AltJSON)
-              _asvcPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesVersionsCreateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Delete.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Delete.hs
+++ /dev/null
@@ -1,184 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Delete
--- 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)
---
--- Deletes an existing Version resource.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.delete@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete
-    (
-    -- * REST Resource
-      AppsServicesVersionsDeleteResource
-
-    -- * Creating a Request
-    , appsServicesVersionsDelete
-    , AppsServicesVersionsDelete
-
-    -- * Request Lenses
-    , asvdXgafv
-    , asvdUploadProtocol
-    , asvdAccessToken
-    , asvdUploadType
-    , asvdVersionsId
-    , asvdAppsId
-    , asvdServicesId
-    , asvdCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.delete@ method which the
--- 'AppsServicesVersionsDelete' request conforms to.
-type AppsServicesVersionsDeleteResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   QueryParam "$.xgafv" Xgafv :>
-                     QueryParam "upload_protocol" Text :>
-                       QueryParam "access_token" Text :>
-                         QueryParam "uploadType" Text :>
-                           QueryParam "callback" Text :>
-                             QueryParam "alt" AltJSON :>
-                               Delete '[JSON] Operation
-
--- | Deletes an existing Version resource.
---
--- /See:/ 'appsServicesVersionsDelete' smart constructor.
-data AppsServicesVersionsDelete =
-  AppsServicesVersionsDelete'
-    { _asvdXgafv          :: !(Maybe Xgafv)
-    , _asvdUploadProtocol :: !(Maybe Text)
-    , _asvdAccessToken    :: !(Maybe Text)
-    , _asvdUploadType     :: !(Maybe Text)
-    , _asvdVersionsId     :: !Text
-    , _asvdAppsId         :: !Text
-    , _asvdServicesId     :: !Text
-    , _asvdCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvdXgafv'
---
--- * 'asvdUploadProtocol'
---
--- * 'asvdAccessToken'
---
--- * 'asvdUploadType'
---
--- * 'asvdVersionsId'
---
--- * 'asvdAppsId'
---
--- * 'asvdServicesId'
---
--- * 'asvdCallback'
-appsServicesVersionsDelete
-    :: Text -- ^ 'asvdVersionsId'
-    -> Text -- ^ 'asvdAppsId'
-    -> Text -- ^ 'asvdServicesId'
-    -> AppsServicesVersionsDelete
-appsServicesVersionsDelete pAsvdVersionsId_ pAsvdAppsId_ pAsvdServicesId_ =
-  AppsServicesVersionsDelete'
-    { _asvdXgafv = Nothing
-    , _asvdUploadProtocol = Nothing
-    , _asvdAccessToken = Nothing
-    , _asvdUploadType = Nothing
-    , _asvdVersionsId = pAsvdVersionsId_
-    , _asvdAppsId = pAsvdAppsId_
-    , _asvdServicesId = pAsvdServicesId_
-    , _asvdCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvdXgafv :: Lens' AppsServicesVersionsDelete (Maybe Xgafv)
-asvdXgafv
-  = lens _asvdXgafv (\ s a -> s{_asvdXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvdUploadProtocol :: Lens' AppsServicesVersionsDelete (Maybe Text)
-asvdUploadProtocol
-  = lens _asvdUploadProtocol
-      (\ s a -> s{_asvdUploadProtocol = a})
-
--- | OAuth access token.
-asvdAccessToken :: Lens' AppsServicesVersionsDelete (Maybe Text)
-asvdAccessToken
-  = lens _asvdAccessToken
-      (\ s a -> s{_asvdAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvdUploadType :: Lens' AppsServicesVersionsDelete (Maybe Text)
-asvdUploadType
-  = lens _asvdUploadType
-      (\ s a -> s{_asvdUploadType = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvdVersionsId :: Lens' AppsServicesVersionsDelete Text
-asvdVersionsId
-  = lens _asvdVersionsId
-      (\ s a -> s{_asvdVersionsId = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default\/versions\/v1.
-asvdAppsId :: Lens' AppsServicesVersionsDelete Text
-asvdAppsId
-  = lens _asvdAppsId (\ s a -> s{_asvdAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvdServicesId :: Lens' AppsServicesVersionsDelete Text
-asvdServicesId
-  = lens _asvdServicesId
-      (\ s a -> s{_asvdServicesId = a})
-
--- | JSONP
-asvdCallback :: Lens' AppsServicesVersionsDelete (Maybe Text)
-asvdCallback
-  = lens _asvdCallback (\ s a -> s{_asvdCallback = a})
-
-instance GoogleRequest AppsServicesVersionsDelete
-         where
-        type Rs AppsServicesVersionsDelete = Operation
-        type Scopes AppsServicesVersionsDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsServicesVersionsDelete'{..}
-          = go _asvdAppsId _asvdServicesId _asvdVersionsId
-              _asvdXgafv
-              _asvdUploadProtocol
-              _asvdAccessToken
-              _asvdUploadType
-              _asvdCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesVersionsDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Get.hs
+++ /dev/null
@@ -1,197 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Get
--- 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 specified Version resource. By default, only a BASIC_VIEW will
--- be returned. Specify the FULL_VIEW parameter to get the full resource.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.get@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Get
-    (
-    -- * REST Resource
-      AppsServicesVersionsGetResource
-
-    -- * Creating a Request
-    , appsServicesVersionsGet
-    , AppsServicesVersionsGet
-
-    -- * Request Lenses
-    , asvgXgafv
-    , asvgUploadProtocol
-    , asvgAccessToken
-    , asvgUploadType
-    , asvgVersionsId
-    , asvgAppsId
-    , asvgView
-    , asvgServicesId
-    , asvgCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.get@ method which the
--- 'AppsServicesVersionsGet' request conforms to.
-type AppsServicesVersionsGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   QueryParam "$.xgafv" Xgafv :>
-                     QueryParam "upload_protocol" Text :>
-                       QueryParam "access_token" Text :>
-                         QueryParam "uploadType" Text :>
-                           QueryParam "view" Text :>
-                             QueryParam "callback" Text :>
-                               QueryParam "alt" AltJSON :> Get '[JSON] Version
-
--- | Gets the specified Version resource. By default, only a BASIC_VIEW will
--- be returned. Specify the FULL_VIEW parameter to get the full resource.
---
--- /See:/ 'appsServicesVersionsGet' smart constructor.
-data AppsServicesVersionsGet =
-  AppsServicesVersionsGet'
-    { _asvgXgafv          :: !(Maybe Xgafv)
-    , _asvgUploadProtocol :: !(Maybe Text)
-    , _asvgAccessToken    :: !(Maybe Text)
-    , _asvgUploadType     :: !(Maybe Text)
-    , _asvgVersionsId     :: !Text
-    , _asvgAppsId         :: !Text
-    , _asvgView           :: !(Maybe Text)
-    , _asvgServicesId     :: !Text
-    , _asvgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvgXgafv'
---
--- * 'asvgUploadProtocol'
---
--- * 'asvgAccessToken'
---
--- * 'asvgUploadType'
---
--- * 'asvgVersionsId'
---
--- * 'asvgAppsId'
---
--- * 'asvgView'
---
--- * 'asvgServicesId'
---
--- * 'asvgCallback'
-appsServicesVersionsGet
-    :: Text -- ^ 'asvgVersionsId'
-    -> Text -- ^ 'asvgAppsId'
-    -> Text -- ^ 'asvgServicesId'
-    -> AppsServicesVersionsGet
-appsServicesVersionsGet pAsvgVersionsId_ pAsvgAppsId_ pAsvgServicesId_ =
-  AppsServicesVersionsGet'
-    { _asvgXgafv = Nothing
-    , _asvgUploadProtocol = Nothing
-    , _asvgAccessToken = Nothing
-    , _asvgUploadType = Nothing
-    , _asvgVersionsId = pAsvgVersionsId_
-    , _asvgAppsId = pAsvgAppsId_
-    , _asvgView = Nothing
-    , _asvgServicesId = pAsvgServicesId_
-    , _asvgCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvgXgafv :: Lens' AppsServicesVersionsGet (Maybe Xgafv)
-asvgXgafv
-  = lens _asvgXgafv (\ s a -> s{_asvgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvgUploadProtocol :: Lens' AppsServicesVersionsGet (Maybe Text)
-asvgUploadProtocol
-  = lens _asvgUploadProtocol
-      (\ s a -> s{_asvgUploadProtocol = a})
-
--- | OAuth access token.
-asvgAccessToken :: Lens' AppsServicesVersionsGet (Maybe Text)
-asvgAccessToken
-  = lens _asvgAccessToken
-      (\ s a -> s{_asvgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvgUploadType :: Lens' AppsServicesVersionsGet (Maybe Text)
-asvgUploadType
-  = lens _asvgUploadType
-      (\ s a -> s{_asvgUploadType = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvgVersionsId :: Lens' AppsServicesVersionsGet Text
-asvgVersionsId
-  = lens _asvgVersionsId
-      (\ s a -> s{_asvgVersionsId = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default\/versions\/v1.
-asvgAppsId :: Lens' AppsServicesVersionsGet Text
-asvgAppsId
-  = lens _asvgAppsId (\ s a -> s{_asvgAppsId = a})
-
--- | Controls the set of fields returned in the Get response.
-asvgView :: Lens' AppsServicesVersionsGet (Maybe Text)
-asvgView = lens _asvgView (\ s a -> s{_asvgView = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvgServicesId :: Lens' AppsServicesVersionsGet Text
-asvgServicesId
-  = lens _asvgServicesId
-      (\ s a -> s{_asvgServicesId = a})
-
--- | JSONP
-asvgCallback :: Lens' AppsServicesVersionsGet (Maybe Text)
-asvgCallback
-  = lens _asvgCallback (\ s a -> s{_asvgCallback = a})
-
-instance GoogleRequest AppsServicesVersionsGet where
-        type Rs AppsServicesVersionsGet = Version
-        type Scopes AppsServicesVersionsGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsServicesVersionsGet'{..}
-          = go _asvgAppsId _asvgServicesId _asvgVersionsId
-              _asvgXgafv
-              _asvgUploadProtocol
-              _asvgAccessToken
-              _asvgUploadType
-              _asvgView
-              _asvgCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesVersionsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Debug.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Debug.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Debug.hs
+++ /dev/null
@@ -1,228 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Instances.Debug
--- 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)
---
--- Enables debugging on a VM instance. This allows you to use the SSH
--- command to connect to the virtual machine where the instance lives.
--- While in \"debug mode\", the instance continues to serve live traffic.
--- You should delete the instance when you are done debugging and then
--- allow the system to take over and determine if another instance should
--- be started.Only applicable for instances in App Engine flexible
--- environment.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.debug@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug
-    (
-    -- * REST Resource
-      AppsServicesVersionsInstancesDebugResource
-
-    -- * Creating a Request
-    , appsServicesVersionsInstancesDebug
-    , AppsServicesVersionsInstancesDebug
-
-    -- * Request Lenses
-    , asvidXgafv
-    , asvidInstancesId
-    , asvidUploadProtocol
-    , asvidAccessToken
-    , asvidUploadType
-    , asvidPayload
-    , asvidVersionsId
-    , asvidAppsId
-    , asvidServicesId
-    , asvidCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.instances.debug@ method which the
--- 'AppsServicesVersionsInstancesDebug' request conforms to.
-type AppsServicesVersionsInstancesDebugResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   "instances" :>
-                     CaptureMode "instancesId" "debug" Text :>
-                       QueryParam "$.xgafv" Xgafv :>
-                         QueryParam "upload_protocol" Text :>
-                           QueryParam "access_token" Text :>
-                             QueryParam "uploadType" Text :>
-                               QueryParam "callback" Text :>
-                                 QueryParam "alt" AltJSON :>
-                                   ReqBody '[JSON] DebugInstanceRequest :>
-                                     Post '[JSON] Operation
-
--- | Enables debugging on a VM instance. This allows you to use the SSH
--- command to connect to the virtual machine where the instance lives.
--- While in \"debug mode\", the instance continues to serve live traffic.
--- You should delete the instance when you are done debugging and then
--- allow the system to take over and determine if another instance should
--- be started.Only applicable for instances in App Engine flexible
--- environment.
---
--- /See:/ 'appsServicesVersionsInstancesDebug' smart constructor.
-data AppsServicesVersionsInstancesDebug =
-  AppsServicesVersionsInstancesDebug'
-    { _asvidXgafv          :: !(Maybe Xgafv)
-    , _asvidInstancesId    :: !Text
-    , _asvidUploadProtocol :: !(Maybe Text)
-    , _asvidAccessToken    :: !(Maybe Text)
-    , _asvidUploadType     :: !(Maybe Text)
-    , _asvidPayload        :: !DebugInstanceRequest
-    , _asvidVersionsId     :: !Text
-    , _asvidAppsId         :: !Text
-    , _asvidServicesId     :: !Text
-    , _asvidCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsInstancesDebug' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvidXgafv'
---
--- * 'asvidInstancesId'
---
--- * 'asvidUploadProtocol'
---
--- * 'asvidAccessToken'
---
--- * 'asvidUploadType'
---
--- * 'asvidPayload'
---
--- * 'asvidVersionsId'
---
--- * 'asvidAppsId'
---
--- * 'asvidServicesId'
---
--- * 'asvidCallback'
-appsServicesVersionsInstancesDebug
-    :: Text -- ^ 'asvidInstancesId'
-    -> DebugInstanceRequest -- ^ 'asvidPayload'
-    -> Text -- ^ 'asvidVersionsId'
-    -> Text -- ^ 'asvidAppsId'
-    -> Text -- ^ 'asvidServicesId'
-    -> AppsServicesVersionsInstancesDebug
-appsServicesVersionsInstancesDebug pAsvidInstancesId_ pAsvidPayload_ pAsvidVersionsId_ pAsvidAppsId_ pAsvidServicesId_ =
-  AppsServicesVersionsInstancesDebug'
-    { _asvidXgafv = Nothing
-    , _asvidInstancesId = pAsvidInstancesId_
-    , _asvidUploadProtocol = Nothing
-    , _asvidAccessToken = Nothing
-    , _asvidUploadType = Nothing
-    , _asvidPayload = pAsvidPayload_
-    , _asvidVersionsId = pAsvidVersionsId_
-    , _asvidAppsId = pAsvidAppsId_
-    , _asvidServicesId = pAsvidServicesId_
-    , _asvidCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvidXgafv :: Lens' AppsServicesVersionsInstancesDebug (Maybe Xgafv)
-asvidXgafv
-  = lens _asvidXgafv (\ s a -> s{_asvidXgafv = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvidInstancesId :: Lens' AppsServicesVersionsInstancesDebug Text
-asvidInstancesId
-  = lens _asvidInstancesId
-      (\ s a -> s{_asvidInstancesId = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvidUploadProtocol :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)
-asvidUploadProtocol
-  = lens _asvidUploadProtocol
-      (\ s a -> s{_asvidUploadProtocol = a})
-
--- | OAuth access token.
-asvidAccessToken :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)
-asvidAccessToken
-  = lens _asvidAccessToken
-      (\ s a -> s{_asvidAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvidUploadType :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)
-asvidUploadType
-  = lens _asvidUploadType
-      (\ s a -> s{_asvidUploadType = a})
-
--- | Multipart request metadata.
-asvidPayload :: Lens' AppsServicesVersionsInstancesDebug DebugInstanceRequest
-asvidPayload
-  = lens _asvidPayload (\ s a -> s{_asvidPayload = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvidVersionsId :: Lens' AppsServicesVersionsInstancesDebug Text
-asvidVersionsId
-  = lens _asvidVersionsId
-      (\ s a -> s{_asvidVersionsId = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
-asvidAppsId :: Lens' AppsServicesVersionsInstancesDebug Text
-asvidAppsId
-  = lens _asvidAppsId (\ s a -> s{_asvidAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvidServicesId :: Lens' AppsServicesVersionsInstancesDebug Text
-asvidServicesId
-  = lens _asvidServicesId
-      (\ s a -> s{_asvidServicesId = a})
-
--- | JSONP
-asvidCallback :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)
-asvidCallback
-  = lens _asvidCallback
-      (\ s a -> s{_asvidCallback = a})
-
-instance GoogleRequest
-           AppsServicesVersionsInstancesDebug
-         where
-        type Rs AppsServicesVersionsInstancesDebug =
-             Operation
-        type Scopes AppsServicesVersionsInstancesDebug =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsServicesVersionsInstancesDebug'{..}
-          = go _asvidAppsId _asvidServicesId _asvidVersionsId
-              _asvidInstancesId
-              _asvidXgafv
-              _asvidUploadProtocol
-              _asvidAccessToken
-              _asvidUploadType
-              _asvidCallback
-              (Just AltJSON)
-              _asvidPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsServicesVersionsInstancesDebugResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Delete.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Delete.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Delete.hs
+++ /dev/null
@@ -1,195 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Instances.Delete
--- 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)
---
--- Stops a running instance.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.delete@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete
-    (
-    -- * REST Resource
-      AppsServicesVersionsInstancesDeleteResource
-
-    -- * Creating a Request
-    , appsServicesVersionsInstancesDelete
-    , AppsServicesVersionsInstancesDelete
-
-    -- * Request Lenses
-    , aXgafv
-    , aInstancesId
-    , aUploadProtocol
-    , aAccessToken
-    , aUploadType
-    , aVersionsId
-    , aAppsId
-    , aServicesId
-    , aCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.instances.delete@ method which the
--- 'AppsServicesVersionsInstancesDelete' request conforms to.
-type AppsServicesVersionsInstancesDeleteResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   "instances" :>
-                     Capture "instancesId" Text :>
-                       QueryParam "$.xgafv" Xgafv :>
-                         QueryParam "upload_protocol" Text :>
-                           QueryParam "access_token" Text :>
-                             QueryParam "uploadType" Text :>
-                               QueryParam "callback" Text :>
-                                 QueryParam "alt" AltJSON :>
-                                   Delete '[JSON] Operation
-
--- | Stops a running instance.
---
--- /See:/ 'appsServicesVersionsInstancesDelete' smart constructor.
-data AppsServicesVersionsInstancesDelete =
-  AppsServicesVersionsInstancesDelete'
-    { _aXgafv          :: !(Maybe Xgafv)
-    , _aInstancesId    :: !Text
-    , _aUploadProtocol :: !(Maybe Text)
-    , _aAccessToken    :: !(Maybe Text)
-    , _aUploadType     :: !(Maybe Text)
-    , _aVersionsId     :: !Text
-    , _aAppsId         :: !Text
-    , _aServicesId     :: !Text
-    , _aCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsInstancesDelete' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aXgafv'
---
--- * 'aInstancesId'
---
--- * 'aUploadProtocol'
---
--- * 'aAccessToken'
---
--- * 'aUploadType'
---
--- * 'aVersionsId'
---
--- * 'aAppsId'
---
--- * 'aServicesId'
---
--- * 'aCallback'
-appsServicesVersionsInstancesDelete
-    :: Text -- ^ 'aInstancesId'
-    -> Text -- ^ 'aVersionsId'
-    -> Text -- ^ 'aAppsId'
-    -> Text -- ^ 'aServicesId'
-    -> AppsServicesVersionsInstancesDelete
-appsServicesVersionsInstancesDelete pAInstancesId_ pAVersionsId_ pAAppsId_ pAServicesId_ =
-  AppsServicesVersionsInstancesDelete'
-    { _aXgafv = Nothing
-    , _aInstancesId = pAInstancesId_
-    , _aUploadProtocol = Nothing
-    , _aAccessToken = Nothing
-    , _aUploadType = Nothing
-    , _aVersionsId = pAVersionsId_
-    , _aAppsId = pAAppsId_
-    , _aServicesId = pAServicesId_
-    , _aCallback = Nothing
-    }
-
-
--- | V1 error format.
-aXgafv :: Lens' AppsServicesVersionsInstancesDelete (Maybe Xgafv)
-aXgafv = lens _aXgafv (\ s a -> s{_aXgafv = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aInstancesId :: Lens' AppsServicesVersionsInstancesDelete Text
-aInstancesId
-  = lens _aInstancesId (\ s a -> s{_aInstancesId = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aUploadProtocol :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)
-aUploadProtocol
-  = lens _aUploadProtocol
-      (\ s a -> s{_aUploadProtocol = a})
-
--- | OAuth access token.
-aAccessToken :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)
-aAccessToken
-  = lens _aAccessToken (\ s a -> s{_aAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aUploadType :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)
-aUploadType
-  = lens _aUploadType (\ s a -> s{_aUploadType = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aVersionsId :: Lens' AppsServicesVersionsInstancesDelete Text
-aVersionsId
-  = lens _aVersionsId (\ s a -> s{_aVersionsId = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
-aAppsId :: Lens' AppsServicesVersionsInstancesDelete Text
-aAppsId = lens _aAppsId (\ s a -> s{_aAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-aServicesId :: Lens' AppsServicesVersionsInstancesDelete Text
-aServicesId
-  = lens _aServicesId (\ s a -> s{_aServicesId = a})
-
--- | JSONP
-aCallback :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)
-aCallback
-  = lens _aCallback (\ s a -> s{_aCallback = a})
-
-instance GoogleRequest
-           AppsServicesVersionsInstancesDelete
-         where
-        type Rs AppsServicesVersionsInstancesDelete =
-             Operation
-        type Scopes AppsServicesVersionsInstancesDelete =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient
-          AppsServicesVersionsInstancesDelete'{..}
-          = go _aAppsId _aServicesId _aVersionsId _aInstancesId
-              _aXgafv
-              _aUploadProtocol
-              _aAccessToken
-              _aUploadType
-              _aCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsServicesVersionsInstancesDeleteResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Get.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Get.hs
+++ /dev/null
@@ -1,204 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Instances.Get
--- 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 instance information.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.get@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get
-    (
-    -- * REST Resource
-      AppsServicesVersionsInstancesGetResource
-
-    -- * Creating a Request
-    , appsServicesVersionsInstancesGet
-    , AppsServicesVersionsInstancesGet
-
-    -- * Request Lenses
-    , asvigXgafv
-    , asvigInstancesId
-    , asvigUploadProtocol
-    , asvigAccessToken
-    , asvigUploadType
-    , asvigVersionsId
-    , asvigAppsId
-    , asvigServicesId
-    , asvigCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.instances.get@ method which the
--- 'AppsServicesVersionsInstancesGet' request conforms to.
-type AppsServicesVersionsInstancesGetResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   "instances" :>
-                     Capture "instancesId" Text :>
-                       QueryParam "$.xgafv" Xgafv :>
-                         QueryParam "upload_protocol" Text :>
-                           QueryParam "access_token" Text :>
-                             QueryParam "uploadType" Text :>
-                               QueryParam "callback" Text :>
-                                 QueryParam "alt" AltJSON :>
-                                   Get '[JSON] Instance
-
--- | Gets instance information.
---
--- /See:/ 'appsServicesVersionsInstancesGet' smart constructor.
-data AppsServicesVersionsInstancesGet =
-  AppsServicesVersionsInstancesGet'
-    { _asvigXgafv          :: !(Maybe Xgafv)
-    , _asvigInstancesId    :: !Text
-    , _asvigUploadProtocol :: !(Maybe Text)
-    , _asvigAccessToken    :: !(Maybe Text)
-    , _asvigUploadType     :: !(Maybe Text)
-    , _asvigVersionsId     :: !Text
-    , _asvigAppsId         :: !Text
-    , _asvigServicesId     :: !Text
-    , _asvigCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsInstancesGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvigXgafv'
---
--- * 'asvigInstancesId'
---
--- * 'asvigUploadProtocol'
---
--- * 'asvigAccessToken'
---
--- * 'asvigUploadType'
---
--- * 'asvigVersionsId'
---
--- * 'asvigAppsId'
---
--- * 'asvigServicesId'
---
--- * 'asvigCallback'
-appsServicesVersionsInstancesGet
-    :: Text -- ^ 'asvigInstancesId'
-    -> Text -- ^ 'asvigVersionsId'
-    -> Text -- ^ 'asvigAppsId'
-    -> Text -- ^ 'asvigServicesId'
-    -> AppsServicesVersionsInstancesGet
-appsServicesVersionsInstancesGet pAsvigInstancesId_ pAsvigVersionsId_ pAsvigAppsId_ pAsvigServicesId_ =
-  AppsServicesVersionsInstancesGet'
-    { _asvigXgafv = Nothing
-    , _asvigInstancesId = pAsvigInstancesId_
-    , _asvigUploadProtocol = Nothing
-    , _asvigAccessToken = Nothing
-    , _asvigUploadType = Nothing
-    , _asvigVersionsId = pAsvigVersionsId_
-    , _asvigAppsId = pAsvigAppsId_
-    , _asvigServicesId = pAsvigServicesId_
-    , _asvigCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvigXgafv :: Lens' AppsServicesVersionsInstancesGet (Maybe Xgafv)
-asvigXgafv
-  = lens _asvigXgafv (\ s a -> s{_asvigXgafv = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvigInstancesId :: Lens' AppsServicesVersionsInstancesGet Text
-asvigInstancesId
-  = lens _asvigInstancesId
-      (\ s a -> s{_asvigInstancesId = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvigUploadProtocol :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)
-asvigUploadProtocol
-  = lens _asvigUploadProtocol
-      (\ s a -> s{_asvigUploadProtocol = a})
-
--- | OAuth access token.
-asvigAccessToken :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)
-asvigAccessToken
-  = lens _asvigAccessToken
-      (\ s a -> s{_asvigAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvigUploadType :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)
-asvigUploadType
-  = lens _asvigUploadType
-      (\ s a -> s{_asvigUploadType = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvigVersionsId :: Lens' AppsServicesVersionsInstancesGet Text
-asvigVersionsId
-  = lens _asvigVersionsId
-      (\ s a -> s{_asvigVersionsId = a})
-
--- | Part of \`name\`. Name of the resource requested. Example:
--- apps\/myapp\/services\/default\/versions\/v1\/instances\/instance-1.
-asvigAppsId :: Lens' AppsServicesVersionsInstancesGet Text
-asvigAppsId
-  = lens _asvigAppsId (\ s a -> s{_asvigAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvigServicesId :: Lens' AppsServicesVersionsInstancesGet Text
-asvigServicesId
-  = lens _asvigServicesId
-      (\ s a -> s{_asvigServicesId = a})
-
--- | JSONP
-asvigCallback :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)
-asvigCallback
-  = lens _asvigCallback
-      (\ s a -> s{_asvigCallback = a})
-
-instance GoogleRequest
-           AppsServicesVersionsInstancesGet
-         where
-        type Rs AppsServicesVersionsInstancesGet = Instance
-        type Scopes AppsServicesVersionsInstancesGet =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsServicesVersionsInstancesGet'{..}
-          = go _asvigAppsId _asvigServicesId _asvigVersionsId
-              _asvigInstancesId
-              _asvigXgafv
-              _asvigUploadProtocol
-              _asvigAccessToken
-              _asvigUploadType
-              _asvigCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsServicesVersionsInstancesGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/List.hs
+++ /dev/null
@@ -1,222 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Instances.List
--- 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)
---
--- Lists the instances of a version.Tip: To aggregate details about
--- instances over time, see the Stackdriver Monitoring API
--- (https:\/\/cloud.google.com\/monitoring\/api\/ref_v3\/rest\/v3\/projects.timeSeries\/list).
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.instances.list@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List
-    (
-    -- * REST Resource
-      AppsServicesVersionsInstancesListResource
-
-    -- * Creating a Request
-    , appsServicesVersionsInstancesList
-    , AppsServicesVersionsInstancesList
-
-    -- * Request Lenses
-    , asvilXgafv
-    , asvilUploadProtocol
-    , asvilAccessToken
-    , asvilUploadType
-    , asvilVersionsId
-    , asvilAppsId
-    , asvilPageToken
-    , asvilServicesId
-    , asvilPageSize
-    , asvilCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.instances.list@ method which the
--- 'AppsServicesVersionsInstancesList' request conforms to.
-type AppsServicesVersionsInstancesListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   "instances" :>
-                     QueryParam "$.xgafv" Xgafv :>
-                       QueryParam "upload_protocol" Text :>
-                         QueryParam "access_token" Text :>
-                           QueryParam "uploadType" Text :>
-                             QueryParam "pageToken" Text :>
-                               QueryParam "pageSize" (Textual Int32) :>
-                                 QueryParam "callback" Text :>
-                                   QueryParam "alt" AltJSON :>
-                                     Get '[JSON] ListInstancesResponse
-
--- | Lists the instances of a version.Tip: To aggregate details about
--- instances over time, see the Stackdriver Monitoring API
--- (https:\/\/cloud.google.com\/monitoring\/api\/ref_v3\/rest\/v3\/projects.timeSeries\/list).
---
--- /See:/ 'appsServicesVersionsInstancesList' smart constructor.
-data AppsServicesVersionsInstancesList =
-  AppsServicesVersionsInstancesList'
-    { _asvilXgafv          :: !(Maybe Xgafv)
-    , _asvilUploadProtocol :: !(Maybe Text)
-    , _asvilAccessToken    :: !(Maybe Text)
-    , _asvilUploadType     :: !(Maybe Text)
-    , _asvilVersionsId     :: !Text
-    , _asvilAppsId         :: !Text
-    , _asvilPageToken      :: !(Maybe Text)
-    , _asvilServicesId     :: !Text
-    , _asvilPageSize       :: !(Maybe (Textual Int32))
-    , _asvilCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsInstancesList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvilXgafv'
---
--- * 'asvilUploadProtocol'
---
--- * 'asvilAccessToken'
---
--- * 'asvilUploadType'
---
--- * 'asvilVersionsId'
---
--- * 'asvilAppsId'
---
--- * 'asvilPageToken'
---
--- * 'asvilServicesId'
---
--- * 'asvilPageSize'
---
--- * 'asvilCallback'
-appsServicesVersionsInstancesList
-    :: Text -- ^ 'asvilVersionsId'
-    -> Text -- ^ 'asvilAppsId'
-    -> Text -- ^ 'asvilServicesId'
-    -> AppsServicesVersionsInstancesList
-appsServicesVersionsInstancesList pAsvilVersionsId_ pAsvilAppsId_ pAsvilServicesId_ =
-  AppsServicesVersionsInstancesList'
-    { _asvilXgafv = Nothing
-    , _asvilUploadProtocol = Nothing
-    , _asvilAccessToken = Nothing
-    , _asvilUploadType = Nothing
-    , _asvilVersionsId = pAsvilVersionsId_
-    , _asvilAppsId = pAsvilAppsId_
-    , _asvilPageToken = Nothing
-    , _asvilServicesId = pAsvilServicesId_
-    , _asvilPageSize = Nothing
-    , _asvilCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvilXgafv :: Lens' AppsServicesVersionsInstancesList (Maybe Xgafv)
-asvilXgafv
-  = lens _asvilXgafv (\ s a -> s{_asvilXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvilUploadProtocol :: Lens' AppsServicesVersionsInstancesList (Maybe Text)
-asvilUploadProtocol
-  = lens _asvilUploadProtocol
-      (\ s a -> s{_asvilUploadProtocol = a})
-
--- | OAuth access token.
-asvilAccessToken :: Lens' AppsServicesVersionsInstancesList (Maybe Text)
-asvilAccessToken
-  = lens _asvilAccessToken
-      (\ s a -> s{_asvilAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvilUploadType :: Lens' AppsServicesVersionsInstancesList (Maybe Text)
-asvilUploadType
-  = lens _asvilUploadType
-      (\ s a -> s{_asvilUploadType = a})
-
--- | Part of \`parent\`. See documentation of \`appsId\`.
-asvilVersionsId :: Lens' AppsServicesVersionsInstancesList Text
-asvilVersionsId
-  = lens _asvilVersionsId
-      (\ s a -> s{_asvilVersionsId = a})
-
--- | Part of \`parent\`. Name of the parent Version resource. Example:
--- apps\/myapp\/services\/default\/versions\/v1.
-asvilAppsId :: Lens' AppsServicesVersionsInstancesList Text
-asvilAppsId
-  = lens _asvilAppsId (\ s a -> s{_asvilAppsId = a})
-
--- | Continuation token for fetching the next page of results.
-asvilPageToken :: Lens' AppsServicesVersionsInstancesList (Maybe Text)
-asvilPageToken
-  = lens _asvilPageToken
-      (\ s a -> s{_asvilPageToken = a})
-
--- | Part of \`parent\`. See documentation of \`appsId\`.
-asvilServicesId :: Lens' AppsServicesVersionsInstancesList Text
-asvilServicesId
-  = lens _asvilServicesId
-      (\ s a -> s{_asvilServicesId = a})
-
--- | Maximum results to return per page.
-asvilPageSize :: Lens' AppsServicesVersionsInstancesList (Maybe Int32)
-asvilPageSize
-  = lens _asvilPageSize
-      (\ s a -> s{_asvilPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-asvilCallback :: Lens' AppsServicesVersionsInstancesList (Maybe Text)
-asvilCallback
-  = lens _asvilCallback
-      (\ s a -> s{_asvilCallback = a})
-
-instance GoogleRequest
-           AppsServicesVersionsInstancesList
-         where
-        type Rs AppsServicesVersionsInstancesList =
-             ListInstancesResponse
-        type Scopes AppsServicesVersionsInstancesList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsServicesVersionsInstancesList'{..}
-          = go _asvilAppsId _asvilServicesId _asvilVersionsId
-              _asvilXgafv
-              _asvilUploadProtocol
-              _asvilAccessToken
-              _asvilUploadType
-              _asvilPageToken
-              _asvilPageSize
-              _asvilCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AppsServicesVersionsInstancesListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/List.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/List.hs
+++ /dev/null
@@ -1,209 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.List
--- 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)
---
--- Lists the versions of a service.
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.list@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.List
-    (
-    -- * REST Resource
-      AppsServicesVersionsListResource
-
-    -- * Creating a Request
-    , appsServicesVersionsList
-    , AppsServicesVersionsList
-
-    -- * Request Lenses
-    , asvlXgafv
-    , asvlUploadProtocol
-    , asvlAccessToken
-    , asvlUploadType
-    , asvlAppsId
-    , asvlView
-    , asvlPageToken
-    , asvlServicesId
-    , asvlPageSize
-    , asvlCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.list@ method which the
--- 'AppsServicesVersionsList' request conforms to.
-type AppsServicesVersionsListResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 QueryParam "$.xgafv" Xgafv :>
-                   QueryParam "upload_protocol" Text :>
-                     QueryParam "access_token" Text :>
-                       QueryParam "uploadType" Text :>
-                         QueryParam "view" Text :>
-                           QueryParam "pageToken" Text :>
-                             QueryParam "pageSize" (Textual Int32) :>
-                               QueryParam "callback" Text :>
-                                 QueryParam "alt" AltJSON :>
-                                   Get '[JSON] ListVersionsResponse
-
--- | Lists the versions of a service.
---
--- /See:/ 'appsServicesVersionsList' smart constructor.
-data AppsServicesVersionsList =
-  AppsServicesVersionsList'
-    { _asvlXgafv          :: !(Maybe Xgafv)
-    , _asvlUploadProtocol :: !(Maybe Text)
-    , _asvlAccessToken    :: !(Maybe Text)
-    , _asvlUploadType     :: !(Maybe Text)
-    , _asvlAppsId         :: !Text
-    , _asvlView           :: !(Maybe Text)
-    , _asvlPageToken      :: !(Maybe Text)
-    , _asvlServicesId     :: !Text
-    , _asvlPageSize       :: !(Maybe (Textual Int32))
-    , _asvlCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvlXgafv'
---
--- * 'asvlUploadProtocol'
---
--- * 'asvlAccessToken'
---
--- * 'asvlUploadType'
---
--- * 'asvlAppsId'
---
--- * 'asvlView'
---
--- * 'asvlPageToken'
---
--- * 'asvlServicesId'
---
--- * 'asvlPageSize'
---
--- * 'asvlCallback'
-appsServicesVersionsList
-    :: Text -- ^ 'asvlAppsId'
-    -> Text -- ^ 'asvlServicesId'
-    -> AppsServicesVersionsList
-appsServicesVersionsList pAsvlAppsId_ pAsvlServicesId_ =
-  AppsServicesVersionsList'
-    { _asvlXgafv = Nothing
-    , _asvlUploadProtocol = Nothing
-    , _asvlAccessToken = Nothing
-    , _asvlUploadType = Nothing
-    , _asvlAppsId = pAsvlAppsId_
-    , _asvlView = Nothing
-    , _asvlPageToken = Nothing
-    , _asvlServicesId = pAsvlServicesId_
-    , _asvlPageSize = Nothing
-    , _asvlCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvlXgafv :: Lens' AppsServicesVersionsList (Maybe Xgafv)
-asvlXgafv
-  = lens _asvlXgafv (\ s a -> s{_asvlXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvlUploadProtocol :: Lens' AppsServicesVersionsList (Maybe Text)
-asvlUploadProtocol
-  = lens _asvlUploadProtocol
-      (\ s a -> s{_asvlUploadProtocol = a})
-
--- | OAuth access token.
-asvlAccessToken :: Lens' AppsServicesVersionsList (Maybe Text)
-asvlAccessToken
-  = lens _asvlAccessToken
-      (\ s a -> s{_asvlAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvlUploadType :: Lens' AppsServicesVersionsList (Maybe Text)
-asvlUploadType
-  = lens _asvlUploadType
-      (\ s a -> s{_asvlUploadType = a})
-
--- | Part of \`parent\`. Name of the parent Service resource. Example:
--- apps\/myapp\/services\/default.
-asvlAppsId :: Lens' AppsServicesVersionsList Text
-asvlAppsId
-  = lens _asvlAppsId (\ s a -> s{_asvlAppsId = a})
-
--- | Controls the set of fields returned in the List response.
-asvlView :: Lens' AppsServicesVersionsList (Maybe Text)
-asvlView = lens _asvlView (\ s a -> s{_asvlView = a})
-
--- | Continuation token for fetching the next page of results.
-asvlPageToken :: Lens' AppsServicesVersionsList (Maybe Text)
-asvlPageToken
-  = lens _asvlPageToken
-      (\ s a -> s{_asvlPageToken = a})
-
--- | Part of \`parent\`. See documentation of \`appsId\`.
-asvlServicesId :: Lens' AppsServicesVersionsList Text
-asvlServicesId
-  = lens _asvlServicesId
-      (\ s a -> s{_asvlServicesId = a})
-
--- | Maximum results to return per page.
-asvlPageSize :: Lens' AppsServicesVersionsList (Maybe Int32)
-asvlPageSize
-  = lens _asvlPageSize (\ s a -> s{_asvlPageSize = a})
-      . mapping _Coerce
-
--- | JSONP
-asvlCallback :: Lens' AppsServicesVersionsList (Maybe Text)
-asvlCallback
-  = lens _asvlCallback (\ s a -> s{_asvlCallback = a})
-
-instance GoogleRequest AppsServicesVersionsList where
-        type Rs AppsServicesVersionsList =
-             ListVersionsResponse
-        type Scopes AppsServicesVersionsList =
-             '["https://www.googleapis.com/auth/appengine.admin",
-               "https://www.googleapis.com/auth/cloud-platform",
-               "https://www.googleapis.com/auth/cloud-platform.read-only"]
-        requestClient AppsServicesVersionsList'{..}
-          = go _asvlAppsId _asvlServicesId _asvlXgafv
-              _asvlUploadProtocol
-              _asvlAccessToken
-              _asvlUploadType
-              _asvlView
-              _asvlPageToken
-              _asvlPageSize
-              _asvlCallback
-              (Just AltJSON)
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesVersionsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Patch.hs b/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Patch.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Patch.hs
+++ /dev/null
@@ -1,268 +0,0 @@
-{-# 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.AppEngine.Apps.Services.Versions.Patch
--- 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)
---
--- Updates the specified Version resource. You can specify the following
--- fields depending on the App Engine environment and type of scaling that
--- the version resource uses:Standard environment instance_class
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.instance_class)automatic
--- scaling in the standard environment:
--- automatic_scaling.min_idle_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.max_idle_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automaticScaling.standard_scheduler_settings.max_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)
--- automaticScaling.standard_scheduler_settings.min_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)
--- automaticScaling.standard_scheduler_settings.target_cpu_utilization
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)
--- automaticScaling.standard_scheduler_settings.target_throughput_utilization
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)basic
--- scaling or manual scaling in the standard environment: serving_status
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving_status)Flexible
--- environment serving_status
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving_status)automatic
--- scaling in the flexible environment:
--- automatic_scaling.min_total_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.max_total_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.cool_down_period_sec
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.cpu_utilization.target_utilization
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
---
--- /See:/ <https://cloud.google.com/appengine/docs/admin-api/ App Engine Admin API Reference> for @appengine.apps.services.versions.patch@.
-module Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch
-    (
-    -- * REST Resource
-      AppsServicesVersionsPatchResource
-
-    -- * Creating a Request
-    , appsServicesVersionsPatch
-    , AppsServicesVersionsPatch
-
-    -- * Request Lenses
-    , asvpXgafv
-    , asvpUploadProtocol
-    , asvpUpdateMask
-    , asvpAccessToken
-    , asvpUploadType
-    , asvpPayload
-    , asvpVersionsId
-    , asvpAppsId
-    , asvpServicesId
-    , asvpCallback
-    ) where
-
-import           Network.Google.AppEngine.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @appengine.apps.services.versions.patch@ method which the
--- 'AppsServicesVersionsPatch' request conforms to.
-type AppsServicesVersionsPatchResource =
-     "v1" :>
-       "apps" :>
-         Capture "appsId" Text :>
-           "services" :>
-             Capture "servicesId" Text :>
-               "versions" :>
-                 Capture "versionsId" Text :>
-                   QueryParam "$.xgafv" Xgafv :>
-                     QueryParam "upload_protocol" Text :>
-                       QueryParam "updateMask" GFieldMask :>
-                         QueryParam "access_token" Text :>
-                           QueryParam "uploadType" Text :>
-                             QueryParam "callback" Text :>
-                               QueryParam "alt" AltJSON :>
-                                 ReqBody '[JSON] Version :>
-                                   Patch '[JSON] Operation
-
--- | Updates the specified Version resource. You can specify the following
--- fields depending on the App Engine environment and type of scaling that
--- the version resource uses:Standard environment instance_class
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.instance_class)automatic
--- scaling in the standard environment:
--- automatic_scaling.min_idle_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.max_idle_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automaticScaling.standard_scheduler_settings.max_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)
--- automaticScaling.standard_scheduler_settings.min_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)
--- automaticScaling.standard_scheduler_settings.target_cpu_utilization
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)
--- automaticScaling.standard_scheduler_settings.target_throughput_utilization
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#StandardSchedulerSettings)basic
--- scaling or manual scaling in the standard environment: serving_status
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving_status)Flexible
--- environment serving_status
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.serving_status)automatic
--- scaling in the flexible environment:
--- automatic_scaling.min_total_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.max_total_instances
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.cool_down_period_sec
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
--- automatic_scaling.cpu_utilization.target_utilization
--- (https:\/\/cloud.google.com\/appengine\/docs\/admin-api\/reference\/rest\/v1\/apps.services.versions#Version.FIELDS.automatic_scaling)
---
--- /See:/ 'appsServicesVersionsPatch' smart constructor.
-data AppsServicesVersionsPatch =
-  AppsServicesVersionsPatch'
-    { _asvpXgafv          :: !(Maybe Xgafv)
-    , _asvpUploadProtocol :: !(Maybe Text)
-    , _asvpUpdateMask     :: !(Maybe GFieldMask)
-    , _asvpAccessToken    :: !(Maybe Text)
-    , _asvpUploadType     :: !(Maybe Text)
-    , _asvpPayload        :: !Version
-    , _asvpVersionsId     :: !Text
-    , _asvpAppsId         :: !Text
-    , _asvpServicesId     :: !Text
-    , _asvpCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AppsServicesVersionsPatch' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'asvpXgafv'
---
--- * 'asvpUploadProtocol'
---
--- * 'asvpUpdateMask'
---
--- * 'asvpAccessToken'
---
--- * 'asvpUploadType'
---
--- * 'asvpPayload'
---
--- * 'asvpVersionsId'
---
--- * 'asvpAppsId'
---
--- * 'asvpServicesId'
---
--- * 'asvpCallback'
-appsServicesVersionsPatch
-    :: Version -- ^ 'asvpPayload'
-    -> Text -- ^ 'asvpVersionsId'
-    -> Text -- ^ 'asvpAppsId'
-    -> Text -- ^ 'asvpServicesId'
-    -> AppsServicesVersionsPatch
-appsServicesVersionsPatch pAsvpPayload_ pAsvpVersionsId_ pAsvpAppsId_ pAsvpServicesId_ =
-  AppsServicesVersionsPatch'
-    { _asvpXgafv = Nothing
-    , _asvpUploadProtocol = Nothing
-    , _asvpUpdateMask = Nothing
-    , _asvpAccessToken = Nothing
-    , _asvpUploadType = Nothing
-    , _asvpPayload = pAsvpPayload_
-    , _asvpVersionsId = pAsvpVersionsId_
-    , _asvpAppsId = pAsvpAppsId_
-    , _asvpServicesId = pAsvpServicesId_
-    , _asvpCallback = Nothing
-    }
-
-
--- | V1 error format.
-asvpXgafv :: Lens' AppsServicesVersionsPatch (Maybe Xgafv)
-asvpXgafv
-  = lens _asvpXgafv (\ s a -> s{_asvpXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-asvpUploadProtocol :: Lens' AppsServicesVersionsPatch (Maybe Text)
-asvpUploadProtocol
-  = lens _asvpUploadProtocol
-      (\ s a -> s{_asvpUploadProtocol = a})
-
--- | Standard field mask for the set of fields to be updated.
-asvpUpdateMask :: Lens' AppsServicesVersionsPatch (Maybe GFieldMask)
-asvpUpdateMask
-  = lens _asvpUpdateMask
-      (\ s a -> s{_asvpUpdateMask = a})
-
--- | OAuth access token.
-asvpAccessToken :: Lens' AppsServicesVersionsPatch (Maybe Text)
-asvpAccessToken
-  = lens _asvpAccessToken
-      (\ s a -> s{_asvpAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-asvpUploadType :: Lens' AppsServicesVersionsPatch (Maybe Text)
-asvpUploadType
-  = lens _asvpUploadType
-      (\ s a -> s{_asvpUploadType = a})
-
--- | Multipart request metadata.
-asvpPayload :: Lens' AppsServicesVersionsPatch Version
-asvpPayload
-  = lens _asvpPayload (\ s a -> s{_asvpPayload = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvpVersionsId :: Lens' AppsServicesVersionsPatch Text
-asvpVersionsId
-  = lens _asvpVersionsId
-      (\ s a -> s{_asvpVersionsId = a})
-
--- | Part of \`name\`. Name of the resource to update. Example:
--- apps\/myapp\/services\/default\/versions\/1.
-asvpAppsId :: Lens' AppsServicesVersionsPatch Text
-asvpAppsId
-  = lens _asvpAppsId (\ s a -> s{_asvpAppsId = a})
-
--- | Part of \`name\`. See documentation of \`appsId\`.
-asvpServicesId :: Lens' AppsServicesVersionsPatch Text
-asvpServicesId
-  = lens _asvpServicesId
-      (\ s a -> s{_asvpServicesId = a})
-
--- | JSONP
-asvpCallback :: Lens' AppsServicesVersionsPatch (Maybe Text)
-asvpCallback
-  = lens _asvpCallback (\ s a -> s{_asvpCallback = a})
-
-instance GoogleRequest AppsServicesVersionsPatch
-         where
-        type Rs AppsServicesVersionsPatch = Operation
-        type Scopes AppsServicesVersionsPatch =
-             '["https://www.googleapis.com/auth/cloud-platform"]
-        requestClient AppsServicesVersionsPatch'{..}
-          = go _asvpAppsId _asvpServicesId _asvpVersionsId
-              _asvpXgafv
-              _asvpUploadProtocol
-              _asvpUpdateMask
-              _asvpAccessToken
-              _asvpUploadType
-              _asvpCallback
-              (Just AltJSON)
-              _asvpPayload
-              appEngineService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AppsServicesVersionsPatchResource)
-                      mempty
diff --git a/gogol-appengine.cabal b/gogol-appengine.cabal
--- a/gogol-appengine.cabal
+++ b/gogol-appengine.cabal
@@ -1,83 +1,102 @@
-name:                  gogol-appengine
-version:               0.5.0
-synopsis:              Google App Engine Admin SDK.
-homepage:              https://github.com/brendanhay/gogol
-bug-reports:           https://github.com/brendanhay/gogol/issues
-license:               OtherLicense
-license-file:          LICENSE
-author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2015-2016 Brendan Hay
-category:              Network, Google, Cloud
-build-type:            Simple
-cabal-version:         >= 1.10
-extra-source-files:    README.md src/.gitkeep
+cabal-version:      2.2
+name:               gogol-appengine
+version:            1.0.0
+synopsis:           Google App Engine Admin SDK.
+homepage:           https://github.com/brendanhay/gogol
+bug-reports:        https://github.com/brendanhay/gogol/issues
+license:            MPL-2.0
+license-file:       LICENSE
+author:             Brendan Hay
+maintainer:
+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com>
 
+copyright:          Copyright (c) 2015-2025 Brendan Hay
+category:           Google
+build-type:         Simple
+extra-source-files:
+  README.md
+  src/.gitkeep
+
 description:
-    Provisions and manages developers\' App Engine applications.
-    .
-    /Warning:/ This is an experimental prototype/preview release which is still
-    under exploratory development and not intended for public use, caveat emptor!
-    .
-    This library is compatible with version @v1@
-    of the API.
+  Provisions and manages developers\' App Engine applications.
+  .
+  /Warning:/ This is an experimental prototype/preview release which is still
+  under exploratory development and not intended for public use, caveat emptor!
+  .
+  This library is compatible with version @v1@
+  of the API.
 
 source-repository head
-    type:     git
-    location: git://github.com/brendanhay/gogol.git
+  type:     git
+  location: git://github.com/brendanhay/gogol.git
+  subdir:   gogol-appengine
 
+flag field-selectors
+  description:
+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.
+
+  default:     False
+  manual:      True
+
 library
-    default-language:  Haskell2010
-    hs-source-dirs:    src gen
+  default-language: GHC2021
+  hs-source-dirs:   src gen
+  ghc-options:
+    -Wall -fwarn-incomplete-uni-patterns
+    -fwarn-incomplete-record-updates -funbox-strict-fields
+    -fwarn-unused-packages
 
-    ghc-options:       -Wall
+  if (!flag(field-selectors) && impl(ghc >=9.2))
+    default-extensions: NoFieldSelectors
 
-    exposed-modules:
-          Network.Google.AppEngine
-        , Network.Google.AppEngine.Types
-        , Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Create
-        , Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Delete
-        , Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Get
-        , Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.List
-        , Network.Google.Resource.AppEngine.Apps.AuthorizedCertificates.Patch
-        , Network.Google.Resource.AppEngine.Apps.AuthorizedDomains.List
-        , Network.Google.Resource.AppEngine.Apps.Create
-        , Network.Google.Resource.AppEngine.Apps.DomainMAppings.Create
-        , Network.Google.Resource.AppEngine.Apps.DomainMAppings.Delete
-        , Network.Google.Resource.AppEngine.Apps.DomainMAppings.Get
-        , Network.Google.Resource.AppEngine.Apps.DomainMAppings.List
-        , Network.Google.Resource.AppEngine.Apps.DomainMAppings.Patch
-        , Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
-        , Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Create
-        , Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Delete
-        , Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Get
-        , Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.List
-        , Network.Google.Resource.AppEngine.Apps.Firewall.IngressRules.Patch
-        , Network.Google.Resource.AppEngine.Apps.Get
-        , Network.Google.Resource.AppEngine.Apps.Locations.Get
-        , Network.Google.Resource.AppEngine.Apps.Locations.List
-        , Network.Google.Resource.AppEngine.Apps.Operations.Get
-        , Network.Google.Resource.AppEngine.Apps.Operations.List
-        , Network.Google.Resource.AppEngine.Apps.Patch
-        , Network.Google.Resource.AppEngine.Apps.Repair
-        , Network.Google.Resource.AppEngine.Apps.Services.Delete
-        , Network.Google.Resource.AppEngine.Apps.Services.Get
-        , Network.Google.Resource.AppEngine.Apps.Services.List
-        , Network.Google.Resource.AppEngine.Apps.Services.Patch
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Create
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Get
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.List
-        , Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch
+  exposed-modules:
+    Gogol.AppEngine
+    Gogol.AppEngine.Apps.AuthorizedCertificates.Create
+    Gogol.AppEngine.Apps.AuthorizedCertificates.Delete
+    Gogol.AppEngine.Apps.AuthorizedCertificates.Get
+    Gogol.AppEngine.Apps.AuthorizedCertificates.List
+    Gogol.AppEngine.Apps.AuthorizedCertificates.Patch
+    Gogol.AppEngine.Apps.AuthorizedDomains.List
+    Gogol.AppEngine.Apps.Create
+    Gogol.AppEngine.Apps.DomainMappings.Create
+    Gogol.AppEngine.Apps.DomainMappings.Delete
+    Gogol.AppEngine.Apps.DomainMappings.Get
+    Gogol.AppEngine.Apps.DomainMappings.List
+    Gogol.AppEngine.Apps.DomainMappings.Patch
+    Gogol.AppEngine.Apps.Firewall.IngressRules.BatchUpdate
+    Gogol.AppEngine.Apps.Firewall.IngressRules.Create
+    Gogol.AppEngine.Apps.Firewall.IngressRules.Delete
+    Gogol.AppEngine.Apps.Firewall.IngressRules.Get
+    Gogol.AppEngine.Apps.Firewall.IngressRules.List
+    Gogol.AppEngine.Apps.Firewall.IngressRules.Patch
+    Gogol.AppEngine.Apps.Get
+    Gogol.AppEngine.Apps.ListRuntimes
+    Gogol.AppEngine.Apps.Locations.Get
+    Gogol.AppEngine.Apps.Locations.List
+    Gogol.AppEngine.Apps.Operations.Get
+    Gogol.AppEngine.Apps.Operations.List
+    Gogol.AppEngine.Apps.Patch
+    Gogol.AppEngine.Apps.Repair
+    Gogol.AppEngine.Apps.Services.Delete
+    Gogol.AppEngine.Apps.Services.Get
+    Gogol.AppEngine.Apps.Services.List
+    Gogol.AppEngine.Apps.Services.Patch
+    Gogol.AppEngine.Apps.Services.Versions.Create
+    Gogol.AppEngine.Apps.Services.Versions.Delete
+    Gogol.AppEngine.Apps.Services.Versions.Get
+    Gogol.AppEngine.Apps.Services.Versions.Instances.Debug
+    Gogol.AppEngine.Apps.Services.Versions.Instances.Delete
+    Gogol.AppEngine.Apps.Services.Versions.Instances.Get
+    Gogol.AppEngine.Apps.Services.Versions.Instances.List
+    Gogol.AppEngine.Apps.Services.Versions.List
+    Gogol.AppEngine.Apps.Services.Versions.Patch
+    Gogol.AppEngine.Projects.Locations.Applications.AuthorizedDomains.List
+    Gogol.AppEngine.Projects.Locations.Applications.Services.Delete
+    Gogol.AppEngine.Projects.Locations.Applications.Services.Versions.Delete
+    Gogol.AppEngine.Types
 
-    other-modules:
-          Network.Google.AppEngine.Types.Product
-        , Network.Google.AppEngine.Types.Sum
+  other-modules:
+    Gogol.AppEngine.Internal.Product
+    Gogol.AppEngine.Internal.Sum
 
-    build-depends:
-          gogol-core == 0.5.0.*
-        , base       >= 4.7 && < 5
+  build-depends:    gogol-core ^>=1.0.0
