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 +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/CloudProFiler.hs +99/−0
- gen/Network/Google/CloudProFiler/Types.hs +88/−0
- gen/Network/Google/CloudProFiler/Types/Product.hs +328/−0
- gen/Network/Google/CloudProFiler/Types/Sum.hs +114/−0
- gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/Create.hs +181/−0
- gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/CreateOffline.hs +169/−0
- gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/Patch.hs +182/−0
- gogol-cloudprofiler.cabal +48/−0
- src/.gitkeep +0/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-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