-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google App Engine Admin SDK.
--   
--   Provisions and manages App Engine applications.
--   
--   <i>Warning:</i> 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 <tt>v1</tt> of the API.
@package gogol-appengine
@version 0.3.0


module Network.Google.AppEngine.Types

-- | Default request referring to version <tt>v1</tt> of the Google App
--   Engine Admin API. This contains the host and root path used as a
--   starting point for constructing service requests.
appEngineService :: ServiceConfig

-- | View your data across Google Cloud Platform services
cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]

-- | View and manage your applications deployed on Google App Engine
appEngineAdminScope :: Proxy '["https://www.googleapis.com/auth/appengine.admin"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadataExperimental</a> smart constructor.
data OperationMetadataExperimental

-- | Creates a value of <a>OperationMetadataExperimental</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omeInsertTime</a></li>
--   <li><a>omeUser</a></li>
--   <li><a>omeMethod</a></li>
--   <li><a>omeEndTime</a></li>
--   <li><a>omeTarget</a></li>
--   </ul>
operationMetadataExperimental :: OperationMetadataExperimental

-- | Time that this operation was created.'OutputOnly
omeInsertTime :: Lens' OperationMetadataExperimental (Maybe Text)

-- | User who requested this operation.'OutputOnly
omeUser :: Lens' OperationMetadataExperimental (Maybe Text)

-- | API method that initiated this operation. Example:
--   google.appengine.experimental.CustomDomains.CreateCustomDomain.'OutputOnly
omeMethod :: Lens' OperationMetadataExperimental (Maybe Text)

-- | Time that this operation completed.'OutputOnly
omeEndTime :: Lens' OperationMetadataExperimental (Maybe Text)

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/customDomains/example.com.'OutputOnly
omeTarget :: Lens' OperationMetadataExperimental (Maybe Text)

-- | Target scaling by network usage. Only applicable for VM runtimes.
--   
--   <i>See:</i> <a>networkUtilization</a> smart constructor.
data NetworkUtilization

-- | Creates a value of <a>NetworkUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nuTargetReceivedBytesPerSecond</a></li>
--   <li><a>nuTargetSentPacketsPerSecond</a></li>
--   <li><a>nuTargetReceivedPacketsPerSecond</a></li>
--   <li><a>nuTargetSentBytesPerSecond</a></li>
--   </ul>
networkUtilization :: NetworkUtilization

-- | Target bytes received per second.
nuTargetReceivedBytesPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | Target packets sent per second.
nuTargetSentPacketsPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | Target packets received per second.
nuTargetReceivedPacketsPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | Target bytes sent per second.
nuTargetSentBytesPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | 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 which 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 purpose. 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.
--   
--   <i>See:</i> <a>status</a> smart constructor.
data Status

-- | Creates a value of <a>Status</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sDetails</a></li>
--   <li><a>sCode</a></li>
--   <li><a>sMessage</a></li>
--   </ul>
status :: Status

-- | A list of messages that carry the error details. There will be a
--   common set of message types for APIs to use.
sDetails :: Lens' Status [StatusDetailsItem]

-- | The status code, which should be an enum value of google.rpc.Code.
sCode :: Lens' Status (Maybe Int32)

-- | 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)

-- | 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.
--   
--   <i>See:</i> <a>operationSchema</a> smart constructor.
data OperationSchema

-- | Creates a value of <a>OperationSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osAddtional</a></li>
--   </ul>
operationSchema :: HashMap Text JSONValue -> OperationSchema

-- | Properties of the object. Contains field 'type with type URL.
osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)

-- | Service-specific metadata. For example the available capacity at the
--   given location.
--   
--   <i>See:</i> <a>locationSchema</a> smart constructor.
data LocationSchema

-- | Creates a value of <a>LocationSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsAddtional</a></li>
--   </ul>
locationSchema :: HashMap Text JSONValue -> LocationSchema

-- | Properties of the object. Contains field 'type with type URL.
lsAddtional :: Lens' LocationSchema (HashMap Text JSONValue)

-- | Traffic routing configuration for versions within a single service.
--   Traffic splits define how traffic directed to the service is assigned
--   to versions.
--   
--   <i>See:</i> <a>trafficSplit</a> smart constructor.
data TrafficSplit

-- | Creates a value of <a>TrafficSplit</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsShardBy</a></li>
--   <li><a>tsAllocations</a></li>
--   </ul>
trafficSplit :: TrafficSplit

-- | 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 Text)

-- | 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)

-- | Executes a script to handle the request that matches the URL pattern.
--   
--   <i>See:</i> <a>scriptHandler</a> smart constructor.
data ScriptHandler

-- | Creates a value of <a>ScriptHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>shScriptPath</a></li>
--   </ul>
scriptHandler :: ScriptHandler

-- | Path to the script from the application root directory.
shScriptPath :: Lens' ScriptHandler (Maybe Text)

-- | Response message for Services.ListServices.
--   
--   <i>See:</i> <a>listServicesResponse</a> smart constructor.
data ListServicesResponse

-- | Creates a value of <a>ListServicesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsrNextPageToken</a></li>
--   <li><a>lsrServices</a></li>
--   </ul>
listServicesResponse :: ListServicesResponse

-- | Continuation token for fetching the next page of results.
lsrNextPageToken :: Lens' ListServicesResponse (Maybe Text)

-- | The services belonging to the requested application.
lsrServices :: Lens' ListServicesResponse [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.
--   
--   <i>See:</i> <a>urlMap</a> smart constructor.
data URLMap

-- | Creates a value of <a>URLMap</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>umScript</a></li>
--   <li><a>umSecurityLevel</a></li>
--   <li><a>umAPIEndpoint</a></li>
--   <li><a>umURLRegex</a></li>
--   <li><a>umRedirectHTTPResponseCode</a></li>
--   <li><a>umAuthFailAction</a></li>
--   <li><a>umStaticFiles</a></li>
--   <li><a>umLogin</a></li>
--   </ul>
urlMap :: URLMap

-- | Executes a script to handle the request that matches this URL pattern.
umScript :: Lens' URLMap (Maybe ScriptHandler)

-- | Security (HTTPS) enforcement for this URL.
umSecurityLevel :: Lens' URLMap (Maybe Text)

-- | Uses API Endpoints to handle requests.
umAPIEndpoint :: Lens' URLMap (Maybe APIEndpointHandler)

-- | 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)

-- | 30x code to use when performing redirects for the secure field.
--   Defaults to 302.
umRedirectHTTPResponseCode :: Lens' URLMap (Maybe Text)

-- | Action to take when users access resources that require
--   authentication. Defaults to redirect.
umAuthFailAction :: Lens' URLMap (Maybe Text)

-- | Returns the contents of a file, such as an image, as the response.
umStaticFiles :: Lens' URLMap (Maybe StaticFilesHandler)

-- | Level of login required to access this resource.
umLogin :: Lens' URLMap (Maybe Text)

-- | Third-party Python runtime library that is required by the
--   application.
--   
--   <i>See:</i> <a>library</a> smart constructor.
data Library

-- | Creates a value of <a>Library</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lName</a></li>
--   <li><a>lVersion</a></li>
--   </ul>
library :: Library

-- | Name of the library. Example: "django".
lName :: Lens' Library (Maybe Text)

-- | Version of the library to select, or "latest".
lVersion :: Lens' Library (Maybe Text)

-- | The response message for LocationService.ListLocations.
--   
--   <i>See:</i> <a>listLocationsResponse</a> smart constructor.
data ListLocationsResponse

-- | Creates a value of <a>ListLocationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llrNextPageToken</a></li>
--   <li><a>llrLocations</a></li>
--   </ul>
listLocationsResponse :: ListLocationsResponse

-- | The standard List next-page token.
llrNextPageToken :: Lens' ListLocationsResponse (Maybe Text)

-- | A list of locations that matches the specified filter in the request.
llrLocations :: Lens' ListLocationsResponse [Location]

-- | Target scaling by disk usage. Only applicable for VM runtimes.
--   
--   <i>See:</i> <a>diskUtilization</a> smart constructor.
data DiskUtilization

-- | Creates a value of <a>DiskUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>duTargetReadBytesPerSecond</a></li>
--   <li><a>duTargetReadOpsPerSecond</a></li>
--   <li><a>duTargetWriteOpsPerSecond</a></li>
--   <li><a>duTargetWriteBytesPerSecond</a></li>
--   </ul>
diskUtilization :: DiskUtilization

-- | Target bytes read per second.
duTargetReadBytesPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | Target ops read per seconds.
duTargetReadOpsPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | Target ops written per second.
duTargetWriteOpsPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | Target bytes written per second.
duTargetWriteBytesPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | The response message for Operations.ListOperations.
--   
--   <i>See:</i> <a>listOperationsResponse</a> smart constructor.
data ListOperationsResponse

-- | Creates a value of <a>ListOperationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lorNextPageToken</a></li>
--   <li><a>lorOperations</a></li>
--   </ul>
listOperationsResponse :: ListOperationsResponse

-- | The standard List next-page token.
lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)

-- | A list of operations that matches the specified filter in the request.
lorOperations :: Lens' ListOperationsResponse [Operation]

-- | Health checking configuration for VM instances. Unhealthy instances
--   are killed and replaced with new instances. Only applicable for
--   instances in App Engine flexible environment.
--   
--   <i>See:</i> <a>healthCheck</a> smart constructor.
data HealthCheck

-- | Creates a value of <a>HealthCheck</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hcHealthyThreshold</a></li>
--   <li><a>hcDisableHealthCheck</a></li>
--   <li><a>hcCheckInterval</a></li>
--   <li><a>hcRestartThreshold</a></li>
--   <li><a>hcHost</a></li>
--   <li><a>hcTimeout</a></li>
--   <li><a>hcUnhealthyThreshold</a></li>
--   </ul>
healthCheck :: HealthCheck

-- | Number of consecutive successful health checks required before
--   receiving traffic.
hcHealthyThreshold :: Lens' HealthCheck (Maybe Word32)

-- | Whether to explicitly disable health checks for this instance.
hcDisableHealthCheck :: Lens' HealthCheck (Maybe Bool)

-- | Interval between health checks.
hcCheckInterval :: Lens' HealthCheck (Maybe Text)

-- | Number of consecutive failed health checks required before an instance
--   is restarted.
hcRestartThreshold :: Lens' HealthCheck (Maybe Word32)

-- | Host header to send when performing an HTTP health check. Example:
--   "myapp.appspot.com"
hcHost :: Lens' HealthCheck (Maybe Text)

-- | Time before the health check is considered failed.
hcTimeout :: Lens' HealthCheck (Maybe Text)

-- | Number of consecutive failed health checks required before removing
--   traffic.
hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Word32)

-- | Google Cloud Endpoints
--   (https://cloud.google.com/appengine/docs/python/endpoints/)
--   configuration for API handlers.
--   
--   <i>See:</i> <a>apiConfigHandler</a> smart constructor.
data APIConfigHandler

-- | Creates a value of <a>APIConfigHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>achScript</a></li>
--   <li><a>achSecurityLevel</a></li>
--   <li><a>achURL</a></li>
--   <li><a>achAuthFailAction</a></li>
--   <li><a>achLogin</a></li>
--   </ul>
apiConfigHandler :: APIConfigHandler

-- | Path to the script from the application root directory.
achScript :: Lens' APIConfigHandler (Maybe Text)

-- | Security (HTTPS) enforcement for this URL.
achSecurityLevel :: Lens' APIConfigHandler (Maybe Text)

-- | URL to serve the endpoint at.
achURL :: Lens' APIConfigHandler (Maybe Text)

-- | Action to take when users access resources that require
--   authentication. Defaults to redirect.
achAuthFailAction :: Lens' APIConfigHandler (Maybe Text)

-- | Level of login required to access this resource. Defaults to optional.
achLogin :: Lens' APIConfigHandler (Maybe Text)

-- | Environment variables available to the application.Only returned in
--   GET requests if view=FULL is set.
--   
--   <i>See:</i> <a>versionEnvVariables</a> smart constructor.
data VersionEnvVariables

-- | Creates a value of <a>VersionEnvVariables</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vevAddtional</a></li>
--   </ul>
versionEnvVariables :: HashMap Text Text -> VersionEnvVariables
vevAddtional :: Lens' VersionEnvVariables (HashMap Text Text)

-- | An Application resource contains the top-level configuration of an App
--   Engine application.
--   
--   <i>See:</i> <a>application</a> smart constructor.
data Application

-- | Creates a value of <a>Application</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aDefaultHostname</a></li>
--   <li><a>aDefaultCookieExpiration</a></li>
--   <li><a>aAuthDomain</a></li>
--   <li><a>aCodeBucket</a></li>
--   <li><a>aName</a></li>
--   <li><a>aDispatchRules</a></li>
--   <li><a>aDefaultBucket</a></li>
--   <li><a>aId</a></li>
--   <li><a>aLocationId</a></li>
--   </ul>
application :: Application

-- | Hostname used to reach this application, as resolved by App
--   Engine.'OutputOnly
aDefaultHostname :: Lens' Application (Maybe Text)

-- | Cookie expiration policy for this application.
aDefaultCookieExpiration :: Lens' Application (Maybe Text)

-- | 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)

-- | 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)

-- | Full path to the Application resource in the API. Example:
--   apps/myapp.'OutputOnly
aName :: Lens' Application (Maybe Text)

-- | HTTP path dispatch rules for requests to the application that do not
--   explicitly target a service or version. Rules are
--   order-dependent.'OutputOnly
aDispatchRules :: Lens' Application [URLDispatchRule]

-- | Google Cloud Storage bucket that can be used by this application to
--   store content.'OutputOnly
aDefaultBucket :: Lens' Application (Maybe Text)

-- | 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)

-- | Location from which this application will be run. Application
--   instances will run out of data centers in the chosen location, which
--   is also where all of the application's end user content is
--   stored.Defaults to us-central.Options are:us-central - Central
--   USeurope-west - Western Europeus-east1 - Eastern US
aLocationId :: Lens' Application (Maybe Text)

-- | Metadata settings that are supplied to this version to enable beta
--   runtime features.
--   
--   <i>See:</i> <a>versionBetaSettings</a> smart constructor.
data VersionBetaSettings

-- | Creates a value of <a>VersionBetaSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vbsAddtional</a></li>
--   </ul>
versionBetaSettings :: HashMap Text Text -> VersionBetaSettings
vbsAddtional :: Lens' VersionBetaSettings (HashMap Text Text)

-- | 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.
--   
--   <i>See:</i> <a>service</a> smart constructor.
data Service

-- | Creates a value of <a>Service</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sSplit</a></li>
--   <li><a>sName</a></li>
--   <li><a>sId</a></li>
--   </ul>
service :: Service

-- | Mapping that defines fractional HTTP traffic diversion to different
--   versions within the service.
sSplit :: Lens' Service (Maybe TrafficSplit)

-- | Full path to the Service resource in the API. Example:
--   apps/myapp/services/default.'OutputOnly
sName :: Lens' Service (Maybe Text)

-- | Relative name of the service within the application. Example:
--   default.'OutputOnly
sId :: Lens' Service (Maybe Text)

-- | 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.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).
--   
--   <i>See:</i> <a>endpointsAPIService</a> smart constructor.
data EndpointsAPIService

-- | Creates a value of <a>EndpointsAPIService</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>easName</a></li>
--   <li><a>easConfigId</a></li>
--   </ul>
endpointsAPIService :: EndpointsAPIService

-- | 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)

-- | Endpoints service configuration id as specified by the Service
--   Management API. For example "2016-09-19r1"
easConfigId :: Lens' EndpointsAPIService (Maybe Text)

-- | A resource that represents Google Cloud Platform location.
--   
--   <i>See:</i> <a>location</a> smart constructor.
data Location

-- | Creates a value of <a>Location</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>locName</a></li>
--   <li><a>locMetadata</a></li>
--   <li><a>locLabels</a></li>
--   <li><a>locLocationId</a></li>
--   </ul>
location :: Location

-- | Resource name for the location, which may vary between
--   implementations. For example:
--   "projects/example-project/locations/us-east1"
locName :: Lens' Location (Maybe Text)

-- | Service-specific metadata. For example the available capacity at the
--   given location.
locMetadata :: Lens' Location (Maybe LocationSchema)

-- | Cross-service attributes for the location. For example
--   {"cloud.googleapis.com/region": "us-east1"}
locLabels :: Lens' Location (Maybe LocationLabels)

-- | The canonical id for this location. For example: "us-east1".
locLocationId :: Lens' Location (Maybe Text)

-- | This resource represents a long-running operation that is the result
--   of a network API call.
--   
--   <i>See:</i> <a>operation</a> smart constructor.
data Operation

-- | Creates a value of <a>Operation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oDone</a></li>
--   <li><a>oError</a></li>
--   <li><a>oResponse</a></li>
--   <li><a>oName</a></li>
--   <li><a>oMetadata</a></li>
--   </ul>
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.
oDone :: Lens' Operation (Maybe Bool)

-- | The error result of the operation in case of failure or cancellation.
oError :: Lens' Operation (Maybe Status)

-- | 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)

-- | 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)

-- | 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 OperationSchema)

-- | The zip file information for a zip deployment.
--   
--   <i>See:</i> <a>zipInfo</a> smart constructor.
data ZipInfo

-- | Creates a value of <a>ZipInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ziFilesCount</a></li>
--   <li><a>ziSourceURL</a></li>
--   </ul>
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.
ziFilesCount :: Lens' ZipInfo (Maybe 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//'.
ziSourceURL :: Lens' ZipInfo (Maybe Text)

