{-# 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.AnalyticsReporting.Types.Product where
import Network.Google.AnalyticsReporting.Types.Sum
import Network.Google.Prelude
data MetricFilter = MetricFilter'
{ _mfNot :: !(Maybe Bool)
, _mfOperator :: !(Maybe MetricFilterOperator)
, _mfMetricName :: !(Maybe Text)
, _mfComparisonValue :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
metricFilter
:: MetricFilter
metricFilter =
MetricFilter'
{ _mfNot = Nothing
, _mfOperator = Nothing
, _mfMetricName = Nothing
, _mfComparisonValue = Nothing
}
mfNot :: Lens' MetricFilter (Maybe Bool)
mfNot = lens _mfNot (\ s a -> s{_mfNot = a})
mfOperator :: Lens' MetricFilter (Maybe MetricFilterOperator)
mfOperator
= lens _mfOperator (\ s a -> s{_mfOperator = a})
mfMetricName :: Lens' MetricFilter (Maybe Text)
mfMetricName
= lens _mfMetricName (\ s a -> s{_mfMetricName = a})
mfComparisonValue :: Lens' MetricFilter (Maybe Text)
mfComparisonValue
= lens _mfComparisonValue
(\ s a -> s{_mfComparisonValue = a})
instance FromJSON MetricFilter where
parseJSON
= withObject "MetricFilter"
(\ o ->
MetricFilter' <$>
(o .:? "not") <*> (o .:? "operator") <*>
(o .:? "metricName")
<*> (o .:? "comparisonValue"))
instance ToJSON MetricFilter where
toJSON MetricFilter'{..}
= object
(catMaybes
[("not" .=) <$> _mfNot,
("operator" .=) <$> _mfOperator,
("metricName" .=) <$> _mfMetricName,
("comparisonValue" .=) <$> _mfComparisonValue])
data ReportRow = ReportRow'
{ _rrMetrics :: !(Maybe [DateRangeValues])
, _rrDimensions :: !(Maybe [Text])
} deriving (Eq,Show,Data,Typeable,Generic)
reportRow
:: ReportRow
reportRow =
ReportRow'
{ _rrMetrics = Nothing
, _rrDimensions = Nothing
}
rrMetrics :: Lens' ReportRow [DateRangeValues]
rrMetrics
= lens _rrMetrics (\ s a -> s{_rrMetrics = a}) .
_Default
. _Coerce
rrDimensions :: Lens' ReportRow [Text]
rrDimensions
= lens _rrDimensions (\ s a -> s{_rrDimensions = a})
. _Default
. _Coerce
instance FromJSON ReportRow where
parseJSON
= withObject "ReportRow"
(\ o ->
ReportRow' <$>
(o .:? "metrics" .!= mempty) <*>
(o .:? "dimensions" .!= mempty))
instance ToJSON ReportRow where
toJSON ReportRow'{..}
= object
(catMaybes
[("metrics" .=) <$> _rrMetrics,
("dimensions" .=) <$> _rrDimensions])
data PivotHeaderEntry = PivotHeaderEntry'
{ _pheDimensionValues :: !(Maybe [Text])
, _pheDimensionNames :: !(Maybe [Text])
, _pheMetric :: !(Maybe MetricHeaderEntry)
} deriving (Eq,Show,Data,Typeable,Generic)
pivotHeaderEntry
:: PivotHeaderEntry
pivotHeaderEntry =
PivotHeaderEntry'
{ _pheDimensionValues = Nothing
, _pheDimensionNames = Nothing
, _pheMetric = Nothing
}
pheDimensionValues :: Lens' PivotHeaderEntry [Text]
pheDimensionValues
= lens _pheDimensionValues
(\ s a -> s{_pheDimensionValues = a})
. _Default
. _Coerce
pheDimensionNames :: Lens' PivotHeaderEntry [Text]
pheDimensionNames
= lens _pheDimensionNames
(\ s a -> s{_pheDimensionNames = a})
. _Default
. _Coerce
pheMetric :: Lens' PivotHeaderEntry (Maybe MetricHeaderEntry)
pheMetric
= lens _pheMetric (\ s a -> s{_pheMetric = a})
instance FromJSON PivotHeaderEntry where
parseJSON
= withObject "PivotHeaderEntry"
(\ o ->
PivotHeaderEntry' <$>
(o .:? "dimensionValues" .!= mempty) <*>
(o .:? "dimensionNames" .!= mempty)
<*> (o .:? "metric"))
instance ToJSON PivotHeaderEntry where
toJSON PivotHeaderEntry'{..}
= object
(catMaybes
[("dimensionValues" .=) <$> _pheDimensionValues,
("dimensionNames" .=) <$> _pheDimensionNames,
("metric" .=) <$> _pheMetric])
newtype PivotValueRegion = PivotValueRegion'
{ _pvrValues :: Maybe [Text]
} deriving (Eq,Show,Data,Typeable,Generic)
pivotValueRegion
:: PivotValueRegion
pivotValueRegion =
PivotValueRegion'
{ _pvrValues = Nothing
}
pvrValues :: Lens' PivotValueRegion [Text]
pvrValues
= lens _pvrValues (\ s a -> s{_pvrValues = a}) .
_Default
. _Coerce
instance FromJSON PivotValueRegion where
parseJSON
= withObject "PivotValueRegion"
(\ o ->
PivotValueRegion' <$> (o .:? "values" .!= mempty))
instance ToJSON PivotValueRegion where
toJSON PivotValueRegion'{..}
= object (catMaybes [("values" .=) <$> _pvrValues])
data ReportRequest = ReportRequest'
{ _rMetrics :: !(Maybe [Metric])
, _rPivots :: !(Maybe [Pivot])
, _rCohortGroup :: !(Maybe CohortGroup)
, _rSamplingLevel :: !(Maybe ReportRequestSamplingLevel)
, _rIncludeEmptyRows :: !(Maybe Bool)
, _rDateRanges :: !(Maybe [DateRange])
, _rViewId :: !(Maybe Text)
, _rHideTotals :: !(Maybe Bool)
, _rHideValueRanges :: !(Maybe Bool)
, _rMetricFilterClauses :: !(Maybe [MetricFilterClause])
, _rSegments :: !(Maybe [Segment])
, _rPageToken :: !(Maybe Text)
, _rDimensions :: !(Maybe [Dimension])
, _rDimensionFilterClauses :: !(Maybe [DimensionFilterClause])
, _rPageSize :: !(Maybe (Textual Int32))
, _rOrderBys :: !(Maybe [OrderBy])
, _rFiltersExpression :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
reportRequest
:: ReportRequest
reportRequest =
ReportRequest'
{ _rMetrics = Nothing
, _rPivots = Nothing
, _rCohortGroup = Nothing
, _rSamplingLevel = Nothing
, _rIncludeEmptyRows = Nothing
, _rDateRanges = Nothing
, _rViewId = Nothing
, _rHideTotals = Nothing
, _rHideValueRanges = Nothing
, _rMetricFilterClauses = Nothing
, _rSegments = Nothing
, _rPageToken = Nothing
, _rDimensions = Nothing
, _rDimensionFilterClauses = Nothing
, _rPageSize = Nothing
, _rOrderBys = Nothing
, _rFiltersExpression = Nothing
}
rMetrics :: Lens' ReportRequest [Metric]
rMetrics
= lens _rMetrics (\ s a -> s{_rMetrics = a}) .
_Default
. _Coerce
rPivots :: Lens' ReportRequest [Pivot]
rPivots
= lens _rPivots (\ s a -> s{_rPivots = a}) . _Default
. _Coerce
rCohortGroup :: Lens' ReportRequest (Maybe CohortGroup)
rCohortGroup
= lens _rCohortGroup (\ s a -> s{_rCohortGroup = a})
rSamplingLevel :: Lens' ReportRequest (Maybe ReportRequestSamplingLevel)
rSamplingLevel
= lens _rSamplingLevel
(\ s a -> s{_rSamplingLevel = a})
rIncludeEmptyRows :: Lens' ReportRequest (Maybe Bool)
rIncludeEmptyRows
= lens _rIncludeEmptyRows
(\ s a -> s{_rIncludeEmptyRows = a})
rDateRanges :: Lens' ReportRequest [DateRange]
rDateRanges
= lens _rDateRanges (\ s a -> s{_rDateRanges = a}) .
_Default
. _Coerce
rViewId :: Lens' ReportRequest (Maybe Text)
rViewId = lens _rViewId (\ s a -> s{_rViewId = a})
rHideTotals :: Lens' ReportRequest (Maybe Bool)
rHideTotals
= lens _rHideTotals (\ s a -> s{_rHideTotals = a})
rHideValueRanges :: Lens' ReportRequest (Maybe Bool)
rHideValueRanges
= lens _rHideValueRanges
(\ s a -> s{_rHideValueRanges = a})
rMetricFilterClauses :: Lens' ReportRequest [MetricFilterClause]
rMetricFilterClauses
= lens _rMetricFilterClauses
(\ s a -> s{_rMetricFilterClauses = a})
. _Default
. _Coerce
rSegments :: Lens' ReportRequest [Segment]
rSegments
= lens _rSegments (\ s a -> s{_rSegments = a}) .
_Default
. _Coerce
rPageToken :: Lens' ReportRequest (Maybe Text)
rPageToken
= lens _rPageToken (\ s a -> s{_rPageToken = a})
rDimensions :: Lens' ReportRequest [Dimension]
rDimensions
= lens _rDimensions (\ s a -> s{_rDimensions = a}) .
_Default
. _Coerce
rDimensionFilterClauses :: Lens' ReportRequest [DimensionFilterClause]
rDimensionFilterClauses
= lens _rDimensionFilterClauses
(\ s a -> s{_rDimensionFilterClauses = a})
. _Default
. _Coerce
rPageSize :: Lens' ReportRequest (Maybe Int32)
rPageSize
= lens _rPageSize (\ s a -> s{_rPageSize = a}) .
mapping _Coerce
rOrderBys :: Lens' ReportRequest [OrderBy]
rOrderBys
= lens _rOrderBys (\ s a -> s{_rOrderBys = a}) .
_Default
. _Coerce
rFiltersExpression :: Lens' ReportRequest (Maybe Text)
rFiltersExpression
= lens _rFiltersExpression
(\ s a -> s{_rFiltersExpression = a})
instance FromJSON ReportRequest where
parseJSON
= withObject "ReportRequest"
(\ o ->
ReportRequest' <$>
(o .:? "metrics" .!= mempty) <*>
(o .:? "pivots" .!= mempty)
<*> (o .:? "cohortGroup")
<*> (o .:? "samplingLevel")
<*> (o .:? "includeEmptyRows")
<*> (o .:? "dateRanges" .!= mempty)
<*> (o .:? "viewId")
<*> (o .:? "hideTotals")
<*> (o .:? "hideValueRanges")
<*> (o .:? "metricFilterClauses" .!= mempty)
<*> (o .:? "segments" .!= mempty)
<*> (o .:? "pageToken")
<*> (o .:? "dimensions" .!= mempty)
<*> (o .:? "dimensionFilterClauses" .!= mempty)
<*> (o .:? "pageSize")
<*> (o .:? "orderBys" .!= mempty)
<*> (o .:? "filtersExpression"))
instance ToJSON ReportRequest where
toJSON ReportRequest'{..}
= object
(catMaybes
[("metrics" .=) <$> _rMetrics,
("pivots" .=) <$> _rPivots,
("cohortGroup" .=) <$> _rCohortGroup,
("samplingLevel" .=) <$> _rSamplingLevel,
("includeEmptyRows" .=) <$> _rIncludeEmptyRows,
("dateRanges" .=) <$> _rDateRanges,
("viewId" .=) <$> _rViewId,
("hideTotals" .=) <$> _rHideTotals,
("hideValueRanges" .=) <$> _rHideValueRanges,
("metricFilterClauses" .=) <$> _rMetricFilterClauses,
("segments" .=) <$> _rSegments,
("pageToken" .=) <$> _rPageToken,
("dimensions" .=) <$> _rDimensions,
("dimensionFilterClauses" .=) <$>
_rDimensionFilterClauses,
("pageSize" .=) <$> _rPageSize,
("orderBys" .=) <$> _rOrderBys,
("filtersExpression" .=) <$> _rFiltersExpression])
data MetricHeaderEntry = MetricHeaderEntry'
{ _mheName :: !(Maybe Text)
, _mheType :: !(Maybe MetricHeaderEntryType)
} deriving (Eq,Show,Data,Typeable,Generic)
metricHeaderEntry
:: MetricHeaderEntry
metricHeaderEntry =
MetricHeaderEntry'
{ _mheName = Nothing
, _mheType = Nothing
}
mheName :: Lens' MetricHeaderEntry (Maybe Text)
mheName = lens _mheName (\ s a -> s{_mheName = a})
mheType :: Lens' MetricHeaderEntry (Maybe MetricHeaderEntryType)
mheType = lens _mheType (\ s a -> s{_mheType = a})
instance FromJSON MetricHeaderEntry where
parseJSON
= withObject "MetricHeaderEntry"
(\ o ->
MetricHeaderEntry' <$>
(o .:? "name") <*> (o .:? "type"))
instance ToJSON MetricHeaderEntry where
toJSON MetricHeaderEntry'{..}
= object
(catMaybes
[("name" .=) <$> _mheName, ("type" .=) <$> _mheType])
data CohortGroup = CohortGroup'
{ _cgCohorts :: !(Maybe [Cohort])
, _cgLifetimeValue :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
cohortGroup
:: CohortGroup
cohortGroup =
CohortGroup'
{ _cgCohorts = Nothing
, _cgLifetimeValue = Nothing
}
cgCohorts :: Lens' CohortGroup [Cohort]
cgCohorts
= lens _cgCohorts (\ s a -> s{_cgCohorts = a}) .
_Default
. _Coerce
cgLifetimeValue :: Lens' CohortGroup (Maybe Bool)
cgLifetimeValue
= lens _cgLifetimeValue
(\ s a -> s{_cgLifetimeValue = a})
instance FromJSON CohortGroup where
parseJSON
= withObject "CohortGroup"
(\ o ->
CohortGroup' <$>
(o .:? "cohorts" .!= mempty) <*>
(o .:? "lifetimeValue"))
instance ToJSON CohortGroup where
toJSON CohortGroup'{..}
= object
(catMaybes
[("cohorts" .=) <$> _cgCohorts,
("lifetimeValue" .=) <$> _cgLifetimeValue])
newtype SimpleSegment = SimpleSegment'
{ _ssOrFiltersForSegment :: Maybe [OrFiltersForSegment]
} deriving (Eq,Show,Data,Typeable,Generic)
simpleSegment
:: SimpleSegment
simpleSegment =
SimpleSegment'
{ _ssOrFiltersForSegment = Nothing
}
ssOrFiltersForSegment :: Lens' SimpleSegment [OrFiltersForSegment]
ssOrFiltersForSegment
= lens _ssOrFiltersForSegment
(\ s a -> s{_ssOrFiltersForSegment = a})
. _Default
. _Coerce
instance FromJSON SimpleSegment where
parseJSON
= withObject "SimpleSegment"
(\ o ->
SimpleSegment' <$>
(o .:? "orFiltersForSegment" .!= mempty))
instance ToJSON SimpleSegment where
toJSON SimpleSegment'{..}
= object
(catMaybes
[("orFiltersForSegment" .=) <$>
_ssOrFiltersForSegment])
data DimensionFilterClause = DimensionFilterClause'
{ _dfcOperator :: !(Maybe DimensionFilterClauseOperator)
, _dfcFilters :: !(Maybe [DimensionFilter])
} deriving (Eq,Show,Data,Typeable,Generic)
dimensionFilterClause
:: DimensionFilterClause
dimensionFilterClause =
DimensionFilterClause'
{ _dfcOperator = Nothing
, _dfcFilters = Nothing
}
dfcOperator :: Lens' DimensionFilterClause (Maybe DimensionFilterClauseOperator)
dfcOperator
= lens _dfcOperator (\ s a -> s{_dfcOperator = a})
dfcFilters :: Lens' DimensionFilterClause [DimensionFilter]
dfcFilters
= lens _dfcFilters (\ s a -> s{_dfcFilters = a}) .
_Default
. _Coerce
instance FromJSON DimensionFilterClause where
parseJSON
= withObject "DimensionFilterClause"
(\ o ->
DimensionFilterClause' <$>
(o .:? "operator") <*> (o .:? "filters" .!= mempty))
instance ToJSON DimensionFilterClause where
toJSON DimensionFilterClause'{..}
= object
(catMaybes
[("operator" .=) <$> _dfcOperator,
("filters" .=) <$> _dfcFilters])
data OrderBy = OrderBy'
{ _obOrderType :: !(Maybe OrderByOrderType)
, _obSortOrder :: !(Maybe OrderBySortOrder)
, _obFieldName :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
orderBy
:: OrderBy
orderBy =
OrderBy'
{ _obOrderType = Nothing
, _obSortOrder = Nothing
, _obFieldName = Nothing
}
obOrderType :: Lens' OrderBy (Maybe OrderByOrderType)
obOrderType
= lens _obOrderType (\ s a -> s{_obOrderType = a})
obSortOrder :: Lens' OrderBy (Maybe OrderBySortOrder)
obSortOrder
= lens _obSortOrder (\ s a -> s{_obSortOrder = a})
obFieldName :: Lens' OrderBy (Maybe Text)
obFieldName
= lens _obFieldName (\ s a -> s{_obFieldName = a})
instance FromJSON OrderBy where
parseJSON
= withObject "OrderBy"
(\ o ->
OrderBy' <$>
(o .:? "orderType") <*> (o .:? "sortOrder") <*>
(o .:? "fieldName"))
instance ToJSON OrderBy where
toJSON OrderBy'{..}
= object
(catMaybes
[("orderType" .=) <$> _obOrderType,
("sortOrder" .=) <$> _obSortOrder,
("fieldName" .=) <$> _obFieldName])
data Dimension = Dimension'
{ _dName :: !(Maybe Text)
, _dHistogramBuckets :: !(Maybe [Textual Int64])
} deriving (Eq,Show,Data,Typeable,Generic)
dimension
:: Dimension
dimension =
Dimension'
{ _dName = Nothing
, _dHistogramBuckets = Nothing
}
dName :: Lens' Dimension (Maybe Text)
dName = lens _dName (\ s a -> s{_dName = a})
dHistogramBuckets :: Lens' Dimension [Int64]
dHistogramBuckets
= lens _dHistogramBuckets
(\ s a -> s{_dHistogramBuckets = a})
. _Default
. _Coerce
instance FromJSON Dimension where
parseJSON
= withObject "Dimension"
(\ o ->
Dimension' <$>
(o .:? "name") <*>
(o .:? "histogramBuckets" .!= mempty))
instance ToJSON Dimension where
toJSON Dimension'{..}
= object
(catMaybes
[("name" .=) <$> _dName,
("histogramBuckets" .=) <$> _dHistogramBuckets])
data DateRangeValues = DateRangeValues'
{ _drvPivotValueRegions :: !(Maybe [PivotValueRegion])
, _drvValues :: !(Maybe [Text])
} deriving (Eq,Show,Data,Typeable,Generic)
dateRangeValues
:: DateRangeValues
dateRangeValues =
DateRangeValues'
{ _drvPivotValueRegions = Nothing
, _drvValues = Nothing
}
drvPivotValueRegions :: Lens' DateRangeValues [PivotValueRegion]
drvPivotValueRegions
= lens _drvPivotValueRegions
(\ s a -> s{_drvPivotValueRegions = a})
. _Default
. _Coerce
drvValues :: Lens' DateRangeValues [Text]
drvValues
= lens _drvValues (\ s a -> s{_drvValues = a}) .
_Default
. _Coerce
instance FromJSON DateRangeValues where
parseJSON
= withObject "DateRangeValues"
(\ o ->
DateRangeValues' <$>
(o .:? "pivotValueRegions" .!= mempty) <*>
(o .:? "values" .!= mempty))
instance ToJSON DateRangeValues where
toJSON DateRangeValues'{..}
= object
(catMaybes
[("pivotValueRegions" .=) <$> _drvPivotValueRegions,
("values" .=) <$> _drvValues])
data PivotHeader = PivotHeader'
{ _phTotalPivotGroupsCount :: !(Maybe (Textual Int32))
, _phPivotHeaderEntries :: !(Maybe [PivotHeaderEntry])
} deriving (Eq,Show,Data,Typeable,Generic)
pivotHeader
:: PivotHeader
pivotHeader =
PivotHeader'
{ _phTotalPivotGroupsCount = Nothing
, _phPivotHeaderEntries = Nothing
}
phTotalPivotGroupsCount :: Lens' PivotHeader (Maybe Int32)
phTotalPivotGroupsCount
= lens _phTotalPivotGroupsCount
(\ s a -> s{_phTotalPivotGroupsCount = a})
. mapping _Coerce
phPivotHeaderEntries :: Lens' PivotHeader [PivotHeaderEntry]
phPivotHeaderEntries
= lens _phPivotHeaderEntries
(\ s a -> s{_phPivotHeaderEntries = a})
. _Default
. _Coerce
instance FromJSON PivotHeader where
parseJSON
= withObject "PivotHeader"
(\ o ->
PivotHeader' <$>
(o .:? "totalPivotGroupsCount") <*>
(o .:? "pivotHeaderEntries" .!= mempty))
instance ToJSON PivotHeader where
toJSON PivotHeader'{..}
= object
(catMaybes
[("totalPivotGroupsCount" .=) <$>
_phTotalPivotGroupsCount,
("pivotHeaderEntries" .=) <$> _phPivotHeaderEntries])
data MetricHeader = MetricHeader'
{ _mhPivotHeaders :: !(Maybe [PivotHeader])
, _mhMetricHeaderEntries :: !(Maybe [MetricHeaderEntry])
} deriving (Eq,Show,Data,Typeable,Generic)
metricHeader
:: MetricHeader
metricHeader =
MetricHeader'
{ _mhPivotHeaders = Nothing
, _mhMetricHeaderEntries = Nothing
}
mhPivotHeaders :: Lens' MetricHeader [PivotHeader]
mhPivotHeaders
= lens _mhPivotHeaders
(\ s a -> s{_mhPivotHeaders = a})
. _Default
. _Coerce
mhMetricHeaderEntries :: Lens' MetricHeader [MetricHeaderEntry]
mhMetricHeaderEntries
= lens _mhMetricHeaderEntries
(\ s a -> s{_mhMetricHeaderEntries = a})
. _Default
. _Coerce
instance FromJSON MetricHeader where
parseJSON
= withObject "MetricHeader"
(\ o ->
MetricHeader' <$>
(o .:? "pivotHeaders" .!= mempty) <*>
(o .:? "metricHeaderEntries" .!= mempty))
instance ToJSON MetricHeader where
toJSON MetricHeader'{..}
= object
(catMaybes
[("pivotHeaders" .=) <$> _mhPivotHeaders,
("metricHeaderEntries" .=) <$>
_mhMetricHeaderEntries])
data SegmentFilter = SegmentFilter'
{ _sfNot :: !(Maybe Bool)
, _sfSimpleSegment :: !(Maybe SimpleSegment)
, _sfSequenceSegment :: !(Maybe SequenceSegment)
} deriving (Eq,Show,Data,Typeable,Generic)
segmentFilter
:: SegmentFilter
segmentFilter =
SegmentFilter'
{ _sfNot = Nothing
, _sfSimpleSegment = Nothing
, _sfSequenceSegment = Nothing
}
sfNot :: Lens' SegmentFilter (Maybe Bool)
sfNot = lens _sfNot (\ s a -> s{_sfNot = a})
sfSimpleSegment :: Lens' SegmentFilter (Maybe SimpleSegment)
sfSimpleSegment
= lens _sfSimpleSegment
(\ s a -> s{_sfSimpleSegment = a})
sfSequenceSegment :: Lens' SegmentFilter (Maybe SequenceSegment)
sfSequenceSegment
= lens _sfSequenceSegment
(\ s a -> s{_sfSequenceSegment = a})
instance FromJSON SegmentFilter where
parseJSON
= withObject "SegmentFilter"
(\ o ->
SegmentFilter' <$>
(o .:? "not") <*> (o .:? "simpleSegment") <*>
(o .:? "sequenceSegment"))
instance ToJSON SegmentFilter where
toJSON SegmentFilter'{..}
= object
(catMaybes
[("not" .=) <$> _sfNot,
("simpleSegment" .=) <$> _sfSimpleSegment,
("sequenceSegment" .=) <$> _sfSequenceSegment])
data DateRange = DateRange'
{ _drEndDate :: !(Maybe Text)
, _drStartDate :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
dateRange
:: DateRange
dateRange =
DateRange'
{ _drEndDate = Nothing
, _drStartDate = Nothing
}
drEndDate :: Lens' DateRange (Maybe Text)
drEndDate
= lens _drEndDate (\ s a -> s{_drEndDate = a})
drStartDate :: Lens' DateRange (Maybe Text)
drStartDate
= lens _drStartDate (\ s a -> s{_drStartDate = a})
instance FromJSON DateRange where
parseJSON
= withObject "DateRange"
(\ o ->
DateRange' <$>
(o .:? "endDate") <*> (o .:? "startDate"))
instance ToJSON DateRange where
toJSON DateRange'{..}
= object
(catMaybes
[("endDate" .=) <$> _drEndDate,
("startDate" .=) <$> _drStartDate])
data Report = Report'
{ _rNextPageToken :: !(Maybe Text)
, _rData :: !(Maybe ReportData)
, _rColumnHeader :: !(Maybe ColumnHeader)
} deriving (Eq,Show,Data,Typeable,Generic)
report
:: Report
report =
Report'
{ _rNextPageToken = Nothing
, _rData = Nothing
, _rColumnHeader = Nothing
}
rNextPageToken :: Lens' Report (Maybe Text)
rNextPageToken
= lens _rNextPageToken
(\ s a -> s{_rNextPageToken = a})
rData :: Lens' Report (Maybe ReportData)
rData = lens _rData (\ s a -> s{_rData = a})
rColumnHeader :: Lens' Report (Maybe ColumnHeader)
rColumnHeader
= lens _rColumnHeader
(\ s a -> s{_rColumnHeader = a})
instance FromJSON Report where
parseJSON
= withObject "Report"
(\ o ->
Report' <$>
(o .:? "nextPageToken") <*> (o .:? "data") <*>
(o .:? "columnHeader"))
instance ToJSON Report where
toJSON Report'{..}
= object
(catMaybes
[("nextPageToken" .=) <$> _rNextPageToken,
("data" .=) <$> _rData,
("columnHeader" .=) <$> _rColumnHeader])
data ReportData = ReportData'
{ _rdMinimums :: !(Maybe [DateRangeValues])
, _rdRows :: !(Maybe [ReportRow])
, _rdTotals :: !(Maybe [DateRangeValues])
, _rdSamplesReadCounts :: !(Maybe [Textual Int64])
, _rdMaximums :: !(Maybe [DateRangeValues])
, _rdDataLastRefreshed :: !(Maybe DateTime')
, _rdRowCount :: !(Maybe (Textual Int32))
, _rdSamplingSpaceSizes :: !(Maybe [Textual Int64])
, _rdIsDataGolden :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
reportData
:: ReportData
reportData =
ReportData'
{ _rdMinimums = Nothing
, _rdRows = Nothing
, _rdTotals = Nothing
, _rdSamplesReadCounts = Nothing
, _rdMaximums = Nothing
, _rdDataLastRefreshed = Nothing
, _rdRowCount = Nothing
, _rdSamplingSpaceSizes = Nothing
, _rdIsDataGolden = Nothing
}
rdMinimums :: Lens' ReportData [DateRangeValues]
rdMinimums
= lens _rdMinimums (\ s a -> s{_rdMinimums = a}) .
_Default
. _Coerce
rdRows :: Lens' ReportData [ReportRow]
rdRows
= lens _rdRows (\ s a -> s{_rdRows = a}) . _Default .
_Coerce
rdTotals :: Lens' ReportData [DateRangeValues]
rdTotals
= lens _rdTotals (\ s a -> s{_rdTotals = a}) .
_Default
. _Coerce
rdSamplesReadCounts :: Lens' ReportData [Int64]
rdSamplesReadCounts
= lens _rdSamplesReadCounts
(\ s a -> s{_rdSamplesReadCounts = a})
. _Default
. _Coerce
rdMaximums :: Lens' ReportData [DateRangeValues]
rdMaximums
= lens _rdMaximums (\ s a -> s{_rdMaximums = a}) .
_Default
. _Coerce
rdDataLastRefreshed :: Lens' ReportData (Maybe UTCTime)
rdDataLastRefreshed
= lens _rdDataLastRefreshed
(\ s a -> s{_rdDataLastRefreshed = a})
. mapping _DateTime
rdRowCount :: Lens' ReportData (Maybe Int32)
rdRowCount
= lens _rdRowCount (\ s a -> s{_rdRowCount = a}) .
mapping _Coerce
rdSamplingSpaceSizes :: Lens' ReportData [Int64]
rdSamplingSpaceSizes
= lens _rdSamplingSpaceSizes
(\ s a -> s{_rdSamplingSpaceSizes = a})
. _Default
. _Coerce
rdIsDataGolden :: Lens' ReportData (Maybe Bool)
rdIsDataGolden
= lens _rdIsDataGolden
(\ s a -> s{_rdIsDataGolden = a})
instance FromJSON ReportData where
parseJSON
= withObject "ReportData"
(\ o ->
ReportData' <$>
(o .:? "minimums" .!= mempty) <*>
(o .:? "rows" .!= mempty)
<*> (o .:? "totals" .!= mempty)
<*> (o .:? "samplesReadCounts" .!= mempty)
<*> (o .:? "maximums" .!= mempty)
<*> (o .:? "dataLastRefreshed")
<*> (o .:? "rowCount")
<*> (o .:? "samplingSpaceSizes" .!= mempty)
<*> (o .:? "isDataGolden"))
instance ToJSON ReportData where
toJSON ReportData'{..}
= object
(catMaybes
[("minimums" .=) <$> _rdMinimums,
("rows" .=) <$> _rdRows, ("totals" .=) <$> _rdTotals,
("samplesReadCounts" .=) <$> _rdSamplesReadCounts,
("maximums" .=) <$> _rdMaximums,
("dataLastRefreshed" .=) <$> _rdDataLastRefreshed,
("rowCount" .=) <$> _rdRowCount,
("samplingSpaceSizes" .=) <$> _rdSamplingSpaceSizes,
("isDataGolden" .=) <$> _rdIsDataGolden])
data SegmentFilterClause = SegmentFilterClause'
{ _sfcMetricFilter :: !(Maybe SegmentMetricFilter)
, _sfcNot :: !(Maybe Bool)
, _sfcDimensionFilter :: !(Maybe SegmentDimensionFilter)
} deriving (Eq,Show,Data,Typeable,Generic)
segmentFilterClause
:: SegmentFilterClause
segmentFilterClause =
SegmentFilterClause'
{ _sfcMetricFilter = Nothing
, _sfcNot = Nothing
, _sfcDimensionFilter = Nothing
}
sfcMetricFilter :: Lens' SegmentFilterClause (Maybe SegmentMetricFilter)
sfcMetricFilter
= lens _sfcMetricFilter
(\ s a -> s{_sfcMetricFilter = a})
sfcNot :: Lens' SegmentFilterClause (Maybe Bool)
sfcNot = lens _sfcNot (\ s a -> s{_sfcNot = a})
sfcDimensionFilter :: Lens' SegmentFilterClause (Maybe SegmentDimensionFilter)
sfcDimensionFilter
= lens _sfcDimensionFilter
(\ s a -> s{_sfcDimensionFilter = a})
instance FromJSON SegmentFilterClause where
parseJSON
= withObject "SegmentFilterClause"
(\ o ->
SegmentFilterClause' <$>
(o .:? "metricFilter") <*> (o .:? "not") <*>
(o .:? "dimensionFilter"))
instance ToJSON SegmentFilterClause where
toJSON SegmentFilterClause'{..}
= object
(catMaybes
[("metricFilter" .=) <$> _sfcMetricFilter,
("not" .=) <$> _sfcNot,
("dimensionFilter" .=) <$> _sfcDimensionFilter])
data SegmentSequenceStep = SegmentSequenceStep'
{ _sssMatchType :: !(Maybe SegmentSequenceStepMatchType)
, _sssOrFiltersForSegment :: !(Maybe [OrFiltersForSegment])
} deriving (Eq,Show,Data,Typeable,Generic)
segmentSequenceStep
:: SegmentSequenceStep
segmentSequenceStep =
SegmentSequenceStep'
{ _sssMatchType = Nothing
, _sssOrFiltersForSegment = Nothing
}
sssMatchType :: Lens' SegmentSequenceStep (Maybe SegmentSequenceStepMatchType)
sssMatchType
= lens _sssMatchType (\ s a -> s{_sssMatchType = a})
sssOrFiltersForSegment :: Lens' SegmentSequenceStep [OrFiltersForSegment]
sssOrFiltersForSegment
= lens _sssOrFiltersForSegment
(\ s a -> s{_sssOrFiltersForSegment = a})
. _Default
. _Coerce
instance FromJSON SegmentSequenceStep where
parseJSON
= withObject "SegmentSequenceStep"
(\ o ->
SegmentSequenceStep' <$>
(o .:? "matchType") <*>
(o .:? "orFiltersForSegment" .!= mempty))
instance ToJSON SegmentSequenceStep where
toJSON SegmentSequenceStep'{..}
= object
(catMaybes
[("matchType" .=) <$> _sssMatchType,
("orFiltersForSegment" .=) <$>
_sssOrFiltersForSegment])
newtype OrFiltersForSegment = OrFiltersForSegment'
{ _offsSegmentFilterClauses :: Maybe [SegmentFilterClause]
} deriving (Eq,Show,Data,Typeable,Generic)
orFiltersForSegment
:: OrFiltersForSegment
orFiltersForSegment =
OrFiltersForSegment'
{ _offsSegmentFilterClauses = Nothing
}
offsSegmentFilterClauses :: Lens' OrFiltersForSegment [SegmentFilterClause]
offsSegmentFilterClauses
= lens _offsSegmentFilterClauses
(\ s a -> s{_offsSegmentFilterClauses = a})
. _Default
. _Coerce
instance FromJSON OrFiltersForSegment where
parseJSON
= withObject "OrFiltersForSegment"
(\ o ->
OrFiltersForSegment' <$>
(o .:? "segmentFilterClauses" .!= mempty))
instance ToJSON OrFiltersForSegment where
toJSON OrFiltersForSegment'{..}
= object
(catMaybes
[("segmentFilterClauses" .=) <$>
_offsSegmentFilterClauses])
newtype SegmentDefinition = SegmentDefinition'
{ _sdSegmentFilters :: Maybe [SegmentFilter]
} deriving (Eq,Show,Data,Typeable,Generic)
segmentDefinition
:: SegmentDefinition
segmentDefinition =
SegmentDefinition'
{ _sdSegmentFilters = Nothing
}
sdSegmentFilters :: Lens' SegmentDefinition [SegmentFilter]
sdSegmentFilters
= lens _sdSegmentFilters
(\ s a -> s{_sdSegmentFilters = a})
. _Default
. _Coerce
instance FromJSON SegmentDefinition where
parseJSON
= withObject "SegmentDefinition"
(\ o ->
SegmentDefinition' <$>
(o .:? "segmentFilters" .!= mempty))
instance ToJSON SegmentDefinition where
toJSON SegmentDefinition'{..}
= object
(catMaybes
[("segmentFilters" .=) <$> _sdSegmentFilters])
data Pivot = Pivot'
{ _pStartGroup :: !(Maybe (Textual Int32))
, _pMetrics :: !(Maybe [Metric])
, _pMaxGroupCount :: !(Maybe (Textual Int32))
, _pDimensions :: !(Maybe [Dimension])
, _pDimensionFilterClauses :: !(Maybe [DimensionFilterClause])
} deriving (Eq,Show,Data,Typeable,Generic)
pivot
:: Pivot
pivot =
Pivot'
{ _pStartGroup = Nothing
, _pMetrics = Nothing
, _pMaxGroupCount = Nothing
, _pDimensions = Nothing
, _pDimensionFilterClauses = Nothing
}
pStartGroup :: Lens' Pivot (Maybe Int32)
pStartGroup
= lens _pStartGroup (\ s a -> s{_pStartGroup = a}) .
mapping _Coerce
pMetrics :: Lens' Pivot [Metric]
pMetrics
= lens _pMetrics (\ s a -> s{_pMetrics = a}) .
_Default
. _Coerce
pMaxGroupCount :: Lens' Pivot (Maybe Int32)
pMaxGroupCount
= lens _pMaxGroupCount
(\ s a -> s{_pMaxGroupCount = a})
. mapping _Coerce
pDimensions :: Lens' Pivot [Dimension]
pDimensions
= lens _pDimensions (\ s a -> s{_pDimensions = a}) .
_Default
. _Coerce
pDimensionFilterClauses :: Lens' Pivot [DimensionFilterClause]
pDimensionFilterClauses
= lens _pDimensionFilterClauses
(\ s a -> s{_pDimensionFilterClauses = a})
. _Default
. _Coerce
instance FromJSON Pivot where
parseJSON
= withObject "Pivot"
(\ o ->
Pivot' <$>
(o .:? "startGroup") <*> (o .:? "metrics" .!= mempty)
<*> (o .:? "maxGroupCount")
<*> (o .:? "dimensions" .!= mempty)
<*> (o .:? "dimensionFilterClauses" .!= mempty))
instance ToJSON Pivot where
toJSON Pivot'{..}
= object
(catMaybes
[("startGroup" .=) <$> _pStartGroup,
("metrics" .=) <$> _pMetrics,
("maxGroupCount" .=) <$> _pMaxGroupCount,
("dimensions" .=) <$> _pDimensions,
("dimensionFilterClauses" .=) <$>
_pDimensionFilterClauses])
data SequenceSegment = SequenceSegment'
{ _ssFirstStepShouldMatchFirstHit :: !(Maybe Bool)
, _ssSegmentSequenceSteps :: !(Maybe [SegmentSequenceStep])
} deriving (Eq,Show,Data,Typeable,Generic)
sequenceSegment
:: SequenceSegment
sequenceSegment =
SequenceSegment'
{ _ssFirstStepShouldMatchFirstHit = Nothing
, _ssSegmentSequenceSteps = Nothing
}
ssFirstStepShouldMatchFirstHit :: Lens' SequenceSegment (Maybe Bool)
ssFirstStepShouldMatchFirstHit
= lens _ssFirstStepShouldMatchFirstHit
(\ s a -> s{_ssFirstStepShouldMatchFirstHit = a})
ssSegmentSequenceSteps :: Lens' SequenceSegment [SegmentSequenceStep]
ssSegmentSequenceSteps
= lens _ssSegmentSequenceSteps
(\ s a -> s{_ssSegmentSequenceSteps = a})
. _Default
. _Coerce
instance FromJSON SequenceSegment where
parseJSON
= withObject "SequenceSegment"
(\ o ->
SequenceSegment' <$>
(o .:? "firstStepShouldMatchFirstHit") <*>
(o .:? "segmentSequenceSteps" .!= mempty))
instance ToJSON SequenceSegment where
toJSON SequenceSegment'{..}
= object
(catMaybes
[("firstStepShouldMatchFirstHit" .=) <$>
_ssFirstStepShouldMatchFirstHit,
("segmentSequenceSteps" .=) <$>
_ssSegmentSequenceSteps])
data Metric = Metric'
{ _mFormattingType :: !(Maybe MetricFormattingType)
, _mAlias :: !(Maybe Text)
, _mExpression :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
metric
:: Metric
metric =
Metric'
{ _mFormattingType = Nothing
, _mAlias = Nothing
, _mExpression = Nothing
}
mFormattingType :: Lens' Metric (Maybe MetricFormattingType)
mFormattingType
= lens _mFormattingType
(\ s a -> s{_mFormattingType = a})
mAlias :: Lens' Metric (Maybe Text)
mAlias = lens _mAlias (\ s a -> s{_mAlias = a})
mExpression :: Lens' Metric (Maybe Text)
mExpression
= lens _mExpression (\ s a -> s{_mExpression = a})
instance FromJSON Metric where
parseJSON
= withObject "Metric"
(\ o ->
Metric' <$>
(o .:? "formattingType") <*> (o .:? "alias") <*>
(o .:? "expression"))
instance ToJSON Metric where
toJSON Metric'{..}
= object
(catMaybes
[("formattingType" .=) <$> _mFormattingType,
("alias" .=) <$> _mAlias,
("expression" .=) <$> _mExpression])
data SegmentMetricFilter = SegmentMetricFilter'
{ _smfOperator :: !(Maybe SegmentMetricFilterOperator)
, _smfMetricName :: !(Maybe Text)
, _smfMaxComparisonValue :: !(Maybe Text)
, _smfScope :: !(Maybe SegmentMetricFilterScope)
, _smfComparisonValue :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
segmentMetricFilter
:: SegmentMetricFilter
segmentMetricFilter =
SegmentMetricFilter'
{ _smfOperator = Nothing
, _smfMetricName = Nothing
, _smfMaxComparisonValue = Nothing
, _smfScope = Nothing
, _smfComparisonValue = Nothing
}
smfOperator :: Lens' SegmentMetricFilter (Maybe SegmentMetricFilterOperator)
smfOperator
= lens _smfOperator (\ s a -> s{_smfOperator = a})
smfMetricName :: Lens' SegmentMetricFilter (Maybe Text)
smfMetricName
= lens _smfMetricName
(\ s a -> s{_smfMetricName = a})
smfMaxComparisonValue :: Lens' SegmentMetricFilter (Maybe Text)
smfMaxComparisonValue
= lens _smfMaxComparisonValue
(\ s a -> s{_smfMaxComparisonValue = a})
smfScope :: Lens' SegmentMetricFilter (Maybe SegmentMetricFilterScope)
smfScope = lens _smfScope (\ s a -> s{_smfScope = a})
smfComparisonValue :: Lens' SegmentMetricFilter (Maybe Text)
smfComparisonValue
= lens _smfComparisonValue
(\ s a -> s{_smfComparisonValue = a})
instance FromJSON SegmentMetricFilter where
parseJSON
= withObject "SegmentMetricFilter"
(\ o ->
SegmentMetricFilter' <$>
(o .:? "operator") <*> (o .:? "metricName") <*>
(o .:? "maxComparisonValue")
<*> (o .:? "scope")
<*> (o .:? "comparisonValue"))
instance ToJSON SegmentMetricFilter where
toJSON SegmentMetricFilter'{..}
= object
(catMaybes
[("operator" .=) <$> _smfOperator,
("metricName" .=) <$> _smfMetricName,
("maxComparisonValue" .=) <$> _smfMaxComparisonValue,
("scope" .=) <$> _smfScope,
("comparisonValue" .=) <$> _smfComparisonValue])
data GetReportsRequest = GetReportsRequest'
{ _grrUseResourceQuotas :: !(Maybe Bool)
, _grrReportRequests :: !(Maybe [ReportRequest])
} deriving (Eq,Show,Data,Typeable,Generic)
getReportsRequest
:: GetReportsRequest
getReportsRequest =
GetReportsRequest'
{ _grrUseResourceQuotas = Nothing
, _grrReportRequests = Nothing
}
grrUseResourceQuotas :: Lens' GetReportsRequest (Maybe Bool)
grrUseResourceQuotas
= lens _grrUseResourceQuotas
(\ s a -> s{_grrUseResourceQuotas = a})
grrReportRequests :: Lens' GetReportsRequest [ReportRequest]
grrReportRequests
= lens _grrReportRequests
(\ s a -> s{_grrReportRequests = a})
. _Default
. _Coerce
instance FromJSON GetReportsRequest where
parseJSON
= withObject "GetReportsRequest"
(\ o ->
GetReportsRequest' <$>
(o .:? "useResourceQuotas") <*>
(o .:? "reportRequests" .!= mempty))
instance ToJSON GetReportsRequest where
toJSON GetReportsRequest'{..}
= object
(catMaybes
[("useResourceQuotas" .=) <$> _grrUseResourceQuotas,
("reportRequests" .=) <$> _grrReportRequests])
data Cohort = Cohort'
{ _cDateRange :: !(Maybe DateRange)
, _cName :: !(Maybe Text)
, _cType :: !(Maybe CohortType)
} deriving (Eq,Show,Data,Typeable,Generic)
cohort
:: Cohort
cohort =
Cohort'
{ _cDateRange = Nothing
, _cName = Nothing
, _cType = Nothing
}
cDateRange :: Lens' Cohort (Maybe DateRange)
cDateRange
= lens _cDateRange (\ s a -> s{_cDateRange = a})
cName :: Lens' Cohort (Maybe Text)
cName = lens _cName (\ s a -> s{_cName = a})
cType :: Lens' Cohort (Maybe CohortType)
cType = lens _cType (\ s a -> s{_cType = a})
instance FromJSON Cohort where
parseJSON
= withObject "Cohort"
(\ o ->
Cohort' <$>
(o .:? "dateRange") <*> (o .:? "name") <*>
(o .:? "type"))
instance ToJSON Cohort where
toJSON Cohort'{..}
= object
(catMaybes
[("dateRange" .=) <$> _cDateRange,
("name" .=) <$> _cName, ("type" .=) <$> _cType])
data DimensionFilter = DimensionFilter'
{ _dfNot :: !(Maybe Bool)
, _dfOperator :: !(Maybe DimensionFilterOperator)
, _dfExpressions :: !(Maybe [Text])
, _dfDimensionName :: !(Maybe Text)
, _dfCaseSensitive :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
dimensionFilter
:: DimensionFilter
dimensionFilter =
DimensionFilter'
{ _dfNot = Nothing
, _dfOperator = Nothing
, _dfExpressions = Nothing
, _dfDimensionName = Nothing
, _dfCaseSensitive = Nothing
}
dfNot :: Lens' DimensionFilter (Maybe Bool)
dfNot = lens _dfNot (\ s a -> s{_dfNot = a})
dfOperator :: Lens' DimensionFilter (Maybe DimensionFilterOperator)
dfOperator
= lens _dfOperator (\ s a -> s{_dfOperator = a})
dfExpressions :: Lens' DimensionFilter [Text]
dfExpressions
= lens _dfExpressions
(\ s a -> s{_dfExpressions = a})
. _Default
. _Coerce
dfDimensionName :: Lens' DimensionFilter (Maybe Text)
dfDimensionName
= lens _dfDimensionName
(\ s a -> s{_dfDimensionName = a})
dfCaseSensitive :: Lens' DimensionFilter (Maybe Bool)
dfCaseSensitive
= lens _dfCaseSensitive
(\ s a -> s{_dfCaseSensitive = a})
instance FromJSON DimensionFilter where
parseJSON
= withObject "DimensionFilter"
(\ o ->
DimensionFilter' <$>
(o .:? "not") <*> (o .:? "operator") <*>
(o .:? "expressions" .!= mempty)
<*> (o .:? "dimensionName")
<*> (o .:? "caseSensitive"))
instance ToJSON DimensionFilter where
toJSON DimensionFilter'{..}
= object
(catMaybes
[("not" .=) <$> _dfNot,
("operator" .=) <$> _dfOperator,
("expressions" .=) <$> _dfExpressions,
("dimensionName" .=) <$> _dfDimensionName,
("caseSensitive" .=) <$> _dfCaseSensitive])
data GetReportsResponse = GetReportsResponse'
{ _grrReports :: !(Maybe [Report])
, _grrResourceQuotasRemaining :: !(Maybe ResourceQuotasRemaining)
, _grrQueryCost :: !(Maybe (Textual Int32))
} deriving (Eq,Show,Data,Typeable,Generic)
getReportsResponse
:: GetReportsResponse
getReportsResponse =
GetReportsResponse'
{ _grrReports = Nothing
, _grrResourceQuotasRemaining = Nothing
, _grrQueryCost = Nothing
}
grrReports :: Lens' GetReportsResponse [Report]
grrReports
= lens _grrReports (\ s a -> s{_grrReports = a}) .
_Default
. _Coerce
grrResourceQuotasRemaining :: Lens' GetReportsResponse (Maybe ResourceQuotasRemaining)
grrResourceQuotasRemaining
= lens _grrResourceQuotasRemaining
(\ s a -> s{_grrResourceQuotasRemaining = a})
grrQueryCost :: Lens' GetReportsResponse (Maybe Int32)
grrQueryCost
= lens _grrQueryCost (\ s a -> s{_grrQueryCost = a})
. mapping _Coerce
instance FromJSON GetReportsResponse where
parseJSON
= withObject "GetReportsResponse"
(\ o ->
GetReportsResponse' <$>
(o .:? "reports" .!= mempty) <*>
(o .:? "resourceQuotasRemaining")
<*> (o .:? "queryCost"))
instance ToJSON GetReportsResponse where
toJSON GetReportsResponse'{..}
= object
(catMaybes
[("reports" .=) <$> _grrReports,
("resourceQuotasRemaining" .=) <$>
_grrResourceQuotasRemaining,
("queryCost" .=) <$> _grrQueryCost])
data Segment = Segment'
{ _sDynamicSegment :: !(Maybe DynamicSegment)
, _sSegmentId :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
segment
:: Segment
segment =
Segment'
{ _sDynamicSegment = Nothing
, _sSegmentId = Nothing
}
sDynamicSegment :: Lens' Segment (Maybe DynamicSegment)
sDynamicSegment
= lens _sDynamicSegment
(\ s a -> s{_sDynamicSegment = a})
sSegmentId :: Lens' Segment (Maybe Text)
sSegmentId
= lens _sSegmentId (\ s a -> s{_sSegmentId = a})
instance FromJSON Segment where
parseJSON
= withObject "Segment"
(\ o ->
Segment' <$>
(o .:? "dynamicSegment") <*> (o .:? "segmentId"))
instance ToJSON Segment where
toJSON Segment'{..}
= object
(catMaybes
[("dynamicSegment" .=) <$> _sDynamicSegment,
("segmentId" .=) <$> _sSegmentId])
data ResourceQuotasRemaining = ResourceQuotasRemaining'
{ _rqrHourlyQuotaTokensRemaining :: !(Maybe (Textual Int32))
, _rqrDailyQuotaTokensRemaining :: !(Maybe (Textual Int32))
} deriving (Eq,Show,Data,Typeable,Generic)
resourceQuotasRemaining
:: ResourceQuotasRemaining
resourceQuotasRemaining =
ResourceQuotasRemaining'
{ _rqrHourlyQuotaTokensRemaining = Nothing
, _rqrDailyQuotaTokensRemaining = Nothing
}
rqrHourlyQuotaTokensRemaining :: Lens' ResourceQuotasRemaining (Maybe Int32)
rqrHourlyQuotaTokensRemaining
= lens _rqrHourlyQuotaTokensRemaining
(\ s a -> s{_rqrHourlyQuotaTokensRemaining = a})
. mapping _Coerce
rqrDailyQuotaTokensRemaining :: Lens' ResourceQuotasRemaining (Maybe Int32)
rqrDailyQuotaTokensRemaining
= lens _rqrDailyQuotaTokensRemaining
(\ s a -> s{_rqrDailyQuotaTokensRemaining = a})
. mapping _Coerce
instance FromJSON ResourceQuotasRemaining where
parseJSON
= withObject "ResourceQuotasRemaining"
(\ o ->
ResourceQuotasRemaining' <$>
(o .:? "hourlyQuotaTokensRemaining") <*>
(o .:? "dailyQuotaTokensRemaining"))
instance ToJSON ResourceQuotasRemaining where
toJSON ResourceQuotasRemaining'{..}
= object
(catMaybes
[("hourlyQuotaTokensRemaining" .=) <$>
_rqrHourlyQuotaTokensRemaining,
("dailyQuotaTokensRemaining" .=) <$>
_rqrDailyQuotaTokensRemaining])
data SegmentDimensionFilter = SegmentDimensionFilter'
{ _sdfOperator :: !(Maybe SegmentDimensionFilterOperator)
, _sdfMinComparisonValue :: !(Maybe Text)
, _sdfMaxComparisonValue :: !(Maybe Text)
, _sdfExpressions :: !(Maybe [Text])
, _sdfDimensionName :: !(Maybe Text)
, _sdfCaseSensitive :: !(Maybe Bool)
} deriving (Eq,Show,Data,Typeable,Generic)
segmentDimensionFilter
:: SegmentDimensionFilter
segmentDimensionFilter =
SegmentDimensionFilter'
{ _sdfOperator = Nothing
, _sdfMinComparisonValue = Nothing
, _sdfMaxComparisonValue = Nothing
, _sdfExpressions = Nothing
, _sdfDimensionName = Nothing
, _sdfCaseSensitive = Nothing
}
sdfOperator :: Lens' SegmentDimensionFilter (Maybe SegmentDimensionFilterOperator)
sdfOperator
= lens _sdfOperator (\ s a -> s{_sdfOperator = a})
sdfMinComparisonValue :: Lens' SegmentDimensionFilter (Maybe Text)
sdfMinComparisonValue
= lens _sdfMinComparisonValue
(\ s a -> s{_sdfMinComparisonValue = a})
sdfMaxComparisonValue :: Lens' SegmentDimensionFilter (Maybe Text)
sdfMaxComparisonValue
= lens _sdfMaxComparisonValue
(\ s a -> s{_sdfMaxComparisonValue = a})
sdfExpressions :: Lens' SegmentDimensionFilter [Text]
sdfExpressions
= lens _sdfExpressions
(\ s a -> s{_sdfExpressions = a})
. _Default
. _Coerce
sdfDimensionName :: Lens' SegmentDimensionFilter (Maybe Text)
sdfDimensionName
= lens _sdfDimensionName
(\ s a -> s{_sdfDimensionName = a})
sdfCaseSensitive :: Lens' SegmentDimensionFilter (Maybe Bool)
sdfCaseSensitive
= lens _sdfCaseSensitive
(\ s a -> s{_sdfCaseSensitive = a})
instance FromJSON SegmentDimensionFilter where
parseJSON
= withObject "SegmentDimensionFilter"
(\ o ->
SegmentDimensionFilter' <$>
(o .:? "operator") <*> (o .:? "minComparisonValue")
<*> (o .:? "maxComparisonValue")
<*> (o .:? "expressions" .!= mempty)
<*> (o .:? "dimensionName")
<*> (o .:? "caseSensitive"))
instance ToJSON SegmentDimensionFilter where
toJSON SegmentDimensionFilter'{..}
= object
(catMaybes
[("operator" .=) <$> _sdfOperator,
("minComparisonValue" .=) <$> _sdfMinComparisonValue,
("maxComparisonValue" .=) <$> _sdfMaxComparisonValue,
("expressions" .=) <$> _sdfExpressions,
("dimensionName" .=) <$> _sdfDimensionName,
("caseSensitive" .=) <$> _sdfCaseSensitive])
data DynamicSegment = DynamicSegment'
{ _dsUserSegment :: !(Maybe SegmentDefinition)
, _dsName :: !(Maybe Text)
, _dsSessionSegment :: !(Maybe SegmentDefinition)
} deriving (Eq,Show,Data,Typeable,Generic)
dynamicSegment
:: DynamicSegment
dynamicSegment =
DynamicSegment'
{ _dsUserSegment = Nothing
, _dsName = Nothing
, _dsSessionSegment = Nothing
}
dsUserSegment :: Lens' DynamicSegment (Maybe SegmentDefinition)
dsUserSegment
= lens _dsUserSegment
(\ s a -> s{_dsUserSegment = a})
dsName :: Lens' DynamicSegment (Maybe Text)
dsName = lens _dsName (\ s a -> s{_dsName = a})
dsSessionSegment :: Lens' DynamicSegment (Maybe SegmentDefinition)
dsSessionSegment
= lens _dsSessionSegment
(\ s a -> s{_dsSessionSegment = a})
instance FromJSON DynamicSegment where
parseJSON
= withObject "DynamicSegment"
(\ o ->
DynamicSegment' <$>
(o .:? "userSegment") <*> (o .:? "name") <*>
(o .:? "sessionSegment"))
instance ToJSON DynamicSegment where
toJSON DynamicSegment'{..}
= object
(catMaybes
[("userSegment" .=) <$> _dsUserSegment,
("name" .=) <$> _dsName,
("sessionSegment" .=) <$> _dsSessionSegment])
data MetricFilterClause = MetricFilterClause'
{ _mfcOperator :: !(Maybe MetricFilterClauseOperator)
, _mfcFilters :: !(Maybe [MetricFilter])
} deriving (Eq,Show,Data,Typeable,Generic)
metricFilterClause
:: MetricFilterClause
metricFilterClause =
MetricFilterClause'
{ _mfcOperator = Nothing
, _mfcFilters = Nothing
}
mfcOperator :: Lens' MetricFilterClause (Maybe MetricFilterClauseOperator)
mfcOperator
= lens _mfcOperator (\ s a -> s{_mfcOperator = a})
mfcFilters :: Lens' MetricFilterClause [MetricFilter]
mfcFilters
= lens _mfcFilters (\ s a -> s{_mfcFilters = a}) .
_Default
. _Coerce
instance FromJSON MetricFilterClause where
parseJSON
= withObject "MetricFilterClause"
(\ o ->
MetricFilterClause' <$>
(o .:? "operator") <*> (o .:? "filters" .!= mempty))
instance ToJSON MetricFilterClause where
toJSON MetricFilterClause'{..}
= object
(catMaybes
[("operator" .=) <$> _mfcOperator,
("filters" .=) <$> _mfcFilters])
data ColumnHeader = ColumnHeader'
{ _chMetricHeader :: !(Maybe MetricHeader)
, _chDimensions :: !(Maybe [Text])
} deriving (Eq,Show,Data,Typeable,Generic)
columnHeader
:: ColumnHeader
columnHeader =
ColumnHeader'
{ _chMetricHeader = Nothing
, _chDimensions = Nothing
}
chMetricHeader :: Lens' ColumnHeader (Maybe MetricHeader)
chMetricHeader
= lens _chMetricHeader
(\ s a -> s{_chMetricHeader = a})
chDimensions :: Lens' ColumnHeader [Text]
chDimensions
= lens _chDimensions (\ s a -> s{_chDimensions = a})
. _Default
. _Coerce
instance FromJSON ColumnHeader where
parseJSON
= withObject "ColumnHeader"
(\ o ->
ColumnHeader' <$>
(o .:? "metricHeader") <*>
(o .:? "dimensions" .!= mempty))
instance ToJSON ColumnHeader where
toJSON ColumnHeader'{..}
= object
(catMaybes
[("metricHeader" .=) <$> _chMetricHeader,
("dimensions" .=) <$> _chDimensions])