-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Cloud Network Performance Monitoring SDK.
--   
--   Reports latency data.
--   
--   <i>Warning:</i> 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 <tt>v2</tt> of the API.
@package gogol-latencytest
@version 0.3.0


module Network.Google.LatencyTest.Types

-- | Default request referring to version <tt>v2</tt> of the Google Cloud
--   Network Performance Monitoring API. This contains the host and root
--   path used as a starting point for constructing service requests.
latencyTestService :: ServiceConfig

-- | View monitoring data for all of your Google Cloud and API projects
monitoringReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/monitoring.readonly"]
data IntValue

-- | Creates a value of <a>IntValue</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivValue</a></li>
--   <li><a>ivLabel</a></li>
--   </ul>
intValue :: IntValue
ivValue :: Lens' IntValue (Maybe Int64)
ivLabel :: Lens' IntValue (Maybe Text)
data DoubleValue

-- | Creates a value of <a>DoubleValue</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvValue</a></li>
--   <li><a>dvLabel</a></li>
--   </ul>
doubleValue :: DoubleValue
dvValue :: Lens' DoubleValue (Maybe Double)
dvLabel :: Lens' DoubleValue (Maybe Text)
data StringValue

-- | Creates a value of <a>StringValue</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svValue</a></li>
--   <li><a>svLabel</a></li>
--   </ul>
stringValue :: StringValue
svValue :: Lens' StringValue (Maybe Text)
svLabel :: Lens' StringValue (Maybe Text)
data AggregatedStatsReply

-- | Creates a value of <a>AggregatedStatsReply</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asrTestValue</a></li>
--   </ul>
aggregatedStatsReply :: AggregatedStatsReply
asrTestValue :: Lens' AggregatedStatsReply (Maybe Text)
data Stats

-- | Creates a value of <a>Stats</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sTime</a></li>
--   <li><a>sDoubleValues</a></li>
--   <li><a>sStringValues</a></li>
--   <li><a>sIntValues</a></li>
--   </ul>
stats :: Stats
sTime :: Lens' Stats (Maybe Double)
sDoubleValues :: Lens' Stats [DoubleValue]
sStringValues :: Lens' Stats [StringValue]
sIntValues :: Lens' Stats [IntValue]
data AggregatedStats

-- | Creates a value of <a>AggregatedStats</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asStats</a></li>
--   </ul>
aggregatedStats :: AggregatedStats
asStats :: Lens' AggregatedStats [Stats]
data StatsReply

-- | Creates a value of <a>StatsReply</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srTestValue</a></li>
--   </ul>
statsReply :: StatsReply
srTestValue :: Lens' StatsReply (Maybe Text)


-- | RPC to update the new TCP stats.
--   
--   <i>See:</i> <a>Cloud Network Performance Monitoring API Reference</a>
--   for <tt>cloudlatencytest.statscollection.updateaggregatedstats</tt>.
module Network.Google.Resource.Cloudlatencytest.Statscollection.Updateaggregatedstats