-- | Rules to match an HTTP request and dispatch that request to a service.
--   
--   <i>See:</i> <a>urlDispatchRule</a> smart constructor.
data URLDispatchRule

-- | Creates a value of <a>URLDispatchRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udrPath</a></li>
--   <li><a>udrService</a></li>
--   <li><a>udrDomain</a></li>
--   </ul>
urlDispatchRule :: URLDispatchRule

-- | 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)

-- | 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)

-- | Domain name to match against. The wildcard "*" is supported if
--   specified before a period: "*.".Defaults to matching all domains: "*".
udrDomain :: Lens' URLDispatchRule (Maybe Text)

-- | Response message for Versions.ListVersions.
--   
--   <i>See:</i> <a>listVersionsResponse</a> smart constructor.
data ListVersionsResponse

-- | Creates a value of <a>ListVersionsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lvrNextPageToken</a></li>
--   <li><a>lvrVersions</a></li>
--   </ul>
listVersionsResponse :: ListVersionsResponse

-- | Continuation token for fetching the next page of results.
lvrNextPageToken :: Lens' ListVersionsResponse (Maybe Text)

-- | The versions belonging to the requested service.
lvrVersions :: Lens' ListVersionsResponse [Version]

-- | Single source file that is part of the version to be deployed. Each
--   source file that is deployed must be specified separately.
--   
--   <i>See:</i> <a>fileInfo</a> smart constructor.
data FileInfo

-- | Creates a value of <a>FileInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fiSha1Sum</a></li>
--   <li><a>fiMimeType</a></li>
--   <li><a>fiSourceURL</a></li>
--   </ul>
fileInfo :: FileInfo

-- | The SHA1 hash of the file, in hex.
fiSha1Sum :: Lens' FileInfo (Maybe Text)

-- | The MIME type of the file.Defaults to the value from Google Cloud
--   Storage.
fiMimeType :: Lens' FileInfo (Maybe 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//'.
fiSourceURL :: Lens' FileInfo (Maybe Text)

-- | Automatic scaling is based on request rate, response latencies, and
--   other application metrics.
--   
--   <i>See:</i> <a>automaticScaling</a> smart constructor.
data AutomaticScaling

-- | Creates a value of <a>AutomaticScaling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asNetworkUtilization</a></li>
--   <li><a>asMaxTotalInstances</a></li>
--   <li><a>asMinIdleInstances</a></li>
--   <li><a>asDiskUtilization</a></li>
--   <li><a>asMinPendingLatency</a></li>
--   <li><a>asCPUUtilization</a></li>
--   <li><a>asMaxIdleInstances</a></li>
--   <li><a>asMinTotalInstances</a></li>
--   <li><a>asMaxConcurrentRequests</a></li>
--   <li><a>asCoolDownPeriod</a></li>
--   <li><a>asRequestUtilization</a></li>
--   <li><a>asMaxPendingLatency</a></li>
--   </ul>
automaticScaling :: AutomaticScaling

-- | Target scaling by network usage.
asNetworkUtilization :: Lens' AutomaticScaling (Maybe NetworkUtilization)

-- | Maximum number of instances that should be started to handle requests.
asMaxTotalInstances :: Lens' AutomaticScaling (Maybe Int32)

-- | 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)

-- | Target scaling by disk usage.
asDiskUtilization :: Lens' AutomaticScaling (Maybe DiskUtilization)

-- | Minimum amount of time a request should wait in the pending queue
--   before starting a new instance to handle it.
asMinPendingLatency :: Lens' AutomaticScaling (Maybe Text)

-- | Target scaling by CPU usage.
asCPUUtilization :: Lens' AutomaticScaling (Maybe CPUUtilization)

-- | Maximum number of idle instances that should be maintained for this
--   version.
asMaxIdleInstances :: Lens' AutomaticScaling (Maybe Int32)

-- | Minimum number of instances that should be maintained for this
--   version.
asMinTotalInstances :: Lens' AutomaticScaling (Maybe Int32)

-- | 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)

-- | Amount of time that the Autoscaler
--   (https://cloud.google.com/compute/docs/autoscaler/) should wait
--   between changes to the number of virtual machines. Only applicable for
--   VM runtimes.
asCoolDownPeriod :: Lens' AutomaticScaling (Maybe Text)

-- | Target scaling by request utilization.
asRequestUtilization :: Lens' AutomaticScaling (Maybe RequestUtilization)

-- | 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 Text)

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadataV1Beta5</a> smart constructor.
data OperationMetadataV1Beta5

-- | Creates a value of <a>OperationMetadataV1Beta5</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omvbInsertTime</a></li>
--   <li><a>omvbUser</a></li>
--   <li><a>omvbMethod</a></li>
--   <li><a>omvbEndTime</a></li>
--   <li><a>omvbTarget</a></li>
--   </ul>
operationMetadataV1Beta5 :: OperationMetadataV1Beta5

-- | Timestamp that this operation was created.'OutputOnly
omvbInsertTime :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | User who requested this operation.'OutputOnly
omvbUser :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | API method name that initiated this operation. Example:
--   google.appengine.v1beta5.Version.CreateVersion.'OutputOnly
omvbMethod :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | Timestamp that this operation completed.'OutputOnly
omvbEndTime :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/services/default.'OutputOnly
omvbTarget :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | Volumes mounted within the app container. Only applicable for VM
--   runtimes.
--   
--   <i>See:</i> <a>volume</a> smart constructor.
data Volume

-- | Creates a value of <a>Volume</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vSizeGb</a></li>
--   <li><a>vName</a></li>
--   <li><a>vVolumeType</a></li>
--   </ul>
volume :: Volume

-- | Volume size in gigabytes.
vSizeGb :: Lens' Volume (Maybe Double)

-- | Unique name for the volume.
vName :: Lens' Volume (Maybe Text)

-- | Underlying volume type, e.g. 'tmpfs'.
vVolumeType :: Lens' Volume (Maybe Text)

-- | Uses Google Cloud Endpoints to handle requests.
--   
--   <i>See:</i> <a>apiEndpointHandler</a> smart constructor.
data APIEndpointHandler

-- | Creates a value of <a>APIEndpointHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aehScriptPath</a></li>
--   </ul>
apiEndpointHandler :: APIEndpointHandler

-- | Path to the script from the application root directory.
aehScriptPath :: Lens' APIEndpointHandler (Maybe Text)
data StatusDetailsItem

-- | Creates a value of <a>StatusDetailsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiAddtional</a></li>
--   </ul>
statusDetailsItem :: HashMap Text JSONValue -> StatusDetailsItem

-- | Properties of the object. Contains field 'type with type URL.
sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)

-- | Extra network settings. Only applicable for VM runtimes.
--   
--   <i>See:</i> <a>network</a> smart constructor.
data Network

-- | Creates a value of <a>Network</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nSubnetworkName</a></li>
--   <li><a>nForwardedPorts</a></li>
--   <li><a>nInstanceTag</a></li>
--   <li><a>nName</a></li>
--   </ul>
network :: Network

-- | 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 the VM instance is being
--   created in is a Legacy network, then the IP address is allocated from
--   the IPv4Range. If the network the VM 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 the VM 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 Flex app.
nSubnetworkName :: Lens' Network (Maybe Text)

-- | List of ports, or port pairs, to forward from the virtual machine to
--   the application container.
nForwardedPorts :: Lens' Network [Text]

-- | Tag to apply to the VM instance during creation.
nInstanceTag :: Lens' Network (Maybe Text)

-- | Google Cloud Platform network where the virtual machines are created.
--   Specify the short name, not the resource path.Defaults to default.
nName :: Lens' Network (Maybe Text)

-- | Request message for Instances.DebugInstance.
--   
--   <i>See:</i> <a>debugInstanceRequest</a> smart constructor.
data DebugInstanceRequest

-- | Creates a value of <a>DebugInstanceRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dirSSHKey</a></li>
--   </ul>
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).
dirSSHKey :: Lens' DebugInstanceRequest (Maybe Text)

-- | HTTP headers to use for all responses from these URLs.
--   
--   <i>See:</i> <a>staticFilesHandlerHTTPHeaders</a> smart constructor.
data StaticFilesHandlerHTTPHeaders

-- | Creates a value of <a>StaticFilesHandlerHTTPHeaders</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfhhttphAddtional</a></li>
--   </ul>
staticFilesHandlerHTTPHeaders :: HashMap Text Text -> StaticFilesHandlerHTTPHeaders
sfhhttphAddtional :: Lens' StaticFilesHandlerHTTPHeaders (HashMap Text Text)

-- | Machine resources for a version.
--   
--   <i>See:</i> <a>resources</a> smart constructor.
data Resources

-- | Creates a value of <a>Resources</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rMemoryGb</a></li>
--   <li><a>rDiskGb</a></li>
--   <li><a>rVolumes</a></li>
--   <li><a>rCPU</a></li>
--   </ul>
resources :: Resources

-- | Memory (GB) needed.
rMemoryGb :: Lens' Resources (Maybe Double)

-- | Disk size (GB) needed.
rDiskGb :: Lens' Resources (Maybe Double)

-- | User specified volumes.
rVolumes :: Lens' Resources [Volume]

-- | Number of CPU cores needed.
rCPU :: Lens' Resources (Maybe Double)

-- | 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.
--   
--   <i>See:</i> <a>deploymentFiles</a> smart constructor.
data DeploymentFiles

-- | Creates a value of <a>DeploymentFiles</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfAddtional</a></li>
--   </ul>
deploymentFiles :: HashMap Text FileInfo -> DeploymentFiles
dfAddtional :: Lens' DeploymentFiles (HashMap Text FileInfo)

-- | Target scaling by CPU usage.
--   
--   <i>See:</i> <a>cpuUtilization</a> smart constructor.
data CPUUtilization

-- | Creates a value of <a>CPUUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cuAggregationWindowLength</a></li>
--   <li><a>cuTargetUtilization</a></li>
--   </ul>
cpuUtilization :: CPUUtilization

-- | Period of time over which CPU utilization is calculated.
cuAggregationWindowLength :: Lens' CPUUtilization (Maybe Text)

-- | Target CPU utilization ratio to maintain when scaling. Must be between
--   0 and 1.
cuTargetUtilization :: Lens' CPUUtilization (Maybe Double)

-- | 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.
--   
--   <i>See:</i> <a>trafficSplitAllocations</a> smart constructor.
data TrafficSplitAllocations

-- | Creates a value of <a>TrafficSplitAllocations</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsaAddtional</a></li>
--   </ul>
trafficSplitAllocations :: HashMap Text Double -> TrafficSplitAllocations
tsaAddtional :: Lens' TrafficSplitAllocations (HashMap Text Double)

-- | A service with manual scaling runs continuously, allowing you to
--   perform complex initialization and rely on the state of its memory
--   over time.
--   
--   <i>See:</i> <a>manualScaling</a> smart constructor.
data ManualScaling

-- | Creates a value of <a>ManualScaling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>msInstances</a></li>
--   </ul>
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.
msInstances :: Lens' ManualScaling (Maybe Int32)

-- | 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.
--   
--   <i>See:</i> <a>basicScaling</a> smart constructor.
data BasicScaling

-- | Creates a value of <a>BasicScaling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bsMaxInstances</a></li>
--   <li><a>bsIdleTimeout</a></li>
--   </ul>
basicScaling :: BasicScaling

-- | Maximum number of instances to create for this version.
bsMaxInstances :: Lens' BasicScaling (Maybe Int32)

-- | Duration of time after the last request that an instance must wait
--   before the instance is shut down.
bsIdleTimeout :: Lens' BasicScaling (Maybe Text)

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadataV1</a> smart constructor.
data OperationMetadataV1

-- | Creates a value of <a>OperationMetadataV1</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omvEphemeralMessage</a></li>
--   <li><a>omvInsertTime</a></li>
--   <li><a>omvUser</a></li>
--   <li><a>omvMethod</a></li>
--   <li><a>omvEndTime</a></li>
--   <li><a>omvWarning</a></li>
--   <li><a>omvTarget</a></li>
--   </ul>
operationMetadataV1 :: OperationMetadataV1

-- | Ephemeral message that may change every time the operation is polled.
--   'OutputOnly
omvEphemeralMessage :: Lens' OperationMetadataV1 (Maybe Text)

-- | Time that this operation was created.'OutputOnly
omvInsertTime :: Lens' OperationMetadataV1 (Maybe Text)

-- | User who requested this operation.'OutputOnly
omvUser :: Lens' OperationMetadataV1 (Maybe Text)

-- | API method that initiated this operation. Example:
--   google.appengine.v1.Versions.CreateVersion.'OutputOnly
omvMethod :: Lens' OperationMetadataV1 (Maybe Text)

-- | Time that this operation completed.'OutputOnly
omvEndTime :: Lens' OperationMetadataV1 (Maybe Text)

-- | Durable messages that persist on every operation poll. 'OutputOnly
omvWarning :: Lens' OperationMetadataV1 [Text]

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/services/default.'OutputOnly
omvTarget :: Lens' OperationMetadataV1 (Maybe Text)

-- | A Version resource is a specific set of source code and configuration
--   files that are deployed into a service.
--   
--   <i>See:</i> <a>version</a> smart constructor.
data Version

-- | Creates a value of <a>Version</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>verRuntime</a></li>
--   <li><a>verNobuildFilesRegex</a></li>
--   <li><a>verInstanceClass</a></li>
--   <li><a>verHealthCheck</a></li>
--   <li><a>verEndpointsAPIService</a></li>
--   <li><a>verEnv</a></li>
--   <li><a>verDefaultExpiration</a></li>
--   <li><a>verAutomaticScaling</a></li>
--   <li><a>verErrorHandlers</a></li>
--   <li><a>verCreatedBy</a></li>
--   <li><a>verVM</a></li>
--   <li><a>verHandlers</a></li>
--   <li><a>verInboundServices</a></li>
--   <li><a>verNetwork</a></li>
--   <li><a>verResources</a></li>
--   <li><a>verName</a></li>
--   <li><a>verThreadsafe</a></li>
--   <li><a>verBetaSettings</a></li>
--   <li><a>verBasicScaling</a></li>
--   <li><a>verManualScaling</a></li>
--   <li><a>verAPIConfig</a></li>
--   <li><a>verId</a></li>
--   <li><a>verEnvVariables</a></li>
--   <li><a>verServingStatus</a></li>
--   <li><a>verDiskUsageBytes</a></li>
--   <li><a>verCreateTime</a></li>
--   <li><a>verLibraries</a></li>
--   <li><a>verVersionURL</a></li>
--   <li><a>verDeployment</a></li>
--   </ul>
version :: Version

-- | Desired runtime. Example: python27.
verRuntime :: Lens' Version (Maybe Text)

-- | 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)

-- | 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)

-- | Configures health checking for VM instances. Unhealthy instances are
--   stopped and replaced with new instances. Only applicable for VM
--   runtimes.Only returned in GET requests if view=FULL is set.
verHealthCheck :: Lens' Version (Maybe HealthCheck)

-- | 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)

-- | App Engine execution environment for this version.Defaults to
--   standard.
verEnv :: Lens' Version (Maybe 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.
verDefaultExpiration :: Lens' Version (Maybe Text)

-- | Automatic scaling is based on request rate, response latencies, and
--   other application metrics.
verAutomaticScaling :: Lens' Version (Maybe AutomaticScaling)

-- | Custom static error pages. Limited to 10KB per page.Only returned in
--   GET requests if view=FULL is set.
verErrorHandlers :: Lens' Version [ErrorHandler]

-- | Email address of the user who created this version.'OutputOnly
verCreatedBy :: Lens' Version (Maybe Text)

-- | Whether to deploy this version in a container on a virtual machine.
verVM :: Lens' Version (Maybe Bool)

-- | 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]

-- | Before an application can receive email or XMPP messages, the
--   application must be configured to enable the service.
verInboundServices :: Lens' Version [Text]

-- | Extra network settings. Only applicable for VM runtimes.
verNetwork :: Lens' Version (Maybe Network)

-- | Machine resources for this version. Only applicable for VM runtimes.
verResources :: Lens' Version (Maybe Resources)

-- | Full path to the Version resource in the API. Example:
--   apps/myapp/services/default/versions/v1.'OutputOnly
verName :: Lens' Version (Maybe Text)

-- | Whether multiple requests can be dispatched to this version at once.
verThreadsafe :: Lens' Version (Maybe Bool)

-- | Metadata settings that are supplied to this version to enable beta
--   runtime features.
verBetaSettings :: Lens' Version (Maybe VersionBetaSettings)

-- | 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)

-- | 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)

-- | 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)

-- | 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)

-- | Environment variables available to the application.Only returned in
--   GET requests if view=FULL is set.
verEnvVariables :: Lens' Version (Maybe VersionEnvVariables)

-- | 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 Text)

-- | Total size in bytes of all the files that are included in this version
--   and curerntly hosted on the App Engine disk.'OutputOnly
verDiskUsageBytes :: Lens' Version (Maybe Int64)

-- | Time that this version was created.'OutputOnly
verCreateTime :: Lens' Version (Maybe Text)

-- | 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]

-- | Serving URL for this version. Example:
--   "https://myversion-dot-myservice-dot-myapp.appspot.com"'OutputOnly
verVersionURL :: Lens' Version (Maybe Text)

-- | Code and application artifacts that make up this version.Only returned
--   in GET requests if view=FULL is set.
verDeployment :: Lens' Version (Maybe Deployment)

-- | 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.
--   
--   <i>See:</i> <a>staticFilesHandler</a> smart constructor.
data StaticFilesHandler

