packages feed

gogol-cloudprofiler (empty) → 0.4.0

raw patch · 12 files changed

+1606/−0 lines, 12 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-cloudprofiler++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Stackdriver Profiler.+++## 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-cloudprofiler` 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/CloudProFiler.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.CloudProFiler+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Manages continuous profiling information.+--+-- /See:/ <https://cloud.google.com/profiler/ Stackdriver Profiler API Reference>+module Network.Google.CloudProFiler+    (+    -- * Service Configuration+      cloudProfilerService++    -- * OAuth Scopes+    , cloudPlatformScope+    , monitoringScope+    , monitoringWriteScope++    -- * API Declaration+    , CloudProfilerAPI++    -- * Resources++    -- ** cloudprofiler.projects.profiles.create+    , module Network.Google.Resource.CloudProFiler.Projects.ProFiles.Create++    -- ** cloudprofiler.projects.profiles.createOffline+    , module Network.Google.Resource.CloudProFiler.Projects.ProFiles.CreateOffline++    -- ** cloudprofiler.projects.profiles.patch+    , module Network.Google.Resource.CloudProFiler.Projects.ProFiles.Patch++    -- * Types++    -- ** DeploymentLabels+    , DeploymentLabels+    , deploymentLabels+    , dlAddtional++    -- ** ProFileProFileType+    , ProFileProFileType (..)++    -- ** ProFile+    , ProFile+    , proFile+    , pfProFileBytes+    , pfName+    , pfLabels+    , pfProFileType+    , pfDuration+    , pfDeployment++    -- ** CreateProFileRequest+    , CreateProFileRequest+    , createProFileRequest+    , cpfrProFileType+    , cpfrDeployment++    -- ** ProFileLabels+    , ProFileLabels+    , proFileLabels+    , pflAddtional++    -- ** Xgafv+    , Xgafv (..)++    -- ** Deployment+    , Deployment+    , deployment+    , dLabels+    , dProjectId+    , dTarget+    ) where++import           Network.Google.CloudProFiler.Types+import           Network.Google.Prelude+import           Network.Google.Resource.CloudProFiler.Projects.ProFiles.Create+import           Network.Google.Resource.CloudProFiler.Projects.ProFiles.CreateOffline+import           Network.Google.Resource.CloudProFiler.Projects.ProFiles.Patch++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Stackdriver Profiler API service.+type CloudProfilerAPI =+     ProjectsProFilesPatchResource :<|>+       ProjectsProFilesCreateResource+       :<|> ProjectsProFilesCreateOfflineResource
+ gen/Network/Google/CloudProFiler/Types.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudProFiler.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.CloudProFiler.Types+    (+    -- * Service Configuration+      cloudProfilerService++    -- * OAuth Scopes+    , cloudPlatformScope+    , monitoringScope+    , monitoringWriteScope++    -- * DeploymentLabels+    , DeploymentLabels+    , deploymentLabels+    , dlAddtional++    -- * ProFileProFileType+    , ProFileProFileType (..)++    -- * ProFile+    , ProFile+    , proFile+    , pfProFileBytes+    , pfName+    , pfLabels+    , pfProFileType+    , pfDuration+    , pfDeployment++    -- * CreateProFileRequest+    , CreateProFileRequest+    , createProFileRequest+    , cpfrProFileType+    , cpfrDeployment++    -- * ProFileLabels+    , ProFileLabels+    , proFileLabels+    , pflAddtional++    -- * Xgafv+    , Xgafv (..)++    -- * Deployment+    , Deployment+    , deployment+    , dLabels+    , dProjectId+    , dTarget+    ) where++import           Network.Google.CloudProFiler.Types.Product+import           Network.Google.CloudProFiler.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v2' of the Stackdriver Profiler API. This contains the host and root path used as a starting point for constructing service requests.+cloudProfilerService :: ServiceConfig+cloudProfilerService+  = defaultService (ServiceId "cloudprofiler:v2")+      "cloudprofiler.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;++-- | View and write monitoring data for all of your Google and third-party+-- Cloud and API projects+monitoringScope :: Proxy '["https://www.googleapis.com/auth/monitoring"]+monitoringScope = Proxy;++-- | Publish metric data to your Google Cloud projects+monitoringWriteScope :: Proxy '["https://www.googleapis.com/auth/monitoring.write"]+monitoringWriteScope = Proxy;
+ gen/Network/Google/CloudProFiler/Types/Product.hs view
@@ -0,0 +1,328 @@+{-# 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.CloudProFiler.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.CloudProFiler.Types.Product where++import           Network.Google.CloudProFiler.Types.Sum+import           Network.Google.Prelude++-- | Labels identify the deployment within the user universe and same target.+-- Validation regex for label names:+-- \`^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$\`. Value for an individual label+-- must be \<= 512 bytes, the total size of all label names and values must+-- be \<= 1024 bytes. Label named \"language\" can be used to record the+-- programming language of the profiled deployment. The standard choices+-- for the value include \"java\", \"go\", \"python\", \"ruby\",+-- \"nodejs\", \"php\", \"dotnet\". For deployments running on Google Cloud+-- Platform, \"zone\" or \"region\" label should be present describing the+-- deployment location. An example of a zone is \"us-central1-a\", an+-- example of a region is \"us-central1\" or \"us-central\".+--+-- /See:/ 'deploymentLabels' smart constructor.+newtype DeploymentLabels = DeploymentLabels'+    { _dlAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeploymentLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlAddtional'+deploymentLabels+    :: HashMap Text Text -- ^ 'dlAddtional'+    -> DeploymentLabels+deploymentLabels pDlAddtional_ =+    DeploymentLabels'+    { _dlAddtional = _Coerce # pDlAddtional_+    }++dlAddtional :: Lens' DeploymentLabels (HashMap Text Text)+dlAddtional+  = lens _dlAddtional (\ s a -> s{_dlAddtional = a}) .+      _Coerce++instance FromJSON DeploymentLabels where+        parseJSON+          = withObject "DeploymentLabels"+              (\ o -> DeploymentLabels' <$> (parseJSONObject o))++instance ToJSON DeploymentLabels where+        toJSON = toJSON . _dlAddtional++-- | Profile resource.+--+-- /See:/ 'proFile' smart constructor.+data ProFile = ProFile'+    { _pfProFileBytes :: !(Maybe Bytes)+    , _pfName         :: !(Maybe Text)+    , _pfLabels       :: !(Maybe ProFileLabels)+    , _pfProFileType  :: !(Maybe ProFileProFileType)+    , _pfDuration     :: !(Maybe GDuration)+    , _pfDeployment   :: !(Maybe Deployment)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfProFileBytes'+--+-- * 'pfName'+--+-- * 'pfLabels'+--+-- * 'pfProFileType'+--+-- * 'pfDuration'+--+-- * 'pfDeployment'+proFile+    :: ProFile+proFile =+    ProFile'+    { _pfProFileBytes = Nothing+    , _pfName = Nothing+    , _pfLabels = Nothing+    , _pfProFileType = Nothing+    , _pfDuration = Nothing+    , _pfDeployment = Nothing+    }++-- | Input only. Profile bytes, as a gzip compressed serialized proto, the+-- format is+-- https:\/\/github.com\/google\/pprof\/blob\/master\/proto\/profile.proto.+pfProFileBytes :: Lens' ProFile (Maybe ByteString)+pfProFileBytes+  = lens _pfProFileBytes+      (\ s a -> s{_pfProFileBytes = a})+      . mapping _Bytes++-- | Output only. Opaque, server-assigned, unique ID for this profile.+pfName :: Lens' ProFile (Maybe Text)+pfName = lens _pfName (\ s a -> s{_pfName = a})++-- | Input only. Labels associated to this specific profile. These labels+-- will get merged with the deployment labels for the final data set. See+-- documentation on deployment labels for validation rules and limits.+pfLabels :: Lens' ProFile (Maybe ProFileLabels)+pfLabels = lens _pfLabels (\ s a -> s{_pfLabels = a})++-- | Type of profile. For offline mode, this must be specified when creating+-- the profile. For online mode it is assigned and returned by the server.+pfProFileType :: Lens' ProFile (Maybe ProFileProFileType)+pfProFileType+  = lens _pfProFileType+      (\ s a -> s{_pfProFileType = a})++-- | Duration of the profiling session. Input (for the offline mode) or+-- output (for the online mode). The field represents requested profiling+-- duration. It may slightly differ from the effective profiling duration,+-- which is recorded in the profile data, in case the profiling can\'t be+-- stopped immediately (e.g. in case stopping the profiling is handled+-- asynchronously).+pfDuration :: Lens' ProFile (Maybe Scientific)+pfDuration+  = lens _pfDuration (\ s a -> s{_pfDuration = a}) .+      mapping _GDuration++-- | Deployment this profile corresponds to.+pfDeployment :: Lens' ProFile (Maybe Deployment)+pfDeployment+  = lens _pfDeployment (\ s a -> s{_pfDeployment = a})++instance FromJSON ProFile where+        parseJSON+          = withObject "ProFile"+              (\ o ->+                 ProFile' <$>+                   (o .:? "profileBytes") <*> (o .:? "name") <*>+                     (o .:? "labels")+                     <*> (o .:? "profileType")+                     <*> (o .:? "duration")+                     <*> (o .:? "deployment"))++instance ToJSON ProFile where+        toJSON ProFile'{..}+          = object+              (catMaybes+                 [("profileBytes" .=) <$> _pfProFileBytes,+                  ("name" .=) <$> _pfName, ("labels" .=) <$> _pfLabels,+                  ("profileType" .=) <$> _pfProFileType,+                  ("duration" .=) <$> _pfDuration,+                  ("deployment" .=) <$> _pfDeployment])++-- | CreateProfileRequest describes a profile resource online creation+-- request. The deployment field must be populated. The profile_type+-- specifies the list of profile types supported by the agent. The creation+-- call will hang until a profile of one of these types needs to be+-- collected.+--+-- /See:/ 'createProFileRequest' smart constructor.+data CreateProFileRequest = CreateProFileRequest'+    { _cpfrProFileType :: !(Maybe [Text])+    , _cpfrDeployment  :: !(Maybe Deployment)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateProFileRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpfrProFileType'+--+-- * 'cpfrDeployment'+createProFileRequest+    :: CreateProFileRequest+createProFileRequest =+    CreateProFileRequest'+    { _cpfrProFileType = Nothing+    , _cpfrDeployment = Nothing+    }++-- | One or more profile types that the agent is capable of providing.+cpfrProFileType :: Lens' CreateProFileRequest [Text]+cpfrProFileType+  = lens _cpfrProFileType+      (\ s a -> s{_cpfrProFileType = a})+      . _Default+      . _Coerce++-- | Deployment details.+cpfrDeployment :: Lens' CreateProFileRequest (Maybe Deployment)+cpfrDeployment+  = lens _cpfrDeployment+      (\ s a -> s{_cpfrDeployment = a})++instance FromJSON CreateProFileRequest where+        parseJSON+          = withObject "CreateProFileRequest"+              (\ o ->+                 CreateProFileRequest' <$>+                   (o .:? "profileType" .!= mempty) <*>+                     (o .:? "deployment"))++instance ToJSON CreateProFileRequest where+        toJSON CreateProFileRequest'{..}+          = object+              (catMaybes+                 [("profileType" .=) <$> _cpfrProFileType,+                  ("deployment" .=) <$> _cpfrDeployment])++-- | Input only. Labels associated to this specific profile. These labels+-- will get merged with the deployment labels for the final data set. See+-- documentation on deployment labels for validation rules and limits.+--+-- /See:/ 'proFileLabels' smart constructor.+newtype ProFileLabels = ProFileLabels'+    { _pflAddtional :: HashMap Text Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProFileLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pflAddtional'+proFileLabels+    :: HashMap Text Text -- ^ 'pflAddtional'+    -> ProFileLabels+proFileLabels pPflAddtional_ =+    ProFileLabels'+    { _pflAddtional = _Coerce # pPflAddtional_+    }++pflAddtional :: Lens' ProFileLabels (HashMap Text Text)+pflAddtional+  = lens _pflAddtional (\ s a -> s{_pflAddtional = a})+      . _Coerce++instance FromJSON ProFileLabels where+        parseJSON+          = withObject "ProFileLabels"+              (\ o -> ProFileLabels' <$> (parseJSONObject o))++instance ToJSON ProFileLabels where+        toJSON = toJSON . _pflAddtional++-- | Deployment contains the deployment identification information.+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment'+    { _dLabels    :: !(Maybe DeploymentLabels)+    , _dProjectId :: !(Maybe Text)+    , _dTarget    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dLabels'+--+-- * 'dProjectId'+--+-- * 'dTarget'+deployment+    :: Deployment+deployment =+    Deployment'+    { _dLabels = Nothing+    , _dProjectId = Nothing+    , _dTarget = Nothing+    }++-- | Labels identify the deployment within the user universe and same target.+-- Validation regex for label names:+-- \`^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$\`. Value for an individual label+-- must be \<= 512 bytes, the total size of all label names and values must+-- be \<= 1024 bytes. Label named \"language\" can be used to record the+-- programming language of the profiled deployment. The standard choices+-- for the value include \"java\", \"go\", \"python\", \"ruby\",+-- \"nodejs\", \"php\", \"dotnet\". For deployments running on Google Cloud+-- Platform, \"zone\" or \"region\" label should be present describing the+-- deployment location. An example of a zone is \"us-central1-a\", an+-- example of a region is \"us-central1\" or \"us-central\".+dLabels :: Lens' Deployment (Maybe DeploymentLabels)+dLabels = lens _dLabels (\ s a -> s{_dLabels = a})++-- | Project ID is the ID of a cloud project. Validation regex:+-- \`^a-z{4,61}[a-z0-9]$\`.+dProjectId :: Lens' Deployment (Maybe Text)+dProjectId+  = lens _dProjectId (\ s a -> s{_dProjectId = a})++-- | Target is the service name used to group related deployments: * Service+-- name for GAE Flex \/ Standard. * Cluster and container name for GKE. *+-- User-specified string for direct GCE profiling (e.g. Java). * Job name+-- for Dataflow. Validation regex:+-- \`^[a-z]([-a-z0-9_.]{0,253}[a-z0-9])?$\`.+dTarget :: Lens' Deployment (Maybe Text)+dTarget = lens _dTarget (\ s a -> s{_dTarget = a})++instance FromJSON Deployment where+        parseJSON+          = withObject "Deployment"+              (\ o ->+                 Deployment' <$>+                   (o .:? "labels") <*> (o .:? "projectId") <*>+                     (o .:? "target"))++instance ToJSON Deployment where+        toJSON Deployment'{..}+          = object+              (catMaybes+                 [("labels" .=) <$> _dLabels,+                  ("projectId" .=) <$> _dProjectId,+                  ("target" .=) <$> _dTarget])
+ gen/Network/Google/CloudProFiler/Types/Sum.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudProFiler.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.CloudProFiler.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++-- | Type of profile. For offline mode, this must be specified when creating+-- the profile. For online mode it is assigned and returned by the server.+data ProFileProFileType+    = ProFileTypeUnspecified+      -- ^ @PROFILE_TYPE_UNSPECIFIED@+      -- Unspecified profile type.+    | CPU+      -- ^ @CPU@+      -- Thread CPU time sampling.+    | Wall+      -- ^ @WALL@+      -- Wallclock time sampling. More expensive as stops all threads.+    | Heap+      -- ^ @HEAP@+      -- In-use heap profile. Represents a snapshot of the allocations that are+      -- live at the time of the profiling.+    | Threads+      -- ^ @THREADS@+      -- Single-shot collection of all thread stacks.+    | Contention+      -- ^ @CONTENTION@+      -- Synchronization contention profile.+    | PeakHeap+      -- ^ @PEAK_HEAP@+      -- Peak heap profile.+    | HeapAlloc+      -- ^ @HEAP_ALLOC@+      -- Heap allocation profile. It represents the aggregation of all+      -- allocations made over the duration of the profile. All allocations are+      -- included, including those that might have been freed by the end of the+      -- profiling interval. The profile is in particular useful for garbage+      -- collecting languages to understand which parts of the code create most+      -- of the garbage collection pressure to see if those can be optimized.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ProFileProFileType++instance FromHttpApiData ProFileProFileType where+    parseQueryParam = \case+        "PROFILE_TYPE_UNSPECIFIED" -> Right ProFileTypeUnspecified+        "CPU" -> Right CPU+        "WALL" -> Right Wall+        "HEAP" -> Right Heap+        "THREADS" -> Right Threads+        "CONTENTION" -> Right Contention+        "PEAK_HEAP" -> Right PeakHeap+        "HEAP_ALLOC" -> Right HeapAlloc+        x -> Left ("Unable to parse ProFileProFileType from: " <> x)++instance ToHttpApiData ProFileProFileType where+    toQueryParam = \case+        ProFileTypeUnspecified -> "PROFILE_TYPE_UNSPECIFIED"+        CPU -> "CPU"+        Wall -> "WALL"+        Heap -> "HEAP"+        Threads -> "THREADS"+        Contention -> "CONTENTION"+        PeakHeap -> "PEAK_HEAP"+        HeapAlloc -> "HEAP_ALLOC"++instance FromJSON ProFileProFileType where+    parseJSON = parseJSONText "ProFileProFileType"++instance ToJSON ProFileProFileType where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/Create.hs view
@@ -0,0 +1,181 @@+{-# 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.CloudProFiler.Projects.ProFiles.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- CreateProfile creates a new profile resource in the online mode. The+-- server ensures that the new profiles are created at a constant rate per+-- deployment, so the creation request may hang for some time until the+-- next profile session is available. The request may fail with ABORTED+-- error if the creation is not available within ~1m, the response will+-- indicate the duration of the backoff the client should take before+-- attempting creating a profile again. The backoff duration is returned in+-- google.rpc.RetryInfo extension on the response status. To a gRPC client,+-- the extension will be return as a binary-serialized proto in the+-- trailing metadata item named \"google.rpc.retryinfo-bin\".+--+-- /See:/ <https://cloud.google.com/profiler/ Stackdriver Profiler API Reference> for @cloudprofiler.projects.profiles.create@.+module Network.Google.Resource.CloudProFiler.Projects.ProFiles.Create+    (+    -- * REST Resource+      ProjectsProFilesCreateResource++    -- * Creating a Request+    , projectsProFilesCreate+    , ProjectsProFilesCreate++    -- * Request Lenses+    , ppfcParent+    , ppfcXgafv+    , ppfcUploadProtocol+    , ppfcAccessToken+    , ppfcUploadType+    , ppfcPayload+    , ppfcCallback+    ) where++import           Network.Google.CloudProFiler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudprofiler.projects.profiles.create@ method which the+-- 'ProjectsProFilesCreate' request conforms to.+type ProjectsProFilesCreateResource =+     "v2" :>+       Capture "parent" Text :>+         "profiles" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] CreateProFileRequest :>+                         Post '[JSON] ProFile++-- | CreateProfile creates a new profile resource in the online mode. The+-- server ensures that the new profiles are created at a constant rate per+-- deployment, so the creation request may hang for some time until the+-- next profile session is available. The request may fail with ABORTED+-- error if the creation is not available within ~1m, the response will+-- indicate the duration of the backoff the client should take before+-- attempting creating a profile again. The backoff duration is returned in+-- google.rpc.RetryInfo extension on the response status. To a gRPC client,+-- the extension will be return as a binary-serialized proto in the+-- trailing metadata item named \"google.rpc.retryinfo-bin\".+--+-- /See:/ 'projectsProFilesCreate' smart constructor.+data ProjectsProFilesCreate = ProjectsProFilesCreate'+    { _ppfcParent         :: !Text+    , _ppfcXgafv          :: !(Maybe Xgafv)+    , _ppfcUploadProtocol :: !(Maybe Text)+    , _ppfcAccessToken    :: !(Maybe Text)+    , _ppfcUploadType     :: !(Maybe Text)+    , _ppfcPayload        :: !CreateProFileRequest+    , _ppfcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsProFilesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppfcParent'+--+-- * 'ppfcXgafv'+--+-- * 'ppfcUploadProtocol'+--+-- * 'ppfcAccessToken'+--+-- * 'ppfcUploadType'+--+-- * 'ppfcPayload'+--+-- * 'ppfcCallback'+projectsProFilesCreate+    :: Text -- ^ 'ppfcParent'+    -> CreateProFileRequest -- ^ 'ppfcPayload'+    -> ProjectsProFilesCreate+projectsProFilesCreate pPpfcParent_ pPpfcPayload_ =+    ProjectsProFilesCreate'+    { _ppfcParent = pPpfcParent_+    , _ppfcXgafv = Nothing+    , _ppfcUploadProtocol = Nothing+    , _ppfcAccessToken = Nothing+    , _ppfcUploadType = Nothing+    , _ppfcPayload = pPpfcPayload_+    , _ppfcCallback = Nothing+    }++-- | Parent project to create the profile in.+ppfcParent :: Lens' ProjectsProFilesCreate Text+ppfcParent+  = lens _ppfcParent (\ s a -> s{_ppfcParent = a})++-- | V1 error format.+ppfcXgafv :: Lens' ProjectsProFilesCreate (Maybe Xgafv)+ppfcXgafv+  = lens _ppfcXgafv (\ s a -> s{_ppfcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ppfcUploadProtocol :: Lens' ProjectsProFilesCreate (Maybe Text)+ppfcUploadProtocol+  = lens _ppfcUploadProtocol+      (\ s a -> s{_ppfcUploadProtocol = a})++-- | OAuth access token.+ppfcAccessToken :: Lens' ProjectsProFilesCreate (Maybe Text)+ppfcAccessToken+  = lens _ppfcAccessToken+      (\ s a -> s{_ppfcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ppfcUploadType :: Lens' ProjectsProFilesCreate (Maybe Text)+ppfcUploadType+  = lens _ppfcUploadType+      (\ s a -> s{_ppfcUploadType = a})++-- | Multipart request metadata.+ppfcPayload :: Lens' ProjectsProFilesCreate CreateProFileRequest+ppfcPayload+  = lens _ppfcPayload (\ s a -> s{_ppfcPayload = a})++-- | JSONP+ppfcCallback :: Lens' ProjectsProFilesCreate (Maybe Text)+ppfcCallback+  = lens _ppfcCallback (\ s a -> s{_ppfcCallback = a})++instance GoogleRequest ProjectsProFilesCreate where+        type Rs ProjectsProFilesCreate = ProFile+        type Scopes ProjectsProFilesCreate =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/monitoring",+               "https://www.googleapis.com/auth/monitoring.write"]+        requestClient ProjectsProFilesCreate'{..}+          = go _ppfcParent _ppfcXgafv _ppfcUploadProtocol+              _ppfcAccessToken+              _ppfcUploadType+              _ppfcCallback+              (Just AltJSON)+              _ppfcPayload+              cloudProfilerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsProFilesCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/CreateOffline.hs view
@@ -0,0 +1,169 @@+{-# 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.CloudProFiler.Projects.ProFiles.CreateOffline+-- 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)+--+-- CreateOfflineProfile creates a new profile resource in the offline mode.+-- The client provides the profile to create along with the profile bytes,+-- the server records it.+--+-- /See:/ <https://cloud.google.com/profiler/ Stackdriver Profiler API Reference> for @cloudprofiler.projects.profiles.createOffline@.+module Network.Google.Resource.CloudProFiler.Projects.ProFiles.CreateOffline+    (+    -- * REST Resource+      ProjectsProFilesCreateOfflineResource++    -- * Creating a Request+    , projectsProFilesCreateOffline+    , ProjectsProFilesCreateOffline++    -- * Request Lenses+    , ppfcoParent+    , ppfcoXgafv+    , ppfcoUploadProtocol+    , ppfcoAccessToken+    , ppfcoUploadType+    , ppfcoPayload+    , ppfcoCallback+    ) where++import           Network.Google.CloudProFiler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudprofiler.projects.profiles.createOffline@ method which the+-- 'ProjectsProFilesCreateOffline' request conforms to.+type ProjectsProFilesCreateOfflineResource =+     "v2" :>+       Capture "parent" Text :>+         "profiles:createOffline" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] ProFile :> Post '[JSON] ProFile++-- | CreateOfflineProfile creates a new profile resource in the offline mode.+-- The client provides the profile to create along with the profile bytes,+-- the server records it.+--+-- /See:/ 'projectsProFilesCreateOffline' smart constructor.+data ProjectsProFilesCreateOffline = ProjectsProFilesCreateOffline'+    { _ppfcoParent         :: !Text+    , _ppfcoXgafv          :: !(Maybe Xgafv)+    , _ppfcoUploadProtocol :: !(Maybe Text)+    , _ppfcoAccessToken    :: !(Maybe Text)+    , _ppfcoUploadType     :: !(Maybe Text)+    , _ppfcoPayload        :: !ProFile+    , _ppfcoCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsProFilesCreateOffline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppfcoParent'+--+-- * 'ppfcoXgafv'+--+-- * 'ppfcoUploadProtocol'+--+-- * 'ppfcoAccessToken'+--+-- * 'ppfcoUploadType'+--+-- * 'ppfcoPayload'+--+-- * 'ppfcoCallback'+projectsProFilesCreateOffline+    :: Text -- ^ 'ppfcoParent'+    -> ProFile -- ^ 'ppfcoPayload'+    -> ProjectsProFilesCreateOffline+projectsProFilesCreateOffline pPpfcoParent_ pPpfcoPayload_ =+    ProjectsProFilesCreateOffline'+    { _ppfcoParent = pPpfcoParent_+    , _ppfcoXgafv = Nothing+    , _ppfcoUploadProtocol = Nothing+    , _ppfcoAccessToken = Nothing+    , _ppfcoUploadType = Nothing+    , _ppfcoPayload = pPpfcoPayload_+    , _ppfcoCallback = Nothing+    }++-- | Parent project to create the profile in.+ppfcoParent :: Lens' ProjectsProFilesCreateOffline Text+ppfcoParent+  = lens _ppfcoParent (\ s a -> s{_ppfcoParent = a})++-- | V1 error format.+ppfcoXgafv :: Lens' ProjectsProFilesCreateOffline (Maybe Xgafv)+ppfcoXgafv+  = lens _ppfcoXgafv (\ s a -> s{_ppfcoXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ppfcoUploadProtocol :: Lens' ProjectsProFilesCreateOffline (Maybe Text)+ppfcoUploadProtocol+  = lens _ppfcoUploadProtocol+      (\ s a -> s{_ppfcoUploadProtocol = a})++-- | OAuth access token.+ppfcoAccessToken :: Lens' ProjectsProFilesCreateOffline (Maybe Text)+ppfcoAccessToken+  = lens _ppfcoAccessToken+      (\ s a -> s{_ppfcoAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ppfcoUploadType :: Lens' ProjectsProFilesCreateOffline (Maybe Text)+ppfcoUploadType+  = lens _ppfcoUploadType+      (\ s a -> s{_ppfcoUploadType = a})++-- | Multipart request metadata.+ppfcoPayload :: Lens' ProjectsProFilesCreateOffline ProFile+ppfcoPayload+  = lens _ppfcoPayload (\ s a -> s{_ppfcoPayload = a})++-- | JSONP+ppfcoCallback :: Lens' ProjectsProFilesCreateOffline (Maybe Text)+ppfcoCallback+  = lens _ppfcoCallback+      (\ s a -> s{_ppfcoCallback = a})++instance GoogleRequest ProjectsProFilesCreateOffline+         where+        type Rs ProjectsProFilesCreateOffline = ProFile+        type Scopes ProjectsProFilesCreateOffline =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/monitoring",+               "https://www.googleapis.com/auth/monitoring.write"]+        requestClient ProjectsProFilesCreateOffline'{..}+          = go _ppfcoParent _ppfcoXgafv _ppfcoUploadProtocol+              _ppfcoAccessToken+              _ppfcoUploadType+              _ppfcoCallback+              (Just AltJSON)+              _ppfcoPayload+              cloudProfilerService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy ProjectsProFilesCreateOfflineResource)+                      mempty
+ gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/Patch.hs view
@@ -0,0 +1,182 @@+{-# 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.CloudProFiler.Projects.ProFiles.Patch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- UpdateProfile updates the profile bytes and labels on the profile+-- resource created in the online mode. Updating the bytes for profiles+-- created in the offline mode is currently not supported: the profile+-- content must be provided at the time of the profile creation.+--+-- /See:/ <https://cloud.google.com/profiler/ Stackdriver Profiler API Reference> for @cloudprofiler.projects.profiles.patch@.+module Network.Google.Resource.CloudProFiler.Projects.ProFiles.Patch+    (+    -- * REST Resource+      ProjectsProFilesPatchResource++    -- * Creating a Request+    , projectsProFilesPatch+    , ProjectsProFilesPatch++    -- * Request Lenses+    , ppfpXgafv+    , ppfpUploadProtocol+    , ppfpUpdateMask+    , ppfpAccessToken+    , ppfpUploadType+    , ppfpPayload+    , ppfpName+    , ppfpCallback+    ) where++import           Network.Google.CloudProFiler.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudprofiler.projects.profiles.patch@ method which the+-- 'ProjectsProFilesPatch' request conforms to.+type ProjectsProFilesPatchResource =+     "v2" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "updateMask" GFieldMask :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] ProFile :> Patch '[JSON] ProFile++-- | UpdateProfile updates the profile bytes and labels on the profile+-- resource created in the online mode. Updating the bytes for profiles+-- created in the offline mode is currently not supported: the profile+-- content must be provided at the time of the profile creation.+--+-- /See:/ 'projectsProFilesPatch' smart constructor.+data ProjectsProFilesPatch = ProjectsProFilesPatch'+    { _ppfpXgafv          :: !(Maybe Xgafv)+    , _ppfpUploadProtocol :: !(Maybe Text)+    , _ppfpUpdateMask     :: !(Maybe GFieldMask)+    , _ppfpAccessToken    :: !(Maybe Text)+    , _ppfpUploadType     :: !(Maybe Text)+    , _ppfpPayload        :: !ProFile+    , _ppfpName           :: !Text+    , _ppfpCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsProFilesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppfpXgafv'+--+-- * 'ppfpUploadProtocol'+--+-- * 'ppfpUpdateMask'+--+-- * 'ppfpAccessToken'+--+-- * 'ppfpUploadType'+--+-- * 'ppfpPayload'+--+-- * 'ppfpName'+--+-- * 'ppfpCallback'+projectsProFilesPatch+    :: ProFile -- ^ 'ppfpPayload'+    -> Text -- ^ 'ppfpName'+    -> ProjectsProFilesPatch+projectsProFilesPatch pPpfpPayload_ pPpfpName_ =+    ProjectsProFilesPatch'+    { _ppfpXgafv = Nothing+    , _ppfpUploadProtocol = Nothing+    , _ppfpUpdateMask = Nothing+    , _ppfpAccessToken = Nothing+    , _ppfpUploadType = Nothing+    , _ppfpPayload = pPpfpPayload_+    , _ppfpName = pPpfpName_+    , _ppfpCallback = Nothing+    }++-- | V1 error format.+ppfpXgafv :: Lens' ProjectsProFilesPatch (Maybe Xgafv)+ppfpXgafv+  = lens _ppfpXgafv (\ s a -> s{_ppfpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ppfpUploadProtocol :: Lens' ProjectsProFilesPatch (Maybe Text)+ppfpUploadProtocol+  = lens _ppfpUploadProtocol+      (\ s a -> s{_ppfpUploadProtocol = a})++-- | Field mask used to specify the fields to be overwritten. Currently only+-- profile_bytes and labels fields are supported by UpdateProfile, so only+-- those fields can be specified in the mask. When no mask is provided, all+-- fields are overwritten.+ppfpUpdateMask :: Lens' ProjectsProFilesPatch (Maybe GFieldMask)+ppfpUpdateMask+  = lens _ppfpUpdateMask+      (\ s a -> s{_ppfpUpdateMask = a})++-- | OAuth access token.+ppfpAccessToken :: Lens' ProjectsProFilesPatch (Maybe Text)+ppfpAccessToken+  = lens _ppfpAccessToken+      (\ s a -> s{_ppfpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ppfpUploadType :: Lens' ProjectsProFilesPatch (Maybe Text)+ppfpUploadType+  = lens _ppfpUploadType+      (\ s a -> s{_ppfpUploadType = a})++-- | Multipart request metadata.+ppfpPayload :: Lens' ProjectsProFilesPatch ProFile+ppfpPayload+  = lens _ppfpPayload (\ s a -> s{_ppfpPayload = a})++-- | Output only. Opaque, server-assigned, unique ID for this profile.+ppfpName :: Lens' ProjectsProFilesPatch Text+ppfpName = lens _ppfpName (\ s a -> s{_ppfpName = a})++-- | JSONP+ppfpCallback :: Lens' ProjectsProFilesPatch (Maybe Text)+ppfpCallback+  = lens _ppfpCallback (\ s a -> s{_ppfpCallback = a})++instance GoogleRequest ProjectsProFilesPatch where+        type Rs ProjectsProFilesPatch = ProFile+        type Scopes ProjectsProFilesPatch =+             '["https://www.googleapis.com/auth/cloud-platform",+               "https://www.googleapis.com/auth/monitoring",+               "https://www.googleapis.com/auth/monitoring.write"]+        requestClient ProjectsProFilesPatch'{..}+          = go _ppfpName _ppfpXgafv _ppfpUploadProtocol+              _ppfpUpdateMask+              _ppfpAccessToken+              _ppfpUploadType+              _ppfpCallback+              (Just AltJSON)+              _ppfpPayload+              cloudProfilerService+          where go+                  = buildClient+                      (Proxy :: Proxy ProjectsProFilesPatchResource)+                      mempty
+ gogol-cloudprofiler.cabal view
@@ -0,0 +1,48 @@+name:                  gogol-cloudprofiler+version:               0.4.0+synopsis:              Google Stackdriver Profiler SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:+    Manages continuous profiling information.+    .+    /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 @v2@+    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.CloudProFiler+        , Network.Google.CloudProFiler.Types+        , Network.Google.Resource.CloudProFiler.Projects.ProFiles.Create+        , Network.Google.Resource.CloudProFiler.Projects.ProFiles.CreateOffline+        , Network.Google.Resource.CloudProFiler.Projects.ProFiles.Patch++    other-modules:+          Network.Google.CloudProFiler.Types.Product+        , Network.Google.CloudProFiler.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view