gogol-cloudmonitoring (empty) → 0.1.0
raw patch · 14 files changed
+3274/−0 lines, 14 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/CloudMonitoring.hs +229/−0
- gen/Network/Google/CloudMonitoring/Types.hs +200/−0
- gen/Network/Google/CloudMonitoring/Types/Product.hs +1333/−0
- gen/Network/Google/CloudMonitoring/Types/Sum.hs +93/−0
- gen/Network/Google/Resource/CloudMonitoring/MetricDescriptors/Create.hs +102/−0
- gen/Network/Google/Resource/CloudMonitoring/MetricDescriptors/Delete.hs +102/−0
- gen/Network/Google/Resource/CloudMonitoring/MetricDescriptors/List.hs +154/−0
- gen/Network/Google/Resource/CloudMonitoring/Timeseries/List.hs +243/−0
- gen/Network/Google/Resource/CloudMonitoring/Timeseries/Write.hs +114/−0
- gen/Network/Google/Resource/CloudMonitoring/TimeseriesDescriptors/List.hs +256/−0
- gogol-cloudmonitoring.cabal +51/−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-cloudmonitoring++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.1.0`+++## Description++A client library for the Google Cloud Monitoring.+++## 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-cloudmonitoring` 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/CloudMonitoring.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.CloudMonitoring+-- 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)+--+-- Accesses Google Cloud Monitoring data.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference>+module Network.Google.CloudMonitoring+ (+ -- * Service Configuration+ cloudMonitoringService++ -- * OAuth Scopes+ , cloudPlatformScope+ , monitoringScope++ -- * API Declaration+ , CloudMonitoringAPI++ -- * Resources++ -- ** cloudmonitoring.metricDescriptors.create+ , module Network.Google.Resource.CloudMonitoring.MetricDescriptors.Create++ -- ** cloudmonitoring.metricDescriptors.delete+ , module Network.Google.Resource.CloudMonitoring.MetricDescriptors.Delete++ -- ** cloudmonitoring.metricDescriptors.list+ , module Network.Google.Resource.CloudMonitoring.MetricDescriptors.List++ -- ** cloudmonitoring.timeseries.list+ , module Network.Google.Resource.CloudMonitoring.Timeseries.List++ -- ** cloudmonitoring.timeseries.write+ , module Network.Google.Resource.CloudMonitoring.Timeseries.Write++ -- ** cloudmonitoring.timeseriesDescriptors.list+ , module Network.Google.Resource.CloudMonitoring.TimeseriesDescriptors.List++ -- * Types++ -- ** MetricDescriptorTypeDescriptor+ , MetricDescriptorTypeDescriptor+ , metricDescriptorTypeDescriptor+ , mdtdMetricType+ , mdtdValueType++ -- ** ListTimeseriesResponse+ , ListTimeseriesResponse+ , listTimeseriesResponse+ , ltrNextPageToken+ , ltrKind+ , ltrOldest+ , ltrYoungest+ , ltrTimeseries++ -- ** MetricDescriptor+ , MetricDescriptor+ , metricDescriptor+ , mdProject+ , mdTypeDescriptor+ , mdName+ , mdLabels+ , mdDescription++ -- ** WriteTimeseriesRequest+ , WriteTimeseriesRequest+ , writeTimeseriesRequest+ , wtrCommonLabels+ , wtrTimeseries++ -- ** WriteTimeseriesRequestCommonLabels+ , WriteTimeseriesRequestCommonLabels+ , writeTimeseriesRequestCommonLabels+ , wtrclAddtional++ -- ** MetricDescriptorLabelDescriptor+ , MetricDescriptorLabelDescriptor+ , metricDescriptorLabelDescriptor+ , mdldKey+ , mdldDescription++ -- ** PointDistributionUnderflowBucket+ , PointDistributionUnderflowBucket+ , pointDistributionUnderflowBucket+ , pdubUpperBound+ , pdubCount++ -- ** TimeseriesListAggregator+ , TimeseriesListAggregator (..)++ -- ** ListMetricDescriptorsResponse+ , ListMetricDescriptorsResponse+ , listMetricDescriptorsResponse+ , lmdrMetrics+ , lmdrNextPageToken+ , lmdrKind++ -- ** ListTimeseriesDescriptorsRequest+ , ListTimeseriesDescriptorsRequest+ , listTimeseriesDescriptorsRequest+ , ltdrKind++ -- ** TimeseriesDescriptorLabels+ , TimeseriesDescriptorLabels+ , timeseriesDescriptorLabels+ , tdlAddtional++ -- ** PointDistributionBucket+ , PointDistributionBucket+ , pointDistributionBucket+ , pdbUpperBound+ , pdbCount+ , pdbLowerBound++ -- ** WriteTimeseriesResponse+ , WriteTimeseriesResponse+ , writeTimeseriesResponse+ , wtrKind++ -- ** TimeseriesDescriptorLabel+ , TimeseriesDescriptorLabel+ , timeseriesDescriptorLabel+ , tdlValue+ , tdlKey++ -- ** PointDistribution+ , PointDistribution+ , pointDistribution+ , pdOverflowBucket+ , pdBuckets+ , pdUnderflowBucket++ -- ** Point+ , Point+ , point+ , pBoolValue+ , pStart+ , pDoubleValue+ , pStringValue+ , pDistributionValue+ , pEnd+ , pInt64Value++ -- ** PointDistributionOverflowBucket+ , PointDistributionOverflowBucket+ , pointDistributionOverflowBucket+ , pdobCount+ , pdobLowerBound++ -- ** ListTimeseriesDescriptorsResponse+ , ListTimeseriesDescriptorsResponse+ , listTimeseriesDescriptorsResponse+ , lNextPageToken+ , lKind+ , lOldest+ , lYoungest+ , lTimeseries++ -- ** ListMetricDescriptorsRequest+ , ListMetricDescriptorsRequest+ , listMetricDescriptorsRequest+ , lisKind++ -- ** TimeseriesPoint+ , TimeseriesPoint+ , timeseriesPoint+ , tpPoint+ , tpTimeseriesDesc++ -- ** TimeseriesDescriptorsListAggregator+ , TimeseriesDescriptorsListAggregator (..)++ -- ** DeleteMetricDescriptorResponse+ , DeleteMetricDescriptorResponse+ , deleteMetricDescriptorResponse+ , dmdrKind++ -- ** ListTimeseriesRequest+ , ListTimeseriesRequest+ , listTimeseriesRequest+ , ltrtKind++ -- ** TimeseriesDescriptor+ , TimeseriesDescriptor+ , timeseriesDescriptor+ , tdProject+ , tdMetric+ , tdLabels++ -- ** Timeseries+ , Timeseries+ , timeseries+ , tPoints+ , tTimeseriesDesc+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude+import Network.Google.Resource.CloudMonitoring.MetricDescriptors.Create+import Network.Google.Resource.CloudMonitoring.MetricDescriptors.Delete+import Network.Google.Resource.CloudMonitoring.MetricDescriptors.List+import Network.Google.Resource.CloudMonitoring.Timeseries.List+import Network.Google.Resource.CloudMonitoring.Timeseries.Write+import Network.Google.Resource.CloudMonitoring.TimeseriesDescriptors.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Monitoring API service.+type CloudMonitoringAPI =+ MetricDescriptorsListResource :<|>+ MetricDescriptorsCreateResource+ :<|> MetricDescriptorsDeleteResource+ :<|> TimeseriesDescriptorsListResource+ :<|> TimeseriesListResource+ :<|> TimeseriesWriteResource
+ gen/Network/Google/CloudMonitoring/Types.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.CloudMonitoring.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.CloudMonitoring.Types+ (+ -- * Service Configuration+ cloudMonitoringService++ -- * OAuth Scopes+ , cloudPlatformScope+ , monitoringScope++ -- * MetricDescriptorTypeDescriptor+ , MetricDescriptorTypeDescriptor+ , metricDescriptorTypeDescriptor+ , mdtdMetricType+ , mdtdValueType++ -- * ListTimeseriesResponse+ , ListTimeseriesResponse+ , listTimeseriesResponse+ , ltrNextPageToken+ , ltrKind+ , ltrOldest+ , ltrYoungest+ , ltrTimeseries++ -- * MetricDescriptor+ , MetricDescriptor+ , metricDescriptor+ , mdProject+ , mdTypeDescriptor+ , mdName+ , mdLabels+ , mdDescription++ -- * WriteTimeseriesRequest+ , WriteTimeseriesRequest+ , writeTimeseriesRequest+ , wtrCommonLabels+ , wtrTimeseries++ -- * WriteTimeseriesRequestCommonLabels+ , WriteTimeseriesRequestCommonLabels+ , writeTimeseriesRequestCommonLabels+ , wtrclAddtional++ -- * MetricDescriptorLabelDescriptor+ , MetricDescriptorLabelDescriptor+ , metricDescriptorLabelDescriptor+ , mdldKey+ , mdldDescription++ -- * PointDistributionUnderflowBucket+ , PointDistributionUnderflowBucket+ , pointDistributionUnderflowBucket+ , pdubUpperBound+ , pdubCount++ -- * TimeseriesListAggregator+ , TimeseriesListAggregator (..)++ -- * ListMetricDescriptorsResponse+ , ListMetricDescriptorsResponse+ , listMetricDescriptorsResponse+ , lmdrMetrics+ , lmdrNextPageToken+ , lmdrKind++ -- * ListTimeseriesDescriptorsRequest+ , ListTimeseriesDescriptorsRequest+ , listTimeseriesDescriptorsRequest+ , ltdrKind++ -- * TimeseriesDescriptorLabels+ , TimeseriesDescriptorLabels+ , timeseriesDescriptorLabels+ , tdlAddtional++ -- * PointDistributionBucket+ , PointDistributionBucket+ , pointDistributionBucket+ , pdbUpperBound+ , pdbCount+ , pdbLowerBound++ -- * WriteTimeseriesResponse+ , WriteTimeseriesResponse+ , writeTimeseriesResponse+ , wtrKind++ -- * TimeseriesDescriptorLabel+ , TimeseriesDescriptorLabel+ , timeseriesDescriptorLabel+ , tdlValue+ , tdlKey++ -- * PointDistribution+ , PointDistribution+ , pointDistribution+ , pdOverflowBucket+ , pdBuckets+ , pdUnderflowBucket++ -- * Point+ , Point+ , point+ , pBoolValue+ , pStart+ , pDoubleValue+ , pStringValue+ , pDistributionValue+ , pEnd+ , pInt64Value++ -- * PointDistributionOverflowBucket+ , PointDistributionOverflowBucket+ , pointDistributionOverflowBucket+ , pdobCount+ , pdobLowerBound++ -- * ListTimeseriesDescriptorsResponse+ , ListTimeseriesDescriptorsResponse+ , listTimeseriesDescriptorsResponse+ , lNextPageToken+ , lKind+ , lOldest+ , lYoungest+ , lTimeseries++ -- * ListMetricDescriptorsRequest+ , ListMetricDescriptorsRequest+ , listMetricDescriptorsRequest+ , lisKind++ -- * TimeseriesPoint+ , TimeseriesPoint+ , timeseriesPoint+ , tpPoint+ , tpTimeseriesDesc++ -- * TimeseriesDescriptorsListAggregator+ , TimeseriesDescriptorsListAggregator (..)++ -- * DeleteMetricDescriptorResponse+ , DeleteMetricDescriptorResponse+ , deleteMetricDescriptorResponse+ , dmdrKind++ -- * ListTimeseriesRequest+ , ListTimeseriesRequest+ , listTimeseriesRequest+ , ltrtKind++ -- * TimeseriesDescriptor+ , TimeseriesDescriptor+ , timeseriesDescriptor+ , tdProject+ , tdMetric+ , tdLabels++ -- * Timeseries+ , Timeseries+ , timeseries+ , tPoints+ , tTimeseriesDesc+ ) where++import Network.Google.CloudMonitoring.Types.Product+import Network.Google.CloudMonitoring.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v2beta2' of the Cloud Monitoring API. This contains the host and root path used as a starting point for constructing service requests.+cloudMonitoringService :: ServiceConfig+cloudMonitoringService+ = defaultService+ (ServiceId "cloudmonitoring:v2beta2")+ "www.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;
+ gen/Network/Google/CloudMonitoring/Types/Product.hs view
@@ -0,0 +1,1333 @@+{-# 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.CloudMonitoring.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.CloudMonitoring.Types.Product where++import Network.Google.CloudMonitoring.Types.Sum+import Network.Google.Prelude++-- | A type in a metric contains information about how the metric is+-- collected and what its data points look like.+--+-- /See:/ 'metricDescriptorTypeDescriptor' smart constructor.+data MetricDescriptorTypeDescriptor = MetricDescriptorTypeDescriptor'+ { _mdtdMetricType :: !(Maybe Text)+ , _mdtdValueType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDescriptorTypeDescriptor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdtdMetricType'+--+-- * 'mdtdValueType'+metricDescriptorTypeDescriptor+ :: MetricDescriptorTypeDescriptor+metricDescriptorTypeDescriptor =+ MetricDescriptorTypeDescriptor'+ { _mdtdMetricType = Nothing+ , _mdtdValueType = Nothing+ }++-- | The method of collecting data for the metric. See Metric types.+mdtdMetricType :: Lens' MetricDescriptorTypeDescriptor (Maybe Text)+mdtdMetricType+ = lens _mdtdMetricType+ (\ s a -> s{_mdtdMetricType = a})++-- | The data type of of individual points in the metric\'s time series. See+-- Metric value types.+mdtdValueType :: Lens' MetricDescriptorTypeDescriptor (Maybe Text)+mdtdValueType+ = lens _mdtdValueType+ (\ s a -> s{_mdtdValueType = a})++instance FromJSON MetricDescriptorTypeDescriptor+ where+ parseJSON+ = withObject "MetricDescriptorTypeDescriptor"+ (\ o ->+ MetricDescriptorTypeDescriptor' <$>+ (o .:? "metricType") <*> (o .:? "valueType"))++instance ToJSON MetricDescriptorTypeDescriptor where+ toJSON MetricDescriptorTypeDescriptor'{..}+ = object+ (catMaybes+ [("metricType" .=) <$> _mdtdMetricType,+ ("valueType" .=) <$> _mdtdValueType])++-- | The response of cloudmonitoring.timeseries.list+--+-- /See:/ 'listTimeseriesResponse' smart constructor.+data ListTimeseriesResponse = ListTimeseriesResponse'+ { _ltrNextPageToken :: !(Maybe Text)+ , _ltrKind :: !Text+ , _ltrOldest :: !(Maybe DateTime')+ , _ltrYoungest :: !(Maybe DateTime')+ , _ltrTimeseries :: !(Maybe [Timeseries])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTimeseriesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrNextPageToken'+--+-- * 'ltrKind'+--+-- * 'ltrOldest'+--+-- * 'ltrYoungest'+--+-- * 'ltrTimeseries'+listTimeseriesResponse+ :: ListTimeseriesResponse+listTimeseriesResponse =+ ListTimeseriesResponse'+ { _ltrNextPageToken = Nothing+ , _ltrKind = "cloudmonitoring#listTimeseriesResponse"+ , _ltrOldest = Nothing+ , _ltrYoungest = Nothing+ , _ltrTimeseries = Nothing+ }++-- | Pagination token. If present, indicates that additional results are+-- available for retrieval. To access the results past the pagination+-- limit, set the pageToken query parameter to this value. All of the+-- points of a time series will be returned before returning any point of+-- the subsequent time series.+ltrNextPageToken :: Lens' ListTimeseriesResponse (Maybe Text)+ltrNextPageToken+ = lens _ltrNextPageToken+ (\ s a -> s{_ltrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#listTimeseriesResponse\".+ltrKind :: Lens' ListTimeseriesResponse Text+ltrKind = lens _ltrKind (\ s a -> s{_ltrKind = a})++-- | The oldest timestamp of the interval of this query as an RFC 3339+-- string.+ltrOldest :: Lens' ListTimeseriesResponse (Maybe UTCTime)+ltrOldest+ = lens _ltrOldest (\ s a -> s{_ltrOldest = a}) .+ mapping _DateTime++-- | The youngest timestamp of the interval of this query as an RFC 3339+-- string.+ltrYoungest :: Lens' ListTimeseriesResponse (Maybe UTCTime)+ltrYoungest+ = lens _ltrYoungest (\ s a -> s{_ltrYoungest = a}) .+ mapping _DateTime++-- | The returned time series.+ltrTimeseries :: Lens' ListTimeseriesResponse [Timeseries]+ltrTimeseries+ = lens _ltrTimeseries+ (\ s a -> s{_ltrTimeseries = a})+ . _Default+ . _Coerce++instance FromJSON ListTimeseriesResponse where+ parseJSON+ = withObject "ListTimeseriesResponse"+ (\ o ->+ ListTimeseriesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "cloudmonitoring#listTimeseriesResponse")+ <*> (o .:? "oldest")+ <*> (o .:? "youngest")+ <*> (o .:? "timeseries" .!= mempty))++instance ToJSON ListTimeseriesResponse where+ toJSON ListTimeseriesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ltrNextPageToken,+ Just ("kind" .= _ltrKind),+ ("oldest" .=) <$> _ltrOldest,+ ("youngest" .=) <$> _ltrYoungest,+ ("timeseries" .=) <$> _ltrTimeseries])++-- | A metricDescriptor defines the name, label keys, and data type of a+-- particular metric.+--+-- /See:/ 'metricDescriptor' smart constructor.+data MetricDescriptor = MetricDescriptor'+ { _mdProject :: !(Maybe Text)+ , _mdTypeDescriptor :: !(Maybe MetricDescriptorTypeDescriptor)+ , _mdName :: !(Maybe Text)+ , _mdLabels :: !(Maybe [MetricDescriptorLabelDescriptor])+ , _mdDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDescriptor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdProject'+--+-- * 'mdTypeDescriptor'+--+-- * 'mdName'+--+-- * 'mdLabels'+--+-- * 'mdDescription'+metricDescriptor+ :: MetricDescriptor+metricDescriptor =+ MetricDescriptor'+ { _mdProject = Nothing+ , _mdTypeDescriptor = Nothing+ , _mdName = Nothing+ , _mdLabels = Nothing+ , _mdDescription = Nothing+ }++-- | The project ID to which the metric belongs.+mdProject :: Lens' MetricDescriptor (Maybe Text)+mdProject+ = lens _mdProject (\ s a -> s{_mdProject = a})++-- | Type description for this metric.+mdTypeDescriptor :: Lens' MetricDescriptor (Maybe MetricDescriptorTypeDescriptor)+mdTypeDescriptor+ = lens _mdTypeDescriptor+ (\ s a -> s{_mdTypeDescriptor = a})++-- | The name of this metric.+mdName :: Lens' MetricDescriptor (Maybe Text)+mdName = lens _mdName (\ s a -> s{_mdName = a})++-- | Labels defined for this metric.+mdLabels :: Lens' MetricDescriptor [MetricDescriptorLabelDescriptor]+mdLabels+ = lens _mdLabels (\ s a -> s{_mdLabels = a}) .+ _Default+ . _Coerce++-- | Description of this metric.+mdDescription :: Lens' MetricDescriptor (Maybe Text)+mdDescription+ = lens _mdDescription+ (\ s a -> s{_mdDescription = a})++instance FromJSON MetricDescriptor where+ parseJSON+ = withObject "MetricDescriptor"+ (\ o ->+ MetricDescriptor' <$>+ (o .:? "project") <*> (o .:? "typeDescriptor") <*>+ (o .:? "name")+ <*> (o .:? "labels" .!= mempty)+ <*> (o .:? "description"))++instance ToJSON MetricDescriptor where+ toJSON MetricDescriptor'{..}+ = object+ (catMaybes+ [("project" .=) <$> _mdProject,+ ("typeDescriptor" .=) <$> _mdTypeDescriptor,+ ("name" .=) <$> _mdName, ("labels" .=) <$> _mdLabels,+ ("description" .=) <$> _mdDescription])++-- | The request of cloudmonitoring.timeseries.write+--+-- /See:/ 'writeTimeseriesRequest' smart constructor.+data WriteTimeseriesRequest = WriteTimeseriesRequest'+ { _wtrCommonLabels :: !(Maybe WriteTimeseriesRequestCommonLabels)+ , _wtrTimeseries :: !(Maybe [TimeseriesPoint])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WriteTimeseriesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wtrCommonLabels'+--+-- * 'wtrTimeseries'+writeTimeseriesRequest+ :: WriteTimeseriesRequest+writeTimeseriesRequest =+ WriteTimeseriesRequest'+ { _wtrCommonLabels = Nothing+ , _wtrTimeseries = Nothing+ }++-- | The label\'s name.+wtrCommonLabels :: Lens' WriteTimeseriesRequest (Maybe WriteTimeseriesRequestCommonLabels)+wtrCommonLabels+ = lens _wtrCommonLabels+ (\ s a -> s{_wtrCommonLabels = a})++-- | Provide time series specific labels and the data points for each time+-- series. The labels in timeseries and the common_labels should form a+-- complete list of labels that required by the metric.+wtrTimeseries :: Lens' WriteTimeseriesRequest [TimeseriesPoint]+wtrTimeseries+ = lens _wtrTimeseries+ (\ s a -> s{_wtrTimeseries = a})+ . _Default+ . _Coerce++instance FromJSON WriteTimeseriesRequest where+ parseJSON+ = withObject "WriteTimeseriesRequest"+ (\ o ->+ WriteTimeseriesRequest' <$>+ (o .:? "commonLabels") <*>+ (o .:? "timeseries" .!= mempty))++instance ToJSON WriteTimeseriesRequest where+ toJSON WriteTimeseriesRequest'{..}+ = object+ (catMaybes+ [("commonLabels" .=) <$> _wtrCommonLabels,+ ("timeseries" .=) <$> _wtrTimeseries])++-- | The label\'s name.+--+-- /See:/ 'writeTimeseriesRequestCommonLabels' smart constructor.+newtype WriteTimeseriesRequestCommonLabels = WriteTimeseriesRequestCommonLabels'+ { _wtrclAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WriteTimeseriesRequestCommonLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wtrclAddtional'+writeTimeseriesRequestCommonLabels+ :: HashMap Text Text -- ^ 'wtrclAddtional'+ -> WriteTimeseriesRequestCommonLabels+writeTimeseriesRequestCommonLabels pWtrclAddtional_ =+ WriteTimeseriesRequestCommonLabels'+ { _wtrclAddtional = _Coerce # pWtrclAddtional_+ }++-- | The label\'s name.+wtrclAddtional :: Lens' WriteTimeseriesRequestCommonLabels (HashMap Text Text)+wtrclAddtional+ = lens _wtrclAddtional+ (\ s a -> s{_wtrclAddtional = a})+ . _Coerce++instance FromJSON WriteTimeseriesRequestCommonLabels+ where+ parseJSON+ = withObject "WriteTimeseriesRequestCommonLabels"+ (\ o ->+ WriteTimeseriesRequestCommonLabels' <$>+ (parseJSONObject o))++instance ToJSON WriteTimeseriesRequestCommonLabels+ where+ toJSON = toJSON . _wtrclAddtional++-- | A label in a metric is a description of this metric, including the key+-- of this description (what the description is), and the value for this+-- description.+--+-- /See:/ 'metricDescriptorLabelDescriptor' smart constructor.+data MetricDescriptorLabelDescriptor = MetricDescriptorLabelDescriptor'+ { _mdldKey :: !(Maybe Text)+ , _mdldDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDescriptorLabelDescriptor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdldKey'+--+-- * 'mdldDescription'+metricDescriptorLabelDescriptor+ :: MetricDescriptorLabelDescriptor+metricDescriptorLabelDescriptor =+ MetricDescriptorLabelDescriptor'+ { _mdldKey = Nothing+ , _mdldDescription = Nothing+ }++-- | Label key.+mdldKey :: Lens' MetricDescriptorLabelDescriptor (Maybe Text)+mdldKey = lens _mdldKey (\ s a -> s{_mdldKey = a})++-- | Label description.+mdldDescription :: Lens' MetricDescriptorLabelDescriptor (Maybe Text)+mdldDescription+ = lens _mdldDescription+ (\ s a -> s{_mdldDescription = a})++instance FromJSON MetricDescriptorLabelDescriptor+ where+ parseJSON+ = withObject "MetricDescriptorLabelDescriptor"+ (\ o ->+ MetricDescriptorLabelDescriptor' <$>+ (o .:? "key") <*> (o .:? "description"))++instance ToJSON MetricDescriptorLabelDescriptor where+ toJSON MetricDescriptorLabelDescriptor'{..}+ = object+ (catMaybes+ [("key" .=) <$> _mdldKey,+ ("description" .=) <$> _mdldDescription])++-- | The underflow bucket is a special bucket that does not have the+-- lowerBound field; it includes all of the events that are less than its+-- upper bound.+--+-- /See:/ 'pointDistributionUnderflowBucket' smart constructor.+data PointDistributionUnderflowBucket = PointDistributionUnderflowBucket'+ { _pdubUpperBound :: !(Maybe (Textual Double))+ , _pdubCount :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PointDistributionUnderflowBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdubUpperBound'+--+-- * 'pdubCount'+pointDistributionUnderflowBucket+ :: PointDistributionUnderflowBucket+pointDistributionUnderflowBucket =+ PointDistributionUnderflowBucket'+ { _pdubUpperBound = Nothing+ , _pdubCount = Nothing+ }++-- | The upper bound of the value interval of this bucket (exclusive).+pdubUpperBound :: Lens' PointDistributionUnderflowBucket (Maybe Double)+pdubUpperBound+ = lens _pdubUpperBound+ (\ s a -> s{_pdubUpperBound = a})+ . mapping _Coerce++-- | The number of events whose values are in the interval defined by this+-- bucket.+pdubCount :: Lens' PointDistributionUnderflowBucket (Maybe Int64)+pdubCount+ = lens _pdubCount (\ s a -> s{_pdubCount = a}) .+ mapping _Coerce++instance FromJSON PointDistributionUnderflowBucket+ where+ parseJSON+ = withObject "PointDistributionUnderflowBucket"+ (\ o ->+ PointDistributionUnderflowBucket' <$>+ (o .:? "upperBound") <*> (o .:? "count"))++instance ToJSON PointDistributionUnderflowBucket+ where+ toJSON PointDistributionUnderflowBucket'{..}+ = object+ (catMaybes+ [("upperBound" .=) <$> _pdubUpperBound,+ ("count" .=) <$> _pdubCount])++-- | The response of cloudmonitoring.metricDescriptors.list.+--+-- /See:/ 'listMetricDescriptorsResponse' smart constructor.+data ListMetricDescriptorsResponse = ListMetricDescriptorsResponse'+ { _lmdrMetrics :: !(Maybe [MetricDescriptor])+ , _lmdrNextPageToken :: !(Maybe Text)+ , _lmdrKind :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListMetricDescriptorsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lmdrMetrics'+--+-- * 'lmdrNextPageToken'+--+-- * 'lmdrKind'+listMetricDescriptorsResponse+ :: ListMetricDescriptorsResponse+listMetricDescriptorsResponse =+ ListMetricDescriptorsResponse'+ { _lmdrMetrics = Nothing+ , _lmdrNextPageToken = Nothing+ , _lmdrKind = "cloudmonitoring#listMetricDescriptorsResponse"+ }++-- | The returned metric descriptors.+lmdrMetrics :: Lens' ListMetricDescriptorsResponse [MetricDescriptor]+lmdrMetrics+ = lens _lmdrMetrics (\ s a -> s{_lmdrMetrics = a}) .+ _Default+ . _Coerce++-- | Pagination token. If present, indicates that additional results are+-- available for retrieval. To access the results past the pagination+-- limit, pass this value to the pageToken query parameter.+lmdrNextPageToken :: Lens' ListMetricDescriptorsResponse (Maybe Text)+lmdrNextPageToken+ = lens _lmdrNextPageToken+ (\ s a -> s{_lmdrNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#listMetricDescriptorsResponse\".+lmdrKind :: Lens' ListMetricDescriptorsResponse Text+lmdrKind = lens _lmdrKind (\ s a -> s{_lmdrKind = a})++instance FromJSON ListMetricDescriptorsResponse where+ parseJSON+ = withObject "ListMetricDescriptorsResponse"+ (\ o ->+ ListMetricDescriptorsResponse' <$>+ (o .:? "metrics" .!= mempty) <*>+ (o .:? "nextPageToken")+ <*>+ (o .:? "kind" .!=+ "cloudmonitoring#listMetricDescriptorsResponse"))++instance ToJSON ListMetricDescriptorsResponse where+ toJSON ListMetricDescriptorsResponse'{..}+ = object+ (catMaybes+ [("metrics" .=) <$> _lmdrMetrics,+ ("nextPageToken" .=) <$> _lmdrNextPageToken,+ Just ("kind" .= _lmdrKind)])++-- | The request of cloudmonitoring.timeseriesDescriptors.list+--+-- /See:/ 'listTimeseriesDescriptorsRequest' smart constructor.+newtype ListTimeseriesDescriptorsRequest = ListTimeseriesDescriptorsRequest'+ { _ltdrKind :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTimeseriesDescriptorsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltdrKind'+listTimeseriesDescriptorsRequest+ :: ListTimeseriesDescriptorsRequest+listTimeseriesDescriptorsRequest =+ ListTimeseriesDescriptorsRequest'+ { _ltdrKind = "cloudmonitoring#listTimeseriesDescriptorsRequest"+ }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#listTimeseriesDescriptorsRequest\".+ltdrKind :: Lens' ListTimeseriesDescriptorsRequest Text+ltdrKind = lens _ltdrKind (\ s a -> s{_ltdrKind = a})++instance FromJSON ListTimeseriesDescriptorsRequest+ where+ parseJSON+ = withObject "ListTimeseriesDescriptorsRequest"+ (\ o ->+ ListTimeseriesDescriptorsRequest' <$>+ (o .:? "kind" .!=+ "cloudmonitoring#listTimeseriesDescriptorsRequest"))++instance ToJSON ListTimeseriesDescriptorsRequest+ where+ toJSON ListTimeseriesDescriptorsRequest'{..}+ = object (catMaybes [Just ("kind" .= _ltdrKind)])++-- | The label\'s name.+--+-- /See:/ 'timeseriesDescriptorLabels' smart constructor.+newtype TimeseriesDescriptorLabels = TimeseriesDescriptorLabels'+ { _tdlAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesDescriptorLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdlAddtional'+timeseriesDescriptorLabels+ :: HashMap Text Text -- ^ 'tdlAddtional'+ -> TimeseriesDescriptorLabels+timeseriesDescriptorLabels pTdlAddtional_ =+ TimeseriesDescriptorLabels'+ { _tdlAddtional = _Coerce # pTdlAddtional_+ }++-- | The label\'s name.+tdlAddtional :: Lens' TimeseriesDescriptorLabels (HashMap Text Text)+tdlAddtional+ = lens _tdlAddtional (\ s a -> s{_tdlAddtional = a})+ . _Coerce++instance FromJSON TimeseriesDescriptorLabels where+ parseJSON+ = withObject "TimeseriesDescriptorLabels"+ (\ o ->+ TimeseriesDescriptorLabels' <$> (parseJSONObject o))++instance ToJSON TimeseriesDescriptorLabels where+ toJSON = toJSON . _tdlAddtional++-- | The histogram\'s bucket. Buckets that form the histogram of a+-- distribution value. If the upper bound of a bucket, say U1, does not+-- equal the lower bound of the next bucket, say L2, this means that there+-- is no event in [U1, L2).+--+-- /See:/ 'pointDistributionBucket' smart constructor.+data PointDistributionBucket = PointDistributionBucket'+ { _pdbUpperBound :: !(Maybe (Textual Double))+ , _pdbCount :: !(Maybe (Textual Int64))+ , _pdbLowerBound :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PointDistributionBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdbUpperBound'+--+-- * 'pdbCount'+--+-- * 'pdbLowerBound'+pointDistributionBucket+ :: PointDistributionBucket+pointDistributionBucket =+ PointDistributionBucket'+ { _pdbUpperBound = Nothing+ , _pdbCount = Nothing+ , _pdbLowerBound = Nothing+ }++-- | The upper bound of the value interval of this bucket (exclusive).+pdbUpperBound :: Lens' PointDistributionBucket (Maybe Double)+pdbUpperBound+ = lens _pdbUpperBound+ (\ s a -> s{_pdbUpperBound = a})+ . mapping _Coerce++-- | The number of events whose values are in the interval defined by this+-- bucket.+pdbCount :: Lens' PointDistributionBucket (Maybe Int64)+pdbCount+ = lens _pdbCount (\ s a -> s{_pdbCount = a}) .+ mapping _Coerce++-- | The lower bound of the value interval of this bucket (inclusive).+pdbLowerBound :: Lens' PointDistributionBucket (Maybe Double)+pdbLowerBound+ = lens _pdbLowerBound+ (\ s a -> s{_pdbLowerBound = a})+ . mapping _Coerce++instance FromJSON PointDistributionBucket where+ parseJSON+ = withObject "PointDistributionBucket"+ (\ o ->+ PointDistributionBucket' <$>+ (o .:? "upperBound") <*> (o .:? "count") <*>+ (o .:? "lowerBound"))++instance ToJSON PointDistributionBucket where+ toJSON PointDistributionBucket'{..}+ = object+ (catMaybes+ [("upperBound" .=) <$> _pdbUpperBound,+ ("count" .=) <$> _pdbCount,+ ("lowerBound" .=) <$> _pdbLowerBound])++-- | The response of cloudmonitoring.timeseries.write+--+-- /See:/ 'writeTimeseriesResponse' smart constructor.+newtype WriteTimeseriesResponse = WriteTimeseriesResponse'+ { _wtrKind :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WriteTimeseriesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wtrKind'+writeTimeseriesResponse+ :: WriteTimeseriesResponse+writeTimeseriesResponse =+ WriteTimeseriesResponse'+ { _wtrKind = "cloudmonitoring#writeTimeseriesResponse"+ }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#writeTimeseriesResponse\".+wtrKind :: Lens' WriteTimeseriesResponse Text+wtrKind = lens _wtrKind (\ s a -> s{_wtrKind = a})++instance FromJSON WriteTimeseriesResponse where+ parseJSON+ = withObject "WriteTimeseriesResponse"+ (\ o ->+ WriteTimeseriesResponse' <$>+ (o .:? "kind" .!=+ "cloudmonitoring#writeTimeseriesResponse"))++instance ToJSON WriteTimeseriesResponse where+ toJSON WriteTimeseriesResponse'{..}+ = object (catMaybes [Just ("kind" .= _wtrKind)])++--+-- /See:/ 'timeseriesDescriptorLabel' smart constructor.+data TimeseriesDescriptorLabel = TimeseriesDescriptorLabel'+ { _tdlValue :: !(Maybe Text)+ , _tdlKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesDescriptorLabel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdlValue'+--+-- * 'tdlKey'+timeseriesDescriptorLabel+ :: TimeseriesDescriptorLabel+timeseriesDescriptorLabel =+ TimeseriesDescriptorLabel'+ { _tdlValue = Nothing+ , _tdlKey = Nothing+ }++-- | The label\'s value.+tdlValue :: Lens' TimeseriesDescriptorLabel (Maybe Text)+tdlValue = lens _tdlValue (\ s a -> s{_tdlValue = a})++-- | The label\'s name.+tdlKey :: Lens' TimeseriesDescriptorLabel (Maybe Text)+tdlKey = lens _tdlKey (\ s a -> s{_tdlKey = a})++instance FromJSON TimeseriesDescriptorLabel where+ parseJSON+ = withObject "TimeseriesDescriptorLabel"+ (\ o ->+ TimeseriesDescriptorLabel' <$>+ (o .:? "value") <*> (o .:? "key"))++instance ToJSON TimeseriesDescriptorLabel where+ toJSON TimeseriesDescriptorLabel'{..}+ = object+ (catMaybes+ [("value" .=) <$> _tdlValue, ("key" .=) <$> _tdlKey])++-- | Distribution data point value type. When writing distribution points,+-- try to be consistent with the boundaries of your buckets. If you must+-- modify the bucket boundaries, then do so by merging, partitioning, or+-- appending rather than skewing them.+--+-- /See:/ 'pointDistribution' smart constructor.+data PointDistribution = PointDistribution'+ { _pdOverflowBucket :: !(Maybe PointDistributionOverflowBucket)+ , _pdBuckets :: !(Maybe [PointDistributionBucket])+ , _pdUnderflowBucket :: !(Maybe PointDistributionUnderflowBucket)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PointDistribution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdOverflowBucket'+--+-- * 'pdBuckets'+--+-- * 'pdUnderflowBucket'+pointDistribution+ :: PointDistribution+pointDistribution =+ PointDistribution'+ { _pdOverflowBucket = Nothing+ , _pdBuckets = Nothing+ , _pdUnderflowBucket = Nothing+ }++-- | The overflow bucket.+pdOverflowBucket :: Lens' PointDistribution (Maybe PointDistributionOverflowBucket)+pdOverflowBucket+ = lens _pdOverflowBucket+ (\ s a -> s{_pdOverflowBucket = a})++-- | The finite buckets.+pdBuckets :: Lens' PointDistribution [PointDistributionBucket]+pdBuckets+ = lens _pdBuckets (\ s a -> s{_pdBuckets = a}) .+ _Default+ . _Coerce++-- | The underflow bucket.+pdUnderflowBucket :: Lens' PointDistribution (Maybe PointDistributionUnderflowBucket)+pdUnderflowBucket+ = lens _pdUnderflowBucket+ (\ s a -> s{_pdUnderflowBucket = a})++instance FromJSON PointDistribution where+ parseJSON+ = withObject "PointDistribution"+ (\ o ->+ PointDistribution' <$>+ (o .:? "overflowBucket") <*>+ (o .:? "buckets" .!= mempty)+ <*> (o .:? "underflowBucket"))++instance ToJSON PointDistribution where+ toJSON PointDistribution'{..}+ = object+ (catMaybes+ [("overflowBucket" .=) <$> _pdOverflowBucket,+ ("buckets" .=) <$> _pdBuckets,+ ("underflowBucket" .=) <$> _pdUnderflowBucket])++-- | Point is a single point in a time series. It consists of a start time,+-- an end time, and a value.+--+-- /See:/ 'point' smart constructor.+data Point = Point'+ { _pBoolValue :: !(Maybe Bool)+ , _pStart :: !(Maybe DateTime')+ , _pDoubleValue :: !(Maybe (Textual Double))+ , _pStringValue :: !(Maybe Text)+ , _pDistributionValue :: !(Maybe PointDistribution)+ , _pEnd :: !(Maybe DateTime')+ , _pInt64Value :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Point' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pBoolValue'+--+-- * 'pStart'+--+-- * 'pDoubleValue'+--+-- * 'pStringValue'+--+-- * 'pDistributionValue'+--+-- * 'pEnd'+--+-- * 'pInt64Value'+point+ :: Point+point =+ Point'+ { _pBoolValue = Nothing+ , _pStart = Nothing+ , _pDoubleValue = Nothing+ , _pStringValue = Nothing+ , _pDistributionValue = Nothing+ , _pEnd = Nothing+ , _pInt64Value = Nothing+ }++-- | The value of this data point. Either \"true\" or \"false\".+pBoolValue :: Lens' Point (Maybe Bool)+pBoolValue+ = lens _pBoolValue (\ s a -> s{_pBoolValue = a})++-- | The interval [start, end] is the time period to which the point\'s value+-- applies. For gauge metrics, whose values are instantaneous measurements,+-- this interval should be empty (start should equal end). For cumulative+-- metrics (of which deltas and rates are special cases), the interval+-- should be non-empty. Both start and end are RFC 3339 strings.+pStart :: Lens' Point (Maybe UTCTime)+pStart+ = lens _pStart (\ s a -> s{_pStart = a}) .+ mapping _DateTime++-- | The value of this data point as a double-precision floating-point+-- number.+pDoubleValue :: Lens' Point (Maybe Double)+pDoubleValue+ = lens _pDoubleValue (\ s a -> s{_pDoubleValue = a})+ . mapping _Coerce++-- | The value of this data point in string format.+pStringValue :: Lens' Point (Maybe Text)+pStringValue+ = lens _pStringValue (\ s a -> s{_pStringValue = a})++-- | The value of this data point as a distribution. A distribution value can+-- contain a list of buckets and\/or an underflowBucket and an+-- overflowBucket. The values of these points can be used to create a+-- histogram.+pDistributionValue :: Lens' Point (Maybe PointDistribution)+pDistributionValue+ = lens _pDistributionValue+ (\ s a -> s{_pDistributionValue = a})++-- | The interval [start, end] is the time period to which the point\'s value+-- applies. For gauge metrics, whose values are instantaneous measurements,+-- this interval should be empty (start should equal end). For cumulative+-- metrics (of which deltas and rates are special cases), the interval+-- should be non-empty. Both start and end are RFC 3339 strings.+pEnd :: Lens' Point (Maybe UTCTime)+pEnd+ = lens _pEnd (\ s a -> s{_pEnd = a}) .+ mapping _DateTime++-- | The value of this data point as a 64-bit integer.+pInt64Value :: Lens' Point (Maybe Int64)+pInt64Value+ = lens _pInt64Value (\ s a -> s{_pInt64Value = a}) .+ mapping _Coerce++instance FromJSON Point where+ parseJSON+ = withObject "Point"+ (\ o ->+ Point' <$>+ (o .:? "boolValue") <*> (o .:? "start") <*>+ (o .:? "doubleValue")+ <*> (o .:? "stringValue")+ <*> (o .:? "distributionValue")+ <*> (o .:? "end")+ <*> (o .:? "int64Value"))++instance ToJSON Point where+ toJSON Point'{..}+ = object+ (catMaybes+ [("boolValue" .=) <$> _pBoolValue,+ ("start" .=) <$> _pStart,+ ("doubleValue" .=) <$> _pDoubleValue,+ ("stringValue" .=) <$> _pStringValue,+ ("distributionValue" .=) <$> _pDistributionValue,+ ("end" .=) <$> _pEnd,+ ("int64Value" .=) <$> _pInt64Value])++-- | The overflow bucket is a special bucket that does not have the+-- upperBound field; it includes all of the events that are no less than+-- its lower bound.+--+-- /See:/ 'pointDistributionOverflowBucket' smart constructor.+data PointDistributionOverflowBucket = PointDistributionOverflowBucket'+ { _pdobCount :: !(Maybe (Textual Int64))+ , _pdobLowerBound :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PointDistributionOverflowBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdobCount'+--+-- * 'pdobLowerBound'+pointDistributionOverflowBucket+ :: PointDistributionOverflowBucket+pointDistributionOverflowBucket =+ PointDistributionOverflowBucket'+ { _pdobCount = Nothing+ , _pdobLowerBound = Nothing+ }++-- | The number of events whose values are in the interval defined by this+-- bucket.+pdobCount :: Lens' PointDistributionOverflowBucket (Maybe Int64)+pdobCount+ = lens _pdobCount (\ s a -> s{_pdobCount = a}) .+ mapping _Coerce++-- | The lower bound of the value interval of this bucket (inclusive).+pdobLowerBound :: Lens' PointDistributionOverflowBucket (Maybe Double)+pdobLowerBound+ = lens _pdobLowerBound+ (\ s a -> s{_pdobLowerBound = a})+ . mapping _Coerce++instance FromJSON PointDistributionOverflowBucket+ where+ parseJSON+ = withObject "PointDistributionOverflowBucket"+ (\ o ->+ PointDistributionOverflowBucket' <$>+ (o .:? "count") <*> (o .:? "lowerBound"))++instance ToJSON PointDistributionOverflowBucket where+ toJSON PointDistributionOverflowBucket'{..}+ = object+ (catMaybes+ [("count" .=) <$> _pdobCount,+ ("lowerBound" .=) <$> _pdobLowerBound])++-- | The response of cloudmonitoring.timeseriesDescriptors.list+--+-- /See:/ 'listTimeseriesDescriptorsResponse' smart constructor.+data ListTimeseriesDescriptorsResponse = ListTimeseriesDescriptorsResponse'+ { _lNextPageToken :: !(Maybe Text)+ , _lKind :: !Text+ , _lOldest :: !(Maybe DateTime')+ , _lYoungest :: !(Maybe DateTime')+ , _lTimeseries :: !(Maybe [TimeseriesDescriptor])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTimeseriesDescriptorsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lNextPageToken'+--+-- * 'lKind'+--+-- * 'lOldest'+--+-- * 'lYoungest'+--+-- * 'lTimeseries'+listTimeseriesDescriptorsResponse+ :: ListTimeseriesDescriptorsResponse+listTimeseriesDescriptorsResponse =+ ListTimeseriesDescriptorsResponse'+ { _lNextPageToken = Nothing+ , _lKind = "cloudmonitoring#listTimeseriesDescriptorsResponse"+ , _lOldest = Nothing+ , _lYoungest = Nothing+ , _lTimeseries = Nothing+ }++-- | Pagination token. If present, indicates that additional results are+-- available for retrieval. To access the results past the pagination+-- limit, set this value to the pageToken query parameter.+lNextPageToken :: Lens' ListTimeseriesDescriptorsResponse (Maybe Text)+lNextPageToken+ = lens _lNextPageToken+ (\ s a -> s{_lNextPageToken = a})++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#listTimeseriesDescriptorsResponse\".+lKind :: Lens' ListTimeseriesDescriptorsResponse Text+lKind = lens _lKind (\ s a -> s{_lKind = a})++-- | The oldest timestamp of the interval of this query, as an RFC 3339+-- string.+lOldest :: Lens' ListTimeseriesDescriptorsResponse (Maybe UTCTime)+lOldest+ = lens _lOldest (\ s a -> s{_lOldest = a}) .+ mapping _DateTime++-- | The youngest timestamp of the interval of this query, as an RFC 3339+-- string.+lYoungest :: Lens' ListTimeseriesDescriptorsResponse (Maybe UTCTime)+lYoungest+ = lens _lYoungest (\ s a -> s{_lYoungest = a}) .+ mapping _DateTime++-- | The returned time series descriptors.+lTimeseries :: Lens' ListTimeseriesDescriptorsResponse [TimeseriesDescriptor]+lTimeseries+ = lens _lTimeseries (\ s a -> s{_lTimeseries = a}) .+ _Default+ . _Coerce++instance FromJSON ListTimeseriesDescriptorsResponse+ where+ parseJSON+ = withObject "ListTimeseriesDescriptorsResponse"+ (\ o ->+ ListTimeseriesDescriptorsResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!=+ "cloudmonitoring#listTimeseriesDescriptorsResponse")+ <*> (o .:? "oldest")+ <*> (o .:? "youngest")+ <*> (o .:? "timeseries" .!= mempty))++instance ToJSON ListTimeseriesDescriptorsResponse+ where+ toJSON ListTimeseriesDescriptorsResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lNextPageToken,+ Just ("kind" .= _lKind), ("oldest" .=) <$> _lOldest,+ ("youngest" .=) <$> _lYoungest,+ ("timeseries" .=) <$> _lTimeseries])++-- | The request of cloudmonitoring.metricDescriptors.list.+--+-- /See:/ 'listMetricDescriptorsRequest' smart constructor.+newtype ListMetricDescriptorsRequest = ListMetricDescriptorsRequest'+ { _lisKind :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListMetricDescriptorsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lisKind'+listMetricDescriptorsRequest+ :: ListMetricDescriptorsRequest+listMetricDescriptorsRequest =+ ListMetricDescriptorsRequest'+ { _lisKind = "cloudmonitoring#listMetricDescriptorsRequest"+ }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#listMetricDescriptorsRequest\".+lisKind :: Lens' ListMetricDescriptorsRequest Text+lisKind = lens _lisKind (\ s a -> s{_lisKind = a})++instance FromJSON ListMetricDescriptorsRequest where+ parseJSON+ = withObject "ListMetricDescriptorsRequest"+ (\ o ->+ ListMetricDescriptorsRequest' <$>+ (o .:? "kind" .!=+ "cloudmonitoring#listMetricDescriptorsRequest"))++instance ToJSON ListMetricDescriptorsRequest where+ toJSON ListMetricDescriptorsRequest'{..}+ = object (catMaybes [Just ("kind" .= _lisKind)])++-- | When writing time series, TimeseriesPoint should be used instead of+-- Timeseries, to enforce single point for each time series in the+-- timeseries.write request.+--+-- /See:/ 'timeseriesPoint' smart constructor.+data TimeseriesPoint = TimeseriesPoint'+ { _tpPoint :: !(Maybe Point)+ , _tpTimeseriesDesc :: !(Maybe TimeseriesDescriptor)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesPoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpPoint'+--+-- * 'tpTimeseriesDesc'+timeseriesPoint+ :: TimeseriesPoint+timeseriesPoint =+ TimeseriesPoint'+ { _tpPoint = Nothing+ , _tpTimeseriesDesc = Nothing+ }++-- | The data point in this time series snapshot.+tpPoint :: Lens' TimeseriesPoint (Maybe Point)+tpPoint = lens _tpPoint (\ s a -> s{_tpPoint = a})++-- | The descriptor of this time series.+tpTimeseriesDesc :: Lens' TimeseriesPoint (Maybe TimeseriesDescriptor)+tpTimeseriesDesc+ = lens _tpTimeseriesDesc+ (\ s a -> s{_tpTimeseriesDesc = a})++instance FromJSON TimeseriesPoint where+ parseJSON+ = withObject "TimeseriesPoint"+ (\ o ->+ TimeseriesPoint' <$>+ (o .:? "point") <*> (o .:? "timeseriesDesc"))++instance ToJSON TimeseriesPoint where+ toJSON TimeseriesPoint'{..}+ = object+ (catMaybes+ [("point" .=) <$> _tpPoint,+ ("timeseriesDesc" .=) <$> _tpTimeseriesDesc])++-- | The response of cloudmonitoring.metricDescriptors.delete.+--+-- /See:/ 'deleteMetricDescriptorResponse' smart constructor.+newtype DeleteMetricDescriptorResponse = DeleteMetricDescriptorResponse'+ { _dmdrKind :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteMetricDescriptorResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmdrKind'+deleteMetricDescriptorResponse+ :: DeleteMetricDescriptorResponse+deleteMetricDescriptorResponse =+ DeleteMetricDescriptorResponse'+ { _dmdrKind = "cloudmonitoring#deleteMetricDescriptorResponse"+ }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#deleteMetricDescriptorResponse\".+dmdrKind :: Lens' DeleteMetricDescriptorResponse Text+dmdrKind = lens _dmdrKind (\ s a -> s{_dmdrKind = a})++instance FromJSON DeleteMetricDescriptorResponse+ where+ parseJSON+ = withObject "DeleteMetricDescriptorResponse"+ (\ o ->+ DeleteMetricDescriptorResponse' <$>+ (o .:? "kind" .!=+ "cloudmonitoring#deleteMetricDescriptorResponse"))++instance ToJSON DeleteMetricDescriptorResponse where+ toJSON DeleteMetricDescriptorResponse'{..}+ = object (catMaybes [Just ("kind" .= _dmdrKind)])++-- | The request of cloudmonitoring.timeseries.list+--+-- /See:/ 'listTimeseriesRequest' smart constructor.+newtype ListTimeseriesRequest = ListTimeseriesRequest'+ { _ltrtKind :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTimeseriesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrtKind'+listTimeseriesRequest+ :: ListTimeseriesRequest+listTimeseriesRequest =+ ListTimeseriesRequest'+ { _ltrtKind = "cloudmonitoring#listTimeseriesRequest"+ }++-- | Identifies what kind of resource this is. Value: the fixed string+-- \"cloudmonitoring#listTimeseriesRequest\".+ltrtKind :: Lens' ListTimeseriesRequest Text+ltrtKind = lens _ltrtKind (\ s a -> s{_ltrtKind = a})++instance FromJSON ListTimeseriesRequest where+ parseJSON+ = withObject "ListTimeseriesRequest"+ (\ o ->+ ListTimeseriesRequest' <$>+ (o .:? "kind" .!=+ "cloudmonitoring#listTimeseriesRequest"))++instance ToJSON ListTimeseriesRequest where+ toJSON ListTimeseriesRequest'{..}+ = object (catMaybes [Just ("kind" .= _ltrtKind)])++-- | TimeseriesDescriptor identifies a single time series.+--+-- /See:/ 'timeseriesDescriptor' smart constructor.+data TimeseriesDescriptor = TimeseriesDescriptor'+ { _tdProject :: !(Maybe Text)+ , _tdMetric :: !(Maybe Text)+ , _tdLabels :: !(Maybe TimeseriesDescriptorLabels)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesDescriptor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdProject'+--+-- * 'tdMetric'+--+-- * 'tdLabels'+timeseriesDescriptor+ :: TimeseriesDescriptor+timeseriesDescriptor =+ TimeseriesDescriptor'+ { _tdProject = Nothing+ , _tdMetric = Nothing+ , _tdLabels = Nothing+ }++-- | The Developers Console project number to which this time series belongs.+tdProject :: Lens' TimeseriesDescriptor (Maybe Text)+tdProject+ = lens _tdProject (\ s a -> s{_tdProject = a})++-- | The name of the metric.+tdMetric :: Lens' TimeseriesDescriptor (Maybe Text)+tdMetric = lens _tdMetric (\ s a -> s{_tdMetric = a})++-- | The label\'s name.+tdLabels :: Lens' TimeseriesDescriptor (Maybe TimeseriesDescriptorLabels)+tdLabels = lens _tdLabels (\ s a -> s{_tdLabels = a})++instance FromJSON TimeseriesDescriptor where+ parseJSON+ = withObject "TimeseriesDescriptor"+ (\ o ->+ TimeseriesDescriptor' <$>+ (o .:? "project") <*> (o .:? "metric") <*>+ (o .:? "labels"))++instance ToJSON TimeseriesDescriptor where+ toJSON TimeseriesDescriptor'{..}+ = object+ (catMaybes+ [("project" .=) <$> _tdProject,+ ("metric" .=) <$> _tdMetric,+ ("labels" .=) <$> _tdLabels])++-- | The monitoring data is organized as metrics and stored as data points+-- that are recorded over time. Each data point represents information like+-- the CPU utilization of your virtual machine. A historical record of+-- these data points is called a time series.+--+-- /See:/ 'timeseries' smart constructor.+data Timeseries = Timeseries'+ { _tPoints :: !(Maybe [Point])+ , _tTimeseriesDesc :: !(Maybe TimeseriesDescriptor)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Timeseries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tPoints'+--+-- * 'tTimeseriesDesc'+timeseries+ :: Timeseries+timeseries =+ Timeseries'+ { _tPoints = Nothing+ , _tTimeseriesDesc = Nothing+ }++-- | The data points of this time series. The points are listed in order of+-- their end timestamp, from younger to older.+tPoints :: Lens' Timeseries [Point]+tPoints+ = lens _tPoints (\ s a -> s{_tPoints = a}) . _Default+ . _Coerce++-- | The descriptor of this time series.+tTimeseriesDesc :: Lens' Timeseries (Maybe TimeseriesDescriptor)+tTimeseriesDesc+ = lens _tTimeseriesDesc+ (\ s a -> s{_tTimeseriesDesc = a})++instance FromJSON Timeseries where+ parseJSON+ = withObject "Timeseries"+ (\ o ->+ Timeseries' <$>+ (o .:? "points" .!= mempty) <*>+ (o .:? "timeseriesDesc"))++instance ToJSON Timeseries where+ toJSON Timeseries'{..}+ = object+ (catMaybes+ [("points" .=) <$> _tPoints,+ ("timeseriesDesc" .=) <$> _tTimeseriesDesc])
+ gen/Network/Google/CloudMonitoring/Types/Sum.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.CloudMonitoring.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.CloudMonitoring.Types.Sum where++import Network.Google.Prelude++-- | The aggregation function that will reduce the data points in each window+-- to a single point. This parameter is only valid for non-cumulative+-- metrics with a value type of INT64 or DOUBLE.+data TimeseriesListAggregator+ = Max+ -- ^ @max@+ | Mean+ -- ^ @mean@+ | Min+ -- ^ @min@+ | Sum+ -- ^ @sum@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TimeseriesListAggregator++instance FromHttpApiData TimeseriesListAggregator where+ parseQueryParam = \case+ "max" -> Right Max+ "mean" -> Right Mean+ "min" -> Right Min+ "sum" -> Right Sum+ x -> Left ("Unable to parse TimeseriesListAggregator from: " <> x)++instance ToHttpApiData TimeseriesListAggregator where+ toQueryParam = \case+ Max -> "max"+ Mean -> "mean"+ Min -> "min"+ Sum -> "sum"++instance FromJSON TimeseriesListAggregator where+ parseJSON = parseJSONText "TimeseriesListAggregator"++instance ToJSON TimeseriesListAggregator where+ toJSON = toJSONText++-- | The aggregation function that will reduce the data points in each window+-- to a single point. This parameter is only valid for non-cumulative+-- metrics with a value type of INT64 or DOUBLE.+data TimeseriesDescriptorsListAggregator+ = TDLAMax+ -- ^ @max@+ | TDLAMean+ -- ^ @mean@+ | TDLAMin+ -- ^ @min@+ | TDLASum+ -- ^ @sum@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TimeseriesDescriptorsListAggregator++instance FromHttpApiData TimeseriesDescriptorsListAggregator where+ parseQueryParam = \case+ "max" -> Right TDLAMax+ "mean" -> Right TDLAMean+ "min" -> Right TDLAMin+ "sum" -> Right TDLASum+ x -> Left ("Unable to parse TimeseriesDescriptorsListAggregator from: " <> x)++instance ToHttpApiData TimeseriesDescriptorsListAggregator where+ toQueryParam = \case+ TDLAMax -> "max"+ TDLAMean -> "mean"+ TDLAMin -> "min"+ TDLASum -> "sum"++instance FromJSON TimeseriesDescriptorsListAggregator where+ parseJSON = parseJSONText "TimeseriesDescriptorsListAggregator"++instance ToJSON TimeseriesDescriptorsListAggregator where+ toJSON = toJSONText
+ gen/Network/Google/Resource/CloudMonitoring/MetricDescriptors/Create.hs view
@@ -0,0 +1,102 @@+{-# 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.CloudMonitoring.MetricDescriptors.Create+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a new metric.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference> for @cloudmonitoring.metricDescriptors.create@.+module Network.Google.Resource.CloudMonitoring.MetricDescriptors.Create+ (+ -- * REST Resource+ MetricDescriptorsCreateResource++ -- * Creating a Request+ , metricDescriptorsCreate+ , MetricDescriptorsCreate++ -- * Request Lenses+ , mdcProject+ , mdcPayload+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude++-- | A resource alias for @cloudmonitoring.metricDescriptors.create@ method which the+-- 'MetricDescriptorsCreate' request conforms to.+type MetricDescriptorsCreateResource =+ "cloudmonitoring" :>+ "v2beta2" :>+ "projects" :>+ Capture "project" Text :>+ "metricDescriptors" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] MetricDescriptor :>+ Post '[JSON] MetricDescriptor++-- | Create a new metric.+--+-- /See:/ 'metricDescriptorsCreate' smart constructor.+data MetricDescriptorsCreate = MetricDescriptorsCreate'+ { _mdcProject :: !Text+ , _mdcPayload :: !MetricDescriptor+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDescriptorsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdcProject'+--+-- * 'mdcPayload'+metricDescriptorsCreate+ :: Text -- ^ 'mdcProject'+ -> MetricDescriptor -- ^ 'mdcPayload'+ -> MetricDescriptorsCreate+metricDescriptorsCreate pMdcProject_ pMdcPayload_ =+ MetricDescriptorsCreate'+ { _mdcProject = pMdcProject_+ , _mdcPayload = pMdcPayload_+ }++-- | The project id. The value can be the numeric project ID or string-based+-- project name.+mdcProject :: Lens' MetricDescriptorsCreate Text+mdcProject+ = lens _mdcProject (\ s a -> s{_mdcProject = a})++-- | Multipart request metadata.+mdcPayload :: Lens' MetricDescriptorsCreate MetricDescriptor+mdcPayload+ = lens _mdcPayload (\ s a -> s{_mdcPayload = a})++instance GoogleRequest MetricDescriptorsCreate where+ type Rs MetricDescriptorsCreate = MetricDescriptor+ type Scopes MetricDescriptorsCreate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/monitoring"]+ requestClient MetricDescriptorsCreate'{..}+ = go _mdcProject (Just AltJSON) _mdcPayload+ cloudMonitoringService+ where go+ = buildClient+ (Proxy :: Proxy MetricDescriptorsCreateResource)+ mempty
+ gen/Network/Google/Resource/CloudMonitoring/MetricDescriptors/Delete.hs view
@@ -0,0 +1,102 @@+{-# 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.CloudMonitoring.MetricDescriptors.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an existing metric.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference> for @cloudmonitoring.metricDescriptors.delete@.+module Network.Google.Resource.CloudMonitoring.MetricDescriptors.Delete+ (+ -- * REST Resource+ MetricDescriptorsDeleteResource++ -- * Creating a Request+ , metricDescriptorsDelete+ , MetricDescriptorsDelete++ -- * Request Lenses+ , mddProject+ , mddMetric+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude++-- | A resource alias for @cloudmonitoring.metricDescriptors.delete@ method which the+-- 'MetricDescriptorsDelete' request conforms to.+type MetricDescriptorsDeleteResource =+ "cloudmonitoring" :>+ "v2beta2" :>+ "projects" :>+ Capture "project" Text :>+ "metricDescriptors" :>+ Capture "metric" Text :>+ QueryParam "alt" AltJSON :>+ Delete '[JSON] DeleteMetricDescriptorResponse++-- | Delete an existing metric.+--+-- /See:/ 'metricDescriptorsDelete' smart constructor.+data MetricDescriptorsDelete = MetricDescriptorsDelete'+ { _mddProject :: !Text+ , _mddMetric :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDescriptorsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mddProject'+--+-- * 'mddMetric'+metricDescriptorsDelete+ :: Text -- ^ 'mddProject'+ -> Text -- ^ 'mddMetric'+ -> MetricDescriptorsDelete+metricDescriptorsDelete pMddProject_ pMddMetric_ =+ MetricDescriptorsDelete'+ { _mddProject = pMddProject_+ , _mddMetric = pMddMetric_+ }++-- | The project ID to which the metric belongs.+mddProject :: Lens' MetricDescriptorsDelete Text+mddProject+ = lens _mddProject (\ s a -> s{_mddProject = a})++-- | Name of the metric.+mddMetric :: Lens' MetricDescriptorsDelete Text+mddMetric+ = lens _mddMetric (\ s a -> s{_mddMetric = a})++instance GoogleRequest MetricDescriptorsDelete where+ type Rs MetricDescriptorsDelete =+ DeleteMetricDescriptorResponse+ type Scopes MetricDescriptorsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/monitoring"]+ requestClient MetricDescriptorsDelete'{..}+ = go _mddProject _mddMetric (Just AltJSON)+ cloudMonitoringService+ where go+ = buildClient+ (Proxy :: Proxy MetricDescriptorsDeleteResource)+ mempty
+ gen/Network/Google/Resource/CloudMonitoring/MetricDescriptors/List.hs view
@@ -0,0 +1,154 @@+{-# 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.CloudMonitoring.MetricDescriptors.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List metric descriptors that match the query. If the query is not set,+-- then all of the metric descriptors will be returned. Large responses+-- will be paginated, use the nextPageToken returned in the response to+-- request subsequent pages of results by setting the pageToken query+-- parameter to the value of the nextPageToken.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference> for @cloudmonitoring.metricDescriptors.list@.+module Network.Google.Resource.CloudMonitoring.MetricDescriptors.List+ (+ -- * REST Resource+ MetricDescriptorsListResource++ -- * Creating a Request+ , metricDescriptorsList+ , MetricDescriptorsList++ -- * Request Lenses+ , mdlProject+ , mdlCount+ , mdlPayload+ , mdlQuery+ , mdlPageToken+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude++-- | A resource alias for @cloudmonitoring.metricDescriptors.list@ method which the+-- 'MetricDescriptorsList' request conforms to.+type MetricDescriptorsListResource =+ "cloudmonitoring" :>+ "v2beta2" :>+ "projects" :>+ Capture "project" Text :>+ "metricDescriptors" :>+ QueryParam "count" (Textual Int32) :>+ QueryParam "query" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ListMetricDescriptorsRequest :>+ Get '[JSON] ListMetricDescriptorsResponse++-- | List metric descriptors that match the query. If the query is not set,+-- then all of the metric descriptors will be returned. Large responses+-- will be paginated, use the nextPageToken returned in the response to+-- request subsequent pages of results by setting the pageToken query+-- parameter to the value of the nextPageToken.+--+-- /See:/ 'metricDescriptorsList' smart constructor.+data MetricDescriptorsList = MetricDescriptorsList'+ { _mdlProject :: !Text+ , _mdlCount :: !(Textual Int32)+ , _mdlPayload :: !ListMetricDescriptorsRequest+ , _mdlQuery :: !(Maybe Text)+ , _mdlPageToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricDescriptorsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdlProject'+--+-- * 'mdlCount'+--+-- * 'mdlPayload'+--+-- * 'mdlQuery'+--+-- * 'mdlPageToken'+metricDescriptorsList+ :: Text -- ^ 'mdlProject'+ -> ListMetricDescriptorsRequest -- ^ 'mdlPayload'+ -> MetricDescriptorsList+metricDescriptorsList pMdlProject_ pMdlPayload_ =+ MetricDescriptorsList'+ { _mdlProject = pMdlProject_+ , _mdlCount = 100+ , _mdlPayload = pMdlPayload_+ , _mdlQuery = Nothing+ , _mdlPageToken = Nothing+ }++-- | The project id. The value can be the numeric project ID or string-based+-- project name.+mdlProject :: Lens' MetricDescriptorsList Text+mdlProject+ = lens _mdlProject (\ s a -> s{_mdlProject = a})++-- | Maximum number of metric descriptors per page. Used for pagination. If+-- not specified, count = 100.+mdlCount :: Lens' MetricDescriptorsList Int32+mdlCount+ = lens _mdlCount (\ s a -> s{_mdlCount = a}) .+ _Coerce++-- | Multipart request metadata.+mdlPayload :: Lens' MetricDescriptorsList ListMetricDescriptorsRequest+mdlPayload+ = lens _mdlPayload (\ s a -> s{_mdlPayload = a})++-- | The query used to search against existing metrics. Separate keywords+-- with a space; the service joins all keywords with AND, meaning that all+-- keywords must match for a metric to be returned. If this field is+-- omitted, all metrics are returned. If an empty string is passed with+-- this field, no metrics are returned.+mdlQuery :: Lens' MetricDescriptorsList (Maybe Text)+mdlQuery = lens _mdlQuery (\ s a -> s{_mdlQuery = a})++-- | The pagination token, which is used to page through large result sets.+-- Set this value to the value of the nextPageToken to retrieve the next+-- page of results.+mdlPageToken :: Lens' MetricDescriptorsList (Maybe Text)+mdlPageToken+ = lens _mdlPageToken (\ s a -> s{_mdlPageToken = a})++instance GoogleRequest MetricDescriptorsList where+ type Rs MetricDescriptorsList =+ ListMetricDescriptorsResponse+ type Scopes MetricDescriptorsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/monitoring"]+ requestClient MetricDescriptorsList'{..}+ = go _mdlProject (Just _mdlCount) _mdlQuery+ _mdlPageToken+ (Just AltJSON)+ _mdlPayload+ cloudMonitoringService+ where go+ = buildClient+ (Proxy :: Proxy MetricDescriptorsListResource)+ mempty
+ gen/Network/Google/Resource/CloudMonitoring/Timeseries/List.hs view
@@ -0,0 +1,243 @@+{-# 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.CloudMonitoring.Timeseries.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the data points of the time series that match the metric and labels+-- values and that have data points in the interval. Large responses are+-- paginated; use the nextPageToken returned in the response to request+-- subsequent pages of results by setting the pageToken query parameter to+-- the value of the nextPageToken.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference> for @cloudmonitoring.timeseries.list@.+module Network.Google.Resource.CloudMonitoring.Timeseries.List+ (+ -- * REST Resource+ TimeseriesListResource++ -- * Creating a Request+ , timeseriesList+ , TimeseriesList++ -- * Request Lenses+ , tlWindow+ , tlProject+ , tlCount+ , tlPayload+ , tlAggregator+ , tlTimespan+ , tlMetric+ , tlOldest+ , tlLabels+ , tlPageToken+ , tlYoungest+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude++-- | A resource alias for @cloudmonitoring.timeseries.list@ method which the+-- 'TimeseriesList' request conforms to.+type TimeseriesListResource =+ "cloudmonitoring" :>+ "v2beta2" :>+ "projects" :>+ Capture "project" Text :>+ "timeseries" :>+ Capture "metric" Text :>+ QueryParam "youngest" Text :>+ QueryParam "window" Text :>+ QueryParam "count" (Textual Int32) :>+ QueryParam "aggregator" TimeseriesListAggregator :>+ QueryParam "timespan" Text :>+ QueryParam "oldest" Text :>+ QueryParams "labels" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ListTimeseriesRequest :>+ Get '[JSON] ListTimeseriesResponse++-- | List the data points of the time series that match the metric and labels+-- values and that have data points in the interval. Large responses are+-- paginated; use the nextPageToken returned in the response to request+-- subsequent pages of results by setting the pageToken query parameter to+-- the value of the nextPageToken.+--+-- /See:/ 'timeseriesList' smart constructor.+data TimeseriesList = TimeseriesList'+ { _tlWindow :: !(Maybe Text)+ , _tlProject :: !Text+ , _tlCount :: !(Textual Int32)+ , _tlPayload :: !ListTimeseriesRequest+ , _tlAggregator :: !(Maybe TimeseriesListAggregator)+ , _tlTimespan :: !(Maybe Text)+ , _tlMetric :: !Text+ , _tlOldest :: !(Maybe Text)+ , _tlLabels :: !(Maybe [Text])+ , _tlPageToken :: !(Maybe Text)+ , _tlYoungest :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tlWindow'+--+-- * 'tlProject'+--+-- * 'tlCount'+--+-- * 'tlPayload'+--+-- * 'tlAggregator'+--+-- * 'tlTimespan'+--+-- * 'tlMetric'+--+-- * 'tlOldest'+--+-- * 'tlLabels'+--+-- * 'tlPageToken'+--+-- * 'tlYoungest'+timeseriesList+ :: Text -- ^ 'tlProject'+ -> ListTimeseriesRequest -- ^ 'tlPayload'+ -> Text -- ^ 'tlMetric'+ -> Text -- ^ 'tlYoungest'+ -> TimeseriesList+timeseriesList pTlProject_ pTlPayload_ pTlMetric_ pTlYoungest_ =+ TimeseriesList'+ { _tlWindow = Nothing+ , _tlProject = pTlProject_+ , _tlCount = 6000+ , _tlPayload = pTlPayload_+ , _tlAggregator = Nothing+ , _tlTimespan = Nothing+ , _tlMetric = pTlMetric_+ , _tlOldest = Nothing+ , _tlLabels = Nothing+ , _tlPageToken = Nothing+ , _tlYoungest = pTlYoungest_+ }++-- | The sampling window. At most one data point will be returned for each+-- window in the requested time interval. This parameter is only valid for+-- non-cumulative metric types. Units: - m: minute - h: hour - d: day - w:+-- week Examples: 3m, 4w. Only one unit is allowed, for example: 2w3d is+-- not allowed; you should use 17d instead.+tlWindow :: Lens' TimeseriesList (Maybe Text)+tlWindow = lens _tlWindow (\ s a -> s{_tlWindow = a})++-- | The project ID to which this time series belongs. The value can be the+-- numeric project ID or string-based project name.+tlProject :: Lens' TimeseriesList Text+tlProject+ = lens _tlProject (\ s a -> s{_tlProject = a})++-- | Maximum number of data points per page, which is used for pagination of+-- results.+tlCount :: Lens' TimeseriesList Int32+tlCount+ = lens _tlCount (\ s a -> s{_tlCount = a}) . _Coerce++-- | Multipart request metadata.+tlPayload :: Lens' TimeseriesList ListTimeseriesRequest+tlPayload+ = lens _tlPayload (\ s a -> s{_tlPayload = a})++-- | The aggregation function that will reduce the data points in each window+-- to a single point. This parameter is only valid for non-cumulative+-- metrics with a value type of INT64 or DOUBLE.+tlAggregator :: Lens' TimeseriesList (Maybe TimeseriesListAggregator)+tlAggregator+ = lens _tlAggregator (\ s a -> s{_tlAggregator = a})++-- | Length of the time interval to query, which is an alternative way to+-- declare the interval: (youngest - timespan, youngest]. The timespan and+-- oldest parameters should not be used together. Units: - s: second - m:+-- minute - h: hour - d: day - w: week Examples: 2s, 3m, 4w. Only one unit+-- is allowed, for example: 2w3d is not allowed; you should use 17d+-- instead. If neither oldest nor timespan is specified, the default time+-- interval will be (youngest - 4 hours, youngest].+tlTimespan :: Lens' TimeseriesList (Maybe Text)+tlTimespan+ = lens _tlTimespan (\ s a -> s{_tlTimespan = a})++-- | Metric names are protocol-free URLs as listed in the Supported Metrics+-- page. For example,+-- compute.googleapis.com\/instance\/disk\/read_ops_count.+tlMetric :: Lens' TimeseriesList Text+tlMetric = lens _tlMetric (\ s a -> s{_tlMetric = a})++-- | Start of the time interval (exclusive), which is expressed as an RFC+-- 3339 timestamp. If neither oldest nor timespan is specified, the default+-- time interval will be (youngest - 4 hours, youngest]+tlOldest :: Lens' TimeseriesList (Maybe Text)+tlOldest = lens _tlOldest (\ s a -> s{_tlOldest = a})++-- | A collection of labels for the matching time series, which are+-- represented as: - key==value: key equals the value - key=~value: key+-- regex matches the value - key!=value: key does not equal the value -+-- key!~value: key regex does not match the value For example, to list all+-- of the time series descriptors for the region us-central1, you could+-- specify: label=cloud.googleapis.com%2Flocation=~us-central1.*+tlLabels :: Lens' TimeseriesList [Text]+tlLabels+ = lens _tlLabels (\ s a -> s{_tlLabels = a}) .+ _Default+ . _Coerce++-- | The pagination token, which is used to page through large result sets.+-- Set this value to the value of the nextPageToken to retrieve the next+-- page of results.+tlPageToken :: Lens' TimeseriesList (Maybe Text)+tlPageToken+ = lens _tlPageToken (\ s a -> s{_tlPageToken = a})++-- | End of the time interval (inclusive), which is expressed as an RFC 3339+-- timestamp.+tlYoungest :: Lens' TimeseriesList Text+tlYoungest+ = lens _tlYoungest (\ s a -> s{_tlYoungest = a})++instance GoogleRequest TimeseriesList where+ type Rs TimeseriesList = ListTimeseriesResponse+ type Scopes TimeseriesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/monitoring"]+ requestClient TimeseriesList'{..}+ = go _tlProject _tlMetric (Just _tlYoungest)+ _tlWindow+ (Just _tlCount)+ _tlAggregator+ _tlTimespan+ _tlOldest+ (_tlLabels ^. _Default)+ _tlPageToken+ (Just AltJSON)+ _tlPayload+ cloudMonitoringService+ where go+ = buildClient (Proxy :: Proxy TimeseriesListResource)+ mempty
+ gen/Network/Google/Resource/CloudMonitoring/Timeseries/Write.hs view
@@ -0,0 +1,114 @@+{-# 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.CloudMonitoring.Timeseries.Write+-- 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)+--+-- Put data points to one or more time series for one or more metrics. If a+-- time series does not exist, a new time series will be created. It is not+-- allowed to write a time series point that is older than the existing+-- youngest point of that time series. Points that are older than the+-- existing youngest point of that time series will be discarded silently.+-- Therefore, users should make sure that points of a time series are+-- written sequentially in the order of their end time.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference> for @cloudmonitoring.timeseries.write@.+module Network.Google.Resource.CloudMonitoring.Timeseries.Write+ (+ -- * REST Resource+ TimeseriesWriteResource++ -- * Creating a Request+ , timeseriesWrite+ , TimeseriesWrite++ -- * Request Lenses+ , twProject+ , twPayload+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude++-- | A resource alias for @cloudmonitoring.timeseries.write@ method which the+-- 'TimeseriesWrite' request conforms to.+type TimeseriesWriteResource =+ "cloudmonitoring" :>+ "v2beta2" :>+ "projects" :>+ Capture "project" Text :>+ "timeseries:write" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] WriteTimeseriesRequest :>+ Post '[JSON] WriteTimeseriesResponse++-- | Put data points to one or more time series for one or more metrics. If a+-- time series does not exist, a new time series will be created. It is not+-- allowed to write a time series point that is older than the existing+-- youngest point of that time series. Points that are older than the+-- existing youngest point of that time series will be discarded silently.+-- Therefore, users should make sure that points of a time series are+-- written sequentially in the order of their end time.+--+-- /See:/ 'timeseriesWrite' smart constructor.+data TimeseriesWrite = TimeseriesWrite'+ { _twProject :: !Text+ , _twPayload :: !WriteTimeseriesRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesWrite' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'twProject'+--+-- * 'twPayload'+timeseriesWrite+ :: Text -- ^ 'twProject'+ -> WriteTimeseriesRequest -- ^ 'twPayload'+ -> TimeseriesWrite+timeseriesWrite pTwProject_ pTwPayload_ =+ TimeseriesWrite'+ { _twProject = pTwProject_+ , _twPayload = pTwPayload_+ }++-- | The project ID. The value can be the numeric project ID or string-based+-- project name.+twProject :: Lens' TimeseriesWrite Text+twProject+ = lens _twProject (\ s a -> s{_twProject = a})++-- | Multipart request metadata.+twPayload :: Lens' TimeseriesWrite WriteTimeseriesRequest+twPayload+ = lens _twPayload (\ s a -> s{_twPayload = a})++instance GoogleRequest TimeseriesWrite where+ type Rs TimeseriesWrite = WriteTimeseriesResponse+ type Scopes TimeseriesWrite =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/monitoring"]+ requestClient TimeseriesWrite'{..}+ = go _twProject (Just AltJSON) _twPayload+ cloudMonitoringService+ where go+ = buildClient+ (Proxy :: Proxy TimeseriesWriteResource)+ mempty
+ gen/Network/Google/Resource/CloudMonitoring/TimeseriesDescriptors/List.hs view
@@ -0,0 +1,256 @@+{-# 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.CloudMonitoring.TimeseriesDescriptors.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the descriptors of the time series that match the metric and labels+-- values and that have data points in the interval. Large responses are+-- paginated; use the nextPageToken returned in the response to request+-- subsequent pages of results by setting the pageToken query parameter to+-- the value of the nextPageToken.+--+-- /See:/ <https://cloud.google.com/monitoring/v2beta2/ Cloud Monitoring API Reference> for @cloudmonitoring.timeseriesDescriptors.list@.+module Network.Google.Resource.CloudMonitoring.TimeseriesDescriptors.List+ (+ -- * REST Resource+ TimeseriesDescriptorsListResource++ -- * Creating a Request+ , timeseriesDescriptorsList+ , TimeseriesDescriptorsList++ -- * Request Lenses+ , tdlWindow+ , tdlProject+ , tdlCount+ , tdlPayload+ , tdlAggregator+ , tdlTimespan+ , tdlMetric+ , tdlOldest+ , tdlLabels+ , tdlPageToken+ , tdlYoungest+ ) where++import Network.Google.CloudMonitoring.Types+import Network.Google.Prelude++-- | A resource alias for @cloudmonitoring.timeseriesDescriptors.list@ method which the+-- 'TimeseriesDescriptorsList' request conforms to.+type TimeseriesDescriptorsListResource =+ "cloudmonitoring" :>+ "v2beta2" :>+ "projects" :>+ Capture "project" Text :>+ "timeseriesDescriptors" :>+ Capture "metric" Text :>+ QueryParam "youngest" Text :>+ QueryParam "window" Text :>+ QueryParam "count" (Textual Int32) :>+ QueryParam "aggregator"+ TimeseriesDescriptorsListAggregator+ :>+ QueryParam "timespan" Text :>+ QueryParam "oldest" Text :>+ QueryParams "labels" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ ListTimeseriesDescriptorsRequest+ :>+ Get '[JSON]+ ListTimeseriesDescriptorsResponse++-- | List the descriptors of the time series that match the metric and labels+-- values and that have data points in the interval. Large responses are+-- paginated; use the nextPageToken returned in the response to request+-- subsequent pages of results by setting the pageToken query parameter to+-- the value of the nextPageToken.+--+-- /See:/ 'timeseriesDescriptorsList' smart constructor.+data TimeseriesDescriptorsList = TimeseriesDescriptorsList'+ { _tdlWindow :: !(Maybe Text)+ , _tdlProject :: !Text+ , _tdlCount :: !(Textual Int32)+ , _tdlPayload :: !ListTimeseriesDescriptorsRequest+ , _tdlAggregator :: !(Maybe TimeseriesDescriptorsListAggregator)+ , _tdlTimespan :: !(Maybe Text)+ , _tdlMetric :: !Text+ , _tdlOldest :: !(Maybe Text)+ , _tdlLabels :: !(Maybe [Text])+ , _tdlPageToken :: !(Maybe Text)+ , _tdlYoungest :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimeseriesDescriptorsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdlWindow'+--+-- * 'tdlProject'+--+-- * 'tdlCount'+--+-- * 'tdlPayload'+--+-- * 'tdlAggregator'+--+-- * 'tdlTimespan'+--+-- * 'tdlMetric'+--+-- * 'tdlOldest'+--+-- * 'tdlLabels'+--+-- * 'tdlPageToken'+--+-- * 'tdlYoungest'+timeseriesDescriptorsList+ :: Text -- ^ 'tdlProject'+ -> ListTimeseriesDescriptorsRequest -- ^ 'tdlPayload'+ -> Text -- ^ 'tdlMetric'+ -> Text -- ^ 'tdlYoungest'+ -> TimeseriesDescriptorsList+timeseriesDescriptorsList pTdlProject_ pTdlPayload_ pTdlMetric_ pTdlYoungest_ =+ TimeseriesDescriptorsList'+ { _tdlWindow = Nothing+ , _tdlProject = pTdlProject_+ , _tdlCount = 100+ , _tdlPayload = pTdlPayload_+ , _tdlAggregator = Nothing+ , _tdlTimespan = Nothing+ , _tdlMetric = pTdlMetric_+ , _tdlOldest = Nothing+ , _tdlLabels = Nothing+ , _tdlPageToken = Nothing+ , _tdlYoungest = pTdlYoungest_+ }++-- | The sampling window. At most one data point will be returned for each+-- window in the requested time interval. This parameter is only valid for+-- non-cumulative metric types. Units: - m: minute - h: hour - d: day - w:+-- week Examples: 3m, 4w. Only one unit is allowed, for example: 2w3d is+-- not allowed; you should use 17d instead.+tdlWindow :: Lens' TimeseriesDescriptorsList (Maybe Text)+tdlWindow+ = lens _tdlWindow (\ s a -> s{_tdlWindow = a})++-- | The project ID to which this time series belongs. The value can be the+-- numeric project ID or string-based project name.+tdlProject :: Lens' TimeseriesDescriptorsList Text+tdlProject+ = lens _tdlProject (\ s a -> s{_tdlProject = a})++-- | Maximum number of time series descriptors per page. Used for pagination.+-- If not specified, count = 100.+tdlCount :: Lens' TimeseriesDescriptorsList Int32+tdlCount+ = lens _tdlCount (\ s a -> s{_tdlCount = a}) .+ _Coerce++-- | Multipart request metadata.+tdlPayload :: Lens' TimeseriesDescriptorsList ListTimeseriesDescriptorsRequest+tdlPayload+ = lens _tdlPayload (\ s a -> s{_tdlPayload = a})++-- | The aggregation function that will reduce the data points in each window+-- to a single point. This parameter is only valid for non-cumulative+-- metrics with a value type of INT64 or DOUBLE.+tdlAggregator :: Lens' TimeseriesDescriptorsList (Maybe TimeseriesDescriptorsListAggregator)+tdlAggregator+ = lens _tdlAggregator+ (\ s a -> s{_tdlAggregator = a})++-- | Length of the time interval to query, which is an alternative way to+-- declare the interval: (youngest - timespan, youngest]. The timespan and+-- oldest parameters should not be used together. Units: - s: second - m:+-- minute - h: hour - d: day - w: week Examples: 2s, 3m, 4w. Only one unit+-- is allowed, for example: 2w3d is not allowed; you should use 17d+-- instead. If neither oldest nor timespan is specified, the default time+-- interval will be (youngest - 4 hours, youngest].+tdlTimespan :: Lens' TimeseriesDescriptorsList (Maybe Text)+tdlTimespan+ = lens _tdlTimespan (\ s a -> s{_tdlTimespan = a})++-- | Metric names are protocol-free URLs as listed in the Supported Metrics+-- page. For example,+-- compute.googleapis.com\/instance\/disk\/read_ops_count.+tdlMetric :: Lens' TimeseriesDescriptorsList Text+tdlMetric+ = lens _tdlMetric (\ s a -> s{_tdlMetric = a})++-- | Start of the time interval (exclusive), which is expressed as an RFC+-- 3339 timestamp. If neither oldest nor timespan is specified, the default+-- time interval will be (youngest - 4 hours, youngest]+tdlOldest :: Lens' TimeseriesDescriptorsList (Maybe Text)+tdlOldest+ = lens _tdlOldest (\ s a -> s{_tdlOldest = a})++-- | A collection of labels for the matching time series, which are+-- represented as: - key==value: key equals the value - key=~value: key+-- regex matches the value - key!=value: key does not equal the value -+-- key!~value: key regex does not match the value For example, to list all+-- of the time series descriptors for the region us-central1, you could+-- specify: label=cloud.googleapis.com%2Flocation=~us-central1.*+tdlLabels :: Lens' TimeseriesDescriptorsList [Text]+tdlLabels+ = lens _tdlLabels (\ s a -> s{_tdlLabels = a}) .+ _Default+ . _Coerce++-- | The pagination token, which is used to page through large result sets.+-- Set this value to the value of the nextPageToken to retrieve the next+-- page of results.+tdlPageToken :: Lens' TimeseriesDescriptorsList (Maybe Text)+tdlPageToken+ = lens _tdlPageToken (\ s a -> s{_tdlPageToken = a})++-- | End of the time interval (inclusive), which is expressed as an RFC 3339+-- timestamp.+tdlYoungest :: Lens' TimeseriesDescriptorsList Text+tdlYoungest+ = lens _tdlYoungest (\ s a -> s{_tdlYoungest = a})++instance GoogleRequest TimeseriesDescriptorsList+ where+ type Rs TimeseriesDescriptorsList =+ ListTimeseriesDescriptorsResponse+ type Scopes TimeseriesDescriptorsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/monitoring"]+ requestClient TimeseriesDescriptorsList'{..}+ = go _tdlProject _tdlMetric (Just _tdlYoungest)+ _tdlWindow+ (Just _tdlCount)+ _tdlAggregator+ _tdlTimespan+ _tdlOldest+ (_tdlLabels ^. _Default)+ _tdlPageToken+ (Just AltJSON)+ _tdlPayload+ cloudMonitoringService+ where go+ = buildClient+ (Proxy :: Proxy TimeseriesDescriptorsListResource)+ mempty
+ gogol-cloudmonitoring.cabal view
@@ -0,0 +1,51 @@+name: gogol-cloudmonitoring+version: 0.1.0+synopsis: Google Cloud Monitoring 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++description:+ Accesses Google Cloud Monitoring data.+ .+ /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 @v2beta2@+ 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.CloudMonitoring+ , Network.Google.CloudMonitoring.Types+ , Network.Google.Resource.CloudMonitoring.MetricDescriptors.Create+ , Network.Google.Resource.CloudMonitoring.MetricDescriptors.Delete+ , Network.Google.Resource.CloudMonitoring.MetricDescriptors.List+ , Network.Google.Resource.CloudMonitoring.Timeseries.List+ , Network.Google.Resource.CloudMonitoring.Timeseries.Write+ , Network.Google.Resource.CloudMonitoring.TimeseriesDescriptors.List++ other-modules:+ Network.Google.CloudMonitoring.Types.Product+ , Network.Google.CloudMonitoring.Types.Sum++ build-depends:+ gogol-core == 0.1.0.*+ , base >= 4.7 && < 5