-- | Creates a value of <a>StaticFilesHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfhHTTPHeaders</a></li>
--   <li><a>sfhPath</a></li>
--   <li><a>sfhRequireMatchingFile</a></li>
--   <li><a>sfhExpiration</a></li>
--   <li><a>sfhMimeType</a></li>
--   <li><a>sfhApplicationReadable</a></li>
--   <li><a>sfhUploadPathRegex</a></li>
--   </ul>
staticFilesHandler :: StaticFilesHandler

-- | HTTP headers to use for all responses from these URLs.
sfhHTTPHeaders :: Lens' StaticFilesHandler (Maybe StaticFilesHandlerHTTPHeaders)

-- | 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)

-- | Whether this handler should match the request if the file referenced
--   by the handler does not exist.
sfhRequireMatchingFile :: Lens' StaticFilesHandler (Maybe Bool)

-- | Time a static file served by this handler should be cached by web
--   proxies and browsers.
sfhExpiration :: Lens' StaticFilesHandler (Maybe Text)

-- | 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)

-- | 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)

-- | Regular expression that matches the file paths for all files that
--   should be referenced by this handler.
sfhUploadPathRegex :: Lens' StaticFilesHandler (Maybe Text)

-- | Custom static error page to be served when an error occurs.
--   
--   <i>See:</i> <a>errorHandler</a> smart constructor.
data ErrorHandler

-- | Creates a value of <a>ErrorHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ehMimeType</a></li>
--   <li><a>ehErrorCode</a></li>
--   <li><a>ehStaticFile</a></li>
--   </ul>
errorHandler :: ErrorHandler

-- | MIME type of file. Defaults to text/html.
ehMimeType :: Lens' ErrorHandler (Maybe Text)

-- | Error condition this handler applies to.
ehErrorCode :: Lens' ErrorHandler (Maybe Text)

-- | Static file content to be served for this error.
ehStaticFile :: Lens' ErrorHandler (Maybe Text)

-- | Cross-service attributes for the location. For example
--   {"cloud.googleapis.com/region": "us-east1"}
--   
--   <i>See:</i> <a>locationLabels</a> smart constructor.
data LocationLabels

-- | Creates a value of <a>LocationLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llAddtional</a></li>
--   </ul>
locationLabels :: HashMap Text Text -> LocationLabels
llAddtional :: Lens' LocationLabels (HashMap Text Text)

-- | Metadata for the given google.cloud.location.Location.
--   
--   <i>See:</i> <a>locationMetadata</a> smart constructor.
data LocationMetadata

-- | Creates a value of <a>LocationMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lmStandardEnvironmentAvailable</a></li>
--   <li><a>lmFlexibleEnvironmentAvailable</a></li>
--   </ul>
locationMetadata :: LocationMetadata

-- | App Engine Standard Environment is available in the given
--   location.'OutputOnly
lmStandardEnvironmentAvailable :: Lens' LocationMetadata (Maybe Bool)

-- | App Engine Flexible Environment is available in the given
--   location.'OutputOnly
lmFlexibleEnvironmentAvailable :: Lens' LocationMetadata (Maybe Bool)

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadata</a> smart constructor.
data OperationMetadata

-- | Creates a value of <a>OperationMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omInsertTime</a></li>
--   <li><a>omUser</a></li>
--   <li><a>omMethod</a></li>
--   <li><a>omEndTime</a></li>
--   <li><a>omOperationType</a></li>
--   <li><a>omTarget</a></li>
--   </ul>
operationMetadata :: OperationMetadata

-- | Timestamp that this operation was created.'OutputOnly
omInsertTime :: Lens' OperationMetadata (Maybe Text)

-- | User who requested this operation.'OutputOnly
omUser :: Lens' OperationMetadata (Maybe Text)

-- | API method that initiated this operation. Example:
--   google.appengine.v1beta4.Version.CreateVersion.'OutputOnly
omMethod :: Lens' OperationMetadata (Maybe Text)

-- | Timestamp that this operation completed.'OutputOnly
omEndTime :: Lens' OperationMetadata (Maybe Text)

-- | Type of this operation. Deprecated, use method field instead. Example:
--   "create_version".'OutputOnly
omOperationType :: Lens' OperationMetadata (Maybe Text)

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/modules/default.'OutputOnly
omTarget :: Lens' OperationMetadata (Maybe Text)

-- | Response message for Instances.ListInstances.
--   
--   <i>See:</i> <a>listInstancesResponse</a> smart constructor.
data ListInstancesResponse

-- | Creates a value of <a>ListInstancesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lirNextPageToken</a></li>
--   <li><a>lirInstances</a></li>
--   </ul>
listInstancesResponse :: ListInstancesResponse

-- | Continuation token for fetching the next page of results.
lirNextPageToken :: Lens' ListInstancesResponse (Maybe Text)

-- | The instances belonging to the requested version.
lirInstances :: Lens' ListInstancesResponse [Instance]

-- | Target scaling by request utilization. Only applicable for VM
--   runtimes.
--   
--   <i>See:</i> <a>requestUtilization</a> smart constructor.
data RequestUtilization

-- | Creates a value of <a>RequestUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ruTargetConcurrentRequests</a></li>
--   <li><a>ruTargetRequestCountPerSecond</a></li>
--   </ul>
requestUtilization :: RequestUtilization

-- | Target number of concurrent requests.
ruTargetConcurrentRequests :: Lens' RequestUtilization (Maybe Int32)

-- | Target requests per second.
ruTargetRequestCountPerSecond :: Lens' RequestUtilization (Maybe Int32)

-- | Request message for 'Applications.RepairApplication'.
--   
--   <i>See:</i> <a>repairApplicationRequest</a> smart constructor.
data RepairApplicationRequest

-- | Creates a value of <a>RepairApplicationRequest</a> with the minimum
--   fields required to make a request.
repairApplicationRequest :: RepairApplicationRequest

-- | 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.
--   
--   <i>See:</i> <a>operationResponse</a> smart constructor.
data OperationResponse

-- | Creates a value of <a>OperationResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orAddtional</a></li>
--   </ul>
operationResponse :: HashMap Text JSONValue -> OperationResponse

-- | Properties of the object. Contains field 'type with type URL.
orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)

-- | Docker image that is used to start a VM container for the version you
--   deploy.
--   
--   <i>See:</i> <a>containerInfo</a> smart constructor.
data ContainerInfo

-- | Creates a value of <a>ContainerInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciImage</a></li>
--   </ul>
containerInfo :: ContainerInfo

-- | URI to the hosted container image in a Docker repository. 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)

-- | An Instance resource is the computing unit that App Engine uses to
--   automatically scale an application.
--   
--   <i>See:</i> <a>instance'</a> smart constructor.
data Instance

-- | Creates a value of <a>Instance</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iMemoryUsage</a></li>
--   <li><a>iVMStatus</a></li>
--   <li><a>iVMZoneName</a></li>
--   <li><a>iVMIP</a></li>
--   <li><a>iStartTime</a></li>
--   <li><a>iVMId</a></li>
--   <li><a>iAvailability</a></li>
--   <li><a>iVMName</a></li>
--   <li><a>iName</a></li>
--   <li><a>iVMDebugEnabled</a></li>
--   <li><a>iRequests</a></li>
--   <li><a>iQps</a></li>
--   <li><a>iId</a></li>
--   <li><a>iErrors</a></li>
--   <li><a>iAverageLatency</a></li>
--   <li><a>iAppEngineRelease</a></li>
--   </ul>
instance' :: Instance

-- | Total memory in use (bytes).'OutputOnly
iMemoryUsage :: Lens' Instance (Maybe Int64)

-- | Status of the virtual machine where this instance lives. Only
--   applicable for instances in App Engine flexible
--   environment.'OutputOnly
iVMStatus :: Lens' Instance (Maybe Text)

-- | Zone where the virtual machine is located. Only applicable for
--   instances in App Engine flexible environment.'OutputOnly
iVMZoneName :: Lens' Instance (Maybe Text)

-- | The IP address of this instance. Only applicable for instances in App
--   Engine flexible environment.'OutputOnly
iVMIP :: Lens' Instance (Maybe Text)

-- | Time that this instance was started.'OutputOnly
iStartTime :: Lens' Instance (Maybe Text)

-- | Virtual machine ID of this instance. Only applicable for instances in
--   App Engine flexible environment.'OutputOnly
iVMId :: Lens' Instance (Maybe Text)

-- | Availability of the instance.'OutputOnly
iAvailability :: Lens' Instance (Maybe Text)

-- | Name of the virtual machine where this instance lives. Only applicable
--   for instances in App Engine flexible environment.'OutputOnly
iVMName :: Lens' Instance (Maybe Text)

-- | 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)

-- | Whether this instance is in debug mode. Only applicable for instances
--   in App Engine flexible environment.'OutputOnly
iVMDebugEnabled :: Lens' Instance (Maybe Bool)

-- | Number of requests since this instance was started.'OutputOnly
iRequests :: Lens' Instance (Maybe Int32)

-- | Average queries per second (QPS) over the last minute.'OutputOnly
iQps :: Lens' Instance (Maybe Double)

-- | Relative name of the instance within the version. Example:
--   instance-1.'OutputOnly
iId :: Lens' Instance (Maybe Text)

-- | Number of errors since this instance was started.'OutputOnly
iErrors :: Lens' Instance (Maybe Int32)

-- | Average latency (ms) over the last minute.'OutputOnly
iAverageLatency :: Lens' Instance (Maybe Int32)

-- | App Engine release this instance is running on.'OutputOnly
iAppEngineRelease :: Lens' Instance (Maybe Text)

-- | Code and application artifacts used to deploy a version to App Engine.
--   
--   <i>See:</i> <a>deployment</a> smart constructor.
data Deployment

-- | Creates a value of <a>Deployment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dZip</a></li>
--   <li><a>dContainer</a></li>
--   <li><a>dFiles</a></li>
--   </ul>
deployment :: Deployment

-- | The zip file for this deployment, if this is a zip deployment.
dZip :: Lens' Deployment (Maybe ZipInfo)

-- | A Docker image that App Engine uses to run the version. Only
--   applicable for instances in App Engine flexible environment.
dContainer :: Lens' Deployment (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.
dFiles :: Lens' Deployment (Maybe DeploymentFiles)


-- | Creates an App Engine application for a Google Cloud Platform project.
--   This requires a project that excludes an App Engine application. For
--   details about creating a project without an application, see the
--   Google Cloud Resource Manager create project topic
--   (https://cloud.google.com/resource-manager/docs/creating-project).
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.create</tt>.
module Network.Google.Resource.AppEngine.Apps.Create

-- | A resource alias for <tt>appengine.apps.create</tt> method which the
--   <a>AppsCreate</a> request conforms to.
type AppsCreateResource = "v1" :> ("apps" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Application :> Post '[JSON] Operation))))))))))

-- | Creates a value of <a>AppsCreate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acXgafv</a></li>
--   <li><a>acUploadProtocol</a></li>
--   <li><a>acPp</a></li>
--   <li><a>acAccessToken</a></li>
--   <li><a>acUploadType</a></li>
--   <li><a>acPayload</a></li>
--   <li><a>acBearerToken</a></li>
--   <li><a>acCallback</a></li>
--   </ul>
appsCreate :: Application -> AppsCreate

-- | Creates an App Engine application for a Google Cloud Platform project.
--   This requires a project that excludes an App Engine application. For
--   details about creating a project without an application, see the
--   Google Cloud Resource Manager create project topic
--   (https://cloud.google.com/resource-manager/docs/creating-project).
--   
--   <i>See:</i> <a>appsCreate</a> smart constructor.
data AppsCreate

-- | V1 error format.
acXgafv :: Lens' AppsCreate (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
acUploadProtocol :: Lens' AppsCreate (Maybe Text)

-- | Pretty-print response.
acPp :: Lens' AppsCreate Bool

-- | OAuth access token.
acAccessToken :: Lens' AppsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
acUploadType :: Lens' AppsCreate (Maybe Text)

-- | Multipart request metadata.
acPayload :: Lens' AppsCreate Application

-- | OAuth bearer token.
acBearerToken :: Lens' AppsCreate (Maybe Text)

-- | JSONP
acCallback :: Lens' AppsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Create.AppsCreate
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Create.AppsCreate
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Create.AppsCreate
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Create.AppsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Create.AppsCreate


-- | Gets information about an application.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.get</tt>.
module Network.Google.Resource.AppEngine.Apps.Get

-- | A resource alias for <tt>appengine.apps.get</tt> method which the
--   <a>AppsGet</a> request conforms to.
type AppsGetResource = "v1" :> ("apps" :> (Capture "appsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Application))))))))))

-- | Creates a value of <a>AppsGet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agXgafv</a></li>
--   <li><a>agUploadProtocol</a></li>
--   <li><a>agPp</a></li>
--   <li><a>agAccessToken</a></li>
--   <li><a>agUploadType</a></li>
--   <li><a>agBearerToken</a></li>
--   <li><a>agAppsId</a></li>
--   <li><a>agCallback</a></li>
--   </ul>
appsGet :: Text -> AppsGet

-- | Gets information about an application.
--   
--   <i>See:</i> <a>appsGet</a> smart constructor.
data AppsGet

-- | V1 error format.
agXgafv :: Lens' AppsGet (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
agUploadProtocol :: Lens' AppsGet (Maybe Text)

-- | Pretty-print response.
agPp :: Lens' AppsGet Bool

-- | OAuth access token.
agAccessToken :: Lens' AppsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
agUploadType :: Lens' AppsGet (Maybe Text)

-- | OAuth bearer token.
agBearerToken :: Lens' AppsGet (Maybe Text)

-- | Part of `name`. Name of the Application resource to get. Example:
--   apps/myapp.
agAppsId :: Lens' AppsGet Text

-- | JSONP
agCallback :: Lens' AppsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Get.AppsGet
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Get.AppsGet
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Get.AppsGet
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Get.AppsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Get.AppsGet


-- | Get information about a location.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.locations.get</tt>.
module Network.Google.Resource.AppEngine.Apps.Locations.Get

-- | A resource alias for <tt>appengine.apps.locations.get</tt> method
--   which the <a>AppsLocationsGet</a> request conforms to.
type AppsLocationsGetResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("locations" :> (Capture "locationsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Location))))))))))))

-- | Creates a value of <a>AppsLocationsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>algXgafv</a></li>
--   <li><a>algUploadProtocol</a></li>
--   <li><a>algPp</a></li>
--   <li><a>algAccessToken</a></li>
--   <li><a>algUploadType</a></li>
--   <li><a>algBearerToken</a></li>
--   <li><a>algAppsId</a></li>
--   <li><a>algLocationsId</a></li>
--   <li><a>algCallback</a></li>
--   </ul>
appsLocationsGet :: Text -> Text -> AppsLocationsGet

-- | Get information about a location.
--   
--   <i>See:</i> <a>appsLocationsGet</a> smart constructor.
data AppsLocationsGet

-- | V1 error format.
algXgafv :: Lens' AppsLocationsGet (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
algUploadProtocol :: Lens' AppsLocationsGet (Maybe Text)

-- | Pretty-print response.
algPp :: Lens' AppsLocationsGet Bool

-- | OAuth access token.
algAccessToken :: Lens' AppsLocationsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
algUploadType :: Lens' AppsLocationsGet (Maybe Text)

-- | OAuth bearer token.
algBearerToken :: Lens' AppsLocationsGet (Maybe Text)

-- | Part of `name`. Resource name for the location.
algAppsId :: Lens' AppsLocationsGet Text

-- | Part of `name`. See documentation of `appsId`.
algLocationsId :: Lens' AppsLocationsGet Text

-- | JSONP
algCallback :: Lens' AppsLocationsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Locations.Get.AppsLocationsGet
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Locations.Get.AppsLocationsGet
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Locations.Get.AppsLocationsGet
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Locations.Get.AppsLocationsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Locations.Get.AppsLocationsGet


-- | Lists information about the supported locations for this service.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.locations.list</tt>.
module Network.Google.Resource.AppEngine.Apps.Locations.List

-- | A resource alias for <tt>appengine.apps.locations.list</tt> method
--   which the <a>AppsLocationsList</a> request conforms to.
type AppsLocationsListResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("locations" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListLocationsResponse))))))))))))))

-- | Creates a value of <a>AppsLocationsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>allXgafv</a></li>
--   <li><a>allUploadProtocol</a></li>
--   <li><a>allPp</a></li>
--   <li><a>allAccessToken</a></li>
--   <li><a>allUploadType</a></li>
--   <li><a>allBearerToken</a></li>
--   <li><a>allAppsId</a></li>
--   <li><a>allFilter</a></li>
--   <li><a>allPageToken</a></li>
--   <li><a>allPageSize</a></li>
--   <li><a>allCallback</a></li>
--   </ul>
appsLocationsList :: Text -> AppsLocationsList

-- | Lists information about the supported locations for this service.
--   
--   <i>See:</i> <a>appsLocationsList</a> smart constructor.
data AppsLocationsList

-- | V1 error format.
allXgafv :: Lens' AppsLocationsList (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
allUploadProtocol :: Lens' AppsLocationsList (Maybe Text)

-- | Pretty-print response.
allPp :: Lens' AppsLocationsList Bool

-- | OAuth access token.
allAccessToken :: Lens' AppsLocationsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
allUploadType :: Lens' AppsLocationsList (Maybe Text)

-- | OAuth bearer token.
allBearerToken :: Lens' AppsLocationsList (Maybe Text)

-- | Part of `name`. The resource that owns the locations collection, if
--   applicable.
allAppsId :: Lens' AppsLocationsList Text

-- | The standard list filter.
allFilter :: Lens' AppsLocationsList (Maybe Text)

-- | The standard list page token.
allPageToken :: Lens' AppsLocationsList (Maybe Text)

