packages feed

gogol-container (empty) → 0.0.1

raw patch · 16 files changed

+3201/−0 lines, 16 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-container++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Container Engine.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-container` 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/Container.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.Container+-- Copyright   : (c) 2015 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)+--+-- The Google Container Engine API is used for building and managing+-- container based applications, powered by the open source Kubernetes+-- technology.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference>+module Network.Google.Container+    (+    -- * Service Configuration+      containerService++    -- * API Declaration+    , ContainerAPI++    -- * Resources++    -- ** container.projects.zones.clusters.create+    , module Network.Google.Resource.Container.Projects.Zones.Clusters.Create++    -- ** container.projects.zones.clusters.delete+    , module Network.Google.Resource.Container.Projects.Zones.Clusters.Delete++    -- ** container.projects.zones.clusters.get+    , module Network.Google.Resource.Container.Projects.Zones.Clusters.Get++    -- ** container.projects.zones.clusters.list+    , module Network.Google.Resource.Container.Projects.Zones.Clusters.List++    -- ** container.projects.zones.clusters.update+    , module Network.Google.Resource.Container.Projects.Zones.Clusters.Update++    -- ** container.projects.zones.getServerconfig+    , module Network.Google.Resource.Container.Projects.Zones.GetServerConfig++    -- ** container.projects.zones.operations.get+    , module Network.Google.Resource.Container.Projects.Zones.Operations.Get++    -- ** container.projects.zones.operations.list+    , module Network.Google.Resource.Container.Projects.Zones.Operations.List++    -- * Types++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorOperations++    -- ** CreateClusterRequest+    , CreateClusterRequest+    , createClusterRequest+    , ccrCluster++    -- ** Cluster+    , Cluster+    , cluster+    , cStatus+    , cNodeConfig+    , cNodeIPv4CIdRSize+    , cClusterIPv4CIdR+    , cInitialNodeCount+    , cCurrentNodeVersion+    , cNetwork+    , cInitialClusterVersion+    , cZone+    , cServicesIPv4CIdR+    , cMasterAuth+    , cSelfLink+    , cName+    , cCurrentMasterVersion+    , cStatusMessage+    , cEndpoint+    , cLoggingService+    , cDescription+    , cInstanceGroupURLs+    , cMonitoringService+    , cCreateTime++    -- ** UpdateClusterRequest+    , UpdateClusterRequest+    , updateClusterRequest+    , ucrUpdate++    -- ** NodeConfig+    , NodeConfig+    , nodeConfig+    , ncDiskSizeGb+    , ncOAuthScopes+    , ncMachineType++    -- ** Operation+    , Operation+    , operation+    , oStatus+    , oZone+    , oSelfLink+    , oName+    , oStatusMessage+    , oOperationType+    , oTargetLink++    -- ** MasterAuth+    , MasterAuth+    , masterAuth+    , maClientKey+    , maUsername+    , maClientCertificate+    , maPassword+    , maClusterCaCertificate++    -- ** ServerConfig+    , ServerConfig+    , serverConfig+    , scValidNodeVersions+    , scDefaultClusterVersion++    -- ** ListClustersResponse+    , ListClustersResponse+    , listClustersResponse+    , lcrClusters++    -- ** ClusterUpdate+    , ClusterUpdate+    , clusterUpdate+    , cuDesiredNodeVersion+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude+import           Network.Google.Resource.Container.Projects.Zones.Clusters.Create+import           Network.Google.Resource.Container.Projects.Zones.Clusters.Delete+import           Network.Google.Resource.Container.Projects.Zones.Clusters.Get+import           Network.Google.Resource.Container.Projects.Zones.Clusters.List+import           Network.Google.Resource.Container.Projects.Zones.Clusters.Update+import           Network.Google.Resource.Container.Projects.Zones.GetServerConfig+import           Network.Google.Resource.Container.Projects.Zones.Operations.Get+import           Network.Google.Resource.Container.Projects.Zones.Operations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Container Engine API service.+type ContainerAPI =+     ProjectsZonesOperationsListResource :<|>+       ProjectsZonesOperationsGetResource+       :<|> ProjectsZonesClustersListResource+       :<|> ProjectsZonesClustersGetResource+       :<|> ProjectsZonesClustersCreateResource+       :<|> ProjectsZonesClustersDeleteResource+       :<|> ProjectsZonesClustersUpdateResource+       :<|> ProjectsZonesGetServerConfigResource
+ gen/Network/Google/Container/Types.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Container.Types+-- Copyright   : (c) 2015 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.Container.Types+    (+    -- * Service Configuration+      containerService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorOperations++    -- * CreateClusterRequest+    , CreateClusterRequest+    , createClusterRequest+    , ccrCluster++    -- * Cluster+    , Cluster+    , cluster+    , cStatus+    , cNodeConfig+    , cNodeIPv4CIdRSize+    , cClusterIPv4CIdR+    , cInitialNodeCount+    , cCurrentNodeVersion+    , cNetwork+    , cInitialClusterVersion+    , cZone+    , cServicesIPv4CIdR+    , cMasterAuth+    , cSelfLink+    , cName+    , cCurrentMasterVersion+    , cStatusMessage+    , cEndpoint+    , cLoggingService+    , cDescription+    , cInstanceGroupURLs+    , cMonitoringService+    , cCreateTime++    -- * UpdateClusterRequest+    , UpdateClusterRequest+    , updateClusterRequest+    , ucrUpdate++    -- * NodeConfig+    , NodeConfig+    , nodeConfig+    , ncDiskSizeGb+    , ncOAuthScopes+    , ncMachineType++    -- * Operation+    , Operation+    , operation+    , oStatus+    , oZone+    , oSelfLink+    , oName+    , oStatusMessage+    , oOperationType+    , oTargetLink++    -- * MasterAuth+    , MasterAuth+    , masterAuth+    , maClientKey+    , maUsername+    , maClientCertificate+    , maPassword+    , maClusterCaCertificate++    -- * ServerConfig+    , ServerConfig+    , serverConfig+    , scValidNodeVersions+    , scDefaultClusterVersion++    -- * ListClustersResponse+    , ListClustersResponse+    , listClustersResponse+    , lcrClusters++    -- * ClusterUpdate+    , ClusterUpdate+    , clusterUpdate+    , cuDesiredNodeVersion+    ) where++import           Network.Google.Container.Types.Product+import           Network.Google.Container.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Container Engine API. This contains the host and root path used as a starting point for constructing service requests.+containerService :: Service+containerService+  = defaultService (ServiceId "container:v1")+      "container.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: OAuthScope+cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+ gen/Network/Google/Container/Types/Product.hs view
@@ -0,0 +1,832 @@+{-# 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.Container.Types.Product+-- Copyright   : (c) 2015 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.Container.Types.Product where++import           Network.Google.Container.Types.Sum+import           Network.Google.Prelude++-- | ListOperationsResponse is the result of ListOperationsRequest.+--+-- /See:/ 'listOperationsResponse' smart constructor.+newtype ListOperationsResponse = ListOperationsResponse+    { _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:+--+-- * 'lorOperations'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+    ListOperationsResponse+    { _lorOperations = Nothing+    }++-- | A list of operations in the project in the specified zone.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse <$>+                   (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse{..}+          = object+              (catMaybes [("operations" .=) <$> _lorOperations])++-- | CreateClusterRequest creates a cluster.+--+-- /See:/ 'createClusterRequest' smart constructor.+newtype CreateClusterRequest = CreateClusterRequest+    { _ccrCluster :: Maybe Cluster+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrCluster'+createClusterRequest+    :: CreateClusterRequest+createClusterRequest =+    CreateClusterRequest+    { _ccrCluster = Nothing+    }++-- | A [cluster+-- resource](\/container-engine\/reference\/rest\/v1\/projects.zones.clusters)+ccrCluster :: Lens' CreateClusterRequest (Maybe Cluster)+ccrCluster+  = lens _ccrCluster (\ s a -> s{_ccrCluster = a})++instance FromJSON CreateClusterRequest where+        parseJSON+          = withObject "CreateClusterRequest"+              (\ o -> CreateClusterRequest <$> (o .:? "cluster"))++instance ToJSON CreateClusterRequest where+        toJSON CreateClusterRequest{..}+          = object (catMaybes [("cluster" .=) <$> _ccrCluster])++-- | A Google Container Engine cluster.+--+-- /See:/ 'cluster' smart constructor.+data Cluster = Cluster+    { _cStatus                :: !(Maybe Text)+    , _cNodeConfig            :: !(Maybe NodeConfig)+    , _cNodeIPv4CIdRSize      :: !(Maybe (Textual Int32))+    , _cClusterIPv4CIdR       :: !(Maybe Text)+    , _cInitialNodeCount      :: !(Maybe (Textual Int32))+    , _cCurrentNodeVersion    :: !(Maybe Text)+    , _cNetwork               :: !(Maybe Text)+    , _cInitialClusterVersion :: !(Maybe Text)+    , _cZone                  :: !(Maybe Text)+    , _cServicesIPv4CIdR      :: !(Maybe Text)+    , _cMasterAuth            :: !(Maybe MasterAuth)+    , _cSelfLink              :: !(Maybe Text)+    , _cName                  :: !(Maybe Text)+    , _cCurrentMasterVersion  :: !(Maybe Text)+    , _cStatusMessage         :: !(Maybe Text)+    , _cEndpoint              :: !(Maybe Text)+    , _cLoggingService        :: !(Maybe Text)+    , _cDescription           :: !(Maybe Text)+    , _cInstanceGroupURLs     :: !(Maybe [Text])+    , _cMonitoringService     :: !(Maybe Text)+    , _cCreateTime            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Cluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus'+--+-- * 'cNodeConfig'+--+-- * 'cNodeIPv4CIdRSize'+--+-- * 'cClusterIPv4CIdR'+--+-- * 'cInitialNodeCount'+--+-- * 'cCurrentNodeVersion'+--+-- * 'cNetwork'+--+-- * 'cInitialClusterVersion'+--+-- * 'cZone'+--+-- * 'cServicesIPv4CIdR'+--+-- * 'cMasterAuth'+--+-- * 'cSelfLink'+--+-- * 'cName'+--+-- * 'cCurrentMasterVersion'+--+-- * 'cStatusMessage'+--+-- * 'cEndpoint'+--+-- * 'cLoggingService'+--+-- * 'cDescription'+--+-- * 'cInstanceGroupURLs'+--+-- * 'cMonitoringService'+--+-- * 'cCreateTime'+cluster+    :: Cluster+cluster =+    Cluster+    { _cStatus = Nothing+    , _cNodeConfig = Nothing+    , _cNodeIPv4CIdRSize = Nothing+    , _cClusterIPv4CIdR = Nothing+    , _cInitialNodeCount = Nothing+    , _cCurrentNodeVersion = Nothing+    , _cNetwork = Nothing+    , _cInitialClusterVersion = Nothing+    , _cZone = Nothing+    , _cServicesIPv4CIdR = Nothing+    , _cMasterAuth = Nothing+    , _cSelfLink = Nothing+    , _cName = Nothing+    , _cCurrentMasterVersion = Nothing+    , _cStatusMessage = Nothing+    , _cEndpoint = Nothing+    , _cLoggingService = Nothing+    , _cDescription = Nothing+    , _cInstanceGroupURLs = Nothing+    , _cMonitoringService = Nothing+    , _cCreateTime = Nothing+    }++-- | [Output only] The current status of this cluster.+cStatus :: Lens' Cluster (Maybe Text)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | Parameters used in creating the cluster\'s nodes. See the descriptions+-- of the child properties of \`nodeConfig\`. If unspecified, the defaults+-- for all child properties are used.+cNodeConfig :: Lens' Cluster (Maybe NodeConfig)+cNodeConfig+  = lens _cNodeConfig (\ s a -> s{_cNodeConfig = a})++-- | [Output only] The size of the address space on each node for hosting+-- containers. This is provisioned from within the container_ipv4_cidr+-- range.+cNodeIPv4CIdRSize :: Lens' Cluster (Maybe Int32)+cNodeIPv4CIdRSize+  = lens _cNodeIPv4CIdRSize+      (\ s a -> s{_cNodeIPv4CIdRSize = a})+      . mapping _Coerce++-- | The IP address range of the container pods in this cluster, in+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`10.96.0.0\/14\`). Leave blank to have one automatically+-- chosen or specify a \`\/14\` block in \`10.0.0.0\/8\`.+cClusterIPv4CIdR :: Lens' Cluster (Maybe Text)+cClusterIPv4CIdR+  = lens _cClusterIPv4CIdR+      (\ s a -> s{_cClusterIPv4CIdR = a})++-- | The number of nodes to create in this cluster. You must ensure that your+-- Compute Engine [resource quota](\/compute\/docs\/resource-quotas) is+-- sufficient for this number of instances. You must also have available+-- firewall and routes quota.+cInitialNodeCount :: Lens' Cluster (Maybe Int32)+cInitialNodeCount+  = lens _cInitialNodeCount+      (\ s a -> s{_cInitialNodeCount = a})+      . mapping _Coerce++-- | [Output only] The current version of the node software components. If+-- they are currently at different versions because they\'re in the process+-- of being upgraded, this reflects the minimum version of any of them.+cCurrentNodeVersion :: Lens' Cluster (Maybe Text)+cCurrentNodeVersion+  = lens _cCurrentNodeVersion+      (\ s a -> s{_cCurrentNodeVersion = a})++-- | The name of the Google Compute Engine+-- [network](\/compute\/docs\/networking#networks_1) to which the cluster+-- is connected. If left unspecified, the \"default\" network will be used.+cNetwork :: Lens' Cluster (Maybe Text)+cNetwork = lens _cNetwork (\ s a -> s{_cNetwork = a})++-- | [Output only] The software version of Kubernetes master and kubelets+-- used in the cluster when it was first created. The version can be+-- upgraded over time.+cInitialClusterVersion :: Lens' Cluster (Maybe Text)+cInitialClusterVersion+  = lens _cInitialClusterVersion+      (\ s a -> s{_cInitialClusterVersion = a})++-- | [Output only] The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+cZone :: Lens' Cluster (Maybe Text)+cZone = lens _cZone (\ s a -> s{_cZone = a})++-- | [Output only] The IP address range of the Kubernetes services in this+-- cluster, in+-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)+-- notation (e.g. \`1.2.3.4\/29\`). Service addresses are typically put in+-- the last \/16 from the container CIDR.+cServicesIPv4CIdR :: Lens' Cluster (Maybe Text)+cServicesIPv4CIdR+  = lens _cServicesIPv4CIdR+      (\ s a -> s{_cServicesIPv4CIdR = a})++-- | The authentication information for accessing the master.+cMasterAuth :: Lens' Cluster (Maybe MasterAuth)+cMasterAuth+  = lens _cMasterAuth (\ s a -> s{_cMasterAuth = a})++-- | [Output only] Server-defined URL for the resource.+cSelfLink :: Lens' Cluster (Maybe Text)+cSelfLink+  = lens _cSelfLink (\ s a -> s{_cSelfLink = a})++-- | The name of this cluster. The name must be unique within this project+-- and zone, and can be up to 40 characters with the following+-- restrictions: * Lowercase letters, numbers, and hyphens only. * Must+-- start with a letter. * Must end with a number or a letter.+cName :: Lens' Cluster (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | [Output only] The current software version of the master endpoint.+cCurrentMasterVersion :: Lens' Cluster (Maybe Text)+cCurrentMasterVersion+  = lens _cCurrentMasterVersion+      (\ s a -> s{_cCurrentMasterVersion = a})++-- | [Output only] Additional information about the current status of this+-- cluster, if available.+cStatusMessage :: Lens' Cluster (Maybe Text)+cStatusMessage+  = lens _cStatusMessage+      (\ s a -> s{_cStatusMessage = a})++-- | [Output only] The IP address of this cluster\'s Kubernetes master+-- endpoint. The endpoint can be accessed from the internet at+-- \`https:\/\/username:password\'endpoint\/\`. See the \`masterAuth\`+-- property of this resource for username and password information.+cEndpoint :: Lens' Cluster (Maybe Text)+cEndpoint+  = lens _cEndpoint (\ s a -> s{_cEndpoint = a})++-- | The logging service that the cluster should write logs to. Currently+-- available options: * \"logging.googleapis.com\" - the Google Cloud+-- Logging service * \"none\" - no logs will be exported from the cluster *+-- \"\" - default value; the default is \"logging.googleapis.com\"+cLoggingService :: Lens' Cluster (Maybe Text)+cLoggingService+  = lens _cLoggingService+      (\ s a -> s{_cLoggingService = a})++-- | An optional description of this cluster.+cDescription :: Lens' Cluster (Maybe Text)+cDescription+  = lens _cDescription (\ s a -> s{_cDescription = a})++-- | [Output only] The resource URLs of [instance+-- groups](\/compute\/docs\/instance-groups\/) associated with this+-- cluster.+cInstanceGroupURLs :: Lens' Cluster [Text]+cInstanceGroupURLs+  = lens _cInstanceGroupURLs+      (\ s a -> s{_cInstanceGroupURLs = a})+      . _Default+      . _Coerce++-- | The monitoring service that the cluster should write metrics to.+-- Currently available options: * \"monitoring.googleapis.com\" - the+-- Google Cloud Monitoring service * \"none\" - no metrics will be exported+-- from the cluster * \"\" - default value; the default is+-- \"monitoring.googleapis.com\"+cMonitoringService :: Lens' Cluster (Maybe Text)+cMonitoringService+  = lens _cMonitoringService+      (\ s a -> s{_cMonitoringService = a})++-- | [Output only] The time the cluster was created, in+-- [RFC3339](https:\/\/www.ietf.org\/rfc\/rfc3339.txt) text format.+cCreateTime :: Lens' Cluster (Maybe Text)+cCreateTime+  = lens _cCreateTime (\ s a -> s{_cCreateTime = a})++instance FromJSON Cluster where+        parseJSON+          = withObject "Cluster"+              (\ o ->+                 Cluster <$>+                   (o .:? "status") <*> (o .:? "nodeConfig") <*>+                     (o .:? "nodeIpv4CidrSize")+                     <*> (o .:? "clusterIpv4Cidr")+                     <*> (o .:? "initialNodeCount")+                     <*> (o .:? "currentNodeVersion")+                     <*> (o .:? "network")+                     <*> (o .:? "initialClusterVersion")+                     <*> (o .:? "zone")+                     <*> (o .:? "servicesIpv4Cidr")+                     <*> (o .:? "masterAuth")+                     <*> (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "currentMasterVersion")+                     <*> (o .:? "statusMessage")+                     <*> (o .:? "endpoint")+                     <*> (o .:? "loggingService")+                     <*> (o .:? "description")+                     <*> (o .:? "instanceGroupUrls" .!= mempty)+                     <*> (o .:? "monitoringService")+                     <*> (o .:? "createTime"))++instance ToJSON Cluster where+        toJSON Cluster{..}+          = object+              (catMaybes+                 [("status" .=) <$> _cStatus,+                  ("nodeConfig" .=) <$> _cNodeConfig,+                  ("nodeIpv4CidrSize" .=) <$> _cNodeIPv4CIdRSize,+                  ("clusterIpv4Cidr" .=) <$> _cClusterIPv4CIdR,+                  ("initialNodeCount" .=) <$> _cInitialNodeCount,+                  ("currentNodeVersion" .=) <$> _cCurrentNodeVersion,+                  ("network" .=) <$> _cNetwork,+                  ("initialClusterVersion" .=) <$>+                    _cInitialClusterVersion,+                  ("zone" .=) <$> _cZone,+                  ("servicesIpv4Cidr" .=) <$> _cServicesIPv4CIdR,+                  ("masterAuth" .=) <$> _cMasterAuth,+                  ("selfLink" .=) <$> _cSelfLink,+                  ("name" .=) <$> _cName,+                  ("currentMasterVersion" .=) <$>+                    _cCurrentMasterVersion,+                  ("statusMessage" .=) <$> _cStatusMessage,+                  ("endpoint" .=) <$> _cEndpoint,+                  ("loggingService" .=) <$> _cLoggingService,+                  ("description" .=) <$> _cDescription,+                  ("instanceGroupUrls" .=) <$> _cInstanceGroupURLs,+                  ("monitoringService" .=) <$> _cMonitoringService,+                  ("createTime" .=) <$> _cCreateTime])++-- | UpdateClusterRequest updates a cluster.+--+-- /See:/ 'updateClusterRequest' smart constructor.+newtype UpdateClusterRequest = UpdateClusterRequest+    { _ucrUpdate :: Maybe ClusterUpdate+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateClusterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucrUpdate'+updateClusterRequest+    :: UpdateClusterRequest+updateClusterRequest =+    UpdateClusterRequest+    { _ucrUpdate = Nothing+    }++-- | A description of the update.+ucrUpdate :: Lens' UpdateClusterRequest (Maybe ClusterUpdate)+ucrUpdate+  = lens _ucrUpdate (\ s a -> s{_ucrUpdate = a})++instance FromJSON UpdateClusterRequest where+        parseJSON+          = withObject "UpdateClusterRequest"+              (\ o -> UpdateClusterRequest <$> (o .:? "update"))++instance ToJSON UpdateClusterRequest where+        toJSON UpdateClusterRequest{..}+          = object (catMaybes [("update" .=) <$> _ucrUpdate])++-- | Per-node parameters.+--+-- /See:/ 'nodeConfig' smart constructor.+data NodeConfig = NodeConfig+    { _ncDiskSizeGb  :: !(Maybe (Textual Int32))+    , _ncOAuthScopes :: !(Maybe [Text])+    , _ncMachineType :: !(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'+--+-- * 'ncOAuthScopes'+--+-- * 'ncMachineType'+nodeConfig+    :: NodeConfig+nodeConfig =+    NodeConfig+    { _ncDiskSizeGb = Nothing+    , _ncOAuthScopes = Nothing+    , _ncMachineType = Nothing+    }++-- | Size of the disk attached to each node, specified in GB. The smallest+-- allowed disk size is 10GB. If unspecified, the default disk size is+-- 100GB.+ncDiskSizeGb :: Lens' NodeConfig (Maybe Int32)+ncDiskSizeGb+  = lens _ncDiskSizeGb (\ s a -> s{_ncDiskSizeGb = a})+      . mapping _Coerce++-- | The set of Google API scopes to be made available on all of the node VMs+-- under the \"default\" service account. The following scopes are+-- recommended, but not required, and by default are not included: *+-- \`https:\/\/www.googleapis.com\/auth\/compute\` is required for mounting+-- persistent storage on your nodes. *+-- \`https:\/\/www.googleapis.com\/auth\/devstorage.read_only\` is required+-- for communicating with *gcr.io*. If unspecified, no scopes are added.+ncOAuthScopes :: Lens' NodeConfig [Text]+ncOAuthScopes+  = lens _ncOAuthScopes+      (\ s a -> s{_ncOAuthScopes = a})+      . _Default+      . _Coerce++-- | The name of a Google Compute Engine [machine+-- type](\/compute\/docs\/machine-types) (e.g. \`n1-standard-1\`). If+-- unspecified, the default machine type is \`n1-standard-1\`.+ncMachineType :: Lens' NodeConfig (Maybe Text)+ncMachineType+  = lens _ncMachineType+      (\ s a -> s{_ncMachineType = a})++instance FromJSON NodeConfig where+        parseJSON+          = withObject "NodeConfig"+              (\ o ->+                 NodeConfig <$>+                   (o .:? "diskSizeGb") <*>+                     (o .:? "oauthScopes" .!= mempty)+                     <*> (o .:? "machineType"))++instance ToJSON NodeConfig where+        toJSON NodeConfig{..}+          = object+              (catMaybes+                 [("diskSizeGb" .=) <$> _ncDiskSizeGb,+                  ("oauthScopes" .=) <$> _ncOAuthScopes,+                  ("machineType" .=) <$> _ncMachineType])++-- | Defines the operation resource. All fields are output only.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation+    { _oStatus        :: !(Maybe Text)+    , _oZone          :: !(Maybe Text)+    , _oSelfLink      :: !(Maybe Text)+    , _oName          :: !(Maybe Text)+    , _oStatusMessage :: !(Maybe Text)+    , _oOperationType :: !(Maybe Text)+    , _oTargetLink    :: !(Maybe Text)+    } 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:+--+-- * 'oStatus'+--+-- * 'oZone'+--+-- * 'oSelfLink'+--+-- * 'oName'+--+-- * 'oStatusMessage'+--+-- * 'oOperationType'+--+-- * 'oTargetLink'+operation+    :: Operation+operation =+    Operation+    { _oStatus = Nothing+    , _oZone = Nothing+    , _oSelfLink = Nothing+    , _oName = Nothing+    , _oStatusMessage = Nothing+    , _oOperationType = Nothing+    , _oTargetLink = Nothing+    }++-- | The current status of the operation.+oStatus :: Lens' Operation (Maybe Text)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the operation is+-- taking place.+oZone :: Lens' Operation (Maybe Text)+oZone = lens _oZone (\ s a -> s{_oZone = a})++-- | Server-defined URL for the resource.+oSelfLink :: Lens' Operation (Maybe Text)+oSelfLink+  = lens _oSelfLink (\ s a -> s{_oSelfLink = a})++-- | The server-assigned ID for the operation.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | If an error has occurred, a textual description of the error.+oStatusMessage :: Lens' Operation (Maybe Text)+oStatusMessage+  = lens _oStatusMessage+      (\ s a -> s{_oStatusMessage = a})++-- | The operation type.+oOperationType :: Lens' Operation (Maybe Text)+oOperationType+  = lens _oOperationType+      (\ s a -> s{_oOperationType = a})++-- | Server-defined URL for the target of the operation.+oTargetLink :: Lens' Operation (Maybe Text)+oTargetLink+  = lens _oTargetLink (\ s a -> s{_oTargetLink = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation <$>+                   (o .:? "status") <*> (o .:? "zone") <*>+                     (o .:? "selfLink")+                     <*> (o .:? "name")+                     <*> (o .:? "statusMessage")+                     <*> (o .:? "operationType")+                     <*> (o .:? "targetLink"))++instance ToJSON Operation where+        toJSON Operation{..}+          = object+              (catMaybes+                 [("status" .=) <$> _oStatus, ("zone" .=) <$> _oZone,+                  ("selfLink" .=) <$> _oSelfLink,+                  ("name" .=) <$> _oName,+                  ("statusMessage" .=) <$> _oStatusMessage,+                  ("operationType" .=) <$> _oOperationType,+                  ("targetLink" .=) <$> _oTargetLink])++-- | The authentication information for accessing the master endpoint.+-- Authentication can be done using HTTP basic auth or using client+-- certificates.+--+-- /See:/ 'masterAuth' smart constructor.+data MasterAuth = MasterAuth+    { _maClientKey            :: !(Maybe Text)+    , _maUsername             :: !(Maybe Text)+    , _maClientCertificate    :: !(Maybe Text)+    , _maPassword             :: !(Maybe Text)+    , _maClusterCaCertificate :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MasterAuth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'maClientKey'+--+-- * 'maUsername'+--+-- * 'maClientCertificate'+--+-- * 'maPassword'+--+-- * 'maClusterCaCertificate'+masterAuth+    :: MasterAuth+masterAuth =+    MasterAuth+    { _maClientKey = Nothing+    , _maUsername = Nothing+    , _maClientCertificate = Nothing+    , _maPassword = Nothing+    , _maClusterCaCertificate = Nothing+    }++-- | [Output only] Base64 encoded private key used by clients to authenticate+-- to the cluster endpoint.+maClientKey :: Lens' MasterAuth (Maybe Text)+maClientKey+  = lens _maClientKey (\ s a -> s{_maClientKey = a})++-- | The username to use for HTTP basic authentication when accessing the+-- Kubernetes master endpoint.+maUsername :: Lens' MasterAuth (Maybe Text)+maUsername+  = lens _maUsername (\ s a -> s{_maUsername = a})++-- | [Output only] Base64 encoded public certificate used by clients to+-- authenticate to the cluster endpoint.+maClientCertificate :: Lens' MasterAuth (Maybe Text)+maClientCertificate+  = lens _maClientCertificate+      (\ s a -> s{_maClientCertificate = a})++-- | The password to use for HTTP basic authentication when accessing the+-- Kubernetes master endpoint. Because the master endpoint is open to the+-- internet, you should create a strong password.+maPassword :: Lens' MasterAuth (Maybe Text)+maPassword+  = lens _maPassword (\ s a -> s{_maPassword = a})++-- | [Output only] Base64 encoded public certificate that is the root of+-- trust for the cluster.+maClusterCaCertificate :: Lens' MasterAuth (Maybe Text)+maClusterCaCertificate+  = lens _maClusterCaCertificate+      (\ s a -> s{_maClusterCaCertificate = a})++instance FromJSON MasterAuth where+        parseJSON+          = withObject "MasterAuth"+              (\ o ->+                 MasterAuth <$>+                   (o .:? "clientKey") <*> (o .:? "username") <*>+                     (o .:? "clientCertificate")+                     <*> (o .:? "password")+                     <*> (o .:? "clusterCaCertificate"))++instance ToJSON MasterAuth where+        toJSON MasterAuth{..}+          = object+              (catMaybes+                 [("clientKey" .=) <$> _maClientKey,+                  ("username" .=) <$> _maUsername,+                  ("clientCertificate" .=) <$> _maClientCertificate,+                  ("password" .=) <$> _maPassword,+                  ("clusterCaCertificate" .=) <$>+                    _maClusterCaCertificate])++-- | Container Engine Server configuration.+--+-- /See:/ 'serverConfig' smart constructor.+data ServerConfig = ServerConfig+    { _scValidNodeVersions     :: !(Maybe [Text])+    , _scDefaultClusterVersion :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServerConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scValidNodeVersions'+--+-- * 'scDefaultClusterVersion'+serverConfig+    :: ServerConfig+serverConfig =+    ServerConfig+    { _scValidNodeVersions = Nothing+    , _scDefaultClusterVersion = Nothing+    }++-- | List of valid node upgrade target versions.+scValidNodeVersions :: Lens' ServerConfig [Text]+scValidNodeVersions+  = lens _scValidNodeVersions+      (\ s a -> s{_scValidNodeVersions = a})+      . _Default+      . _Coerce++-- | What version this server deploys by default.+scDefaultClusterVersion :: Lens' ServerConfig (Maybe Text)+scDefaultClusterVersion+  = lens _scDefaultClusterVersion+      (\ s a -> s{_scDefaultClusterVersion = a})++instance FromJSON ServerConfig where+        parseJSON+          = withObject "ServerConfig"+              (\ o ->+                 ServerConfig <$>+                   (o .:? "validNodeVersions" .!= mempty) <*>+                     (o .:? "defaultClusterVersion"))++instance ToJSON ServerConfig where+        toJSON ServerConfig{..}+          = object+              (catMaybes+                 [("validNodeVersions" .=) <$> _scValidNodeVersions,+                  ("defaultClusterVersion" .=) <$>+                    _scDefaultClusterVersion])++-- | ListClustersResponse is the result of ListClustersRequest.+--+-- /See:/ 'listClustersResponse' smart constructor.+newtype ListClustersResponse = ListClustersResponse+    { _lcrClusters :: Maybe [Cluster]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrClusters'+listClustersResponse+    :: ListClustersResponse+listClustersResponse =+    ListClustersResponse+    { _lcrClusters = Nothing+    }++-- | A list of clusters in the project in the specified zone, or across all+-- ones.+lcrClusters :: Lens' ListClustersResponse [Cluster]+lcrClusters+  = lens _lcrClusters (\ s a -> s{_lcrClusters = a}) .+      _Default+      . _Coerce++instance FromJSON ListClustersResponse where+        parseJSON+          = withObject "ListClustersResponse"+              (\ o ->+                 ListClustersResponse <$>+                   (o .:? "clusters" .!= mempty))++instance ToJSON ListClustersResponse where+        toJSON ListClustersResponse{..}+          = object+              (catMaybes [("clusters" .=) <$> _lcrClusters])++-- | ClusterUpdate describes an update to the cluster.+--+-- /See:/ 'clusterUpdate' smart constructor.+newtype ClusterUpdate = ClusterUpdate+    { _cuDesiredNodeVersion :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cuDesiredNodeVersion'+clusterUpdate+    :: ClusterUpdate+clusterUpdate =+    ClusterUpdate+    { _cuDesiredNodeVersion = Nothing+    }++-- | The Kubernetes version to change the nodes to (typically an upgrade).+-- Use \"-\" to upgrade to the latest version supported by the server.+cuDesiredNodeVersion :: Lens' ClusterUpdate (Maybe Text)+cuDesiredNodeVersion+  = lens _cuDesiredNodeVersion+      (\ s a -> s{_cuDesiredNodeVersion = a})++instance FromJSON ClusterUpdate where+        parseJSON+          = withObject "ClusterUpdate"+              (\ o ->+                 ClusterUpdate <$> (o .:? "desiredNodeVersion"))++instance ToJSON ClusterUpdate where+        toJSON ClusterUpdate{..}+          = object+              (catMaybes+                 [("desiredNodeVersion" .=) <$>+                    _cuDesiredNodeVersion])
+ gen/Network/Google/Container/Types/Sum.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.Container.Types.Sum+-- Copyright   : (c) 2015 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.Container.Types.Sum where++import           Network.Google.Prelude
+ gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Create.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.Container.Projects.Zones.Clusters.Create+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a cluster, consisting of the specified number and type of Google+-- Compute Engine instances, plus a Kubernetes master endpoint. By default,+-- the cluster is created in the project\'s [default+-- network](\/compute\/docs\/networking#networks_1). One firewall is added+-- for the cluster. After cluster creation, the cluster creates routes for+-- each node to allow the containers on that node to communicate with all+-- other instances in the cluster. Finally, an entry is added to the+-- project\'s global metadata indicating which CIDR range is being used by+-- the cluster.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.create@.+module Network.Google.Resource.Container.Projects.Zones.Clusters.Create+    (+    -- * REST Resource+      ProjectsZonesClustersCreateResource++    -- * Creating a Request+    , projectsZonesClustersCreate+    , ProjectsZonesClustersCreate++    -- * Request Lenses+    , pzccXgafv+    , pzccUploadProtocol+    , pzccPp+    , pzccAccessToken+    , pzccUploadType+    , pzccZone+    , pzccPayload+    , pzccBearerToken+    , pzccProjectId+    , pzccCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.clusters.create@ method which the+-- 'ProjectsZonesClustersCreate' request conforms to.+type ProjectsZonesClustersCreateResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "clusters" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 ReqBody '[JSON] CreateClusterRequest :>+                                   Post '[JSON] Operation++-- | Creates a cluster, consisting of the specified number and type of Google+-- Compute Engine instances, plus a Kubernetes master endpoint. By default,+-- the cluster is created in the project\'s [default+-- network](\/compute\/docs\/networking#networks_1). One firewall is added+-- for the cluster. After cluster creation, the cluster creates routes for+-- each node to allow the containers on that node to communicate with all+-- other instances in the cluster. Finally, an entry is added to the+-- project\'s global metadata indicating which CIDR range is being used by+-- the cluster.+--+-- /See:/ 'projectsZonesClustersCreate' smart constructor.+data ProjectsZonesClustersCreate = ProjectsZonesClustersCreate+    { _pzccXgafv          :: !(Maybe Text)+    , _pzccUploadProtocol :: !(Maybe Text)+    , _pzccPp             :: !Bool+    , _pzccAccessToken    :: !(Maybe Text)+    , _pzccUploadType     :: !(Maybe Text)+    , _pzccZone           :: !Text+    , _pzccPayload        :: !CreateClusterRequest+    , _pzccBearerToken    :: !(Maybe Text)+    , _pzccProjectId      :: !Text+    , _pzccCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesClustersCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzccXgafv'+--+-- * 'pzccUploadProtocol'+--+-- * 'pzccPp'+--+-- * 'pzccAccessToken'+--+-- * 'pzccUploadType'+--+-- * 'pzccZone'+--+-- * 'pzccPayload'+--+-- * 'pzccBearerToken'+--+-- * 'pzccProjectId'+--+-- * 'pzccCallback'+projectsZonesClustersCreate+    :: Text -- ^ 'pzccZone'+    -> CreateClusterRequest -- ^ 'pzccPayload'+    -> Text -- ^ 'pzccProjectId'+    -> ProjectsZonesClustersCreate+projectsZonesClustersCreate pPzccZone_ pPzccPayload_ pPzccProjectId_ =+    ProjectsZonesClustersCreate+    { _pzccXgafv = Nothing+    , _pzccUploadProtocol = Nothing+    , _pzccPp = True+    , _pzccAccessToken = Nothing+    , _pzccUploadType = Nothing+    , _pzccZone = pPzccZone_+    , _pzccPayload = pPzccPayload_+    , _pzccBearerToken = Nothing+    , _pzccProjectId = pPzccProjectId_+    , _pzccCallback = Nothing+    }++-- | V1 error format.+pzccXgafv :: Lens' ProjectsZonesClustersCreate (Maybe Text)+pzccXgafv+  = lens _pzccXgafv (\ s a -> s{_pzccXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzccUploadProtocol :: Lens' ProjectsZonesClustersCreate (Maybe Text)+pzccUploadProtocol+  = lens _pzccUploadProtocol+      (\ s a -> s{_pzccUploadProtocol = a})++-- | Pretty-print response.+pzccPp :: Lens' ProjectsZonesClustersCreate Bool+pzccPp = lens _pzccPp (\ s a -> s{_pzccPp = a})++-- | OAuth access token.+pzccAccessToken :: Lens' ProjectsZonesClustersCreate (Maybe Text)+pzccAccessToken+  = lens _pzccAccessToken+      (\ s a -> s{_pzccAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzccUploadType :: Lens' ProjectsZonesClustersCreate (Maybe Text)+pzccUploadType+  = lens _pzccUploadType+      (\ s a -> s{_pzccUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+pzccZone :: Lens' ProjectsZonesClustersCreate Text+pzccZone = lens _pzccZone (\ s a -> s{_pzccZone = a})++-- | Multipart request metadata.+pzccPayload :: Lens' ProjectsZonesClustersCreate CreateClusterRequest+pzccPayload+  = lens _pzccPayload (\ s a -> s{_pzccPayload = a})++-- | OAuth bearer token.+pzccBearerToken :: Lens' ProjectsZonesClustersCreate (Maybe Text)+pzccBearerToken+  = lens _pzccBearerToken+      (\ s a -> s{_pzccBearerToken = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzccProjectId :: Lens' ProjectsZonesClustersCreate Text+pzccProjectId+  = lens _pzccProjectId+      (\ s a -> s{_pzccProjectId = a})++-- | JSONP+pzccCallback :: Lens' ProjectsZonesClustersCreate (Maybe Text)+pzccCallback+  = lens _pzccCallback (\ s a -> s{_pzccCallback = a})++instance GoogleRequest ProjectsZonesClustersCreate+         where+        type Rs ProjectsZonesClustersCreate = Operation+        requestClient ProjectsZonesClustersCreate{..}+          = go _pzccProjectId _pzccZone _pzccXgafv+              _pzccUploadProtocol+              (Just _pzccPp)+              _pzccAccessToken+              _pzccUploadType+              _pzccBearerToken+              _pzccCallback+              (Just AltJSON)+              _pzccPayload+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesClustersCreateResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Delete.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.Container.Projects.Zones.Clusters.Delete+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the cluster, including the Kubernetes endpoint and all worker+-- nodes. Firewalls and routes that were configured during cluster creation+-- are also deleted.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.delete@.+module Network.Google.Resource.Container.Projects.Zones.Clusters.Delete+    (+    -- * REST Resource+      ProjectsZonesClustersDeleteResource++    -- * Creating a Request+    , projectsZonesClustersDelete+    , ProjectsZonesClustersDelete++    -- * Request Lenses+    , pzcdXgafv+    , pzcdUploadProtocol+    , pzcdPp+    , pzcdAccessToken+    , pzcdUploadType+    , pzcdZone+    , pzcdBearerToken+    , pzcdClusterId+    , pzcdProjectId+    , pzcdCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.clusters.delete@ method which the+-- 'ProjectsZonesClustersDelete' request conforms to.+type ProjectsZonesClustersDeleteResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "clusters" :>+                 Capture "clusterId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Delete '[JSON] Operation++-- | Deletes the cluster, including the Kubernetes endpoint and all worker+-- nodes. Firewalls and routes that were configured during cluster creation+-- are also deleted.+--+-- /See:/ 'projectsZonesClustersDelete' smart constructor.+data ProjectsZonesClustersDelete = ProjectsZonesClustersDelete+    { _pzcdXgafv          :: !(Maybe Text)+    , _pzcdUploadProtocol :: !(Maybe Text)+    , _pzcdPp             :: !Bool+    , _pzcdAccessToken    :: !(Maybe Text)+    , _pzcdUploadType     :: !(Maybe Text)+    , _pzcdZone           :: !Text+    , _pzcdBearerToken    :: !(Maybe Text)+    , _pzcdClusterId      :: !Text+    , _pzcdProjectId      :: !Text+    , _pzcdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesClustersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzcdXgafv'+--+-- * 'pzcdUploadProtocol'+--+-- * 'pzcdPp'+--+-- * 'pzcdAccessToken'+--+-- * 'pzcdUploadType'+--+-- * 'pzcdZone'+--+-- * 'pzcdBearerToken'+--+-- * 'pzcdClusterId'+--+-- * 'pzcdProjectId'+--+-- * 'pzcdCallback'+projectsZonesClustersDelete+    :: Text -- ^ 'pzcdZone'+    -> Text -- ^ 'pzcdClusterId'+    -> Text -- ^ 'pzcdProjectId'+    -> ProjectsZonesClustersDelete+projectsZonesClustersDelete pPzcdZone_ pPzcdClusterId_ pPzcdProjectId_ =+    ProjectsZonesClustersDelete+    { _pzcdXgafv = Nothing+    , _pzcdUploadProtocol = Nothing+    , _pzcdPp = True+    , _pzcdAccessToken = Nothing+    , _pzcdUploadType = Nothing+    , _pzcdZone = pPzcdZone_+    , _pzcdBearerToken = Nothing+    , _pzcdClusterId = pPzcdClusterId_+    , _pzcdProjectId = pPzcdProjectId_+    , _pzcdCallback = Nothing+    }++-- | V1 error format.+pzcdXgafv :: Lens' ProjectsZonesClustersDelete (Maybe Text)+pzcdXgafv+  = lens _pzcdXgafv (\ s a -> s{_pzcdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzcdUploadProtocol :: Lens' ProjectsZonesClustersDelete (Maybe Text)+pzcdUploadProtocol+  = lens _pzcdUploadProtocol+      (\ s a -> s{_pzcdUploadProtocol = a})++-- | Pretty-print response.+pzcdPp :: Lens' ProjectsZonesClustersDelete Bool+pzcdPp = lens _pzcdPp (\ s a -> s{_pzcdPp = a})++-- | OAuth access token.+pzcdAccessToken :: Lens' ProjectsZonesClustersDelete (Maybe Text)+pzcdAccessToken+  = lens _pzcdAccessToken+      (\ s a -> s{_pzcdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzcdUploadType :: Lens' ProjectsZonesClustersDelete (Maybe Text)+pzcdUploadType+  = lens _pzcdUploadType+      (\ s a -> s{_pzcdUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+pzcdZone :: Lens' ProjectsZonesClustersDelete Text+pzcdZone = lens _pzcdZone (\ s a -> s{_pzcdZone = a})++-- | OAuth bearer token.+pzcdBearerToken :: Lens' ProjectsZonesClustersDelete (Maybe Text)+pzcdBearerToken+  = lens _pzcdBearerToken+      (\ s a -> s{_pzcdBearerToken = a})++-- | The name of the cluster to delete.+pzcdClusterId :: Lens' ProjectsZonesClustersDelete Text+pzcdClusterId+  = lens _pzcdClusterId+      (\ s a -> s{_pzcdClusterId = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzcdProjectId :: Lens' ProjectsZonesClustersDelete Text+pzcdProjectId+  = lens _pzcdProjectId+      (\ s a -> s{_pzcdProjectId = a})++-- | JSONP+pzcdCallback :: Lens' ProjectsZonesClustersDelete (Maybe Text)+pzcdCallback+  = lens _pzcdCallback (\ s a -> s{_pzcdCallback = a})++instance GoogleRequest ProjectsZonesClustersDelete+         where+        type Rs ProjectsZonesClustersDelete = Operation+        requestClient ProjectsZonesClustersDelete{..}+          = go _pzcdProjectId _pzcdZone _pzcdClusterId+              _pzcdXgafv+              _pzcdUploadProtocol+              (Just _pzcdPp)+              _pzcdAccessToken+              _pzcdUploadType+              _pzcdBearerToken+              _pzcdCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesClustersDeleteResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Get.hs view
@@ -0,0 +1,200 @@+{-# 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.Container.Projects.Zones.Clusters.Get+-- Copyright   : (c) 2015 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 a specific cluster.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.get@.+module Network.Google.Resource.Container.Projects.Zones.Clusters.Get+    (+    -- * REST Resource+      ProjectsZonesClustersGetResource++    -- * Creating a Request+    , projectsZonesClustersGet+    , ProjectsZonesClustersGet++    -- * Request Lenses+    , pzcgXgafv+    , pzcgUploadProtocol+    , pzcgPp+    , pzcgAccessToken+    , pzcgUploadType+    , pzcgZone+    , pzcgBearerToken+    , pzcgClusterId+    , pzcgProjectId+    , pzcgCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.clusters.get@ method which the+-- 'ProjectsZonesClustersGet' request conforms to.+type ProjectsZonesClustersGetResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "clusters" :>+                 Capture "clusterId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :> Get '[JSON] Cluster++-- | Gets a specific cluster.+--+-- /See:/ 'projectsZonesClustersGet' smart constructor.+data ProjectsZonesClustersGet = ProjectsZonesClustersGet+    { _pzcgXgafv          :: !(Maybe Text)+    , _pzcgUploadProtocol :: !(Maybe Text)+    , _pzcgPp             :: !Bool+    , _pzcgAccessToken    :: !(Maybe Text)+    , _pzcgUploadType     :: !(Maybe Text)+    , _pzcgZone           :: !Text+    , _pzcgBearerToken    :: !(Maybe Text)+    , _pzcgClusterId      :: !Text+    , _pzcgProjectId      :: !Text+    , _pzcgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesClustersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzcgXgafv'+--+-- * 'pzcgUploadProtocol'+--+-- * 'pzcgPp'+--+-- * 'pzcgAccessToken'+--+-- * 'pzcgUploadType'+--+-- * 'pzcgZone'+--+-- * 'pzcgBearerToken'+--+-- * 'pzcgClusterId'+--+-- * 'pzcgProjectId'+--+-- * 'pzcgCallback'+projectsZonesClustersGet+    :: Text -- ^ 'pzcgZone'+    -> Text -- ^ 'pzcgClusterId'+    -> Text -- ^ 'pzcgProjectId'+    -> ProjectsZonesClustersGet+projectsZonesClustersGet pPzcgZone_ pPzcgClusterId_ pPzcgProjectId_ =+    ProjectsZonesClustersGet+    { _pzcgXgafv = Nothing+    , _pzcgUploadProtocol = Nothing+    , _pzcgPp = True+    , _pzcgAccessToken = Nothing+    , _pzcgUploadType = Nothing+    , _pzcgZone = pPzcgZone_+    , _pzcgBearerToken = Nothing+    , _pzcgClusterId = pPzcgClusterId_+    , _pzcgProjectId = pPzcgProjectId_+    , _pzcgCallback = Nothing+    }++-- | V1 error format.+pzcgXgafv :: Lens' ProjectsZonesClustersGet (Maybe Text)+pzcgXgafv+  = lens _pzcgXgafv (\ s a -> s{_pzcgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzcgUploadProtocol :: Lens' ProjectsZonesClustersGet (Maybe Text)+pzcgUploadProtocol+  = lens _pzcgUploadProtocol+      (\ s a -> s{_pzcgUploadProtocol = a})++-- | Pretty-print response.+pzcgPp :: Lens' ProjectsZonesClustersGet Bool+pzcgPp = lens _pzcgPp (\ s a -> s{_pzcgPp = a})++-- | OAuth access token.+pzcgAccessToken :: Lens' ProjectsZonesClustersGet (Maybe Text)+pzcgAccessToken+  = lens _pzcgAccessToken+      (\ s a -> s{_pzcgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzcgUploadType :: Lens' ProjectsZonesClustersGet (Maybe Text)+pzcgUploadType+  = lens _pzcgUploadType+      (\ s a -> s{_pzcgUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+pzcgZone :: Lens' ProjectsZonesClustersGet Text+pzcgZone = lens _pzcgZone (\ s a -> s{_pzcgZone = a})++-- | OAuth bearer token.+pzcgBearerToken :: Lens' ProjectsZonesClustersGet (Maybe Text)+pzcgBearerToken+  = lens _pzcgBearerToken+      (\ s a -> s{_pzcgBearerToken = a})++-- | The name of the cluster to retrieve.+pzcgClusterId :: Lens' ProjectsZonesClustersGet Text+pzcgClusterId+  = lens _pzcgClusterId+      (\ s a -> s{_pzcgClusterId = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzcgProjectId :: Lens' ProjectsZonesClustersGet Text+pzcgProjectId+  = lens _pzcgProjectId+      (\ s a -> s{_pzcgProjectId = a})++-- | JSONP+pzcgCallback :: Lens' ProjectsZonesClustersGet (Maybe Text)+pzcgCallback+  = lens _pzcgCallback (\ s a -> s{_pzcgCallback = a})++instance GoogleRequest ProjectsZonesClustersGet where+        type Rs ProjectsZonesClustersGet = Cluster+        requestClient ProjectsZonesClustersGet{..}+          = go _pzcgProjectId _pzcgZone _pzcgClusterId+              _pzcgXgafv+              _pzcgUploadProtocol+              (Just _pzcgPp)+              _pzcgAccessToken+              _pzcgUploadType+              _pzcgBearerToken+              _pzcgCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesClustersGetResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/Clusters/List.hs view
@@ -0,0 +1,192 @@+{-# 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.Container.Projects.Zones.Clusters.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all clusters owned by a project in either the specified zone or+-- all zones.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.list@.+module Network.Google.Resource.Container.Projects.Zones.Clusters.List+    (+    -- * REST Resource+      ProjectsZonesClustersListResource++    -- * Creating a Request+    , projectsZonesClustersList+    , ProjectsZonesClustersList++    -- * Request Lenses+    , pzclXgafv+    , pzclUploadProtocol+    , pzclPp+    , pzclAccessToken+    , pzclUploadType+    , pzclZone+    , pzclBearerToken+    , pzclProjectId+    , pzclCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.clusters.list@ method which the+-- 'ProjectsZonesClustersList' request conforms to.+type ProjectsZonesClustersListResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "clusters" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ListClustersResponse++-- | Lists all clusters owned by a project in either the specified zone or+-- all zones.+--+-- /See:/ 'projectsZonesClustersList' smart constructor.+data ProjectsZonesClustersList = ProjectsZonesClustersList+    { _pzclXgafv          :: !(Maybe Text)+    , _pzclUploadProtocol :: !(Maybe Text)+    , _pzclPp             :: !Bool+    , _pzclAccessToken    :: !(Maybe Text)+    , _pzclUploadType     :: !(Maybe Text)+    , _pzclZone           :: !Text+    , _pzclBearerToken    :: !(Maybe Text)+    , _pzclProjectId      :: !Text+    , _pzclCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesClustersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzclXgafv'+--+-- * 'pzclUploadProtocol'+--+-- * 'pzclPp'+--+-- * 'pzclAccessToken'+--+-- * 'pzclUploadType'+--+-- * 'pzclZone'+--+-- * 'pzclBearerToken'+--+-- * 'pzclProjectId'+--+-- * 'pzclCallback'+projectsZonesClustersList+    :: Text -- ^ 'pzclZone'+    -> Text -- ^ 'pzclProjectId'+    -> ProjectsZonesClustersList+projectsZonesClustersList pPzclZone_ pPzclProjectId_ =+    ProjectsZonesClustersList+    { _pzclXgafv = Nothing+    , _pzclUploadProtocol = Nothing+    , _pzclPp = True+    , _pzclAccessToken = Nothing+    , _pzclUploadType = Nothing+    , _pzclZone = pPzclZone_+    , _pzclBearerToken = Nothing+    , _pzclProjectId = pPzclProjectId_+    , _pzclCallback = Nothing+    }++-- | V1 error format.+pzclXgafv :: Lens' ProjectsZonesClustersList (Maybe Text)+pzclXgafv+  = lens _pzclXgafv (\ s a -> s{_pzclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzclUploadProtocol :: Lens' ProjectsZonesClustersList (Maybe Text)+pzclUploadProtocol+  = lens _pzclUploadProtocol+      (\ s a -> s{_pzclUploadProtocol = a})++-- | Pretty-print response.+pzclPp :: Lens' ProjectsZonesClustersList Bool+pzclPp = lens _pzclPp (\ s a -> s{_pzclPp = a})++-- | OAuth access token.+pzclAccessToken :: Lens' ProjectsZonesClustersList (Maybe Text)+pzclAccessToken+  = lens _pzclAccessToken+      (\ s a -> s{_pzclAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzclUploadType :: Lens' ProjectsZonesClustersList (Maybe Text)+pzclUploadType+  = lens _pzclUploadType+      (\ s a -> s{_pzclUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides,+-- or \"-\" for all zones.+pzclZone :: Lens' ProjectsZonesClustersList Text+pzclZone = lens _pzclZone (\ s a -> s{_pzclZone = a})++-- | OAuth bearer token.+pzclBearerToken :: Lens' ProjectsZonesClustersList (Maybe Text)+pzclBearerToken+  = lens _pzclBearerToken+      (\ s a -> s{_pzclBearerToken = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzclProjectId :: Lens' ProjectsZonesClustersList Text+pzclProjectId+  = lens _pzclProjectId+      (\ s a -> s{_pzclProjectId = a})++-- | JSONP+pzclCallback :: Lens' ProjectsZonesClustersList (Maybe Text)+pzclCallback+  = lens _pzclCallback (\ s a -> s{_pzclCallback = a})++instance GoogleRequest ProjectsZonesClustersList+         where+        type Rs ProjectsZonesClustersList =+             ListClustersResponse+        requestClient ProjectsZonesClustersList{..}+          = go _pzclProjectId _pzclZone _pzclXgafv+              _pzclUploadProtocol+              (Just _pzclPp)+              _pzclAccessToken+              _pzclUploadType+              _pzclBearerToken+              _pzclCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesClustersListResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Update.hs view
@@ -0,0 +1,215 @@+{-# 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.Container.Projects.Zones.Clusters.Update+-- Copyright   : (c) 2015 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 settings of a specific cluster.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.update@.+module Network.Google.Resource.Container.Projects.Zones.Clusters.Update+    (+    -- * REST Resource+      ProjectsZonesClustersUpdateResource++    -- * Creating a Request+    , projectsZonesClustersUpdate+    , ProjectsZonesClustersUpdate++    -- * Request Lenses+    , pzcuXgafv+    , pzcuUploadProtocol+    , pzcuPp+    , pzcuAccessToken+    , pzcuUploadType+    , pzcuZone+    , pzcuPayload+    , pzcuBearerToken+    , pzcuClusterId+    , pzcuProjectId+    , pzcuCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.clusters.update@ method which the+-- 'ProjectsZonesClustersUpdate' request conforms to.+type ProjectsZonesClustersUpdateResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "clusters" :>+                 Capture "clusterId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   ReqBody '[JSON] UpdateClusterRequest :>+                                     Put '[JSON] Operation++-- | Update settings of a specific cluster.+--+-- /See:/ 'projectsZonesClustersUpdate' smart constructor.+data ProjectsZonesClustersUpdate = ProjectsZonesClustersUpdate+    { _pzcuXgafv          :: !(Maybe Text)+    , _pzcuUploadProtocol :: !(Maybe Text)+    , _pzcuPp             :: !Bool+    , _pzcuAccessToken    :: !(Maybe Text)+    , _pzcuUploadType     :: !(Maybe Text)+    , _pzcuZone           :: !Text+    , _pzcuPayload        :: !UpdateClusterRequest+    , _pzcuBearerToken    :: !(Maybe Text)+    , _pzcuClusterId      :: !Text+    , _pzcuProjectId      :: !Text+    , _pzcuCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesClustersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzcuXgafv'+--+-- * 'pzcuUploadProtocol'+--+-- * 'pzcuPp'+--+-- * 'pzcuAccessToken'+--+-- * 'pzcuUploadType'+--+-- * 'pzcuZone'+--+-- * 'pzcuPayload'+--+-- * 'pzcuBearerToken'+--+-- * 'pzcuClusterId'+--+-- * 'pzcuProjectId'+--+-- * 'pzcuCallback'+projectsZonesClustersUpdate+    :: Text -- ^ 'pzcuZone'+    -> UpdateClusterRequest -- ^ 'pzcuPayload'+    -> Text -- ^ 'pzcuClusterId'+    -> Text -- ^ 'pzcuProjectId'+    -> ProjectsZonesClustersUpdate+projectsZonesClustersUpdate pPzcuZone_ pPzcuPayload_ pPzcuClusterId_ pPzcuProjectId_ =+    ProjectsZonesClustersUpdate+    { _pzcuXgafv = Nothing+    , _pzcuUploadProtocol = Nothing+    , _pzcuPp = True+    , _pzcuAccessToken = Nothing+    , _pzcuUploadType = Nothing+    , _pzcuZone = pPzcuZone_+    , _pzcuPayload = pPzcuPayload_+    , _pzcuBearerToken = Nothing+    , _pzcuClusterId = pPzcuClusterId_+    , _pzcuProjectId = pPzcuProjectId_+    , _pzcuCallback = Nothing+    }++-- | V1 error format.+pzcuXgafv :: Lens' ProjectsZonesClustersUpdate (Maybe Text)+pzcuXgafv+  = lens _pzcuXgafv (\ s a -> s{_pzcuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzcuUploadProtocol :: Lens' ProjectsZonesClustersUpdate (Maybe Text)+pzcuUploadProtocol+  = lens _pzcuUploadProtocol+      (\ s a -> s{_pzcuUploadProtocol = a})++-- | Pretty-print response.+pzcuPp :: Lens' ProjectsZonesClustersUpdate Bool+pzcuPp = lens _pzcuPp (\ s a -> s{_pzcuPp = a})++-- | OAuth access token.+pzcuAccessToken :: Lens' ProjectsZonesClustersUpdate (Maybe Text)+pzcuAccessToken+  = lens _pzcuAccessToken+      (\ s a -> s{_pzcuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzcuUploadType :: Lens' ProjectsZonesClustersUpdate (Maybe Text)+pzcuUploadType+  = lens _pzcuUploadType+      (\ s a -> s{_pzcuUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+pzcuZone :: Lens' ProjectsZonesClustersUpdate Text+pzcuZone = lens _pzcuZone (\ s a -> s{_pzcuZone = a})++-- | Multipart request metadata.+pzcuPayload :: Lens' ProjectsZonesClustersUpdate UpdateClusterRequest+pzcuPayload+  = lens _pzcuPayload (\ s a -> s{_pzcuPayload = a})++-- | OAuth bearer token.+pzcuBearerToken :: Lens' ProjectsZonesClustersUpdate (Maybe Text)+pzcuBearerToken+  = lens _pzcuBearerToken+      (\ s a -> s{_pzcuBearerToken = a})++-- | The name of the cluster to upgrade.+pzcuClusterId :: Lens' ProjectsZonesClustersUpdate Text+pzcuClusterId+  = lens _pzcuClusterId+      (\ s a -> s{_pzcuClusterId = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzcuProjectId :: Lens' ProjectsZonesClustersUpdate Text+pzcuProjectId+  = lens _pzcuProjectId+      (\ s a -> s{_pzcuProjectId = a})++-- | JSONP+pzcuCallback :: Lens' ProjectsZonesClustersUpdate (Maybe Text)+pzcuCallback+  = lens _pzcuCallback (\ s a -> s{_pzcuCallback = a})++instance GoogleRequest ProjectsZonesClustersUpdate+         where+        type Rs ProjectsZonesClustersUpdate = Operation+        requestClient ProjectsZonesClustersUpdate{..}+          = go _pzcuProjectId _pzcuZone _pzcuClusterId+              _pzcuXgafv+              _pzcuUploadProtocol+              (Just _pzcuPp)+              _pzcuAccessToken+              _pzcuUploadType+              _pzcuBearerToken+              _pzcuCallback+              (Just AltJSON)+              _pzcuPayload+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesClustersUpdateResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/GetServerConfig.hs view
@@ -0,0 +1,191 @@+{-# 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.Container.Projects.Zones.GetServerConfig+-- Copyright   : (c) 2015 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)+--+-- Returns configuration info about the Container Engine service.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.getServerconfig@.+module Network.Google.Resource.Container.Projects.Zones.GetServerConfig+    (+    -- * REST Resource+      ProjectsZonesGetServerConfigResource++    -- * Creating a Request+    , projectsZonesGetServerConfig+    , ProjectsZonesGetServerConfig++    -- * Request Lenses+    , pzgscXgafv+    , pzgscUploadProtocol+    , pzgscPp+    , pzgscAccessToken+    , pzgscUploadType+    , pzgscZone+    , pzgscBearerToken+    , pzgscProjectId+    , pzgscCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.getServerconfig@ method which the+-- 'ProjectsZonesGetServerConfig' request conforms to.+type ProjectsZonesGetServerConfigResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "serverconfig" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ServerConfig++-- | Returns configuration info about the Container Engine service.+--+-- /See:/ 'projectsZonesGetServerConfig' smart constructor.+data ProjectsZonesGetServerConfig = ProjectsZonesGetServerConfig+    { _pzgscXgafv          :: !(Maybe Text)+    , _pzgscUploadProtocol :: !(Maybe Text)+    , _pzgscPp             :: !Bool+    , _pzgscAccessToken    :: !(Maybe Text)+    , _pzgscUploadType     :: !(Maybe Text)+    , _pzgscZone           :: !Text+    , _pzgscBearerToken    :: !(Maybe Text)+    , _pzgscProjectId      :: !Text+    , _pzgscCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesGetServerConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzgscXgafv'+--+-- * 'pzgscUploadProtocol'+--+-- * 'pzgscPp'+--+-- * 'pzgscAccessToken'+--+-- * 'pzgscUploadType'+--+-- * 'pzgscZone'+--+-- * 'pzgscBearerToken'+--+-- * 'pzgscProjectId'+--+-- * 'pzgscCallback'+projectsZonesGetServerConfig+    :: Text -- ^ 'pzgscZone'+    -> Text -- ^ 'pzgscProjectId'+    -> ProjectsZonesGetServerConfig+projectsZonesGetServerConfig pPzgscZone_ pPzgscProjectId_ =+    ProjectsZonesGetServerConfig+    { _pzgscXgafv = Nothing+    , _pzgscUploadProtocol = Nothing+    , _pzgscPp = True+    , _pzgscAccessToken = Nothing+    , _pzgscUploadType = Nothing+    , _pzgscZone = pPzgscZone_+    , _pzgscBearerToken = Nothing+    , _pzgscProjectId = pPzgscProjectId_+    , _pzgscCallback = Nothing+    }++-- | V1 error format.+pzgscXgafv :: Lens' ProjectsZonesGetServerConfig (Maybe Text)+pzgscXgafv+  = lens _pzgscXgafv (\ s a -> s{_pzgscXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzgscUploadProtocol :: Lens' ProjectsZonesGetServerConfig (Maybe Text)+pzgscUploadProtocol+  = lens _pzgscUploadProtocol+      (\ s a -> s{_pzgscUploadProtocol = a})++-- | Pretty-print response.+pzgscPp :: Lens' ProjectsZonesGetServerConfig Bool+pzgscPp = lens _pzgscPp (\ s a -> s{_pzgscPp = a})++-- | OAuth access token.+pzgscAccessToken :: Lens' ProjectsZonesGetServerConfig (Maybe Text)+pzgscAccessToken+  = lens _pzgscAccessToken+      (\ s a -> s{_pzgscAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzgscUploadType :: Lens' ProjectsZonesGetServerConfig (Maybe Text)+pzgscUploadType+  = lens _pzgscUploadType+      (\ s a -> s{_pzgscUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) to return operations for, or+-- \"-\" for all zones.+pzgscZone :: Lens' ProjectsZonesGetServerConfig Text+pzgscZone+  = lens _pzgscZone (\ s a -> s{_pzgscZone = a})++-- | OAuth bearer token.+pzgscBearerToken :: Lens' ProjectsZonesGetServerConfig (Maybe Text)+pzgscBearerToken+  = lens _pzgscBearerToken+      (\ s a -> s{_pzgscBearerToken = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzgscProjectId :: Lens' ProjectsZonesGetServerConfig Text+pzgscProjectId+  = lens _pzgscProjectId+      (\ s a -> s{_pzgscProjectId = a})++-- | JSONP+pzgscCallback :: Lens' ProjectsZonesGetServerConfig (Maybe Text)+pzgscCallback+  = lens _pzgscCallback+      (\ s a -> s{_pzgscCallback = a})++instance GoogleRequest ProjectsZonesGetServerConfig+         where+        type Rs ProjectsZonesGetServerConfig = ServerConfig+        requestClient ProjectsZonesGetServerConfig{..}+          = go _pzgscProjectId _pzgscZone _pzgscXgafv+              _pzgscUploadProtocol+              (Just _pzgscPp)+              _pzgscAccessToken+              _pzgscUploadType+              _pzgscBearerToken+              _pzgscCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesGetServerConfigResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/Operations/Get.hs view
@@ -0,0 +1,202 @@+{-# 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.Container.Projects.Zones.Operations.Get+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified operation.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.operations.get@.+module Network.Google.Resource.Container.Projects.Zones.Operations.Get+    (+    -- * REST Resource+      ProjectsZonesOperationsGetResource++    -- * Creating a Request+    , projectsZonesOperationsGet+    , ProjectsZonesOperationsGet++    -- * Request Lenses+    , pzogXgafv+    , pzogUploadProtocol+    , pzogPp+    , pzogAccessToken+    , pzogUploadType+    , pzogZone+    , pzogBearerToken+    , pzogProjectId+    , pzogOperationId+    , pzogCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.operations.get@ method which the+-- 'ProjectsZonesOperationsGet' request conforms to.+type ProjectsZonesOperationsGetResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "operations" :>+                 Capture "operationId" Text :>+                   QueryParam "$.xgafv" Text :>+                     QueryParam "upload_protocol" Text :>+                       QueryParam "pp" Bool :>+                         QueryParam "access_token" Text :>+                           QueryParam "uploadType" Text :>+                             QueryParam "bearer_token" Text :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] Operation++-- | Gets the specified operation.+--+-- /See:/ 'projectsZonesOperationsGet' smart constructor.+data ProjectsZonesOperationsGet = ProjectsZonesOperationsGet+    { _pzogXgafv          :: !(Maybe Text)+    , _pzogUploadProtocol :: !(Maybe Text)+    , _pzogPp             :: !Bool+    , _pzogAccessToken    :: !(Maybe Text)+    , _pzogUploadType     :: !(Maybe Text)+    , _pzogZone           :: !Text+    , _pzogBearerToken    :: !(Maybe Text)+    , _pzogProjectId      :: !Text+    , _pzogOperationId    :: !Text+    , _pzogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzogXgafv'+--+-- * 'pzogUploadProtocol'+--+-- * 'pzogPp'+--+-- * 'pzogAccessToken'+--+-- * 'pzogUploadType'+--+-- * 'pzogZone'+--+-- * 'pzogBearerToken'+--+-- * 'pzogProjectId'+--+-- * 'pzogOperationId'+--+-- * 'pzogCallback'+projectsZonesOperationsGet+    :: Text -- ^ 'pzogZone'+    -> Text -- ^ 'pzogProjectId'+    -> Text -- ^ 'pzogOperationId'+    -> ProjectsZonesOperationsGet+projectsZonesOperationsGet pPzogZone_ pPzogProjectId_ pPzogOperationId_ =+    ProjectsZonesOperationsGet+    { _pzogXgafv = Nothing+    , _pzogUploadProtocol = Nothing+    , _pzogPp = True+    , _pzogAccessToken = Nothing+    , _pzogUploadType = Nothing+    , _pzogZone = pPzogZone_+    , _pzogBearerToken = Nothing+    , _pzogProjectId = pPzogProjectId_+    , _pzogOperationId = pPzogOperationId_+    , _pzogCallback = Nothing+    }++-- | V1 error format.+pzogXgafv :: Lens' ProjectsZonesOperationsGet (Maybe Text)+pzogXgafv+  = lens _pzogXgafv (\ s a -> s{_pzogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzogUploadProtocol :: Lens' ProjectsZonesOperationsGet (Maybe Text)+pzogUploadProtocol+  = lens _pzogUploadProtocol+      (\ s a -> s{_pzogUploadProtocol = a})++-- | Pretty-print response.+pzogPp :: Lens' ProjectsZonesOperationsGet Bool+pzogPp = lens _pzogPp (\ s a -> s{_pzogPp = a})++-- | OAuth access token.+pzogAccessToken :: Lens' ProjectsZonesOperationsGet (Maybe Text)+pzogAccessToken+  = lens _pzogAccessToken+      (\ s a -> s{_pzogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzogUploadType :: Lens' ProjectsZonesOperationsGet (Maybe Text)+pzogUploadType+  = lens _pzogUploadType+      (\ s a -> s{_pzogUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.+pzogZone :: Lens' ProjectsZonesOperationsGet Text+pzogZone = lens _pzogZone (\ s a -> s{_pzogZone = a})++-- | OAuth bearer token.+pzogBearerToken :: Lens' ProjectsZonesOperationsGet (Maybe Text)+pzogBearerToken+  = lens _pzogBearerToken+      (\ s a -> s{_pzogBearerToken = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzogProjectId :: Lens' ProjectsZonesOperationsGet Text+pzogProjectId+  = lens _pzogProjectId+      (\ s a -> s{_pzogProjectId = a})++-- | The server-assigned \`name\` of the operation.+pzogOperationId :: Lens' ProjectsZonesOperationsGet Text+pzogOperationId+  = lens _pzogOperationId+      (\ s a -> s{_pzogOperationId = a})++-- | JSONP+pzogCallback :: Lens' ProjectsZonesOperationsGet (Maybe Text)+pzogCallback+  = lens _pzogCallback (\ s a -> s{_pzogCallback = a})++instance GoogleRequest ProjectsZonesOperationsGet+         where+        type Rs ProjectsZonesOperationsGet = Operation+        requestClient ProjectsZonesOperationsGet{..}+          = go _pzogProjectId _pzogZone _pzogOperationId+              _pzogXgafv+              _pzogUploadProtocol+              (Just _pzogPp)+              _pzogAccessToken+              _pzogUploadType+              _pzogBearerToken+              _pzogCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesOperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/Container/Projects/Zones/Operations/List.hs view
@@ -0,0 +1,190 @@+{-# 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.Container.Projects.Zones.Operations.List+-- Copyright   : (c) 2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all operations in a project in a specific zone or all zones.+--+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.operations.list@.+module Network.Google.Resource.Container.Projects.Zones.Operations.List+    (+    -- * REST Resource+      ProjectsZonesOperationsListResource++    -- * Creating a Request+    , projectsZonesOperationsList+    , ProjectsZonesOperationsList++    -- * Request Lenses+    , pzolXgafv+    , pzolUploadProtocol+    , pzolPp+    , pzolAccessToken+    , pzolUploadType+    , pzolZone+    , pzolBearerToken+    , pzolProjectId+    , pzolCallback+    ) where++import           Network.Google.Container.Types+import           Network.Google.Prelude++-- | A resource alias for @container.projects.zones.operations.list@ method which the+-- 'ProjectsZonesOperationsList' request conforms to.+type ProjectsZonesOperationsListResource =+     "v1" :>+       "projects" :>+         Capture "projectId" Text :>+           "zones" :>+             Capture "zone" Text :>+               "operations" :>+                 QueryParam "$.xgafv" Text :>+                   QueryParam "upload_protocol" Text :>+                     QueryParam "pp" Bool :>+                       QueryParam "access_token" Text :>+                         QueryParam "uploadType" Text :>+                           QueryParam "bearer_token" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ListOperationsResponse++-- | Lists all operations in a project in a specific zone or all zones.+--+-- /See:/ 'projectsZonesOperationsList' smart constructor.+data ProjectsZonesOperationsList = ProjectsZonesOperationsList+    { _pzolXgafv          :: !(Maybe Text)+    , _pzolUploadProtocol :: !(Maybe Text)+    , _pzolPp             :: !Bool+    , _pzolAccessToken    :: !(Maybe Text)+    , _pzolUploadType     :: !(Maybe Text)+    , _pzolZone           :: !Text+    , _pzolBearerToken    :: !(Maybe Text)+    , _pzolProjectId      :: !Text+    , _pzolCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsZonesOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pzolXgafv'+--+-- * 'pzolUploadProtocol'+--+-- * 'pzolPp'+--+-- * 'pzolAccessToken'+--+-- * 'pzolUploadType'+--+-- * 'pzolZone'+--+-- * 'pzolBearerToken'+--+-- * 'pzolProjectId'+--+-- * 'pzolCallback'+projectsZonesOperationsList+    :: Text -- ^ 'pzolZone'+    -> Text -- ^ 'pzolProjectId'+    -> ProjectsZonesOperationsList+projectsZonesOperationsList pPzolZone_ pPzolProjectId_ =+    ProjectsZonesOperationsList+    { _pzolXgafv = Nothing+    , _pzolUploadProtocol = Nothing+    , _pzolPp = True+    , _pzolAccessToken = Nothing+    , _pzolUploadType = Nothing+    , _pzolZone = pPzolZone_+    , _pzolBearerToken = Nothing+    , _pzolProjectId = pPzolProjectId_+    , _pzolCallback = Nothing+    }++-- | V1 error format.+pzolXgafv :: Lens' ProjectsZonesOperationsList (Maybe Text)+pzolXgafv+  = lens _pzolXgafv (\ s a -> s{_pzolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pzolUploadProtocol :: Lens' ProjectsZonesOperationsList (Maybe Text)+pzolUploadProtocol+  = lens _pzolUploadProtocol+      (\ s a -> s{_pzolUploadProtocol = a})++-- | Pretty-print response.+pzolPp :: Lens' ProjectsZonesOperationsList Bool+pzolPp = lens _pzolPp (\ s a -> s{_pzolPp = a})++-- | OAuth access token.+pzolAccessToken :: Lens' ProjectsZonesOperationsList (Maybe Text)+pzolAccessToken+  = lens _pzolAccessToken+      (\ s a -> s{_pzolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pzolUploadType :: Lens' ProjectsZonesOperationsList (Maybe Text)+pzolUploadType+  = lens _pzolUploadType+      (\ s a -> s{_pzolUploadType = a})++-- | The name of the Google Compute Engine+-- [zone](\/compute\/docs\/zones#available) to return operations for, or+-- \"-\" for all zones.+pzolZone :: Lens' ProjectsZonesOperationsList Text+pzolZone = lens _pzolZone (\ s a -> s{_pzolZone = a})++-- | OAuth bearer token.+pzolBearerToken :: Lens' ProjectsZonesOperationsList (Maybe Text)+pzolBearerToken+  = lens _pzolBearerToken+      (\ s a -> s{_pzolBearerToken = a})++-- | The Google Developers Console [project ID or project+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).+pzolProjectId :: Lens' ProjectsZonesOperationsList Text+pzolProjectId+  = lens _pzolProjectId+      (\ s a -> s{_pzolProjectId = a})++-- | JSONP+pzolCallback :: Lens' ProjectsZonesOperationsList (Maybe Text)+pzolCallback+  = lens _pzolCallback (\ s a -> s{_pzolCallback = a})++instance GoogleRequest ProjectsZonesOperationsList+         where+        type Rs ProjectsZonesOperationsList =+             ListOperationsResponse+        requestClient ProjectsZonesOperationsList{..}+          = go _pzolProjectId _pzolZone _pzolXgafv+              _pzolUploadProtocol+              (Just _pzolPp)+              _pzolAccessToken+              _pzolUploadType+              _pzolBearerToken+              _pzolCallback+              (Just AltJSON)+              containerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsZonesOperationsListResource)+                      mempty
+ gogol-container.cabal view
@@ -0,0 +1,55 @@+name:                  gogol-container+version:               0.0.1+synopsis:              Google Container Engine 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 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md++description:+    The Google Container Engine API is used for building and managing+    container based applications, powered by the open source Kubernetes+    technology.+    .+    /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.Container+        , Network.Google.Container.Types+        , Network.Google.Resource.Container.Projects.Zones.Clusters.Create+        , Network.Google.Resource.Container.Projects.Zones.Clusters.Delete+        , Network.Google.Resource.Container.Projects.Zones.Clusters.Get+        , Network.Google.Resource.Container.Projects.Zones.Clusters.List+        , Network.Google.Resource.Container.Projects.Zones.Clusters.Update+        , Network.Google.Resource.Container.Projects.Zones.GetServerConfig+        , Network.Google.Resource.Container.Projects.Zones.Operations.Get+        , Network.Google.Resource.Container.Projects.Zones.Operations.List++    other-modules:+          Network.Google.Container.Types.Product+        , Network.Google.Container.Types.Sum++    build-depends:+          gogol-core == 0.0.1.*+        , base       >= 4.7 && < 5