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 +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/Composer.hs +214/−0
- gen/Network/Google/Composer/Types.hs +169/−0
- gen/Network/Google/Composer/Types/Product.hs +1216/−0
- gen/Network/Google/Composer/Types/Sum.hs +185/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Create.hs +165/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Delete.hs +150/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Get.hs +149/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Environments/List.hs +178/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Patch.hs +217/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Operations/Delete.hs +153/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Operations/Get.hs +151/−0
- gen/Network/Google/Resource/Composer/Projects/Locations/Operations/List.hs +206/−0
- gogol-composer.cabal +53/−0
- src/.gitkeep +0/−0
+ 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