-- | The standard list page size.
allPageSize :: Lens' AppsLocationsList (Maybe Int32)

-- | JSONP
allCallback :: Lens' AppsLocationsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Locations.List.AppsLocationsList
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Locations.List.AppsLocationsList
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Locations.List.AppsLocationsList
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Locations.List.AppsLocationsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Locations.List.AppsLocationsList


-- | 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.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.operations.get</tt>.
module Network.Google.Resource.AppEngine.Apps.Operations.Get

-- | A resource alias for <tt>appengine.apps.operations.get</tt> method
--   which the <a>AppsOperationsGet</a> request conforms to.
type AppsOperationsGetResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("operations" :> (Capture "operationsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Operation))))))))))))

-- | Creates a value of <a>AppsOperationsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aogXgafv</a></li>
--   <li><a>aogUploadProtocol</a></li>
--   <li><a>aogPp</a></li>
--   <li><a>aogAccessToken</a></li>
--   <li><a>aogUploadType</a></li>
--   <li><a>aogBearerToken</a></li>
--   <li><a>aogAppsId</a></li>
--   <li><a>aogOperationsId</a></li>
--   <li><a>aogCallback</a></li>
--   </ul>
appsOperationsGet :: Text -> Text -> AppsOperationsGet

-- | 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.
--   
--   <i>See:</i> <a>appsOperationsGet</a> smart constructor.
data AppsOperationsGet

-- | V1 error format.
aogXgafv :: Lens' AppsOperationsGet (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
aogUploadProtocol :: Lens' AppsOperationsGet (Maybe Text)

-- | Pretty-print response.
aogPp :: Lens' AppsOperationsGet Bool

-- | OAuth access token.
aogAccessToken :: Lens' AppsOperationsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
aogUploadType :: Lens' AppsOperationsGet (Maybe Text)

-- | OAuth bearer token.
aogBearerToken :: Lens' AppsOperationsGet (Maybe Text)

-- | Part of `name`. The name of the operation resource.
aogAppsId :: Lens' AppsOperationsGet Text

-- | Part of `name`. See documentation of `appsId`.
aogOperationsId :: Lens' AppsOperationsGet Text

-- | JSONP
aogCallback :: Lens' AppsOperationsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Operations.Get.AppsOperationsGet
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Operations.Get.AppsOperationsGet
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Operations.Get.AppsOperationsGet
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Operations.Get.AppsOperationsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Operations.Get.AppsOperationsGet


-- | 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 below allows API services to override the binding to
--   use different resource name schemes, such as users/*/operations.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.operations.list</tt>.
module Network.Google.Resource.AppEngine.Apps.Operations.List

-- | A resource alias for <tt>appengine.apps.operations.list</tt> method
--   which the <a>AppsOperationsList</a> request conforms to.
type AppsOperationsListResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("operations" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "filter" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListOperationsResponse))))))))))))))

-- | Creates a value of <a>AppsOperationsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aolXgafv</a></li>
--   <li><a>aolUploadProtocol</a></li>
--   <li><a>aolPp</a></li>
--   <li><a>aolAccessToken</a></li>
--   <li><a>aolUploadType</a></li>
--   <li><a>aolBearerToken</a></li>
--   <li><a>aolAppsId</a></li>
--   <li><a>aolFilter</a></li>
--   <li><a>aolPageToken</a></li>
--   <li><a>aolPageSize</a></li>
--   <li><a>aolCallback</a></li>
--   </ul>
appsOperationsList :: Text -> AppsOperationsList

-- | 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 below allows API services to override the binding to
--   use different resource name schemes, such as users/*/operations.
--   
--   <i>See:</i> <a>appsOperationsList</a> smart constructor.
data AppsOperationsList

-- | V1 error format.
aolXgafv :: Lens' AppsOperationsList (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
aolUploadProtocol :: Lens' AppsOperationsList (Maybe Text)

-- | Pretty-print response.
aolPp :: Lens' AppsOperationsList Bool

-- | OAuth access token.
aolAccessToken :: Lens' AppsOperationsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
aolUploadType :: Lens' AppsOperationsList (Maybe Text)

-- | OAuth bearer token.
aolBearerToken :: Lens' AppsOperationsList (Maybe Text)

-- | Part of `name`. The name of the operation collection.
aolAppsId :: Lens' AppsOperationsList Text

-- | The standard list filter.
aolFilter :: Lens' AppsOperationsList (Maybe Text)

-- | The standard list page token.
aolPageToken :: Lens' AppsOperationsList (Maybe Text)

-- | The standard list page size.
aolPageSize :: Lens' AppsOperationsList (Maybe Int32)

-- | JSONP
aolCallback :: Lens' AppsOperationsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Operations.List.AppsOperationsList
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Operations.List.AppsOperationsList
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Operations.List.AppsOperationsList
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Operations.List.AppsOperationsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Operations.List.AppsOperationsList


-- | Updates the specified Application resource. You can update the
--   following fields: auth_domain
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps#Application.FIELDS.auth_domain)
--   default_cookie_expiration
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps#Application.FIELDS.default_cookie_expiration)
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.patch</tt>.
module Network.Google.Resource.AppEngine.Apps.Patch

-- | A resource alias for <tt>appengine.apps.patch</tt> method which the
--   <a>AppsPatch</a> request conforms to.
type AppsPatchResource = "v1" :> ("apps" :> (Capture "appsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Application :> Patch '[JSON] Operation))))))))))))

-- | Creates a value of <a>AppsPatch</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apXgafv</a></li>
--   <li><a>apUploadProtocol</a></li>
--   <li><a>apUpdateMask</a></li>
--   <li><a>apPp</a></li>
--   <li><a>apAccessToken</a></li>
--   <li><a>apUploadType</a></li>
--   <li><a>apPayload</a></li>
--   <li><a>apBearerToken</a></li>
--   <li><a>apAppsId</a></li>
--   <li><a>apCallback</a></li>
--   </ul>
appsPatch :: Application -> Text -> AppsPatch

-- | Updates the specified Application resource. You can update the
--   following fields: auth_domain
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps#Application.FIELDS.auth_domain)
--   default_cookie_expiration
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps#Application.FIELDS.default_cookie_expiration)
--   
--   <i>See:</i> <a>appsPatch</a> smart constructor.
data AppsPatch

-- | V1 error format.
apXgafv :: Lens' AppsPatch (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
apUploadProtocol :: Lens' AppsPatch (Maybe Text)

-- | Standard field mask for the set of fields to be updated.
apUpdateMask :: Lens' AppsPatch (Maybe Text)

-- | Pretty-print response.
apPp :: Lens' AppsPatch Bool

-- | OAuth access token.
apAccessToken :: Lens' AppsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
apUploadType :: Lens' AppsPatch (Maybe Text)

-- | Multipart request metadata.
apPayload :: Lens' AppsPatch Application

-- | OAuth bearer token.
apBearerToken :: Lens' AppsPatch (Maybe Text)

-- | Part of `name`. Name of the Application resource to update. Example:
--   apps/myapp.
apAppsId :: Lens' AppsPatch Text

-- | JSONP
apCallback :: Lens' AppsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Patch.AppsPatch
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Patch.AppsPatch
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Patch.AppsPatch
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Patch.AppsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Patch.AppsPatch


-- | 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.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.repair</tt>.
module Network.Google.Resource.AppEngine.Apps.Repair

-- | A resource alias for <tt>appengine.apps.repair</tt> method which the
--   <a>AppsRepair</a> request conforms to.
type AppsRepairResource = "v1" :> ("apps" :> (CaptureMode "appsId" "repair" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RepairApplicationRequest :> Post '[JSON] Operation)))))))))))

-- | Creates a value of <a>AppsRepair</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arXgafv</a></li>
--   <li><a>arUploadProtocol</a></li>
--   <li><a>arPp</a></li>
--   <li><a>arAccessToken</a></li>
--   <li><a>arUploadType</a></li>
--   <li><a>arPayload</a></li>
--   <li><a>arBearerToken</a></li>
--   <li><a>arAppsId</a></li>
--   <li><a>arCallback</a></li>
--   </ul>
appsRepair :: RepairApplicationRequest -> Text -> AppsRepair

-- | 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.
--   
--   <i>See:</i> <a>appsRepair</a> smart constructor.
data AppsRepair

-- | V1 error format.
arXgafv :: Lens' AppsRepair (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
arUploadProtocol :: Lens' AppsRepair (Maybe Text)

-- | Pretty-print response.
arPp :: Lens' AppsRepair Bool

-- | OAuth access token.
arAccessToken :: Lens' AppsRepair (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
arUploadType :: Lens' AppsRepair (Maybe Text)

-- | Multipart request metadata.
arPayload :: Lens' AppsRepair RepairApplicationRequest

-- | OAuth bearer token.
arBearerToken :: Lens' AppsRepair (Maybe Text)

-- | Part of `name`. Name of the application to repair. Example: apps/myapp
arAppsId :: Lens' AppsRepair Text

-- | JSONP
arCallback :: Lens' AppsRepair (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Repair.AppsRepair
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Repair.AppsRepair
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Repair.AppsRepair
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Repair.AppsRepair
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Repair.AppsRepair


-- | Deletes the specified service and all enclosed versions.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.delete</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Delete

-- | A resource alias for <tt>appengine.apps.services.delete</tt> method
--   which the <a>AppsServicesDelete</a> request conforms to.
type AppsServicesDeleteResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Operation))))))))))))

-- | Creates a value of <a>AppsServicesDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asdXgafv</a></li>
--   <li><a>asdUploadProtocol</a></li>
--   <li><a>asdPp</a></li>
--   <li><a>asdAccessToken</a></li>
--   <li><a>asdUploadType</a></li>
--   <li><a>asdBearerToken</a></li>
--   <li><a>asdAppsId</a></li>
--   <li><a>asdServicesId</a></li>
--   <li><a>asdCallback</a></li>
--   </ul>
appsServicesDelete :: Text -> Text -> AppsServicesDelete

-- | Deletes the specified service and all enclosed versions.
--   
--   <i>See:</i> <a>appsServicesDelete</a> smart constructor.
data AppsServicesDelete

-- | V1 error format.
asdXgafv :: Lens' AppsServicesDelete (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asdUploadProtocol :: Lens' AppsServicesDelete (Maybe Text)

-- | Pretty-print response.
asdPp :: Lens' AppsServicesDelete Bool

-- | OAuth access token.
asdAccessToken :: Lens' AppsServicesDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asdUploadType :: Lens' AppsServicesDelete (Maybe Text)

-- | OAuth bearer token.
asdBearerToken :: Lens' AppsServicesDelete (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default.
asdAppsId :: Lens' AppsServicesDelete Text

-- | Part of `name`. See documentation of `appsId`.
asdServicesId :: Lens' AppsServicesDelete Text

-- | JSONP
asdCallback :: Lens' AppsServicesDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Delete.AppsServicesDelete
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Delete.AppsServicesDelete
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Delete.AppsServicesDelete
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Delete.AppsServicesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Delete.AppsServicesDelete


-- | Gets the current configuration of the specified service.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.get</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Get

-- | A resource alias for <tt>appengine.apps.services.get</tt> method which
--   the <a>AppsServicesGet</a> request conforms to.
type AppsServicesGetResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Service))))))))))))

-- | Creates a value of <a>AppsServicesGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asgXgafv</a></li>
--   <li><a>asgUploadProtocol</a></li>
--   <li><a>asgPp</a></li>
--   <li><a>asgAccessToken</a></li>
--   <li><a>asgUploadType</a></li>
--   <li><a>asgBearerToken</a></li>
--   <li><a>asgAppsId</a></li>
--   <li><a>asgServicesId</a></li>
--   <li><a>asgCallback</a></li>
--   </ul>
appsServicesGet :: Text -> Text -> AppsServicesGet

-- | Gets the current configuration of the specified service.
--   
--   <i>See:</i> <a>appsServicesGet</a> smart constructor.
data AppsServicesGet

-- | V1 error format.
asgXgafv :: Lens' AppsServicesGet (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asgUploadProtocol :: Lens' AppsServicesGet (Maybe Text)

-- | Pretty-print response.
asgPp :: Lens' AppsServicesGet Bool

-- | OAuth access token.
asgAccessToken :: Lens' AppsServicesGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asgUploadType :: Lens' AppsServicesGet (Maybe Text)

-- | OAuth bearer token.
asgBearerToken :: Lens' AppsServicesGet (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default.
asgAppsId :: Lens' AppsServicesGet Text

-- | Part of `name`. See documentation of `appsId`.
asgServicesId :: Lens' AppsServicesGet Text

-- | JSONP
asgCallback :: Lens' AppsServicesGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Get.AppsServicesGet
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Get.AppsServicesGet
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Get.AppsServicesGet
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Get.AppsServicesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Get.AppsServicesGet


-- | Lists all the services in the application.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.list</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.List

-- | A resource alias for <tt>appengine.apps.services.list</tt> method
--   which the <a>AppsServicesList</a> request conforms to.
type AppsServicesListResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListServicesResponse)))))))))))))

-- | Creates a value of <a>AppsServicesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aslXgafv</a></li>
--   <li><a>aslUploadProtocol</a></li>
--   <li><a>aslPp</a></li>
--   <li><a>aslAccessToken</a></li>
--   <li><a>aslUploadType</a></li>
--   <li><a>aslBearerToken</a></li>
--   <li><a>aslAppsId</a></li>
--   <li><a>aslPageToken</a></li>
--   <li><a>aslPageSize</a></li>
--   <li><a>aslCallback</a></li>
--   </ul>
appsServicesList :: Text -> AppsServicesList

-- | Lists all the services in the application.
--   
--   <i>See:</i> <a>appsServicesList</a> smart constructor.
data AppsServicesList

-- | V1 error format.
aslXgafv :: Lens' AppsServicesList (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
aslUploadProtocol :: Lens' AppsServicesList (Maybe Text)

-- | Pretty-print response.
aslPp :: Lens' AppsServicesList Bool

-- | OAuth access token.
aslAccessToken :: Lens' AppsServicesList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
aslUploadType :: Lens' AppsServicesList (Maybe Text)

-- | OAuth bearer token.
aslBearerToken :: Lens' AppsServicesList (Maybe Text)

-- | Part of `parent`. Name of the parent Application resource. Example:
--   apps/myapp.
aslAppsId :: Lens' AppsServicesList Text

-- | Continuation token for fetching the next page of results.
aslPageToken :: Lens' AppsServicesList (Maybe Text)

-- | Maximum results to return per page.
aslPageSize :: Lens' AppsServicesList (Maybe Int32)

-- | JSONP
aslCallback :: Lens' AppsServicesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.List.AppsServicesList
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.List.AppsServicesList
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.List.AppsServicesList
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.List.AppsServicesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.List.AppsServicesList


-- | Updates the configuration of the specified service.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.patch</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Patch

-- | A resource alias for <tt>appengine.apps.services.patch</tt> method
--   which the <a>AppsServicesPatch</a> request conforms to.
type AppsServicesPatchResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "migrateTraffic" Bool :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Service :> Patch '[JSON] Operation)))))))))))))))

-- | Creates a value of <a>AppsServicesPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aspXgafv</a></li>
--   <li><a>aspUploadProtocol</a></li>
--   <li><a>aspUpdateMask</a></li>
--   <li><a>aspPp</a></li>
--   <li><a>aspAccessToken</a></li>
--   <li><a>aspUploadType</a></li>
--   <li><a>aspPayload</a></li>
--   <li><a>aspMigrateTraffic</a></li>
--   <li><a>aspBearerToken</a></li>
--   <li><a>aspAppsId</a></li>
--   <li><a>aspServicesId</a></li>
--   <li><a>aspCallback</a></li>
--   </ul>
appsServicesPatch :: Service -> Text -> Text -> AppsServicesPatch

-- | Updates the configuration of the specified service.
--   
--   <i>See:</i> <a>appsServicesPatch</a> smart constructor.
data AppsServicesPatch

-- | V1 error format.
aspXgafv :: Lens' AppsServicesPatch (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
aspUploadProtocol :: Lens' AppsServicesPatch (Maybe Text)

-- | Standard field mask for the set of fields to be updated.
aspUpdateMask :: Lens' AppsServicesPatch (Maybe Text)

-- | Pretty-print response.
aspPp :: Lens' AppsServicesPatch Bool

-- | OAuth access token.
aspAccessToken :: Lens' AppsServicesPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
aspUploadType :: Lens' AppsServicesPatch (Maybe Text)

-- | Multipart request metadata.
aspPayload :: Lens' AppsServicesPatch Service

-- | Set to true to gradually shift traffic from one version to another
--   single version. By default, traffic is shifted immediately. For
--   gradual traffic migration, the target version 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)

-- | OAuth bearer token.
aspBearerToken :: Lens' AppsServicesPatch (Maybe Text)

-- | Part of `name`. Name of the resource to update. Example:
--   apps/myapp/services/default.
aspAppsId :: Lens' AppsServicesPatch Text

-- | Part of `name`. See documentation of `appsId`.
aspServicesId :: Lens' AppsServicesPatch Text

-- | JSONP
aspCallback :: Lens' AppsServicesPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Patch.AppsServicesPatch
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Patch.AppsServicesPatch
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Patch.AppsServicesPatch
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Patch.AppsServicesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Patch.AppsServicesPatch


-- | Deploys code and resource files to a new version.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.create</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Create