-- | A resource alias for
--   <tt>cloudlatencytest.statscollection.updateaggregatedstats</tt> method
--   which the <a>StatscollectionUpdateaggregatedstats</a> request conforms
--   to.
type StatscollectionUpdateaggregatedstatsResource = "v2" :> ("statscollection" :> ("updateaggregatedstats" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AggregatedStats :> Post '[JSON] AggregatedStatsReply))))

-- | Creates a value of <a>StatscollectionUpdateaggregatedstats</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sPayload</a></li>
--   </ul>
statscollectionUpdateaggregatedstats :: AggregatedStats -> StatscollectionUpdateaggregatedstats

-- | RPC to update the new TCP stats.
--   
--   <i>See:</i> <a>statscollectionUpdateaggregatedstats</a> smart
--   constructor.
data StatscollectionUpdateaggregatedstats

-- | Multipart request metadata.
sPayload :: Lens' StatscollectionUpdateaggregatedstats AggregatedStats
instance GHC.Generics.Generic Network.Google.Resource.Cloudlatencytest.Statscollection.Updateaggregatedstats.StatscollectionUpdateaggregatedstats
instance Data.Data.Data Network.Google.Resource.Cloudlatencytest.Statscollection.Updateaggregatedstats.StatscollectionUpdateaggregatedstats
instance GHC.Show.Show Network.Google.Resource.Cloudlatencytest.Statscollection.Updateaggregatedstats.StatscollectionUpdateaggregatedstats
instance GHC.Classes.Eq Network.Google.Resource.Cloudlatencytest.Statscollection.Updateaggregatedstats.StatscollectionUpdateaggregatedstats
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Cloudlatencytest.Statscollection.Updateaggregatedstats.StatscollectionUpdateaggregatedstats


-- | RPC to update the new TCP stats.
--   
--   <i>See:</i> <a>Cloud Network Performance Monitoring API Reference</a>
--   for <tt>cloudlatencytest.statscollection.updatestats</tt>.
module Network.Google.Resource.Cloudlatencytest.Statscollection.Updatestats

-- | A resource alias for
--   <tt>cloudlatencytest.statscollection.updatestats</tt> method which the
--   <a>StatscollectionUpdatestats</a> request conforms to.
type StatscollectionUpdatestatsResource = "v2" :> ("statscollection" :> ("updatestats" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Stats :> Post '[JSON] StatsReply))))

-- | Creates a value of <a>StatscollectionUpdatestats</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>suPayload</a></li>
--   </ul>
statscollectionUpdatestats :: Stats -> StatscollectionUpdatestats

-- | RPC to update the new TCP stats.
--   
--   <i>See:</i> <a>statscollectionUpdatestats</a> smart constructor.
data StatscollectionUpdatestats

-- | Multipart request metadata.
suPayload :: Lens' StatscollectionUpdatestats Stats
instance GHC.Generics.Generic Network.Google.Resource.Cloudlatencytest.Statscollection.Updatestats.StatscollectionUpdatestats
instance Data.Data.Data Network.Google.Resource.Cloudlatencytest.Statscollection.Updatestats.StatscollectionUpdatestats
instance GHC.Show.Show Network.Google.Resource.Cloudlatencytest.Statscollection.Updatestats.StatscollectionUpdatestats
instance GHC.Classes.Eq Network.Google.Resource.Cloudlatencytest.Statscollection.Updatestats.StatscollectionUpdatestats
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Cloudlatencytest.Statscollection.Updatestats.StatscollectionUpdatestats


-- | Reports latency data.
--   
--   <i>See:</i> <a>Cloud Network Performance Monitoring API Reference</a>
module Network.Google.LatencyTest

-- | Default request referring to version <tt>v2</tt> of the Google Cloud
--   Network Performance Monitoring API. This contains the host and root
--   path used as a starting point for constructing service requests.
latencyTestService :: ServiceConfig

-- | View monitoring data for all of your Google Cloud and API projects
monitoringReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/monitoring.readonly"]

-- | Represents the entirety of the methods and resources available for the
--   Google Cloud Network Performance Monitoring API service.
type LatencyTestAPI = StatscollectionUpdatestatsResource :<|> StatscollectionUpdateaggregatedstatsResource
data IntValue

-- | Creates a value of <a>IntValue</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ivValue</a></li>
--   <li><a>ivLabel</a></li>
--   </ul>
intValue :: IntValue
ivValue :: Lens' IntValue (Maybe Int64)
ivLabel :: Lens' IntValue (Maybe Text)
data DoubleValue

-- | Creates a value of <a>DoubleValue</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvValue</a></li>
--   <li><a>dvLabel</a></li>
--   </ul>
doubleValue :: DoubleValue
dvValue :: Lens' DoubleValue (Maybe Double)
dvLabel :: Lens' DoubleValue (Maybe Text)
data StringValue

-- | Creates a value of <a>StringValue</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>svValue</a></li>
--   <li><a>svLabel</a></li>
--   </ul>
stringValue :: StringValue
svValue :: Lens' StringValue (Maybe Text)
svLabel :: Lens' StringValue (Maybe Text)
data AggregatedStatsReply

-- | Creates a value of <a>AggregatedStatsReply</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asrTestValue</a></li>
--   </ul>
aggregatedStatsReply :: AggregatedStatsReply
asrTestValue :: Lens' AggregatedStatsReply (Maybe Text)
data Stats

-- | Creates a value of <a>Stats</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sTime</a></li>
--   <li><a>sDoubleValues</a></li>
--   <li><a>sStringValues</a></li>
--   <li><a>sIntValues</a></li>
--   </ul>
stats :: Stats
sTime :: Lens' Stats (Maybe Double)
sDoubleValues :: Lens' Stats [DoubleValue]
sStringValues :: Lens' Stats [StringValue]
sIntValues :: Lens' Stats [IntValue]
data AggregatedStats

-- | Creates a value of <a>AggregatedStats</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asStats</a></li>
--   </ul>
aggregatedStats :: AggregatedStats
asStats :: Lens' AggregatedStats [Stats]
data StatsReply

-- | Creates a value of <a>StatsReply</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srTestValue</a></li>
--   </ul>
statsReply :: StatsReply
srTestValue :: Lens' StatsReply (Maybe Text)
