packages feed

gogol-composer (empty) → 0.4.0

raw patch · 17 files changed

+3603/−0 lines, 17 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-composer++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Composer.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-composer` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ gen/Network/Google/Composer.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.Composer+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Manages Apache Airflow environments on Google Cloud Platform.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference>+module Network.Google.Composer+    (+    -- * Service Configuration+      composerService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , ComposerAPI++    -- * Resources++    -- ** composer.projects.locations.environments.create+    , module Network.Google.Resource.Composer.Projects.Locations.Environments.Create++    -- ** composer.projects.locations.environments.delete+    , module Network.Google.Resource.Composer.Projects.Locations.Environments.Delete++    -- ** composer.projects.locations.environments.get+    , module Network.Google.Resource.Composer.Projects.Locations.Environments.Get++    -- ** composer.projects.locations.environments.list+    , module Network.Google.Resource.Composer.Projects.Locations.Environments.List++    -- ** composer.projects.locations.environments.patch+    , module Network.Google.Resource.Composer.Projects.Locations.Environments.Patch++    -- ** composer.projects.locations.operations.delete+    , module Network.Google.Resource.Composer.Projects.Locations.Operations.Delete++    -- ** composer.projects.locations.operations.get+    , module Network.Google.Resource.Composer.Projects.Locations.Operations.Get++    -- ** composer.projects.locations.operations.list+    , module Network.Google.Resource.Composer.Projects.Locations.Operations.List++    -- * Types++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- ** ListEnvironmentsResponse+    , ListEnvironmentsResponse+    , listEnvironmentsResponse+    , lerNextPageToken+    , lerEnvironments++    -- ** EnvironmentConfig+    , EnvironmentConfig+    , environmentConfig+    , ecNodeConfig+    , ecNodeCount+    , ecSoftwareConfig+    , ecDagGcsPrefix+    , ecGkeCluster+    , ecAirflowURI++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** NodeConfig+    , NodeConfig+    , nodeConfig+    , ncDiskSizeGb+    , ncLocation+    , ncNetwork+    , ncOAuthScopes+    , ncServiceAccount+    , ncSubnetwork+    , ncMachineType+    , ncTags++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Empty+    , Empty+    , empty++    -- ** OperationMetadataOperationType+    , OperationMetadataOperationType (..)++    -- ** SoftwareConfigEnvVariables+    , SoftwareConfigEnvVariables+    , softwareConfigEnvVariables+    , scevAddtional++    -- ** Environment+    , Environment+    , environment+    , eState+    , eConfig+    , eUuid+    , eUpdateTime+    , eName+    , eLabels+    , eCreateTime++    -- ** SoftwareConfigAirflowConfigOverrides+    , SoftwareConfigAirflowConfigOverrides+    , softwareConfigAirflowConfigOverrides+    , scacoAddtional++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** SoftwareConfigPypiPackages+    , SoftwareConfigPypiPackages+    , softwareConfigPypiPackages+    , scppAddtional++    -- ** OperationMetadataState+    , OperationMetadataState (..)++    -- ** EnvironmentState+    , EnvironmentState (..)++    -- ** Xgafv+    , Xgafv (..)++    -- ** SoftwareConfig+    , SoftwareConfig+    , softwareConfig+    , scImageVersion+    , scPythonVersion+    , scPypiPackages+    , scAirflowConfigOverrides+    , scEnvVariables++    -- ** EnvironmentLabels+    , EnvironmentLabels+    , environmentLabels+    , elAddtional++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omState+    , omResourceUuid+    , omResource+    , omEndTime+    , omOperationType+    , omCreateTime++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude+import           Network.Google.Resource.Composer.Projects.Locations.Environments.Create+import           Network.Google.Resource.Composer.Projects.Locations.Environments.Delete+import           Network.Google.Resource.Composer.Projects.Locations.Environments.Get+import           Network.Google.Resource.Composer.Projects.Locations.Environments.List+import           Network.Google.Resource.Composer.Projects.Locations.Environments.Patch+import           Network.Google.Resource.Composer.Projects.Locations.Operations.Delete+import           Network.Google.Resource.Composer.Projects.Locations.Operations.Get+import           Network.Google.Resource.Composer.Projects.Locations.Operations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Composer API service.+type ComposerAPI =+     ProjectsLocationsOperationsListResource :<|>+       ProjectsLocationsOperationsGetResource+       :<|> ProjectsLocationsOperationsDeleteResource+       :<|> ProjectsLocationsEnvironmentsListResource+       :<|> ProjectsLocationsEnvironmentsPatchResource+       :<|> ProjectsLocationsEnvironmentsGetResource+       :<|> ProjectsLocationsEnvironmentsCreateResource+       :<|> ProjectsLocationsEnvironmentsDeleteResource
+ gen/Network/Google/Composer/Types.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Composer.Types+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.Composer.Types+    (+    -- * Service Configuration+      composerService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * OperationSchema+    , OperationSchema+    , operationSchema+    , osAddtional++    -- * ListEnvironmentsResponse+    , ListEnvironmentsResponse+    , listEnvironmentsResponse+    , lerNextPageToken+    , lerEnvironments++    -- * EnvironmentConfig+    , EnvironmentConfig+    , environmentConfig+    , ecNodeConfig+    , ecNodeCount+    , ecSoftwareConfig+    , ecDagGcsPrefix+    , ecGkeCluster+    , ecAirflowURI++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * NodeConfig+    , NodeConfig+    , nodeConfig+    , ncDiskSizeGb+    , ncLocation+    , ncNetwork+    , ncOAuthScopes+    , ncServiceAccount+    , ncSubnetwork+    , ncMachineType+    , ncTags++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Empty+    , Empty+    , empty++    -- * OperationMetadataOperationType+    , OperationMetadataOperationType (..)++    -- * SoftwareConfigEnvVariables+    , SoftwareConfigEnvVariables+    , softwareConfigEnvVariables+    , scevAddtional++    -- * Environment+    , Environment+    , environment+    , eState+    , eConfig+    , eUuid+    , eUpdateTime+    , eName+    , eLabels+    , eCreateTime++    -- * SoftwareConfigAirflowConfigOverrides+    , SoftwareConfigAirflowConfigOverrides+    , softwareConfigAirflowConfigOverrides+    , scacoAddtional++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * SoftwareConfigPypiPackages+    , SoftwareConfigPypiPackages+    , softwareConfigPypiPackages+    , scppAddtional++    -- * OperationMetadataState+    , OperationMetadataState (..)++    -- * EnvironmentState+    , EnvironmentState (..)++    -- * Xgafv+    , Xgafv (..)++    -- * SoftwareConfig+    , SoftwareConfig+    , softwareConfig+    , scImageVersion+    , scPythonVersion+    , scPypiPackages+    , scAirflowConfigOverrides+    , scEnvVariables++    -- * EnvironmentLabels+    , EnvironmentLabels+    , environmentLabels+    , elAddtional++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omState+    , omResourceUuid+    , omResource+    , omEndTime+    , omOperationType+    , omCreateTime++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional+    ) where++import           Network.Google.Composer.Types.Product+import           Network.Google.Composer.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Cloud Composer API. This contains the host and root path used as a starting point for constructing service requests.+composerService :: ServiceConfig+composerService+  = defaultService (ServiceId "composer:v1")+      "composer.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;
+ gen/Network/Google/Composer/Types/Product.hs view
@@ -0,0 +1,1216 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Composer.Types.Product+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.Composer.Types.Product where++import           Network.Google.Composer.Types.Sum+import           Network.Google.Prelude++-- | 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 needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`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 uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationSchema' smart constructor.+newtype OperationSchema = OperationSchema'+    { _osAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osAddtional'+operationSchema+    :: HashMap Text JSONValue -- ^ 'osAddtional'+    -> OperationSchema+operationSchema pOsAddtional_ =+    OperationSchema'+    { _osAddtional = _Coerce # pOsAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+osAddtional :: Lens' OperationSchema (HashMap Text JSONValue)+osAddtional+  = lens _osAddtional (\ s a -> s{_osAddtional = a}) .+      _Coerce++instance FromJSON OperationSchema where+        parseJSON+          = withObject "OperationSchema"+              (\ o -> OperationSchema' <$> (parseJSONObject o))++instance ToJSON OperationSchema where+        toJSON = toJSON . _osAddtional++-- | The environments in a project and location.+--+-- /See:/ 'listEnvironmentsResponse' smart constructor.+data ListEnvironmentsResponse = ListEnvironmentsResponse'+    { _lerNextPageToken :: !(Maybe Text)+    , _lerEnvironments  :: !(Maybe [Environment])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListEnvironmentsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lerNextPageToken'+--+-- * 'lerEnvironments'+listEnvironmentsResponse+    :: ListEnvironmentsResponse+listEnvironmentsResponse =+    ListEnvironmentsResponse'+    { _lerNextPageToken = Nothing+    , _lerEnvironments = Nothing+    }++-- | The page token used to query for the next page if one exists.+lerNextPageToken :: Lens' ListEnvironmentsResponse (Maybe Text)+lerNextPageToken+  = lens _lerNextPageToken+      (\ s a -> s{_lerNextPageToken = a})++-- | The list of environments returned by a ListEnvironmentsRequest.+lerEnvironments :: Lens' ListEnvironmentsResponse [Environment]+lerEnvironments+  = lens _lerEnvironments+      (\ s a -> s{_lerEnvironments = a})+      . _Default+      . _Coerce++instance FromJSON ListEnvironmentsResponse where+        parseJSON+          = withObject "ListEnvironmentsResponse"+              (\ o ->+                 ListEnvironmentsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "environments" .!= mempty))++instance ToJSON ListEnvironmentsResponse where+        toJSON ListEnvironmentsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lerNextPageToken,+                  ("environments" .=) <$> _lerEnvironments])++-- | Configuration information for an environment.+--+-- /See:/ 'environmentConfig' smart constructor.+data EnvironmentConfig = EnvironmentConfig'+    { _ecNodeConfig     :: !(Maybe NodeConfig)+    , _ecNodeCount      :: !(Maybe (Textual Int32))+    , _ecSoftwareConfig :: !(Maybe SoftwareConfig)+    , _ecDagGcsPrefix   :: !(Maybe Text)+    , _ecGkeCluster     :: !(Maybe Text)+    , _ecAirflowURI     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecNodeConfig'+--+-- * 'ecNodeCount'+--+-- * 'ecSoftwareConfig'+--+-- * 'ecDagGcsPrefix'+--+-- * 'ecGkeCluster'+--+-- * 'ecAirflowURI'+environmentConfig+    :: EnvironmentConfig+environmentConfig =+    EnvironmentConfig'+    { _ecNodeConfig = Nothing+    , _ecNodeCount = Nothing+    , _ecSoftwareConfig = Nothing+    , _ecDagGcsPrefix = Nothing+    , _ecGkeCluster = Nothing+    , _ecAirflowURI = Nothing+    }++-- | The configuration used for the Kubernetes Engine cluster.+ecNodeConfig :: Lens' EnvironmentConfig (Maybe NodeConfig)+ecNodeConfig+  = lens _ecNodeConfig (\ s a -> s{_ecNodeConfig = a})++-- | The number of nodes in the Kubernetes Engine cluster that will be used+-- to run this environment.+ecNodeCount :: Lens' EnvironmentConfig (Maybe Int32)+ecNodeCount+  = lens _ecNodeCount (\ s a -> s{_ecNodeCount = a}) .+      mapping _Coerce++-- | The configuration settings for software inside the environment.+ecSoftwareConfig :: Lens' EnvironmentConfig (Maybe SoftwareConfig)+ecSoftwareConfig+  = lens _ecSoftwareConfig+      (\ s a -> s{_ecSoftwareConfig = a})++-- | Output only. The Cloud Storage prefix of the DAGs for this environment.+-- Although Cloud Storage objects reside in a flat namespace, a+-- hierarchical file tree can be simulated using \"\/\"-delimited object+-- name prefixes. DAG objects for this environment reside in a simulated+-- directory with the given prefix.+ecDagGcsPrefix :: Lens' EnvironmentConfig (Maybe Text)+ecDagGcsPrefix+  = lens _ecDagGcsPrefix+      (\ s a -> s{_ecDagGcsPrefix = a})++-- | Output only. The Kubernetes Engine cluster used to run this environment.+ecGkeCluster :: Lens' EnvironmentConfig (Maybe Text)+ecGkeCluster+  = lens _ecGkeCluster (\ s a -> s{_ecGkeCluster = a})++-- | Output only. The URI of the Apache Airflow Web UI hosted within this+-- environment (see [Airflow web+-- interface](\/composer\/docs\/how-to\/accessing\/airflow-web-interface)).+ecAirflowURI :: Lens' EnvironmentConfig (Maybe Text)+ecAirflowURI+  = lens _ecAirflowURI (\ s a -> s{_ecAirflowURI = a})++instance FromJSON EnvironmentConfig where+        parseJSON+          = withObject "EnvironmentConfig"+              (\ o ->+                 EnvironmentConfig' <$>+                   (o .:? "nodeConfig") <*> (o .:? "nodeCount") <*>+                     (o .:? "softwareConfig")+                     <*> (o .:? "dagGcsPrefix")+                     <*> (o .:? "gkeCluster")+                     <*> (o .:? "airflowUri"))++instance ToJSON EnvironmentConfig where+        toJSON EnvironmentConfig'{..}+          = object+              (catMaybes+                 [("nodeConfig" .=) <$> _ecNodeConfig,+                  ("nodeCount" .=) <$> _ecNodeCount,+                  ("softwareConfig" .=) <$> _ecSoftwareConfig,+                  ("dagGcsPrefix" .=) <$> _ecDagGcsPrefix,+                  ("gkeCluster" .=) <$> _ecGkeCluster,+                  ("airflowUri" .=) <$> _ecAirflowURI])++-- | The response message for Operations.ListOperations.+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse'+    { _lorNextPageToken :: !(Maybe Text)+    , _lorOperations    :: !(Maybe [Operation])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorNextPageToken'+--+-- * 'lorOperations'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+    ListOperationsResponse'+    { _lorNextPageToken = Nothing+    , _lorOperations = Nothing+    }++-- | The standard List next-page token.+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageToken+  = lens _lorNextPageToken+      (\ s a -> s{_lorNextPageToken = a})++-- | A list of operations that matches the specified filter in the request.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lorNextPageToken,+                  ("operations" .=) <$> _lorOperations])++-- | The configuration information for the Kubernetes Engine nodes running+-- the Apache Airflow software.+--+-- /See:/ 'nodeConfig' smart constructor.+data NodeConfig = NodeConfig'+    { _ncDiskSizeGb     :: !(Maybe (Textual Int32))+    , _ncLocation       :: !(Maybe Text)+    , _ncNetwork        :: !(Maybe Text)+    , _ncOAuthScopes    :: !(Maybe [Text])+    , _ncServiceAccount :: !(Maybe Text)+    , _ncSubnetwork     :: !(Maybe Text)+    , _ncMachineType    :: !(Maybe Text)+    , _ncTags           :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NodeConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncDiskSizeGb'+--+-- * 'ncLocation'+--+-- * 'ncNetwork'+--+-- * 'ncOAuthScopes'+--+-- * 'ncServiceAccount'+--+-- * 'ncSubnetwork'+--+-- * 'ncMachineType'+--+-- * 'ncTags'+nodeConfig+    :: NodeConfig+nodeConfig =+    NodeConfig'+    { _ncDiskSizeGb = Nothing+    , _ncLocation = Nothing+    , _ncNetwork = Nothing+    , _ncOAuthScopes = Nothing+    , _ncServiceAccount = Nothing+    , _ncSubnetwork = Nothing+    , _ncMachineType = Nothing+    , _ncTags = Nothing+    }++-- | Optional. The disk size in GB used for node VMs. Minimum size is 20GB.+-- If unspecified, defaults to 100GB. Cannot be updated.+ncDiskSizeGb :: Lens' NodeConfig (Maybe Int32)+ncDiskSizeGb+  = lens _ncDiskSizeGb (\ s a -> s{_ncDiskSizeGb = a})+      . mapping _Coerce++-- | Optional. The Compute Engine [zone](\/compute\/docs\/regions-zones) in+-- which to deploy the VMs used to run the Apache Airflow software,+-- specified as a [relative resource+-- name](\/apis\/design\/resource_names#relative_resource_name). For+-- example: \"projects\/{projectId}\/zones\/{zoneId}\". This \`location\`+-- must belong to the enclosing environment\'s project and location. If+-- both this field and \`nodeConfig.machineType\` are specified,+-- \`nodeConfig.machineType\` must belong to this \`location\`; if both are+-- unspecified, the service will pick a zone in the Compute Engine region+-- corresponding to the Cloud Composer location, and propagate that choice+-- to both fields. If only one field (\`location\` or+-- \`nodeConfig.machineType\`) is specified, the location information from+-- the specified field will be propagated to the unspecified field.+ncLocation :: Lens' NodeConfig (Maybe Text)+ncLocation+  = lens _ncLocation (\ s a -> s{_ncLocation = a})++-- | Optional. The Compute Engine network to be used for machine+-- communications, specified as a [relative resource+-- name](\/apis\/design\/resource_names#relative_resource_name). For+-- example: \"projects\/{projectId}\/global\/networks\/{networkId}\".+-- [Shared VPC](\/vpc\/docs\/shared-vpc) is not currently supported. The+-- network must belong to the environment\'s project. If unspecified, the+-- \"default\" network ID in the environment\'s project is used. If a+-- [Custom Subnet Network](\/vpc\/docs\/vpc#vpc_networks_and_subnets) is+-- provided, \`nodeConfig.subnetwork\` must also be provided.+ncNetwork :: Lens' NodeConfig (Maybe Text)+ncNetwork+  = lens _ncNetwork (\ s a -> s{_ncNetwork = a})++-- | Optional. The set of Google API scopes to be made available on all node+-- VMs. If \`oauth_scopes\` is empty, defaults to+-- [\"https:\/\/www.googleapis.com\/auth\/cloud-platform\"]. Cannot be+-- updated.+ncOAuthScopes :: Lens' NodeConfig [Text]+ncOAuthScopes+  = lens _ncOAuthScopes+      (\ s a -> s{_ncOAuthScopes = a})+      . _Default+      . _Coerce++-- | Optional. The Google Cloud Platform Service Account to be used by the+-- node VMs. If a service account is not specified, the \"default\" Compute+-- Engine service account is used. Cannot be updated.+ncServiceAccount :: Lens' NodeConfig (Maybe Text)+ncServiceAccount+  = lens _ncServiceAccount+      (\ s a -> s{_ncServiceAccount = a})++-- | Optional. The Compute Engine subnetwork to be used for machine+-- communications, specified as a [relative resource+-- name](\/apis\/design\/resource_names#relative_resource_name). For+-- example:+-- \"projects\/{projectId}\/regions\/{regionId}\/subnetworks\/{subnetworkId}\"+-- If a subnetwork is provided, \`nodeConfig.network\` must also be+-- provided, and the subnetwork must belong to the enclosing environment\'s+-- project and location.+ncSubnetwork :: Lens' NodeConfig (Maybe Text)+ncSubnetwork+  = lens _ncSubnetwork (\ s a -> s{_ncSubnetwork = a})++-- | Optional. The Compute Engine [machine+-- type](\/compute\/docs\/machine-types) used for cluster instances,+-- specified as a [relative resource+-- name](\/apis\/design\/resource_names#relative_resource_name). For+-- example:+-- \"projects\/{projectId}\/zones\/{zoneId}\/machineTypes\/{machineTypeId}\".+-- The \`machineType\` must belong to the enclosing environment\'s project+-- and location. If both this field and \`nodeConfig.location\` are+-- specified, this \`machineType\` must belong to the+-- \`nodeConfig.location\`; if both are unspecified, the service will pick+-- a zone in the Compute Engine region corresponding to the Cloud Composer+-- location, and propagate that choice to both fields. If exactly one of+-- this field and \`nodeConfig.location\` is specified, the location+-- information from the specified field will be propagated to the+-- unspecified field. If this field is unspecified, the \`machineTypeId\`+-- defaults to \"n1-standard-1\".+ncMachineType :: Lens' NodeConfig (Maybe Text)+ncMachineType+  = lens _ncMachineType+      (\ s a -> s{_ncMachineType = a})++-- | Optional. The list of instance tags applied to all node VMs. Tags are+-- used to identify valid sources or targets for network firewalls. Each+-- tag within the list must comply with+-- [RFC1035](https:\/\/www.ietf.org\/rfc\/rfc1035.txt). Cannot be updated.+ncTags :: Lens' NodeConfig [Text]+ncTags+  = lens _ncTags (\ s a -> s{_ncTags = a}) . _Default .+      _Coerce++instance FromJSON NodeConfig where+        parseJSON+          = withObject "NodeConfig"+              (\ o ->+                 NodeConfig' <$>+                   (o .:? "diskSizeGb") <*> (o .:? "location") <*>+                     (o .:? "network")+                     <*> (o .:? "oauthScopes" .!= mempty)+                     <*> (o .:? "serviceAccount")+                     <*> (o .:? "subnetwork")+                     <*> (o .:? "machineType")+                     <*> (o .:? "tags" .!= mempty))++instance ToJSON NodeConfig where+        toJSON NodeConfig'{..}+          = object+              (catMaybes+                 [("diskSizeGb" .=) <$> _ncDiskSizeGb,+                  ("location" .=) <$> _ncLocation,+                  ("network" .=) <$> _ncNetwork,+                  ("oauthScopes" .=) <$> _ncOAuthScopes,+                  ("serviceAccount" .=) <$> _ncServiceAccount,+                  ("subnetwork" .=) <$> _ncSubnetwork,+                  ("machineType" .=) <$> _ncMachineType,+                  ("tags" .=) <$> _ncTags])++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationSchema)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If \`true\`, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure or cancellation.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe OperationSchema)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+    Empty'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++-- | Optional. Additional environment variables to provide to the Apache+-- Airflow scheduler, worker, and webserver processes. Environment variable+-- names must match the regular expression \`a-zA-Z_*\`. They cannot+-- specify Apache Airflow software configuration overrides (they cannot+-- match the regular expression \`AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+\`), and+-- they cannot match any of the following reserved names: *+-- \`AIRFLOW_HOME\` * \`C_FORCE_ROOT\` * \`CONTAINER_NAME\` *+-- \`DAGS_FOLDER\` * \`GCP_PROJECT\` * \`GCS_BUCKET\` *+-- \`GKE_CLUSTER_NAME\` * \`SQL_DATABASE\` * \`SQL_INSTANCE\` *+-- \`SQL_PASSWORD\` * \`SQL_PROJECT\` * \`SQL_REGION\` * \`SQL_USER\`+--+-- /See:/ 'softwareConfigEnvVariables' smart constructor.+newtype SoftwareConfigEnvVariables = SoftwareConfigEnvVariables'+    { _scevAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareConfigEnvVariables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scevAddtional'+softwareConfigEnvVariables+    :: HashMap Text Text -- ^ 'scevAddtional'+    -> SoftwareConfigEnvVariables+softwareConfigEnvVariables pScevAddtional_ =+    SoftwareConfigEnvVariables'+    { _scevAddtional = _Coerce # pScevAddtional_+    }++scevAddtional :: Lens' SoftwareConfigEnvVariables (HashMap Text Text)+scevAddtional+  = lens _scevAddtional+      (\ s a -> s{_scevAddtional = a})+      . _Coerce++instance FromJSON SoftwareConfigEnvVariables where+        parseJSON+          = withObject "SoftwareConfigEnvVariables"+              (\ o ->+                 SoftwareConfigEnvVariables' <$> (parseJSONObject o))++instance ToJSON SoftwareConfigEnvVariables where+        toJSON = toJSON . _scevAddtional++-- | An environment for running orchestration tasks.+--+-- /See:/ 'environment' smart constructor.+data Environment = Environment'+    { _eState      :: !(Maybe EnvironmentState)+    , _eConfig     :: !(Maybe EnvironmentConfig)+    , _eUuid       :: !(Maybe Text)+    , _eUpdateTime :: !(Maybe DateTime')+    , _eName       :: !(Maybe Text)+    , _eLabels     :: !(Maybe EnvironmentLabels)+    , _eCreateTime :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Environment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eState'+--+-- * 'eConfig'+--+-- * 'eUuid'+--+-- * 'eUpdateTime'+--+-- * 'eName'+--+-- * 'eLabels'+--+-- * 'eCreateTime'+environment+    :: Environment+environment =+    Environment'+    { _eState = Nothing+    , _eConfig = Nothing+    , _eUuid = Nothing+    , _eUpdateTime = Nothing+    , _eName = Nothing+    , _eLabels = Nothing+    , _eCreateTime = Nothing+    }++-- | The current state of the environment.+eState :: Lens' Environment (Maybe EnvironmentState)+eState = lens _eState (\ s a -> s{_eState = a})++-- | Configuration parameters for this environment.+eConfig :: Lens' Environment (Maybe EnvironmentConfig)+eConfig = lens _eConfig (\ s a -> s{_eConfig = a})++-- | Output only. The UUID (Universally Unique IDentifier) associated with+-- this environment. This value is generated when the environment is+-- created.+eUuid :: Lens' Environment (Maybe Text)+eUuid = lens _eUuid (\ s a -> s{_eUuid = a})++-- | Output only. The time at which this environment was last modified.+eUpdateTime :: Lens' Environment (Maybe UTCTime)+eUpdateTime+  = lens _eUpdateTime (\ s a -> s{_eUpdateTime = a}) .+      mapping _DateTime++-- | The resource name of the environment, in the form:+-- \"projects\/{projectId}\/locations\/{locationId}\/environments\/{environmentId}\"+eName :: Lens' Environment (Maybe Text)+eName = lens _eName (\ s a -> s{_eName = a})++-- | Optional. User-defined labels for this environment. The labels map can+-- contain no more than 64 entries. Entries of the labels map are UTF8+-- strings that comply with the following restrictions: * Keys must conform+-- to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp:+-- [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally+-- constrained to be \<= 128 bytes in size.+eLabels :: Lens' Environment (Maybe EnvironmentLabels)+eLabels = lens _eLabels (\ s a -> s{_eLabels = a})++-- | Output only. The time at which this environment was created.+eCreateTime :: Lens' Environment (Maybe UTCTime)+eCreateTime+  = lens _eCreateTime (\ s a -> s{_eCreateTime = a}) .+      mapping _DateTime++instance FromJSON Environment where+        parseJSON+          = withObject "Environment"+              (\ o ->+                 Environment' <$>+                   (o .:? "state") <*> (o .:? "config") <*>+                     (o .:? "uuid")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "name")+                     <*> (o .:? "labels")+                     <*> (o .:? "createTime"))++instance ToJSON Environment where+        toJSON Environment'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _eState,+                  ("config" .=) <$> _eConfig, ("uuid" .=) <$> _eUuid,+                  ("updateTime" .=) <$> _eUpdateTime,+                  ("name" .=) <$> _eName, ("labels" .=) <$> _eLabels,+                  ("createTime" .=) <$> _eCreateTime])++-- | Optional. Apache Airflow configuration properties to override. Property+-- keys contain the section and property names, separated by a hyphen, for+-- example \"core-dags_are_paused_at_creation\". Section names must not+-- contain hyphens (\"-\"), opening square brackets (\"[\"), or closing+-- square brackets (\"]\"). The property name must not be empty and must+-- not contain an equals sign (\"=\") or semicolon (\";\"). Section and+-- property names must not contain a period (\".\"). Apache Airflow+-- configuration property names must be written in+-- [snake_case](https:\/\/en.wikipedia.org\/wiki\/Snake_case). Property+-- values can contain any character, and can be written in any lower\/upper+-- case format. Certain Apache Airflow configuration property values are+-- [blacklisted](\/composer\/docs\/how-to\/managing\/setting-airflow-configurations#airflow_configuration_blacklists),+-- and cannot be overridden.+--+-- /See:/ 'softwareConfigAirflowConfigOverrides' smart constructor.+newtype SoftwareConfigAirflowConfigOverrides = SoftwareConfigAirflowConfigOverrides'+    { _scacoAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareConfigAirflowConfigOverrides' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scacoAddtional'+softwareConfigAirflowConfigOverrides+    :: HashMap Text Text -- ^ 'scacoAddtional'+    -> SoftwareConfigAirflowConfigOverrides+softwareConfigAirflowConfigOverrides pScacoAddtional_ =+    SoftwareConfigAirflowConfigOverrides'+    { _scacoAddtional = _Coerce # pScacoAddtional_+    }++scacoAddtional :: Lens' SoftwareConfigAirflowConfigOverrides (HashMap Text Text)+scacoAddtional+  = lens _scacoAddtional+      (\ s a -> s{_scacoAddtional = a})+      . _Coerce++instance FromJSON+         SoftwareConfigAirflowConfigOverrides where+        parseJSON+          = withObject "SoftwareConfigAirflowConfigOverrides"+              (\ o ->+                 SoftwareConfigAirflowConfigOverrides' <$>+                   (parseJSONObject o))++instance ToJSON SoftwareConfigAirflowConfigOverrides+         where+        toJSON = toJSON . _scacoAddtional++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | Optional. Custom Python Package Index (PyPI) packages to be installed in+-- the environment. Keys refer to the lowercase package name such as+-- \"numpy\" and values are the lowercase extras and version specifier such+-- as \"==1.12.0\", \"[devel,gcp_api]\", or \"[devel]>=1.8.2, \<1.9.2\". To+-- specify a package without pinning it to a version specifier, use the+-- empty string as the value.+--+-- /See:/ 'softwareConfigPypiPackages' smart constructor.+newtype SoftwareConfigPypiPackages = SoftwareConfigPypiPackages'+    { _scppAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareConfigPypiPackages' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scppAddtional'+softwareConfigPypiPackages+    :: HashMap Text Text -- ^ 'scppAddtional'+    -> SoftwareConfigPypiPackages+softwareConfigPypiPackages pScppAddtional_ =+    SoftwareConfigPypiPackages'+    { _scppAddtional = _Coerce # pScppAddtional_+    }++scppAddtional :: Lens' SoftwareConfigPypiPackages (HashMap Text Text)+scppAddtional+  = lens _scppAddtional+      (\ s a -> s{_scppAddtional = a})+      . _Coerce++instance FromJSON SoftwareConfigPypiPackages where+        parseJSON+          = withObject "SoftwareConfigPypiPackages"+              (\ o ->+                 SoftwareConfigPypiPackages' <$> (parseJSONObject o))++instance ToJSON SoftwareConfigPypiPackages where+        toJSON = toJSON . _scppAddtional++-- | Specifies the selection and configuration of software inside the+-- environment.+--+-- /See:/ 'softwareConfig' smart constructor.+data SoftwareConfig = SoftwareConfig'+    { _scImageVersion           :: !(Maybe Text)+    , _scPythonVersion          :: !(Maybe Text)+    , _scPypiPackages           :: !(Maybe SoftwareConfigPypiPackages)+    , _scAirflowConfigOverrides :: !(Maybe SoftwareConfigAirflowConfigOverrides)+    , _scEnvVariables           :: !(Maybe SoftwareConfigEnvVariables)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SoftwareConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scImageVersion'+--+-- * 'scPythonVersion'+--+-- * 'scPypiPackages'+--+-- * 'scAirflowConfigOverrides'+--+-- * 'scEnvVariables'+softwareConfig+    :: SoftwareConfig+softwareConfig =+    SoftwareConfig'+    { _scImageVersion = Nothing+    , _scPythonVersion = Nothing+    , _scPypiPackages = Nothing+    , _scAirflowConfigOverrides = Nothing+    , _scEnvVariables = Nothing+    }++-- | Output only. The version of the software running in the environment.+-- This encapsulates both the version of Cloud Composer functionality and+-- the version of Apache Airflow. It must match the regular expression+-- \`composer-[0-9]+\\.[0-9]+(\\.[0-9]+)?-airflow-[0-9]+\\.[0-9]+(\\.[0-9]+.*)?\`.+-- The Cloud Composer portion of the version is a [semantic+-- version](https:\/\/semver.org). The portion of the image version+-- following _airflow-_ is an official Apache Airflow repository [release+-- name](https:\/\/github.com\/apache\/incubator-airflow\/releases). See+-- also [Release Notes](\/composer\/docs\/release-notes).+scImageVersion :: Lens' SoftwareConfig (Maybe Text)+scImageVersion+  = lens _scImageVersion+      (\ s a -> s{_scImageVersion = a})++-- | Optional. The major version of Python used to run the Apache Airflow+-- scheduler, worker, and webserver processes. Can be set to \'2\' or+-- \'3\'. If not specified, the default is \'2\'. Cannot be updated.+scPythonVersion :: Lens' SoftwareConfig (Maybe Text)+scPythonVersion+  = lens _scPythonVersion+      (\ s a -> s{_scPythonVersion = a})++-- | Optional. Custom Python Package Index (PyPI) packages to be installed in+-- the environment. Keys refer to the lowercase package name such as+-- \"numpy\" and values are the lowercase extras and version specifier such+-- as \"==1.12.0\", \"[devel,gcp_api]\", or \"[devel]>=1.8.2, \<1.9.2\". To+-- specify a package without pinning it to a version specifier, use the+-- empty string as the value.+scPypiPackages :: Lens' SoftwareConfig (Maybe SoftwareConfigPypiPackages)+scPypiPackages+  = lens _scPypiPackages+      (\ s a -> s{_scPypiPackages = a})++-- | Optional. Apache Airflow configuration properties to override. Property+-- keys contain the section and property names, separated by a hyphen, for+-- example \"core-dags_are_paused_at_creation\". Section names must not+-- contain hyphens (\"-\"), opening square brackets (\"[\"), or closing+-- square brackets (\"]\"). The property name must not be empty and must+-- not contain an equals sign (\"=\") or semicolon (\";\"). Section and+-- property names must not contain a period (\".\"). Apache Airflow+-- configuration property names must be written in+-- [snake_case](https:\/\/en.wikipedia.org\/wiki\/Snake_case). Property+-- values can contain any character, and can be written in any lower\/upper+-- case format. Certain Apache Airflow configuration property values are+-- [blacklisted](\/composer\/docs\/how-to\/managing\/setting-airflow-configurations#airflow_configuration_blacklists),+-- and cannot be overridden.+scAirflowConfigOverrides :: Lens' SoftwareConfig (Maybe SoftwareConfigAirflowConfigOverrides)+scAirflowConfigOverrides+  = lens _scAirflowConfigOverrides+      (\ s a -> s{_scAirflowConfigOverrides = a})++-- | Optional. Additional environment variables to provide to the Apache+-- Airflow scheduler, worker, and webserver processes. Environment variable+-- names must match the regular expression \`a-zA-Z_*\`. They cannot+-- specify Apache Airflow software configuration overrides (they cannot+-- match the regular expression \`AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+\`), and+-- they cannot match any of the following reserved names: *+-- \`AIRFLOW_HOME\` * \`C_FORCE_ROOT\` * \`CONTAINER_NAME\` *+-- \`DAGS_FOLDER\` * \`GCP_PROJECT\` * \`GCS_BUCKET\` *+-- \`GKE_CLUSTER_NAME\` * \`SQL_DATABASE\` * \`SQL_INSTANCE\` *+-- \`SQL_PASSWORD\` * \`SQL_PROJECT\` * \`SQL_REGION\` * \`SQL_USER\`+scEnvVariables :: Lens' SoftwareConfig (Maybe SoftwareConfigEnvVariables)+scEnvVariables+  = lens _scEnvVariables+      (\ s a -> s{_scEnvVariables = a})++instance FromJSON SoftwareConfig where+        parseJSON+          = withObject "SoftwareConfig"+              (\ o ->+                 SoftwareConfig' <$>+                   (o .:? "imageVersion") <*> (o .:? "pythonVersion")+                     <*> (o .:? "pypiPackages")+                     <*> (o .:? "airflowConfigOverrides")+                     <*> (o .:? "envVariables"))++instance ToJSON SoftwareConfig where+        toJSON SoftwareConfig'{..}+          = object+              (catMaybes+                 [("imageVersion" .=) <$> _scImageVersion,+                  ("pythonVersion" .=) <$> _scPythonVersion,+                  ("pypiPackages" .=) <$> _scPypiPackages,+                  ("airflowConfigOverrides" .=) <$>+                    _scAirflowConfigOverrides,+                  ("envVariables" .=) <$> _scEnvVariables])++-- | Optional. User-defined labels for this environment. The labels map can+-- contain no more than 64 entries. Entries of the labels map are UTF8+-- strings that comply with the following restrictions: * Keys must conform+-- to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp:+-- [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally+-- constrained to be \<= 128 bytes in size.+--+-- /See:/ 'environmentLabels' smart constructor.+newtype EnvironmentLabels = EnvironmentLabels'+    { _elAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnvironmentLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elAddtional'+environmentLabels+    :: HashMap Text Text -- ^ 'elAddtional'+    -> EnvironmentLabels+environmentLabels pElAddtional_ =+    EnvironmentLabels'+    { _elAddtional = _Coerce # pElAddtional_+    }++elAddtional :: Lens' EnvironmentLabels (HashMap Text Text)+elAddtional+  = lens _elAddtional (\ s a -> s{_elAddtional = a}) .+      _Coerce++instance FromJSON EnvironmentLabels where+        parseJSON+          = withObject "EnvironmentLabels"+              (\ o -> EnvironmentLabels' <$> (parseJSONObject o))++instance ToJSON EnvironmentLabels where+        toJSON = toJSON . _elAddtional++-- | Metadata describing an operation.+--+-- /See:/ 'operationMetadata' smart constructor.+data OperationMetadata = OperationMetadata'+    { _omState         :: !(Maybe OperationMetadataState)+    , _omResourceUuid  :: !(Maybe Text)+    , _omResource      :: !(Maybe Text)+    , _omEndTime       :: !(Maybe DateTime')+    , _omOperationType :: !(Maybe OperationMetadataOperationType)+    , _omCreateTime    :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omState'+--+-- * 'omResourceUuid'+--+-- * 'omResource'+--+-- * 'omEndTime'+--+-- * 'omOperationType'+--+-- * 'omCreateTime'+operationMetadata+    :: OperationMetadata+operationMetadata =+    OperationMetadata'+    { _omState = Nothing+    , _omResourceUuid = Nothing+    , _omResource = Nothing+    , _omEndTime = Nothing+    , _omOperationType = Nothing+    , _omCreateTime = Nothing+    }++-- | Output only. The current operation state.+omState :: Lens' OperationMetadata (Maybe OperationMetadataState)+omState = lens _omState (\ s a -> s{_omState = a})++-- | Output only. The UUID of the resource being operated on.+omResourceUuid :: Lens' OperationMetadata (Maybe Text)+omResourceUuid+  = lens _omResourceUuid+      (\ s a -> s{_omResourceUuid = a})++-- | Output only. The resource being operated on, as a [relative resource+-- name]( \/apis\/design\/resource_names#relative_resource_name).+omResource :: Lens' OperationMetadata (Maybe Text)+omResource+  = lens _omResource (\ s a -> s{_omResource = a})++-- | Output only. The time when the operation terminated, regardless of its+-- success. This field is unset if the operation is still ongoing.+omEndTime :: Lens' OperationMetadata (Maybe UTCTime)+omEndTime+  = lens _omEndTime (\ s a -> s{_omEndTime = a}) .+      mapping _DateTime++-- | Output only. The type of operation being performed.+omOperationType :: Lens' OperationMetadata (Maybe OperationMetadataOperationType)+omOperationType+  = lens _omOperationType+      (\ s a -> s{_omOperationType = a})++-- | Output only. The time the operation was submitted to the server.+omCreateTime :: Lens' OperationMetadata (Maybe UTCTime)+omCreateTime+  = lens _omCreateTime (\ s a -> s{_omCreateTime = a})+      . mapping _DateTime++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o ->+                 OperationMetadata' <$>+                   (o .:? "state") <*> (o .:? "resourceUuid") <*>+                     (o .:? "resource")+                     <*> (o .:? "endTime")+                     <*> (o .:? "operationType")+                     <*> (o .:? "createTime"))++instance ToJSON OperationMetadata where+        toJSON OperationMetadata'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _omState,+                  ("resourceUuid" .=) <$> _omResourceUuid,+                  ("resource" .=) <$> _omResource,+                  ("endTime" .=) <$> _omEndTime,+                  ("operationType" .=) <$> _omOperationType,+                  ("createTime" .=) <$> _omCreateTime])++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse'+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional
+ gen/Network/Google/Composer/Types/Sum.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Composer.Types.Sum+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.Composer.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | Output only. The type of operation being performed.+data OperationMetadataOperationType+    = TypeUnspecified+      -- ^ @TYPE_UNSPECIFIED@+      -- Unused.+    | Create+      -- ^ @CREATE@+      -- A resource creation operation.+    | Delete'+      -- ^ @DELETE@+      -- A resource deletion operation.+    | Update+      -- ^ @UPDATE@+      -- A resource update operation.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationMetadataOperationType++instance FromHttpApiData OperationMetadataOperationType where+    parseQueryParam = \case+        "TYPE_UNSPECIFIED" -> Right TypeUnspecified+        "CREATE" -> Right Create+        "DELETE" -> Right Delete'+        "UPDATE" -> Right Update+        x -> Left ("Unable to parse OperationMetadataOperationType from: " <> x)++instance ToHttpApiData OperationMetadataOperationType where+    toQueryParam = \case+        TypeUnspecified -> "TYPE_UNSPECIFIED"+        Create -> "CREATE"+        Delete' -> "DELETE"+        Update -> "UPDATE"++instance FromJSON OperationMetadataOperationType where+    parseJSON = parseJSONText "OperationMetadataOperationType"++instance ToJSON OperationMetadataOperationType where+    toJSON = toJSONText++-- | Output only. The current operation state.+data OperationMetadataState+    = StateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- Unused.+    | Pending+      -- ^ @PENDING@+      -- The operation has been created but is not yet started.+    | Running+      -- ^ @RUNNING@+      -- The operation is underway.+    | Succeeded+      -- ^ @SUCCEEDED@+      -- The operation completed successfully.+    | Successful+      -- ^ @SUCCESSFUL@+    | Failed+      -- ^ @FAILED@+      -- The operation is no longer running but did not succeed.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationMetadataState++instance FromHttpApiData OperationMetadataState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right StateUnspecified+        "PENDING" -> Right Pending+        "RUNNING" -> Right Running+        "SUCCEEDED" -> Right Succeeded+        "SUCCESSFUL" -> Right Successful+        "FAILED" -> Right Failed+        x -> Left ("Unable to parse OperationMetadataState from: " <> x)++instance ToHttpApiData OperationMetadataState where+    toQueryParam = \case+        StateUnspecified -> "STATE_UNSPECIFIED"+        Pending -> "PENDING"+        Running -> "RUNNING"+        Succeeded -> "SUCCEEDED"+        Successful -> "SUCCESSFUL"+        Failed -> "FAILED"++instance FromJSON OperationMetadataState where+    parseJSON = parseJSONText "OperationMetadataState"++instance ToJSON OperationMetadataState where+    toJSON = toJSONText++-- | The current state of the environment.+data EnvironmentState+    = ESStateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- The state of the environment is unknown.+    | ESCreating+      -- ^ @CREATING@+      -- The environment is in the process of being created.+    | ESRunning+      -- ^ @RUNNING@+      -- The environment is currently running and healthy. It is ready for use.+    | ESUpdating+      -- ^ @UPDATING@+      -- The environment is being updated. It remains usable but cannot receive+      -- additional update requests or be deleted at this time.+    | ESDeleting+      -- ^ @DELETING@+      -- The environment is undergoing deletion. It cannot be used.+    | ESError'+      -- ^ @ERROR@+      -- The environment has encountered an error and cannot be used.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable EnvironmentState++instance FromHttpApiData EnvironmentState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right ESStateUnspecified+        "CREATING" -> Right ESCreating+        "RUNNING" -> Right ESRunning+        "UPDATING" -> Right ESUpdating+        "DELETING" -> Right ESDeleting+        "ERROR" -> Right ESError'+        x -> Left ("Unable to parse EnvironmentState from: " <> x)++instance ToHttpApiData EnvironmentState where+    toQueryParam = \case+        ESStateUnspecified -> "STATE_UNSPECIFIED"+        ESCreating -> "CREATING"+        ESRunning -> "RUNNING"+        ESUpdating -> "UPDATING"+        ESDeleting -> "DELETING"+        ESError' -> "ERROR"++instance FromJSON EnvironmentState where+    parseJSON = parseJSONText "EnvironmentState"++instance ToJSON EnvironmentState where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText
+ gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Create.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Environments.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new environment.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.environments.create@.+module Network.Google.Resource.Composer.Projects.Locations.Environments.Create+    (+    -- * REST Resource+      ProjectsLocationsEnvironmentsCreateResource++    -- * Creating a Request+    , projectsLocationsEnvironmentsCreate+    , ProjectsLocationsEnvironmentsCreate++    -- * Request Lenses+    , plecParent+    , plecXgafv+    , plecUploadProtocol+    , plecAccessToken+    , plecUploadType+    , plecPayload+    , plecCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.environments.create@ method which the+-- 'ProjectsLocationsEnvironmentsCreate' request conforms to.+type ProjectsLocationsEnvironmentsCreateResource =+     "v1" :>+       Capture "parent" Text :>+         "environments" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Environment :> Post '[JSON] Operation++-- | Create a new environment.+--+-- /See:/ 'projectsLocationsEnvironmentsCreate' smart constructor.+data ProjectsLocationsEnvironmentsCreate = ProjectsLocationsEnvironmentsCreate'+    { _plecParent         :: !Text+    , _plecXgafv          :: !(Maybe Xgafv)+    , _plecUploadProtocol :: !(Maybe Text)+    , _plecAccessToken    :: !(Maybe Text)+    , _plecUploadType     :: !(Maybe Text)+    , _plecPayload        :: !Environment+    , _plecCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsEnvironmentsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plecParent'+--+-- * 'plecXgafv'+--+-- * 'plecUploadProtocol'+--+-- * 'plecAccessToken'+--+-- * 'plecUploadType'+--+-- * 'plecPayload'+--+-- * 'plecCallback'+projectsLocationsEnvironmentsCreate+    :: Text -- ^ 'plecParent'+    -> Environment -- ^ 'plecPayload'+    -> ProjectsLocationsEnvironmentsCreate+projectsLocationsEnvironmentsCreate pPlecParent_ pPlecPayload_ =+    ProjectsLocationsEnvironmentsCreate'+    { _plecParent = pPlecParent_+    , _plecXgafv = Nothing+    , _plecUploadProtocol = Nothing+    , _plecAccessToken = Nothing+    , _plecUploadType = Nothing+    , _plecPayload = pPlecPayload_+    , _plecCallback = Nothing+    }++-- | The parent must be of the form+-- \"projects\/{projectId}\/locations\/{locationId}\".+plecParent :: Lens' ProjectsLocationsEnvironmentsCreate Text+plecParent+  = lens _plecParent (\ s a -> s{_plecParent = a})++-- | V1 error format.+plecXgafv :: Lens' ProjectsLocationsEnvironmentsCreate (Maybe Xgafv)+plecXgafv+  = lens _plecXgafv (\ s a -> s{_plecXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plecUploadProtocol :: Lens' ProjectsLocationsEnvironmentsCreate (Maybe Text)+plecUploadProtocol+  = lens _plecUploadProtocol+      (\ s a -> s{_plecUploadProtocol = a})++-- | OAuth access token.+plecAccessToken :: Lens' ProjectsLocationsEnvironmentsCreate (Maybe Text)+plecAccessToken+  = lens _plecAccessToken+      (\ s a -> s{_plecAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plecUploadType :: Lens' ProjectsLocationsEnvironmentsCreate (Maybe Text)+plecUploadType+  = lens _plecUploadType+      (\ s a -> s{_plecUploadType = a})++-- | Multipart request metadata.+plecPayload :: Lens' ProjectsLocationsEnvironmentsCreate Environment+plecPayload+  = lens _plecPayload (\ s a -> s{_plecPayload = a})++-- | JSONP+plecCallback :: Lens' ProjectsLocationsEnvironmentsCreate (Maybe Text)+plecCallback+  = lens _plecCallback (\ s a -> s{_plecCallback = a})++instance GoogleRequest+         ProjectsLocationsEnvironmentsCreate where+        type Rs ProjectsLocationsEnvironmentsCreate =+             Operation+        type Scopes ProjectsLocationsEnvironmentsCreate =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsEnvironmentsCreate'{..}+          = go _plecParent _plecXgafv _plecUploadProtocol+              _plecAccessToken+              _plecUploadType+              _plecCallback+              (Just AltJSON)+              _plecPayload+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsEnvironmentsCreateResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Delete.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Environments.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an environment.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.environments.delete@.+module Network.Google.Resource.Composer.Projects.Locations.Environments.Delete+    (+    -- * REST Resource+      ProjectsLocationsEnvironmentsDeleteResource++    -- * Creating a Request+    , projectsLocationsEnvironmentsDelete+    , ProjectsLocationsEnvironmentsDelete++    -- * Request Lenses+    , pledXgafv+    , pledUploadProtocol+    , pledAccessToken+    , pledUploadType+    , pledName+    , pledCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.environments.delete@ method which the+-- 'ProjectsLocationsEnvironmentsDelete' request conforms to.+type ProjectsLocationsEnvironmentsDeleteResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Delete an environment.+--+-- /See:/ 'projectsLocationsEnvironmentsDelete' smart constructor.+data ProjectsLocationsEnvironmentsDelete = ProjectsLocationsEnvironmentsDelete'+    { _pledXgafv          :: !(Maybe Xgafv)+    , _pledUploadProtocol :: !(Maybe Text)+    , _pledAccessToken    :: !(Maybe Text)+    , _pledUploadType     :: !(Maybe Text)+    , _pledName           :: !Text+    , _pledCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsEnvironmentsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pledXgafv'+--+-- * 'pledUploadProtocol'+--+-- * 'pledAccessToken'+--+-- * 'pledUploadType'+--+-- * 'pledName'+--+-- * 'pledCallback'+projectsLocationsEnvironmentsDelete+    :: Text -- ^ 'pledName'+    -> ProjectsLocationsEnvironmentsDelete+projectsLocationsEnvironmentsDelete pPledName_ =+    ProjectsLocationsEnvironmentsDelete'+    { _pledXgafv = Nothing+    , _pledUploadProtocol = Nothing+    , _pledAccessToken = Nothing+    , _pledUploadType = Nothing+    , _pledName = pPledName_+    , _pledCallback = Nothing+    }++-- | V1 error format.+pledXgafv :: Lens' ProjectsLocationsEnvironmentsDelete (Maybe Xgafv)+pledXgafv+  = lens _pledXgafv (\ s a -> s{_pledXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pledUploadProtocol :: Lens' ProjectsLocationsEnvironmentsDelete (Maybe Text)+pledUploadProtocol+  = lens _pledUploadProtocol+      (\ s a -> s{_pledUploadProtocol = a})++-- | OAuth access token.+pledAccessToken :: Lens' ProjectsLocationsEnvironmentsDelete (Maybe Text)+pledAccessToken+  = lens _pledAccessToken+      (\ s a -> s{_pledAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pledUploadType :: Lens' ProjectsLocationsEnvironmentsDelete (Maybe Text)+pledUploadType+  = lens _pledUploadType+      (\ s a -> s{_pledUploadType = a})++-- | The environment to delete, in the form:+-- \"projects\/{projectId}\/locations\/{locationId}\/environments\/{environmentId}\"+pledName :: Lens' ProjectsLocationsEnvironmentsDelete Text+pledName = lens _pledName (\ s a -> s{_pledName = a})++-- | JSONP+pledCallback :: Lens' ProjectsLocationsEnvironmentsDelete (Maybe Text)+pledCallback+  = lens _pledCallback (\ s a -> s{_pledCallback = a})++instance GoogleRequest+         ProjectsLocationsEnvironmentsDelete where+        type Rs ProjectsLocationsEnvironmentsDelete =+             Operation+        type Scopes ProjectsLocationsEnvironmentsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient+          ProjectsLocationsEnvironmentsDelete'{..}+          = go _pledName _pledXgafv _pledUploadProtocol+              _pledAccessToken+              _pledUploadType+              _pledCallback+              (Just AltJSON)+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsEnvironmentsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Get.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Environments.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get an existing environment.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.environments.get@.+module Network.Google.Resource.Composer.Projects.Locations.Environments.Get+    (+    -- * REST Resource+      ProjectsLocationsEnvironmentsGetResource++    -- * Creating a Request+    , projectsLocationsEnvironmentsGet+    , ProjectsLocationsEnvironmentsGet++    -- * Request Lenses+    , plegXgafv+    , plegUploadProtocol+    , plegAccessToken+    , plegUploadType+    , plegName+    , plegCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.environments.get@ method which the+-- 'ProjectsLocationsEnvironmentsGet' request conforms to.+type ProjectsLocationsEnvironmentsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Environment++-- | Get an existing environment.+--+-- /See:/ 'projectsLocationsEnvironmentsGet' smart constructor.+data ProjectsLocationsEnvironmentsGet = ProjectsLocationsEnvironmentsGet'+    { _plegXgafv          :: !(Maybe Xgafv)+    , _plegUploadProtocol :: !(Maybe Text)+    , _plegAccessToken    :: !(Maybe Text)+    , _plegUploadType     :: !(Maybe Text)+    , _plegName           :: !Text+    , _plegCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsEnvironmentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plegXgafv'+--+-- * 'plegUploadProtocol'+--+-- * 'plegAccessToken'+--+-- * 'plegUploadType'+--+-- * 'plegName'+--+-- * 'plegCallback'+projectsLocationsEnvironmentsGet+    :: Text -- ^ 'plegName'+    -> ProjectsLocationsEnvironmentsGet+projectsLocationsEnvironmentsGet pPlegName_ =+    ProjectsLocationsEnvironmentsGet'+    { _plegXgafv = Nothing+    , _plegUploadProtocol = Nothing+    , _plegAccessToken = Nothing+    , _plegUploadType = Nothing+    , _plegName = pPlegName_+    , _plegCallback = Nothing+    }++-- | V1 error format.+plegXgafv :: Lens' ProjectsLocationsEnvironmentsGet (Maybe Xgafv)+plegXgafv+  = lens _plegXgafv (\ s a -> s{_plegXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plegUploadProtocol :: Lens' ProjectsLocationsEnvironmentsGet (Maybe Text)+plegUploadProtocol+  = lens _plegUploadProtocol+      (\ s a -> s{_plegUploadProtocol = a})++-- | OAuth access token.+plegAccessToken :: Lens' ProjectsLocationsEnvironmentsGet (Maybe Text)+plegAccessToken+  = lens _plegAccessToken+      (\ s a -> s{_plegAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plegUploadType :: Lens' ProjectsLocationsEnvironmentsGet (Maybe Text)+plegUploadType+  = lens _plegUploadType+      (\ s a -> s{_plegUploadType = a})++-- | The resource name of the environment to get, in the form:+-- \"projects\/{projectId}\/locations\/{locationId}\/environments\/{environmentId}\"+plegName :: Lens' ProjectsLocationsEnvironmentsGet Text+plegName = lens _plegName (\ s a -> s{_plegName = a})++-- | JSONP+plegCallback :: Lens' ProjectsLocationsEnvironmentsGet (Maybe Text)+plegCallback+  = lens _plegCallback (\ s a -> s{_plegCallback = a})++instance GoogleRequest+         ProjectsLocationsEnvironmentsGet where+        type Rs ProjectsLocationsEnvironmentsGet =+             Environment+        type Scopes ProjectsLocationsEnvironmentsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsEnvironmentsGet'{..}+          = go _plegName _plegXgafv _plegUploadProtocol+              _plegAccessToken+              _plegUploadType+              _plegCallback+              (Just AltJSON)+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsEnvironmentsGetResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Environments/List.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Environments.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List environments.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.environments.list@.+module Network.Google.Resource.Composer.Projects.Locations.Environments.List+    (+    -- * REST Resource+      ProjectsLocationsEnvironmentsListResource++    -- * Creating a Request+    , projectsLocationsEnvironmentsList+    , ProjectsLocationsEnvironmentsList++    -- * Request Lenses+    , plelParent+    , plelXgafv+    , plelUploadProtocol+    , plelAccessToken+    , plelUploadType+    , plelPageToken+    , plelPageSize+    , plelCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.environments.list@ method which the+-- 'ProjectsLocationsEnvironmentsList' request conforms to.+type ProjectsLocationsEnvironmentsListResource =+     "v1" :>+       Capture "parent" Text :>+         "environments" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListEnvironmentsResponse++-- | List environments.+--+-- /See:/ 'projectsLocationsEnvironmentsList' smart constructor.+data ProjectsLocationsEnvironmentsList = ProjectsLocationsEnvironmentsList'+    { _plelParent         :: !Text+    , _plelXgafv          :: !(Maybe Xgafv)+    , _plelUploadProtocol :: !(Maybe Text)+    , _plelAccessToken    :: !(Maybe Text)+    , _plelUploadType     :: !(Maybe Text)+    , _plelPageToken      :: !(Maybe Text)+    , _plelPageSize       :: !(Maybe (Textual Int32))+    , _plelCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsEnvironmentsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plelParent'+--+-- * 'plelXgafv'+--+-- * 'plelUploadProtocol'+--+-- * 'plelAccessToken'+--+-- * 'plelUploadType'+--+-- * 'plelPageToken'+--+-- * 'plelPageSize'+--+-- * 'plelCallback'+projectsLocationsEnvironmentsList+    :: Text -- ^ 'plelParent'+    -> ProjectsLocationsEnvironmentsList+projectsLocationsEnvironmentsList pPlelParent_ =+    ProjectsLocationsEnvironmentsList'+    { _plelParent = pPlelParent_+    , _plelXgafv = Nothing+    , _plelUploadProtocol = Nothing+    , _plelAccessToken = Nothing+    , _plelUploadType = Nothing+    , _plelPageToken = Nothing+    , _plelPageSize = Nothing+    , _plelCallback = Nothing+    }++-- | List environments in the given project and location, in the form:+-- \"projects\/{projectId}\/locations\/{locationId}\"+plelParent :: Lens' ProjectsLocationsEnvironmentsList Text+plelParent+  = lens _plelParent (\ s a -> s{_plelParent = a})++-- | V1 error format.+plelXgafv :: Lens' ProjectsLocationsEnvironmentsList (Maybe Xgafv)+plelXgafv+  = lens _plelXgafv (\ s a -> s{_plelXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plelUploadProtocol :: Lens' ProjectsLocationsEnvironmentsList (Maybe Text)+plelUploadProtocol+  = lens _plelUploadProtocol+      (\ s a -> s{_plelUploadProtocol = a})++-- | OAuth access token.+plelAccessToken :: Lens' ProjectsLocationsEnvironmentsList (Maybe Text)+plelAccessToken+  = lens _plelAccessToken+      (\ s a -> s{_plelAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plelUploadType :: Lens' ProjectsLocationsEnvironmentsList (Maybe Text)+plelUploadType+  = lens _plelUploadType+      (\ s a -> s{_plelUploadType = a})++-- | The next_page_token value returned from a previous List request, if any.+plelPageToken :: Lens' ProjectsLocationsEnvironmentsList (Maybe Text)+plelPageToken+  = lens _plelPageToken+      (\ s a -> s{_plelPageToken = a})++-- | The maximum number of environments to return.+plelPageSize :: Lens' ProjectsLocationsEnvironmentsList (Maybe Int32)+plelPageSize+  = lens _plelPageSize (\ s a -> s{_plelPageSize = a})+      . mapping _Coerce++-- | JSONP+plelCallback :: Lens' ProjectsLocationsEnvironmentsList (Maybe Text)+plelCallback+  = lens _plelCallback (\ s a -> s{_plelCallback = a})++instance GoogleRequest+         ProjectsLocationsEnvironmentsList where+        type Rs ProjectsLocationsEnvironmentsList =+             ListEnvironmentsResponse+        type Scopes ProjectsLocationsEnvironmentsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsEnvironmentsList'{..}+          = go _plelParent _plelXgafv _plelUploadProtocol+              _plelAccessToken+              _plelUploadType+              _plelPageToken+              _plelPageSize+              _plelCallback+              (Just AltJSON)+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsEnvironmentsListResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Patch.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Environments.Patch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update an environment.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.environments.patch@.+module Network.Google.Resource.Composer.Projects.Locations.Environments.Patch+    (+    -- * REST Resource+      ProjectsLocationsEnvironmentsPatchResource++    -- * Creating a Request+    , projectsLocationsEnvironmentsPatch+    , ProjectsLocationsEnvironmentsPatch++    -- * Request Lenses+    , plepXgafv+    , plepUploadProtocol+    , plepUpdateMask+    , plepAccessToken+    , plepUploadType+    , plepPayload+    , plepName+    , plepCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.environments.patch@ method which the+-- 'ProjectsLocationsEnvironmentsPatch' request conforms to.+type ProjectsLocationsEnvironmentsPatchResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Environment :>+                         Patch '[JSON] Operation++-- | Update an environment.+--+-- /See:/ 'projectsLocationsEnvironmentsPatch' smart constructor.+data ProjectsLocationsEnvironmentsPatch = ProjectsLocationsEnvironmentsPatch'+    { _plepXgafv          :: !(Maybe Xgafv)+    , _plepUploadProtocol :: !(Maybe Text)+    , _plepUpdateMask     :: !(Maybe GFieldMask)+    , _plepAccessToken    :: !(Maybe Text)+    , _plepUploadType     :: !(Maybe Text)+    , _plepPayload        :: !Environment+    , _plepName           :: !Text+    , _plepCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsEnvironmentsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plepXgafv'+--+-- * 'plepUploadProtocol'+--+-- * 'plepUpdateMask'+--+-- * 'plepAccessToken'+--+-- * 'plepUploadType'+--+-- * 'plepPayload'+--+-- * 'plepName'+--+-- * 'plepCallback'+projectsLocationsEnvironmentsPatch+    :: Environment -- ^ 'plepPayload'+    -> Text -- ^ 'plepName'+    -> ProjectsLocationsEnvironmentsPatch+projectsLocationsEnvironmentsPatch pPlepPayload_ pPlepName_ =+    ProjectsLocationsEnvironmentsPatch'+    { _plepXgafv = Nothing+    , _plepUploadProtocol = Nothing+    , _plepUpdateMask = Nothing+    , _plepAccessToken = Nothing+    , _plepUploadType = Nothing+    , _plepPayload = pPlepPayload_+    , _plepName = pPlepName_+    , _plepCallback = Nothing+    }++-- | V1 error format.+plepXgafv :: Lens' ProjectsLocationsEnvironmentsPatch (Maybe Xgafv)+plepXgafv+  = lens _plepXgafv (\ s a -> s{_plepXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plepUploadProtocol :: Lens' ProjectsLocationsEnvironmentsPatch (Maybe Text)+plepUploadProtocol+  = lens _plepUploadProtocol+      (\ s a -> s{_plepUploadProtocol = a})++-- | Required. A comma-separated list of paths, relative to \`Environment\`,+-- of fields to update. For example, to set the version of scikit-learn to+-- install in the environment to 0.19.0 and to remove an existing+-- installation of numpy, the \`updateMask\` parameter would include the+-- following two \`paths\` values:+-- \"config.softwareConfig.pypiPackages.scikit-learn\" and+-- \"config.softwareConfig.pypiPackages.numpy\". The included patch+-- environment would specify the scikit-learn version as follows: {+-- \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{+-- \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example,+-- any existing PyPI packages other than scikit-learn and numpy will be+-- unaffected. Only one update type may be included in a single request\'s+-- \`updateMask\`. For example, one cannot update both the PyPI packages+-- and labels in the same request. However, it is possible to update+-- multiple members of a map field simultaneously in the same request. For+-- example, to set the labels \"label1\" and \"label2\" while clearing+-- \"label3\" (assuming it already exists), one can provide the paths+-- \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate+-- the patch environment as follows: { \"labels\":{+-- \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note+-- that in the above example, any existing labels that are not included in+-- the \`updateMask\` will be unaffected. It is also possible to replace an+-- entire map field by providing the map field\'s path in the+-- \`updateMask\`. The new value of the field will be that which is+-- provided in the patch environment. For example, to delete all+-- pre-existing user-specified PyPI packages and install botocore at+-- version 1.7.14, the \`updateMask\` would contain the path+-- \"config.softwareConfig.pypiPackages\", and the patch environment would+-- be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{+-- \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields+-- can be updated:+-- >   ----------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-- >   __Mask__                                                    __Purpose__+-- >   config.softwareConfig.pypiPackages                          Replace all custom custom PyPI packages. If a replacement package map is not included in \`environment\`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package.+-- >   config.softwareConfig.pypiPackages.packagename              Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in \`updateMask\`, and omit the mapping for it in \`environment.config.softwareConfig.pypiPackages\`. It is an error to provide both a mask of this form and the \"config.softwareConfig.pypiPackages\" mask.+-- >   labels                                                      Replace all environment labels. If a replacement labels map is not included in \`environment\`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels.+-- >   labels.labelName                                            Set the label named labelName, while preserving other labels. To delete the label, include it in \`updateMask\` and omit its mapping in \`environment.labels\`. It is an error to provide both a mask of this form and the \"labels\" mask.+-- >   config.nodeCount                                            Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the \`config.nodeCount\` field.+-- >   config.softwareConfig.airflowConfigOverrides                Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in \`environment\`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides.+-- >   config.softwareConfig.airflowConfigOverrides.section-name   Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in \`updateMask\` and omit its mapping in \`environment.config.softwareConfig.airflowConfigOverrides\`. It is an error to provide both a mask of this form and the \"config.softwareConfig.airflowConfigOverrides\" mask.+-- >   config.softwareConfig.envVariables                          Replace all environment variables. If a replacement environment variable map is not included in \`environment\`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables.+-- >   ----------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+plepUpdateMask :: Lens' ProjectsLocationsEnvironmentsPatch (Maybe GFieldMask)+plepUpdateMask+  = lens _plepUpdateMask+      (\ s a -> s{_plepUpdateMask = a})++-- | OAuth access token.+plepAccessToken :: Lens' ProjectsLocationsEnvironmentsPatch (Maybe Text)+plepAccessToken+  = lens _plepAccessToken+      (\ s a -> s{_plepAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plepUploadType :: Lens' ProjectsLocationsEnvironmentsPatch (Maybe Text)+plepUploadType+  = lens _plepUploadType+      (\ s a -> s{_plepUploadType = a})++-- | Multipart request metadata.+plepPayload :: Lens' ProjectsLocationsEnvironmentsPatch Environment+plepPayload+  = lens _plepPayload (\ s a -> s{_plepPayload = a})++-- | The relative resource name of the environment to update, in the form:+-- \"projects\/{projectId}\/locations\/{locationId}\/environments\/{environmentId}\"+plepName :: Lens' ProjectsLocationsEnvironmentsPatch Text+plepName = lens _plepName (\ s a -> s{_plepName = a})++-- | JSONP+plepCallback :: Lens' ProjectsLocationsEnvironmentsPatch (Maybe Text)+plepCallback+  = lens _plepCallback (\ s a -> s{_plepCallback = a})++instance GoogleRequest+         ProjectsLocationsEnvironmentsPatch where+        type Rs ProjectsLocationsEnvironmentsPatch =+             Operation+        type Scopes ProjectsLocationsEnvironmentsPatch =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsEnvironmentsPatch'{..}+          = go _plepName _plepXgafv _plepUploadProtocol+              _plepUpdateMask+              _plepAccessToken+              _plepUploadType+              _plepCallback+              (Just AltJSON)+              _plepPayload+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsEnvironmentsPatchResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Operations/Delete.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Operations.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.operations.delete@.+module Network.Google.Resource.Composer.Projects.Locations.Operations.Delete+    (+    -- * REST Resource+      ProjectsLocationsOperationsDeleteResource++    -- * Creating a Request+    , projectsLocationsOperationsDelete+    , ProjectsLocationsOperationsDelete++    -- * Request Lenses+    , plodXgafv+    , plodUploadProtocol+    , plodAccessToken+    , plodUploadType+    , plodName+    , plodCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.operations.delete@ method which the+-- 'ProjectsLocationsOperationsDelete' request conforms to.+type ProjectsLocationsOperationsDeleteResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ 'projectsLocationsOperationsDelete' smart constructor.+data ProjectsLocationsOperationsDelete = ProjectsLocationsOperationsDelete'+    { _plodXgafv          :: !(Maybe Xgafv)+    , _plodUploadProtocol :: !(Maybe Text)+    , _plodAccessToken    :: !(Maybe Text)+    , _plodUploadType     :: !(Maybe Text)+    , _plodName           :: !Text+    , _plodCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plodXgafv'+--+-- * 'plodUploadProtocol'+--+-- * 'plodAccessToken'+--+-- * 'plodUploadType'+--+-- * 'plodName'+--+-- * 'plodCallback'+projectsLocationsOperationsDelete+    :: Text -- ^ 'plodName'+    -> ProjectsLocationsOperationsDelete+projectsLocationsOperationsDelete pPlodName_ =+    ProjectsLocationsOperationsDelete'+    { _plodXgafv = Nothing+    , _plodUploadProtocol = Nothing+    , _plodAccessToken = Nothing+    , _plodUploadType = Nothing+    , _plodName = pPlodName_+    , _plodCallback = Nothing+    }++-- | V1 error format.+plodXgafv :: Lens' ProjectsLocationsOperationsDelete (Maybe Xgafv)+plodXgafv+  = lens _plodXgafv (\ s a -> s{_plodXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plodUploadProtocol :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodUploadProtocol+  = lens _plodUploadProtocol+      (\ s a -> s{_plodUploadProtocol = a})++-- | OAuth access token.+plodAccessToken :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodAccessToken+  = lens _plodAccessToken+      (\ s a -> s{_plodAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plodUploadType :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodUploadType+  = lens _plodUploadType+      (\ s a -> s{_plodUploadType = a})++-- | The name of the operation resource to be deleted.+plodName :: Lens' ProjectsLocationsOperationsDelete Text+plodName = lens _plodName (\ s a -> s{_plodName = a})++-- | JSONP+plodCallback :: Lens' ProjectsLocationsOperationsDelete (Maybe Text)+plodCallback+  = lens _plodCallback (\ s a -> s{_plodCallback = a})++instance GoogleRequest+         ProjectsLocationsOperationsDelete where+        type Rs ProjectsLocationsOperationsDelete = Empty+        type Scopes ProjectsLocationsOperationsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsDelete'{..}+          = go _plodName _plodXgafv _plodUploadProtocol+              _plodAccessToken+              _plodUploadType+              _plodCallback+              (Just AltJSON)+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Operations/Get.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Operations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.operations.get@.+module Network.Google.Resource.Composer.Projects.Locations.Operations.Get+    (+    -- * REST Resource+      ProjectsLocationsOperationsGetResource++    -- * Creating a Request+    , projectsLocationsOperationsGet+    , ProjectsLocationsOperationsGet++    -- * Request Lenses+    , plogXgafv+    , plogUploadProtocol+    , plogAccessToken+    , plogUploadType+    , plogName+    , plogCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.operations.get@ method which the+-- 'ProjectsLocationsOperationsGet' request conforms to.+type ProjectsLocationsOperationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'projectsLocationsOperationsGet' smart constructor.+data ProjectsLocationsOperationsGet = ProjectsLocationsOperationsGet'+    { _plogXgafv          :: !(Maybe Xgafv)+    , _plogUploadProtocol :: !(Maybe Text)+    , _plogAccessToken    :: !(Maybe Text)+    , _plogUploadType     :: !(Maybe Text)+    , _plogName           :: !Text+    , _plogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plogXgafv'+--+-- * 'plogUploadProtocol'+--+-- * 'plogAccessToken'+--+-- * 'plogUploadType'+--+-- * 'plogName'+--+-- * 'plogCallback'+projectsLocationsOperationsGet+    :: Text -- ^ 'plogName'+    -> ProjectsLocationsOperationsGet+projectsLocationsOperationsGet pPlogName_ =+    ProjectsLocationsOperationsGet'+    { _plogXgafv = Nothing+    , _plogUploadProtocol = Nothing+    , _plogAccessToken = Nothing+    , _plogUploadType = Nothing+    , _plogName = pPlogName_+    , _plogCallback = Nothing+    }++-- | V1 error format.+plogXgafv :: Lens' ProjectsLocationsOperationsGet (Maybe Xgafv)+plogXgafv+  = lens _plogXgafv (\ s a -> s{_plogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plogUploadProtocol :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogUploadProtocol+  = lens _plogUploadProtocol+      (\ s a -> s{_plogUploadProtocol = a})++-- | OAuth access token.+plogAccessToken :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogAccessToken+  = lens _plogAccessToken+      (\ s a -> s{_plogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plogUploadType :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogUploadType+  = lens _plogUploadType+      (\ s a -> s{_plogUploadType = a})++-- | The name of the operation resource.+plogName :: Lens' ProjectsLocationsOperationsGet Text+plogName = lens _plogName (\ s a -> s{_plogName = a})++-- | JSONP+plogCallback :: Lens' ProjectsLocationsOperationsGet (Maybe Text)+plogCallback+  = lens _plogCallback (\ s a -> s{_plogCallback = a})++instance GoogleRequest ProjectsLocationsOperationsGet+         where+        type Rs ProjectsLocationsOperationsGet = Operation+        type Scopes ProjectsLocationsOperationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsGet'{..}+          = go _plogName _plogXgafv _plogUploadProtocol+              _plogAccessToken+              _plogUploadType+              _plogCallback+              (Just AltJSON)+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/Composer/Projects/Locations/Operations/List.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.Composer.Projects.Locations.Operations.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ <https://cloud.google.com/composer/ Cloud Composer API Reference> for @composer.projects.locations.operations.list@.+module Network.Google.Resource.Composer.Projects.Locations.Operations.List+    (+    -- * REST Resource+      ProjectsLocationsOperationsListResource++    -- * Creating a Request+    , projectsLocationsOperationsList+    , ProjectsLocationsOperationsList++    -- * Request Lenses+    , plolXgafv+    , plolUploadProtocol+    , plolAccessToken+    , plolUploadType+    , plolName+    , plolFilter+    , plolPageToken+    , plolPageSize+    , plolCallback+    ) where++import           Network.Google.Composer.Types+import           Network.Google.Prelude++-- | A resource alias for @composer.projects.locations.operations.list@ method which the+-- 'ProjectsLocationsOperationsList' request conforms to.+type ProjectsLocationsOperationsListResource =+     "v1" :>+       Capture "name" Text :>+         "operations" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "filter" Text :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListOperationsResponse++-- | Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ 'projectsLocationsOperationsList' smart constructor.+data ProjectsLocationsOperationsList = ProjectsLocationsOperationsList'+    { _plolXgafv          :: !(Maybe Xgafv)+    , _plolUploadProtocol :: !(Maybe Text)+    , _plolAccessToken    :: !(Maybe Text)+    , _plolUploadType     :: !(Maybe Text)+    , _plolName           :: !Text+    , _plolFilter         :: !(Maybe Text)+    , _plolPageToken      :: !(Maybe Text)+    , _plolPageSize       :: !(Maybe (Textual Int32))+    , _plolCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsLocationsOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plolXgafv'+--+-- * 'plolUploadProtocol'+--+-- * 'plolAccessToken'+--+-- * 'plolUploadType'+--+-- * 'plolName'+--+-- * 'plolFilter'+--+-- * 'plolPageToken'+--+-- * 'plolPageSize'+--+-- * 'plolCallback'+projectsLocationsOperationsList+    :: Text -- ^ 'plolName'+    -> ProjectsLocationsOperationsList+projectsLocationsOperationsList pPlolName_ =+    ProjectsLocationsOperationsList'+    { _plolXgafv = Nothing+    , _plolUploadProtocol = Nothing+    , _plolAccessToken = Nothing+    , _plolUploadType = Nothing+    , _plolName = pPlolName_+    , _plolFilter = Nothing+    , _plolPageToken = Nothing+    , _plolPageSize = Nothing+    , _plolCallback = Nothing+    }++-- | V1 error format.+plolXgafv :: Lens' ProjectsLocationsOperationsList (Maybe Xgafv)+plolXgafv+  = lens _plolXgafv (\ s a -> s{_plolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+plolUploadProtocol :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolUploadProtocol+  = lens _plolUploadProtocol+      (\ s a -> s{_plolUploadProtocol = a})++-- | OAuth access token.+plolAccessToken :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolAccessToken+  = lens _plolAccessToken+      (\ s a -> s{_plolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+plolUploadType :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolUploadType+  = lens _plolUploadType+      (\ s a -> s{_plolUploadType = a})++-- | The name of the operation\'s parent resource.+plolName :: Lens' ProjectsLocationsOperationsList Text+plolName = lens _plolName (\ s a -> s{_plolName = a})++-- | The standard list filter.+plolFilter :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolFilter+  = lens _plolFilter (\ s a -> s{_plolFilter = a})++-- | The standard list page token.+plolPageToken :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolPageToken+  = lens _plolPageToken+      (\ s a -> s{_plolPageToken = a})++-- | The standard list page size.+plolPageSize :: Lens' ProjectsLocationsOperationsList (Maybe Int32)+plolPageSize+  = lens _plolPageSize (\ s a -> s{_plolPageSize = a})+      . mapping _Coerce++-- | JSONP+plolCallback :: Lens' ProjectsLocationsOperationsList (Maybe Text)+plolCallback+  = lens _plolCallback (\ s a -> s{_plolCallback = a})++instance GoogleRequest+         ProjectsLocationsOperationsList where+        type Rs ProjectsLocationsOperationsList =+             ListOperationsResponse+        type Scopes ProjectsLocationsOperationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient ProjectsLocationsOperationsList'{..}+          = go _plolName _plolXgafv _plolUploadProtocol+              _plolAccessToken+              _plolUploadType+              _plolFilter+              _plolPageToken+              _plolPageSize+              _plolCallback+              (Just AltJSON)+              composerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsLocationsOperationsListResource)+                      mempty
+ gogol-composer.cabal view
@@ -0,0 +1,53 @@+name:                  gogol-composer+version:               0.4.0+synopsis:              Google Cloud Composer SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:+    Manages Apache Airflow environments on Google Cloud Platform.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.Composer+        , Network.Google.Composer.Types+        , Network.Google.Resource.Composer.Projects.Locations.Environments.Create+        , Network.Google.Resource.Composer.Projects.Locations.Environments.Delete+        , Network.Google.Resource.Composer.Projects.Locations.Environments.Get+        , Network.Google.Resource.Composer.Projects.Locations.Environments.List+        , Network.Google.Resource.Composer.Projects.Locations.Environments.Patch+        , Network.Google.Resource.Composer.Projects.Locations.Operations.Delete+        , Network.Google.Resource.Composer.Projects.Locations.Operations.Get+        , Network.Google.Resource.Composer.Projects.Locations.Operations.List++    other-modules:+          Network.Google.Composer.Types.Product+        , Network.Google.Composer.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view