-- | A resource alias for <tt>appengine.apps.services.versions.create</tt>
--   method which the <a>AppsServicesVersionsCreate</a> request conforms
--   to.
type AppsServicesVersionsCreateResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Version :> Post '[JSON] Operation))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsCreate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvcXgafv</a></li>
--   <li><a>asvcUploadProtocol</a></li>
--   <li><a>asvcPp</a></li>
--   <li><a>asvcAccessToken</a></li>
--   <li><a>asvcUploadType</a></li>
--   <li><a>asvcPayload</a></li>
--   <li><a>asvcBearerToken</a></li>
--   <li><a>asvcAppsId</a></li>
--   <li><a>asvcServicesId</a></li>
--   <li><a>asvcCallback</a></li>
--   </ul>
appsServicesVersionsCreate :: Version -> Text -> Text -> AppsServicesVersionsCreate

-- | Deploys code and resource files to a new version.
--   
--   <i>See:</i> <a>appsServicesVersionsCreate</a> smart constructor.
data AppsServicesVersionsCreate

-- | V1 error format.
asvcXgafv :: Lens' AppsServicesVersionsCreate (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asvcUploadProtocol :: Lens' AppsServicesVersionsCreate (Maybe Text)

-- | Pretty-print response.
asvcPp :: Lens' AppsServicesVersionsCreate Bool

-- | OAuth access token.
asvcAccessToken :: Lens' AppsServicesVersionsCreate (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvcUploadType :: Lens' AppsServicesVersionsCreate (Maybe Text)

-- | Multipart request metadata.
asvcPayload :: Lens' AppsServicesVersionsCreate Version

-- | OAuth bearer token.
asvcBearerToken :: Lens' AppsServicesVersionsCreate (Maybe Text)

-- | Part of `parent`. Name of the parent resource to create this version
--   under. Example: apps/myapp/services/default.
asvcAppsId :: Lens' AppsServicesVersionsCreate Text

-- | Part of `parent`. See documentation of `appsId`.
asvcServicesId :: Lens' AppsServicesVersionsCreate Text

-- | JSONP
asvcCallback :: Lens' AppsServicesVersionsCreate (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Create.AppsServicesVersionsCreate
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Create.AppsServicesVersionsCreate
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Create.AppsServicesVersionsCreate
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Create.AppsServicesVersionsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Create.AppsServicesVersionsCreate


-- | Deletes an existing Version resource.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.delete</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete

-- | A resource alias for <tt>appengine.apps.services.versions.delete</tt>
--   method which the <a>AppsServicesVersionsDelete</a> request conforms
--   to.
type AppsServicesVersionsDeleteResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (Capture "versionsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Operation))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvdXgafv</a></li>
--   <li><a>asvdUploadProtocol</a></li>
--   <li><a>asvdPp</a></li>
--   <li><a>asvdAccessToken</a></li>
--   <li><a>asvdUploadType</a></li>
--   <li><a>asvdVersionsId</a></li>
--   <li><a>asvdBearerToken</a></li>
--   <li><a>asvdAppsId</a></li>
--   <li><a>asvdServicesId</a></li>
--   <li><a>asvdCallback</a></li>
--   </ul>
appsServicesVersionsDelete :: Text -> Text -> Text -> AppsServicesVersionsDelete

-- | Deletes an existing Version resource.
--   
--   <i>See:</i> <a>appsServicesVersionsDelete</a> smart constructor.
data AppsServicesVersionsDelete

-- | V1 error format.
asvdXgafv :: Lens' AppsServicesVersionsDelete (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asvdUploadProtocol :: Lens' AppsServicesVersionsDelete (Maybe Text)

-- | Pretty-print response.
asvdPp :: Lens' AppsServicesVersionsDelete Bool

-- | OAuth access token.
asvdAccessToken :: Lens' AppsServicesVersionsDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvdUploadType :: Lens' AppsServicesVersionsDelete (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
asvdVersionsId :: Lens' AppsServicesVersionsDelete Text

-- | OAuth bearer token.
asvdBearerToken :: Lens' AppsServicesVersionsDelete (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default/versions/v1.
asvdAppsId :: Lens' AppsServicesVersionsDelete Text

-- | Part of `name`. See documentation of `appsId`.
asvdServicesId :: Lens' AppsServicesVersionsDelete Text

-- | JSONP
asvdCallback :: Lens' AppsServicesVersionsDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete.AppsServicesVersionsDelete
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete.AppsServicesVersionsDelete
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete.AppsServicesVersionsDelete
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete.AppsServicesVersionsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Delete.AppsServicesVersionsDelete


-- | Gets the specified Version resource. By default, only a BASIC_VIEW
--   will be returned. Specify the FULL_VIEW parameter to get the full
--   resource.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.get</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Get

-- | A resource alias for <tt>appengine.apps.services.versions.get</tt>
--   method which the <a>AppsServicesVersionsGet</a> request conforms to.
type AppsServicesVersionsGetResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (Capture "versionsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Version)))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvgXgafv</a></li>
--   <li><a>asvgUploadProtocol</a></li>
--   <li><a>asvgPp</a></li>
--   <li><a>asvgAccessToken</a></li>
--   <li><a>asvgUploadType</a></li>
--   <li><a>asvgVersionsId</a></li>
--   <li><a>asvgBearerToken</a></li>
--   <li><a>asvgAppsId</a></li>
--   <li><a>asvgView</a></li>
--   <li><a>asvgServicesId</a></li>
--   <li><a>asvgCallback</a></li>
--   </ul>
appsServicesVersionsGet :: Text -> Text -> Text -> AppsServicesVersionsGet

-- | Gets the specified Version resource. By default, only a BASIC_VIEW
--   will be returned. Specify the FULL_VIEW parameter to get the full
--   resource.
--   
--   <i>See:</i> <a>appsServicesVersionsGet</a> smart constructor.
data AppsServicesVersionsGet

-- | V1 error format.
asvgXgafv :: Lens' AppsServicesVersionsGet (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asvgUploadProtocol :: Lens' AppsServicesVersionsGet (Maybe Text)

-- | Pretty-print response.
asvgPp :: Lens' AppsServicesVersionsGet Bool

-- | OAuth access token.
asvgAccessToken :: Lens' AppsServicesVersionsGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvgUploadType :: Lens' AppsServicesVersionsGet (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
asvgVersionsId :: Lens' AppsServicesVersionsGet Text

-- | OAuth bearer token.
asvgBearerToken :: Lens' AppsServicesVersionsGet (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default/versions/v1.
asvgAppsId :: Lens' AppsServicesVersionsGet Text

-- | Controls the set of fields returned in the Get response.
asvgView :: Lens' AppsServicesVersionsGet (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
asvgServicesId :: Lens' AppsServicesVersionsGet Text

-- | JSONP
asvgCallback :: Lens' AppsServicesVersionsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Get.AppsServicesVersionsGet
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Get.AppsServicesVersionsGet
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Get.AppsServicesVersionsGet
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Get.AppsServicesVersionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Get.AppsServicesVersionsGet


-- | 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.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.instances.debug</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug

-- | A resource alias for
--   <tt>appengine.apps.services.versions.instances.debug</tt> method which
--   the <a>AppsServicesVersionsInstancesDebug</a> 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" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] DebugInstanceRequest :> Post '[JSON] Operation)))))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsInstancesDebug</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvidXgafv</a></li>
--   <li><a>asvidInstancesId</a></li>
--   <li><a>asvidUploadProtocol</a></li>
--   <li><a>asvidPp</a></li>
--   <li><a>asvidAccessToken</a></li>
--   <li><a>asvidUploadType</a></li>
--   <li><a>asvidPayload</a></li>
--   <li><a>asvidVersionsId</a></li>
--   <li><a>asvidBearerToken</a></li>
--   <li><a>asvidAppsId</a></li>
--   <li><a>asvidServicesId</a></li>
--   <li><a>asvidCallback</a></li>
--   </ul>
appsServicesVersionsInstancesDebug :: Text -> DebugInstanceRequest -> Text -> Text -> Text -> AppsServicesVersionsInstancesDebug

-- | 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.
--   
--   <i>See:</i> <a>appsServicesVersionsInstancesDebug</a> smart
--   constructor.
data AppsServicesVersionsInstancesDebug

-- | V1 error format.
asvidXgafv :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
asvidInstancesId :: Lens' AppsServicesVersionsInstancesDebug Text

-- | Upload protocol for media (e.g. "raw", "multipart").
asvidUploadProtocol :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)

-- | Pretty-print response.
asvidPp :: Lens' AppsServicesVersionsInstancesDebug Bool

-- | OAuth access token.
asvidAccessToken :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvidUploadType :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)

-- | Multipart request metadata.
asvidPayload :: Lens' AppsServicesVersionsInstancesDebug DebugInstanceRequest

-- | Part of `name`. See documentation of `appsId`.
asvidVersionsId :: Lens' AppsServicesVersionsInstancesDebug Text

-- | OAuth bearer token.
asvidBearerToken :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default/versions/v1/instances/instance-1.
asvidAppsId :: Lens' AppsServicesVersionsInstancesDebug Text

-- | Part of `name`. See documentation of `appsId`.
asvidServicesId :: Lens' AppsServicesVersionsInstancesDebug Text

-- | JSONP
asvidCallback :: Lens' AppsServicesVersionsInstancesDebug (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug.AppsServicesVersionsInstancesDebug
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug.AppsServicesVersionsInstancesDebug
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug.AppsServicesVersionsInstancesDebug
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug.AppsServicesVersionsInstancesDebug
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Debug.AppsServicesVersionsInstancesDebug


-- | Stops a running instance.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.instances.delete</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete

-- | A resource alias for
--   <tt>appengine.apps.services.versions.instances.delete</tt> method
--   which the <a>AppsServicesVersionsInstancesDelete</a> request conforms
--   to.
type AppsServicesVersionsInstancesDeleteResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (Capture "versionsId" Text :> ("instances" :> (Capture "instancesId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Operation))))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsInstancesDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aXgafv</a></li>
--   <li><a>aInstancesId</a></li>
--   <li><a>aUploadProtocol</a></li>
--   <li><a>aPp</a></li>
--   <li><a>aAccessToken</a></li>
--   <li><a>aUploadType</a></li>
--   <li><a>aVersionsId</a></li>
--   <li><a>aBearerToken</a></li>
--   <li><a>aAppsId</a></li>
--   <li><a>aServicesId</a></li>
--   <li><a>aCallback</a></li>
--   </ul>
appsServicesVersionsInstancesDelete :: Text -> Text -> Text -> Text -> AppsServicesVersionsInstancesDelete

-- | Stops a running instance.
--   
--   <i>See:</i> <a>appsServicesVersionsInstancesDelete</a> smart
--   constructor.
data AppsServicesVersionsInstancesDelete

-- | V1 error format.
aXgafv :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
aInstancesId :: Lens' AppsServicesVersionsInstancesDelete Text

-- | Upload protocol for media (e.g. "raw", "multipart").
aUploadProtocol :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)

-- | Pretty-print response.
aPp :: Lens' AppsServicesVersionsInstancesDelete Bool

-- | OAuth access token.
aAccessToken :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
aUploadType :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
aVersionsId :: Lens' AppsServicesVersionsInstancesDelete Text

-- | OAuth bearer token.
aBearerToken :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default/versions/v1/instances/instance-1.
aAppsId :: Lens' AppsServicesVersionsInstancesDelete Text

-- | Part of `name`. See documentation of `appsId`.
aServicesId :: Lens' AppsServicesVersionsInstancesDelete Text

-- | JSONP
aCallback :: Lens' AppsServicesVersionsInstancesDelete (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete.AppsServicesVersionsInstancesDelete
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete.AppsServicesVersionsInstancesDelete
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete.AppsServicesVersionsInstancesDelete
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete.AppsServicesVersionsInstancesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Delete.AppsServicesVersionsInstancesDelete


-- | Gets instance information.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.instances.get</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get

-- | A resource alias for
--   <tt>appengine.apps.services.versions.instances.get</tt> method which
--   the <a>AppsServicesVersionsInstancesGet</a> request conforms to.
type AppsServicesVersionsInstancesGetResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (Capture "versionsId" Text :> ("instances" :> (Capture "instancesId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Instance))))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsInstancesGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvigXgafv</a></li>
--   <li><a>asvigInstancesId</a></li>
--   <li><a>asvigUploadProtocol</a></li>
--   <li><a>asvigPp</a></li>
--   <li><a>asvigAccessToken</a></li>
--   <li><a>asvigUploadType</a></li>
--   <li><a>asvigVersionsId</a></li>
--   <li><a>asvigBearerToken</a></li>
--   <li><a>asvigAppsId</a></li>
--   <li><a>asvigServicesId</a></li>
--   <li><a>asvigCallback</a></li>
--   </ul>
appsServicesVersionsInstancesGet :: Text -> Text -> Text -> Text -> AppsServicesVersionsInstancesGet

-- | Gets instance information.
--   
--   <i>See:</i> <a>appsServicesVersionsInstancesGet</a> smart constructor.
data AppsServicesVersionsInstancesGet

-- | V1 error format.
asvigXgafv :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
asvigInstancesId :: Lens' AppsServicesVersionsInstancesGet Text

-- | Upload protocol for media (e.g. "raw", "multipart").
asvigUploadProtocol :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)

-- | Pretty-print response.
asvigPp :: Lens' AppsServicesVersionsInstancesGet Bool

-- | OAuth access token.
asvigAccessToken :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvigUploadType :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)

-- | Part of `name`. See documentation of `appsId`.
asvigVersionsId :: Lens' AppsServicesVersionsInstancesGet Text

-- | OAuth bearer token.
asvigBearerToken :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)

-- | Part of `name`. Name of the resource requested. Example:
--   apps/myapp/services/default/versions/v1/instances/instance-1.
asvigAppsId :: Lens' AppsServicesVersionsInstancesGet Text

-- | Part of `name`. See documentation of `appsId`.
asvigServicesId :: Lens' AppsServicesVersionsInstancesGet Text

-- | JSONP
asvigCallback :: Lens' AppsServicesVersionsInstancesGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get.AppsServicesVersionsInstancesGet
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get.AppsServicesVersionsInstancesGet
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get.AppsServicesVersionsInstancesGet
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get.AppsServicesVersionsInstancesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.Get.AppsServicesVersionsInstancesGet


-- | Lists the instances of a version.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.instances.list</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List

-- | A resource alias for
--   <tt>appengine.apps.services.versions.instances.list</tt> method which
--   the <a>AppsServicesVersionsInstancesList</a> request conforms to.
type AppsServicesVersionsInstancesListResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (Capture "versionsId" Text :> ("instances" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListInstancesResponse)))))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsInstancesList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvilXgafv</a></li>
--   <li><a>asvilUploadProtocol</a></li>
--   <li><a>asvilPp</a></li>
--   <li><a>asvilAccessToken</a></li>
--   <li><a>asvilUploadType</a></li>
--   <li><a>asvilVersionsId</a></li>
--   <li><a>asvilBearerToken</a></li>
--   <li><a>asvilAppsId</a></li>
--   <li><a>asvilPageToken</a></li>
--   <li><a>asvilServicesId</a></li>
--   <li><a>asvilPageSize</a></li>
--   <li><a>asvilCallback</a></li>
--   </ul>
appsServicesVersionsInstancesList :: Text -> Text -> Text -> AppsServicesVersionsInstancesList

-- | Lists the instances of a version.
--   
--   <i>See:</i> <a>appsServicesVersionsInstancesList</a> smart
--   constructor.
data AppsServicesVersionsInstancesList

-- | V1 error format.
asvilXgafv :: Lens' AppsServicesVersionsInstancesList (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asvilUploadProtocol :: Lens' AppsServicesVersionsInstancesList (Maybe Text)

-- | Pretty-print response.
asvilPp :: Lens' AppsServicesVersionsInstancesList Bool

-- | OAuth access token.
asvilAccessToken :: Lens' AppsServicesVersionsInstancesList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvilUploadType :: Lens' AppsServicesVersionsInstancesList (Maybe Text)

-- | Part of `parent`. See documentation of `appsId`.
asvilVersionsId :: Lens' AppsServicesVersionsInstancesList Text

-- | OAuth bearer token.
asvilBearerToken :: Lens' AppsServicesVersionsInstancesList (Maybe Text)

-- | Part of `parent`. Name of the parent Version resource. Example:
--   apps/myapp/services/default/versions/v1.
asvilAppsId :: Lens' AppsServicesVersionsInstancesList Text

-- | Continuation token for fetching the next page of results.
asvilPageToken :: Lens' AppsServicesVersionsInstancesList (Maybe Text)

-- | Part of `parent`. See documentation of `appsId`.
asvilServicesId :: Lens' AppsServicesVersionsInstancesList Text

-- | Maximum results to return per page.
asvilPageSize :: Lens' AppsServicesVersionsInstancesList (Maybe Int32)

-- | JSONP
asvilCallback :: Lens' AppsServicesVersionsInstancesList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List.AppsServicesVersionsInstancesList
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List.AppsServicesVersionsInstancesList
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List.AppsServicesVersionsInstancesList
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List.AppsServicesVersionsInstancesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Instances.List.AppsServicesVersionsInstancesList


-- | Lists the versions of a service.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.list</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.List

-- | A resource alias for <tt>appengine.apps.services.versions.list</tt>
--   method which the <a>AppsServicesVersionsList</a> request conforms to.
type AppsServicesVersionsListResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "view" Text :> (QueryParam "pageToken" Text :> (QueryParam "pageSize" (Textual Int32) :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ListVersionsResponse))))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvlXgafv</a></li>
--   <li><a>asvlUploadProtocol</a></li>
--   <li><a>asvlPp</a></li>
--   <li><a>asvlAccessToken</a></li>
--   <li><a>asvlUploadType</a></li>
--   <li><a>asvlBearerToken</a></li>
--   <li><a>asvlAppsId</a></li>
--   <li><a>asvlView</a></li>
--   <li><a>asvlPageToken</a></li>
--   <li><a>asvlServicesId</a></li>
--   <li><a>asvlPageSize</a></li>
--   <li><a>asvlCallback</a></li>
--   </ul>
appsServicesVersionsList :: Text -> Text -> AppsServicesVersionsList

