packages feed

gogol-cloudshell (empty) → 0.4.0

raw patch · 13 files changed

+2244/−0 lines, 13 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-cloudshell++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Shell.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-cloudshell` 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/CloudShell.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.CloudShell+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows users to start, configure, and connect to interactive shell+-- sessions running in the cloud.+--+-- /See:/ <https://cloud.google.com/shell/docs/ Cloud Shell API Reference>+module Network.Google.CloudShell+    (+    -- * Service Configuration+      cloudShellService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * API Declaration+    , CloudShellAPI++    -- * Resources++    -- ** cloudshell.operations.cancel+    , module Network.Google.Resource.CloudShell.Operations.Cancel++    -- ** cloudshell.operations.delete+    , module Network.Google.Resource.CloudShell.Operations.Delete++    -- ** cloudshell.operations.get+    , module Network.Google.Resource.CloudShell.Operations.Get++    -- ** cloudshell.operations.list+    , module Network.Google.Resource.CloudShell.Operations.List++    -- * Types++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- ** CancelOperationRequest+    , CancelOperationRequest+    , cancelOperationRequest++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Empty+    , Empty+    , empty++    -- ** Environment+    , Environment+    , environment+    , eState+    , ePublicKeys+    , eSSHUsername+    , eName+    , eId+    , eSSHHost+    , eDockerImage+    , eSSHPort++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** PublicKey+    , PublicKey+    , publicKey+    , pkFormat+    , pkKey+    , pkName++    -- ** StartEnvironmentMetadataState+    , StartEnvironmentMetadataState (..)++    -- ** EnvironmentState+    , EnvironmentState (..)++    -- ** Xgafv+    , Xgafv (..)++    -- ** PublicKeyFormat+    , PublicKeyFormat (..)++    -- ** StartEnvironmentMetadata+    , StartEnvironmentMetadata+    , startEnvironmentMetadata+    , semState++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- ** StartEnvironmentResponse+    , StartEnvironmentResponse+    , startEnvironmentResponse+    , serEnvironment++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional+    ) where++import           Network.Google.CloudShell.Types+import           Network.Google.Prelude+import           Network.Google.Resource.CloudShell.Operations.Cancel+import           Network.Google.Resource.CloudShell.Operations.Delete+import           Network.Google.Resource.CloudShell.Operations.Get+import           Network.Google.Resource.CloudShell.Operations.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Shell API service.+type CloudShellAPI =+     OperationsListResource :<|> OperationsGetResource+       :<|> OperationsCancelResource+       :<|> OperationsDeleteResource
+ gen/Network/Google/CloudShell/Types.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudShell.Types+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CloudShell.Types+    (+    -- * Service Configuration+      cloudShellService++    -- * OAuth Scopes+    , cloudPlatformScope++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * ListOperationsResponse+    , ListOperationsResponse+    , listOperationsResponse+    , lorNextPageToken+    , lorOperations++    -- * CancelOperationRequest+    , CancelOperationRequest+    , cancelOperationRequest++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Empty+    , Empty+    , empty++    -- * Environment+    , Environment+    , environment+    , eState+    , ePublicKeys+    , eSSHUsername+    , eName+    , eId+    , eSSHHost+    , eDockerImage+    , eSSHPort++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * PublicKey+    , PublicKey+    , publicKey+    , pkFormat+    , pkKey+    , pkName++    -- * StartEnvironmentMetadataState+    , StartEnvironmentMetadataState (..)++    -- * EnvironmentState+    , EnvironmentState (..)++    -- * Xgafv+    , Xgafv (..)++    -- * PublicKeyFormat+    , PublicKeyFormat (..)++    -- * StartEnvironmentMetadata+    , StartEnvironmentMetadata+    , startEnvironmentMetadata+    , semState++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- * StartEnvironmentResponse+    , StartEnvironmentResponse+    , startEnvironmentResponse+    , serEnvironment++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional+    ) where++import           Network.Google.CloudShell.Types.Product+import           Network.Google.CloudShell.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Cloud Shell API. This contains the host and root path used as a starting point for constructing service requests.+cloudShellService :: ServiceConfig+cloudShellService+  = defaultService (ServiceId "cloudshell:v1")+      "cloudshell.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;
+ gen/Network/Google/CloudShell/Types/Product.hs view
@@ -0,0 +1,676 @@+{-# 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.CloudShell.Types.Product+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CloudShell.Types.Product where++import           Network.Google.CloudShell.Types.Sum+import           Network.Google.Prelude++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | The response message for Operations.ListOperations.+--+-- /See:/ 'listOperationsResponse' smart constructor.+data ListOperationsResponse = ListOperationsResponse'+    { _lorNextPageToken :: !(Maybe Text)+    , _lorOperations    :: !(Maybe [Operation])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorNextPageToken'+--+-- * 'lorOperations'+listOperationsResponse+    :: ListOperationsResponse+listOperationsResponse =+    ListOperationsResponse'+    { _lorNextPageToken = Nothing+    , _lorOperations = Nothing+    }++-- | The standard List next-page token.+lorNextPageToken :: Lens' ListOperationsResponse (Maybe Text)+lorNextPageToken+  = lens _lorNextPageToken+      (\ s a -> s{_lorNextPageToken = a})++-- | A list of operations that matches the specified filter in the request.+lorOperations :: Lens' ListOperationsResponse [Operation]+lorOperations+  = lens _lorOperations+      (\ s a -> s{_lorOperations = a})+      . _Default+      . _Coerce++instance FromJSON ListOperationsResponse where+        parseJSON+          = withObject "ListOperationsResponse"+              (\ o ->+                 ListOperationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "operations" .!= mempty))++instance ToJSON ListOperationsResponse where+        toJSON ListOperationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lorNextPageToken,+                  ("operations" .=) <$> _lorOperations])++-- | The request message for Operations.CancelOperation.+--+-- /See:/ 'cancelOperationRequest' smart constructor.+data CancelOperationRequest =+    CancelOperationRequest'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.+--+cancelOperationRequest+    :: CancelOperationRequest+cancelOperationRequest = CancelOperationRequest'++instance FromJSON CancelOperationRequest where+        parseJSON+          = withObject "CancelOperationRequest"+              (\ o -> pure CancelOperationRequest')++instance ToJSON CancelOperationRequest where+        toJSON = const emptyObject++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If \`true\`, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure or cancellation.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe OperationMetadata)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+    Empty'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+    :: Empty+empty = Empty'++instance FromJSON Empty where+        parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+        toJSON = const emptyObject++-- | A Cloud Shell environment, which is defined as the combination of a+-- Docker image specifying what is installed on the environment and a home+-- directory containing the user\'s data that will remain across sessions.+-- Each user has a single environment with the ID \"default\".+--+-- /See:/ 'environment' smart constructor.+data Environment = Environment'+    { _eState       :: !(Maybe EnvironmentState)+    , _ePublicKeys  :: !(Maybe [PublicKey])+    , _eSSHUsername :: !(Maybe Text)+    , _eName        :: !(Maybe Text)+    , _eId          :: !(Maybe Text)+    , _eSSHHost     :: !(Maybe Text)+    , _eDockerImage :: !(Maybe Text)+    , _eSSHPort     :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Environment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eState'+--+-- * 'ePublicKeys'+--+-- * 'eSSHUsername'+--+-- * 'eName'+--+-- * 'eId'+--+-- * 'eSSHHost'+--+-- * 'eDockerImage'+--+-- * 'eSSHPort'+environment+    :: Environment+environment =+    Environment'+    { _eState = Nothing+    , _ePublicKeys = Nothing+    , _eSSHUsername = Nothing+    , _eName = Nothing+    , _eId = Nothing+    , _eSSHHost = Nothing+    , _eDockerImage = Nothing+    , _eSSHPort = Nothing+    }++-- | Output only. Current execution state of this environment.+eState :: Lens' Environment (Maybe EnvironmentState)+eState = lens _eState (\ s a -> s{_eState = a})++-- | Output only. Public keys associated with the environment. Clients can+-- connect to this environment via SSH only if they possess a private key+-- corresponding to at least one of these public keys. Keys can be added to+-- or removed from the environment using the CreatePublicKey and+-- DeletePublicKey methods.+ePublicKeys :: Lens' Environment [PublicKey]+ePublicKeys+  = lens _ePublicKeys (\ s a -> s{_ePublicKeys = a}) .+      _Default+      . _Coerce++-- | Output only. Username that clients should use when initiating SSH+-- sessions with the environment.+eSSHUsername :: Lens' Environment (Maybe Text)+eSSHUsername+  = lens _eSSHUsername (\ s a -> s{_eSSHUsername = a})++-- | Output only. Full name of this resource, in the format+-- \`users\/{owner_email}\/environments\/{environment_id}\`.+-- \`{owner_email}\` is the email address of the user to whom this+-- environment belongs, and \`{environment_id}\` is the identifier of this+-- environment. For example,+-- \`users\/someone\'example.com\/environments\/default\`.+eName :: Lens' Environment (Maybe Text)+eName = lens _eName (\ s a -> s{_eName = a})++-- | Output only. The environment\'s identifier, which is always \"default\".+eId :: Lens' Environment (Maybe Text)+eId = lens _eId (\ s a -> s{_eId = a})++-- | Output only. Host to which clients can connect to initiate SSH sessions+-- with the environment.+eSSHHost :: Lens' Environment (Maybe Text)+eSSHHost = lens _eSSHHost (\ s a -> s{_eSSHHost = a})++-- | Required. Full path to the Docker image used to run this environment,+-- e.g. \"gcr.io\/dev-con\/cloud-devshell:latest\".+eDockerImage :: Lens' Environment (Maybe Text)+eDockerImage+  = lens _eDockerImage (\ s a -> s{_eDockerImage = a})++-- | Output only. Port to which clients can connect to initiate SSH sessions+-- with the environment.+eSSHPort :: Lens' Environment (Maybe Int32)+eSSHPort+  = lens _eSSHPort (\ s a -> s{_eSSHPort = a}) .+      mapping _Coerce++instance FromJSON Environment where+        parseJSON+          = withObject "Environment"+              (\ o ->+                 Environment' <$>+                   (o .:? "state") <*> (o .:? "publicKeys" .!= mempty)+                     <*> (o .:? "sshUsername")+                     <*> (o .:? "name")+                     <*> (o .:? "id")+                     <*> (o .:? "sshHost")+                     <*> (o .:? "dockerImage")+                     <*> (o .:? "sshPort"))++instance ToJSON Environment where+        toJSON Environment'{..}+          = object+              (catMaybes+                 [("state" .=) <$> _eState,+                  ("publicKeys" .=) <$> _ePublicKeys,+                  ("sshUsername" .=) <$> _eSSHUsername,+                  ("name" .=) <$> _eName, ("id" .=) <$> _eId,+                  ("sshHost" .=) <$> _eSSHHost,+                  ("dockerImage" .=) <$> _eDockerImage,+                  ("sshPort" .=) <$> _eSSHPort])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | A public SSH key, corresponding to a private SSH key held by the client.+--+-- /See:/ 'publicKey' smart constructor.+data PublicKey = PublicKey'+    { _pkFormat :: !(Maybe PublicKeyFormat)+    , _pkKey    :: !(Maybe Bytes)+    , _pkName   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PublicKey' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pkFormat'+--+-- * 'pkKey'+--+-- * 'pkName'+publicKey+    :: PublicKey+publicKey =+    PublicKey'+    { _pkFormat = Nothing+    , _pkKey = Nothing+    , _pkName = Nothing+    }++-- | Required. Format of this key\'s content.+pkFormat :: Lens' PublicKey (Maybe PublicKeyFormat)+pkFormat = lens _pkFormat (\ s a -> s{_pkFormat = a})++-- | Required. Content of this key.+pkKey :: Lens' PublicKey (Maybe ByteString)+pkKey+  = lens _pkKey (\ s a -> s{_pkKey = a}) .+      mapping _Bytes++-- | Output only. Full name of this resource, in the format+-- \`users\/{owner_email}\/environments\/{environment_id}\/publicKeys\/{key_id}\`.+-- \`{owner_email}\` is the email address of the user to whom the key+-- belongs. \`{environment_id}\` is the identifier of the environment to+-- which the key grants access. \`{key_id}\` is the unique identifier of+-- the key. For example,+-- \`users\/someone\'example.com\/environments\/default\/publicKeys\/myKey\`.+pkName :: Lens' PublicKey (Maybe Text)+pkName = lens _pkName (\ s a -> s{_pkName = a})++instance FromJSON PublicKey where+        parseJSON+          = withObject "PublicKey"+              (\ o ->+                 PublicKey' <$>+                   (o .:? "format") <*> (o .:? "key") <*>+                     (o .:? "name"))++instance ToJSON PublicKey where+        toJSON PublicKey'{..}+          = object+              (catMaybes+                 [("format" .=) <$> _pkFormat, ("key" .=) <$> _pkKey,+                  ("name" .=) <$> _pkName])++-- | Message included in the metadata field of operations returned from+-- StartEnvironment.+--+-- /See:/ 'startEnvironmentMetadata' smart constructor.+newtype StartEnvironmentMetadata = StartEnvironmentMetadata'+    { _semState :: Maybe StartEnvironmentMetadataState+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartEnvironmentMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'semState'+startEnvironmentMetadata+    :: StartEnvironmentMetadata+startEnvironmentMetadata =+    StartEnvironmentMetadata'+    { _semState = Nothing+    }++-- | Current state of the environment being started.+semState :: Lens' StartEnvironmentMetadata (Maybe StartEnvironmentMetadataState)+semState = lens _semState (\ s a -> s{_semState = a})++instance FromJSON StartEnvironmentMetadata where+        parseJSON+          = withObject "StartEnvironmentMetadata"+              (\ o ->+                 StartEnvironmentMetadata' <$> (o .:? "state"))++instance ToJSON StartEnvironmentMetadata where+        toJSON StartEnvironmentMetadata'{..}+          = object (catMaybes [("state" .=) <$> _semState])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationMetadata' smart constructor.+newtype OperationMetadata = OperationMetadata'+    { _omAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omAddtional'+operationMetadata+    :: HashMap Text JSONValue -- ^ 'omAddtional'+    -> OperationMetadata+operationMetadata pOmAddtional_ =+    OperationMetadata'+    { _omAddtional = _Coerce # pOmAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)+omAddtional+  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .+      _Coerce++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o -> OperationMetadata' <$> (parseJSONObject o))++instance ToJSON OperationMetadata where+        toJSON = toJSON . _omAddtional++-- | Message included in the response field of operations returned from+-- StartEnvironment once the operation is complete.+--+-- /See:/ 'startEnvironmentResponse' smart constructor.+newtype StartEnvironmentResponse = StartEnvironmentResponse'+    { _serEnvironment :: Maybe Environment+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartEnvironmentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'serEnvironment'+startEnvironmentResponse+    :: StartEnvironmentResponse+startEnvironmentResponse =+    StartEnvironmentResponse'+    { _serEnvironment = Nothing+    }++-- | Environment that was started.+serEnvironment :: Lens' StartEnvironmentResponse (Maybe Environment)+serEnvironment+  = lens _serEnvironment+      (\ s a -> s{_serEnvironment = a})++instance FromJSON StartEnvironmentResponse where+        parseJSON+          = withObject "StartEnvironmentResponse"+              (\ o ->+                 StartEnvironmentResponse' <$> (o .:? "environment"))++instance ToJSON StartEnvironmentResponse where+        toJSON StartEnvironmentResponse'{..}+          = object+              (catMaybes [("environment" .=) <$> _serEnvironment])++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse'+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional
+ gen/Network/Google/CloudShell/Types/Sum.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudShell.Types.Sum+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CloudShell.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | Current state of the environment being started.+data StartEnvironmentMetadataState+    = StateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- The environment\'s start state is unknown.+    | Starting+      -- ^ @STARTING@+      -- The environment is in the process of being started, but no additional+      -- details are available.+    | UnarchivingDisk+      -- ^ @UNARCHIVING_DISK@+      -- Startup is waiting for the user\'s disk to be unarchived. This can+      -- happen when the user returns to Cloud Shell after not having used it for+      -- a while, and suggests that startup will take longer than normal.+    | Finished+      -- ^ @FINISHED@+      -- Startup is complete and the user should be able to establish an SSH+      -- connection to their environment.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable StartEnvironmentMetadataState++instance FromHttpApiData StartEnvironmentMetadataState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right StateUnspecified+        "STARTING" -> Right Starting+        "UNARCHIVING_DISK" -> Right UnarchivingDisk+        "FINISHED" -> Right Finished+        x -> Left ("Unable to parse StartEnvironmentMetadataState from: " <> x)++instance ToHttpApiData StartEnvironmentMetadataState where+    toQueryParam = \case+        StateUnspecified -> "STATE_UNSPECIFIED"+        Starting -> "STARTING"+        UnarchivingDisk -> "UNARCHIVING_DISK"+        Finished -> "FINISHED"++instance FromJSON StartEnvironmentMetadataState where+    parseJSON = parseJSONText "StartEnvironmentMetadataState"++instance ToJSON StartEnvironmentMetadataState where+    toJSON = toJSONText++-- | Output only. Current execution state of this environment.+data EnvironmentState+    = ESStateUnspecified+      -- ^ @STATE_UNSPECIFIED@+      -- The environment\'s states is unknown.+    | ESDisabled+      -- ^ @DISABLED@+      -- The environment is not running and can\'t be connected to. Starting the+      -- environment will transition it to the STARTING state.+    | ESStarting+      -- ^ @STARTING@+      -- The environment is being started but is not yet ready to accept+      -- connections.+    | ESRunning+      -- ^ @RUNNING@+      -- The environment is running and ready to accept connections. It will+      -- automatically transition back to DISABLED after a period of inactivity+      -- or if another environment is started.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable EnvironmentState++instance FromHttpApiData EnvironmentState where+    parseQueryParam = \case+        "STATE_UNSPECIFIED" -> Right ESStateUnspecified+        "DISABLED" -> Right ESDisabled+        "STARTING" -> Right ESStarting+        "RUNNING" -> Right ESRunning+        x -> Left ("Unable to parse EnvironmentState from: " <> x)++instance ToHttpApiData EnvironmentState where+    toQueryParam = \case+        ESStateUnspecified -> "STATE_UNSPECIFIED"+        ESDisabled -> "DISABLED"+        ESStarting -> "STARTING"+        ESRunning -> "RUNNING"++instance FromJSON EnvironmentState where+    parseJSON = parseJSONText "EnvironmentState"++instance ToJSON EnvironmentState where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText++-- | Required. Format of this key\'s content.+data PublicKeyFormat+    = FormatUnspecified+      -- ^ @FORMAT_UNSPECIFIED@+      -- Unknown format. Do not use.+    | SSHDss+      -- ^ @SSH_DSS@+      -- \`ssh-dss\` key format (see RFC4253).+    | SSHRsa+      -- ^ @SSH_RSA@+      -- \`ssh-rsa\` key format (see RFC4253).+    | EcdsaSHA2NISTP256+      -- ^ @ECDSA_SHA2_NISTP256@+      -- \`ecdsa-sha2-nistp256\` key format (see RFC5656).+    | EcdsaSHA2NISTP384+      -- ^ @ECDSA_SHA2_NISTP384@+      -- \`ecdsa-sha2-nistp384\` key format (see RFC5656).+    | EcdsaSHA2NISTP521+      -- ^ @ECDSA_SHA2_NISTP521@+      -- \`ecdsa-sha2-nistp521\` key format (see RFC5656).+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PublicKeyFormat++instance FromHttpApiData PublicKeyFormat where+    parseQueryParam = \case+        "FORMAT_UNSPECIFIED" -> Right FormatUnspecified+        "SSH_DSS" -> Right SSHDss+        "SSH_RSA" -> Right SSHRsa+        "ECDSA_SHA2_NISTP256" -> Right EcdsaSHA2NISTP256+        "ECDSA_SHA2_NISTP384" -> Right EcdsaSHA2NISTP384+        "ECDSA_SHA2_NISTP521" -> Right EcdsaSHA2NISTP521+        x -> Left ("Unable to parse PublicKeyFormat from: " <> x)++instance ToHttpApiData PublicKeyFormat where+    toQueryParam = \case+        FormatUnspecified -> "FORMAT_UNSPECIFIED"+        SSHDss -> "SSH_DSS"+        SSHRsa -> "SSH_RSA"+        EcdsaSHA2NISTP256 -> "ECDSA_SHA2_NISTP256"+        EcdsaSHA2NISTP384 -> "ECDSA_SHA2_NISTP384"+        EcdsaSHA2NISTP521 -> "ECDSA_SHA2_NISTP521"++instance FromJSON PublicKeyFormat where+    parseJSON = parseJSONText "PublicKeyFormat"++instance ToJSON PublicKeyFormat where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudShell/Operations/Cancel.hs view
@@ -0,0 +1,173 @@+{-# 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.CloudShell.Operations.Cancel+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use+-- Operations.GetOperation or other methods to check whether the+-- cancellation succeeded or whether the operation completed despite+-- cancellation. On successful cancellation, the operation is not deleted;+-- instead, it becomes an operation with an Operation.error value with a+-- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.+--+-- /See:/ <https://cloud.google.com/shell/docs/ Cloud Shell API Reference> for @cloudshell.operations.cancel@.+module Network.Google.Resource.CloudShell.Operations.Cancel+    (+    -- * REST Resource+      OperationsCancelResource++    -- * Creating a Request+    , operationsCancel+    , OperationsCancel++    -- * Request Lenses+    , ocXgafv+    , ocUploadProtocol+    , ocAccessToken+    , ocUploadType+    , ocPayload+    , ocName+    , ocCallback+    ) where++import           Network.Google.CloudShell.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudshell.operations.cancel@ method which the+-- 'OperationsCancel' request conforms to.+type OperationsCancelResource =+     "v1" :>+       CaptureMode "name" "cancel" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :>+                     ReqBody '[JSON] CancelOperationRequest :>+                       Post '[JSON] Empty++-- | Starts asynchronous cancellation on a long-running operation. The server+-- makes a best effort to cancel the operation, but success is not+-- guaranteed. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`. Clients can use+-- Operations.GetOperation or other methods to check whether the+-- cancellation succeeded or whether the operation completed despite+-- cancellation. On successful cancellation, the operation is not deleted;+-- instead, it becomes an operation with an Operation.error value with a+-- google.rpc.Status.code of 1, corresponding to \`Code.CANCELLED\`.+--+-- /See:/ 'operationsCancel' smart constructor.+data OperationsCancel = OperationsCancel'+    { _ocXgafv          :: !(Maybe Xgafv)+    , _ocUploadProtocol :: !(Maybe Text)+    , _ocAccessToken    :: !(Maybe Text)+    , _ocUploadType     :: !(Maybe Text)+    , _ocPayload        :: !CancelOperationRequest+    , _ocName           :: !Text+    , _ocCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsCancel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ocXgafv'+--+-- * 'ocUploadProtocol'+--+-- * 'ocAccessToken'+--+-- * 'ocUploadType'+--+-- * 'ocPayload'+--+-- * 'ocName'+--+-- * 'ocCallback'+operationsCancel+    :: CancelOperationRequest -- ^ 'ocPayload'+    -> Text -- ^ 'ocName'+    -> OperationsCancel+operationsCancel pOcPayload_ pOcName_ =+    OperationsCancel'+    { _ocXgafv = Nothing+    , _ocUploadProtocol = Nothing+    , _ocAccessToken = Nothing+    , _ocUploadType = Nothing+    , _ocPayload = pOcPayload_+    , _ocName = pOcName_+    , _ocCallback = Nothing+    }++-- | V1 error format.+ocXgafv :: Lens' OperationsCancel (Maybe Xgafv)+ocXgafv = lens _ocXgafv (\ s a -> s{_ocXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ocUploadProtocol :: Lens' OperationsCancel (Maybe Text)+ocUploadProtocol+  = lens _ocUploadProtocol+      (\ s a -> s{_ocUploadProtocol = a})++-- | OAuth access token.+ocAccessToken :: Lens' OperationsCancel (Maybe Text)+ocAccessToken+  = lens _ocAccessToken+      (\ s a -> s{_ocAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ocUploadType :: Lens' OperationsCancel (Maybe Text)+ocUploadType+  = lens _ocUploadType (\ s a -> s{_ocUploadType = a})++-- | Multipart request metadata.+ocPayload :: Lens' OperationsCancel CancelOperationRequest+ocPayload+  = lens _ocPayload (\ s a -> s{_ocPayload = a})++-- | The name of the operation resource to be cancelled.+ocName :: Lens' OperationsCancel Text+ocName = lens _ocName (\ s a -> s{_ocName = a})++-- | JSONP+ocCallback :: Lens' OperationsCancel (Maybe Text)+ocCallback+  = lens _ocCallback (\ s a -> s{_ocCallback = a})++instance GoogleRequest OperationsCancel where+        type Rs OperationsCancel = Empty+        type Scopes OperationsCancel =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsCancel'{..}+          = go _ocName _ocXgafv _ocUploadProtocol+              _ocAccessToken+              _ocUploadType+              _ocCallback+              (Just AltJSON)+              _ocPayload+              cloudShellService+          where go+                  = buildClient+                      (Proxy :: Proxy OperationsCancelResource)+                      mempty
+ gen/Network/Google/Resource/CloudShell/Operations/Delete.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudShell.Operations.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ <https://cloud.google.com/shell/docs/ Cloud Shell API Reference> for @cloudshell.operations.delete@.+module Network.Google.Resource.CloudShell.Operations.Delete+    (+    -- * REST Resource+      OperationsDeleteResource++    -- * Creating a Request+    , operationsDelete+    , OperationsDelete++    -- * Request Lenses+    , odXgafv+    , odUploadProtocol+    , odAccessToken+    , odUploadType+    , odName+    , odCallback+    ) where++import           Network.Google.CloudShell.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudshell.operations.delete@ method which the+-- 'OperationsDelete' request conforms to.+type OperationsDeleteResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes a long-running operation. This method indicates that the client+-- is no longer interested in the operation result. It does not cancel the+-- operation. If the server doesn\'t support this method, it returns+-- \`google.rpc.Code.UNIMPLEMENTED\`.+--+-- /See:/ 'operationsDelete' smart constructor.+data OperationsDelete = OperationsDelete'+    { _odXgafv          :: !(Maybe Xgafv)+    , _odUploadProtocol :: !(Maybe Text)+    , _odAccessToken    :: !(Maybe Text)+    , _odUploadType     :: !(Maybe Text)+    , _odName           :: !Text+    , _odCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odXgafv'+--+-- * 'odUploadProtocol'+--+-- * 'odAccessToken'+--+-- * 'odUploadType'+--+-- * 'odName'+--+-- * 'odCallback'+operationsDelete+    :: Text -- ^ 'odName'+    -> OperationsDelete+operationsDelete pOdName_ =+    OperationsDelete'+    { _odXgafv = Nothing+    , _odUploadProtocol = Nothing+    , _odAccessToken = Nothing+    , _odUploadType = Nothing+    , _odName = pOdName_+    , _odCallback = Nothing+    }++-- | V1 error format.+odXgafv :: Lens' OperationsDelete (Maybe Xgafv)+odXgafv = lens _odXgafv (\ s a -> s{_odXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+odUploadProtocol :: Lens' OperationsDelete (Maybe Text)+odUploadProtocol+  = lens _odUploadProtocol+      (\ s a -> s{_odUploadProtocol = a})++-- | OAuth access token.+odAccessToken :: Lens' OperationsDelete (Maybe Text)+odAccessToken+  = lens _odAccessToken+      (\ s a -> s{_odAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+odUploadType :: Lens' OperationsDelete (Maybe Text)+odUploadType+  = lens _odUploadType (\ s a -> s{_odUploadType = a})++-- | The name of the operation resource to be deleted.+odName :: Lens' OperationsDelete Text+odName = lens _odName (\ s a -> s{_odName = a})++-- | JSONP+odCallback :: Lens' OperationsDelete (Maybe Text)+odCallback+  = lens _odCallback (\ s a -> s{_odCallback = a})++instance GoogleRequest OperationsDelete where+        type Rs OperationsDelete = Empty+        type Scopes OperationsDelete =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsDelete'{..}+          = go _odName _odXgafv _odUploadProtocol+              _odAccessToken+              _odUploadType+              _odCallback+              (Just AltJSON)+              cloudShellService+          where go+                  = buildClient+                      (Proxy :: Proxy OperationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudShell/Operations/Get.hs view
@@ -0,0 +1,146 @@+{-# 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.CloudShell.Operations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://cloud.google.com/shell/docs/ Cloud Shell API Reference> for @cloudshell.operations.get@.+module Network.Google.Resource.CloudShell.Operations.Get+    (+    -- * REST Resource+      OperationsGetResource++    -- * Creating a Request+    , operationsGet+    , OperationsGet++    -- * Request Lenses+    , ogXgafv+    , ogUploadProtocol+    , ogAccessToken+    , ogUploadType+    , ogName+    , ogCallback+    ) where++import           Network.Google.CloudShell.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudshell.operations.get@ method which the+-- 'OperationsGet' request conforms to.+type OperationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'operationsGet' smart constructor.+data OperationsGet = OperationsGet'+    { _ogXgafv          :: !(Maybe Xgafv)+    , _ogUploadProtocol :: !(Maybe Text)+    , _ogAccessToken    :: !(Maybe Text)+    , _ogUploadType     :: !(Maybe Text)+    , _ogName           :: !Text+    , _ogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ogXgafv'+--+-- * 'ogUploadProtocol'+--+-- * 'ogAccessToken'+--+-- * 'ogUploadType'+--+-- * 'ogName'+--+-- * 'ogCallback'+operationsGet+    :: Text -- ^ 'ogName'+    -> OperationsGet+operationsGet pOgName_ =+    OperationsGet'+    { _ogXgafv = Nothing+    , _ogUploadProtocol = Nothing+    , _ogAccessToken = Nothing+    , _ogUploadType = Nothing+    , _ogName = pOgName_+    , _ogCallback = Nothing+    }++-- | V1 error format.+ogXgafv :: Lens' OperationsGet (Maybe Xgafv)+ogXgafv = lens _ogXgafv (\ s a -> s{_ogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ogUploadProtocol :: Lens' OperationsGet (Maybe Text)+ogUploadProtocol+  = lens _ogUploadProtocol+      (\ s a -> s{_ogUploadProtocol = a})++-- | OAuth access token.+ogAccessToken :: Lens' OperationsGet (Maybe Text)+ogAccessToken+  = lens _ogAccessToken+      (\ s a -> s{_ogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ogUploadType :: Lens' OperationsGet (Maybe Text)+ogUploadType+  = lens _ogUploadType (\ s a -> s{_ogUploadType = a})++-- | The name of the operation resource.+ogName :: Lens' OperationsGet Text+ogName = lens _ogName (\ s a -> s{_ogName = a})++-- | JSONP+ogCallback :: Lens' OperationsGet (Maybe Text)+ogCallback+  = lens _ogCallback (\ s a -> s{_ogCallback = a})++instance GoogleRequest OperationsGet where+        type Rs OperationsGet = Operation+        type Scopes OperationsGet =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsGet'{..}+          = go _ogName _ogXgafv _ogUploadProtocol+              _ogAccessToken+              _ogUploadType+              _ogCallback+              (Just AltJSON)+              cloudShellService+          where go+                  = buildClient (Proxy :: Proxy OperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudShell/Operations/List.hs view
@@ -0,0 +1,197 @@+{-# 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.CloudShell.Operations.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ <https://cloud.google.com/shell/docs/ Cloud Shell API Reference> for @cloudshell.operations.list@.+module Network.Google.Resource.CloudShell.Operations.List+    (+    -- * REST Resource+      OperationsListResource++    -- * Creating a Request+    , operationsList+    , OperationsList++    -- * Request Lenses+    , olXgafv+    , olUploadProtocol+    , olAccessToken+    , olUploadType+    , olName+    , olFilter+    , olPageToken+    , olPageSize+    , olCallback+    ) where++import           Network.Google.CloudShell.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudshell.operations.list@ method which the+-- 'OperationsList' request conforms to.+type OperationsListResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "filter" Text :>+                   QueryParam "pageToken" Text :>+                     QueryParam "pageSize" (Textual Int32) :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           Get '[JSON] ListOperationsResponse++-- | Lists operations that match the specified filter in the request. If the+-- server doesn\'t support this method, it returns \`UNIMPLEMENTED\`. NOTE:+-- the \`name\` binding allows API services to override the binding to use+-- different resource name schemes, such as \`users\/*\/operations\`. To+-- override the binding, API services can add a binding such as+-- \`\"\/v1\/{name=users\/*}\/operations\"\` to their service+-- configuration. For backwards compatibility, the default name includes+-- the operations collection id, however overriding users must ensure the+-- name binding is the parent resource, without the operations collection+-- id.+--+-- /See:/ 'operationsList' smart constructor.+data OperationsList = OperationsList'+    { _olXgafv          :: !(Maybe Xgafv)+    , _olUploadProtocol :: !(Maybe Text)+    , _olAccessToken    :: !(Maybe Text)+    , _olUploadType     :: !(Maybe Text)+    , _olName           :: !Text+    , _olFilter         :: !(Maybe Text)+    , _olPageToken      :: !(Maybe Text)+    , _olPageSize       :: !(Maybe (Textual Int32))+    , _olCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'olXgafv'+--+-- * 'olUploadProtocol'+--+-- * 'olAccessToken'+--+-- * 'olUploadType'+--+-- * 'olName'+--+-- * 'olFilter'+--+-- * 'olPageToken'+--+-- * 'olPageSize'+--+-- * 'olCallback'+operationsList+    :: Text -- ^ 'olName'+    -> OperationsList+operationsList pOlName_ =+    OperationsList'+    { _olXgafv = Nothing+    , _olUploadProtocol = Nothing+    , _olAccessToken = Nothing+    , _olUploadType = Nothing+    , _olName = pOlName_+    , _olFilter = Nothing+    , _olPageToken = Nothing+    , _olPageSize = Nothing+    , _olCallback = Nothing+    }++-- | V1 error format.+olXgafv :: Lens' OperationsList (Maybe Xgafv)+olXgafv = lens _olXgafv (\ s a -> s{_olXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+olUploadProtocol :: Lens' OperationsList (Maybe Text)+olUploadProtocol+  = lens _olUploadProtocol+      (\ s a -> s{_olUploadProtocol = a})++-- | OAuth access token.+olAccessToken :: Lens' OperationsList (Maybe Text)+olAccessToken+  = lens _olAccessToken+      (\ s a -> s{_olAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+olUploadType :: Lens' OperationsList (Maybe Text)+olUploadType+  = lens _olUploadType (\ s a -> s{_olUploadType = a})++-- | The name of the operation\'s parent resource.+olName :: Lens' OperationsList Text+olName = lens _olName (\ s a -> s{_olName = a})++-- | The standard list filter.+olFilter :: Lens' OperationsList (Maybe Text)+olFilter = lens _olFilter (\ s a -> s{_olFilter = a})++-- | The standard list page token.+olPageToken :: Lens' OperationsList (Maybe Text)+olPageToken+  = lens _olPageToken (\ s a -> s{_olPageToken = a})++-- | The standard list page size.+olPageSize :: Lens' OperationsList (Maybe Int32)+olPageSize+  = lens _olPageSize (\ s a -> s{_olPageSize = a}) .+      mapping _Coerce++-- | JSONP+olCallback :: Lens' OperationsList (Maybe Text)+olCallback+  = lens _olCallback (\ s a -> s{_olCallback = a})++instance GoogleRequest OperationsList where+        type Rs OperationsList = ListOperationsResponse+        type Scopes OperationsList =+             '["https://www.googleapis.com/auth/cloud-platform"]+        requestClient OperationsList'{..}+          = go _olName _olXgafv _olUploadProtocol+              _olAccessToken+              _olUploadType+              _olFilter+              _olPageToken+              _olPageSize+              _olCallback+              (Just AltJSON)+              cloudShellService+          where go+                  = buildClient (Proxy :: Proxy OperationsListResource)+                      mempty
+ gogol-cloudshell.cabal view
@@ -0,0 +1,50 @@+name:                  gogol-cloudshell+version:               0.4.0+synopsis:              Google Cloud Shell SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:+    Allows users to start, configure, and connect to interactive shell+    sessions running in the cloud.+    .+    /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.CloudShell+        , Network.Google.CloudShell.Types+        , Network.Google.Resource.CloudShell.Operations.Cancel+        , Network.Google.Resource.CloudShell.Operations.Delete+        , Network.Google.Resource.CloudShell.Operations.Get+        , Network.Google.Resource.CloudShell.Operations.List++    other-modules:+          Network.Google.CloudShell.Types.Product+        , Network.Google.CloudShell.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view