-- | Lists the versions of a service.
--   
--   <i>See:</i> <a>appsServicesVersionsList</a> smart constructor.
data AppsServicesVersionsList

-- | V1 error format.
asvlXgafv :: Lens' AppsServicesVersionsList (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asvlUploadProtocol :: Lens' AppsServicesVersionsList (Maybe Text)

-- | Pretty-print response.
asvlPp :: Lens' AppsServicesVersionsList Bool

-- | OAuth access token.
asvlAccessToken :: Lens' AppsServicesVersionsList (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvlUploadType :: Lens' AppsServicesVersionsList (Maybe Text)

-- | OAuth bearer token.
asvlBearerToken :: Lens' AppsServicesVersionsList (Maybe Text)

-- | Part of `parent`. Name of the parent Service resource. Example:
--   apps/myapp/services/default.
asvlAppsId :: Lens' AppsServicesVersionsList Text

-- | Controls the set of fields returned in the List response.
asvlView :: Lens' AppsServicesVersionsList (Maybe Text)

-- | Continuation token for fetching the next page of results.
asvlPageToken :: Lens' AppsServicesVersionsList (Maybe Text)

-- | Part of `parent`. See documentation of `appsId`.
asvlServicesId :: Lens' AppsServicesVersionsList Text

-- | Maximum results to return per page.
asvlPageSize :: Lens' AppsServicesVersionsList (Maybe Int32)

-- | JSONP
asvlCallback :: Lens' AppsServicesVersionsList (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.List.AppsServicesVersionsList
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.List.AppsServicesVersionsList
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.List.AppsServicesVersionsList
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.List.AppsServicesVersionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.List.AppsServicesVersionsList


-- | 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: serving_status
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status):
--   For Version resources that use basic scaling, manual scaling, or run
--   in the App Engine flexible environment. instance_class
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class):
--   For Version resources that run in the App Engine 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):
--   For Version resources that use automatic scaling and run in the App
--   Engine standard environment. automatic_scaling.max_idle_instances
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
--   For Version resources that use automatic scaling and run in the App
--   Engine standard environment.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a> for
--   <tt>appengine.apps.services.versions.patch</tt>.
module Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch

-- | A resource alias for <tt>appengine.apps.services.versions.patch</tt>
--   method which the <a>AppsServicesVersionsPatch</a> request conforms to.
type AppsServicesVersionsPatchResource = "v1" :> ("apps" :> (Capture "appsId" Text :> ("services" :> (Capture "servicesId" Text :> ("versions" :> (Capture "versionsId" Text :> (QueryParam "$.xgafv" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "updateMask" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Version :> Patch '[JSON] Operation))))))))))))))))

-- | Creates a value of <a>AppsServicesVersionsPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asvpXgafv</a></li>
--   <li><a>asvpUploadProtocol</a></li>
--   <li><a>asvpUpdateMask</a></li>
--   <li><a>asvpPp</a></li>
--   <li><a>asvpAccessToken</a></li>
--   <li><a>asvpUploadType</a></li>
--   <li><a>asvpPayload</a></li>
--   <li><a>asvpVersionsId</a></li>
--   <li><a>asvpBearerToken</a></li>
--   <li><a>asvpAppsId</a></li>
--   <li><a>asvpServicesId</a></li>
--   <li><a>asvpCallback</a></li>
--   </ul>
appsServicesVersionsPatch :: Version -> Text -> Text -> Text -> AppsServicesVersionsPatch

-- | 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: serving_status
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status):
--   For Version resources that use basic scaling, manual scaling, or run
--   in the App Engine flexible environment. instance_class
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class):
--   For Version resources that run in the App Engine 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):
--   For Version resources that use automatic scaling and run in the App
--   Engine standard environment. automatic_scaling.max_idle_instances
--   (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
--   For Version resources that use automatic scaling and run in the App
--   Engine standard environment.
--   
--   <i>See:</i> <a>appsServicesVersionsPatch</a> smart constructor.
data AppsServicesVersionsPatch

-- | V1 error format.
asvpXgafv :: Lens' AppsServicesVersionsPatch (Maybe Text)

-- | Upload protocol for media (e.g. "raw", "multipart").
asvpUploadProtocol :: Lens' AppsServicesVersionsPatch (Maybe Text)

-- | Standard field mask for the set of fields to be updated.
asvpUpdateMask :: Lens' AppsServicesVersionsPatch (Maybe Text)

-- | Pretty-print response.
asvpPp :: Lens' AppsServicesVersionsPatch Bool

-- | OAuth access token.
asvpAccessToken :: Lens' AppsServicesVersionsPatch (Maybe Text)

-- | Legacy upload protocol for media (e.g. "media", "multipart").
asvpUploadType :: Lens' AppsServicesVersionsPatch (Maybe Text)

-- | Multipart request metadata.
asvpPayload :: Lens' AppsServicesVersionsPatch Version

-- | Part of `name`. See documentation of `appsId`.
asvpVersionsId :: Lens' AppsServicesVersionsPatch Text

-- | OAuth bearer token.
asvpBearerToken :: Lens' AppsServicesVersionsPatch (Maybe Text)

-- | Part of `name`. Name of the resource to update. Example:
--   apps/myapp/services/default/versions/1.
asvpAppsId :: Lens' AppsServicesVersionsPatch Text

-- | Part of `name`. See documentation of `appsId`.
asvpServicesId :: Lens' AppsServicesVersionsPatch Text

-- | JSONP
asvpCallback :: Lens' AppsServicesVersionsPatch (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch.AppsServicesVersionsPatch
instance Data.Data.Data Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch.AppsServicesVersionsPatch
instance GHC.Show.Show Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch.AppsServicesVersionsPatch
instance GHC.Classes.Eq Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch.AppsServicesVersionsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AppEngine.Apps.Services.Versions.Patch.AppsServicesVersionsPatch


-- | Provisions and manages App Engine applications.
--   
--   <i>See:</i> <a>Google App Engine Admin API Reference</a>
module Network.Google.AppEngine

-- | Default request referring to version <tt>v1</tt> of the Google App
--   Engine Admin API. This contains the host and root path used as a
--   starting point for constructing service requests.
appEngineService :: ServiceConfig

-- | View your data across Google Cloud Platform services
cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]

-- | View and manage your applications deployed on Google App Engine
appEngineAdminScope :: Proxy '["https://www.googleapis.com/auth/appengine.admin"]

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | Represents the entirety of the methods and resources available for the
--   Google App Engine Admin API service.
type AppEngineAPI = AppsOperationsListResource :<|> (AppsOperationsGetResource :<|> (AppsLocationsListResource :<|> (AppsLocationsGetResource :<|> (AppsServicesVersionsInstancesListResource :<|> (AppsServicesVersionsInstancesGetResource :<|> (AppsServicesVersionsInstancesDebugResource :<|> (AppsServicesVersionsInstancesDeleteResource :<|> (AppsServicesVersionsListResource :<|> (AppsServicesVersionsPatchResource :<|> (AppsServicesVersionsGetResource :<|> (AppsServicesVersionsCreateResource :<|> (AppsServicesVersionsDeleteResource :<|> (AppsServicesListResource :<|> (AppsServicesPatchResource :<|> (AppsServicesGetResource :<|> (AppsServicesDeleteResource :<|> (AppsPatchResource :<|> (AppsGetResource :<|> (AppsCreateResource :<|> AppsRepairResource)))))))))))))))))))

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadataExperimental</a> smart constructor.
data OperationMetadataExperimental

-- | Creates a value of <a>OperationMetadataExperimental</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omeInsertTime</a></li>
--   <li><a>omeUser</a></li>
--   <li><a>omeMethod</a></li>
--   <li><a>omeEndTime</a></li>
--   <li><a>omeTarget</a></li>
--   </ul>
operationMetadataExperimental :: OperationMetadataExperimental

-- | Time that this operation was created.'OutputOnly
omeInsertTime :: Lens' OperationMetadataExperimental (Maybe Text)

-- | User who requested this operation.'OutputOnly
omeUser :: Lens' OperationMetadataExperimental (Maybe Text)

-- | API method that initiated this operation. Example:
--   google.appengine.experimental.CustomDomains.CreateCustomDomain.'OutputOnly
omeMethod :: Lens' OperationMetadataExperimental (Maybe Text)

-- | Time that this operation completed.'OutputOnly
omeEndTime :: Lens' OperationMetadataExperimental (Maybe Text)

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/customDomains/example.com.'OutputOnly
omeTarget :: Lens' OperationMetadataExperimental (Maybe Text)

-- | Target scaling by network usage. Only applicable for VM runtimes.
--   
--   <i>See:</i> <a>networkUtilization</a> smart constructor.
data NetworkUtilization

-- | Creates a value of <a>NetworkUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nuTargetReceivedBytesPerSecond</a></li>
--   <li><a>nuTargetSentPacketsPerSecond</a></li>
--   <li><a>nuTargetReceivedPacketsPerSecond</a></li>
--   <li><a>nuTargetSentBytesPerSecond</a></li>
--   </ul>
networkUtilization :: NetworkUtilization

-- | Target bytes received per second.
nuTargetReceivedBytesPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | Target packets sent per second.
nuTargetSentPacketsPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | Target packets received per second.
nuTargetReceivedPacketsPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | Target bytes sent per second.
nuTargetSentBytesPerSecond :: Lens' NetworkUtilization (Maybe Int32)

-- | 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 which 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 purpose. 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.
--   
--   <i>See:</i> <a>status</a> smart constructor.
data Status

-- | Creates a value of <a>Status</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sDetails</a></li>
--   <li><a>sCode</a></li>
--   <li><a>sMessage</a></li>
--   </ul>
status :: Status

-- | A list of messages that carry the error details. There will be a
--   common set of message types for APIs to use.
sDetails :: Lens' Status [StatusDetailsItem]

-- | The status code, which should be an enum value of google.rpc.Code.
sCode :: Lens' Status (Maybe Int32)

-- | 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)

-- | 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.
--   
--   <i>See:</i> <a>operationSchema</a> smart constructor.
data OperationSchema

-- | Creates a value of <a>OperationSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osAddtional</a></li>
--   </ul>
operationSchema :: HashMap Text JSONValue -> OperationSchema

-- | Properties of the object. Contains field 'type with type URL.
osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)

-- | Service-specific metadata. For example the available capacity at the
--   given location.
--   
--   <i>See:</i> <a>locationSchema</a> smart constructor.
data LocationSchema

-- | Creates a value of <a>LocationSchema</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsAddtional</a></li>
--   </ul>
locationSchema :: HashMap Text JSONValue -> LocationSchema

-- | Properties of the object. Contains field 'type with type URL.
lsAddtional :: Lens' LocationSchema (HashMap Text JSONValue)

-- | Traffic routing configuration for versions within a single service.
--   Traffic splits define how traffic directed to the service is assigned
--   to versions.
--   
--   <i>See:</i> <a>trafficSplit</a> smart constructor.
data TrafficSplit

-- | Creates a value of <a>TrafficSplit</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsShardBy</a></li>
--   <li><a>tsAllocations</a></li>
--   </ul>
trafficSplit :: TrafficSplit

-- | 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 Text)

-- | 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)

-- | Executes a script to handle the request that matches the URL pattern.
--   
--   <i>See:</i> <a>scriptHandler</a> smart constructor.
data ScriptHandler

-- | Creates a value of <a>ScriptHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>shScriptPath</a></li>
--   </ul>
scriptHandler :: ScriptHandler

-- | Path to the script from the application root directory.
shScriptPath :: Lens' ScriptHandler (Maybe Text)

-- | Response message for Services.ListServices.
--   
--   <i>See:</i> <a>listServicesResponse</a> smart constructor.
data ListServicesResponse

-- | Creates a value of <a>ListServicesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsrNextPageToken</a></li>
--   <li><a>lsrServices</a></li>
--   </ul>
listServicesResponse :: ListServicesResponse

-- | Continuation token for fetching the next page of results.
lsrNextPageToken :: Lens' ListServicesResponse (Maybe Text)

-- | The services belonging to the requested application.
lsrServices :: Lens' ListServicesResponse [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.
--   
--   <i>See:</i> <a>urlMap</a> smart constructor.
data URLMap

-- | Creates a value of <a>URLMap</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>umScript</a></li>
--   <li><a>umSecurityLevel</a></li>
--   <li><a>umAPIEndpoint</a></li>
--   <li><a>umURLRegex</a></li>
--   <li><a>umRedirectHTTPResponseCode</a></li>
--   <li><a>umAuthFailAction</a></li>
--   <li><a>umStaticFiles</a></li>
--   <li><a>umLogin</a></li>
--   </ul>
urlMap :: URLMap

-- | Executes a script to handle the request that matches this URL pattern.
umScript :: Lens' URLMap (Maybe ScriptHandler)

-- | Security (HTTPS) enforcement for this URL.
umSecurityLevel :: Lens' URLMap (Maybe Text)

-- | Uses API Endpoints to handle requests.
umAPIEndpoint :: Lens' URLMap (Maybe APIEndpointHandler)

-- | 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)

-- | 30x code to use when performing redirects for the secure field.
--   Defaults to 302.
umRedirectHTTPResponseCode :: Lens' URLMap (Maybe Text)

-- | Action to take when users access resources that require
--   authentication. Defaults to redirect.
umAuthFailAction :: Lens' URLMap (Maybe Text)

-- | Returns the contents of a file, such as an image, as the response.
umStaticFiles :: Lens' URLMap (Maybe StaticFilesHandler)

-- | Level of login required to access this resource.
umLogin :: Lens' URLMap (Maybe Text)

-- | Third-party Python runtime library that is required by the
--   application.
--   
--   <i>See:</i> <a>library</a> smart constructor.
data Library

-- | Creates a value of <a>Library</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lName</a></li>
--   <li><a>lVersion</a></li>
--   </ul>
library :: Library

-- | Name of the library. Example: "django".
lName :: Lens' Library (Maybe Text)

-- | Version of the library to select, or "latest".
lVersion :: Lens' Library (Maybe Text)

-- | The response message for LocationService.ListLocations.
--   
--   <i>See:</i> <a>listLocationsResponse</a> smart constructor.
data ListLocationsResponse

-- | Creates a value of <a>ListLocationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llrNextPageToken</a></li>
--   <li><a>llrLocations</a></li>
--   </ul>
listLocationsResponse :: ListLocationsResponse

-- | The standard List next-page token.
llrNextPageToken :: Lens' ListLocationsResponse (Maybe Text)

-- | A list of locations that matches the specified filter in the request.
llrLocations :: Lens' ListLocationsResponse [Location]

-- | Target scaling by disk usage. Only applicable for VM runtimes.
--   
--   <i>See:</i> <a>diskUtilization</a> smart constructor.
data DiskUtilization

-- | Creates a value of <a>DiskUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>duTargetReadBytesPerSecond</a></li>
--   <li><a>duTargetReadOpsPerSecond</a></li>
--   <li><a>duTargetWriteOpsPerSecond</a></li>
--   <li><a>duTargetWriteBytesPerSecond</a></li>
--   </ul>
diskUtilization :: DiskUtilization

-- | Target bytes read per second.
duTargetReadBytesPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | Target ops read per seconds.
duTargetReadOpsPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | Target ops written per second.
duTargetWriteOpsPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | Target bytes written per second.
duTargetWriteBytesPerSecond :: Lens' DiskUtilization (Maybe Int32)

-- | The response message for Operations.ListOperations.
--   
--   <i>See:</i> <a>listOperationsResponse</a> smart constructor.
data ListOperationsResponse

-- | Creates a value of <a>ListOperationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lorNextPageToken</a></li>
--   <li><a>lorOperations</a></li>
--   </ul>
listOperationsResponse :: ListOperationsResponse

-- | The standard List next-page token.
lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)

-- | A list of operations that matches the specified filter in the request.
lorOperations :: Lens' ListOperationsResponse [Operation]

-- | Health checking configuration for VM instances. Unhealthy instances
--   are killed and replaced with new instances. Only applicable for
--   instances in App Engine flexible environment.
--   
--   <i>See:</i> <a>healthCheck</a> smart constructor.
data HealthCheck

-- | Creates a value of <a>HealthCheck</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hcHealthyThreshold</a></li>
--   <li><a>hcDisableHealthCheck</a></li>
--   <li><a>hcCheckInterval</a></li>
--   <li><a>hcRestartThreshold</a></li>
--   <li><a>hcHost</a></li>
--   <li><a>hcTimeout</a></li>
--   <li><a>hcUnhealthyThreshold</a></li>
--   </ul>
healthCheck :: HealthCheck

-- | Number of consecutive successful health checks required before
--   receiving traffic.
hcHealthyThreshold :: Lens' HealthCheck (Maybe Word32)

-- | Whether to explicitly disable health checks for this instance.
hcDisableHealthCheck :: Lens' HealthCheck (Maybe Bool)

-- | Interval between health checks.
hcCheckInterval :: Lens' HealthCheck (Maybe Text)

-- | Number of consecutive failed health checks required before an instance
--   is restarted.
hcRestartThreshold :: Lens' HealthCheck (Maybe Word32)

-- | Host header to send when performing an HTTP health check. Example:
--   "myapp.appspot.com"
hcHost :: Lens' HealthCheck (Maybe Text)

-- | Time before the health check is considered failed.
hcTimeout :: Lens' HealthCheck (Maybe Text)

-- | Number of consecutive failed health checks required before removing
--   traffic.
hcUnhealthyThreshold :: Lens' HealthCheck (Maybe Word32)

-- | Google Cloud Endpoints
--   (https://cloud.google.com/appengine/docs/python/endpoints/)
--   configuration for API handlers.
--   
--   <i>See:</i> <a>apiConfigHandler</a> smart constructor.
data APIConfigHandler

-- | Creates a value of <a>APIConfigHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>achScript</a></li>
--   <li><a>achSecurityLevel</a></li>
--   <li><a>achURL</a></li>
--   <li><a>achAuthFailAction</a></li>
--   <li><a>achLogin</a></li>
--   </ul>
apiConfigHandler :: APIConfigHandler

-- | Path to the script from the application root directory.
achScript :: Lens' APIConfigHandler (Maybe Text)

-- | Security (HTTPS) enforcement for this URL.
achSecurityLevel :: Lens' APIConfigHandler (Maybe Text)

-- | URL to serve the endpoint at.
achURL :: Lens' APIConfigHandler (Maybe Text)

-- | Action to take when users access resources that require
--   authentication. Defaults to redirect.
achAuthFailAction :: Lens' APIConfigHandler (Maybe Text)

-- | Level of login required to access this resource. Defaults to optional.
achLogin :: Lens' APIConfigHandler (Maybe Text)

-- | Environment variables available to the application.Only returned in
--   GET requests if view=FULL is set.
--   
--   <i>See:</i> <a>versionEnvVariables</a> smart constructor.
data VersionEnvVariables

-- | Creates a value of <a>VersionEnvVariables</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vevAddtional</a></li>
--   </ul>
versionEnvVariables :: HashMap Text Text -> VersionEnvVariables
vevAddtional :: Lens' VersionEnvVariables (HashMap Text Text)

-- | An Application resource contains the top-level configuration of an App
--   Engine application.
--   
--   <i>See:</i> <a>application</a> smart constructor.
data Application

-- | Creates a value of <a>Application</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aDefaultHostname</a></li>
--   <li><a>aDefaultCookieExpiration</a></li>
--   <li><a>aAuthDomain</a></li>
--   <li><a>aCodeBucket</a></li>
--   <li><a>aName</a></li>
--   <li><a>aDispatchRules</a></li>
--   <li><a>aDefaultBucket</a></li>
--   <li><a>aId</a></li>
--   <li><a>aLocationId</a></li>
--   </ul>
application :: Application

-- | Hostname used to reach this application, as resolved by App
--   Engine.'OutputOnly
aDefaultHostname :: Lens' Application (Maybe Text)

-- | Cookie expiration policy for this application.
aDefaultCookieExpiration :: Lens' Application (Maybe Text)

-- | 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)

-- | 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)

-- | Full path to the Application resource in the API. Example:
--   apps/myapp.'OutputOnly
aName :: Lens' Application (Maybe Text)

-- | HTTP path dispatch rules for requests to the application that do not
--   explicitly target a service or version. Rules are
--   order-dependent.'OutputOnly
aDispatchRules :: Lens' Application [URLDispatchRule]

-- | Google Cloud Storage bucket that can be used by this application to
--   store content.'OutputOnly
aDefaultBucket :: Lens' Application (Maybe Text)

-- | 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)

-- | Location from which this application will be run. Application
--   instances will run out of data centers in the chosen location, which
--   is also where all of the application's end user content is
--   stored.Defaults to us-central.Options are:us-central - Central
--   USeurope-west - Western Europeus-east1 - Eastern US
aLocationId :: Lens' Application (Maybe Text)

-- | Metadata settings that are supplied to this version to enable beta
--   runtime features.
--   
--   <i>See:</i> <a>versionBetaSettings</a> smart constructor.
data VersionBetaSettings

-- | Creates a value of <a>VersionBetaSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vbsAddtional</a></li>
--   </ul>
versionBetaSettings :: HashMap Text Text -> VersionBetaSettings
vbsAddtional :: Lens' VersionBetaSettings (HashMap Text Text)

-- | 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.
--   
--   <i>See:</i> <a>service</a> smart constructor.
data Service

-- | Creates a value of <a>Service</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sSplit</a></li>
--   <li><a>sName</a></li>
--   <li><a>sId</a></li>
--   </ul>
service :: Service

-- | Mapping that defines fractional HTTP traffic diversion to different
--   versions within the service.
sSplit :: Lens' Service (Maybe TrafficSplit)

-- | Full path to the Service resource in the API. Example:
--   apps/myapp/services/default.'OutputOnly
sName :: Lens' Service (Maybe Text)

-- | Relative name of the service within the application. Example:
--   default.'OutputOnly
sId :: Lens' Service (Maybe Text)

-- | 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.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).
--   
--   <i>See:</i> <a>endpointsAPIService</a> smart constructor.
data EndpointsAPIService

-- | Creates a value of <a>EndpointsAPIService</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>easName</a></li>
--   <li><a>easConfigId</a></li>
--   </ul>
endpointsAPIService :: EndpointsAPIService

-- | 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)

-- | Endpoints service configuration id as specified by the Service
--   Management API. For example "2016-09-19r1"
easConfigId :: Lens' EndpointsAPIService (Maybe Text)

-- | A resource that represents Google Cloud Platform location.
--   
--   <i>See:</i> <a>location</a> smart constructor.
data Location

-- | Creates a value of <a>Location</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>locName</a></li>
--   <li><a>locMetadata</a></li>
--   <li><a>locLabels</a></li>
--   <li><a>locLocationId</a></li>
--   </ul>
location :: Location

-- | Resource name for the location, which may vary between
--   implementations. For example:
--   "projects/example-project/locations/us-east1"
locName :: Lens' Location (Maybe Text)

-- | Service-specific metadata. For example the available capacity at the
--   given location.
locMetadata :: Lens' Location (Maybe LocationSchema)

-- | Cross-service attributes for the location. For example
--   {"cloud.googleapis.com/region": "us-east1"}
locLabels :: Lens' Location (Maybe LocationLabels)

-- | The canonical id for this location. For example: "us-east1".
locLocationId :: Lens' Location (Maybe Text)

-- | This resource represents a long-running operation that is the result
--   of a network API call.
--   
--   <i>See:</i> <a>operation</a> smart constructor.
data Operation

-- | Creates a value of <a>Operation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oDone</a></li>
--   <li><a>oError</a></li>
--   <li><a>oResponse</a></li>
--   <li><a>oName</a></li>
--   <li><a>oMetadata</a></li>
--   </ul>
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.
oDone :: Lens' Operation (Maybe Bool)

-- | The error result of the operation in case of failure or cancellation.
oError :: Lens' Operation (Maybe Status)

-- | 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)

-- | 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)

-- | 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 OperationSchema)

-- | The zip file information for a zip deployment.
--   
--   <i>See:</i> <a>zipInfo</a> smart constructor.
data ZipInfo

-- | Creates a value of <a>ZipInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ziFilesCount</a></li>
--   <li><a>ziSourceURL</a></li>
--   </ul>
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.
ziFilesCount :: Lens' ZipInfo (Maybe 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//'.
ziSourceURL :: Lens' ZipInfo (Maybe Text)

-- | Rules to match an HTTP request and dispatch that request to a service.
--   
--   <i>See:</i> <a>urlDispatchRule</a> smart constructor.
data URLDispatchRule

-- | Creates a value of <a>URLDispatchRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udrPath</a></li>
--   <li><a>udrService</a></li>
--   <li><a>udrDomain</a></li>
--   </ul>
urlDispatchRule :: URLDispatchRule

-- | 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)

-- | 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)

-- | Domain name to match against. The wildcard "*" is supported if
--   specified before a period: "*.".Defaults to matching all domains: "*".
udrDomain :: Lens' URLDispatchRule (Maybe Text)

-- | Response message for Versions.ListVersions.
--   
--   <i>See:</i> <a>listVersionsResponse</a> smart constructor.
data ListVersionsResponse

-- | Creates a value of <a>ListVersionsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lvrNextPageToken</a></li>
--   <li><a>lvrVersions</a></li>
--   </ul>
listVersionsResponse :: ListVersionsResponse

-- | Continuation token for fetching the next page of results.
lvrNextPageToken :: Lens' ListVersionsResponse (Maybe Text)

-- | The versions belonging to the requested service.
lvrVersions :: Lens' ListVersionsResponse [Version]

-- | Single source file that is part of the version to be deployed. Each
--   source file that is deployed must be specified separately.
--   
--   <i>See:</i> <a>fileInfo</a> smart constructor.
data FileInfo

-- | Creates a value of <a>FileInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fiSha1Sum</a></li>
--   <li><a>fiMimeType</a></li>
--   <li><a>fiSourceURL</a></li>
--   </ul>
fileInfo :: FileInfo

-- | The SHA1 hash of the file, in hex.
fiSha1Sum :: Lens' FileInfo (Maybe Text)

-- | The MIME type of the file.Defaults to the value from Google Cloud
--   Storage.
fiMimeType :: Lens' FileInfo (Maybe 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//'.
fiSourceURL :: Lens' FileInfo (Maybe Text)

-- | Automatic scaling is based on request rate, response latencies, and
--   other application metrics.
--   
--   <i>See:</i> <a>automaticScaling</a> smart constructor.
data AutomaticScaling

-- | Creates a value of <a>AutomaticScaling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asNetworkUtilization</a></li>
--   <li><a>asMaxTotalInstances</a></li>
--   <li><a>asMinIdleInstances</a></li>
--   <li><a>asDiskUtilization</a></li>
--   <li><a>asMinPendingLatency</a></li>
--   <li><a>asCPUUtilization</a></li>
--   <li><a>asMaxIdleInstances</a></li>
--   <li><a>asMinTotalInstances</a></li>
--   <li><a>asMaxConcurrentRequests</a></li>
--   <li><a>asCoolDownPeriod</a></li>
--   <li><a>asRequestUtilization</a></li>
--   <li><a>asMaxPendingLatency</a></li>
--   </ul>
automaticScaling :: AutomaticScaling

-- | Target scaling by network usage.
asNetworkUtilization :: Lens' AutomaticScaling (Maybe NetworkUtilization)

-- | Maximum number of instances that should be started to handle requests.
asMaxTotalInstances :: Lens' AutomaticScaling (Maybe Int32)

-- | 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)

-- | Target scaling by disk usage.
asDiskUtilization :: Lens' AutomaticScaling (Maybe DiskUtilization)

-- | Minimum amount of time a request should wait in the pending queue
--   before starting a new instance to handle it.
asMinPendingLatency :: Lens' AutomaticScaling (Maybe Text)

-- | Target scaling by CPU usage.
asCPUUtilization :: Lens' AutomaticScaling (Maybe CPUUtilization)

-- | Maximum number of idle instances that should be maintained for this
--   version.
asMaxIdleInstances :: Lens' AutomaticScaling (Maybe Int32)

-- | Minimum number of instances that should be maintained for this
--   version.
asMinTotalInstances :: Lens' AutomaticScaling (Maybe Int32)

-- | 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)

-- | Amount of time that the Autoscaler
--   (https://cloud.google.com/compute/docs/autoscaler/) should wait
--   between changes to the number of virtual machines. Only applicable for
--   VM runtimes.
asCoolDownPeriod :: Lens' AutomaticScaling (Maybe Text)

-- | Target scaling by request utilization.
asRequestUtilization :: Lens' AutomaticScaling (Maybe RequestUtilization)

-- | 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 Text)

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadataV1Beta5</a> smart constructor.
data OperationMetadataV1Beta5

-- | Creates a value of <a>OperationMetadataV1Beta5</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omvbInsertTime</a></li>
--   <li><a>omvbUser</a></li>
--   <li><a>omvbMethod</a></li>
--   <li><a>omvbEndTime</a></li>
--   <li><a>omvbTarget</a></li>
--   </ul>
operationMetadataV1Beta5 :: OperationMetadataV1Beta5

-- | Timestamp that this operation was created.'OutputOnly
omvbInsertTime :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | User who requested this operation.'OutputOnly
omvbUser :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | API method name that initiated this operation. Example:
--   google.appengine.v1beta5.Version.CreateVersion.'OutputOnly
omvbMethod :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | Timestamp that this operation completed.'OutputOnly
omvbEndTime :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/services/default.'OutputOnly
omvbTarget :: Lens' OperationMetadataV1Beta5 (Maybe Text)

-- | Volumes mounted within the app container. Only applicable for VM
--   runtimes.
--   
--   <i>See:</i> <a>volume</a> smart constructor.
data Volume

-- | Creates a value of <a>Volume</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vSizeGb</a></li>
--   <li><a>vName</a></li>
--   <li><a>vVolumeType</a></li>
--   </ul>
volume :: Volume

-- | Volume size in gigabytes.
vSizeGb :: Lens' Volume (Maybe Double)

-- | Unique name for the volume.
vName :: Lens' Volume (Maybe Text)

-- | Underlying volume type, e.g. 'tmpfs'.
vVolumeType :: Lens' Volume (Maybe Text)

-- | Uses Google Cloud Endpoints to handle requests.
--   
--   <i>See:</i> <a>apiEndpointHandler</a> smart constructor.
data APIEndpointHandler

-- | Creates a value of <a>APIEndpointHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aehScriptPath</a></li>
--   </ul>
apiEndpointHandler :: APIEndpointHandler

-- | Path to the script from the application root directory.
aehScriptPath :: Lens' APIEndpointHandler (Maybe Text)
data StatusDetailsItem

-- | Creates a value of <a>StatusDetailsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiAddtional</a></li>
--   </ul>
statusDetailsItem :: HashMap Text JSONValue -> StatusDetailsItem

-- | Properties of the object. Contains field 'type with type URL.
sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)

-- | Extra network settings. Only applicable for VM runtimes.
--   
--   <i>See:</i> <a>network</a> smart constructor.
data Network

-- | Creates a value of <a>Network</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nSubnetworkName</a></li>
--   <li><a>nForwardedPorts</a></li>
--   <li><a>nInstanceTag</a></li>
--   <li><a>nName</a></li>
--   </ul>
network :: Network

-- | 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 the VM instance is being
--   created in is a Legacy network, then the IP address is allocated from
--   the IPv4Range. If the network the VM 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 the VM 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 Flex app.
nSubnetworkName :: Lens' Network (Maybe Text)

-- | List of ports, or port pairs, to forward from the virtual machine to
--   the application container.
nForwardedPorts :: Lens' Network [Text]

-- | Tag to apply to the VM instance during creation.
nInstanceTag :: Lens' Network (Maybe Text)

-- | Google Cloud Platform network where the virtual machines are created.
--   Specify the short name, not the resource path.Defaults to default.
nName :: Lens' Network (Maybe Text)

-- | Request message for Instances.DebugInstance.
--   
--   <i>See:</i> <a>debugInstanceRequest</a> smart constructor.
data DebugInstanceRequest

-- | Creates a value of <a>DebugInstanceRequest</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dirSSHKey</a></li>
--   </ul>
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).
dirSSHKey :: Lens' DebugInstanceRequest (Maybe Text)

-- | HTTP headers to use for all responses from these URLs.
--   
--   <i>See:</i> <a>staticFilesHandlerHTTPHeaders</a> smart constructor.
data StaticFilesHandlerHTTPHeaders

-- | Creates a value of <a>StaticFilesHandlerHTTPHeaders</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfhhttphAddtional</a></li>
--   </ul>
staticFilesHandlerHTTPHeaders :: HashMap Text Text -> StaticFilesHandlerHTTPHeaders
sfhhttphAddtional :: Lens' StaticFilesHandlerHTTPHeaders (HashMap Text Text)

-- | Machine resources for a version.
--   
--   <i>See:</i> <a>resources</a> smart constructor.
data Resources

-- | Creates a value of <a>Resources</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rMemoryGb</a></li>
--   <li><a>rDiskGb</a></li>
--   <li><a>rVolumes</a></li>
--   <li><a>rCPU</a></li>
--   </ul>
resources :: Resources

-- | Memory (GB) needed.
rMemoryGb :: Lens' Resources (Maybe Double)

-- | Disk size (GB) needed.
rDiskGb :: Lens' Resources (Maybe Double)

-- | User specified volumes.
rVolumes :: Lens' Resources [Volume]

-- | Number of CPU cores needed.
rCPU :: Lens' Resources (Maybe Double)

-- | 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.
--   
--   <i>See:</i> <a>deploymentFiles</a> smart constructor.
data DeploymentFiles

-- | Creates a value of <a>DeploymentFiles</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfAddtional</a></li>
--   </ul>
deploymentFiles :: HashMap Text FileInfo -> DeploymentFiles
dfAddtional :: Lens' DeploymentFiles (HashMap Text FileInfo)

-- | Target scaling by CPU usage.
--   
--   <i>See:</i> <a>cpuUtilization</a> smart constructor.
data CPUUtilization

-- | Creates a value of <a>CPUUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cuAggregationWindowLength</a></li>
--   <li><a>cuTargetUtilization</a></li>
--   </ul>
cpuUtilization :: CPUUtilization

-- | Period of time over which CPU utilization is calculated.
cuAggregationWindowLength :: Lens' CPUUtilization (Maybe Text)

-- | Target CPU utilization ratio to maintain when scaling. Must be between
--   0 and 1.
cuTargetUtilization :: Lens' CPUUtilization (Maybe Double)

-- | 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.
--   
--   <i>See:</i> <a>trafficSplitAllocations</a> smart constructor.
data TrafficSplitAllocations

-- | Creates a value of <a>TrafficSplitAllocations</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tsaAddtional</a></li>
--   </ul>
trafficSplitAllocations :: HashMap Text Double -> TrafficSplitAllocations
tsaAddtional :: Lens' TrafficSplitAllocations (HashMap Text Double)

-- | A service with manual scaling runs continuously, allowing you to
--   perform complex initialization and rely on the state of its memory
--   over time.
--   
--   <i>See:</i> <a>manualScaling</a> smart constructor.
data ManualScaling

-- | Creates a value of <a>ManualScaling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>msInstances</a></li>
--   </ul>
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.
msInstances :: Lens' ManualScaling (Maybe Int32)

-- | 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.
--   
--   <i>See:</i> <a>basicScaling</a> smart constructor.
data BasicScaling

-- | Creates a value of <a>BasicScaling</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bsMaxInstances</a></li>
--   <li><a>bsIdleTimeout</a></li>
--   </ul>
basicScaling :: BasicScaling

-- | Maximum number of instances to create for this version.
bsMaxInstances :: Lens' BasicScaling (Maybe Int32)

-- | Duration of time after the last request that an instance must wait
--   before the instance is shut down.
bsIdleTimeout :: Lens' BasicScaling (Maybe Text)

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadataV1</a> smart constructor.
data OperationMetadataV1

-- | Creates a value of <a>OperationMetadataV1</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omvEphemeralMessage</a></li>
--   <li><a>omvInsertTime</a></li>
--   <li><a>omvUser</a></li>
--   <li><a>omvMethod</a></li>
--   <li><a>omvEndTime</a></li>
--   <li><a>omvWarning</a></li>
--   <li><a>omvTarget</a></li>
--   </ul>
operationMetadataV1 :: OperationMetadataV1

-- | Ephemeral message that may change every time the operation is polled.
--   'OutputOnly
omvEphemeralMessage :: Lens' OperationMetadataV1 (Maybe Text)

-- | Time that this operation was created.'OutputOnly
omvInsertTime :: Lens' OperationMetadataV1 (Maybe Text)

-- | User who requested this operation.'OutputOnly
omvUser :: Lens' OperationMetadataV1 (Maybe Text)

-- | API method that initiated this operation. Example:
--   google.appengine.v1.Versions.CreateVersion.'OutputOnly
omvMethod :: Lens' OperationMetadataV1 (Maybe Text)

-- | Time that this operation completed.'OutputOnly
omvEndTime :: Lens' OperationMetadataV1 (Maybe Text)

-- | Durable messages that persist on every operation poll. 'OutputOnly
omvWarning :: Lens' OperationMetadataV1 [Text]

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/services/default.'OutputOnly
omvTarget :: Lens' OperationMetadataV1 (Maybe Text)

-- | A Version resource is a specific set of source code and configuration
--   files that are deployed into a service.
--   
--   <i>See:</i> <a>version</a> smart constructor.
data Version

-- | Creates a value of <a>Version</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>verRuntime</a></li>
--   <li><a>verNobuildFilesRegex</a></li>
--   <li><a>verInstanceClass</a></li>
--   <li><a>verHealthCheck</a></li>
--   <li><a>verEndpointsAPIService</a></li>
--   <li><a>verEnv</a></li>
--   <li><a>verDefaultExpiration</a></li>
--   <li><a>verAutomaticScaling</a></li>
--   <li><a>verErrorHandlers</a></li>
--   <li><a>verCreatedBy</a></li>
--   <li><a>verVM</a></li>
--   <li><a>verHandlers</a></li>
--   <li><a>verInboundServices</a></li>
--   <li><a>verNetwork</a></li>
--   <li><a>verResources</a></li>
--   <li><a>verName</a></li>
--   <li><a>verThreadsafe</a></li>
--   <li><a>verBetaSettings</a></li>
--   <li><a>verBasicScaling</a></li>
--   <li><a>verManualScaling</a></li>
--   <li><a>verAPIConfig</a></li>
--   <li><a>verId</a></li>
--   <li><a>verEnvVariables</a></li>
--   <li><a>verServingStatus</a></li>
--   <li><a>verDiskUsageBytes</a></li>
--   <li><a>verCreateTime</a></li>
--   <li><a>verLibraries</a></li>
--   <li><a>verVersionURL</a></li>
--   <li><a>verDeployment</a></li>
--   </ul>
version :: Version

-- | Desired runtime. Example: python27.
verRuntime :: Lens' Version (Maybe Text)

-- | 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)

-- | 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)

-- | Configures health checking for VM instances. Unhealthy instances are
--   stopped and replaced with new instances. Only applicable for VM
--   runtimes.Only returned in GET requests if view=FULL is set.
verHealthCheck :: Lens' Version (Maybe HealthCheck)

-- | 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)

-- | App Engine execution environment for this version.Defaults to
--   standard.
verEnv :: Lens' Version (Maybe 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.
verDefaultExpiration :: Lens' Version (Maybe Text)

-- | Automatic scaling is based on request rate, response latencies, and
--   other application metrics.
verAutomaticScaling :: Lens' Version (Maybe AutomaticScaling)

-- | Custom static error pages. Limited to 10KB per page.Only returned in
--   GET requests if view=FULL is set.
verErrorHandlers :: Lens' Version [ErrorHandler]

-- | Email address of the user who created this version.'OutputOnly
verCreatedBy :: Lens' Version (Maybe Text)

-- | Whether to deploy this version in a container on a virtual machine.
verVM :: Lens' Version (Maybe Bool)

-- | 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]

-- | Before an application can receive email or XMPP messages, the
--   application must be configured to enable the service.
verInboundServices :: Lens' Version [Text]

-- | Extra network settings. Only applicable for VM runtimes.
verNetwork :: Lens' Version (Maybe Network)

-- | Machine resources for this version. Only applicable for VM runtimes.
verResources :: Lens' Version (Maybe Resources)

-- | Full path to the Version resource in the API. Example:
--   apps/myapp/services/default/versions/v1.'OutputOnly
verName :: Lens' Version (Maybe Text)

-- | Whether multiple requests can be dispatched to this version at once.
verThreadsafe :: Lens' Version (Maybe Bool)

-- | Metadata settings that are supplied to this version to enable beta
--   runtime features.
verBetaSettings :: Lens' Version (Maybe VersionBetaSettings)

-- | 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)

-- | 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)

-- | 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)

-- | 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)

-- | Environment variables available to the application.Only returned in
--   GET requests if view=FULL is set.
verEnvVariables :: Lens' Version (Maybe VersionEnvVariables)

-- | 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 Text)

-- | Total size in bytes of all the files that are included in this version
--   and curerntly hosted on the App Engine disk.'OutputOnly
verDiskUsageBytes :: Lens' Version (Maybe Int64)

-- | Time that this version was created.'OutputOnly
verCreateTime :: Lens' Version (Maybe Text)

-- | 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]

-- | Serving URL for this version. Example:
--   "https://myversion-dot-myservice-dot-myapp.appspot.com"'OutputOnly
verVersionURL :: Lens' Version (Maybe Text)

-- | Code and application artifacts that make up this version.Only returned
--   in GET requests if view=FULL is set.
verDeployment :: Lens' Version (Maybe Deployment)

-- | 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.
--   
--   <i>See:</i> <a>staticFilesHandler</a> smart constructor.
data StaticFilesHandler

-- | Creates a value of <a>StaticFilesHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfhHTTPHeaders</a></li>
--   <li><a>sfhPath</a></li>
--   <li><a>sfhRequireMatchingFile</a></li>
--   <li><a>sfhExpiration</a></li>
--   <li><a>sfhMimeType</a></li>
--   <li><a>sfhApplicationReadable</a></li>
--   <li><a>sfhUploadPathRegex</a></li>
--   </ul>
staticFilesHandler :: StaticFilesHandler

-- | HTTP headers to use for all responses from these URLs.
sfhHTTPHeaders :: Lens' StaticFilesHandler (Maybe StaticFilesHandlerHTTPHeaders)

-- | 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)

-- | Whether this handler should match the request if the file referenced
--   by the handler does not exist.
sfhRequireMatchingFile :: Lens' StaticFilesHandler (Maybe Bool)

-- | Time a static file served by this handler should be cached by web
--   proxies and browsers.
sfhExpiration :: Lens' StaticFilesHandler (Maybe Text)

-- | 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)

-- | 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)

-- | Regular expression that matches the file paths for all files that
--   should be referenced by this handler.
sfhUploadPathRegex :: Lens' StaticFilesHandler (Maybe Text)

-- | Custom static error page to be served when an error occurs.
--   
--   <i>See:</i> <a>errorHandler</a> smart constructor.
data ErrorHandler

-- | Creates a value of <a>ErrorHandler</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ehMimeType</a></li>
--   <li><a>ehErrorCode</a></li>
--   <li><a>ehStaticFile</a></li>
--   </ul>
errorHandler :: ErrorHandler

-- | MIME type of file. Defaults to text/html.
ehMimeType :: Lens' ErrorHandler (Maybe Text)

-- | Error condition this handler applies to.
ehErrorCode :: Lens' ErrorHandler (Maybe Text)

-- | Static file content to be served for this error.
ehStaticFile :: Lens' ErrorHandler (Maybe Text)

-- | Cross-service attributes for the location. For example
--   {"cloud.googleapis.com/region": "us-east1"}
--   
--   <i>See:</i> <a>locationLabels</a> smart constructor.
data LocationLabels

-- | Creates a value of <a>LocationLabels</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llAddtional</a></li>
--   </ul>
locationLabels :: HashMap Text Text -> LocationLabels
llAddtional :: Lens' LocationLabels (HashMap Text Text)

-- | Metadata for the given google.cloud.location.Location.
--   
--   <i>See:</i> <a>locationMetadata</a> smart constructor.
data LocationMetadata

-- | Creates a value of <a>LocationMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lmStandardEnvironmentAvailable</a></li>
--   <li><a>lmFlexibleEnvironmentAvailable</a></li>
--   </ul>
locationMetadata :: LocationMetadata

-- | App Engine Standard Environment is available in the given
--   location.'OutputOnly
lmStandardEnvironmentAvailable :: Lens' LocationMetadata (Maybe Bool)

-- | App Engine Flexible Environment is available in the given
--   location.'OutputOnly
lmFlexibleEnvironmentAvailable :: Lens' LocationMetadata (Maybe Bool)

-- | Metadata for the given google.longrunning.Operation.
--   
--   <i>See:</i> <a>operationMetadata</a> smart constructor.
data OperationMetadata

-- | Creates a value of <a>OperationMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>omInsertTime</a></li>
--   <li><a>omUser</a></li>
--   <li><a>omMethod</a></li>
--   <li><a>omEndTime</a></li>
--   <li><a>omOperationType</a></li>
--   <li><a>omTarget</a></li>
--   </ul>
operationMetadata :: OperationMetadata

-- | Timestamp that this operation was created.'OutputOnly
omInsertTime :: Lens' OperationMetadata (Maybe Text)

-- | User who requested this operation.'OutputOnly
omUser :: Lens' OperationMetadata (Maybe Text)

-- | API method that initiated this operation. Example:
--   google.appengine.v1beta4.Version.CreateVersion.'OutputOnly
omMethod :: Lens' OperationMetadata (Maybe Text)

-- | Timestamp that this operation completed.'OutputOnly
omEndTime :: Lens' OperationMetadata (Maybe Text)

-- | Type of this operation. Deprecated, use method field instead. Example:
--   "create_version".'OutputOnly
omOperationType :: Lens' OperationMetadata (Maybe Text)

-- | Name of the resource that this operation is acting on. Example:
--   apps/myapp/modules/default.'OutputOnly
omTarget :: Lens' OperationMetadata (Maybe Text)

-- | Response message for Instances.ListInstances.
--   
--   <i>See:</i> <a>listInstancesResponse</a> smart constructor.
data ListInstancesResponse

-- | Creates a value of <a>ListInstancesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lirNextPageToken</a></li>
--   <li><a>lirInstances</a></li>
--   </ul>
listInstancesResponse :: ListInstancesResponse

-- | Continuation token for fetching the next page of results.
lirNextPageToken :: Lens' ListInstancesResponse (Maybe Text)

-- | The instances belonging to the requested version.
lirInstances :: Lens' ListInstancesResponse [Instance]

-- | Target scaling by request utilization. Only applicable for VM
--   runtimes.
--   
--   <i>See:</i> <a>requestUtilization</a> smart constructor.
data RequestUtilization

-- | Creates a value of <a>RequestUtilization</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ruTargetConcurrentRequests</a></li>
--   <li><a>ruTargetRequestCountPerSecond</a></li>
--   </ul>
requestUtilization :: RequestUtilization

-- | Target number of concurrent requests.
ruTargetConcurrentRequests :: Lens' RequestUtilization (Maybe Int32)

-- | Target requests per second.
ruTargetRequestCountPerSecond :: Lens' RequestUtilization (Maybe Int32)

-- | Request message for 'Applications.RepairApplication'.
--   
--   <i>See:</i> <a>repairApplicationRequest</a> smart constructor.
data RepairApplicationRequest

-- | Creates a value of <a>RepairApplicationRequest</a> with the minimum
--   fields required to make a request.
repairApplicationRequest :: RepairApplicationRequest

-- | 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.
--   
--   <i>See:</i> <a>operationResponse</a> smart constructor.
data OperationResponse

-- | Creates a value of <a>OperationResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>orAddtional</a></li>
--   </ul>
operationResponse :: HashMap Text JSONValue -> OperationResponse

-- | Properties of the object. Contains field 'type with type URL.
orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)

-- | Docker image that is used to start a VM container for the version you
--   deploy.
--   
--   <i>See:</i> <a>containerInfo</a> smart constructor.
data ContainerInfo

-- | Creates a value of <a>ContainerInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciImage</a></li>
--   </ul>
containerInfo :: ContainerInfo

-- | URI to the hosted container image in a Docker repository. 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)

-- | An Instance resource is the computing unit that App Engine uses to
--   automatically scale an application.
--   
--   <i>See:</i> <a>instance'</a> smart constructor.
data Instance

-- | Creates a value of <a>Instance</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iMemoryUsage</a></li>
--   <li><a>iVMStatus</a></li>
--   <li><a>iVMZoneName</a></li>
--   <li><a>iVMIP</a></li>
--   <li><a>iStartTime</a></li>
--   <li><a>iVMId</a></li>
--   <li><a>iAvailability</a></li>
--   <li><a>iVMName</a></li>
--   <li><a>iName</a></li>
--   <li><a>iVMDebugEnabled</a></li>
--   <li><a>iRequests</a></li>
--   <li><a>iQps</a></li>
--   <li><a>iId</a></li>
--   <li><a>iErrors</a></li>
--   <li><a>iAverageLatency</a></li>
--   <li><a>iAppEngineRelease</a></li>
--   </ul>
instance' :: Instance

-- | Total memory in use (bytes).'OutputOnly
iMemoryUsage :: Lens' Instance (Maybe Int64)

-- | Status of the virtual machine where this instance lives. Only
--   applicable for instances in App Engine flexible
--   environment.'OutputOnly
iVMStatus :: Lens' Instance (Maybe Text)

-- | Zone where the virtual machine is located. Only applicable for
--   instances in App Engine flexible environment.'OutputOnly
iVMZoneName :: Lens' Instance (Maybe Text)

-- | The IP address of this instance. Only applicable for instances in App
--   Engine flexible environment.'OutputOnly
iVMIP :: Lens' Instance (Maybe Text)

-- | Time that this instance was started.'OutputOnly
iStartTime :: Lens' Instance (Maybe Text)

-- | Virtual machine ID of this instance. Only applicable for instances in
--   App Engine flexible environment.'OutputOnly
iVMId :: Lens' Instance (Maybe Text)

-- | Availability of the instance.'OutputOnly
iAvailability :: Lens' Instance (Maybe Text)

-- | Name of the virtual machine where this instance lives. Only applicable
--   for instances in App Engine flexible environment.'OutputOnly
iVMName :: Lens' Instance (Maybe Text)

-- | 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)

-- | Whether this instance is in debug mode. Only applicable for instances
--   in App Engine flexible environment.'OutputOnly
iVMDebugEnabled :: Lens' Instance (Maybe Bool)

-- | Number of requests since this instance was started.'OutputOnly
iRequests :: Lens' Instance (Maybe Int32)

-- | Average queries per second (QPS) over the last minute.'OutputOnly
iQps :: Lens' Instance (Maybe Double)

-- | Relative name of the instance within the version. Example:
--   instance-1.'OutputOnly
iId :: Lens' Instance (Maybe Text)

-- | Number of errors since this instance was started.'OutputOnly
iErrors :: Lens' Instance (Maybe Int32)

-- | Average latency (ms) over the last minute.'OutputOnly
iAverageLatency :: Lens' Instance (Maybe Int32)

-- | App Engine release this instance is running on.'OutputOnly
iAppEngineRelease :: Lens' Instance (Maybe Text)

-- | Code and application artifacts used to deploy a version to App Engine.
--   
--   <i>See:</i> <a>deployment</a> smart constructor.
data Deployment

-- | Creates a value of <a>Deployment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dZip</a></li>
--   <li><a>dContainer</a></li>
--   <li><a>dFiles</a></li>
--   </ul>
deployment :: Deployment

-- | The zip file for this deployment, if this is a zip deployment.
dZip :: Lens' Deployment (Maybe ZipInfo)

-- | A Docker image that App Engine uses to run the version. Only
--   applicable for instances in App Engine flexible environment.
dContainer :: Lens' Deployment (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.
dFiles :: Lens' Deployment (Maybe DeploymentFiles)
