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


-- | Google Analytics SDK.
--   
--   Views and manages your Google Analytics 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>v3</tt> of the API.
@package gogol-analytics
@version 0.3.0


module Network.Google.Analytics.Types

-- | Default request referring to version <tt>v3</tt> of the Google
--   Analytics API. This contains the host and root path used as a starting
--   point for constructing service requests.
analyticsService :: ServiceConfig

-- | Manage Google Analytics Account users by email address
analyticsManageUsersScope :: Proxy '["https://www.googleapis.com/auth/analytics.manage.users"]

-- | Create a new Google Analytics account along with its default property
--   and view
analyticsProvisionScope :: Proxy '["https://www.googleapis.com/auth/analytics.provision"]

-- | View Google Analytics user permissions
analyticsManageUsersReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/analytics.manage.users.readonly"]

-- | View and manage your Google Analytics data
analyticsScope :: Proxy '["https://www.googleapis.com/auth/analytics"]

-- | View your Google Analytics data
analyticsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/analytics.readonly"]

-- | Edit Google Analytics management entities
analyticsEditScope :: Proxy '["https://www.googleapis.com/auth/analytics.edit"]

-- | An unsampled report collection lists Analytics unsampled reports to
--   which the user has access. Each view (profile) can have a set of
--   unsampled reports. Each resource in the unsampled report collection
--   corresponds to a single Analytics unsampled report.
--   
--   <i>See:</i> <a>unSampledReports</a> smart constructor.
data UnSampledReports

-- | Creates a value of <a>UnSampledReports</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>usrNextLink</a></li>
--   <li><a>usrItemsPerPage</a></li>
--   <li><a>usrKind</a></li>
--   <li><a>usrUsername</a></li>
--   <li><a>usrItems</a></li>
--   <li><a>usrTotalResults</a></li>
--   <li><a>usrStartIndex</a></li>
--   <li><a>usrPreviousLink</a></li>
--   </ul>
unSampledReports :: UnSampledReports

-- | Link to next page for this unsampled report collection.
usrNextLink :: Lens' UnSampledReports (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
usrItemsPerPage :: Lens' UnSampledReports (Maybe Int32)

-- | Collection type.
usrKind :: Lens' UnSampledReports Text

-- | Email ID of the authenticated user
usrUsername :: Lens' UnSampledReports (Maybe Text)

-- | A list of unsampled reports.
usrItems :: Lens' UnSampledReports [UnSampledReport]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
usrTotalResults :: Lens' UnSampledReports (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
usrStartIndex :: Lens' UnSampledReports (Maybe Int32)

-- | Link to previous page for this unsampled report collection.
usrPreviousLink :: Lens' UnSampledReports (Maybe Text)
data GoalURLDestinationDetailsStepsItem

-- | Creates a value of <a>GoalURLDestinationDetailsStepsItem</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>guddsiURL</a></li>
--   <li><a>guddsiName</a></li>
--   <li><a>guddsiNumber</a></li>
--   </ul>
goalURLDestinationDetailsStepsItem :: GoalURLDestinationDetailsStepsItem

-- | URL for this step.
guddsiURL :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Text)

-- | Step name.
guddsiName :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Text)

-- | Step number.
guddsiNumber :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Int32)

-- | Analytics data request query parameters.
--   
--   <i>See:</i> <a>gaDataQuery</a> smart constructor.
data GaDataQuery

-- | Creates a value of <a>GaDataQuery</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>gdqMetrics</a></li>
--   <li><a>gdqSamplingLevel</a></li>
--   <li><a>gdqFilters</a></li>
--   <li><a>gdqIds</a></li>
--   <li><a>gdqEndDate</a></li>
--   <li><a>gdqSort</a></li>
--   <li><a>gdqDimensions</a></li>
--   <li><a>gdqStartIndex</a></li>
--   <li><a>gdqMaxResults</a></li>
--   <li><a>gdqSegment</a></li>
--   <li><a>gdqStartDate</a></li>
--   </ul>
gaDataQuery :: GaDataQuery

-- | List of analytics metrics.
gdqMetrics :: Lens' GaDataQuery [Text]

-- | Desired sampling level
gdqSamplingLevel :: Lens' GaDataQuery (Maybe Text)

-- | Comma-separated list of dimension or metric filters.
gdqFilters :: Lens' GaDataQuery (Maybe Text)

-- | Unique table ID.
gdqIds :: Lens' GaDataQuery (Maybe Text)

-- | End date.
gdqEndDate :: Lens' GaDataQuery (Maybe Text)

-- | List of dimensions or metrics based on which Analytics data is sorted.
gdqSort :: Lens' GaDataQuery [Text]

-- | List of analytics dimensions.
gdqDimensions :: Lens' GaDataQuery (Maybe Text)

-- | Start index.
gdqStartIndex :: Lens' GaDataQuery (Maybe Int32)

-- | Maximum results per page.
gdqMaxResults :: Lens' GaDataQuery (Maybe Int32)

-- | Analytics advanced segment.
gdqSegment :: Lens' GaDataQuery (Maybe Text)

-- | Start date.
gdqStartDate :: Lens' GaDataQuery (Maybe Text)

-- | A remarketing audience collection lists Analytics remarketing
--   audiences to which the user has access. Each resource in the
--   collection corresponds to a single Analytics remarketing audience.
--   
--   <i>See:</i> <a>remarketingAudiences</a> smart constructor.
data RemarketingAudiences

-- | Creates a value of <a>RemarketingAudiences</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>raNextLink</a></li>
--   <li><a>raItemsPerPage</a></li>
--   <li><a>raKind</a></li>
--   <li><a>raUsername</a></li>
--   <li><a>raItems</a></li>
--   <li><a>raTotalResults</a></li>
--   <li><a>raStartIndex</a></li>
--   <li><a>raPreviousLink</a></li>
--   </ul>
remarketingAudiences :: RemarketingAudiences

-- | Link to next page for this remarketing audience collection.
raNextLink :: Lens' RemarketingAudiences (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
raItemsPerPage :: Lens' RemarketingAudiences (Maybe Int32)

-- | Collection type.
raKind :: Lens' RemarketingAudiences Text

-- | Email ID of the authenticated user
raUsername :: Lens' RemarketingAudiences (Maybe Text)

-- | A list of remarketing audiences.
raItems :: Lens' RemarketingAudiences [RemarketingAudience]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
raTotalResults :: Lens' RemarketingAudiences (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
raStartIndex :: Lens' RemarketingAudiences (Maybe Int32)

-- | Link to previous page for this view (profile) collection.
raPreviousLink :: Lens' RemarketingAudiences (Maybe Text)
data GaDataDataTableRowsItem

-- | Creates a value of <a>GaDataDataTableRowsItem</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>gddtriC</a></li>
--   </ul>
gaDataDataTableRowsItem :: GaDataDataTableRowsItem
gddtriC :: Lens' GaDataDataTableRowsItem [GaDataDataTableRowsItemCItem]

-- | JSON template for Analytics unsampled report resource.
--   
--   <i>See:</i> <a>unSampledReport</a> smart constructor.
data UnSampledReport

-- | Creates a value of <a>UnSampledReport</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>uDownloadType</a></li>
--   <li><a>uStatus</a></li>
--   <li><a>uMetrics</a></li>
--   <li><a>uDriveDownloadDetails</a></li>
--   <li><a>uWebPropertyId</a></li>
--   <li><a>uKind</a></li>
--   <li><a>uCreated</a></li>
--   <li><a>uFilters</a></li>
--   <li><a>uProFileId</a></li>
--   <li><a>uEndDate</a></li>
--   <li><a>uSelfLink</a></li>
--   <li><a>uAccountId</a></li>
--   <li><a>uId</a></li>
--   <li><a>uUpdated</a></li>
--   <li><a>uTitle</a></li>
--   <li><a>uDimensions</a></li>
--   <li><a>uSegment</a></li>
--   <li><a>uCloudStorageDownloadDetails</a></li>
--   <li><a>uStartDate</a></li>
--   </ul>
unSampledReport :: UnSampledReport

-- | The type of download you need to use for the report data file.
--   Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If
--   the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If
--   the value is `GOOGLE_CLOUD_STORAGE`, see the
--   `cloudStorageDownloadDetails` field.
uDownloadType :: Lens' UnSampledReport (Maybe Text)

-- | Status of this unsampled report. Possible values are PENDING,
--   COMPLETED, or FAILED.
uStatus :: Lens' UnSampledReport (Maybe Text)

-- | The metrics for the unsampled report.
uMetrics :: Lens' UnSampledReport (Maybe Text)

-- | Download details for a file stored in Google Drive.
uDriveDownloadDetails :: Lens' UnSampledReport (Maybe UnSampledReportDriveDownloadDetails)

-- | Web property ID to which this unsampled report belongs. The web
--   property ID is of the form UA-XXXXX-YY.
uWebPropertyId :: Lens' UnSampledReport (Maybe Text)

-- | Resource type for an Analytics unsampled report.
uKind :: Lens' UnSampledReport Text

-- | Time this unsampled report was created.
uCreated :: Lens' UnSampledReport (Maybe UTCTime)

-- | The filters for the unsampled report.
uFilters :: Lens' UnSampledReport (Maybe Text)

-- | View (Profile) ID to which this unsampled report belongs.
uProFileId :: Lens' UnSampledReport (Maybe Text)

-- | The end date for the unsampled report.
uEndDate :: Lens' UnSampledReport (Maybe Text)

-- | Link for this unsampled report.
uSelfLink :: Lens' UnSampledReport (Maybe Text)

-- | Account ID to which this unsampled report belongs.
uAccountId :: Lens' UnSampledReport (Maybe Text)

-- | Unsampled report ID.
uId :: Lens' UnSampledReport (Maybe Text)

-- | Time this unsampled report was last modified.
uUpdated :: Lens' UnSampledReport (Maybe UTCTime)

-- | Title of the unsampled report.
uTitle :: Lens' UnSampledReport (Maybe Text)

-- | The dimensions for the unsampled report.
uDimensions :: Lens' UnSampledReport (Maybe Text)

-- | The segment for the unsampled report.
uSegment :: Lens' UnSampledReport (Maybe Text)

-- | Download details for a file stored in Google Cloud Storage.
uCloudStorageDownloadDetails :: Lens' UnSampledReport (Maybe UnSampledReportCloudStorageDownloadDetails)

-- | The start date for the unsampled report.
uStartDate :: Lens' UnSampledReport (Maybe Text)
data McfDataColumnHeadersItem

-- | Creates a value of <a>McfDataColumnHeadersItem</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>mdchiColumnType</a></li>
--   <li><a>mdchiName</a></li>
--   <li><a>mdchiDataType</a></li>
--   </ul>
mcfDataColumnHeadersItem :: McfDataColumnHeadersItem

-- | Column Type. Either DIMENSION or METRIC.
mdchiColumnType :: Lens' McfDataColumnHeadersItem (Maybe Text)

-- | Column name.
mdchiName :: Lens' McfDataColumnHeadersItem (Maybe Text)

-- | Data type. Dimension and metric values data types such as INTEGER,
--   DOUBLE, CURRENCY, MCF_SEQUENCE etc.
mdchiDataType :: Lens' McfDataColumnHeadersItem (Maybe Text)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
--   
--   <i>See:</i> <a>gaDataTotalsForAllResults</a> smart constructor.
data GaDataTotalsForAllResults

-- | Creates a value of <a>GaDataTotalsForAllResults</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>gdtfarAddtional</a></li>
--   </ul>
gaDataTotalsForAllResults :: HashMap Text Text -> GaDataTotalsForAllResults

-- | Key-value pair for the total value of a metric. Key is the metric name
--   and the value is the total value for that metric.
gdtfarAddtional :: Lens' GaDataTotalsForAllResults (HashMap Text Text)

-- | Parent link for this view (profile). Points to the web property to
--   which this view (profile) belongs.
--   
--   <i>See:</i> <a>proFileParentLink</a> smart constructor.
data ProFileParentLink

-- | Creates a value of <a>ProFileParentLink</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>pfplHref</a></li>
--   <li><a>pfplType</a></li>
--   </ul>
proFileParentLink :: ProFileParentLink

-- | Link to the web property to which this view (profile) belongs.
pfplHref :: Lens' ProFileParentLink (Maybe Text)

-- | Value is "analytics#webproperty".
pfplType :: Lens' ProFileParentLink Text

-- | JSON template for an Analytics remarketing audience.
--   
--   <i>See:</i> <a>remarketingAudience</a> smart constructor.
data RemarketingAudience

-- | Creates a value of <a>RemarketingAudience</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>rWebPropertyId</a></li>
--   <li><a>rKind</a></li>
--   <li><a>rCreated</a></li>
--   <li><a>rLinkedAdAccounts</a></li>
--   <li><a>rAudienceDefinition</a></li>
--   <li><a>rAudienceType</a></li>
--   <li><a>rAccountId</a></li>
--   <li><a>rName</a></li>
--   <li><a>rStateBasedAudienceDefinition</a></li>
--   <li><a>rLinkedViews</a></li>
--   <li><a>rInternalWebPropertyId</a></li>
--   <li><a>rId</a></li>
--   <li><a>rUpdated</a></li>
--   <li><a>rDescription</a></li>
--   </ul>
remarketingAudience :: RemarketingAudience

-- | Web property ID of the form UA-XXXXX-YY to which this remarketing
--   audience belongs.
rWebPropertyId :: Lens' RemarketingAudience (Maybe Text)

-- | Collection type.
rKind :: Lens' RemarketingAudience Text

-- | Time this remarketing audience was created.
rCreated :: Lens' RemarketingAudience (Maybe UTCTime)

-- | The linked ad accounts associated with this remarketing audience. A
--   remarketing audience can have only one linkedAdAccount currently.
rLinkedAdAccounts :: Lens' RemarketingAudience [LinkedForeignAccount]

-- | The simple audience definition that will cause a user to be added to
--   an audience.
rAudienceDefinition :: Lens' RemarketingAudience (Maybe RemarketingAudienceAudienceDefinition)

-- | The type of audience, either SIMPLE or STATE_BASED.
rAudienceType :: Lens' RemarketingAudience (Maybe Text)

-- | Account ID to which this remarketing audience belongs.
rAccountId :: Lens' RemarketingAudience (Maybe Text)

-- | The name of this remarketing audience.
rName :: Lens' RemarketingAudience (Maybe Text)

-- | A state based audience definition that will cause a user to be added
--   or removed from an audience.
rStateBasedAudienceDefinition :: Lens' RemarketingAudience (Maybe RemarketingAudienceStateBasedAudienceDefinition)

-- | The views (profiles) that this remarketing audience is linked to.
rLinkedViews :: Lens' RemarketingAudience [Text]

-- | Internal ID for the web property to which this remarketing audience
--   belongs.
rInternalWebPropertyId :: Lens' RemarketingAudience (Maybe Text)

-- | Remarketing Audience ID.
rId :: Lens' RemarketingAudience (Maybe Text)

-- | Time this remarketing audience was last modified.
rUpdated :: Lens' RemarketingAudience (Maybe UTCTime)

-- | The description of this remarketing audience.
rDescription :: Lens' RemarketingAudience (Maybe Text)
data GaDataDataTableRowsItemCItem

-- | Creates a value of <a>GaDataDataTableRowsItemCItem</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>gddtriciV</a></li>
--   </ul>
gaDataDataTableRowsItemCItem :: GaDataDataTableRowsItemCItem
gddtriciV :: Lens' GaDataDataTableRowsItemCItem (Maybe Text)

-- | Permissions the user has for this entity.
--   
--   <i>See:</i> <a>entityUserLinkPermissions</a> smart constructor.
data EntityUserLinkPermissions

-- | Creates a value of <a>EntityUserLinkPermissions</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>eulpLocal</a></li>
--   <li><a>eulpEffective</a></li>
--   </ul>
entityUserLinkPermissions :: EntityUserLinkPermissions

-- | Permissions that a user has been assigned at this very level. Does not
--   include any implied or inherited permissions. Local permissions are
--   modifiable.
eulpLocal :: Lens' EntityUserLinkPermissions [Text]

-- | Effective permissions represent all the permissions that a user has
--   for this entity. These include any implied permissions (e.g., EDIT
--   implies VIEW) or inherited permissions from the parent entity.
--   Effective permissions are read-only.
eulpEffective :: Lens' EntityUserLinkPermissions [Text]

-- | Information for the view (profile), for which the real time data was
--   requested.
--   
--   <i>See:</i> <a>realtimeDataProFileInfo</a> smart constructor.
data RealtimeDataProFileInfo

-- | Creates a value of <a>RealtimeDataProFileInfo</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>rdpfiWebPropertyId</a></li>
--   <li><a>rdpfiProFileId</a></li>
--   <li><a>rdpfiProFileName</a></li>
--   <li><a>rdpfiAccountId</a></li>
--   <li><a>rdpfiInternalWebPropertyId</a></li>
--   <li><a>rdpfiTableId</a></li>
--   </ul>
realtimeDataProFileInfo :: RealtimeDataProFileInfo

-- | Web Property ID to which this view (profile) belongs.
rdpfiWebPropertyId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | View (Profile) ID.
rdpfiProFileId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | View (Profile) name.
rdpfiProFileName :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | Account ID to which this view (profile) belongs.
rdpfiAccountId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
rdpfiInternalWebPropertyId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | Table ID for view (profile).
rdpfiTableId :: Lens' RealtimeDataProFileInfo (Maybe Text)
data McfDataRowsItemItemConversionPathValueItem

-- | Creates a value of <a>McfDataRowsItemItemConversionPathValueItem</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>mdriicpviInteractionType</a></li>
--   <li><a>mdriicpviNodeValue</a></li>
--   </ul>
mcfDataRowsItemItemConversionPathValueItem :: McfDataRowsItemItemConversionPathValueItem

-- | Type of an interaction on conversion path. Such as CLICK, IMPRESSION
--   etc.
mdriicpviInteractionType :: Lens' McfDataRowsItemItemConversionPathValueItem (Maybe Text)

-- | Node value of an interaction on conversion path. Such as source,
--   medium etc.
mdriicpviNodeValue :: Lens' McfDataRowsItemItemConversionPathValueItem (Maybe Text)

-- | JSON template for an Analytics filter expression.
--   
--   <i>See:</i> <a>filterExpression</a> smart constructor.
data FilterExpression

-- | Creates a value of <a>FilterExpression</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>feFieldIndex</a></li>
--   <li><a>feField</a></li>
--   <li><a>feKind</a></li>
--   <li><a>feMatchType</a></li>
--   <li><a>feCaseSensitive</a></li>
--   <li><a>feExpressionValue</a></li>
--   </ul>
filterExpression :: FilterExpression

-- | The Index of the custom dimension. Set only if the field is a is
--   CUSTOM_DIMENSION.
feFieldIndex :: Lens' FilterExpression (Maybe Int32)

-- | Field to filter. Possible values: - Content and Traffic -
--   PAGE_REQUEST_URI, - PAGE_HOSTNAME, - PAGE_TITLE, - REFERRAL, -
--   COST_DATA_URI (Campaign target URL), - HIT_TYPE, -
--   INTERNAL_SEARCH_TERM, - INTERNAL_SEARCH_TYPE, -
--   SOURCE_PROPERTY_TRACKING_ID, - Campaign or AdGroup - CAMPAIGN_SOURCE,
--   - CAMPAIGN_MEDIUM, - CAMPAIGN_NAME, - CAMPAIGN_AD_GROUP, -
--   CAMPAIGN_TERM, - CAMPAIGN_CONTENT, - CAMPAIGN_CODE, -
--   CAMPAIGN_REFERRAL_PATH, - E-Commerce - TRANSACTION_COUNTRY, -
--   TRANSACTION_REGION, - TRANSACTION_CITY, - TRANSACTION_AFFILIATION
--   (Store or order location), - ITEM_NAME, - ITEM_CODE, - ITEM_VARIATION,
--   - TRANSACTION_ID, - TRANSACTION_CURRENCY_CODE, - PRODUCT_ACTION_TYPE,
--   - Audience/Users - BROWSER, - BROWSER_VERSION, - BROWSER_SIZE, -
--   PLATFORM, - PLATFORM_VERSION, - LANGUAGE, - SCREEN_RESOLUTION, -
--   SCREEN_COLORS, - JAVA_ENABLED (Boolean Field), - FLASH_VERSION, -
--   GEO_SPEED (Connection speed), - VISITOR_TYPE, - GEO_ORGANIZATION (ISP
--   organization), - GEO_DOMAIN, - GEO_IP_ADDRESS, - GEO_IP_VERSION, -
--   Location - GEO_COUNTRY, - GEO_REGION, - GEO_CITY, - Event -
--   EVENT_CATEGORY, - EVENT_ACTION, - EVENT_LABEL, - Other -
--   CUSTOM_FIELD_1, - CUSTOM_FIELD_2, - USER_DEFINED_VALUE, - Application
--   - APP_ID, - APP_INSTALLER_ID, - APP_NAME, - APP_VERSION, - SCREEN, -
--   IS_APP (Boolean Field), - IS_FATAL_EXCEPTION (Boolean Field), -
--   EXCEPTION_DESCRIPTION, - Mobile device - IS_MOBILE (Boolean Field,
--   Deprecated. Use DEVICE_CATEGORY=mobile), - IS_TABLET (Boolean Field,
--   Deprecated. Use DEVICE_CATEGORY=tablet), - DEVICE_CATEGORY, -
--   MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), - MOBILE_HAS_NFC_SUPPORT
--   (Boolean Field), - MOBILE_HAS_CELLULAR_RADIO (Boolean Field), -
--   MOBILE_HAS_WIFI_SUPPORT (Boolean Field), - MOBILE_BRAND_NAME, -
--   MOBILE_MODEL_NAME, - MOBILE_MARKETING_NAME, - MOBILE_POINTING_METHOD,
--   - Social - SOCIAL_NETWORK, - SOCIAL_ACTION, - SOCIAL_ACTION_TARGET, -
--   Custom dimension - CUSTOM_DIMENSION (See accompanying field index),
feField :: Lens' FilterExpression (Maybe Text)

-- | Kind value for filter expression
feKind :: Lens' FilterExpression Text

-- | Match type for this filter. Possible values are BEGINS_WITH, EQUAL,
--   ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS,
--   PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all
--   other filters must use MATCHES.
feMatchType :: Lens' FilterExpression (Maybe Text)

-- | Determines if the filter is case sensitive.
feCaseSensitive :: Lens' FilterExpression (Maybe Bool)

-- | Filter expression value
feExpressionValue :: Lens' FilterExpression (Maybe Text)

-- | JSON template for a linked view (profile).
--   
--   <i>See:</i> <a>proFileRef</a> smart constructor.
data ProFileRef

-- | Creates a value of <a>ProFileRef</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>pfrWebPropertyId</a></li>
--   <li><a>pfrKind</a></li>
--   <li><a>pfrHref</a></li>
--   <li><a>pfrAccountId</a></li>
--   <li><a>pfrName</a></li>
--   <li><a>pfrInternalWebPropertyId</a></li>
--   <li><a>pfrId</a></li>
--   </ul>
proFileRef :: ProFileRef

-- | Web property ID of the form UA-XXXXX-YY to which this view (profile)
--   belongs.
pfrWebPropertyId :: Lens' ProFileRef (Maybe Text)

-- | Analytics view (profile) reference.
pfrKind :: Lens' ProFileRef Text

-- | Link for this view (profile).
pfrHref :: Lens' ProFileRef (Maybe Text)

-- | Account ID to which this view (profile) belongs.
pfrAccountId :: Lens' ProFileRef (Maybe Text)

-- | Name of this view (profile).
pfrName :: Lens' ProFileRef (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
pfrInternalWebPropertyId :: Lens' ProFileRef (Maybe Text)

-- | View (Profile) ID.
pfrId :: Lens' ProFileRef (Maybe Text)

-- | An account collection provides a list of Analytics accounts to which a
--   user has access. The account collection is the entry point to all
--   management information. Each resource in the collection corresponds to
--   a single Analytics account.
--   
--   <i>See:</i> <a>accounts</a> smart constructor.
data Accounts

-- | Creates a value of <a>Accounts</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>aNextLink</a></li>
--   <li><a>aItemsPerPage</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aUsername</a></li>
--   <li><a>aItems</a></li>
--   <li><a>aTotalResults</a></li>
--   <li><a>aStartIndex</a></li>
--   <li><a>aPreviousLink</a></li>
--   </ul>
accounts :: Accounts

-- | Next link for this account collection.
aNextLink :: Lens' Accounts (Maybe Text)

-- | The maximum number of entries the response can contain, regardless of
--   the actual number of entries returned. Its value ranges from 1 to 1000
--   with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
aItemsPerPage :: Lens' Accounts (Maybe Int32)

-- | Collection type.
aKind :: Lens' Accounts Text

-- | Email ID of the authenticated user
aUsername :: Lens' Accounts (Maybe Text)

-- | A list of accounts.
aItems :: Lens' Accounts [Account]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
aTotalResults :: Lens' Accounts (Maybe Int32)

-- | The starting index of the entries, which is 1 by default or otherwise
--   specified by the start-index query parameter.
aStartIndex :: Lens' Accounts (Maybe Int32)

-- | Previous link for this account collection.
aPreviousLink :: Lens' Accounts (Maybe Text)

-- | An experiment collection lists Analytics experiments to which the user
--   has access. Each view (profile) can have a set of experiments. Each
--   resource in the Experiment collection corresponds to a single
--   Analytics experiment.
--   
--   <i>See:</i> <a>experiments</a> smart constructor.
data Experiments

-- | Creates a value of <a>Experiments</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>eNextLink</a></li>
--   <li><a>eItemsPerPage</a></li>
--   <li><a>eKind</a></li>
--   <li><a>eUsername</a></li>
--   <li><a>eItems</a></li>
--   <li><a>eTotalResults</a></li>
--   <li><a>eStartIndex</a></li>
--   <li><a>ePreviousLink</a></li>
--   </ul>
experiments :: Experiments

-- | Link to next page for this experiment collection.
eNextLink :: Lens' Experiments (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
eItemsPerPage :: Lens' Experiments (Maybe Int32)

-- | Collection type.
eKind :: Lens' Experiments Text

-- | Email ID of the authenticated user
eUsername :: Lens' Experiments (Maybe Text)

-- | A list of experiments.
eItems :: Lens' Experiments [Experiment]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
eTotalResults :: Lens' Experiments (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
eStartIndex :: Lens' Experiments (Maybe Int32)

-- | Link to previous page for this experiment collection.
ePreviousLink :: Lens' Experiments (Maybe Text)

-- | Parent link for an experiment. Points to the view (profile) to which
--   this experiment belongs.
--   
--   <i>See:</i> <a>experimentParentLink</a> smart constructor.
data ExperimentParentLink

-- | Creates a value of <a>ExperimentParentLink</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>eplHref</a></li>
--   <li><a>eplType</a></li>
--   </ul>
experimentParentLink :: ExperimentParentLink

-- | Link to the view (profile) to which this experiment belongs. This
--   field is read-only.
eplHref :: Lens' ExperimentParentLink (Maybe Text)

-- | Value is "analytics#profile". This field is read-only.
eplType :: Lens' ExperimentParentLink Text

-- | Download details for a file stored in Google Drive.
--   
--   <i>See:</i> <a>unSampledReportDriveDownloadDetails</a> smart
--   constructor.
data UnSampledReportDriveDownloadDetails

-- | Creates a value of <a>UnSampledReportDriveDownloadDetails</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>usrdddDocumentId</a></li>
--   </ul>
unSampledReportDriveDownloadDetails :: UnSampledReportDriveDownloadDetails

-- | Id of the document/file containing the report data.
usrdddDocumentId :: Lens' UnSampledReportDriveDownloadDetails (Maybe Text)

-- | Information for the view (profile), for which the Analytics data was
--   requested.
--   
--   <i>See:</i> <a>mcfDataProFileInfo</a> smart constructor.
data McfDataProFileInfo

-- | Creates a value of <a>McfDataProFileInfo</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>mdpfiWebPropertyId</a></li>
--   <li><a>mdpfiProFileId</a></li>
--   <li><a>mdpfiProFileName</a></li>
--   <li><a>mdpfiAccountId</a></li>
--   <li><a>mdpfiInternalWebPropertyId</a></li>
--   <li><a>mdpfiTableId</a></li>
--   </ul>
mcfDataProFileInfo :: McfDataProFileInfo

-- | Web Property ID to which this view (profile) belongs.
mdpfiWebPropertyId :: Lens' McfDataProFileInfo (Maybe Text)

-- | View (Profile) ID.
mdpfiProFileId :: Lens' McfDataProFileInfo (Maybe Text)

-- | View (Profile) name.
mdpfiProFileName :: Lens' McfDataProFileInfo (Maybe Text)

-- | Account ID to which this view (profile) belongs.
mdpfiAccountId :: Lens' McfDataProFileInfo (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
mdpfiInternalWebPropertyId :: Lens' McfDataProFileInfo (Maybe Text)

-- | Table ID for view (profile).
mdpfiTableId :: Lens' McfDataProFileInfo (Maybe Text)

-- | Lists Analytics custom data sources to which the user has access. Each
--   resource in the collection corresponds to a single Analytics custom
--   data source.
--   
--   <i>See:</i> <a>customDataSources</a> smart constructor.
data CustomDataSources

-- | Creates a value of <a>CustomDataSources</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>cdsNextLink</a></li>
--   <li><a>cdsItemsPerPage</a></li>
--   <li><a>cdsKind</a></li>
--   <li><a>cdsUsername</a></li>
--   <li><a>cdsItems</a></li>
--   <li><a>cdsTotalResults</a></li>
--   <li><a>cdsStartIndex</a></li>
--   <li><a>cdsPreviousLink</a></li>
--   </ul>
customDataSources :: CustomDataSources

-- | Link to next page for this custom data source collection.
cdsNextLink :: Lens' CustomDataSources (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
cdsItemsPerPage :: Lens' CustomDataSources (Maybe Int32)

-- | Collection type.
cdsKind :: Lens' CustomDataSources Text

-- | Email ID of the authenticated user
cdsUsername :: Lens' CustomDataSources (Maybe Text)

-- | Collection of custom data sources.
cdsItems :: Lens' CustomDataSources [CustomDataSource]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
cdsTotalResults :: Lens' CustomDataSources (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
cdsStartIndex :: Lens' CustomDataSources (Maybe Int32)

-- | Link to previous page for this custom data source collection.
cdsPreviousLink :: Lens' CustomDataSources (Maybe Text)

-- | Child link for this web property. Points to the list of views
--   (profiles) for this web property.
--   
--   <i>See:</i> <a>webPropertyChildLink</a> smart constructor.
data WebPropertyChildLink

-- | Creates a value of <a>WebPropertyChildLink</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>wpclHref</a></li>
--   <li><a>wpclType</a></li>
--   </ul>
webPropertyChildLink :: WebPropertyChildLink

-- | Link to the list of views (profiles) for this web property.
wpclHref :: Lens' WebPropertyChildLink (Maybe Text)

-- | Type of the parent link. Its value is "analytics#profiles".
wpclType :: Lens' WebPropertyChildLink Text

-- | The desired sampling level.
data DataGaGetSamplingLevel

-- | <tt>DEFAULT</tt> Returns response with a sample size that balances
--   speed and accuracy.
Default :: DataGaGetSamplingLevel

-- | <tt>FASTER</tt> Returns a fast response with a smaller sample size.
Faster :: DataGaGetSamplingLevel

-- | <tt>HIGHER_PRECISION</tt> Returns a more accurate response using a
--   large sample size, but this may result in the response being slower.
HigherPrecision :: DataGaGetSamplingLevel

-- | Multi-Channel Funnels data for a given view (profile).
--   
--   <i>See:</i> <a>mcfData</a> smart constructor.
data McfData

-- | Creates a value of <a>McfData</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>mdNextLink</a></li>
--   <li><a>mdSampleSpace</a></li>
--   <li><a>mdItemsPerPage</a></li>
--   <li><a>mdProFileInfo</a></li>
--   <li><a>mdKind</a></li>
--   <li><a>mdSampleSize</a></li>
--   <li><a>mdRows</a></li>
--   <li><a>mdSelfLink</a></li>
--   <li><a>mdQuery</a></li>
--   <li><a>mdColumnHeaders</a></li>
--   <li><a>mdId</a></li>
--   <li><a>mdTotalResults</a></li>
--   <li><a>mdContainsSampledData</a></li>
--   <li><a>mdTotalsForAllResults</a></li>
--   <li><a>mdPreviousLink</a></li>
--   </ul>
mcfData :: McfData

-- | Link to next page for this Analytics data query.
mdNextLink :: Lens' McfData (Maybe Text)

-- | Total size of the sample space from which the samples were selected.
mdSampleSpace :: Lens' McfData (Maybe Int64)

-- | The maximum number of rows the response can contain, regardless of the
--   actual number of rows returned. Its value ranges from 1 to 10,000 with
--   a value of 1000 by default, or otherwise specified by the max-results
--   query parameter.
mdItemsPerPage :: Lens' McfData (Maybe Int32)

-- | Information for the view (profile), for which the Analytics data was
--   requested.
mdProFileInfo :: Lens' McfData (Maybe McfDataProFileInfo)

-- | Resource type.
mdKind :: Lens' McfData Text

-- | The number of samples used to calculate the result.
mdSampleSize :: Lens' McfData (Maybe Int64)

-- | Analytics data rows, where each row contains a list of dimension
--   values followed by the metric values. The order of dimensions and
--   metrics is same as specified in the request.
mdRows :: Lens' McfData [[McfDataRowsItemItem]]

-- | Link to this page.
mdSelfLink :: Lens' McfData (Maybe Text)

-- | Analytics data request query parameters.
mdQuery :: Lens' McfData (Maybe McfDataQuery)

-- | Column headers that list dimension names followed by the metric names.
--   The order of dimensions and metrics is same as specified in the
--   request.
mdColumnHeaders :: Lens' McfData [McfDataColumnHeadersItem]

-- | Unique ID for this data response.
mdId :: Lens' McfData (Maybe Text)

-- | The total number of rows for the query, regardless of the number of
--   rows in the response.
mdTotalResults :: Lens' McfData (Maybe Int32)

-- | Determines if the Analytics data contains sampled data.
mdContainsSampledData :: Lens' McfData (Maybe Bool)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
mdTotalsForAllResults :: Lens' McfData (Maybe McfDataTotalsForAllResults)

-- | Link to previous page for this Analytics data query.
mdPreviousLink :: Lens' McfData (Maybe Text)

-- | JSON template for a user reference.
--   
--   <i>See:</i> <a>userRef</a> smart constructor.
data UserRef

-- | Creates a value of <a>UserRef</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>urEmail</a></li>
--   <li><a>urKind</a></li>
--   <li><a>urId</a></li>
--   </ul>
userRef :: UserRef

-- | Email ID of this user.
urEmail :: Lens' UserRef (Maybe Text)
urKind :: Lens' UserRef Text

-- | User ID.
urId :: Lens' UserRef (Maybe Text)

-- | Details for the goal of the type VISIT_NUM_PAGES.
--   
--   <i>See:</i> <a>goalVisitNumPagesDetails</a> smart constructor.
data GoalVisitNumPagesDetails

-- | Creates a value of <a>GoalVisitNumPagesDetails</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>gvnpdComparisonValue</a></li>
--   <li><a>gvnpdComparisonType</a></li>
--   </ul>
goalVisitNumPagesDetails :: GoalVisitNumPagesDetails

-- | Value used for this comparison.
gvnpdComparisonValue :: Lens' GoalVisitNumPagesDetails (Maybe Int64)

-- | Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or
--   EQUAL.
gvnpdComparisonType :: Lens' GoalVisitNumPagesDetails (Maybe Text)
data RealtimeDataColumnHeadersItem

-- | Creates a value of <a>RealtimeDataColumnHeadersItem</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>rdchiColumnType</a></li>
--   <li><a>rdchiName</a></li>
--   <li><a>rdchiDataType</a></li>
--   </ul>
realtimeDataColumnHeadersItem :: RealtimeDataColumnHeadersItem

-- | Column Type. Either DIMENSION or METRIC.
rdchiColumnType :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)

-- | Column name.
rdchiName :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)

-- | Data type. Dimension column headers have only STRING as the data type.
--   Metric column headers have data types for metric values such as
--   INTEGER, DOUBLE, CURRENCY etc.
rdchiDataType :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)

-- | JSON template for a linked account.
--   
--   <i>See:</i> <a>accountRef</a> smart constructor.
data AccountRef

-- | Creates a value of <a>AccountRef</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>arKind</a></li>
--   <li><a>arHref</a></li>
--   <li><a>arName</a></li>
--   <li><a>arId</a></li>
--   </ul>
accountRef :: AccountRef

-- | Analytics account reference.
arKind :: Lens' AccountRef Text

-- | Link for this account.
arHref :: Lens' AccountRef (Maybe Text)

-- | Account name.
arName :: Lens' AccountRef (Maybe Text)

-- | Account ID.
arId :: Lens' AccountRef (Maybe Text)

-- | An entity AdWords link collection provides a list of GA-AdWords links
--   Each resource in this collection corresponds to a single link.
--   
--   <i>See:</i> <a>entityAdWordsLinks</a> smart constructor.
data EntityAdWordsLinks

-- | Creates a value of <a>EntityAdWordsLinks</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>eawlNextLink</a></li>
--   <li><a>eawlItemsPerPage</a></li>
--   <li><a>eawlKind</a></li>
--   <li><a>eawlItems</a></li>
--   <li><a>eawlTotalResults</a></li>
--   <li><a>eawlStartIndex</a></li>
--   <li><a>eawlPreviousLink</a></li>
--   </ul>
entityAdWordsLinks :: EntityAdWordsLinks

-- | Next link for this AdWords link collection.
eawlNextLink :: Lens' EntityAdWordsLinks (Maybe Text)

-- | The maximum number of entries the response can contain, regardless of
--   the actual number of entries returned. Its value ranges from 1 to 1000
--   with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
eawlItemsPerPage :: Lens' EntityAdWordsLinks (Maybe Int32)

-- | Collection type.
eawlKind :: Lens' EntityAdWordsLinks Text

-- | A list of entity AdWords links.
eawlItems :: Lens' EntityAdWordsLinks [EntityAdWordsLink]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
eawlTotalResults :: Lens' EntityAdWordsLinks (Maybe Int32)

-- | The starting index of the entries, which is 1 by default or otherwise
--   specified by the start-index query parameter.
eawlStartIndex :: Lens' EntityAdWordsLinks (Maybe Int32)

-- | Previous link for this AdWords link collection.
eawlPreviousLink :: Lens' EntityAdWordsLinks (Maybe Text)

-- | A view (profile) collection lists Analytics views (profiles) to which
--   the user has access. Each resource in the collection corresponds to a
--   single Analytics view (profile).
--   
--   <i>See:</i> <a>proFiles</a> smart constructor.
data ProFiles

-- | Creates a value of <a>ProFiles</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>pfNextLink</a></li>
--   <li><a>pfItemsPerPage</a></li>
--   <li><a>pfKind</a></li>
--   <li><a>pfUsername</a></li>
--   <li><a>pfItems</a></li>
--   <li><a>pfTotalResults</a></li>
--   <li><a>pfStartIndex</a></li>
--   <li><a>pfPreviousLink</a></li>
--   </ul>
proFiles :: ProFiles

-- | Link to next page for this view (profile) collection.
pfNextLink :: Lens' ProFiles (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
pfItemsPerPage :: Lens' ProFiles (Maybe Int32)

-- | Collection type.
pfKind :: Lens' ProFiles Text

-- | Email ID of the authenticated user
pfUsername :: Lens' ProFiles (Maybe Text)

-- | A list of views (profiles).
pfItems :: Lens' ProFiles [ProFile]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
pfTotalResults :: Lens' ProFiles (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
pfStartIndex :: Lens' ProFiles (Maybe Int32)

-- | Link to previous page for this view (profile) collection.
pfPreviousLink :: Lens' ProFiles (Maybe Text)

-- | Request template for the delete upload data request.
--   
--   <i>See:</i> <a>analyticsDataimportDeleteUploadDataRequest</a> smart
--   constructor.
data AnalyticsDataimportDeleteUploadDataRequest

-- | Creates a value of <a>AnalyticsDataimportDeleteUploadDataRequest</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>addudrCustomDataImportUids</a></li>
--   </ul>
analyticsDataimportDeleteUploadDataRequest :: AnalyticsDataimportDeleteUploadDataRequest

-- | A list of upload UIDs.
addudrCustomDataImportUids :: Lens' AnalyticsDataimportDeleteUploadDataRequest [Text]

-- | JSON template for Analytics Entity AdWords Link.
--   
--   <i>See:</i> <a>entityAdWordsLink</a> smart constructor.
data EntityAdWordsLink

-- | Creates a value of <a>EntityAdWordsLink</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>entAdWordsAccounts</a></li>
--   <li><a>entProFileIds</a></li>
--   <li><a>entKind</a></li>
--   <li><a>entSelfLink</a></li>
--   <li><a>entName</a></li>
--   <li><a>entId</a></li>
--   <li><a>entEntity</a></li>
--   </ul>
entityAdWordsLink :: EntityAdWordsLink

-- | A list of AdWords client accounts. These cannot be MCC accounts. This
--   field is required when creating an AdWords link. It cannot be empty.
entAdWordsAccounts :: Lens' EntityAdWordsLink [AdWordsAccount]

-- | IDs of linked Views (Profiles) represented as strings.
entProFileIds :: Lens' EntityAdWordsLink [Text]

-- | Resource type for entity AdWords link.
entKind :: Lens' EntityAdWordsLink Text

-- | URL link for this Google Analytics - Google AdWords link.
entSelfLink :: Lens' EntityAdWordsLink (Maybe Text)

-- | Name of the link. This field is required when creating an AdWords
--   link.
entName :: Lens' EntityAdWordsLink (Maybe Text)

-- | Entity AdWords link ID
entId :: Lens' EntityAdWordsLink (Maybe Text)

-- | Web property being linked.
entEntity :: Lens' EntityAdWordsLink (Maybe EntityAdWordsLinkEntity)

-- | Details for the filter of the type SEARCH_AND_REPLACE.
--   
--   <i>See:</i> <a>filterSearchAndReplaceDetails</a> smart constructor.
data FilterSearchAndReplaceDetails

-- | Creates a value of <a>FilterSearchAndReplaceDetails</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>fsardFieldIndex</a></li>
--   <li><a>fsardField</a></li>
--   <li><a>fsardSearchString</a></li>
--   <li><a>fsardReplaceString</a></li>
--   <li><a>fsardCaseSensitive</a></li>
--   </ul>
filterSearchAndReplaceDetails :: FilterSearchAndReplaceDetails

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fsardFieldIndex :: Lens' FilterSearchAndReplaceDetails (Maybe Int32)

-- | Field to use in the filter.
fsardField :: Lens' FilterSearchAndReplaceDetails (Maybe Text)

-- | Term to search.
fsardSearchString :: Lens' FilterSearchAndReplaceDetails (Maybe Text)

-- | Term to replace the search term with.
fsardReplaceString :: Lens' FilterSearchAndReplaceDetails (Maybe Text)

-- | Determines if the filter is case sensitive.
fsardCaseSensitive :: Lens' FilterSearchAndReplaceDetails (Maybe Bool)

-- | Permissions the user has for this view (profile).
--   
--   <i>See:</i> <a>proFilePermissions</a> smart constructor.
data ProFilePermissions

-- | Creates a value of <a>ProFilePermissions</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>pfpEffective</a></li>
--   </ul>
proFilePermissions :: ProFilePermissions

-- | All the permissions that the user has for this view (profile). These
--   include any implied permissions (e.g., EDIT implies VIEW) or inherited
--   permissions from the parent web property.
pfpEffective :: Lens' ProFilePermissions [Text]

-- | JSON template for an Analytics view (profile).
--   
--   <i>See:</i> <a>proFile</a> smart constructor.
data ProFile

-- | Creates a value of <a>ProFile</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>pParentLink</a></li>
--   <li><a>pECommerceTracking</a></li>
--   <li><a>pSiteSearchCategoryParameters</a></li>
--   <li><a>pWebPropertyId</a></li>
--   <li><a>pChildLink</a></li>
--   <li><a>pSiteSearchQueryParameters</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pDefaultPage</a></li>
--   <li><a>pCreated</a></li>
--   <li><a>pSelfLink</a></li>
--   <li><a>pAccountId</a></li>
--   <li><a>pBotFilteringEnabled</a></li>
--   <li><a>pName</a></li>
--   <li><a>pCurrency</a></li>
--   <li><a>pStarred</a></li>
--   <li><a>pInternalWebPropertyId</a></li>
--   <li><a>pId</a></li>
--   <li><a>pUpdated</a></li>
--   <li><a>pPermissions</a></li>
--   <li><a>pWebsiteURL</a></li>
--   <li><a>pType</a></li>
--   <li><a>pStripSiteSearchCategoryParameters</a></li>
--   <li><a>pTimezone</a></li>
--   <li><a>pExcludeQueryParameters</a></li>
--   <li><a>pEnhancedECommerceTracking</a></li>
--   <li><a>pStripSiteSearchQueryParameters</a></li>
--   </ul>
proFile :: ProFile

-- | Parent link for this view (profile). Points to the web property to
--   which this view (profile) belongs.
pParentLink :: Lens' ProFile (Maybe ProFileParentLink)

-- | Indicates whether ecommerce tracking is enabled for this view
--   (profile).
pECommerceTracking :: Lens' ProFile (Maybe Bool)

-- | Site search category parameters for this view (profile).
pSiteSearchCategoryParameters :: Lens' ProFile (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY to which this view (profile)
--   belongs.
pWebPropertyId :: Lens' ProFile (Maybe Text)

-- | Child link for this view (profile). Points to the list of goals for
--   this view (profile).
pChildLink :: Lens' ProFile (Maybe ProFileChildLink)

-- | The site search query parameters for this view (profile).
pSiteSearchQueryParameters :: Lens' ProFile (Maybe Text)

-- | Resource type for Analytics view (profile).
pKind :: Lens' ProFile Text

-- | Default page for this view (profile).
pDefaultPage :: Lens' ProFile (Maybe Text)

-- | Time this view (profile) was created.
pCreated :: Lens' ProFile (Maybe UTCTime)

-- | Link for this view (profile).
pSelfLink :: Lens' ProFile (Maybe Text)

-- | Account ID to which this view (profile) belongs.
pAccountId :: Lens' ProFile (Maybe Text)

-- | Indicates whether bot filtering is enabled for this view (profile).
pBotFilteringEnabled :: Lens' ProFile (Maybe Bool)

-- | Name of this view (profile).
pName :: Lens' ProFile (Maybe Text)

-- | The currency type associated with this view (profile), defaults to
--   USD. The supported values are: USD, JPY, EUR, GBP, AUD, KRW, BRL, CNY,
--   DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP,
--   INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP,
--   EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL
pCurrency :: Lens' ProFile (Maybe Text)

-- | Indicates whether this view (profile) is starred or not.
pStarred :: Lens' ProFile (Maybe Bool)

-- | Internal ID for the web property to which this view (profile) belongs.
pInternalWebPropertyId :: Lens' ProFile (Maybe Text)

-- | View (Profile) ID.
pId :: Lens' ProFile (Maybe Text)

-- | Time this view (profile) was last modified.
pUpdated :: Lens' ProFile (Maybe UTCTime)

-- | Permissions the user has for this view (profile).
pPermissions :: Lens' ProFile (Maybe ProFilePermissions)

-- | Website URL for this view (profile).
pWebsiteURL :: Lens' ProFile (Maybe Text)

-- | View (Profile) type. Supported types: WEB or APP.
pType :: Lens' ProFile (Maybe Text)

-- | Whether or not Analytics will strip search category parameters from
--   the URLs in your reports.
pStripSiteSearchCategoryParameters :: Lens' ProFile (Maybe Bool)

-- | Time zone for which this view (profile) has been configured. Time
--   zones are identified by strings from the TZ database.
pTimezone :: Lens' ProFile (Maybe Text)

-- | The query parameters that are excluded from this view (profile).
pExcludeQueryParameters :: Lens' ProFile (Maybe Text)

-- | Indicates whether enhanced ecommerce tracking is enabled for this view
--   (profile). This property can only be enabled if ecommerce tracking is
--   enabled.
pEnhancedECommerceTracking :: Lens' ProFile (Maybe Bool)

-- | Whether or not Analytics will strip search query parameters from the
--   URLs in your reports.
pStripSiteSearchQueryParameters :: Lens' ProFile (Maybe Bool)

-- | An AccountSummary collection lists a summary of accounts, properties
--   and views (profiles) to which the user has access. Each resource in
--   the collection corresponds to a single AccountSummary.
--   
--   <i>See:</i> <a>accountSummaries</a> smart constructor.
data AccountSummaries

-- | Creates a value of <a>AccountSummaries</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>asNextLink</a></li>
--   <li><a>asItemsPerPage</a></li>
--   <li><a>asKind</a></li>
--   <li><a>asUsername</a></li>
--   <li><a>asItems</a></li>
--   <li><a>asTotalResults</a></li>
--   <li><a>asStartIndex</a></li>
--   <li><a>asPreviousLink</a></li>
--   </ul>
accountSummaries :: AccountSummaries

-- | Link to next page for this AccountSummary collection.
asNextLink :: Lens' AccountSummaries (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
asItemsPerPage :: Lens' AccountSummaries (Maybe Int32)

-- | Collection type.
asKind :: Lens' AccountSummaries Text

-- | Email ID of the authenticated user
asUsername :: Lens' AccountSummaries (Maybe Text)

-- | A list of AccountSummaries.
asItems :: Lens' AccountSummaries [AccountSummary]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
asTotalResults :: Lens' AccountSummaries (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
asStartIndex :: Lens' AccountSummaries (Maybe Int32)

-- | Link to previous page for this AccountSummary collection.
asPreviousLink :: Lens' AccountSummaries (Maybe Text)

-- | Details for the goal of the type EVENT.
--   
--   <i>See:</i> <a>goalEventDetails</a> smart constructor.
data GoalEventDetails

-- | Creates a value of <a>GoalEventDetails</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>gedUseEventValue</a></li>
--   <li><a>gedEventConditions</a></li>
--   </ul>
goalEventDetails :: GoalEventDetails

-- | Determines if the event value should be used as the value for this
--   goal.
gedUseEventValue :: Lens' GoalEventDetails (Maybe Bool)

-- | List of event conditions.
gedEventConditions :: Lens' GoalEventDetails [GoalEventDetailsEventConditionsItem]

-- | JSON template for an Analytics WebPropertySummary. WebPropertySummary
--   returns basic information (i.e., summary) for a web property.
--   
--   <i>See:</i> <a>webPropertySummary</a> smart constructor.
data WebPropertySummary

-- | Creates a value of <a>WebPropertySummary</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>wpsKind</a></li>
--   <li><a>wpsProFiles</a></li>
--   <li><a>wpsName</a></li>
--   <li><a>wpsStarred</a></li>
--   <li><a>wpsInternalWebPropertyId</a></li>
--   <li><a>wpsId</a></li>
--   <li><a>wpsWebsiteURL</a></li>
--   <li><a>wpsLevel</a></li>
--   </ul>
webPropertySummary :: WebPropertySummary

-- | Resource type for Analytics WebPropertySummary.
wpsKind :: Lens' WebPropertySummary Text

-- | List of profiles under this web property.
wpsProFiles :: Lens' WebPropertySummary [ProFileSummary]

-- | Web property name.
wpsName :: Lens' WebPropertySummary (Maybe Text)

-- | Indicates whether this web property is starred or not.
wpsStarred :: Lens' WebPropertySummary (Maybe Bool)

-- | Internal ID for this web property.
wpsInternalWebPropertyId :: Lens' WebPropertySummary (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY.
wpsId :: Lens' WebPropertySummary (Maybe Text)

-- | Website url for this web property.
wpsWebsiteURL :: Lens' WebPropertySummary (Maybe Text)

-- | Level for this web property. Possible values are STANDARD or PREMIUM.
wpsLevel :: Lens' WebPropertySummary (Maybe Text)

-- | A filter collection lists filters created by users in an Analytics
--   account. Each resource in the collection corresponds to a filter.
--   
--   <i>See:</i> <a>filters</a> smart constructor.
data Filters

-- | Creates a value of <a>Filters</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>fNextLink</a></li>
--   <li><a>fItemsPerPage</a></li>
--   <li><a>fKind</a></li>
--   <li><a>fUsername</a></li>
--   <li><a>fItems</a></li>
--   <li><a>fTotalResults</a></li>
--   <li><a>fStartIndex</a></li>
--   <li><a>fPreviousLink</a></li>
--   </ul>
filters :: Filters

-- | Link to next page for this filter collection.
fNextLink :: Lens' Filters (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1,000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
fItemsPerPage :: Lens' Filters (Maybe Int32)

-- | Collection type.
fKind :: Lens' Filters Text

-- | Email ID of the authenticated user
fUsername :: Lens' Filters (Maybe Text)

-- | A list of filters.
fItems :: Lens' Filters [Filter]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
fTotalResults :: Lens' Filters (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
fStartIndex :: Lens' Filters (Maybe Int32)

-- | Link to previous page for this filter collection.
fPreviousLink :: Lens' Filters (Maybe Text)

-- | Analytics data for a given view (profile).
--   
--   <i>See:</i> <a>gaData</a> smart constructor.
data GaData

-- | Creates a value of <a>GaData</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>gdNextLink</a></li>
--   <li><a>gdSampleSpace</a></li>
--   <li><a>gdItemsPerPage</a></li>
--   <li><a>gdProFileInfo</a></li>
--   <li><a>gdKind</a></li>
--   <li><a>gdSampleSize</a></li>
--   <li><a>gdRows</a></li>
--   <li><a>gdSelfLink</a></li>
--   <li><a>gdQuery</a></li>
--   <li><a>gdColumnHeaders</a></li>
--   <li><a>gdId</a></li>
--   <li><a>gdTotalResults</a></li>
--   <li><a>gdDataLastRefreshed</a></li>
--   <li><a>gdDataTable</a></li>
--   <li><a>gdContainsSampledData</a></li>
--   <li><a>gdTotalsForAllResults</a></li>
--   <li><a>gdPreviousLink</a></li>
--   </ul>
gaData :: GaData

-- | Link to next page for this Analytics data query.
gdNextLink :: Lens' GaData (Maybe Text)

-- | Total size of the sample space from which the samples were selected.
gdSampleSpace :: Lens' GaData (Maybe Int64)

-- | The maximum number of rows the response can contain, regardless of the
--   actual number of rows returned. Its value ranges from 1 to 10,000 with
--   a value of 1000 by default, or otherwise specified by the max-results
--   query parameter.
gdItemsPerPage :: Lens' GaData (Maybe Int32)

-- | Information for the view (profile), for which the Analytics data was
--   requested.
gdProFileInfo :: Lens' GaData (Maybe GaDataProFileInfo)

-- | Resource type.
gdKind :: Lens' GaData Text

-- | The number of samples used to calculate the result.
gdSampleSize :: Lens' GaData (Maybe Int64)

-- | Analytics data rows, where each row contains a list of dimension
--   values followed by the metric values. The order of dimensions and
--   metrics is same as specified in the request.
gdRows :: Lens' GaData [[Text]]

-- | Link to this page.
gdSelfLink :: Lens' GaData (Maybe Text)

-- | Analytics data request query parameters.
gdQuery :: Lens' GaData (Maybe GaDataQuery)

-- | Column headers that list dimension names followed by the metric names.
--   The order of dimensions and metrics is same as specified in the
--   request.
gdColumnHeaders :: Lens' GaData [GaDataColumnHeadersItem]

-- | Unique ID for this data response.
gdId :: Lens' GaData (Maybe Text)

-- | The total number of rows for the query, regardless of the number of
--   rows in the response.
gdTotalResults :: Lens' GaData (Maybe Int32)

-- | The last refreshed time in seconds for Analytics data.
gdDataLastRefreshed :: Lens' GaData (Maybe Int64)
gdDataTable :: Lens' GaData (Maybe GaDataDataTable)

-- | Determines if Analytics data contains samples.
gdContainsSampledData :: Lens' GaData (Maybe Bool)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
gdTotalsForAllResults :: Lens' GaData (Maybe GaDataTotalsForAllResults)

-- | Link to previous page for this Analytics data query.
gdPreviousLink :: Lens' GaData (Maybe Text)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
--   
--   <i>See:</i> <a>realtimeDataTotalsForAllResults</a> smart constructor.
data RealtimeDataTotalsForAllResults

-- | Creates a value of <a>RealtimeDataTotalsForAllResults</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>rdtfarAddtional</a></li>
--   </ul>
realtimeDataTotalsForAllResults :: HashMap Text Text -> RealtimeDataTotalsForAllResults

-- | Key-value pair for the total value of a metric. Key is the metric name
--   and the value is the total value for that metric.
rdtfarAddtional :: Lens' RealtimeDataTotalsForAllResults (HashMap Text Text)

-- | JSON template for an Analytics custom data source.
--   
--   <i>See:</i> <a>customDataSource</a> smart constructor.
data CustomDataSource

-- | Creates a value of <a>CustomDataSource</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>cParentLink</a></li>
--   <li><a>cWebPropertyId</a></li>
--   <li><a>cChildLink</a></li>
--   <li><a>cKind</a></li>
--   <li><a>cCreated</a></li>
--   <li><a>cUploadType</a></li>
--   <li><a>cImportBehavior</a></li>
--   <li><a>cSelfLink</a></li>
--   <li><a>cAccountId</a></li>
--   <li><a>cName</a></li>
--   <li><a>cId</a></li>
--   <li><a>cUpdated</a></li>
--   <li><a>cType</a></li>
--   <li><a>cDescription</a></li>
--   <li><a>cProFilesLinked</a></li>
--   </ul>
customDataSource :: CustomDataSource

-- | Parent link for this custom data source. Points to the web property to
--   which this custom data source belongs.
cParentLink :: Lens' CustomDataSource (Maybe CustomDataSourceParentLink)

-- | Web property ID of the form UA-XXXXX-YY to which this custom data
--   source belongs.
cWebPropertyId :: Lens' CustomDataSource (Maybe Text)
cChildLink :: Lens' CustomDataSource (Maybe CustomDataSourceChildLink)

-- | Resource type for Analytics custom data source.
cKind :: Lens' CustomDataSource Text

-- | Time this custom data source was created.
cCreated :: Lens' CustomDataSource (Maybe UTCTime)
cUploadType :: Lens' CustomDataSource (Maybe Text)
cImportBehavior :: Lens' CustomDataSource (Maybe Text)

-- | Link for this Analytics custom data source.
cSelfLink :: Lens' CustomDataSource (Maybe Text)

-- | Account ID to which this custom data source belongs.
cAccountId :: Lens' CustomDataSource (Maybe Text)

-- | Name of this custom data source.
cName :: Lens' CustomDataSource (Maybe Text)

-- | Custom data source ID.
cId :: Lens' CustomDataSource (Maybe Text)

-- | Time this custom data source was last modified.
cUpdated :: Lens' CustomDataSource (Maybe UTCTime)

-- | Type of the custom data source.
cType :: Lens' CustomDataSource (Maybe Text)

-- | Description of custom data source.
cDescription :: Lens' CustomDataSource (Maybe Text)

-- | IDs of views (profiles) linked to the custom data source.
cProFilesLinked :: Lens' CustomDataSource [Text]

-- | JSON template for a web property reference.
--   
--   <i>See:</i> <a>webPropertyRef</a> smart constructor.
data WebPropertyRef

-- | Creates a value of <a>WebPropertyRef</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>wprKind</a></li>
--   <li><a>wprHref</a></li>
--   <li><a>wprAccountId</a></li>
--   <li><a>wprName</a></li>
--   <li><a>wprInternalWebPropertyId</a></li>
--   <li><a>wprId</a></li>
--   </ul>
webPropertyRef :: WebPropertyRef

-- | Analytics web property reference.
wprKind :: Lens' WebPropertyRef Text

-- | Link for this web property.
wprHref :: Lens' WebPropertyRef (Maybe Text)

-- | Account ID to which this web property belongs.
wprAccountId :: Lens' WebPropertyRef (Maybe Text)

-- | Name of this web property.
wprName :: Lens' WebPropertyRef (Maybe Text)

-- | Internal ID for this web property.
wprInternalWebPropertyId :: Lens' WebPropertyRef (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY.
wprId :: Lens' WebPropertyRef (Maybe Text)

-- | JSON template for an Analytics Remarketing Audience Foreign Link.
--   
--   <i>See:</i> <a>linkedForeignAccount</a> smart constructor.
data LinkedForeignAccount

-- | Creates a value of <a>LinkedForeignAccount</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>lfaStatus</a></li>
--   <li><a>lfaWebPropertyId</a></li>
--   <li><a>lfaKind</a></li>
--   <li><a>lfaEligibleForSearch</a></li>
--   <li><a>lfaAccountId</a></li>
--   <li><a>lfaRemarketingAudienceId</a></li>
--   <li><a>lfaLinkedAccountId</a></li>
--   <li><a>lfaInternalWebPropertyId</a></li>
--   <li><a>lfaId</a></li>
--   <li><a>lfaType</a></li>
--   </ul>
linkedForeignAccount :: LinkedForeignAccount

-- | The status of this foreign account link.
lfaStatus :: Lens' LinkedForeignAccount (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY to which this linked foreign
--   account belongs.
lfaWebPropertyId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Resource type for linked foreign account.
lfaKind :: Lens' LinkedForeignAccount Text

-- | Boolean indicating whether this is eligible for search.
lfaEligibleForSearch :: Lens' LinkedForeignAccount (Maybe Bool)

-- | Account ID to which this linked foreign account belongs.
lfaAccountId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Remarketing audience ID to which this linked foreign account belongs.
lfaRemarketingAudienceId :: Lens' LinkedForeignAccount (Maybe Text)

-- | The foreign account ID. For example the an AdWords `linkedAccountId`
--   has the following format XXX-XXX-XXXX.
lfaLinkedAccountId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Internal ID for the web property to which this linked foreign account
--   belongs.
lfaInternalWebPropertyId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Entity ad account link ID.
lfaId :: Lens' LinkedForeignAccount (Maybe Text)

-- | The type of the foreign account. For example `ADWORDS_LINKS`.
lfaType :: Lens' LinkedForeignAccount (Maybe Text)

-- | A goal collection lists Analytics goals to which the user has access.
--   Each view (profile) can have a set of goals. Each resource in the Goal
--   collection corresponds to a single Analytics goal.
--   
--   <i>See:</i> <a>goals</a> smart constructor.
data Goals

-- | Creates a value of <a>Goals</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>gNextLink</a></li>
--   <li><a>gItemsPerPage</a></li>
--   <li><a>gKind</a></li>
--   <li><a>gUsername</a></li>
--   <li><a>gItems</a></li>
--   <li><a>gTotalResults</a></li>
--   <li><a>gStartIndex</a></li>
--   <li><a>gPreviousLink</a></li>
--   </ul>
goals :: Goals

-- | Link to next page for this goal collection.
gNextLink :: Lens' Goals (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
gItemsPerPage :: Lens' Goals (Maybe Int32)

-- | Collection type.
gKind :: Lens' Goals Text

-- | Email ID of the authenticated user
gUsername :: Lens' Goals (Maybe Text)

-- | A list of goals.
gItems :: Lens' Goals [Goal]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
gTotalResults :: Lens' Goals (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
gStartIndex :: Lens' Goals (Maybe Int32)

-- | Link to previous page for this goal collection.
gPreviousLink :: Lens' Goals (Maybe Text)

-- | A union object representing a dimension or metric value. Only one of
--   "primitiveValue" or "conversionPathValue" attribute will be populated.
--   
--   <i>See:</i> <a>mcfDataRowsItemItem</a> smart constructor.
data McfDataRowsItemItem

-- | Creates a value of <a>McfDataRowsItemItem</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>mdriiPrimitiveValue</a></li>
--   <li><a>mdriiConversionPathValue</a></li>
--   </ul>
mcfDataRowsItemItem :: McfDataRowsItemItem

-- | A primitive dimension value. A primitive metric value.
mdriiPrimitiveValue :: Lens' McfDataRowsItemItem (Maybe Text)

-- | A conversion path dimension value, containing a list of interactions
--   with their attributes.
mdriiConversionPathValue :: Lens' McfDataRowsItemItem [McfDataRowsItemItemConversionPathValueItem]

-- | Permissions the user has for this account.
--   
--   <i>See:</i> <a>accountPermissions</a> smart constructor.
data AccountPermissions

-- | Creates a value of <a>AccountPermissions</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>apEffective</a></li>
--   </ul>
accountPermissions :: AccountPermissions

-- | All the permissions that the user has for this account. These include
--   any implied permissions (e.g., EDIT implies VIEW).
apEffective :: Lens' AccountPermissions [Text]

-- | Entity for this link. It can be an account, a web property, or a view
--   (profile).
--   
--   <i>See:</i> <a>entityUserLinkEntity</a> smart constructor.
data EntityUserLinkEntity

-- | Creates a value of <a>EntityUserLinkEntity</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>euleProFileRef</a></li>
--   <li><a>euleAccountRef</a></li>
--   <li><a>euleWebPropertyRef</a></li>
--   </ul>
entityUserLinkEntity :: EntityUserLinkEntity

-- | View (Profile) for this link.
euleProFileRef :: Lens' EntityUserLinkEntity (Maybe ProFileRef)

-- | Account for this link.
euleAccountRef :: Lens' EntityUserLinkEntity (Maybe AccountRef)

-- | Web property for this link.
euleWebPropertyRef :: Lens' EntityUserLinkEntity (Maybe WebPropertyRef)

-- | JSON template for Analytics account entry.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</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>accChildLink</a></li>
--   <li><a>accKind</a></li>
--   <li><a>accCreated</a></li>
--   <li><a>accSelfLink</a></li>
--   <li><a>accName</a></li>
--   <li><a>accStarred</a></li>
--   <li><a>accId</a></li>
--   <li><a>accUpdated</a></li>
--   <li><a>accPermissions</a></li>
--   </ul>
account :: Account

-- | Child link for an account entry. Points to the list of web properties
--   for this account.
accChildLink :: Lens' Account (Maybe AccountChildLink)

-- | Resource type for Analytics account.
accKind :: Lens' Account Text

-- | Time the account was created.
accCreated :: Lens' Account (Maybe UTCTime)

-- | Link for this account.
accSelfLink :: Lens' Account (Maybe Text)

-- | Account name.
accName :: Lens' Account (Maybe Text)

-- | Indicates whether this account is starred or not.
accStarred :: Lens' Account (Maybe Bool)

-- | Account ID.
accId :: Lens' Account (Maybe Text)

-- | Time the account was last modified.
accUpdated :: Lens' Account (Maybe UTCTime)

-- | Permissions the user has for this account.
accPermissions :: Lens' Account (Maybe AccountPermissions)

-- | JSON template for Analytics experiment resource.
--   
--   <i>See:</i> <a>experiment</a> smart constructor.
data Experiment

-- | Creates a value of <a>Experiment</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>expParentLink</a></li>
--   <li><a>expEqualWeighting</a></li>
--   <li><a>expStatus</a></li>
--   <li><a>expWebPropertyId</a></li>
--   <li><a>expStartTime</a></li>
--   <li><a>expSnippet</a></li>
--   <li><a>expKind</a></li>
--   <li><a>expCreated</a></li>
--   <li><a>expReasonExperimentEnded</a></li>
--   <li><a>expTrafficCoverage</a></li>
--   <li><a>expEditableInGaUi</a></li>
--   <li><a>expMinimumExperimentLengthInDays</a></li>
--   <li><a>expProFileId</a></li>
--   <li><a>expOptimizationType</a></li>
--   <li><a>expSelfLink</a></li>
--   <li><a>expAccountId</a></li>
--   <li><a>expName</a></li>
--   <li><a>expWinnerFound</a></li>
--   <li><a>expEndTime</a></li>
--   <li><a>expVariations</a></li>
--   <li><a>expInternalWebPropertyId</a></li>
--   <li><a>expId</a></li>
--   <li><a>expUpdated</a></li>
--   <li><a>expRewriteVariationURLsAsOriginal</a></li>
--   <li><a>expObjectiveMetric</a></li>
--   <li><a>expWinnerConfidenceLevel</a></li>
--   <li><a>expServingFramework</a></li>
--   <li><a>expDescription</a></li>
--   </ul>
experiment :: Experiment

-- | Parent link for an experiment. Points to the view (profile) to which
--   this experiment belongs.
expParentLink :: Lens' Experiment (Maybe ExperimentParentLink)

-- | Boolean specifying whether to distribute traffic evenly across all
--   variations. If the value is False, content experiments follows the
--   default behavior of adjusting traffic dynamically based on variation
--   performance. Optional -- defaults to False. This field may not be
--   changed for an experiment whose status is ENDED.
expEqualWeighting :: Lens' Experiment (Maybe Bool)

-- | Experiment status. Possible values: "DRAFT", "READY_TO_RUN",
--   "RUNNING", "ENDED". Experiments can be created in the "DRAFT",
--   "READY_TO_RUN" or "RUNNING" state. This field is required when
--   creating an experiment.
expStatus :: Lens' Experiment (Maybe Text)

-- | Web property ID to which this experiment belongs. The web property ID
--   is of the form UA-XXXXX-YY. This field is read-only.
expWebPropertyId :: Lens' Experiment (Maybe Text)

-- | The starting time of the experiment (the time the status changed from
--   READY_TO_RUN to RUNNING). This field is present only if the experiment
--   has started. This field is read-only.
expStartTime :: Lens' Experiment (Maybe UTCTime)

-- | The snippet of code to include on the control page(s). This field is
--   read-only.
expSnippet :: Lens' Experiment (Maybe Text)

-- | Resource type for an Analytics experiment. This field is read-only.
expKind :: Lens' Experiment Text

-- | Time the experiment was created. This field is read-only.
expCreated :: Lens' Experiment (Maybe UTCTime)

-- | Why the experiment ended. Possible values: "STOPPED_BY_USER",
--   "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER",
--   "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the
--   experiment didn't expire but no winner was projected to be found. If
--   the experiment status is changed via the API to ENDED this field is
--   set to STOPPED_BY_USER. This field is read-only.
expReasonExperimentEnded :: Lens' Experiment (Maybe Text)

-- | A floating-point number in (0, 1]. Specifies the fraction of the
--   traffic that participates in the experiment. Can be changed for a
--   running experiment. This field may not be changed for an experiments
--   whose status is ENDED.
expTrafficCoverage :: Lens' Experiment (Maybe Double)

-- | If true, the end user will be able to edit the experiment via the
--   Google Analytics user interface.
expEditableInGaUi :: Lens' Experiment (Maybe Bool)

-- | An integer number in [3, 90]. Specifies the minimum length of the
--   experiment. Can be changed for a running experiment. This field may
--   not be changed for an experiments whose status is ENDED.
expMinimumExperimentLengthInDays :: Lens' Experiment (Maybe Int32)

-- | View (Profile) ID to which this experiment belongs. This field is
--   read-only.
expProFileId :: Lens' Experiment (Maybe Text)

-- | Whether the objectiveMetric should be minimized or maximized. Possible
--   values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot
--   be specified without objectiveMetric. Cannot be modified when status
--   is "RUNNING" or "ENDED".
expOptimizationType :: Lens' Experiment (Maybe Text)

-- | Link for this experiment. This field is read-only.
expSelfLink :: Lens' Experiment (Maybe Text)

-- | Account ID to which this experiment belongs. This field is read-only.
expAccountId :: Lens' Experiment (Maybe Text)

-- | Experiment name. This field may not be changed for an experiment whose
--   status is ENDED. This field is required when creating an experiment.
expName :: Lens' Experiment (Maybe Text)

-- | Boolean specifying whether a winner has been found for this
--   experiment. This field is read-only.
expWinnerFound :: Lens' Experiment (Maybe Bool)

-- | The ending time of the experiment (the time the status changed from
--   RUNNING to ENDED). This field is present only if the experiment has
--   ended. This field is read-only.
expEndTime :: Lens' Experiment (Maybe UTCTime)

-- | Array of variations. The first variation in the array is the original.
--   The number of variations may not change once an experiment is in the
--   RUNNING state. At least two variations are required before status can
--   be set to RUNNING.
expVariations :: Lens' Experiment [ExperimentVariationsItem]

-- | Internal ID for the web property to which this experiment belongs.
--   This field is read-only.
expInternalWebPropertyId :: Lens' Experiment (Maybe Text)

-- | Experiment ID. Required for patch and update. Disallowed for create.
expId :: Lens' Experiment (Maybe Text)

-- | Time the experiment was last modified. This field is read-only.
expUpdated :: Lens' Experiment (Maybe UTCTime)

-- | Boolean specifying whether variations URLS are rewritten to match
--   those of the original. This field may not be changed for an
--   experiments whose status is ENDED.
expRewriteVariationURLsAsOriginal :: Lens' Experiment (Maybe Bool)

-- | The metric that the experiment is optimizing. Valid values:
--   "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed",
--   "ga:adsenseRevenue", "ga:bounces", "ga:pageviews",
--   "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This
--   field is required if status is "RUNNING" and servingFramework is one
--   of "REDIRECT" or "API".
expObjectiveMetric :: Lens' Experiment (Maybe Text)

-- | A floating-point number in (0, 1). Specifies the necessary confidence
--   level to choose a winner. This field may not be changed for an
--   experiments whose status is ENDED.
expWinnerConfidenceLevel :: Lens' Experiment (Maybe Double)

-- | The framework used to serve the experiment variations and evaluate the
--   results. One of: - REDIRECT: Google Analytics redirects traffic to
--   different variation pages, reports the chosen variation and evaluates
--   the results. - API: Google Analytics chooses and reports the variation
--   to serve and evaluates the results; the caller is responsible for
--   serving the selected variation. - EXTERNAL: The variations will be
--   served externally and the chosen variation reported to Google
--   Analytics. The caller is responsible for serving the selected
--   variation and evaluating the results.
expServingFramework :: Lens' Experiment (Maybe Text)

-- | Notes about this experiment.
expDescription :: Lens' Experiment (Maybe Text)

-- | An entity user link collection provides a list of Analytics ACL links
--   Each resource in this collection corresponds to a single link.
--   
--   <i>See:</i> <a>entityUserLinks</a> smart constructor.
data EntityUserLinks

-- | Creates a value of <a>EntityUserLinks</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>eulNextLink</a></li>
--   <li><a>eulItemsPerPage</a></li>
--   <li><a>eulKind</a></li>
--   <li><a>eulItems</a></li>
--   <li><a>eulTotalResults</a></li>
--   <li><a>eulStartIndex</a></li>
--   <li><a>eulPreviousLink</a></li>
--   </ul>
entityUserLinks :: EntityUserLinks

-- | Next link for this account collection.
eulNextLink :: Lens' EntityUserLinks (Maybe Text)

-- | The maximum number of entries the response can contain, regardless of
--   the actual number of entries returned. Its value ranges from 1 to 1000
--   with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
eulItemsPerPage :: Lens' EntityUserLinks (Maybe Int32)

-- | Collection type.
eulKind :: Lens' EntityUserLinks Text

-- | A list of entity user links.
eulItems :: Lens' EntityUserLinks [EntityUserLink]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
eulTotalResults :: Lens' EntityUserLinks (Maybe Int32)

-- | The starting index of the entries, which is 1 by default or otherwise
--   specified by the start-index query parameter.
eulStartIndex :: Lens' EntityUserLinks (Maybe Int32)

-- | Previous link for this account collection.
eulPreviousLink :: Lens' EntityUserLinks (Maybe Text)

-- | JSON template for an AdWords account.
--   
--   <i>See:</i> <a>adWordsAccount</a> smart constructor.
data AdWordsAccount

-- | Creates a value of <a>AdWordsAccount</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>awaAutoTaggingEnabled</a></li>
--   <li><a>awaKind</a></li>
--   <li><a>awaCustomerId</a></li>
--   </ul>
adWordsAccount :: AdWordsAccount

-- | True if auto-tagging is enabled on the AdWords account. Read-only
--   after the insert operation.
awaAutoTaggingEnabled :: Lens' AdWordsAccount (Maybe Bool)

-- | Resource type for AdWords account.
awaKind :: Lens' AdWordsAccount Text

-- | Customer ID. This field is required when creating an AdWords link.
awaCustomerId :: Lens' AdWordsAccount (Maybe Text)

-- | JSON template for a profile filter link.
--   
--   <i>See:</i> <a>filterRef</a> smart constructor.
data FilterRef

-- | Creates a value of <a>FilterRef</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>frKind</a></li>
--   <li><a>frHref</a></li>
--   <li><a>frAccountId</a></li>
--   <li><a>frName</a></li>
--   <li><a>frId</a></li>
--   </ul>
filterRef :: FilterRef

-- | Kind value for filter reference.
frKind :: Lens' FilterRef Text

-- | Link for this filter.
frHref :: Lens' FilterRef (Maybe Text)

-- | Account ID to which this filter belongs.
frAccountId :: Lens' FilterRef (Maybe Text)

-- | Name of this filter.
frName :: Lens' FilterRef (Maybe Text)

-- | Filter ID.
frId :: Lens' FilterRef (Maybe Text)

-- | Details for the goal of the type VISIT_TIME_ON_SITE.
--   
--   <i>See:</i> <a>goalVisitTimeOnSiteDetails</a> smart constructor.
data GoalVisitTimeOnSiteDetails

-- | Creates a value of <a>GoalVisitTimeOnSiteDetails</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>gvtosdComparisonValue</a></li>
--   <li><a>gvtosdComparisonType</a></li>
--   </ul>
goalVisitTimeOnSiteDetails :: GoalVisitTimeOnSiteDetails

-- | Value used for this comparison.
gvtosdComparisonValue :: Lens' GoalVisitTimeOnSiteDetails (Maybe Int64)

-- | Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
gvtosdComparisonType :: Lens' GoalVisitTimeOnSiteDetails (Maybe Text)

-- | A web property collection lists Analytics web properties to which the
--   user has access. Each resource in the collection corresponds to a
--   single Analytics web property.
--   
--   <i>See:</i> <a>webProperties</a> smart constructor.
data WebProperties

-- | Creates a value of <a>WebProperties</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>wpNextLink</a></li>
--   <li><a>wpItemsPerPage</a></li>
--   <li><a>wpKind</a></li>
--   <li><a>wpUsername</a></li>
--   <li><a>wpItems</a></li>
--   <li><a>wpTotalResults</a></li>
--   <li><a>wpStartIndex</a></li>
--   <li><a>wpPreviousLink</a></li>
--   </ul>
webProperties :: WebProperties

-- | Link to next page for this web property collection.
wpNextLink :: Lens' WebProperties (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
wpItemsPerPage :: Lens' WebProperties (Maybe Int32)

-- | Collection type.
wpKind :: Lens' WebProperties Text

-- | Email ID of the authenticated user
wpUsername :: Lens' WebProperties (Maybe Text)

-- | A list of web properties.
wpItems :: Lens' WebProperties [WebProperty]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
wpTotalResults :: Lens' WebProperties (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
wpStartIndex :: Lens' WebProperties (Maybe Int32)

-- | Link to previous page for this web property collection.
wpPreviousLink :: Lens' WebProperties (Maybe Text)

-- | A custom metric collection lists Analytics custom metrics to which the
--   user has access. Each resource in the collection corresponds to a
--   single Analytics custom metric.
--   
--   <i>See:</i> <a>customMetrics</a> smart constructor.
data CustomMetrics

-- | Creates a value of <a>CustomMetrics</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>cmNextLink</a></li>
--   <li><a>cmItemsPerPage</a></li>
--   <li><a>cmKind</a></li>
--   <li><a>cmUsername</a></li>
--   <li><a>cmItems</a></li>
--   <li><a>cmTotalResults</a></li>
--   <li><a>cmStartIndex</a></li>
--   <li><a>cmPreviousLink</a></li>
--   </ul>
customMetrics :: CustomMetrics

-- | Link to next page for this custom metric collection.
cmNextLink :: Lens' CustomMetrics (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
cmItemsPerPage :: Lens' CustomMetrics (Maybe Int32)

-- | Collection type.
cmKind :: Lens' CustomMetrics Text

-- | Email ID of the authenticated user
cmUsername :: Lens' CustomMetrics (Maybe Text)

-- | Collection of custom metrics.
cmItems :: Lens' CustomMetrics [CustomMetric]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
cmTotalResults :: Lens' CustomMetrics (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
cmStartIndex :: Lens' CustomMetrics (Maybe Int32)

-- | Link to previous page for this custom metric collection.
cmPreviousLink :: Lens' CustomMetrics (Maybe Text)

-- | Details for the filter of the type ADVANCED.
--   
--   <i>See:</i> <a>filterAdvancedDetails</a> smart constructor.
data FilterAdvancedDetails

-- | Creates a value of <a>FilterAdvancedDetails</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>fadExtractA</a></li>
--   <li><a>fadFieldARequired</a></li>
--   <li><a>fadFieldA</a></li>
--   <li><a>fadFieldBIndex</a></li>
--   <li><a>fadOutputToField</a></li>
--   <li><a>fadOutputConstructor</a></li>
--   <li><a>fadExtractB</a></li>
--   <li><a>fadFieldAIndex</a></li>
--   <li><a>fadCaseSensitive</a></li>
--   <li><a>fadOutputToFieldIndex</a></li>
--   <li><a>fadFieldB</a></li>
--   <li><a>fadFieldBRequired</a></li>
--   <li><a>fadOverrideOutputField</a></li>
--   </ul>
filterAdvancedDetails :: FilterAdvancedDetails

-- | Expression to extract from field A.
fadExtractA :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Indicates if field A is required to match.
fadFieldARequired :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | Field A.
fadFieldA :: Lens' FilterAdvancedDetails (Maybe Text)

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fadFieldBIndex :: Lens' FilterAdvancedDetails (Maybe Int32)

-- | Output field.
fadOutputToField :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Expression used to construct the output value.
fadOutputConstructor :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Expression to extract from field B.
fadExtractB :: Lens' FilterAdvancedDetails (Maybe Text)

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fadFieldAIndex :: Lens' FilterAdvancedDetails (Maybe Int32)

-- | Indicates if the filter expressions are case sensitive.
fadCaseSensitive :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fadOutputToFieldIndex :: Lens' FilterAdvancedDetails (Maybe Int32)

-- | Field B.
fadFieldB :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Indicates if field B is required to match.
fadFieldBRequired :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | Indicates if the existing value of the output field, if any, should be
--   overridden by the output expression.
fadOverrideOutputField :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | Details for the filter of the type UPPER.
--   
--   <i>See:</i> <a>filterUppercaseDetails</a> smart constructor.
data FilterUppercaseDetails

-- | Creates a value of <a>FilterUppercaseDetails</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>fudFieldIndex</a></li>
--   <li><a>fudField</a></li>
--   </ul>
filterUppercaseDetails :: FilterUppercaseDetails

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fudFieldIndex :: Lens' FilterUppercaseDetails (Maybe Int32)

-- | Field to use in the filter.
fudField :: Lens' FilterUppercaseDetails (Maybe Text)
data CustomDataSourceChildLink

-- | Creates a value of <a>CustomDataSourceChildLink</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>cdsclHref</a></li>
--   <li><a>cdsclType</a></li>
--   </ul>
customDataSourceChildLink :: CustomDataSourceChildLink

-- | Link to the list of daily uploads for this custom data source. Link to
--   the list of uploads for this custom data source.
cdsclHref :: Lens' CustomDataSourceChildLink (Maybe Text)

-- | Value is "analyticsuploads".
cdsclType :: Lens' CustomDataSourceChildLink (Maybe Text)

-- | JSON template for an Analytics Remarketing Include Conditions.
--   
--   <i>See:</i> <a>includeConditions</a> smart constructor.
data IncludeConditions

-- | Creates a value of <a>IncludeConditions</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>icKind</a></li>
--   <li><a>icDaysToLookBack</a></li>
--   <li><a>icMembershipDurationDays</a></li>
--   <li><a>icSegment</a></li>
--   <li><a>icIsSmartList</a></li>
--   </ul>
includeConditions :: IncludeConditions

-- | Resource type for include conditions.
icKind :: Lens' IncludeConditions Text

-- | The look-back window lets you specify a time frame for evaluating the
--   behavior that qualifies users for your audience. For example, if your
--   filters include users from Central Asia, and Transactions Greater than
--   2, and you set the look-back window to 14 days, then any user from
--   Central Asia whose cumulative transactions exceed 2 during the last 14
--   days is added to the audience.
icDaysToLookBack :: Lens' IncludeConditions (Maybe Int32)

-- | Number of days (in the range 1 to 540) a user remains in the audience.
icMembershipDurationDays :: Lens' IncludeConditions (Maybe Int32)

-- | The segment condition that will cause a user to be added to an
--   audience.
icSegment :: Lens' IncludeConditions (Maybe Text)

-- | Boolean indicating whether this segment is a smart list.
--   https://support.google.com/analytics/answer/4628577
icIsSmartList :: Lens' IncludeConditions (Maybe Bool)

-- | Parent link for this filter. Points to the account to which this
--   filter belongs.
--   
--   <i>See:</i> <a>filterParentLink</a> smart constructor.
data FilterParentLink

-- | Creates a value of <a>FilterParentLink</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>fplHref</a></li>
--   <li><a>fplType</a></li>
--   </ul>
filterParentLink :: FilterParentLink

-- | Link to the account to which this filter belongs.
fplHref :: Lens' FilterParentLink (Maybe Text)

-- | Value is "analytics#account".
fplType :: Lens' FilterParentLink Text

-- | The selected format for the response. Default format is JSON.
data DataGaGetOutput

-- | <tt>dataTable</tt> Returns the response in Google Charts Data Table
--   format. This is useful in creating visualization using Google Charts.
DataTable :: DataGaGetOutput

-- | <tt>json</tt> Returns the response in standard JSON format.
JSON :: DataGaGetOutput

-- | Real time data for a given view (profile).
--   
--   <i>See:</i> <a>realtimeData</a> smart constructor.
data RealtimeData

-- | Creates a value of <a>RealtimeData</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>rdProFileInfo</a></li>
--   <li><a>rdKind</a></li>
--   <li><a>rdRows</a></li>
--   <li><a>rdSelfLink</a></li>
--   <li><a>rdQuery</a></li>
--   <li><a>rdColumnHeaders</a></li>
--   <li><a>rdId</a></li>
--   <li><a>rdTotalResults</a></li>
--   <li><a>rdTotalsForAllResults</a></li>
--   </ul>
realtimeData :: RealtimeData

-- | Information for the view (profile), for which the real time data was
--   requested.
rdProFileInfo :: Lens' RealtimeData (Maybe RealtimeDataProFileInfo)

-- | Resource type.
rdKind :: Lens' RealtimeData Text

-- | Real time data rows, where each row contains a list of dimension
--   values followed by the metric values. The order of dimensions and
--   metrics is same as specified in the request.
rdRows :: Lens' RealtimeData [[Text]]

-- | Link to this page.
rdSelfLink :: Lens' RealtimeData (Maybe Text)

-- | Real time data request query parameters.
rdQuery :: Lens' RealtimeData (Maybe RealtimeDataQuery)

-- | Column headers that list dimension names followed by the metric names.
--   The order of dimensions and metrics is same as specified in the
--   request.
rdColumnHeaders :: Lens' RealtimeData [RealtimeDataColumnHeadersItem]

-- | Unique ID for this data response.
rdId :: Lens' RealtimeData (Maybe Text)

-- | The total number of rows for the query, regardless of the number of
--   rows in the response.
rdTotalResults :: Lens' RealtimeData (Maybe Int32)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
rdTotalsForAllResults :: Lens' RealtimeData (Maybe RealtimeDataTotalsForAllResults)

-- | JSON template for Analytics Custom Metric.
--   
--   <i>See:</i> <a>customMetric</a> smart constructor.
data CustomMetric

-- | Creates a value of <a>CustomMetric</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>cusParentLink</a></li>
--   <li><a>cusWebPropertyId</a></li>
--   <li><a>cusKind</a></li>
--   <li><a>cusMaxValue</a></li>
--   <li><a>cusCreated</a></li>
--   <li><a>cusMinValue</a></li>
--   <li><a>cusActive</a></li>
--   <li><a>cusSelfLink</a></li>
--   <li><a>cusAccountId</a></li>
--   <li><a>cusName</a></li>
--   <li><a>cusScope</a></li>
--   <li><a>cusId</a></li>
--   <li><a>cusUpdated</a></li>
--   <li><a>cusType</a></li>
--   <li><a>cusIndex</a></li>
--   </ul>
customMetric :: CustomMetric

-- | Parent link for the custom metric. Points to the property to which the
--   custom metric belongs.
cusParentLink :: Lens' CustomMetric (Maybe CustomMetricParentLink)

-- | Property ID.
cusWebPropertyId :: Lens' CustomMetric (Maybe Text)

-- | Kind value for a custom metric. Set to "analytics#customMetric". It is
--   a read-only field.
cusKind :: Lens' CustomMetric Text

-- | Max value of custom metric.
cusMaxValue :: Lens' CustomMetric (Maybe Text)

-- | Time the custom metric was created.
cusCreated :: Lens' CustomMetric (Maybe UTCTime)

-- | Min value of custom metric.
cusMinValue :: Lens' CustomMetric (Maybe Text)

-- | Boolean indicating whether the custom metric is active.
cusActive :: Lens' CustomMetric (Maybe Bool)

-- | Link for the custom metric
cusSelfLink :: Lens' CustomMetric (Maybe Text)

-- | Account ID.
cusAccountId :: Lens' CustomMetric (Maybe Text)

-- | Name of the custom metric.
cusName :: Lens' CustomMetric (Maybe Text)

-- | Scope of the custom metric: HIT or PRODUCT.
cusScope :: Lens' CustomMetric (Maybe Text)

-- | Custom metric ID.
cusId :: Lens' CustomMetric (Maybe Text)

-- | Time the custom metric was last modified.
cusUpdated :: Lens' CustomMetric (Maybe UTCTime)

-- | Data type of custom metric.
cusType :: Lens' CustomMetric (Maybe Text)

-- | Index of the custom metric.
cusIndex :: Lens' CustomMetric (Maybe Int32)

-- | JSON template for an Analytics ProfileSummary. ProfileSummary returns
--   basic information (i.e., summary) for a profile.
--   
--   <i>See:</i> <a>proFileSummary</a> smart constructor.
data ProFileSummary

-- | Creates a value of <a>ProFileSummary</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>pfsKind</a></li>
--   <li><a>pfsName</a></li>
--   <li><a>pfsStarred</a></li>
--   <li><a>pfsId</a></li>
--   <li><a>pfsType</a></li>
--   </ul>
proFileSummary :: ProFileSummary

-- | Resource type for Analytics ProfileSummary.
pfsKind :: Lens' ProFileSummary Text

-- | View (profile) name.
pfsName :: Lens' ProFileSummary (Maybe Text)

-- | Indicates whether this view (profile) is starred or not.
pfsStarred :: Lens' ProFileSummary (Maybe Bool)

-- | View (profile) ID.
pfsId :: Lens' ProFileSummary (Maybe Text)

-- | View (Profile) type. Supported types: WEB or APP.
pfsType :: Lens' ProFileSummary (Maybe Text)

-- | Parent link for the custom dimension. Points to the property to which
--   the custom dimension belongs.
--   
--   <i>See:</i> <a>customDimensionParentLink</a> smart constructor.
data CustomDimensionParentLink

-- | Creates a value of <a>CustomDimensionParentLink</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>cdplHref</a></li>
--   <li><a>cdplType</a></li>
--   </ul>
customDimensionParentLink :: CustomDimensionParentLink

-- | Link to the property to which the custom dimension belongs.
cdplHref :: Lens' CustomDimensionParentLink (Maybe Text)

-- | Type of the parent link. Set to "analytics#webproperty".
cdplType :: Lens' CustomDimensionParentLink Text

-- | JSON template for an Analytics web property.
--   
--   <i>See:</i> <a>webProperty</a> smart constructor.
data WebProperty

-- | Creates a value of <a>WebProperty</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>wParentLink</a></li>
--   <li><a>wChildLink</a></li>
--   <li><a>wDefaultProFileId</a></li>
--   <li><a>wKind</a></li>
--   <li><a>wCreated</a></li>
--   <li><a>wSelfLink</a></li>
--   <li><a>wAccountId</a></li>
--   <li><a>wName</a></li>
--   <li><a>wStarred</a></li>
--   <li><a>wInternalWebPropertyId</a></li>
--   <li><a>wId</a></li>
--   <li><a>wUpdated</a></li>
--   <li><a>wProFileCount</a></li>
--   <li><a>wPermissions</a></li>
--   <li><a>wWebsiteURL</a></li>
--   <li><a>wIndustryVertical</a></li>
--   <li><a>wLevel</a></li>
--   </ul>
webProperty :: WebProperty

-- | Parent link for this web property. Points to the account to which this
--   web property belongs.
wParentLink :: Lens' WebProperty (Maybe WebPropertyParentLink)

-- | Child link for this web property. Points to the list of views
--   (profiles) for this web property.
wChildLink :: Lens' WebProperty (Maybe WebPropertyChildLink)

-- | Default view (profile) ID.
wDefaultProFileId :: Lens' WebProperty (Maybe Int64)

-- | Resource type for Analytics WebProperty.
wKind :: Lens' WebProperty Text

-- | Time this web property was created.
wCreated :: Lens' WebProperty (Maybe UTCTime)

-- | Link for this web property.
wSelfLink :: Lens' WebProperty (Maybe Text)

-- | Account ID to which this web property belongs.
wAccountId :: Lens' WebProperty (Maybe Text)

-- | Name of this web property.
wName :: Lens' WebProperty (Maybe Text)

-- | Indicates whether this web property is starred or not.
wStarred :: Lens' WebProperty (Maybe Bool)

-- | Internal ID for this web property.
wInternalWebPropertyId :: Lens' WebProperty (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY.
wId :: Lens' WebProperty (Maybe Text)

-- | Time this web property was last modified.
wUpdated :: Lens' WebProperty (Maybe UTCTime)

-- | View (Profile) count for this web property.
wProFileCount :: Lens' WebProperty (Maybe Int32)

-- | Permissions the user has for this web property.
wPermissions :: Lens' WebProperty (Maybe WebPropertyPermissions)

-- | Website url for this web property.
wWebsiteURL :: Lens' WebProperty (Maybe Text)

-- | The industry vertical/category selected for this web property.
wIndustryVertical :: Lens' WebProperty (Maybe Text)

-- | Level for this web property. Possible values are STANDARD or PREMIUM.
wLevel :: Lens' WebProperty (Maybe Text)

-- | Permissions the user has for this web property.
--   
--   <i>See:</i> <a>webPropertyPermissions</a> smart constructor.
data WebPropertyPermissions

-- | Creates a value of <a>WebPropertyPermissions</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>wppEffective</a></li>
--   </ul>
webPropertyPermissions :: WebPropertyPermissions

-- | All the permissions that the user has for this web property. These
--   include any implied permissions (e.g., EDIT implies VIEW) or inherited
--   permissions from the parent account.
wppEffective :: Lens' WebPropertyPermissions [Text]

-- | JSON template for an Analytics Entity-User Link. Returns permissions
--   that a user has for an entity.
--   
--   <i>See:</i> <a>entityUserLink</a> smart constructor.
data EntityUserLink

-- | Creates a value of <a>EntityUserLink</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>euluKind</a></li>
--   <li><a>euluUserRef</a></li>
--   <li><a>euluSelfLink</a></li>
--   <li><a>euluId</a></li>
--   <li><a>euluPermissions</a></li>
--   <li><a>euluEntity</a></li>
--   </ul>
entityUserLink :: EntityUserLink

-- | Resource type for entity user link.
euluKind :: Lens' EntityUserLink Text

-- | User reference.
euluUserRef :: Lens' EntityUserLink (Maybe UserRef)

-- | Self link for this resource.
euluSelfLink :: Lens' EntityUserLink (Maybe Text)

-- | Entity user link ID
euluId :: Lens' EntityUserLink (Maybe Text)

-- | Permissions the user has for this entity.
euluPermissions :: Lens' EntityUserLink (Maybe EntityUserLinkPermissions)

-- | Entity for this link. It can be an account, a web property, or a view
--   (profile).
euluEntity :: Lens' EntityUserLink (Maybe EntityUserLinkEntity)

-- | Parent link for this custom data source. Points to the web property to
--   which this custom data source belongs.
--   
--   <i>See:</i> <a>customDataSourceParentLink</a> smart constructor.
data CustomDataSourceParentLink

-- | Creates a value of <a>CustomDataSourceParentLink</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>cdsplHref</a></li>
--   <li><a>cdsplType</a></li>
--   </ul>
customDataSourceParentLink :: CustomDataSourceParentLink

-- | Link to the web property to which this custom data source belongs.
cdsplHref :: Lens' CustomDataSourceParentLink (Maybe Text)

-- | Value is "analytics#webproperty".
cdsplType :: Lens' CustomDataSourceParentLink Text
data GoalEventDetailsEventConditionsItem

-- | Creates a value of <a>GoalEventDetailsEventConditionsItem</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>gedeciMatchType</a></li>
--   <li><a>gedeciExpression</a></li>
--   <li><a>gedeciComparisonValue</a></li>
--   <li><a>gedeciType</a></li>
--   <li><a>gedeciComparisonType</a></li>
--   </ul>
goalEventDetailsEventConditionsItem :: GoalEventDetailsEventConditionsItem

-- | Type of the match to be performed. Possible values are REGEXP,
--   BEGINS_WITH, or EXACT.
gedeciMatchType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Expression used for this match.
gedeciExpression :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Value used for this comparison.
gedeciComparisonValue :: Lens' GoalEventDetailsEventConditionsItem (Maybe Int64)

-- | Type of this event condition. Possible values are CATEGORY, ACTION,
--   LABEL, or VALUE.
gedeciType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Type of comparison. Possible values are LESS_THAN, GREATER_THAN or
--   EQUAL.
gedeciComparisonType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Analytics data request query parameters.
--   
--   <i>See:</i> <a>mcfDataQuery</a> smart constructor.
data McfDataQuery

-- | Creates a value of <a>McfDataQuery</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>mdqMetrics</a></li>
--   <li><a>mdqSamplingLevel</a></li>
--   <li><a>mdqFilters</a></li>
--   <li><a>mdqIds</a></li>
--   <li><a>mdqEndDate</a></li>
--   <li><a>mdqSort</a></li>
--   <li><a>mdqDimensions</a></li>
--   <li><a>mdqStartIndex</a></li>
--   <li><a>mdqMaxResults</a></li>
--   <li><a>mdqSegment</a></li>
--   <li><a>mdqStartDate</a></li>
--   </ul>
mcfDataQuery :: McfDataQuery

-- | List of analytics metrics.
mdqMetrics :: Lens' McfDataQuery [Text]

-- | Desired sampling level
mdqSamplingLevel :: Lens' McfDataQuery (Maybe Text)

-- | Comma-separated list of dimension or metric filters.
mdqFilters :: Lens' McfDataQuery (Maybe Text)

-- | Unique table ID.
mdqIds :: Lens' McfDataQuery (Maybe Text)

-- | End date.
mdqEndDate :: Lens' McfDataQuery (Maybe Text)

-- | List of dimensions or metrics based on which Analytics data is sorted.
mdqSort :: Lens' McfDataQuery [Text]

-- | List of analytics dimensions.
mdqDimensions :: Lens' McfDataQuery (Maybe Text)

-- | Start index.
mdqStartIndex :: Lens' McfDataQuery (Maybe Int32)

-- | Maximum results per page.
mdqMaxResults :: Lens' McfDataQuery (Maybe Int32)

-- | Analytics advanced segment.
mdqSegment :: Lens' McfDataQuery (Maybe Text)

-- | Start date.
mdqStartDate :: Lens' McfDataQuery (Maybe Text)

-- | JSON template for Analytics goal resource.
--   
--   <i>See:</i> <a>goal</a> smart constructor.
data Goal

-- | Creates a value of <a>Goal</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>goaParentLink</a></li>
--   <li><a>goaWebPropertyId</a></li>
--   <li><a>goaKind</a></li>
--   <li><a>goaCreated</a></li>
--   <li><a>goaValue</a></li>
--   <li><a>goaProFileId</a></li>
--   <li><a>goaEventDetails</a></li>
--   <li><a>goaActive</a></li>
--   <li><a>goaSelfLink</a></li>
--   <li><a>goaVisitTimeOnSiteDetails</a></li>
--   <li><a>goaAccountId</a></li>
--   <li><a>goaName</a></li>
--   <li><a>goaInternalWebPropertyId</a></li>
--   <li><a>goaId</a></li>
--   <li><a>goaURLDestinationDetails</a></li>
--   <li><a>goaVisitNumPagesDetails</a></li>
--   <li><a>goaUpdated</a></li>
--   <li><a>goaType</a></li>
--   </ul>
goal :: Goal

-- | Parent link for a goal. Points to the view (profile) to which this
--   goal belongs.
goaParentLink :: Lens' Goal (Maybe GoalParentLink)

-- | Web property ID to which this goal belongs. The web property ID is of
--   the form UA-XXXXX-YY.
goaWebPropertyId :: Lens' Goal (Maybe Text)

-- | Resource type for an Analytics goal.
goaKind :: Lens' Goal Text

-- | Time this goal was created.
goaCreated :: Lens' Goal (Maybe UTCTime)

-- | Goal value.
goaValue :: Lens' Goal (Maybe Double)

-- | View (Profile) ID to which this goal belongs.
goaProFileId :: Lens' Goal (Maybe Text)

-- | Details for the goal of the type EVENT.
goaEventDetails :: Lens' Goal (Maybe GoalEventDetails)

-- | Determines whether this goal is active.
goaActive :: Lens' Goal (Maybe Bool)

-- | Link for this goal.
goaSelfLink :: Lens' Goal (Maybe Text)

-- | Details for the goal of the type VISIT_TIME_ON_SITE.
goaVisitTimeOnSiteDetails :: Lens' Goal (Maybe GoalVisitTimeOnSiteDetails)

-- | Account ID to which this goal belongs.
goaAccountId :: Lens' Goal (Maybe Text)

-- | Goal name.
goaName :: Lens' Goal (Maybe Text)

-- | Internal ID for the web property to which this goal belongs.
goaInternalWebPropertyId :: Lens' Goal (Maybe Text)

-- | Goal ID.
goaId :: Lens' Goal (Maybe Text)

-- | Details for the goal of the type URL_DESTINATION.
goaURLDestinationDetails :: Lens' Goal (Maybe GoalURLDestinationDetails)

-- | Details for the goal of the type VISIT_NUM_PAGES.
goaVisitNumPagesDetails :: Lens' Goal (Maybe GoalVisitNumPagesDetails)

-- | Time this goal was last modified.
goaUpdated :: Lens' Goal (Maybe UTCTime)

-- | Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE,
--   VISIT_NUM_PAGES, AND EVENT.
goaType :: Lens' Goal (Maybe Text)

-- | JSON template for an Analytics account ticket. The account ticket
--   consists of the ticket ID and the basic information for the account,
--   property and profile.
--   
--   <i>See:</i> <a>accountTicket</a> smart constructor.
data AccountTicket

-- | Creates a value of <a>AccountTicket</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>atRedirectURI</a></li>
--   <li><a>atKind</a></li>
--   <li><a>atProFile</a></li>
--   <li><a>atAccount</a></li>
--   <li><a>atWebProperty</a></li>
--   <li><a>atId</a></li>
--   </ul>
accountTicket :: AccountTicket

-- | Redirect URI where the user will be sent after accepting Terms of
--   Service. Must be configured in APIs console as a callback URL.
atRedirectURI :: Lens' AccountTicket (Maybe Text)

-- | Resource type for account ticket.
atKind :: Lens' AccountTicket Text

-- | View (Profile) for the account.
atProFile :: Lens' AccountTicket (Maybe ProFile)

-- | Account for this ticket.
atAccount :: Lens' AccountTicket (Maybe Account)

-- | Web property for the account.
atWebProperty :: Lens' AccountTicket (Maybe WebProperty)

-- | Account ticket ID used to access the account ticket.
atId :: Lens' AccountTicket (Maybe Text)

-- | JSON template for an Analytics AccountSummary. An AccountSummary is a
--   lightweight tree comprised of properties/profiles.
--   
--   <i>See:</i> <a>accountSummary</a> smart constructor.
data AccountSummary

-- | Creates a value of <a>AccountSummary</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>assKind</a></li>
--   <li><a>assWebProperties</a></li>
--   <li><a>assName</a></li>
--   <li><a>assStarred</a></li>
--   <li><a>assId</a></li>
--   </ul>
accountSummary :: AccountSummary

-- | Resource type for Analytics AccountSummary.
assKind :: Lens' AccountSummary Text

-- | List of web properties under this account.
assWebProperties :: Lens' AccountSummary [WebPropertySummary]

-- | Account name.
assName :: Lens' AccountSummary (Maybe Text)

-- | Indicates whether this account is starred or not.
assStarred :: Lens' AccountSummary (Maybe Bool)

-- | Account ID.
assId :: Lens' AccountSummary (Maybe Text)

-- | Real time data request query parameters.
--   
--   <i>See:</i> <a>realtimeDataQuery</a> smart constructor.
data RealtimeDataQuery

-- | Creates a value of <a>RealtimeDataQuery</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>rdqMetrics</a></li>
--   <li><a>rdqFilters</a></li>
--   <li><a>rdqIds</a></li>
--   <li><a>rdqSort</a></li>
--   <li><a>rdqDimensions</a></li>
--   <li><a>rdqMaxResults</a></li>
--   </ul>
realtimeDataQuery :: RealtimeDataQuery

-- | List of real time metrics.
rdqMetrics :: Lens' RealtimeDataQuery [Text]

-- | Comma-separated list of dimension or metric filters.
rdqFilters :: Lens' RealtimeDataQuery (Maybe Text)

-- | Unique table ID.
rdqIds :: Lens' RealtimeDataQuery (Maybe Text)

-- | List of dimensions or metrics based on which real time data is sorted.
rdqSort :: Lens' RealtimeDataQuery [Text]

-- | List of real time dimensions.
rdqDimensions :: Lens' RealtimeDataQuery (Maybe Text)

-- | Maximum results per page.
rdqMaxResults :: Lens' RealtimeDataQuery (Maybe Int32)

-- | Lists columns (dimensions and metrics) for a particular report type.
--   
--   <i>See:</i> <a>columns</a> smart constructor.
data Columns

-- | Creates a value of <a>Columns</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>colEtag</a></li>
--   <li><a>colKind</a></li>
--   <li><a>colItems</a></li>
--   <li><a>colTotalResults</a></li>
--   <li><a>colAttributeNames</a></li>
--   </ul>
columns :: Columns

-- | Etag of collection. This etag can be compared with the last response
--   etag to check if response has changed.
colEtag :: Lens' Columns (Maybe Text)

-- | Collection type.
colKind :: Lens' Columns Text

-- | List of columns for a report type.
colItems :: Lens' Columns [Column]

-- | Total number of columns returned in the response.
colTotalResults :: Lens' Columns (Maybe Int32)

-- | List of attributes names returned by columns.
colAttributeNames :: Lens' Columns [Text]

-- | Details for the filter of the type LOWER.
--   
--   <i>See:</i> <a>filterLowercaseDetails</a> smart constructor.
data FilterLowercaseDetails

-- | Creates a value of <a>FilterLowercaseDetails</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>fldFieldIndex</a></li>
--   <li><a>fldField</a></li>
--   </ul>
filterLowercaseDetails :: FilterLowercaseDetails

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fldFieldIndex :: Lens' FilterLowercaseDetails (Maybe Int32)

-- | Field to use in the filter.
fldField :: Lens' FilterLowercaseDetails (Maybe Text)

-- | JSON template for an Analytics account filter.
--   
--   <i>See:</i> <a>filter'</a> smart constructor.
data Filter

-- | Creates a value of <a>Filter</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>filParentLink</a></li>
--   <li><a>filAdvancedDetails</a></li>
--   <li><a>filUppercaseDetails</a></li>
--   <li><a>filLowercaseDetails</a></li>
--   <li><a>filKind</a></li>
--   <li><a>filCreated</a></li>
--   <li><a>filIncludeDetails</a></li>
--   <li><a>filExcludeDetails</a></li>
--   <li><a>filSelfLink</a></li>
--   <li><a>filAccountId</a></li>
--   <li><a>filName</a></li>
--   <li><a>filId</a></li>
--   <li><a>filUpdated</a></li>
--   <li><a>filType</a></li>
--   <li><a>filSearchAndReplaceDetails</a></li>
--   </ul>
filter' :: Filter

-- | Parent link for this filter. Points to the account to which this
--   filter belongs.
filParentLink :: Lens' Filter (Maybe FilterParentLink)

-- | Details for the filter of the type ADVANCED.
filAdvancedDetails :: Lens' Filter (Maybe FilterAdvancedDetails)

-- | Details for the filter of the type UPPER.
filUppercaseDetails :: Lens' Filter (Maybe FilterUppercaseDetails)

-- | Details for the filter of the type LOWER.
filLowercaseDetails :: Lens' Filter (Maybe FilterLowercaseDetails)

-- | Resource type for Analytics filter.
filKind :: Lens' Filter Text

-- | Time this filter was created.
filCreated :: Lens' Filter (Maybe UTCTime)

-- | Details for the filter of the type INCLUDE.
filIncludeDetails :: Lens' Filter (Maybe FilterExpression)

-- | Details for the filter of the type EXCLUDE.
filExcludeDetails :: Lens' Filter (Maybe FilterExpression)

-- | Link for this filter.
filSelfLink :: Lens' Filter (Maybe Text)

-- | Account ID to which this filter belongs.
filAccountId :: Lens' Filter (Maybe Text)

-- | Name of this filter.
filName :: Lens' Filter (Maybe Text)

-- | Filter ID.
filId :: Lens' Filter (Maybe Text)

-- | Time this filter was last modified.
filUpdated :: Lens' Filter (Maybe UTCTime)

-- | Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE,
--   UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.
filType :: Lens' Filter (Maybe Text)

-- | Details for the filter of the type SEARCH_AND_REPLACE.
filSearchAndReplaceDetails :: Lens' Filter (Maybe FilterSearchAndReplaceDetails)

-- | Upload collection lists Analytics uploads to which the user has
--   access. Each custom data source can have a set of uploads. Each
--   resource in the upload collection corresponds to a single Analytics
--   data upload.
--   
--   <i>See:</i> <a>uploads</a> smart constructor.
data Uploads

-- | Creates a value of <a>Uploads</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>uplNextLink</a></li>
--   <li><a>uplItemsPerPage</a></li>
--   <li><a>uplKind</a></li>
--   <li><a>uplItems</a></li>
--   <li><a>uplTotalResults</a></li>
--   <li><a>uplStartIndex</a></li>
--   <li><a>uplPreviousLink</a></li>
--   </ul>
uploads :: Uploads

-- | Link to next page for this upload collection.
uplNextLink :: Lens' Uploads (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
uplItemsPerPage :: Lens' Uploads (Maybe Int32)

-- | Collection type.
uplKind :: Lens' Uploads Text

-- | A list of uploads.
uplItems :: Lens' Uploads [Upload]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
uplTotalResults :: Lens' Uploads (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
uplStartIndex :: Lens' Uploads (Maybe Int32)

-- | Link to previous page for this upload collection.
uplPreviousLink :: Lens' Uploads (Maybe Text)

-- | A custom dimension collection lists Analytics custom dimensions to
--   which the user has access. Each resource in the collection corresponds
--   to a single Analytics custom dimension.
--   
--   <i>See:</i> <a>customDimensions</a> smart constructor.
data CustomDimensions

-- | Creates a value of <a>CustomDimensions</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>cdNextLink</a></li>
--   <li><a>cdItemsPerPage</a></li>
--   <li><a>cdKind</a></li>
--   <li><a>cdUsername</a></li>
--   <li><a>cdItems</a></li>
--   <li><a>cdTotalResults</a></li>
--   <li><a>cdStartIndex</a></li>
--   <li><a>cdPreviousLink</a></li>
--   </ul>
customDimensions :: CustomDimensions

-- | Link to next page for this custom dimension collection.
cdNextLink :: Lens' CustomDimensions (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
cdItemsPerPage :: Lens' CustomDimensions (Maybe Int32)

-- | Collection type.
cdKind :: Lens' CustomDimensions Text

-- | Email ID of the authenticated user
cdUsername :: Lens' CustomDimensions (Maybe Text)

-- | Collection of custom dimensions.
cdItems :: Lens' CustomDimensions [CustomDimension]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
cdTotalResults :: Lens' CustomDimensions (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
cdStartIndex :: Lens' CustomDimensions (Maybe Int32)

-- | Link to previous page for this custom dimension collection.
cdPreviousLink :: Lens' CustomDimensions (Maybe Text)

-- | An segment collection lists Analytics segments that the user has
--   access to. Each resource in the collection corresponds to a single
--   Analytics segment.
--   
--   <i>See:</i> <a>segments</a> smart constructor.
data Segments

-- | Creates a value of <a>Segments</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>sNextLink</a></li>
--   <li><a>sItemsPerPage</a></li>
--   <li><a>sKind</a></li>
--   <li><a>sUsername</a></li>
--   <li><a>sItems</a></li>
--   <li><a>sTotalResults</a></li>
--   <li><a>sStartIndex</a></li>
--   <li><a>sPreviousLink</a></li>
--   </ul>
segments :: Segments

-- | Link to next page for this segment collection.
sNextLink :: Lens' Segments (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
sItemsPerPage :: Lens' Segments (Maybe Int32)

-- | Collection type for segments.
sKind :: Lens' Segments Text

-- | Email ID of the authenticated user
sUsername :: Lens' Segments (Maybe Text)

-- | A list of segments.
sItems :: Lens' Segments [Segment]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
sTotalResults :: Lens' Segments (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
sStartIndex :: Lens' Segments (Maybe Int32)

-- | Link to previous page for this segment collection.
sPreviousLink :: Lens' Segments (Maybe Text)
data GaDataDataTable

-- | Creates a value of <a>GaDataDataTable</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>gddtCols</a></li>
--   <li><a>gddtRows</a></li>
--   </ul>
gaDataDataTable :: GaDataDataTable
gddtCols :: Lens' GaDataDataTable [GaDataDataTableColsItem]
gddtRows :: Lens' GaDataDataTable [GaDataDataTableRowsItem]

-- | Web property being linked.
--   
--   <i>See:</i> <a>entityAdWordsLinkEntity</a> smart constructor.
data EntityAdWordsLinkEntity

-- | Creates a value of <a>EntityAdWordsLinkEntity</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>eawleWebPropertyRef</a></li>
--   </ul>
entityAdWordsLinkEntity :: EntityAdWordsLinkEntity
eawleWebPropertyRef :: Lens' EntityAdWordsLinkEntity (Maybe WebPropertyRef)

-- | A state based audience definition that will cause a user to be added
--   or removed from an audience.
--   
--   <i>See:</i> <a>remarketingAudienceStateBasedAudienceDefinition</a>
--   smart constructor.
data RemarketingAudienceStateBasedAudienceDefinition

-- | Creates a value of
--   <a>RemarketingAudienceStateBasedAudienceDefinition</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>rasbadExcludeConditions</a></li>
--   <li><a>rasbadIncludeConditions</a></li>
--   </ul>
remarketingAudienceStateBasedAudienceDefinition :: RemarketingAudienceStateBasedAudienceDefinition

-- | Defines the conditions to exclude users from the audience.
rasbadExcludeConditions :: Lens' RemarketingAudienceStateBasedAudienceDefinition (Maybe RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions)

-- | Defines the conditions to include users to the audience.
rasbadIncludeConditions :: Lens' RemarketingAudienceStateBasedAudienceDefinition (Maybe IncludeConditions)

-- | Details for the goal of the type URL_DESTINATION.
--   
--   <i>See:</i> <a>goalURLDestinationDetails</a> smart constructor.
data GoalURLDestinationDetails

-- | Creates a value of <a>GoalURLDestinationDetails</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>guddURL</a></li>
--   <li><a>guddMatchType</a></li>
--   <li><a>guddSteps</a></li>
--   <li><a>guddCaseSensitive</a></li>
--   <li><a>guddFirstStepRequired</a></li>
--   </ul>
goalURLDestinationDetails :: GoalURLDestinationDetails

-- | URL for this goal.
guddURL :: Lens' GoalURLDestinationDetails (Maybe Text)

-- | Match type for the goal URL. Possible values are HEAD, EXACT, or
--   REGEX.
guddMatchType :: Lens' GoalURLDestinationDetails (Maybe Text)

-- | List of steps configured for this goal funnel.
guddSteps :: Lens' GoalURLDestinationDetails [GoalURLDestinationDetailsStepsItem]

-- | Determines if the goal URL must exactly match the capitalization of
--   visited URLs.
guddCaseSensitive :: Lens' GoalURLDestinationDetails (Maybe Bool)

-- | Determines if the first step in this goal is required.
guddFirstStepRequired :: Lens' GoalURLDestinationDetails (Maybe Bool)

-- | A profile filter link collection lists profile filter links between
--   profiles and filters. Each resource in the collection corresponds to a
--   profile filter link.
--   
--   <i>See:</i> <a>proFileFilterLinks</a> smart constructor.
data ProFileFilterLinks

-- | Creates a value of <a>ProFileFilterLinks</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>pfflNextLink</a></li>
--   <li><a>pfflItemsPerPage</a></li>
--   <li><a>pfflKind</a></li>
--   <li><a>pfflUsername</a></li>
--   <li><a>pfflItems</a></li>
--   <li><a>pfflTotalResults</a></li>
--   <li><a>pfflStartIndex</a></li>
--   <li><a>pfflPreviousLink</a></li>
--   </ul>
proFileFilterLinks :: ProFileFilterLinks

-- | Link to next page for this profile filter link collection.
pfflNextLink :: Lens' ProFileFilterLinks (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1,000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
pfflItemsPerPage :: Lens' ProFileFilterLinks (Maybe Int32)

-- | Collection type.
pfflKind :: Lens' ProFileFilterLinks Text

-- | Email ID of the authenticated user
pfflUsername :: Lens' ProFileFilterLinks (Maybe Text)

-- | A list of profile filter links.
pfflItems :: Lens' ProFileFilterLinks [ProFileFilterLink]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
pfflTotalResults :: Lens' ProFileFilterLinks (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
pfflStartIndex :: Lens' ProFileFilterLinks (Maybe Int32)

-- | Link to previous page for this profile filter link collection.
pfflPreviousLink :: Lens' ProFileFilterLinks (Maybe Text)

-- | Parent link for this web property. Points to the account to which this
--   web property belongs.
--   
--   <i>See:</i> <a>webPropertyParentLink</a> smart constructor.
data WebPropertyParentLink

-- | Creates a value of <a>WebPropertyParentLink</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>wpplHref</a></li>
--   <li><a>wpplType</a></li>
--   </ul>
webPropertyParentLink :: WebPropertyParentLink

-- | Link to the account for this web property.
wpplHref :: Lens' WebPropertyParentLink (Maybe Text)

-- | Type of the parent link. Its value is "analytics#account".
wpplType :: Lens' WebPropertyParentLink Text

-- | Information for the view (profile), for which the Analytics data was
--   requested.
--   
--   <i>See:</i> <a>gaDataProFileInfo</a> smart constructor.
data GaDataProFileInfo

-- | Creates a value of <a>GaDataProFileInfo</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>gdpfiWebPropertyId</a></li>
--   <li><a>gdpfiProFileId</a></li>
--   <li><a>gdpfiProFileName</a></li>
--   <li><a>gdpfiAccountId</a></li>
--   <li><a>gdpfiInternalWebPropertyId</a></li>
--   <li><a>gdpfiTableId</a></li>
--   </ul>
gaDataProFileInfo :: GaDataProFileInfo

-- | Web Property ID to which this view (profile) belongs.
gdpfiWebPropertyId :: Lens' GaDataProFileInfo (Maybe Text)

-- | View (Profile) ID.
gdpfiProFileId :: Lens' GaDataProFileInfo (Maybe Text)

-- | View (Profile) name.
gdpfiProFileName :: Lens' GaDataProFileInfo (Maybe Text)

-- | Account ID to which this view (profile) belongs.
gdpfiAccountId :: Lens' GaDataProFileInfo (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
gdpfiInternalWebPropertyId :: Lens' GaDataProFileInfo (Maybe Text)

-- | Table ID for view (profile).
gdpfiTableId :: Lens' GaDataProFileInfo (Maybe Text)

-- | Metadata returned for an upload operation.
--   
--   <i>See:</i> <a>upload</a> smart constructor.
data Upload

-- | Creates a value of <a>Upload</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>uuStatus</a></li>
--   <li><a>uuKind</a></li>
--   <li><a>uuCustomDataSourceId</a></li>
--   <li><a>uuAccountId</a></li>
--   <li><a>uuId</a></li>
--   <li><a>uuErrors</a></li>
--   </ul>
upload :: Upload

-- | Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING,
--   DELETED.
uuStatus :: Lens' Upload (Maybe Text)

-- | Resource type for Analytics upload.
uuKind :: Lens' Upload Text

-- | Custom data source Id to which this data import belongs.
uuCustomDataSourceId :: Lens' Upload (Maybe Text)

-- | Account Id to which this upload belongs.
uuAccountId :: Lens' Upload (Maybe Int64)

-- | A unique ID for this upload.
uuId :: Lens' Upload (Maybe Text)

-- | Data import errors collection.
uuErrors :: Lens' Upload [Text]

-- | The desired sampling level.
data DataMcfGetSamplingLevel

-- | <tt>DEFAULT</tt> Returns response with a sample size that balances
--   speed and accuracy.
DMGSLDefault :: DataMcfGetSamplingLevel

-- | <tt>FASTER</tt> Returns a fast response with a smaller sample size.
DMGSLFaster :: DataMcfGetSamplingLevel

-- | <tt>HIGHER_PRECISION</tt> Returns a more accurate response using a
--   large sample size, but this may result in the response being slower.
DMGSLHigherPrecision :: DataMcfGetSamplingLevel

-- | JSON template for Analytics Custom Dimension.
--   
--   <i>See:</i> <a>customDimension</a> smart constructor.
data CustomDimension

-- | Creates a value of <a>CustomDimension</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>cddParentLink</a></li>
--   <li><a>cddWebPropertyId</a></li>
--   <li><a>cddKind</a></li>
--   <li><a>cddCreated</a></li>
--   <li><a>cddActive</a></li>
--   <li><a>cddSelfLink</a></li>
--   <li><a>cddAccountId</a></li>
--   <li><a>cddName</a></li>
--   <li><a>cddScope</a></li>
--   <li><a>cddId</a></li>
--   <li><a>cddUpdated</a></li>
--   <li><a>cddIndex</a></li>
--   </ul>
customDimension :: CustomDimension

-- | Parent link for the custom dimension. Points to the property to which
--   the custom dimension belongs.
cddParentLink :: Lens' CustomDimension (Maybe CustomDimensionParentLink)

-- | Property ID.
cddWebPropertyId :: Lens' CustomDimension (Maybe Text)

-- | Kind value for a custom dimension. Set to "analytics#customDimension".
--   It is a read-only field.
cddKind :: Lens' CustomDimension Text

-- | Time the custom dimension was created.
cddCreated :: Lens' CustomDimension (Maybe UTCTime)

-- | Boolean indicating whether the custom dimension is active.
cddActive :: Lens' CustomDimension (Maybe Bool)

-- | Link for the custom dimension
cddSelfLink :: Lens' CustomDimension (Maybe Text)

-- | Account ID.
cddAccountId :: Lens' CustomDimension (Maybe Text)

-- | Name of the custom dimension.
cddName :: Lens' CustomDimension (Maybe Text)

-- | Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
cddScope :: Lens' CustomDimension (Maybe Text)

-- | Custom dimension ID.
cddId :: Lens' CustomDimension (Maybe Text)

-- | Time the custom dimension was last modified.
cddUpdated :: Lens' CustomDimension (Maybe UTCTime)

-- | Index of the custom dimension.
cddIndex :: Lens' CustomDimension (Maybe Int32)

-- | JSON template for an Analytics segment.
--   
--   <i>See:</i> <a>segment</a> smart constructor.
data Segment

-- | Creates a value of <a>Segment</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>segDefinition</a></li>
--   <li><a>segKind</a></li>
--   <li><a>segCreated</a></li>
--   <li><a>segSelfLink</a></li>
--   <li><a>segName</a></li>
--   <li><a>segId</a></li>
--   <li><a>segUpdated</a></li>
--   <li><a>segType</a></li>
--   <li><a>segSegmentId</a></li>
--   </ul>
segment :: Segment

-- | Segment definition.
segDefinition :: Lens' Segment (Maybe Text)

-- | Resource type for Analytics segment.
segKind :: Lens' Segment Text

-- | Time the segment was created.
segCreated :: Lens' Segment (Maybe UTCTime)

-- | Link for this segment.
segSelfLink :: Lens' Segment (Maybe Text)

-- | Segment name.
segName :: Lens' Segment (Maybe Text)

-- | Segment ID.
segId :: Lens' Segment (Maybe Text)

-- | Time the segment was last modified.
segUpdated :: Lens' Segment (Maybe UTCTime)

-- | Type for a segment. Possible values are "BUILT_IN" or "CUSTOM".
segType :: Lens' Segment (Maybe Text)

-- | Segment ID. Can be used with the 'segment' parameter in Core Reporting
--   API.
segSegmentId :: Lens' Segment (Maybe Text)

-- | Child link for an account entry. Points to the list of web properties
--   for this account.
--   
--   <i>See:</i> <a>accountChildLink</a> smart constructor.
data AccountChildLink

-- | Creates a value of <a>AccountChildLink</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>aclHref</a></li>
--   <li><a>aclType</a></li>
--   </ul>
accountChildLink :: AccountChildLink

-- | Link to the list of web properties for this account.
aclHref :: Lens' AccountChildLink (Maybe Text)

-- | Type of the child link. Its value is "analytics#webproperties".
aclType :: Lens' AccountChildLink Text

-- | JSON template for an Analytics profile filter link.
--   
--   <i>See:</i> <a>proFileFilterLink</a> smart constructor.
data ProFileFilterLink

-- | Creates a value of <a>ProFileFilterLink</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>proProFileRef</a></li>
--   <li><a>proKind</a></li>
--   <li><a>proFilterRef</a></li>
--   <li><a>proSelfLink</a></li>
--   <li><a>proId</a></li>
--   <li><a>proRank</a></li>
--   </ul>
proFileFilterLink :: ProFileFilterLink

-- | View (Profile) for this link.
proProFileRef :: Lens' ProFileFilterLink (Maybe ProFileRef)

-- | Resource type for Analytics filter.
proKind :: Lens' ProFileFilterLink Text

-- | Filter for this link.
proFilterRef :: Lens' ProFileFilterLink (Maybe FilterRef)

-- | Link for this profile filter link.
proSelfLink :: Lens' ProFileFilterLink (Maybe Text)

-- | Profile filter link ID.
proId :: Lens' ProFileFilterLink (Maybe Text)

-- | The rank of this profile filter link relative to the other filters
--   linked to the same profile. For readonly (i.e., list and get)
--   operations, the rank always starts at 1. For write (i.e., create,
--   update, or delete) operations, you may specify a value between 0 and
--   255 inclusively, [0, 255]. In order to insert a link at the end of the
--   list, either don't specify a rank or set a rank to a number greater
--   than the largest rank in the list. In order to insert a link to the
--   beginning of the list specify a rank that is less than or equal to 1.
--   The new link will move all existing filters with the same or lower
--   rank down the list. After the link is inserted/updated/deleted all
--   profile filter links will be renumbered starting at 1.
proRank :: Lens' ProFileFilterLink (Maybe Int32)

-- | Parent link for the custom metric. Points to the property to which the
--   custom metric belongs.
--   
--   <i>See:</i> <a>customMetricParentLink</a> smart constructor.
data CustomMetricParentLink

-- | Creates a value of <a>CustomMetricParentLink</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>cmplHref</a></li>
--   <li><a>cmplType</a></li>
--   </ul>
customMetricParentLink :: CustomMetricParentLink

-- | Link to the property to which the custom metric belongs.
cmplHref :: Lens' CustomMetricParentLink (Maybe Text)

-- | Type of the parent link. Set to "analytics#webproperty".
cmplType :: Lens' CustomMetricParentLink Text

-- | JSON template for a metadata column.
--   
--   <i>See:</i> <a>column</a> smart constructor.
data Column

-- | Creates a value of <a>Column</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>ccKind</a></li>
--   <li><a>ccAttributes</a></li>
--   <li><a>ccId</a></li>
--   </ul>
column :: Column

-- | Resource type for Analytics column.
ccKind :: Lens' Column Text

-- | Map of attribute name and value for this column.
ccAttributes :: Lens' Column (Maybe ColumnAttributes)

-- | Column id.
ccId :: Lens' Column (Maybe Text)

-- | The simple audience definition that will cause a user to be added to
--   an audience.
--   
--   <i>See:</i> <a>remarketingAudienceAudienceDefinition</a> smart
--   constructor.
data RemarketingAudienceAudienceDefinition

-- | Creates a value of <a>RemarketingAudienceAudienceDefinition</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>raadIncludeConditions</a></li>
--   </ul>
remarketingAudienceAudienceDefinition :: RemarketingAudienceAudienceDefinition

-- | Defines the conditions to include users to the audience.
raadIncludeConditions :: Lens' RemarketingAudienceAudienceDefinition (Maybe IncludeConditions)
data GaDataDataTableColsItem

-- | Creates a value of <a>GaDataDataTableColsItem</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>gddtciId</a></li>
--   <li><a>gddtciType</a></li>
--   <li><a>gddtciLabel</a></li>
--   </ul>
gaDataDataTableColsItem :: GaDataDataTableColsItem
gddtciId :: Lens' GaDataDataTableColsItem (Maybe Text)
gddtciType :: Lens' GaDataDataTableColsItem (Maybe Text)
gddtciLabel :: Lens' GaDataDataTableColsItem (Maybe Text)
data ExperimentVariationsItem

-- | Creates a value of <a>ExperimentVariationsItem</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>eviStatus</a></li>
--   <li><a>eviWeight</a></li>
--   <li><a>eviURL</a></li>
--   <li><a>eviWon</a></li>
--   <li><a>eviName</a></li>
--   </ul>
experimentVariationsItem :: ExperimentVariationsItem

-- | Status of the variation. Possible values: "ACTIVE", "INACTIVE".
--   INACTIVE variations are not served. This field may not be changed for
--   an experiment whose status is ENDED.
eviStatus :: Lens' ExperimentVariationsItem (Maybe Text)

-- | Weight that this variation should receive. Only present if the
--   experiment is running. This field is read-only.
eviWeight :: Lens' ExperimentVariationsItem (Maybe Double)

-- | The URL of the variation. This field may not be changed for an
--   experiment whose status is RUNNING or ENDED.
eviURL :: Lens' ExperimentVariationsItem (Maybe Text)

-- | True if the experiment has ended and this variation performed
--   (statistically) significantly better than the original. This field is
--   read-only.
eviWon :: Lens' ExperimentVariationsItem (Maybe Bool)

-- | The name of the variation. This field is required when creating an
--   experiment. This field may not be changed for an experiment whose
--   status is ENDED.
eviName :: Lens' ExperimentVariationsItem (Maybe Text)

-- | Defines the conditions to exclude users from the audience.
--   
--   <i>See:</i>
--   <a>remarketingAudienceStateBasedAudienceDefinitionExcludeConditions</a>
--   smart constructor.
data RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions

-- | Creates a value of
--   <a>RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions</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>rasbadecExclusionDuration</a></li>
--   <li><a>rasbadecSegment</a></li>
--   </ul>
remarketingAudienceStateBasedAudienceDefinitionExcludeConditions :: RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions

-- | Whether to make the exclusion TEMPORARY or PERMANENT.
rasbadecExclusionDuration :: Lens' RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions (Maybe Text)

-- | The segment condition that will cause a user to be removed from an
--   audience.
rasbadecSegment :: Lens' RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions (Maybe Text)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
--   
--   <i>See:</i> <a>mcfDataTotalsForAllResults</a> smart constructor.
data McfDataTotalsForAllResults

-- | Creates a value of <a>McfDataTotalsForAllResults</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>mdtfarAddtional</a></li>
--   </ul>
mcfDataTotalsForAllResults :: HashMap Text Text -> McfDataTotalsForAllResults

-- | Key-value pair for the total value of a metric. Key is the metric name
--   and the value is the total value for that metric.
mdtfarAddtional :: Lens' McfDataTotalsForAllResults (HashMap Text Text)

-- | Download details for a file stored in Google Cloud Storage.
--   
--   <i>See:</i> <a>unSampledReportCloudStorageDownloadDetails</a> smart
--   constructor.
data UnSampledReportCloudStorageDownloadDetails

-- | Creates a value of <a>UnSampledReportCloudStorageDownloadDetails</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>usrcsddObjectId</a></li>
--   <li><a>usrcsddBucketId</a></li>
--   </ul>
unSampledReportCloudStorageDownloadDetails :: UnSampledReportCloudStorageDownloadDetails

-- | Id of the file object containing the report data.
usrcsddObjectId :: Lens' UnSampledReportCloudStorageDownloadDetails (Maybe Text)

-- | Id of the bucket the file object is stored in.
usrcsddBucketId :: Lens' UnSampledReportCloudStorageDownloadDetails (Maybe Text)

-- | Child link for this view (profile). Points to the list of goals for
--   this view (profile).
--   
--   <i>See:</i> <a>proFileChildLink</a> smart constructor.
data ProFileChildLink

-- | Creates a value of <a>ProFileChildLink</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>pfclHref</a></li>
--   <li><a>pfclType</a></li>
--   </ul>
proFileChildLink :: ProFileChildLink

-- | Link to the list of goals for this view (profile).
pfclHref :: Lens' ProFileChildLink (Maybe Text)

-- | Value is "analytics#goals".
pfclType :: Lens' ProFileChildLink Text
data GaDataColumnHeadersItem

-- | Creates a value of <a>GaDataColumnHeadersItem</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>gdchiColumnType</a></li>
--   <li><a>gdchiName</a></li>
--   <li><a>gdchiDataType</a></li>
--   </ul>
gaDataColumnHeadersItem :: GaDataColumnHeadersItem

-- | Column Type. Either DIMENSION or METRIC.
gdchiColumnType :: Lens' GaDataColumnHeadersItem (Maybe Text)

-- | Column name.
gdchiName :: Lens' GaDataColumnHeadersItem (Maybe Text)

-- | Data type. Dimension column headers have only STRING as the data type.
--   Metric column headers have data types for metric values such as
--   INTEGER, DOUBLE, CURRENCY etc.
gdchiDataType :: Lens' GaDataColumnHeadersItem (Maybe Text)

-- | Parent link for a goal. Points to the view (profile) to which this
--   goal belongs.
--   
--   <i>See:</i> <a>goalParentLink</a> smart constructor.
data GoalParentLink

-- | Creates a value of <a>GoalParentLink</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>gplHref</a></li>
--   <li><a>gplType</a></li>
--   </ul>
goalParentLink :: GoalParentLink

-- | Link to the view (profile) to which this goal belongs.
gplHref :: Lens' GoalParentLink (Maybe Text)

-- | Value is "analytics#profile".
gplType :: Lens' GoalParentLink Text

-- | Map of attribute name and value for this column.
--   
--   <i>See:</i> <a>columnAttributes</a> smart constructor.
data ColumnAttributes

-- | Creates a value of <a>ColumnAttributes</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>caAddtional</a></li>
--   </ul>
columnAttributes :: HashMap Text Text -> ColumnAttributes

-- | The name of the attribute.
caAddtional :: Lens' ColumnAttributes (HashMap Text Text)


-- | Returns Analytics data for a view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.data.ga.get</tt>.
module Network.Google.Resource.Analytics.Data.Ga.Get

-- | A resource alias for <tt>analytics.data.ga.get</tt> method which the
--   <a>DataGaGet</a> request conforms to.
type DataGaGetResource = "analytics" :> ("v3" :> ("data" :> ("ga" :> (QueryParam "ids" Text :> (QueryParam "start-date" Text :> (QueryParam "end-date" Text :> (QueryParam "metrics" Text :> (QueryParam "samplingLevel" DataGaGetSamplingLevel :> (QueryParam "filters" Text :> (QueryParam "output" DataGaGetOutput :> (QueryParam "sort" Text :> (QueryParam "include-empty-rows" Bool :> (QueryParam "dimensions" Text :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "segment" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] GaData)))))))))))))))))

-- | Creates a value of <a>DataGaGet</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>dggMetrics</a></li>
--   <li><a>dggSamplingLevel</a></li>
--   <li><a>dggFilters</a></li>
--   <li><a>dggIds</a></li>
--   <li><a>dggEndDate</a></li>
--   <li><a>dggOutput</a></li>
--   <li><a>dggSort</a></li>
--   <li><a>dggIncludeEmptyRows</a></li>
--   <li><a>dggDimensions</a></li>
--   <li><a>dggStartIndex</a></li>
--   <li><a>dggMaxResults</a></li>
--   <li><a>dggSegment</a></li>
--   <li><a>dggStartDate</a></li>
--   </ul>
dataGaGet :: Text -> Text -> Text -> Text -> DataGaGet

-- | Returns Analytics data for a view (profile).
--   
--   <i>See:</i> <a>dataGaGet</a> smart constructor.
data DataGaGet

-- | A comma-separated list of Analytics metrics. E.g.,
--   'ga:sessions,ga:pageviews'. At least one metric must be specified.
dggMetrics :: Lens' DataGaGet Text

-- | The desired sampling level.
dggSamplingLevel :: Lens' DataGaGet (Maybe DataGaGetSamplingLevel)

-- | A comma-separated list of dimension or metric filters to be applied to
--   Analytics data.
dggFilters :: Lens' DataGaGet (Maybe Text)

-- | Unique table ID for retrieving Analytics data. Table ID is of the form
--   ga:XXXX, where XXXX is the Analytics view (profile) ID.
dggIds :: Lens' DataGaGet Text

-- | End date for fetching Analytics data. Request can should specify an
--   end date formatted as YYYY-MM-DD, or as a relative date (e.g., today,
--   yesterday, or 7daysAgo). The default value is yesterday.
dggEndDate :: Lens' DataGaGet Text

-- | The selected format for the response. Default format is JSON.
dggOutput :: Lens' DataGaGet (Maybe DataGaGetOutput)

-- | A comma-separated list of dimensions or metrics that determine the
--   sort order for Analytics data.
dggSort :: Lens' DataGaGet (Maybe Text)

-- | The response will include empty rows if this parameter is set to true,
--   the default is true
dggIncludeEmptyRows :: Lens' DataGaGet (Maybe Bool)

-- | A comma-separated list of Analytics dimensions. E.g.,
--   'ga:browser,ga:city'.
dggDimensions :: Lens' DataGaGet (Maybe Text)

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
dggStartIndex :: Lens' DataGaGet (Maybe Int32)

-- | The maximum number of entries to include in this feed.
dggMaxResults :: Lens' DataGaGet (Maybe Int32)

-- | An Analytics segment to be applied to data.
dggSegment :: Lens' DataGaGet (Maybe Text)

-- | Start date for fetching Analytics data. Requests can specify a start
--   date formatted as YYYY-MM-DD, or as a relative date (e.g., today,
--   yesterday, or 7daysAgo). The default value is 7daysAgo.
dggStartDate :: Lens' DataGaGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Data.Ga.Get.DataGaGet
instance Data.Data.Data Network.Google.Resource.Analytics.Data.Ga.Get.DataGaGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Data.Ga.Get.DataGaGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Data.Ga.Get.DataGaGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Data.Ga.Get.DataGaGet


-- | Returns Analytics Multi-Channel Funnels data for a view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.data.mcf.get</tt>.
module Network.Google.Resource.Analytics.Data.Mcf.Get

-- | A resource alias for <tt>analytics.data.mcf.get</tt> method which the
--   <a>DataMcfGet</a> request conforms to.
type DataMcfGetResource = "analytics" :> ("v3" :> ("data" :> ("mcf" :> (QueryParam "ids" Text :> (QueryParam "start-date" Text :> (QueryParam "end-date" Text :> (QueryParam "metrics" Text :> (QueryParam "samplingLevel" DataMcfGetSamplingLevel :> (QueryParam "filters" Text :> (QueryParam "sort" Text :> (QueryParam "dimensions" Text :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] McfData))))))))))))))

-- | Creates a value of <a>DataMcfGet</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>dmgMetrics</a></li>
--   <li><a>dmgSamplingLevel</a></li>
--   <li><a>dmgFilters</a></li>
--   <li><a>dmgIds</a></li>
--   <li><a>dmgEndDate</a></li>
--   <li><a>dmgSort</a></li>
--   <li><a>dmgDimensions</a></li>
--   <li><a>dmgStartIndex</a></li>
--   <li><a>dmgMaxResults</a></li>
--   <li><a>dmgStartDate</a></li>
--   </ul>
dataMcfGet :: Text -> Text -> Text -> Text -> DataMcfGet

-- | Returns Analytics Multi-Channel Funnels data for a view (profile).
--   
--   <i>See:</i> <a>dataMcfGet</a> smart constructor.
data DataMcfGet

-- | A comma-separated list of Multi-Channel Funnels metrics. E.g.,
--   'mcf:totalConversions,mcf:totalConversionValue'. At least one metric
--   must be specified.
dmgMetrics :: Lens' DataMcfGet Text

-- | The desired sampling level.
dmgSamplingLevel :: Lens' DataMcfGet (Maybe DataMcfGetSamplingLevel)

-- | A comma-separated list of dimension or metric filters to be applied to
--   the Analytics data.
dmgFilters :: Lens' DataMcfGet (Maybe Text)

-- | Unique table ID for retrieving Analytics data. Table ID is of the form
--   ga:XXXX, where XXXX is the Analytics view (profile) ID.
dmgIds :: Lens' DataMcfGet Text

-- | End date for fetching Analytics data. Requests can specify a start
--   date formatted as YYYY-MM-DD, or as a relative date (e.g., today,
--   yesterday, or 7daysAgo). The default value is 7daysAgo.
dmgEndDate :: Lens' DataMcfGet Text

-- | A comma-separated list of dimensions or metrics that determine the
--   sort order for the Analytics data.
dmgSort :: Lens' DataMcfGet (Maybe Text)

-- | A comma-separated list of Multi-Channel Funnels dimensions. E.g.,
--   'mcf:source,mcf:medium'.
dmgDimensions :: Lens' DataMcfGet (Maybe Text)

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
dmgStartIndex :: Lens' DataMcfGet (Maybe Int32)

-- | The maximum number of entries to include in this feed.
dmgMaxResults :: Lens' DataMcfGet (Maybe Int32)

-- | Start date for fetching Analytics data. Requests can specify a start
--   date formatted as YYYY-MM-DD, or as a relative date (e.g., today,
--   yesterday, or 7daysAgo). The default value is 7daysAgo.
dmgStartDate :: Lens' DataMcfGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Data.Mcf.Get.DataMcfGet
instance Data.Data.Data Network.Google.Resource.Analytics.Data.Mcf.Get.DataMcfGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Data.Mcf.Get.DataMcfGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Data.Mcf.Get.DataMcfGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Data.Mcf.Get.DataMcfGet


-- | Returns real time data for a view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.data.realtime.get</tt>.
module Network.Google.Resource.Analytics.Data.Realtime.Get

-- | A resource alias for <tt>analytics.data.realtime.get</tt> method which
--   the <a>DataRealtimeGet</a> request conforms to.
type DataRealtimeGetResource = "analytics" :> ("v3" :> ("data" :> ("realtime" :> (QueryParam "ids" Text :> (QueryParam "metrics" Text :> (QueryParam "filters" Text :> (QueryParam "sort" Text :> (QueryParam "dimensions" Text :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RealtimeData))))))))))

-- | Creates a value of <a>DataRealtimeGet</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>drgMetrics</a></li>
--   <li><a>drgFilters</a></li>
--   <li><a>drgIds</a></li>
--   <li><a>drgSort</a></li>
--   <li><a>drgDimensions</a></li>
--   <li><a>drgMaxResults</a></li>
--   </ul>
dataRealtimeGet :: Text -> Text -> DataRealtimeGet

-- | Returns real time data for a view (profile).
--   
--   <i>See:</i> <a>dataRealtimeGet</a> smart constructor.
data DataRealtimeGet

-- | A comma-separated list of real time metrics. E.g., 'rt:activeUsers'.
--   At least one metric must be specified.
drgMetrics :: Lens' DataRealtimeGet Text

-- | A comma-separated list of dimension or metric filters to be applied to
--   real time data.
drgFilters :: Lens' DataRealtimeGet (Maybe Text)

-- | Unique table ID for retrieving real time data. Table ID is of the form
--   ga:XXXX, where XXXX is the Analytics view (profile) ID.
drgIds :: Lens' DataRealtimeGet Text

-- | A comma-separated list of dimensions or metrics that determine the
--   sort order for real time data.
drgSort :: Lens' DataRealtimeGet (Maybe Text)

-- | A comma-separated list of real time dimensions. E.g.,
--   'rt:medium,rt:city'.
drgDimensions :: Lens' DataRealtimeGet (Maybe Text)

-- | The maximum number of entries to include in this feed.
drgMaxResults :: Lens' DataRealtimeGet (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Data.Realtime.Get.DataRealtimeGet
instance Data.Data.Data Network.Google.Resource.Analytics.Data.Realtime.Get.DataRealtimeGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Data.Realtime.Get.DataRealtimeGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Data.Realtime.Get.DataRealtimeGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Data.Realtime.Get.DataRealtimeGet


-- | Lists account summaries (lightweight tree comprised of
--   accounts/properties/profiles) to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.accountSummaries.list</tt>.
module Network.Google.Resource.Analytics.Management.AccountSummaries.List

-- | A resource alias for
--   <tt>analytics.management.accountSummaries.list</tt> method which the
--   <a>ManagementAccountSummariesList</a> request conforms to.
type ManagementAccountSummariesListResource = "analytics" :> ("v3" :> ("management" :> ("accountSummaries" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AccountSummaries))))))

-- | Creates a value of <a>ManagementAccountSummariesList</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>maslStartIndex</a></li>
--   <li><a>maslMaxResults</a></li>
--   </ul>
managementAccountSummariesList :: ManagementAccountSummariesList

-- | Lists account summaries (lightweight tree comprised of
--   accounts/properties/profiles) to which the user has access.
--   
--   <i>See:</i> <a>managementAccountSummariesList</a> smart constructor.
data ManagementAccountSummariesList

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
maslStartIndex :: Lens' ManagementAccountSummariesList (Maybe Int32)

-- | The maximum number of account summaries to include in this response,
--   where the largest acceptable value is 1000.
maslMaxResults :: Lens' ManagementAccountSummariesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.AccountSummaries.List.ManagementAccountSummariesList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.AccountSummaries.List.ManagementAccountSummariesList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.AccountSummaries.List.ManagementAccountSummariesList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.AccountSummaries.List.ManagementAccountSummariesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.AccountSummaries.List.ManagementAccountSummariesList


-- | Removes a user from the given account.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.accountUserLinks.delete</tt>.
module Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete

-- | A resource alias for
--   <tt>analytics.management.accountUserLinks.delete</tt> method which the
--   <a>ManagementAccountUserLinksDelete</a> request conforms to.
type ManagementAccountUserLinksDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("entityUserLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))

-- | Creates a value of <a>ManagementAccountUserLinksDelete</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>mauldAccountId</a></li>
--   <li><a>mauldLinkId</a></li>
--   </ul>
managementAccountUserLinksDelete :: Text -> Text -> ManagementAccountUserLinksDelete

-- | Removes a user from the given account.
--   
--   <i>See:</i> <a>managementAccountUserLinksDelete</a> smart constructor.
data ManagementAccountUserLinksDelete

-- | Account ID to delete the user link for.
mauldAccountId :: Lens' ManagementAccountUserLinksDelete Text

-- | Link ID to delete the user link for.
mauldLinkId :: Lens' ManagementAccountUserLinksDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete.ManagementAccountUserLinksDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete.ManagementAccountUserLinksDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete.ManagementAccountUserLinksDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete.ManagementAccountUserLinksDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.AccountUserLinks.Delete.ManagementAccountUserLinksDelete


-- | Adds a new user to the given account.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.accountUserLinks.insert</tt>.
module Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert

-- | A resource alias for
--   <tt>analytics.management.accountUserLinks.insert</tt> method which the
--   <a>ManagementAccountUserLinksInsert</a> request conforms to.
type ManagementAccountUserLinksInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("entityUserLinks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityUserLink :> Post '[JSON] EntityUserLink)))))))

-- | Creates a value of <a>ManagementAccountUserLinksInsert</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>mauliPayload</a></li>
--   <li><a>mauliAccountId</a></li>
--   </ul>
managementAccountUserLinksInsert :: EntityUserLink -> Text -> ManagementAccountUserLinksInsert

-- | Adds a new user to the given account.
--   
--   <i>See:</i> <a>managementAccountUserLinksInsert</a> smart constructor.
data ManagementAccountUserLinksInsert

-- | Multipart request metadata.
mauliPayload :: Lens' ManagementAccountUserLinksInsert EntityUserLink

-- | Account ID to create the user link for.
mauliAccountId :: Lens' ManagementAccountUserLinksInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert.ManagementAccountUserLinksInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert.ManagementAccountUserLinksInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert.ManagementAccountUserLinksInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert.ManagementAccountUserLinksInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.AccountUserLinks.Insert.ManagementAccountUserLinksInsert


-- | Lists account-user links for a given account.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.accountUserLinks.list</tt>.
module Network.Google.Resource.Analytics.Management.AccountUserLinks.List

-- | A resource alias for
--   <tt>analytics.management.accountUserLinks.list</tt> method which the
--   <a>ManagementAccountUserLinksList</a> request conforms to.
type ManagementAccountUserLinksListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("entityUserLinks" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] EntityUserLinks))))))))

-- | Creates a value of <a>ManagementAccountUserLinksList</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>maullAccountId</a></li>
--   <li><a>maullStartIndex</a></li>
--   <li><a>maullMaxResults</a></li>
--   </ul>
managementAccountUserLinksList :: Text -> ManagementAccountUserLinksList

-- | Lists account-user links for a given account.
--   
--   <i>See:</i> <a>managementAccountUserLinksList</a> smart constructor.
data ManagementAccountUserLinksList

-- | Account ID to retrieve the user links for.
maullAccountId :: Lens' ManagementAccountUserLinksList Text

-- | An index of the first account-user link to retrieve. Use this
--   parameter as a pagination mechanism along with the max-results
--   parameter.
maullStartIndex :: Lens' ManagementAccountUserLinksList (Maybe Int32)

-- | The maximum number of account-user links to include in this response.
maullMaxResults :: Lens' ManagementAccountUserLinksList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.AccountUserLinks.List.ManagementAccountUserLinksList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.AccountUserLinks.List.ManagementAccountUserLinksList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.AccountUserLinks.List.ManagementAccountUserLinksList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.AccountUserLinks.List.ManagementAccountUserLinksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.AccountUserLinks.List.ManagementAccountUserLinksList


-- | Updates permissions for an existing user on the given account.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.accountUserLinks.update</tt>.
module Network.Google.Resource.Analytics.Management.AccountUserLinks.Update

-- | A resource alias for
--   <tt>analytics.management.accountUserLinks.update</tt> method which the
--   <a>ManagementAccountUserLinksUpdate</a> request conforms to.
type ManagementAccountUserLinksUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("entityUserLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityUserLink :> Put '[JSON] EntityUserLink))))))))

-- | Creates a value of <a>ManagementAccountUserLinksUpdate</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>mauluPayload</a></li>
--   <li><a>mauluAccountId</a></li>
--   <li><a>mauluLinkId</a></li>
--   </ul>
managementAccountUserLinksUpdate :: EntityUserLink -> Text -> Text -> ManagementAccountUserLinksUpdate

-- | Updates permissions for an existing user on the given account.
--   
--   <i>See:</i> <a>managementAccountUserLinksUpdate</a> smart constructor.
data ManagementAccountUserLinksUpdate

-- | Multipart request metadata.
mauluPayload :: Lens' ManagementAccountUserLinksUpdate EntityUserLink

-- | Account ID to update the account-user link for.
mauluAccountId :: Lens' ManagementAccountUserLinksUpdate Text

-- | Link ID to update the account-user link for.
mauluLinkId :: Lens' ManagementAccountUserLinksUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.AccountUserLinks.Update.ManagementAccountUserLinksUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.AccountUserLinks.Update.ManagementAccountUserLinksUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.AccountUserLinks.Update.ManagementAccountUserLinksUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.AccountUserLinks.Update.ManagementAccountUserLinksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.AccountUserLinks.Update.ManagementAccountUserLinksUpdate


-- | Lists all accounts to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.accounts.list</tt>.
module Network.Google.Resource.Analytics.Management.Accounts.List

-- | A resource alias for <tt>analytics.management.accounts.list</tt>
--   method which the <a>ManagementAccountsList</a> request conforms to.
type ManagementAccountsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Accounts))))))

-- | Creates a value of <a>ManagementAccountsList</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>malStartIndex</a></li>
--   <li><a>malMaxResults</a></li>
--   </ul>
managementAccountsList :: ManagementAccountsList

-- | Lists all accounts to which the user has access.
--   
--   <i>See:</i> <a>managementAccountsList</a> smart constructor.
data ManagementAccountsList

-- | An index of the first account to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
malStartIndex :: Lens' ManagementAccountsList (Maybe Int32)

-- | The maximum number of accounts to include in this response.
malMaxResults :: Lens' ManagementAccountsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Accounts.List.ManagementAccountsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Accounts.List.ManagementAccountsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Accounts.List.ManagementAccountsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Accounts.List.ManagementAccountsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Accounts.List.ManagementAccountsList


-- | List custom data sources to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customDataSources.list</tt>.
module Network.Google.Resource.Analytics.Management.CustomDataSources.List

-- | A resource alias for
--   <tt>analytics.management.customDataSources.list</tt> method which the
--   <a>ManagementCustomDataSourcesList</a> request conforms to.
type ManagementCustomDataSourcesListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDataSources" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomDataSources))))))))))

-- | Creates a value of <a>ManagementCustomDataSourcesList</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>mcdslWebPropertyId</a></li>
--   <li><a>mcdslAccountId</a></li>
--   <li><a>mcdslStartIndex</a></li>
--   <li><a>mcdslMaxResults</a></li>
--   </ul>
managementCustomDataSourcesList :: Text -> Text -> ManagementCustomDataSourcesList

-- | List custom data sources to which the user has access.
--   
--   <i>See:</i> <a>managementCustomDataSourcesList</a> smart constructor.
data ManagementCustomDataSourcesList

-- | Web property Id for the custom data sources to retrieve.
mcdslWebPropertyId :: Lens' ManagementCustomDataSourcesList Text

-- | Account Id for the custom data sources to retrieve.
mcdslAccountId :: Lens' ManagementCustomDataSourcesList Text

-- | A 1-based index of the first custom data source to retrieve. Use this
--   parameter as a pagination mechanism along with the max-results
--   parameter.
mcdslStartIndex :: Lens' ManagementCustomDataSourcesList (Maybe Int32)

-- | The maximum number of custom data sources to include in this response.
mcdslMaxResults :: Lens' ManagementCustomDataSourcesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomDataSources.List.ManagementCustomDataSourcesList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomDataSources.List.ManagementCustomDataSourcesList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomDataSources.List.ManagementCustomDataSourcesList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomDataSources.List.ManagementCustomDataSourcesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomDataSources.List.ManagementCustomDataSourcesList


-- | Get a custom dimension to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customDimensions.get</tt>.
module Network.Google.Resource.Analytics.Management.CustomDimensions.Get

-- | A resource alias for
--   <tt>analytics.management.customDimensions.get</tt> method which the
--   <a>ManagementCustomDimensionsGet</a> request conforms to.
type ManagementCustomDimensionsGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDimensions" :> (Capture "customDimensionId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomDimension)))))))))

-- | Creates a value of <a>ManagementCustomDimensionsGet</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>mcdgWebPropertyId</a></li>
--   <li><a>mcdgAccountId</a></li>
--   <li><a>mcdgCustomDimensionId</a></li>
--   </ul>
managementCustomDimensionsGet :: Text -> Text -> Text -> ManagementCustomDimensionsGet

-- | Get a custom dimension to which the user has access.
--   
--   <i>See:</i> <a>managementCustomDimensionsGet</a> smart constructor.
data ManagementCustomDimensionsGet

-- | Web property ID for the custom dimension to retrieve.
mcdgWebPropertyId :: Lens' ManagementCustomDimensionsGet Text

-- | Account ID for the custom dimension to retrieve.
mcdgAccountId :: Lens' ManagementCustomDimensionsGet Text

-- | The ID of the custom dimension to retrieve.
mcdgCustomDimensionId :: Lens' ManagementCustomDimensionsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomDimensions.Get.ManagementCustomDimensionsGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomDimensions.Get.ManagementCustomDimensionsGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomDimensions.Get.ManagementCustomDimensionsGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomDimensions.Get.ManagementCustomDimensionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomDimensions.Get.ManagementCustomDimensionsGet


-- | Create a new custom dimension.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customDimensions.insert</tt>.
module Network.Google.Resource.Analytics.Management.CustomDimensions.Insert

-- | A resource alias for
--   <tt>analytics.management.customDimensions.insert</tt> method which the
--   <a>ManagementCustomDimensionsInsert</a> request conforms to.
type ManagementCustomDimensionsInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDimensions" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomDimension :> Post '[JSON] CustomDimension)))))))))

-- | Creates a value of <a>ManagementCustomDimensionsInsert</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>mcdiWebPropertyId</a></li>
--   <li><a>mcdiPayload</a></li>
--   <li><a>mcdiAccountId</a></li>
--   </ul>
managementCustomDimensionsInsert :: Text -> CustomDimension -> Text -> ManagementCustomDimensionsInsert

-- | Create a new custom dimension.
--   
--   <i>See:</i> <a>managementCustomDimensionsInsert</a> smart constructor.
data ManagementCustomDimensionsInsert

-- | Web property ID for the custom dimension to create.
mcdiWebPropertyId :: Lens' ManagementCustomDimensionsInsert Text

-- | Multipart request metadata.
mcdiPayload :: Lens' ManagementCustomDimensionsInsert CustomDimension

-- | Account ID for the custom dimension to create.
mcdiAccountId :: Lens' ManagementCustomDimensionsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomDimensions.Insert.ManagementCustomDimensionsInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomDimensions.Insert.ManagementCustomDimensionsInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomDimensions.Insert.ManagementCustomDimensionsInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomDimensions.Insert.ManagementCustomDimensionsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomDimensions.Insert.ManagementCustomDimensionsInsert


-- | Lists custom dimensions to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customDimensions.list</tt>.
module Network.Google.Resource.Analytics.Management.CustomDimensions.List

-- | A resource alias for
--   <tt>analytics.management.customDimensions.list</tt> method which the
--   <a>ManagementCustomDimensionsList</a> request conforms to.
type ManagementCustomDimensionsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDimensions" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomDimensions))))))))))

-- | Creates a value of <a>ManagementCustomDimensionsList</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>mcdlWebPropertyId</a></li>
--   <li><a>mcdlAccountId</a></li>
--   <li><a>mcdlStartIndex</a></li>
--   <li><a>mcdlMaxResults</a></li>
--   </ul>
managementCustomDimensionsList :: Text -> Text -> ManagementCustomDimensionsList

-- | Lists custom dimensions to which the user has access.
--   
--   <i>See:</i> <a>managementCustomDimensionsList</a> smart constructor.
data ManagementCustomDimensionsList

-- | Web property ID for the custom dimensions to retrieve.
mcdlWebPropertyId :: Lens' ManagementCustomDimensionsList Text

-- | Account ID for the custom dimensions to retrieve.
mcdlAccountId :: Lens' ManagementCustomDimensionsList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mcdlStartIndex :: Lens' ManagementCustomDimensionsList (Maybe Int32)

-- | The maximum number of custom dimensions to include in this response.
mcdlMaxResults :: Lens' ManagementCustomDimensionsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomDimensions.List.ManagementCustomDimensionsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomDimensions.List.ManagementCustomDimensionsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomDimensions.List.ManagementCustomDimensionsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomDimensions.List.ManagementCustomDimensionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomDimensions.List.ManagementCustomDimensionsList


-- | Updates an existing custom dimension. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customDimensions.patch</tt>.
module Network.Google.Resource.Analytics.Management.CustomDimensions.Patch

-- | A resource alias for
--   <tt>analytics.management.customDimensions.patch</tt> method which the
--   <a>ManagementCustomDimensionsPatch</a> request conforms to.
type ManagementCustomDimensionsPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDimensions" :> (Capture "customDimensionId" Text :> (QueryParam "ignoreCustomDataSourceLinks" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomDimension :> Patch '[JSON] CustomDimension)))))))))))

-- | Creates a value of <a>ManagementCustomDimensionsPatch</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>mcdpWebPropertyId</a></li>
--   <li><a>mcdpIgnoreCustomDataSourceLinks</a></li>
--   <li><a>mcdpPayload</a></li>
--   <li><a>mcdpAccountId</a></li>
--   <li><a>mcdpCustomDimensionId</a></li>
--   </ul>
managementCustomDimensionsPatch :: Text -> CustomDimension -> Text -> Text -> ManagementCustomDimensionsPatch

-- | Updates an existing custom dimension. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>managementCustomDimensionsPatch</a> smart constructor.
data ManagementCustomDimensionsPatch

-- | Web property ID for the custom dimension to update.
mcdpWebPropertyId :: Lens' ManagementCustomDimensionsPatch Text

-- | Force the update and ignore any warnings related to the custom
--   dimension being linked to a custom data source / data set.
mcdpIgnoreCustomDataSourceLinks :: Lens' ManagementCustomDimensionsPatch Bool

-- | Multipart request metadata.
mcdpPayload :: Lens' ManagementCustomDimensionsPatch CustomDimension

-- | Account ID for the custom dimension to update.
mcdpAccountId :: Lens' ManagementCustomDimensionsPatch Text

-- | Custom dimension ID for the custom dimension to update.
mcdpCustomDimensionId :: Lens' ManagementCustomDimensionsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomDimensions.Patch.ManagementCustomDimensionsPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomDimensions.Patch.ManagementCustomDimensionsPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomDimensions.Patch.ManagementCustomDimensionsPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomDimensions.Patch.ManagementCustomDimensionsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomDimensions.Patch.ManagementCustomDimensionsPatch


-- | Updates an existing custom dimension.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customDimensions.update</tt>.
module Network.Google.Resource.Analytics.Management.CustomDimensions.Update

-- | A resource alias for
--   <tt>analytics.management.customDimensions.update</tt> method which the
--   <a>ManagementCustomDimensionsUpdate</a> request conforms to.
type ManagementCustomDimensionsUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDimensions" :> (Capture "customDimensionId" Text :> (QueryParam "ignoreCustomDataSourceLinks" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomDimension :> Put '[JSON] CustomDimension)))))))))))

-- | Creates a value of <a>ManagementCustomDimensionsUpdate</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>mcduWebPropertyId</a></li>
--   <li><a>mcduIgnoreCustomDataSourceLinks</a></li>
--   <li><a>mcduPayload</a></li>
--   <li><a>mcduAccountId</a></li>
--   <li><a>mcduCustomDimensionId</a></li>
--   </ul>
managementCustomDimensionsUpdate :: Text -> CustomDimension -> Text -> Text -> ManagementCustomDimensionsUpdate

-- | Updates an existing custom dimension.
--   
--   <i>See:</i> <a>managementCustomDimensionsUpdate</a> smart constructor.
data ManagementCustomDimensionsUpdate

-- | Web property ID for the custom dimension to update.
mcduWebPropertyId :: Lens' ManagementCustomDimensionsUpdate Text

-- | Force the update and ignore any warnings related to the custom
--   dimension being linked to a custom data source / data set.
mcduIgnoreCustomDataSourceLinks :: Lens' ManagementCustomDimensionsUpdate Bool

-- | Multipart request metadata.
mcduPayload :: Lens' ManagementCustomDimensionsUpdate CustomDimension

-- | Account ID for the custom dimension to update.
mcduAccountId :: Lens' ManagementCustomDimensionsUpdate Text

-- | Custom dimension ID for the custom dimension to update.
mcduCustomDimensionId :: Lens' ManagementCustomDimensionsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomDimensions.Update.ManagementCustomDimensionsUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomDimensions.Update.ManagementCustomDimensionsUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomDimensions.Update.ManagementCustomDimensionsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomDimensions.Update.ManagementCustomDimensionsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomDimensions.Update.ManagementCustomDimensionsUpdate


-- | Get a custom metric to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customMetrics.get</tt>.
module Network.Google.Resource.Analytics.Management.CustomMetrics.Get

-- | A resource alias for <tt>analytics.management.customMetrics.get</tt>
--   method which the <a>ManagementCustomMetricsGet</a> request conforms
--   to.
type ManagementCustomMetricsGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customMetrics" :> (Capture "customMetricId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomMetric)))))))))

-- | Creates a value of <a>ManagementCustomMetricsGet</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>mcmgCustomMetricId</a></li>
--   <li><a>mcmgWebPropertyId</a></li>
--   <li><a>mcmgAccountId</a></li>
--   </ul>
managementCustomMetricsGet :: Text -> Text -> Text -> ManagementCustomMetricsGet

-- | Get a custom metric to which the user has access.
--   
--   <i>See:</i> <a>managementCustomMetricsGet</a> smart constructor.
data ManagementCustomMetricsGet

-- | The ID of the custom metric to retrieve.
mcmgCustomMetricId :: Lens' ManagementCustomMetricsGet Text

-- | Web property ID for the custom metric to retrieve.
mcmgWebPropertyId :: Lens' ManagementCustomMetricsGet Text

-- | Account ID for the custom metric to retrieve.
mcmgAccountId :: Lens' ManagementCustomMetricsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomMetrics.Get.ManagementCustomMetricsGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomMetrics.Get.ManagementCustomMetricsGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomMetrics.Get.ManagementCustomMetricsGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomMetrics.Get.ManagementCustomMetricsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomMetrics.Get.ManagementCustomMetricsGet


-- | Create a new custom metric.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customMetrics.insert</tt>.
module Network.Google.Resource.Analytics.Management.CustomMetrics.Insert

-- | A resource alias for
--   <tt>analytics.management.customMetrics.insert</tt> method which the
--   <a>ManagementCustomMetricsInsert</a> request conforms to.
type ManagementCustomMetricsInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customMetrics" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomMetric :> Post '[JSON] CustomMetric)))))))))

-- | Creates a value of <a>ManagementCustomMetricsInsert</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>mcmiWebPropertyId</a></li>
--   <li><a>mcmiPayload</a></li>
--   <li><a>mcmiAccountId</a></li>
--   </ul>
managementCustomMetricsInsert :: Text -> CustomMetric -> Text -> ManagementCustomMetricsInsert

-- | Create a new custom metric.
--   
--   <i>See:</i> <a>managementCustomMetricsInsert</a> smart constructor.
data ManagementCustomMetricsInsert

-- | Web property ID for the custom dimension to create.
mcmiWebPropertyId :: Lens' ManagementCustomMetricsInsert Text

-- | Multipart request metadata.
mcmiPayload :: Lens' ManagementCustomMetricsInsert CustomMetric

-- | Account ID for the custom metric to create.
mcmiAccountId :: Lens' ManagementCustomMetricsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomMetrics.Insert.ManagementCustomMetricsInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomMetrics.Insert.ManagementCustomMetricsInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomMetrics.Insert.ManagementCustomMetricsInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomMetrics.Insert.ManagementCustomMetricsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomMetrics.Insert.ManagementCustomMetricsInsert


-- | Lists custom metrics to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customMetrics.list</tt>.
module Network.Google.Resource.Analytics.Management.CustomMetrics.List

-- | A resource alias for <tt>analytics.management.customMetrics.list</tt>
--   method which the <a>ManagementCustomMetricsList</a> request conforms
--   to.
type ManagementCustomMetricsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customMetrics" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CustomMetrics))))))))))

-- | Creates a value of <a>ManagementCustomMetricsList</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>mcmlWebPropertyId</a></li>
--   <li><a>mcmlAccountId</a></li>
--   <li><a>mcmlStartIndex</a></li>
--   <li><a>mcmlMaxResults</a></li>
--   </ul>
managementCustomMetricsList :: Text -> Text -> ManagementCustomMetricsList

-- | Lists custom metrics to which the user has access.
--   
--   <i>See:</i> <a>managementCustomMetricsList</a> smart constructor.
data ManagementCustomMetricsList

-- | Web property ID for the custom metrics to retrieve.
mcmlWebPropertyId :: Lens' ManagementCustomMetricsList Text

-- | Account ID for the custom metrics to retrieve.
mcmlAccountId :: Lens' ManagementCustomMetricsList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mcmlStartIndex :: Lens' ManagementCustomMetricsList (Maybe Int32)

-- | The maximum number of custom metrics to include in this response.
mcmlMaxResults :: Lens' ManagementCustomMetricsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomMetrics.List.ManagementCustomMetricsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomMetrics.List.ManagementCustomMetricsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomMetrics.List.ManagementCustomMetricsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomMetrics.List.ManagementCustomMetricsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomMetrics.List.ManagementCustomMetricsList


-- | Updates an existing custom metric. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customMetrics.patch</tt>.
module Network.Google.Resource.Analytics.Management.CustomMetrics.Patch

-- | A resource alias for <tt>analytics.management.customMetrics.patch</tt>
--   method which the <a>ManagementCustomMetricsPatch</a> request conforms
--   to.
type ManagementCustomMetricsPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customMetrics" :> (Capture "customMetricId" Text :> (QueryParam "ignoreCustomDataSourceLinks" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomMetric :> Patch '[JSON] CustomMetric)))))))))))

-- | Creates a value of <a>ManagementCustomMetricsPatch</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>mcmpCustomMetricId</a></li>
--   <li><a>mcmpWebPropertyId</a></li>
--   <li><a>mcmpIgnoreCustomDataSourceLinks</a></li>
--   <li><a>mcmpPayload</a></li>
--   <li><a>mcmpAccountId</a></li>
--   </ul>
managementCustomMetricsPatch :: Text -> Text -> CustomMetric -> Text -> ManagementCustomMetricsPatch

-- | Updates an existing custom metric. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>managementCustomMetricsPatch</a> smart constructor.
data ManagementCustomMetricsPatch

-- | Custom metric ID for the custom metric to update.
mcmpCustomMetricId :: Lens' ManagementCustomMetricsPatch Text

-- | Web property ID for the custom metric to update.
mcmpWebPropertyId :: Lens' ManagementCustomMetricsPatch Text

-- | Force the update and ignore any warnings related to the custom metric
--   being linked to a custom data source / data set.
mcmpIgnoreCustomDataSourceLinks :: Lens' ManagementCustomMetricsPatch Bool

-- | Multipart request metadata.
mcmpPayload :: Lens' ManagementCustomMetricsPatch CustomMetric

-- | Account ID for the custom metric to update.
mcmpAccountId :: Lens' ManagementCustomMetricsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomMetrics.Patch.ManagementCustomMetricsPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomMetrics.Patch.ManagementCustomMetricsPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomMetrics.Patch.ManagementCustomMetricsPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomMetrics.Patch.ManagementCustomMetricsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomMetrics.Patch.ManagementCustomMetricsPatch


-- | Updates an existing custom metric.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.customMetrics.update</tt>.
module Network.Google.Resource.Analytics.Management.CustomMetrics.Update

-- | A resource alias for
--   <tt>analytics.management.customMetrics.update</tt> method which the
--   <a>ManagementCustomMetricsUpdate</a> request conforms to.
type ManagementCustomMetricsUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customMetrics" :> (Capture "customMetricId" Text :> (QueryParam "ignoreCustomDataSourceLinks" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CustomMetric :> Put '[JSON] CustomMetric)))))))))))

-- | Creates a value of <a>ManagementCustomMetricsUpdate</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>mcmuCustomMetricId</a></li>
--   <li><a>mcmuWebPropertyId</a></li>
--   <li><a>mcmuIgnoreCustomDataSourceLinks</a></li>
--   <li><a>mcmuPayload</a></li>
--   <li><a>mcmuAccountId</a></li>
--   </ul>
managementCustomMetricsUpdate :: Text -> Text -> CustomMetric -> Text -> ManagementCustomMetricsUpdate

-- | Updates an existing custom metric.
--   
--   <i>See:</i> <a>managementCustomMetricsUpdate</a> smart constructor.
data ManagementCustomMetricsUpdate

-- | Custom metric ID for the custom metric to update.
mcmuCustomMetricId :: Lens' ManagementCustomMetricsUpdate Text

-- | Web property ID for the custom metric to update.
mcmuWebPropertyId :: Lens' ManagementCustomMetricsUpdate Text

-- | Force the update and ignore any warnings related to the custom metric
--   being linked to a custom data source / data set.
mcmuIgnoreCustomDataSourceLinks :: Lens' ManagementCustomMetricsUpdate Bool

-- | Multipart request metadata.
mcmuPayload :: Lens' ManagementCustomMetricsUpdate CustomMetric

-- | Account ID for the custom metric to update.
mcmuAccountId :: Lens' ManagementCustomMetricsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.CustomMetrics.Update.ManagementCustomMetricsUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.CustomMetrics.Update.ManagementCustomMetricsUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.CustomMetrics.Update.ManagementCustomMetricsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.CustomMetrics.Update.ManagementCustomMetricsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.CustomMetrics.Update.ManagementCustomMetricsUpdate


-- | Delete an experiment.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.experiments.delete</tt>.
module Network.Google.Resource.Analytics.Management.Experiments.Delete

-- | A resource alias for <tt>analytics.management.experiments.delete</tt>
--   method which the <a>ManagementExperimentsDelete</a> request conforms
--   to.
type ManagementExperimentsDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("experiments" :> (Capture "experimentId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))))

-- | Creates a value of <a>ManagementExperimentsDelete</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>medWebPropertyId</a></li>
--   <li><a>medProFileId</a></li>
--   <li><a>medAccountId</a></li>
--   <li><a>medExperimentId</a></li>
--   </ul>
managementExperimentsDelete :: Text -> Text -> Text -> Text -> ManagementExperimentsDelete

-- | Delete an experiment.
--   
--   <i>See:</i> <a>managementExperimentsDelete</a> smart constructor.
data ManagementExperimentsDelete

-- | Web property ID to which the experiment belongs
medWebPropertyId :: Lens' ManagementExperimentsDelete Text

-- | View (Profile) ID to which the experiment belongs
medProFileId :: Lens' ManagementExperimentsDelete Text

-- | Account ID to which the experiment belongs
medAccountId :: Lens' ManagementExperimentsDelete Text

-- | ID of the experiment to delete
medExperimentId :: Lens' ManagementExperimentsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Experiments.Delete.ManagementExperimentsDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Experiments.Delete.ManagementExperimentsDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Experiments.Delete.ManagementExperimentsDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Experiments.Delete.ManagementExperimentsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Experiments.Delete.ManagementExperimentsDelete


-- | Returns an experiment to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.experiments.get</tt>.
module Network.Google.Resource.Analytics.Management.Experiments.Get

-- | A resource alias for <tt>analytics.management.experiments.get</tt>
--   method which the <a>ManagementExperimentsGet</a> request conforms to.
type ManagementExperimentsGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("experiments" :> (Capture "experimentId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Experiment)))))))))))

-- | Creates a value of <a>ManagementExperimentsGet</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>megWebPropertyId</a></li>
--   <li><a>megProFileId</a></li>
--   <li><a>megAccountId</a></li>
--   <li><a>megExperimentId</a></li>
--   </ul>
managementExperimentsGet :: Text -> Text -> Text -> Text -> ManagementExperimentsGet

-- | Returns an experiment to which the user has access.
--   
--   <i>See:</i> <a>managementExperimentsGet</a> smart constructor.
data ManagementExperimentsGet

-- | Web property ID to retrieve the experiment for.
megWebPropertyId :: Lens' ManagementExperimentsGet Text

-- | View (Profile) ID to retrieve the experiment for.
megProFileId :: Lens' ManagementExperimentsGet Text

-- | Account ID to retrieve the experiment for.
megAccountId :: Lens' ManagementExperimentsGet Text

-- | Experiment ID to retrieve the experiment for.
megExperimentId :: Lens' ManagementExperimentsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Experiments.Get.ManagementExperimentsGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Experiments.Get.ManagementExperimentsGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Experiments.Get.ManagementExperimentsGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Experiments.Get.ManagementExperimentsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Experiments.Get.ManagementExperimentsGet


-- | Create a new experiment.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.experiments.insert</tt>.
module Network.Google.Resource.Analytics.Management.Experiments.Insert

-- | A resource alias for <tt>analytics.management.experiments.insert</tt>
--   method which the <a>ManagementExperimentsInsert</a> request conforms
--   to.
type ManagementExperimentsInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("experiments" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Experiment :> Post '[JSON] Experiment)))))))))))

-- | Creates a value of <a>ManagementExperimentsInsert</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>meiWebPropertyId</a></li>
--   <li><a>meiProFileId</a></li>
--   <li><a>meiPayload</a></li>
--   <li><a>meiAccountId</a></li>
--   </ul>
managementExperimentsInsert :: Text -> Text -> Experiment -> Text -> ManagementExperimentsInsert

-- | Create a new experiment.
--   
--   <i>See:</i> <a>managementExperimentsInsert</a> smart constructor.
data ManagementExperimentsInsert

-- | Web property ID to create the experiment for.
meiWebPropertyId :: Lens' ManagementExperimentsInsert Text

-- | View (Profile) ID to create the experiment for.
meiProFileId :: Lens' ManagementExperimentsInsert Text

-- | Multipart request metadata.
meiPayload :: Lens' ManagementExperimentsInsert Experiment

-- | Account ID to create the experiment for.
meiAccountId :: Lens' ManagementExperimentsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Experiments.Insert.ManagementExperimentsInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Experiments.Insert.ManagementExperimentsInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Experiments.Insert.ManagementExperimentsInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Experiments.Insert.ManagementExperimentsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Experiments.Insert.ManagementExperimentsInsert


-- | Lists experiments to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.experiments.list</tt>.
module Network.Google.Resource.Analytics.Management.Experiments.List

-- | A resource alias for <tt>analytics.management.experiments.list</tt>
--   method which the <a>ManagementExperimentsList</a> request conforms to.
type ManagementExperimentsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("experiments" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Experiments))))))))))))

-- | Creates a value of <a>ManagementExperimentsList</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>melWebPropertyId</a></li>
--   <li><a>melProFileId</a></li>
--   <li><a>melAccountId</a></li>
--   <li><a>melStartIndex</a></li>
--   <li><a>melMaxResults</a></li>
--   </ul>
managementExperimentsList :: Text -> Text -> Text -> ManagementExperimentsList

-- | Lists experiments to which the user has access.
--   
--   <i>See:</i> <a>managementExperimentsList</a> smart constructor.
data ManagementExperimentsList

-- | Web property ID to retrieve experiments for.
melWebPropertyId :: Lens' ManagementExperimentsList Text

-- | View (Profile) ID to retrieve experiments for.
melProFileId :: Lens' ManagementExperimentsList Text

-- | Account ID to retrieve experiments for.
melAccountId :: Lens' ManagementExperimentsList Text

-- | An index of the first experiment to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
melStartIndex :: Lens' ManagementExperimentsList (Maybe Int32)

-- | The maximum number of experiments to include in this response.
melMaxResults :: Lens' ManagementExperimentsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Experiments.List.ManagementExperimentsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Experiments.List.ManagementExperimentsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Experiments.List.ManagementExperimentsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Experiments.List.ManagementExperimentsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Experiments.List.ManagementExperimentsList


-- | Update an existing experiment. This method supports patch semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.experiments.patch</tt>.
module Network.Google.Resource.Analytics.Management.Experiments.Patch

-- | A resource alias for <tt>analytics.management.experiments.patch</tt>
--   method which the <a>ManagementExperimentsPatch</a> request conforms
--   to.
type ManagementExperimentsPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("experiments" :> (Capture "experimentId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Experiment :> Patch '[JSON] Experiment))))))))))))

-- | Creates a value of <a>ManagementExperimentsPatch</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>mepWebPropertyId</a></li>
--   <li><a>mepProFileId</a></li>
--   <li><a>mepPayload</a></li>
--   <li><a>mepAccountId</a></li>
--   <li><a>mepExperimentId</a></li>
--   </ul>
managementExperimentsPatch :: Text -> Text -> Experiment -> Text -> Text -> ManagementExperimentsPatch

-- | Update an existing experiment. This method supports patch semantics.
--   
--   <i>See:</i> <a>managementExperimentsPatch</a> smart constructor.
data ManagementExperimentsPatch

-- | Web property ID of the experiment to update.
mepWebPropertyId :: Lens' ManagementExperimentsPatch Text

-- | View (Profile) ID of the experiment to update.
mepProFileId :: Lens' ManagementExperimentsPatch Text

-- | Multipart request metadata.
mepPayload :: Lens' ManagementExperimentsPatch Experiment

-- | Account ID of the experiment to update.
mepAccountId :: Lens' ManagementExperimentsPatch Text

-- | Experiment ID of the experiment to update.
mepExperimentId :: Lens' ManagementExperimentsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Experiments.Patch.ManagementExperimentsPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Experiments.Patch.ManagementExperimentsPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Experiments.Patch.ManagementExperimentsPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Experiments.Patch.ManagementExperimentsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Experiments.Patch.ManagementExperimentsPatch


-- | Update an existing experiment.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.experiments.update</tt>.
module Network.Google.Resource.Analytics.Management.Experiments.Update

-- | A resource alias for <tt>analytics.management.experiments.update</tt>
--   method which the <a>ManagementExperimentsUpdate</a> request conforms
--   to.
type ManagementExperimentsUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("experiments" :> (Capture "experimentId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Experiment :> Put '[JSON] Experiment))))))))))))

-- | Creates a value of <a>ManagementExperimentsUpdate</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>meuWebPropertyId</a></li>
--   <li><a>meuProFileId</a></li>
--   <li><a>meuPayload</a></li>
--   <li><a>meuAccountId</a></li>
--   <li><a>meuExperimentId</a></li>
--   </ul>
managementExperimentsUpdate :: Text -> Text -> Experiment -> Text -> Text -> ManagementExperimentsUpdate

-- | Update an existing experiment.
--   
--   <i>See:</i> <a>managementExperimentsUpdate</a> smart constructor.
data ManagementExperimentsUpdate

-- | Web property ID of the experiment to update.
meuWebPropertyId :: Lens' ManagementExperimentsUpdate Text

-- | View (Profile) ID of the experiment to update.
meuProFileId :: Lens' ManagementExperimentsUpdate Text

-- | Multipart request metadata.
meuPayload :: Lens' ManagementExperimentsUpdate Experiment

-- | Account ID of the experiment to update.
meuAccountId :: Lens' ManagementExperimentsUpdate Text

-- | Experiment ID of the experiment to update.
meuExperimentId :: Lens' ManagementExperimentsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Experiments.Update.ManagementExperimentsUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Experiments.Update.ManagementExperimentsUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Experiments.Update.ManagementExperimentsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Experiments.Update.ManagementExperimentsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Experiments.Update.ManagementExperimentsUpdate


-- | Delete a filter.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.filters.delete</tt>.
module Network.Google.Resource.Analytics.Management.Filters.Delete

-- | A resource alias for <tt>analytics.management.filters.delete</tt>
--   method which the <a>ManagementFiltersDelete</a> request conforms to.
type ManagementFiltersDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("filters" :> (Capture "filterId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] Filter)))))))

-- | Creates a value of <a>ManagementFiltersDelete</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>mfdFilterId</a></li>
--   <li><a>mfdAccountId</a></li>
--   </ul>
managementFiltersDelete :: Text -> Text -> ManagementFiltersDelete

-- | Delete a filter.
--   
--   <i>See:</i> <a>managementFiltersDelete</a> smart constructor.
data ManagementFiltersDelete

-- | ID of the filter to be deleted.
mfdFilterId :: Lens' ManagementFiltersDelete Text

-- | Account ID to delete the filter for.
mfdAccountId :: Lens' ManagementFiltersDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Filters.Delete.ManagementFiltersDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Filters.Delete.ManagementFiltersDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Filters.Delete.ManagementFiltersDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Filters.Delete.ManagementFiltersDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Filters.Delete.ManagementFiltersDelete


-- | Returns a filters to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.filters.get</tt>.
module Network.Google.Resource.Analytics.Management.Filters.Get

-- | A resource alias for <tt>analytics.management.filters.get</tt> method
--   which the <a>ManagementFiltersGet</a> request conforms to.
type ManagementFiltersGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("filters" :> (Capture "filterId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Filter)))))))

-- | Creates a value of <a>ManagementFiltersGet</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>mfgFilterId</a></li>
--   <li><a>mfgAccountId</a></li>
--   </ul>
managementFiltersGet :: Text -> Text -> ManagementFiltersGet

-- | Returns a filters to which the user has access.
--   
--   <i>See:</i> <a>managementFiltersGet</a> smart constructor.
data ManagementFiltersGet

-- | Filter ID to retrieve filters for.
mfgFilterId :: Lens' ManagementFiltersGet Text

-- | Account ID to retrieve filters for.
mfgAccountId :: Lens' ManagementFiltersGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Filters.Get.ManagementFiltersGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Filters.Get.ManagementFiltersGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Filters.Get.ManagementFiltersGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Filters.Get.ManagementFiltersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Filters.Get.ManagementFiltersGet


-- | Create a new filter.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.filters.insert</tt>.
module Network.Google.Resource.Analytics.Management.Filters.Insert

-- | A resource alias for <tt>analytics.management.filters.insert</tt>
--   method which the <a>ManagementFiltersInsert</a> request conforms to.
type ManagementFiltersInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("filters" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Filter :> Post '[JSON] Filter)))))))

-- | Creates a value of <a>ManagementFiltersInsert</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>mfiPayload</a></li>
--   <li><a>mfiAccountId</a></li>
--   </ul>
managementFiltersInsert :: Filter -> Text -> ManagementFiltersInsert

-- | Create a new filter.
--   
--   <i>See:</i> <a>managementFiltersInsert</a> smart constructor.
data ManagementFiltersInsert

-- | Multipart request metadata.
mfiPayload :: Lens' ManagementFiltersInsert Filter

-- | Account ID to create filter for.
mfiAccountId :: Lens' ManagementFiltersInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Filters.Insert.ManagementFiltersInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Filters.Insert.ManagementFiltersInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Filters.Insert.ManagementFiltersInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Filters.Insert.ManagementFiltersInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Filters.Insert.ManagementFiltersInsert


-- | Lists all filters for an account
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.filters.list</tt>.
module Network.Google.Resource.Analytics.Management.Filters.List

-- | A resource alias for <tt>analytics.management.filters.list</tt> method
--   which the <a>ManagementFiltersList</a> request conforms to.
type ManagementFiltersListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("filters" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Filters))))))))

-- | Creates a value of <a>ManagementFiltersList</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>mflAccountId</a></li>
--   <li><a>mflStartIndex</a></li>
--   <li><a>mflMaxResults</a></li>
--   </ul>
managementFiltersList :: Text -> ManagementFiltersList

-- | Lists all filters for an account
--   
--   <i>See:</i> <a>managementFiltersList</a> smart constructor.
data ManagementFiltersList

-- | Account ID to retrieve filters for.
mflAccountId :: Lens' ManagementFiltersList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mflStartIndex :: Lens' ManagementFiltersList (Maybe Int32)

-- | The maximum number of filters to include in this response.
mflMaxResults :: Lens' ManagementFiltersList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Filters.List.ManagementFiltersList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Filters.List.ManagementFiltersList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Filters.List.ManagementFiltersList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Filters.List.ManagementFiltersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Filters.List.ManagementFiltersList


-- | Updates an existing filter. This method supports patch semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.filters.patch</tt>.
module Network.Google.Resource.Analytics.Management.Filters.Patch

-- | A resource alias for <tt>analytics.management.filters.patch</tt>
--   method which the <a>ManagementFiltersPatch</a> request conforms to.
type ManagementFiltersPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("filters" :> (Capture "filterId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Filter :> Patch '[JSON] Filter))))))))

-- | Creates a value of <a>ManagementFiltersPatch</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>mfpFilterId</a></li>
--   <li><a>mfpPayload</a></li>
--   <li><a>mfpAccountId</a></li>
--   </ul>
managementFiltersPatch :: Text -> Filter -> Text -> ManagementFiltersPatch

-- | Updates an existing filter. This method supports patch semantics.
--   
--   <i>See:</i> <a>managementFiltersPatch</a> smart constructor.
data ManagementFiltersPatch

-- | ID of the filter to be updated.
mfpFilterId :: Lens' ManagementFiltersPatch Text

-- | Multipart request metadata.
mfpPayload :: Lens' ManagementFiltersPatch Filter

-- | Account ID to which the filter belongs.
mfpAccountId :: Lens' ManagementFiltersPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Filters.Patch.ManagementFiltersPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Filters.Patch.ManagementFiltersPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Filters.Patch.ManagementFiltersPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Filters.Patch.ManagementFiltersPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Filters.Patch.ManagementFiltersPatch


-- | Updates an existing filter.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.filters.update</tt>.
module Network.Google.Resource.Analytics.Management.Filters.Update

-- | A resource alias for <tt>analytics.management.filters.update</tt>
--   method which the <a>ManagementFiltersUpdate</a> request conforms to.
type ManagementFiltersUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("filters" :> (Capture "filterId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Filter :> Put '[JSON] Filter))))))))

-- | Creates a value of <a>ManagementFiltersUpdate</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>mfuFilterId</a></li>
--   <li><a>mfuPayload</a></li>
--   <li><a>mfuAccountId</a></li>
--   </ul>
managementFiltersUpdate :: Text -> Filter -> Text -> ManagementFiltersUpdate

-- | Updates an existing filter.
--   
--   <i>See:</i> <a>managementFiltersUpdate</a> smart constructor.
data ManagementFiltersUpdate

-- | ID of the filter to be updated.
mfuFilterId :: Lens' ManagementFiltersUpdate Text

-- | Multipart request metadata.
mfuPayload :: Lens' ManagementFiltersUpdate Filter

-- | Account ID to which the filter belongs.
mfuAccountId :: Lens' ManagementFiltersUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Filters.Update.ManagementFiltersUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Filters.Update.ManagementFiltersUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Filters.Update.ManagementFiltersUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Filters.Update.ManagementFiltersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Filters.Update.ManagementFiltersUpdate


-- | Gets a goal to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.goals.get</tt>.
module Network.Google.Resource.Analytics.Management.Goals.Get

-- | A resource alias for <tt>analytics.management.goals.get</tt> method
--   which the <a>ManagementGoalsGet</a> request conforms to.
type ManagementGoalsGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("goals" :> (Capture "goalId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Goal)))))))))))

-- | Creates a value of <a>ManagementGoalsGet</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>mggWebPropertyId</a></li>
--   <li><a>mggGoalId</a></li>
--   <li><a>mggProFileId</a></li>
--   <li><a>mggAccountId</a></li>
--   </ul>
managementGoalsGet :: Text -> Text -> Text -> Text -> ManagementGoalsGet

-- | Gets a goal to which the user has access.
--   
--   <i>See:</i> <a>managementGoalsGet</a> smart constructor.
data ManagementGoalsGet

-- | Web property ID to retrieve the goal for.
mggWebPropertyId :: Lens' ManagementGoalsGet Text

-- | Goal ID to retrieve the goal for.
mggGoalId :: Lens' ManagementGoalsGet Text

-- | View (Profile) ID to retrieve the goal for.
mggProFileId :: Lens' ManagementGoalsGet Text

-- | Account ID to retrieve the goal for.
mggAccountId :: Lens' ManagementGoalsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Goals.Get.ManagementGoalsGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Goals.Get.ManagementGoalsGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Goals.Get.ManagementGoalsGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Goals.Get.ManagementGoalsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Goals.Get.ManagementGoalsGet


-- | Create a new goal.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.goals.insert</tt>.
module Network.Google.Resource.Analytics.Management.Goals.Insert

-- | A resource alias for <tt>analytics.management.goals.insert</tt> method
--   which the <a>ManagementGoalsInsert</a> request conforms to.
type ManagementGoalsInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("goals" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Goal :> Post '[JSON] Goal)))))))))))

-- | Creates a value of <a>ManagementGoalsInsert</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>mgiWebPropertyId</a></li>
--   <li><a>mgiProFileId</a></li>
--   <li><a>mgiPayload</a></li>
--   <li><a>mgiAccountId</a></li>
--   </ul>
managementGoalsInsert :: Text -> Text -> Goal -> Text -> ManagementGoalsInsert

-- | Create a new goal.
--   
--   <i>See:</i> <a>managementGoalsInsert</a> smart constructor.
data ManagementGoalsInsert

-- | Web property ID to create the goal for.
mgiWebPropertyId :: Lens' ManagementGoalsInsert Text

-- | View (Profile) ID to create the goal for.
mgiProFileId :: Lens' ManagementGoalsInsert Text

-- | Multipart request metadata.
mgiPayload :: Lens' ManagementGoalsInsert Goal

-- | Account ID to create the goal for.
mgiAccountId :: Lens' ManagementGoalsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Goals.Insert.ManagementGoalsInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Goals.Insert.ManagementGoalsInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Goals.Insert.ManagementGoalsInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Goals.Insert.ManagementGoalsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Goals.Insert.ManagementGoalsInsert


-- | Lists goals to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.goals.list</tt>.
module Network.Google.Resource.Analytics.Management.Goals.List

-- | A resource alias for <tt>analytics.management.goals.list</tt> method
--   which the <a>ManagementGoalsList</a> request conforms to.
type ManagementGoalsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("goals" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Goals))))))))))))

-- | Creates a value of <a>ManagementGoalsList</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>mglWebPropertyId</a></li>
--   <li><a>mglProFileId</a></li>
--   <li><a>mglAccountId</a></li>
--   <li><a>mglStartIndex</a></li>
--   <li><a>mglMaxResults</a></li>
--   </ul>
managementGoalsList :: Text -> Text -> Text -> ManagementGoalsList

-- | Lists goals to which the user has access.
--   
--   <i>See:</i> <a>managementGoalsList</a> smart constructor.
data ManagementGoalsList

-- | Web property ID to retrieve goals for. Can either be a specific web
--   property ID or '~all', which refers to all the web properties that
--   user has access to.
mglWebPropertyId :: Lens' ManagementGoalsList Text

-- | View (Profile) ID to retrieve goals for. Can either be a specific view
--   (profile) ID or '~all', which refers to all the views (profiles) that
--   user has access to.
mglProFileId :: Lens' ManagementGoalsList Text

-- | Account ID to retrieve goals for. Can either be a specific account ID
--   or '~all', which refers to all the accounts that user has access to.
mglAccountId :: Lens' ManagementGoalsList Text

-- | An index of the first goal to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mglStartIndex :: Lens' ManagementGoalsList (Maybe Int32)

-- | The maximum number of goals to include in this response.
mglMaxResults :: Lens' ManagementGoalsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Goals.List.ManagementGoalsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Goals.List.ManagementGoalsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Goals.List.ManagementGoalsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Goals.List.ManagementGoalsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Goals.List.ManagementGoalsList


-- | Updates an existing goal. This method supports patch semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.goals.patch</tt>.
module Network.Google.Resource.Analytics.Management.Goals.Patch

-- | A resource alias for <tt>analytics.management.goals.patch</tt> method
--   which the <a>ManagementGoalsPatch</a> request conforms to.
type ManagementGoalsPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("goals" :> (Capture "goalId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Goal :> Patch '[JSON] Goal))))))))))))

-- | Creates a value of <a>ManagementGoalsPatch</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>mgpWebPropertyId</a></li>
--   <li><a>mgpGoalId</a></li>
--   <li><a>mgpProFileId</a></li>
--   <li><a>mgpPayload</a></li>
--   <li><a>mgpAccountId</a></li>
--   </ul>
managementGoalsPatch :: Text -> Text -> Text -> Goal -> Text -> ManagementGoalsPatch

-- | Updates an existing goal. This method supports patch semantics.
--   
--   <i>See:</i> <a>managementGoalsPatch</a> smart constructor.
data ManagementGoalsPatch

-- | Web property ID to update the goal.
mgpWebPropertyId :: Lens' ManagementGoalsPatch Text

-- | Index of the goal to be updated.
mgpGoalId :: Lens' ManagementGoalsPatch Text

-- | View (Profile) ID to update the goal.
mgpProFileId :: Lens' ManagementGoalsPatch Text

-- | Multipart request metadata.
mgpPayload :: Lens' ManagementGoalsPatch Goal

-- | Account ID to update the goal.
mgpAccountId :: Lens' ManagementGoalsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Goals.Patch.ManagementGoalsPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Goals.Patch.ManagementGoalsPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Goals.Patch.ManagementGoalsPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Goals.Patch.ManagementGoalsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Goals.Patch.ManagementGoalsPatch


-- | Updates an existing goal.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.goals.update</tt>.
module Network.Google.Resource.Analytics.Management.Goals.Update

-- | A resource alias for <tt>analytics.management.goals.update</tt> method
--   which the <a>ManagementGoalsUpdate</a> request conforms to.
type ManagementGoalsUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("goals" :> (Capture "goalId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Goal :> Put '[JSON] Goal))))))))))))

-- | Creates a value of <a>ManagementGoalsUpdate</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>mguWebPropertyId</a></li>
--   <li><a>mguGoalId</a></li>
--   <li><a>mguProFileId</a></li>
--   <li><a>mguPayload</a></li>
--   <li><a>mguAccountId</a></li>
--   </ul>
managementGoalsUpdate :: Text -> Text -> Text -> Goal -> Text -> ManagementGoalsUpdate

-- | Updates an existing goal.
--   
--   <i>See:</i> <a>managementGoalsUpdate</a> smart constructor.
data ManagementGoalsUpdate

-- | Web property ID to update the goal.
mguWebPropertyId :: Lens' ManagementGoalsUpdate Text

-- | Index of the goal to be updated.
mguGoalId :: Lens' ManagementGoalsUpdate Text

-- | View (Profile) ID to update the goal.
mguProFileId :: Lens' ManagementGoalsUpdate Text

-- | Multipart request metadata.
mguPayload :: Lens' ManagementGoalsUpdate Goal

-- | Account ID to update the goal.
mguAccountId :: Lens' ManagementGoalsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Goals.Update.ManagementGoalsUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Goals.Update.ManagementGoalsUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Goals.Update.ManagementGoalsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Goals.Update.ManagementGoalsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Goals.Update.ManagementGoalsUpdate


-- | Delete a profile filter link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileFilterLinks.delete</tt>.
module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete

-- | A resource alias for
--   <tt>analytics.management.profileFilterLinks.delete</tt> method which
--   the <a>ManagementProFileFilterLinksDelete</a> request conforms to.
type ManagementProFileFilterLinksDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("profileFilterLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))))

-- | Creates a value of <a>ManagementProFileFilterLinksDelete</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>mpffldWebPropertyId</a></li>
--   <li><a>mpffldProFileId</a></li>
--   <li><a>mpffldAccountId</a></li>
--   <li><a>mpffldLinkId</a></li>
--   </ul>
managementProFileFilterLinksDelete :: Text -> Text -> Text -> Text -> ManagementProFileFilterLinksDelete

-- | Delete a profile filter link.
--   
--   <i>See:</i> <a>managementProFileFilterLinksDelete</a> smart
--   constructor.
data ManagementProFileFilterLinksDelete

-- | Web property Id to which the profile filter link belongs.
mpffldWebPropertyId :: Lens' ManagementProFileFilterLinksDelete Text

-- | Profile ID to which the filter link belongs.
mpffldProFileId :: Lens' ManagementProFileFilterLinksDelete Text

-- | Account ID to which the profile filter link belongs.
mpffldAccountId :: Lens' ManagementProFileFilterLinksDelete Text

-- | ID of the profile filter link to delete.
mpffldLinkId :: Lens' ManagementProFileFilterLinksDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete.ManagementProFileFilterLinksDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete.ManagementProFileFilterLinksDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete.ManagementProFileFilterLinksDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete.ManagementProFileFilterLinksDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Delete.ManagementProFileFilterLinksDelete


-- | Returns a single profile filter link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileFilterLinks.get</tt>.
module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get

-- | A resource alias for
--   <tt>analytics.management.profileFilterLinks.get</tt> method which the
--   <a>ManagementProFileFilterLinksGet</a> request conforms to.
type ManagementProFileFilterLinksGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("profileFilterLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ProFileFilterLink)))))))))))

-- | Creates a value of <a>ManagementProFileFilterLinksGet</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>mpfflgWebPropertyId</a></li>
--   <li><a>mpfflgProFileId</a></li>
--   <li><a>mpfflgAccountId</a></li>
--   <li><a>mpfflgLinkId</a></li>
--   </ul>
managementProFileFilterLinksGet :: Text -> Text -> Text -> Text -> ManagementProFileFilterLinksGet

-- | Returns a single profile filter link.
--   
--   <i>See:</i> <a>managementProFileFilterLinksGet</a> smart constructor.
data ManagementProFileFilterLinksGet

-- | Web property Id to retrieve profile filter link for.
mpfflgWebPropertyId :: Lens' ManagementProFileFilterLinksGet Text

-- | Profile ID to retrieve filter link for.
mpfflgProFileId :: Lens' ManagementProFileFilterLinksGet Text

-- | Account ID to retrieve profile filter link for.
mpfflgAccountId :: Lens' ManagementProFileFilterLinksGet Text

-- | ID of the profile filter link.
mpfflgLinkId :: Lens' ManagementProFileFilterLinksGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get.ManagementProFileFilterLinksGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get.ManagementProFileFilterLinksGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get.ManagementProFileFilterLinksGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get.ManagementProFileFilterLinksGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Get.ManagementProFileFilterLinksGet


-- | Create a new profile filter link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileFilterLinks.insert</tt>.
module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert

-- | A resource alias for
--   <tt>analytics.management.profileFilterLinks.insert</tt> method which
--   the <a>ManagementProFileFilterLinksInsert</a> request conforms to.
type ManagementProFileFilterLinksInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("profileFilterLinks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProFileFilterLink :> Post '[JSON] ProFileFilterLink)))))))))))

-- | Creates a value of <a>ManagementProFileFilterLinksInsert</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>mpffliWebPropertyId</a></li>
--   <li><a>mpffliProFileId</a></li>
--   <li><a>mpffliPayload</a></li>
--   <li><a>mpffliAccountId</a></li>
--   </ul>
managementProFileFilterLinksInsert :: Text -> Text -> ProFileFilterLink -> Text -> ManagementProFileFilterLinksInsert

-- | Create a new profile filter link.
--   
--   <i>See:</i> <a>managementProFileFilterLinksInsert</a> smart
--   constructor.
data ManagementProFileFilterLinksInsert

-- | Web property Id to create profile filter link for.
mpffliWebPropertyId :: Lens' ManagementProFileFilterLinksInsert Text

-- | Profile ID to create filter link for.
mpffliProFileId :: Lens' ManagementProFileFilterLinksInsert Text

-- | Multipart request metadata.
mpffliPayload :: Lens' ManagementProFileFilterLinksInsert ProFileFilterLink

-- | Account ID to create profile filter link for.
mpffliAccountId :: Lens' ManagementProFileFilterLinksInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert.ManagementProFileFilterLinksInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert.ManagementProFileFilterLinksInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert.ManagementProFileFilterLinksInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert.ManagementProFileFilterLinksInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Insert.ManagementProFileFilterLinksInsert


-- | Lists all profile filter links for a profile.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileFilterLinks.list</tt>.
module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List

-- | A resource alias for
--   <tt>analytics.management.profileFilterLinks.list</tt> method which the
--   <a>ManagementProFileFilterLinksList</a> request conforms to.
type ManagementProFileFilterLinksListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("profileFilterLinks" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ProFileFilterLinks))))))))))))

-- | Creates a value of <a>ManagementProFileFilterLinksList</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>mpffllWebPropertyId</a></li>
--   <li><a>mpffllProFileId</a></li>
--   <li><a>mpffllAccountId</a></li>
--   <li><a>mpffllStartIndex</a></li>
--   <li><a>mpffllMaxResults</a></li>
--   </ul>
managementProFileFilterLinksList :: Text -> Text -> Text -> ManagementProFileFilterLinksList

-- | Lists all profile filter links for a profile.
--   
--   <i>See:</i> <a>managementProFileFilterLinksList</a> smart constructor.
data ManagementProFileFilterLinksList

-- | Web property Id for profile filter links for. Can either be a specific
--   web property ID or '~all', which refers to all the web properties that
--   user has access to.
mpffllWebPropertyId :: Lens' ManagementProFileFilterLinksList Text

-- | Profile ID to retrieve filter links for. Can either be a specific
--   profile ID or '~all', which refers to all the profiles that user has
--   access to.
mpffllProFileId :: Lens' ManagementProFileFilterLinksList Text

-- | Account ID to retrieve profile filter links for.
mpffllAccountId :: Lens' ManagementProFileFilterLinksList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mpffllStartIndex :: Lens' ManagementProFileFilterLinksList (Maybe Int32)

-- | The maximum number of profile filter links to include in this
--   response.
mpffllMaxResults :: Lens' ManagementProFileFilterLinksList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List.ManagementProFileFilterLinksList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List.ManagementProFileFilterLinksList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List.ManagementProFileFilterLinksList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List.ManagementProFileFilterLinksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileFilterLinks.List.ManagementProFileFilterLinksList


-- | Update an existing profile filter link. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileFilterLinks.patch</tt>.
module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch

-- | A resource alias for
--   <tt>analytics.management.profileFilterLinks.patch</tt> method which
--   the <a>ManagementProFileFilterLinksPatch</a> request conforms to.
type ManagementProFileFilterLinksPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("profileFilterLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProFileFilterLink :> Patch '[JSON] ProFileFilterLink))))))))))))

-- | Creates a value of <a>ManagementProFileFilterLinksPatch</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>mpfflpWebPropertyId</a></li>
--   <li><a>mpfflpProFileId</a></li>
--   <li><a>mpfflpPayload</a></li>
--   <li><a>mpfflpAccountId</a></li>
--   <li><a>mpfflpLinkId</a></li>
--   </ul>
managementProFileFilterLinksPatch :: Text -> Text -> ProFileFilterLink -> Text -> Text -> ManagementProFileFilterLinksPatch

-- | Update an existing profile filter link. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>managementProFileFilterLinksPatch</a> smart
--   constructor.
data ManagementProFileFilterLinksPatch

-- | Web property Id to which profile filter link belongs
mpfflpWebPropertyId :: Lens' ManagementProFileFilterLinksPatch Text

-- | Profile ID to which filter link belongs
mpfflpProFileId :: Lens' ManagementProFileFilterLinksPatch Text

-- | Multipart request metadata.
mpfflpPayload :: Lens' ManagementProFileFilterLinksPatch ProFileFilterLink

-- | Account ID to which profile filter link belongs.
mpfflpAccountId :: Lens' ManagementProFileFilterLinksPatch Text

-- | ID of the profile filter link to be updated.
mpfflpLinkId :: Lens' ManagementProFileFilterLinksPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch.ManagementProFileFilterLinksPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch.ManagementProFileFilterLinksPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch.ManagementProFileFilterLinksPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch.ManagementProFileFilterLinksPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Patch.ManagementProFileFilterLinksPatch


-- | Update an existing profile filter link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileFilterLinks.update</tt>.
module Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update

-- | A resource alias for
--   <tt>analytics.management.profileFilterLinks.update</tt> method which
--   the <a>ManagementProFileFilterLinksUpdate</a> request conforms to.
type ManagementProFileFilterLinksUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("profileFilterLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProFileFilterLink :> Put '[JSON] ProFileFilterLink))))))))))))

-- | Creates a value of <a>ManagementProFileFilterLinksUpdate</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>mpffluWebPropertyId</a></li>
--   <li><a>mpffluProFileId</a></li>
--   <li><a>mpffluPayload</a></li>
--   <li><a>mpffluAccountId</a></li>
--   <li><a>mpffluLinkId</a></li>
--   </ul>
managementProFileFilterLinksUpdate :: Text -> Text -> ProFileFilterLink -> Text -> Text -> ManagementProFileFilterLinksUpdate

-- | Update an existing profile filter link.
--   
--   <i>See:</i> <a>managementProFileFilterLinksUpdate</a> smart
--   constructor.
data ManagementProFileFilterLinksUpdate

-- | Web property Id to which profile filter link belongs
mpffluWebPropertyId :: Lens' ManagementProFileFilterLinksUpdate Text

-- | Profile ID to which filter link belongs
mpffluProFileId :: Lens' ManagementProFileFilterLinksUpdate Text

-- | Multipart request metadata.
mpffluPayload :: Lens' ManagementProFileFilterLinksUpdate ProFileFilterLink

-- | Account ID to which profile filter link belongs.
mpffluAccountId :: Lens' ManagementProFileFilterLinksUpdate Text

-- | ID of the profile filter link to be updated.
mpffluLinkId :: Lens' ManagementProFileFilterLinksUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update.ManagementProFileFilterLinksUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update.ManagementProFileFilterLinksUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update.ManagementProFileFilterLinksUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update.ManagementProFileFilterLinksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileFilterLinks.Update.ManagementProFileFilterLinksUpdate


-- | Removes a user from the given view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileUserLinks.delete</tt>.
module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete

-- | A resource alias for
--   <tt>analytics.management.profileUserLinks.delete</tt> method which the
--   <a>ManagementProFileUserLinksDelete</a> request conforms to.
type ManagementProFileUserLinksDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("entityUserLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))))

-- | Creates a value of <a>ManagementProFileUserLinksDelete</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>mpfuldWebPropertyId</a></li>
--   <li><a>mpfuldProFileId</a></li>
--   <li><a>mpfuldAccountId</a></li>
--   <li><a>mpfuldLinkId</a></li>
--   </ul>
managementProFileUserLinksDelete :: Text -> Text -> Text -> Text -> ManagementProFileUserLinksDelete

-- | Removes a user from the given view (profile).
--   
--   <i>See:</i> <a>managementProFileUserLinksDelete</a> smart constructor.
data ManagementProFileUserLinksDelete

-- | Web Property ID to delete the user link for.
mpfuldWebPropertyId :: Lens' ManagementProFileUserLinksDelete Text

-- | View (Profile) ID to delete the user link for.
mpfuldProFileId :: Lens' ManagementProFileUserLinksDelete Text

-- | Account ID to delete the user link for.
mpfuldAccountId :: Lens' ManagementProFileUserLinksDelete Text

-- | Link ID to delete the user link for.
mpfuldLinkId :: Lens' ManagementProFileUserLinksDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete.ManagementProFileUserLinksDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete.ManagementProFileUserLinksDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete.ManagementProFileUserLinksDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete.ManagementProFileUserLinksDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileUserLinks.Delete.ManagementProFileUserLinksDelete


-- | Adds a new user to the given view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileUserLinks.insert</tt>.
module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert

-- | A resource alias for
--   <tt>analytics.management.profileUserLinks.insert</tt> method which the
--   <a>ManagementProFileUserLinksInsert</a> request conforms to.
type ManagementProFileUserLinksInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("entityUserLinks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityUserLink :> Post '[JSON] EntityUserLink)))))))))))

-- | Creates a value of <a>ManagementProFileUserLinksInsert</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>mpfuliWebPropertyId</a></li>
--   <li><a>mpfuliProFileId</a></li>
--   <li><a>mpfuliPayload</a></li>
--   <li><a>mpfuliAccountId</a></li>
--   </ul>
managementProFileUserLinksInsert :: Text -> Text -> EntityUserLink -> Text -> ManagementProFileUserLinksInsert

-- | Adds a new user to the given view (profile).
--   
--   <i>See:</i> <a>managementProFileUserLinksInsert</a> smart constructor.
data ManagementProFileUserLinksInsert

-- | Web Property ID to create the user link for.
mpfuliWebPropertyId :: Lens' ManagementProFileUserLinksInsert Text

-- | View (Profile) ID to create the user link for.
mpfuliProFileId :: Lens' ManagementProFileUserLinksInsert Text

-- | Multipart request metadata.
mpfuliPayload :: Lens' ManagementProFileUserLinksInsert EntityUserLink

-- | Account ID to create the user link for.
mpfuliAccountId :: Lens' ManagementProFileUserLinksInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert.ManagementProFileUserLinksInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert.ManagementProFileUserLinksInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert.ManagementProFileUserLinksInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert.ManagementProFileUserLinksInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileUserLinks.Insert.ManagementProFileUserLinksInsert


-- | Lists profile-user links for a given view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileUserLinks.list</tt>.
module Network.Google.Resource.Analytics.Management.ProFileUserLinks.List

-- | A resource alias for
--   <tt>analytics.management.profileUserLinks.list</tt> method which the
--   <a>ManagementProFileUserLinksList</a> request conforms to.
type ManagementProFileUserLinksListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("entityUserLinks" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] EntityUserLinks))))))))))))

-- | Creates a value of <a>ManagementProFileUserLinksList</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>mpfullWebPropertyId</a></li>
--   <li><a>mpfullProFileId</a></li>
--   <li><a>mpfullAccountId</a></li>
--   <li><a>mpfullStartIndex</a></li>
--   <li><a>mpfullMaxResults</a></li>
--   </ul>
managementProFileUserLinksList :: Text -> Text -> Text -> ManagementProFileUserLinksList

-- | Lists profile-user links for a given view (profile).
--   
--   <i>See:</i> <a>managementProFileUserLinksList</a> smart constructor.
data ManagementProFileUserLinksList

-- | Web Property ID which the given view (profile) belongs to. Can either
--   be a specific web property ID or '~all', which refers to all the web
--   properties that user has access to.
mpfullWebPropertyId :: Lens' ManagementProFileUserLinksList Text

-- | View (Profile) ID to retrieve the profile-user links for. Can either
--   be a specific profile ID or '~all', which refers to all the profiles
--   that user has access to.
mpfullProFileId :: Lens' ManagementProFileUserLinksList Text

-- | Account ID which the given view (profile) belongs to.
mpfullAccountId :: Lens' ManagementProFileUserLinksList Text

-- | An index of the first profile-user link to retrieve. Use this
--   parameter as a pagination mechanism along with the max-results
--   parameter.
mpfullStartIndex :: Lens' ManagementProFileUserLinksList (Maybe Int32)

-- | The maximum number of profile-user links to include in this response.
mpfullMaxResults :: Lens' ManagementProFileUserLinksList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileUserLinks.List.ManagementProFileUserLinksList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileUserLinks.List.ManagementProFileUserLinksList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileUserLinks.List.ManagementProFileUserLinksList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileUserLinks.List.ManagementProFileUserLinksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileUserLinks.List.ManagementProFileUserLinksList


-- | Updates permissions for an existing user on the given view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profileUserLinks.update</tt>.
module Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update

-- | A resource alias for
--   <tt>analytics.management.profileUserLinks.update</tt> method which the
--   <a>ManagementProFileUserLinksUpdate</a> request conforms to.
type ManagementProFileUserLinksUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("entityUserLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityUserLink :> Put '[JSON] EntityUserLink))))))))))))

-- | Creates a value of <a>ManagementProFileUserLinksUpdate</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>mpfuluWebPropertyId</a></li>
--   <li><a>mpfuluProFileId</a></li>
--   <li><a>mpfuluPayload</a></li>
--   <li><a>mpfuluAccountId</a></li>
--   <li><a>mpfuluLinkId</a></li>
--   </ul>
managementProFileUserLinksUpdate :: Text -> Text -> EntityUserLink -> Text -> Text -> ManagementProFileUserLinksUpdate

-- | Updates permissions for an existing user on the given view (profile).
--   
--   <i>See:</i> <a>managementProFileUserLinksUpdate</a> smart constructor.
data ManagementProFileUserLinksUpdate

-- | Web Property ID to update the user link for.
mpfuluWebPropertyId :: Lens' ManagementProFileUserLinksUpdate Text

-- | View (Profile ID) to update the user link for.
mpfuluProFileId :: Lens' ManagementProFileUserLinksUpdate Text

-- | Multipart request metadata.
mpfuluPayload :: Lens' ManagementProFileUserLinksUpdate EntityUserLink

-- | Account ID to update the user link for.
mpfuluAccountId :: Lens' ManagementProFileUserLinksUpdate Text

-- | Link ID to update the user link for.
mpfuluLinkId :: Lens' ManagementProFileUserLinksUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update.ManagementProFileUserLinksUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update.ManagementProFileUserLinksUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update.ManagementProFileUserLinksUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update.ManagementProFileUserLinksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFileUserLinks.Update.ManagementProFileUserLinksUpdate


-- | Deletes a view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profiles.delete</tt>.
module Network.Google.Resource.Analytics.Management.ProFiles.Delete

-- | A resource alias for <tt>analytics.management.profiles.delete</tt>
--   method which the <a>ManagementProFilesDelete</a> request conforms to.
type ManagementProFilesDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))

-- | Creates a value of <a>ManagementProFilesDelete</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>mpfdWebPropertyId</a></li>
--   <li><a>mpfdProFileId</a></li>
--   <li><a>mpfdAccountId</a></li>
--   </ul>
managementProFilesDelete :: Text -> Text -> Text -> ManagementProFilesDelete

-- | Deletes a view (profile).
--   
--   <i>See:</i> <a>managementProFilesDelete</a> smart constructor.
data ManagementProFilesDelete

-- | Web property ID to delete the view (profile) for.
mpfdWebPropertyId :: Lens' ManagementProFilesDelete Text

-- | ID of the view (profile) to be deleted.
mpfdProFileId :: Lens' ManagementProFilesDelete Text

-- | Account ID to delete the view (profile) for.
mpfdAccountId :: Lens' ManagementProFilesDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFiles.Delete.ManagementProFilesDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFiles.Delete.ManagementProFilesDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFiles.Delete.ManagementProFilesDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFiles.Delete.ManagementProFilesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFiles.Delete.ManagementProFilesDelete


-- | Gets a view (profile) to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profiles.get</tt>.
module Network.Google.Resource.Analytics.Management.ProFiles.Get

-- | A resource alias for <tt>analytics.management.profiles.get</tt> method
--   which the <a>ManagementProFilesGet</a> request conforms to.
type ManagementProFilesGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ProFile)))))))))

-- | Creates a value of <a>ManagementProFilesGet</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>mpfgWebPropertyId</a></li>
--   <li><a>mpfgProFileId</a></li>
--   <li><a>mpfgAccountId</a></li>
--   </ul>
managementProFilesGet :: Text -> Text -> Text -> ManagementProFilesGet

-- | Gets a view (profile) to which the user has access.
--   
--   <i>See:</i> <a>managementProFilesGet</a> smart constructor.
data ManagementProFilesGet

-- | Web property ID to retrieve the view (profile) for.
mpfgWebPropertyId :: Lens' ManagementProFilesGet Text

-- | View (Profile) ID to retrieve the view (profile) for.
mpfgProFileId :: Lens' ManagementProFilesGet Text

-- | Account ID to retrieve the view (profile) for.
mpfgAccountId :: Lens' ManagementProFilesGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFiles.Get.ManagementProFilesGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFiles.Get.ManagementProFilesGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFiles.Get.ManagementProFilesGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFiles.Get.ManagementProFilesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFiles.Get.ManagementProFilesGet


-- | Create a new view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profiles.insert</tt>.
module Network.Google.Resource.Analytics.Management.ProFiles.Insert

-- | A resource alias for <tt>analytics.management.profiles.insert</tt>
--   method which the <a>ManagementProFilesInsert</a> request conforms to.
type ManagementProFilesInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProFile :> Post '[JSON] ProFile)))))))))

-- | Creates a value of <a>ManagementProFilesInsert</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>mpfiWebPropertyId</a></li>
--   <li><a>mpfiPayload</a></li>
--   <li><a>mpfiAccountId</a></li>
--   </ul>
managementProFilesInsert :: Text -> ProFile -> Text -> ManagementProFilesInsert

-- | Create a new view (profile).
--   
--   <i>See:</i> <a>managementProFilesInsert</a> smart constructor.
data ManagementProFilesInsert

-- | Web property ID to create the view (profile) for.
mpfiWebPropertyId :: Lens' ManagementProFilesInsert Text

-- | Multipart request metadata.
mpfiPayload :: Lens' ManagementProFilesInsert ProFile

-- | Account ID to create the view (profile) for.
mpfiAccountId :: Lens' ManagementProFilesInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFiles.Insert.ManagementProFilesInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFiles.Insert.ManagementProFilesInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFiles.Insert.ManagementProFilesInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFiles.Insert.ManagementProFilesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFiles.Insert.ManagementProFilesInsert


-- | Lists views (profiles) to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profiles.list</tt>.
module Network.Google.Resource.Analytics.Management.ProFiles.List

-- | A resource alias for <tt>analytics.management.profiles.list</tt>
--   method which the <a>ManagementProFilesList</a> request conforms to.
type ManagementProFilesListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ProFiles))))))))))

-- | Creates a value of <a>ManagementProFilesList</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>mpflWebPropertyId</a></li>
--   <li><a>mpflAccountId</a></li>
--   <li><a>mpflStartIndex</a></li>
--   <li><a>mpflMaxResults</a></li>
--   </ul>
managementProFilesList :: Text -> Text -> ManagementProFilesList

-- | Lists views (profiles) to which the user has access.
--   
--   <i>See:</i> <a>managementProFilesList</a> smart constructor.
data ManagementProFilesList

-- | Web property ID for the views (profiles) to retrieve. Can either be a
--   specific web property ID or '~all', which refers to all the web
--   properties to which the user has access.
mpflWebPropertyId :: Lens' ManagementProFilesList Text

-- | Account ID for the view (profiles) to retrieve. Can either be a
--   specific account ID or '~all', which refers to all the accounts to
--   which the user has access.
mpflAccountId :: Lens' ManagementProFilesList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mpflStartIndex :: Lens' ManagementProFilesList (Maybe Int32)

-- | The maximum number of views (profiles) to include in this response.
mpflMaxResults :: Lens' ManagementProFilesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFiles.List.ManagementProFilesList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFiles.List.ManagementProFilesList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFiles.List.ManagementProFilesList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFiles.List.ManagementProFilesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFiles.List.ManagementProFilesList


-- | Updates an existing view (profile). This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profiles.patch</tt>.
module Network.Google.Resource.Analytics.Management.ProFiles.Patch

-- | A resource alias for <tt>analytics.management.profiles.patch</tt>
--   method which the <a>ManagementProFilesPatch</a> request conforms to.
type ManagementProFilesPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProFile :> Patch '[JSON] ProFile))))))))))

-- | Creates a value of <a>ManagementProFilesPatch</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>mpfpWebPropertyId</a></li>
--   <li><a>mpfpProFileId</a></li>
--   <li><a>mpfpPayload</a></li>
--   <li><a>mpfpAccountId</a></li>
--   </ul>
managementProFilesPatch :: Text -> Text -> ProFile -> Text -> ManagementProFilesPatch

-- | Updates an existing view (profile). This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>managementProFilesPatch</a> smart constructor.
data ManagementProFilesPatch

-- | Web property ID to which the view (profile) belongs
mpfpWebPropertyId :: Lens' ManagementProFilesPatch Text

-- | ID of the view (profile) to be updated.
mpfpProFileId :: Lens' ManagementProFilesPatch Text

-- | Multipart request metadata.
mpfpPayload :: Lens' ManagementProFilesPatch ProFile

-- | Account ID to which the view (profile) belongs
mpfpAccountId :: Lens' ManagementProFilesPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFiles.Patch.ManagementProFilesPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFiles.Patch.ManagementProFilesPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFiles.Patch.ManagementProFilesPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFiles.Patch.ManagementProFilesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFiles.Patch.ManagementProFilesPatch


-- | Updates an existing view (profile).
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.profiles.update</tt>.
module Network.Google.Resource.Analytics.Management.ProFiles.Update

-- | A resource alias for <tt>analytics.management.profiles.update</tt>
--   method which the <a>ManagementProFilesUpdate</a> request conforms to.
type ManagementProFilesUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ProFile :> Put '[JSON] ProFile))))))))))

-- | Creates a value of <a>ManagementProFilesUpdate</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>mpfuWebPropertyId</a></li>
--   <li><a>mpfuProFileId</a></li>
--   <li><a>mpfuPayload</a></li>
--   <li><a>mpfuAccountId</a></li>
--   </ul>
managementProFilesUpdate :: Text -> Text -> ProFile -> Text -> ManagementProFilesUpdate

-- | Updates an existing view (profile).
--   
--   <i>See:</i> <a>managementProFilesUpdate</a> smart constructor.
data ManagementProFilesUpdate

-- | Web property ID to which the view (profile) belongs
mpfuWebPropertyId :: Lens' ManagementProFilesUpdate Text

-- | ID of the view (profile) to be updated.
mpfuProFileId :: Lens' ManagementProFilesUpdate Text

-- | Multipart request metadata.
mpfuPayload :: Lens' ManagementProFilesUpdate ProFile

-- | Account ID to which the view (profile) belongs
mpfuAccountId :: Lens' ManagementProFilesUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.ProFiles.Update.ManagementProFilesUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.ProFiles.Update.ManagementProFilesUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.ProFiles.Update.ManagementProFilesUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.ProFiles.Update.ManagementProFilesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.ProFiles.Update.ManagementProFilesUpdate


-- | Gets a remarketing audience to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.remarketingAudience.get</tt>.
module Network.Google.Resource.Analytics.Management.RemarketingAudience.Get

-- | A resource alias for
--   <tt>analytics.management.remarketingAudience.get</tt> method which the
--   <a>ManagementRemarketingAudienceGet</a> request conforms to.
type ManagementRemarketingAudienceGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("remarketingAudiences" :> (Capture "remarketingAudienceId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] RemarketingAudience)))))))))

-- | Creates a value of <a>ManagementRemarketingAudienceGet</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>mragWebPropertyId</a></li>
--   <li><a>mragAccountId</a></li>
--   <li><a>mragRemarketingAudienceId</a></li>
--   </ul>
managementRemarketingAudienceGet :: Text -> Text -> Text -> ManagementRemarketingAudienceGet

-- | Gets a remarketing audience to which the user has access.
--   
--   <i>See:</i> <a>managementRemarketingAudienceGet</a> smart constructor.
data ManagementRemarketingAudienceGet

-- | The web property ID of the remarketing audience to retrieve.
mragWebPropertyId :: Lens' ManagementRemarketingAudienceGet Text

-- | The account ID of the remarketing audience to retrieve.
mragAccountId :: Lens' ManagementRemarketingAudienceGet Text

-- | The ID of the remarketing audience to retrieve.
mragRemarketingAudienceId :: Lens' ManagementRemarketingAudienceGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.RemarketingAudience.Get.ManagementRemarketingAudienceGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.RemarketingAudience.Get.ManagementRemarketingAudienceGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.RemarketingAudience.Get.ManagementRemarketingAudienceGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.RemarketingAudience.Get.ManagementRemarketingAudienceGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.RemarketingAudience.Get.ManagementRemarketingAudienceGet


-- | Creates a new remarketing audience.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.remarketingAudience.insert</tt>.
module Network.Google.Resource.Analytics.Management.RemarketingAudience.Insert

-- | A resource alias for
--   <tt>analytics.management.remarketingAudience.insert</tt> method which
--   the <a>ManagementRemarketingAudienceInsert</a> request conforms to.
type ManagementRemarketingAudienceInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("remarketingAudiences" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingAudience :> Post '[JSON] RemarketingAudience)))))))))

-- | Creates a value of <a>ManagementRemarketingAudienceInsert</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>mraiWebPropertyId</a></li>
--   <li><a>mraiPayload</a></li>
--   <li><a>mraiAccountId</a></li>
--   </ul>
managementRemarketingAudienceInsert :: Text -> RemarketingAudience -> Text -> ManagementRemarketingAudienceInsert

-- | Creates a new remarketing audience.
--   
--   <i>See:</i> <a>managementRemarketingAudienceInsert</a> smart
--   constructor.
data ManagementRemarketingAudienceInsert

-- | Web property ID for which to create the remarketing audience.
mraiWebPropertyId :: Lens' ManagementRemarketingAudienceInsert Text

-- | Multipart request metadata.
mraiPayload :: Lens' ManagementRemarketingAudienceInsert RemarketingAudience

-- | The account ID for which to create the remarketing audience.
mraiAccountId :: Lens' ManagementRemarketingAudienceInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.RemarketingAudience.Insert.ManagementRemarketingAudienceInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.RemarketingAudience.Insert.ManagementRemarketingAudienceInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.RemarketingAudience.Insert.ManagementRemarketingAudienceInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.RemarketingAudience.Insert.ManagementRemarketingAudienceInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.RemarketingAudience.Insert.ManagementRemarketingAudienceInsert


-- | Lists remarketing audiences to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.remarketingAudience.list</tt>.
module Network.Google.Resource.Analytics.Management.RemarketingAudience.List

-- | A resource alias for
--   <tt>analytics.management.remarketingAudience.list</tt> method which
--   the <a>ManagementRemarketingAudienceList</a> request conforms to.
type ManagementRemarketingAudienceListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("remarketingAudiences" :> (QueryParam "type" Text :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] RemarketingAudiences)))))))))))

-- | Creates a value of <a>ManagementRemarketingAudienceList</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>mralWebPropertyId</a></li>
--   <li><a>mralAccountId</a></li>
--   <li><a>mralType</a></li>
--   <li><a>mralStartIndex</a></li>
--   <li><a>mralMaxResults</a></li>
--   </ul>
managementRemarketingAudienceList :: Text -> Text -> ManagementRemarketingAudienceList

-- | Lists remarketing audiences to which the user has access.
--   
--   <i>See:</i> <a>managementRemarketingAudienceList</a> smart
--   constructor.
data ManagementRemarketingAudienceList

-- | The web property ID of the remarketing audiences to retrieve.
mralWebPropertyId :: Lens' ManagementRemarketingAudienceList Text

-- | The account ID of the remarketing audiences to retrieve.
mralAccountId :: Lens' ManagementRemarketingAudienceList Text
mralType :: Lens' ManagementRemarketingAudienceList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mralStartIndex :: Lens' ManagementRemarketingAudienceList (Maybe Int32)

-- | The maximum number of remarketing audiences to include in this
--   response.
mralMaxResults :: Lens' ManagementRemarketingAudienceList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.RemarketingAudience.List.ManagementRemarketingAudienceList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.RemarketingAudience.List.ManagementRemarketingAudienceList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.RemarketingAudience.List.ManagementRemarketingAudienceList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.RemarketingAudience.List.ManagementRemarketingAudienceList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.RemarketingAudience.List.ManagementRemarketingAudienceList


-- | Updates an existing remarketing audience. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.remarketingAudience.patch</tt>.
module Network.Google.Resource.Analytics.Management.RemarketingAudience.Patch

-- | A resource alias for
--   <tt>analytics.management.remarketingAudience.patch</tt> method which
--   the <a>ManagementRemarketingAudiencePatch</a> request conforms to.
type ManagementRemarketingAudiencePatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("remarketingAudiences" :> (Capture "remarketingAudienceId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingAudience :> Patch '[JSON] RemarketingAudience))))))))))

-- | Creates a value of <a>ManagementRemarketingAudiencePatch</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>mrapWebPropertyId</a></li>
--   <li><a>mrapPayload</a></li>
--   <li><a>mrapAccountId</a></li>
--   <li><a>mrapRemarketingAudienceId</a></li>
--   </ul>
managementRemarketingAudiencePatch :: Text -> RemarketingAudience -> Text -> Text -> ManagementRemarketingAudiencePatch

-- | Updates an existing remarketing audience. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>managementRemarketingAudiencePatch</a> smart
--   constructor.
data ManagementRemarketingAudiencePatch

-- | The web property ID of the remarketing audience to update.
mrapWebPropertyId :: Lens' ManagementRemarketingAudiencePatch Text

-- | Multipart request metadata.
mrapPayload :: Lens' ManagementRemarketingAudiencePatch RemarketingAudience

-- | The account ID of the remarketing audience to update.
mrapAccountId :: Lens' ManagementRemarketingAudiencePatch Text

-- | The ID of the remarketing audience to update.
mrapRemarketingAudienceId :: Lens' ManagementRemarketingAudiencePatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.RemarketingAudience.Patch.ManagementRemarketingAudiencePatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.RemarketingAudience.Patch.ManagementRemarketingAudiencePatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.RemarketingAudience.Patch.ManagementRemarketingAudiencePatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.RemarketingAudience.Patch.ManagementRemarketingAudiencePatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.RemarketingAudience.Patch.ManagementRemarketingAudiencePatch


-- | Updates an existing remarketing audience.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.remarketingAudience.update</tt>.
module Network.Google.Resource.Analytics.Management.RemarketingAudience.Update

-- | A resource alias for
--   <tt>analytics.management.remarketingAudience.update</tt> method which
--   the <a>ManagementRemarketingAudienceUpdate</a> request conforms to.
type ManagementRemarketingAudienceUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("remarketingAudiences" :> (Capture "remarketingAudienceId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] RemarketingAudience :> Put '[JSON] RemarketingAudience))))))))))

-- | Creates a value of <a>ManagementRemarketingAudienceUpdate</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>mrauWebPropertyId</a></li>
--   <li><a>mrauPayload</a></li>
--   <li><a>mrauAccountId</a></li>
--   <li><a>mrauRemarketingAudienceId</a></li>
--   </ul>
managementRemarketingAudienceUpdate :: Text -> RemarketingAudience -> Text -> Text -> ManagementRemarketingAudienceUpdate

-- | Updates an existing remarketing audience.
--   
--   <i>See:</i> <a>managementRemarketingAudienceUpdate</a> smart
--   constructor.
data ManagementRemarketingAudienceUpdate

-- | The web property ID of the remarketing audience to update.
mrauWebPropertyId :: Lens' ManagementRemarketingAudienceUpdate Text

-- | Multipart request metadata.
mrauPayload :: Lens' ManagementRemarketingAudienceUpdate RemarketingAudience

-- | The account ID of the remarketing audience to update.
mrauAccountId :: Lens' ManagementRemarketingAudienceUpdate Text

-- | The ID of the remarketing audience to update.
mrauRemarketingAudienceId :: Lens' ManagementRemarketingAudienceUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.RemarketingAudience.Update.ManagementRemarketingAudienceUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.RemarketingAudience.Update.ManagementRemarketingAudienceUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.RemarketingAudience.Update.ManagementRemarketingAudienceUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.RemarketingAudience.Update.ManagementRemarketingAudienceUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.RemarketingAudience.Update.ManagementRemarketingAudienceUpdate


-- | Lists segments to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.segments.list</tt>.
module Network.Google.Resource.Analytics.Management.Segments.List

-- | A resource alias for <tt>analytics.management.segments.list</tt>
--   method which the <a>ManagementSegmentsList</a> request conforms to.
type ManagementSegmentsListResource = "analytics" :> ("v3" :> ("management" :> ("segments" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Segments))))))

-- | Creates a value of <a>ManagementSegmentsList</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>mslStartIndex</a></li>
--   <li><a>mslMaxResults</a></li>
--   </ul>
managementSegmentsList :: ManagementSegmentsList

-- | Lists segments to which the user has access.
--   
--   <i>See:</i> <a>managementSegmentsList</a> smart constructor.
data ManagementSegmentsList

-- | An index of the first segment to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mslStartIndex :: Lens' ManagementSegmentsList (Maybe Int32)

-- | The maximum number of segments to include in this response.
mslMaxResults :: Lens' ManagementSegmentsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Segments.List.ManagementSegmentsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Segments.List.ManagementSegmentsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Segments.List.ManagementSegmentsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Segments.List.ManagementSegmentsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Segments.List.ManagementSegmentsList


-- | Deletes an unsampled report.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.unsampledReports.delete</tt>.
module Network.Google.Resource.Analytics.Management.UnSampledReports.Delete

-- | A resource alias for
--   <tt>analytics.management.unsampledReports.delete</tt> method which the
--   <a>ManagementUnSampledReportsDelete</a> request conforms to.
type ManagementUnSampledReportsDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("unsampledReports" :> (Capture "unsampledReportId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))))

-- | Creates a value of <a>ManagementUnSampledReportsDelete</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>musrdWebPropertyId</a></li>
--   <li><a>musrdProFileId</a></li>
--   <li><a>musrdAccountId</a></li>
--   <li><a>musrdUnSampledReportId</a></li>
--   </ul>
managementUnSampledReportsDelete :: Text -> Text -> Text -> Text -> ManagementUnSampledReportsDelete

-- | Deletes an unsampled report.
--   
--   <i>See:</i> <a>managementUnSampledReportsDelete</a> smart constructor.
data ManagementUnSampledReportsDelete

-- | Web property ID to delete the unsampled reports for.
musrdWebPropertyId :: Lens' ManagementUnSampledReportsDelete Text

-- | View (Profile) ID to delete the unsampled report for.
musrdProFileId :: Lens' ManagementUnSampledReportsDelete Text

-- | Account ID to delete the unsampled report for.
musrdAccountId :: Lens' ManagementUnSampledReportsDelete Text

-- | ID of the unsampled report to be deleted.
musrdUnSampledReportId :: Lens' ManagementUnSampledReportsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.UnSampledReports.Delete.ManagementUnSampledReportsDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.UnSampledReports.Delete.ManagementUnSampledReportsDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.UnSampledReports.Delete.ManagementUnSampledReportsDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.UnSampledReports.Delete.ManagementUnSampledReportsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.UnSampledReports.Delete.ManagementUnSampledReportsDelete


-- | Returns a single unsampled report.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.unsampledReports.get</tt>.
module Network.Google.Resource.Analytics.Management.UnSampledReports.Get

-- | A resource alias for
--   <tt>analytics.management.unsampledReports.get</tt> method which the
--   <a>ManagementUnSampledReportsGet</a> request conforms to.
type ManagementUnSampledReportsGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("unsampledReports" :> (Capture "unsampledReportId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] UnSampledReport)))))))))))

-- | Creates a value of <a>ManagementUnSampledReportsGet</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>musrgWebPropertyId</a></li>
--   <li><a>musrgProFileId</a></li>
--   <li><a>musrgAccountId</a></li>
--   <li><a>musrgUnSampledReportId</a></li>
--   </ul>
managementUnSampledReportsGet :: Text -> Text -> Text -> Text -> ManagementUnSampledReportsGet

-- | Returns a single unsampled report.
--   
--   <i>See:</i> <a>managementUnSampledReportsGet</a> smart constructor.
data ManagementUnSampledReportsGet

-- | Web property ID to retrieve unsampled reports for.
musrgWebPropertyId :: Lens' ManagementUnSampledReportsGet Text

-- | View (Profile) ID to retrieve unsampled report for.
musrgProFileId :: Lens' ManagementUnSampledReportsGet Text

-- | Account ID to retrieve unsampled report for.
musrgAccountId :: Lens' ManagementUnSampledReportsGet Text

-- | ID of the unsampled report to retrieve.
musrgUnSampledReportId :: Lens' ManagementUnSampledReportsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.UnSampledReports.Get.ManagementUnSampledReportsGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.UnSampledReports.Get.ManagementUnSampledReportsGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.UnSampledReports.Get.ManagementUnSampledReportsGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.UnSampledReports.Get.ManagementUnSampledReportsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.UnSampledReports.Get.ManagementUnSampledReportsGet


-- | Create a new unsampled report.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.unsampledReports.insert</tt>.
module Network.Google.Resource.Analytics.Management.UnSampledReports.Insert

-- | A resource alias for
--   <tt>analytics.management.unsampledReports.insert</tt> method which the
--   <a>ManagementUnSampledReportsInsert</a> request conforms to.
type ManagementUnSampledReportsInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("unsampledReports" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UnSampledReport :> Post '[JSON] UnSampledReport)))))))))))

-- | Creates a value of <a>ManagementUnSampledReportsInsert</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>musriWebPropertyId</a></li>
--   <li><a>musriProFileId</a></li>
--   <li><a>musriPayload</a></li>
--   <li><a>musriAccountId</a></li>
--   </ul>
managementUnSampledReportsInsert :: Text -> Text -> UnSampledReport -> Text -> ManagementUnSampledReportsInsert

-- | Create a new unsampled report.
--   
--   <i>See:</i> <a>managementUnSampledReportsInsert</a> smart constructor.
data ManagementUnSampledReportsInsert

-- | Web property ID to create the unsampled report for.
musriWebPropertyId :: Lens' ManagementUnSampledReportsInsert Text

-- | View (Profile) ID to create the unsampled report for.
musriProFileId :: Lens' ManagementUnSampledReportsInsert Text

-- | Multipart request metadata.
musriPayload :: Lens' ManagementUnSampledReportsInsert UnSampledReport

-- | Account ID to create the unsampled report for.
musriAccountId :: Lens' ManagementUnSampledReportsInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.UnSampledReports.Insert.ManagementUnSampledReportsInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.UnSampledReports.Insert.ManagementUnSampledReportsInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.UnSampledReports.Insert.ManagementUnSampledReportsInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.UnSampledReports.Insert.ManagementUnSampledReportsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.UnSampledReports.Insert.ManagementUnSampledReportsInsert


-- | Lists unsampled reports to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.unsampledReports.list</tt>.
module Network.Google.Resource.Analytics.Management.UnSampledReports.List

-- | A resource alias for
--   <tt>analytics.management.unsampledReports.list</tt> method which the
--   <a>ManagementUnSampledReportsList</a> request conforms to.
type ManagementUnSampledReportsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("profiles" :> (Capture "profileId" Text :> ("unsampledReports" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] UnSampledReports))))))))))))

-- | Creates a value of <a>ManagementUnSampledReportsList</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>musrlWebPropertyId</a></li>
--   <li><a>musrlProFileId</a></li>
--   <li><a>musrlAccountId</a></li>
--   <li><a>musrlStartIndex</a></li>
--   <li><a>musrlMaxResults</a></li>
--   </ul>
managementUnSampledReportsList :: Text -> Text -> Text -> ManagementUnSampledReportsList

-- | Lists unsampled reports to which the user has access.
--   
--   <i>See:</i> <a>managementUnSampledReportsList</a> smart constructor.
data ManagementUnSampledReportsList

-- | Web property ID to retrieve unsampled reports for. Must be a specific
--   web property ID, ~all is not supported.
musrlWebPropertyId :: Lens' ManagementUnSampledReportsList Text

-- | View (Profile) ID to retrieve unsampled reports for. Must be a
--   specific view (profile) ID, ~all is not supported.
musrlProFileId :: Lens' ManagementUnSampledReportsList Text

-- | Account ID to retrieve unsampled reports for. Must be a specific
--   account ID, ~all is not supported.
musrlAccountId :: Lens' ManagementUnSampledReportsList Text

-- | An index of the first unsampled report to retrieve. Use this parameter
--   as a pagination mechanism along with the max-results parameter.
musrlStartIndex :: Lens' ManagementUnSampledReportsList (Maybe Int32)

-- | The maximum number of unsampled reports to include in this response.
musrlMaxResults :: Lens' ManagementUnSampledReportsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.UnSampledReports.List.ManagementUnSampledReportsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.UnSampledReports.List.ManagementUnSampledReportsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.UnSampledReports.List.ManagementUnSampledReportsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.UnSampledReports.List.ManagementUnSampledReportsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.UnSampledReports.List.ManagementUnSampledReportsList


-- | Delete data associated with a previous upload.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.uploads.deleteUploadData</tt>.
module Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData

-- | A resource alias for
--   <tt>analytics.management.uploads.deleteUploadData</tt> method which
--   the <a>ManagementUploadsDeleteUploadData</a> request conforms to.
type ManagementUploadsDeleteUploadDataResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDataSources" :> (Capture "customDataSourceId" Text :> ("deleteUploadData" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AnalyticsDataimportDeleteUploadDataRequest :> Post '[JSON] ())))))))))))

-- | Creates a value of <a>ManagementUploadsDeleteUploadData</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>mududWebPropertyId</a></li>
--   <li><a>mududCustomDataSourceId</a></li>
--   <li><a>mududPayload</a></li>
--   <li><a>mududAccountId</a></li>
--   </ul>
managementUploadsDeleteUploadData :: Text -> Text -> AnalyticsDataimportDeleteUploadDataRequest -> Text -> ManagementUploadsDeleteUploadData

-- | Delete data associated with a previous upload.
--   
--   <i>See:</i> <a>managementUploadsDeleteUploadData</a> smart
--   constructor.
data ManagementUploadsDeleteUploadData

-- | Web property Id for the uploads to be deleted.
mududWebPropertyId :: Lens' ManagementUploadsDeleteUploadData Text

-- | Custom data source Id for the uploads to be deleted.
mududCustomDataSourceId :: Lens' ManagementUploadsDeleteUploadData Text

-- | Multipart request metadata.
mududPayload :: Lens' ManagementUploadsDeleteUploadData AnalyticsDataimportDeleteUploadDataRequest

-- | Account Id for the uploads to be deleted.
mududAccountId :: Lens' ManagementUploadsDeleteUploadData Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData.ManagementUploadsDeleteUploadData
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData.ManagementUploadsDeleteUploadData
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData.ManagementUploadsDeleteUploadData
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData.ManagementUploadsDeleteUploadData
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Uploads.DeleteUploadData.ManagementUploadsDeleteUploadData


-- | List uploads to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.uploads.get</tt>.
module Network.Google.Resource.Analytics.Management.Uploads.Get

-- | A resource alias for <tt>analytics.management.uploads.get</tt> method
--   which the <a>ManagementUploadsGet</a> request conforms to.
type ManagementUploadsGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDataSources" :> (Capture "customDataSourceId" Text :> ("uploads" :> (Capture "uploadId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Upload)))))))))))

-- | Creates a value of <a>ManagementUploadsGet</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>mugWebPropertyId</a></li>
--   <li><a>mugCustomDataSourceId</a></li>
--   <li><a>mugAccountId</a></li>
--   <li><a>mugUploadId</a></li>
--   </ul>
managementUploadsGet :: Text -> Text -> Text -> Text -> ManagementUploadsGet

-- | List uploads to which the user has access.
--   
--   <i>See:</i> <a>managementUploadsGet</a> smart constructor.
data ManagementUploadsGet

-- | Web property Id for the upload to retrieve.
mugWebPropertyId :: Lens' ManagementUploadsGet Text

-- | Custom data source Id for upload to retrieve.
mugCustomDataSourceId :: Lens' ManagementUploadsGet Text

-- | Account Id for the upload to retrieve.
mugAccountId :: Lens' ManagementUploadsGet Text

-- | Upload Id to retrieve.
mugUploadId :: Lens' ManagementUploadsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Uploads.Get.ManagementUploadsGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Uploads.Get.ManagementUploadsGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Uploads.Get.ManagementUploadsGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Uploads.Get.ManagementUploadsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Uploads.Get.ManagementUploadsGet


-- | List uploads to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.uploads.list</tt>.
module Network.Google.Resource.Analytics.Management.Uploads.List

-- | A resource alias for <tt>analytics.management.uploads.list</tt> method
--   which the <a>ManagementUploadsList</a> request conforms to.
type ManagementUploadsListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDataSources" :> (Capture "customDataSourceId" Text :> ("uploads" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] Uploads))))))))))))

-- | Creates a value of <a>ManagementUploadsList</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>mulWebPropertyId</a></li>
--   <li><a>mulCustomDataSourceId</a></li>
--   <li><a>mulAccountId</a></li>
--   <li><a>mulStartIndex</a></li>
--   <li><a>mulMaxResults</a></li>
--   </ul>
managementUploadsList :: Text -> Text -> Text -> ManagementUploadsList

-- | List uploads to which the user has access.
--   
--   <i>See:</i> <a>managementUploadsList</a> smart constructor.
data ManagementUploadsList

-- | Web property Id for the uploads to retrieve.
mulWebPropertyId :: Lens' ManagementUploadsList Text

-- | Custom data source Id for uploads to retrieve.
mulCustomDataSourceId :: Lens' ManagementUploadsList Text

-- | Account Id for the uploads to retrieve.
mulAccountId :: Lens' ManagementUploadsList Text

-- | A 1-based index of the first upload to retrieve. Use this parameter as
--   a pagination mechanism along with the max-results parameter.
mulStartIndex :: Lens' ManagementUploadsList (Maybe Int32)

-- | The maximum number of uploads to include in this response.
mulMaxResults :: Lens' ManagementUploadsList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Uploads.List.ManagementUploadsList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Uploads.List.ManagementUploadsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Uploads.List.ManagementUploadsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Uploads.List.ManagementUploadsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Uploads.List.ManagementUploadsList


-- | Upload data for a custom data source.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.uploads.uploadData</tt>.
module Network.Google.Resource.Analytics.Management.Uploads.UploadData

-- | A resource alias for <tt>analytics.management.uploads.uploadData</tt>
--   method which the <a>ManagementUploadsUploadData</a> request conforms
--   to.
type ManagementUploadsUploadDataResource = ("analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDataSources" :> (Capture "customDataSourceId" Text :> ("uploads" :> (QueryParam "alt" AltJSON :> Post '[JSON] Upload))))))))))) :<|> ("upload" :> ("analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("customDataSources" :> (Capture "customDataSourceId" Text :> ("uploads" :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" AltMedia :> (AltMedia :> Post '[JSON] Upload))))))))))))))

-- | Creates a value of <a>ManagementUploadsUploadData</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>muudWebPropertyId</a></li>
--   <li><a>muudCustomDataSourceId</a></li>
--   <li><a>muudAccountId</a></li>
--   </ul>
managementUploadsUploadData :: Text -> Text -> Text -> ManagementUploadsUploadData

-- | Upload data for a custom data source.
--   
--   <i>See:</i> <a>managementUploadsUploadData</a> smart constructor.
data ManagementUploadsUploadData

-- | Web property UA-string associated with the upload.
muudWebPropertyId :: Lens' ManagementUploadsUploadData Text

-- | Custom data source Id to which the data being uploaded belongs.
muudCustomDataSourceId :: Lens' ManagementUploadsUploadData Text

-- | Account Id associated with the upload.
muudAccountId :: Lens' ManagementUploadsUploadData Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.Uploads.UploadData.ManagementUploadsUploadData
instance Data.Data.Data Network.Google.Resource.Analytics.Management.Uploads.UploadData.ManagementUploadsUploadData
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.Uploads.UploadData.ManagementUploadsUploadData
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.Uploads.UploadData.ManagementUploadsUploadData
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.Uploads.UploadData.ManagementUploadsUploadData
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.Analytics.Management.Uploads.UploadData.ManagementUploadsUploadData)


-- | Gets a web property to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webproperties.get</tt>.
module Network.Google.Resource.Analytics.Management.WebProperties.Get

-- | A resource alias for <tt>analytics.management.webproperties.get</tt>
--   method which the <a>ManagementWebPropertiesGet</a> request conforms
--   to.
type ManagementWebPropertiesGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] WebProperty)))))))

-- | Creates a value of <a>ManagementWebPropertiesGet</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>mwpgWebPropertyId</a></li>
--   <li><a>mwpgAccountId</a></li>
--   </ul>
managementWebPropertiesGet :: Text -> Text -> ManagementWebPropertiesGet

-- | Gets a web property to which the user has access.
--   
--   <i>See:</i> <a>managementWebPropertiesGet</a> smart constructor.
data ManagementWebPropertiesGet

-- | ID to retrieve the web property for.
mwpgWebPropertyId :: Lens' ManagementWebPropertiesGet Text

-- | Account ID to retrieve the web property for.
mwpgAccountId :: Lens' ManagementWebPropertiesGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebProperties.Get.ManagementWebPropertiesGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebProperties.Get.ManagementWebPropertiesGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebProperties.Get.ManagementWebPropertiesGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebProperties.Get.ManagementWebPropertiesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebProperties.Get.ManagementWebPropertiesGet


-- | Create a new property if the account has fewer than 20 properties. Web
--   properties are visible in the Google Analytics interface only if they
--   have at least one profile.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webproperties.insert</tt>.
module Network.Google.Resource.Analytics.Management.WebProperties.Insert

-- | A resource alias for
--   <tt>analytics.management.webproperties.insert</tt> method which the
--   <a>ManagementWebPropertiesInsert</a> request conforms to.
type ManagementWebPropertiesInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] WebProperty :> Post '[JSON] WebProperty)))))))

-- | Creates a value of <a>ManagementWebPropertiesInsert</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>mwpiPayload</a></li>
--   <li><a>mwpiAccountId</a></li>
--   </ul>
managementWebPropertiesInsert :: WebProperty -> Text -> ManagementWebPropertiesInsert

-- | Create a new property if the account has fewer than 20 properties. Web
--   properties are visible in the Google Analytics interface only if they
--   have at least one profile.
--   
--   <i>See:</i> <a>managementWebPropertiesInsert</a> smart constructor.
data ManagementWebPropertiesInsert

-- | Multipart request metadata.
mwpiPayload :: Lens' ManagementWebPropertiesInsert WebProperty

-- | Account ID to create the web property for.
mwpiAccountId :: Lens' ManagementWebPropertiesInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebProperties.Insert.ManagementWebPropertiesInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebProperties.Insert.ManagementWebPropertiesInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebProperties.Insert.ManagementWebPropertiesInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebProperties.Insert.ManagementWebPropertiesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebProperties.Insert.ManagementWebPropertiesInsert


-- | Lists web properties to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webproperties.list</tt>.
module Network.Google.Resource.Analytics.Management.WebProperties.List

-- | A resource alias for <tt>analytics.management.webproperties.list</tt>
--   method which the <a>ManagementWebPropertiesList</a> request conforms
--   to.
type ManagementWebPropertiesListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] WebProperties))))))))

-- | Creates a value of <a>ManagementWebPropertiesList</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>mwplAccountId</a></li>
--   <li><a>mwplStartIndex</a></li>
--   <li><a>mwplMaxResults</a></li>
--   </ul>
managementWebPropertiesList :: Text -> ManagementWebPropertiesList

-- | Lists web properties to which the user has access.
--   
--   <i>See:</i> <a>managementWebPropertiesList</a> smart constructor.
data ManagementWebPropertiesList

-- | Account ID to retrieve web properties for. Can either be a specific
--   account ID or '~all', which refers to all the accounts that user has
--   access to.
mwplAccountId :: Lens' ManagementWebPropertiesList Text

-- | An index of the first entity to retrieve. Use this parameter as a
--   pagination mechanism along with the max-results parameter.
mwplStartIndex :: Lens' ManagementWebPropertiesList (Maybe Int32)

-- | The maximum number of web properties to include in this response.
mwplMaxResults :: Lens' ManagementWebPropertiesList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebProperties.List.ManagementWebPropertiesList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebProperties.List.ManagementWebPropertiesList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebProperties.List.ManagementWebPropertiesList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebProperties.List.ManagementWebPropertiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebProperties.List.ManagementWebPropertiesList


-- | Updates an existing web property. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webproperties.patch</tt>.
module Network.Google.Resource.Analytics.Management.WebProperties.Patch

-- | A resource alias for <tt>analytics.management.webproperties.patch</tt>
--   method which the <a>ManagementWebPropertiesPatch</a> request conforms
--   to.
type ManagementWebPropertiesPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] WebProperty :> Patch '[JSON] WebProperty))))))))

-- | Creates a value of <a>ManagementWebPropertiesPatch</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>mwppWebPropertyId</a></li>
--   <li><a>mwppPayload</a></li>
--   <li><a>mwppAccountId</a></li>
--   </ul>
managementWebPropertiesPatch :: Text -> WebProperty -> Text -> ManagementWebPropertiesPatch

-- | Updates an existing web property. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>managementWebPropertiesPatch</a> smart constructor.
data ManagementWebPropertiesPatch

-- | Web property ID
mwppWebPropertyId :: Lens' ManagementWebPropertiesPatch Text

-- | Multipart request metadata.
mwppPayload :: Lens' ManagementWebPropertiesPatch WebProperty

-- | Account ID to which the web property belongs
mwppAccountId :: Lens' ManagementWebPropertiesPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebProperties.Patch.ManagementWebPropertiesPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebProperties.Patch.ManagementWebPropertiesPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebProperties.Patch.ManagementWebPropertiesPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebProperties.Patch.ManagementWebPropertiesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebProperties.Patch.ManagementWebPropertiesPatch


-- | Updates an existing web property.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webproperties.update</tt>.
module Network.Google.Resource.Analytics.Management.WebProperties.Update

-- | A resource alias for
--   <tt>analytics.management.webproperties.update</tt> method which the
--   <a>ManagementWebPropertiesUpdate</a> request conforms to.
type ManagementWebPropertiesUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] WebProperty :> Put '[JSON] WebProperty))))))))

-- | Creates a value of <a>ManagementWebPropertiesUpdate</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>mwpuWebPropertyId</a></li>
--   <li><a>mwpuPayload</a></li>
--   <li><a>mwpuAccountId</a></li>
--   </ul>
managementWebPropertiesUpdate :: Text -> WebProperty -> Text -> ManagementWebPropertiesUpdate

-- | Updates an existing web property.
--   
--   <i>See:</i> <a>managementWebPropertiesUpdate</a> smart constructor.
data ManagementWebPropertiesUpdate

-- | Web property ID
mwpuWebPropertyId :: Lens' ManagementWebPropertiesUpdate Text

-- | Multipart request metadata.
mwpuPayload :: Lens' ManagementWebPropertiesUpdate WebProperty

-- | Account ID to which the web property belongs
mwpuAccountId :: Lens' ManagementWebPropertiesUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebProperties.Update.ManagementWebPropertiesUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebProperties.Update.ManagementWebPropertiesUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebProperties.Update.ManagementWebPropertiesUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebProperties.Update.ManagementWebPropertiesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebProperties.Update.ManagementWebPropertiesUpdate


-- | Deletes a web property-AdWords link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webPropertyAdWordsLinks.delete</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete

-- | A resource alias for
--   <tt>analytics.management.webPropertyAdWordsLinks.delete</tt> method
--   which the <a>ManagementWebPropertyAdWordsLinksDelete</a> request
--   conforms to.
type ManagementWebPropertyAdWordsLinksDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityAdWordsLinks" :> (Capture "webPropertyAdWordsLinkId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))

-- | Creates a value of <a>ManagementWebPropertyAdWordsLinksDelete</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>mwpawldWebPropertyId</a></li>
--   <li><a>mwpawldAccountId</a></li>
--   <li><a>mwpawldWebPropertyAdWordsLinkId</a></li>
--   </ul>
managementWebPropertyAdWordsLinksDelete :: Text -> Text -> Text -> ManagementWebPropertyAdWordsLinksDelete

-- | Deletes a web property-AdWords link.
--   
--   <i>See:</i> <a>managementWebPropertyAdWordsLinksDelete</a> smart
--   constructor.
data ManagementWebPropertyAdWordsLinksDelete

-- | Web property ID to delete the AdWords link for.
mwpawldWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksDelete Text

-- | ID of the account which the given web property belongs to.
mwpawldAccountId :: Lens' ManagementWebPropertyAdWordsLinksDelete Text

-- | Web property AdWords link ID.
mwpawldWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete.ManagementWebPropertyAdWordsLinksDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete.ManagementWebPropertyAdWordsLinksDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete.ManagementWebPropertyAdWordsLinksDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete.ManagementWebPropertyAdWordsLinksDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Delete.ManagementWebPropertyAdWordsLinksDelete


-- | Returns a web property-AdWords link to which the user has access.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webPropertyAdWordsLinks.get</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get

-- | A resource alias for
--   <tt>analytics.management.webPropertyAdWordsLinks.get</tt> method which
--   the <a>ManagementWebPropertyAdWordsLinksGet</a> request conforms to.
type ManagementWebPropertyAdWordsLinksGetResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityAdWordsLinks" :> (Capture "webPropertyAdWordsLinkId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] EntityAdWordsLink)))))))))

-- | Creates a value of <a>ManagementWebPropertyAdWordsLinksGet</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>mwpawlgWebPropertyId</a></li>
--   <li><a>mwpawlgAccountId</a></li>
--   <li><a>mwpawlgWebPropertyAdWordsLinkId</a></li>
--   </ul>
managementWebPropertyAdWordsLinksGet :: Text -> Text -> Text -> ManagementWebPropertyAdWordsLinksGet

-- | Returns a web property-AdWords link to which the user has access.
--   
--   <i>See:</i> <a>managementWebPropertyAdWordsLinksGet</a> smart
--   constructor.
data ManagementWebPropertyAdWordsLinksGet

-- | Web property ID to retrieve the AdWords link for.
mwpawlgWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksGet Text

-- | ID of the account which the given web property belongs to.
mwpawlgAccountId :: Lens' ManagementWebPropertyAdWordsLinksGet Text

-- | Web property-AdWords link ID.
mwpawlgWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksGet Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get.ManagementWebPropertyAdWordsLinksGet
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get.ManagementWebPropertyAdWordsLinksGet
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get.ManagementWebPropertyAdWordsLinksGet
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get.ManagementWebPropertyAdWordsLinksGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Get.ManagementWebPropertyAdWordsLinksGet


-- | Creates a webProperty-AdWords link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webPropertyAdWordsLinks.insert</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert

-- | A resource alias for
--   <tt>analytics.management.webPropertyAdWordsLinks.insert</tt> method
--   which the <a>ManagementWebPropertyAdWordsLinksInsert</a> request
--   conforms to.
type ManagementWebPropertyAdWordsLinksInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityAdWordsLinks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityAdWordsLink :> Post '[JSON] EntityAdWordsLink)))))))))

-- | Creates a value of <a>ManagementWebPropertyAdWordsLinksInsert</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>mwpawliWebPropertyId</a></li>
--   <li><a>mwpawliPayload</a></li>
--   <li><a>mwpawliAccountId</a></li>
--   </ul>
managementWebPropertyAdWordsLinksInsert :: Text -> EntityAdWordsLink -> Text -> ManagementWebPropertyAdWordsLinksInsert

-- | Creates a webProperty-AdWords link.
--   
--   <i>See:</i> <a>managementWebPropertyAdWordsLinksInsert</a> smart
--   constructor.
data ManagementWebPropertyAdWordsLinksInsert

-- | Web property ID to create the link for.
mwpawliWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksInsert Text

-- | Multipart request metadata.
mwpawliPayload :: Lens' ManagementWebPropertyAdWordsLinksInsert EntityAdWordsLink

-- | ID of the Google Analytics account to create the link for.
mwpawliAccountId :: Lens' ManagementWebPropertyAdWordsLinksInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert.ManagementWebPropertyAdWordsLinksInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert.ManagementWebPropertyAdWordsLinksInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert.ManagementWebPropertyAdWordsLinksInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert.ManagementWebPropertyAdWordsLinksInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Insert.ManagementWebPropertyAdWordsLinksInsert


-- | Lists webProperty-AdWords links for a given web property.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webPropertyAdWordsLinks.list</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List

-- | A resource alias for
--   <tt>analytics.management.webPropertyAdWordsLinks.list</tt> method
--   which the <a>ManagementWebPropertyAdWordsLinksList</a> request
--   conforms to.
type ManagementWebPropertyAdWordsLinksListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityAdWordsLinks" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] EntityAdWordsLinks))))))))))

-- | Creates a value of <a>ManagementWebPropertyAdWordsLinksList</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>mwpawllWebPropertyId</a></li>
--   <li><a>mwpawllAccountId</a></li>
--   <li><a>mwpawllStartIndex</a></li>
--   <li><a>mwpawllMaxResults</a></li>
--   </ul>
managementWebPropertyAdWordsLinksList :: Text -> Text -> ManagementWebPropertyAdWordsLinksList

-- | Lists webProperty-AdWords links for a given web property.
--   
--   <i>See:</i> <a>managementWebPropertyAdWordsLinksList</a> smart
--   constructor.
data ManagementWebPropertyAdWordsLinksList

-- | Web property ID to retrieve the AdWords links for.
mwpawllWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksList Text

-- | ID of the account which the given web property belongs to.
mwpawllAccountId :: Lens' ManagementWebPropertyAdWordsLinksList Text

-- | An index of the first webProperty-AdWords link to retrieve. Use this
--   parameter as a pagination mechanism along with the max-results
--   parameter.
mwpawllStartIndex :: Lens' ManagementWebPropertyAdWordsLinksList (Maybe Int32)

-- | The maximum number of webProperty-AdWords links to include in this
--   response.
mwpawllMaxResults :: Lens' ManagementWebPropertyAdWordsLinksList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List.ManagementWebPropertyAdWordsLinksList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List.ManagementWebPropertyAdWordsLinksList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List.ManagementWebPropertyAdWordsLinksList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List.ManagementWebPropertyAdWordsLinksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.List.ManagementWebPropertyAdWordsLinksList


-- | Updates an existing webProperty-AdWords link. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webPropertyAdWordsLinks.patch</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch

-- | A resource alias for
--   <tt>analytics.management.webPropertyAdWordsLinks.patch</tt> method
--   which the <a>ManagementWebPropertyAdWordsLinksPatch</a> request
--   conforms to.
type ManagementWebPropertyAdWordsLinksPatchResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityAdWordsLinks" :> (Capture "webPropertyAdWordsLinkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityAdWordsLink :> Patch '[JSON] EntityAdWordsLink))))))))))

-- | Creates a value of <a>ManagementWebPropertyAdWordsLinksPatch</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>mwpawlpWebPropertyId</a></li>
--   <li><a>mwpawlpPayload</a></li>
--   <li><a>mwpawlpAccountId</a></li>
--   <li><a>mwpawlpWebPropertyAdWordsLinkId</a></li>
--   </ul>
managementWebPropertyAdWordsLinksPatch :: Text -> EntityAdWordsLink -> Text -> Text -> ManagementWebPropertyAdWordsLinksPatch

-- | Updates an existing webProperty-AdWords link. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>managementWebPropertyAdWordsLinksPatch</a> smart
--   constructor.
data ManagementWebPropertyAdWordsLinksPatch

-- | Web property ID to retrieve the AdWords link for.
mwpawlpWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksPatch Text

-- | Multipart request metadata.
mwpawlpPayload :: Lens' ManagementWebPropertyAdWordsLinksPatch EntityAdWordsLink

-- | ID of the account which the given web property belongs to.
mwpawlpAccountId :: Lens' ManagementWebPropertyAdWordsLinksPatch Text

-- | Web property-AdWords link ID.
mwpawlpWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksPatch Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch.ManagementWebPropertyAdWordsLinksPatch
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch.ManagementWebPropertyAdWordsLinksPatch
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch.ManagementWebPropertyAdWordsLinksPatch
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch.ManagementWebPropertyAdWordsLinksPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Patch.ManagementWebPropertyAdWordsLinksPatch


-- | Updates an existing webProperty-AdWords link.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webPropertyAdWordsLinks.update</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update

-- | A resource alias for
--   <tt>analytics.management.webPropertyAdWordsLinks.update</tt> method
--   which the <a>ManagementWebPropertyAdWordsLinksUpdate</a> request
--   conforms to.
type ManagementWebPropertyAdWordsLinksUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityAdWordsLinks" :> (Capture "webPropertyAdWordsLinkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityAdWordsLink :> Put '[JSON] EntityAdWordsLink))))))))))

-- | Creates a value of <a>ManagementWebPropertyAdWordsLinksUpdate</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>mwpawluWebPropertyId</a></li>
--   <li><a>mwpawluPayload</a></li>
--   <li><a>mwpawluAccountId</a></li>
--   <li><a>mwpawluWebPropertyAdWordsLinkId</a></li>
--   </ul>
managementWebPropertyAdWordsLinksUpdate :: Text -> EntityAdWordsLink -> Text -> Text -> ManagementWebPropertyAdWordsLinksUpdate

-- | Updates an existing webProperty-AdWords link.
--   
--   <i>See:</i> <a>managementWebPropertyAdWordsLinksUpdate</a> smart
--   constructor.
data ManagementWebPropertyAdWordsLinksUpdate

-- | Web property ID to retrieve the AdWords link for.
mwpawluWebPropertyId :: Lens' ManagementWebPropertyAdWordsLinksUpdate Text

-- | Multipart request metadata.
mwpawluPayload :: Lens' ManagementWebPropertyAdWordsLinksUpdate EntityAdWordsLink

-- | ID of the account which the given web property belongs to.
mwpawluAccountId :: Lens' ManagementWebPropertyAdWordsLinksUpdate Text

-- | Web property-AdWords link ID.
mwpawluWebPropertyAdWordsLinkId :: Lens' ManagementWebPropertyAdWordsLinksUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update.ManagementWebPropertyAdWordsLinksUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update.ManagementWebPropertyAdWordsLinksUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update.ManagementWebPropertyAdWordsLinksUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update.ManagementWebPropertyAdWordsLinksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyAdWordsLinks.Update.ManagementWebPropertyAdWordsLinksUpdate


-- | Removes a user from the given web property.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webpropertyUserLinks.delete</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete

-- | A resource alias for
--   <tt>analytics.management.webpropertyUserLinks.delete</tt> method which
--   the <a>ManagementWebPropertyUserLinksDelete</a> request conforms to.
type ManagementWebPropertyUserLinksDeleteResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityUserLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))

-- | Creates a value of <a>ManagementWebPropertyUserLinksDelete</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>mwpuldWebPropertyId</a></li>
--   <li><a>mwpuldAccountId</a></li>
--   <li><a>mwpuldLinkId</a></li>
--   </ul>
managementWebPropertyUserLinksDelete :: Text -> Text -> Text -> ManagementWebPropertyUserLinksDelete

-- | Removes a user from the given web property.
--   
--   <i>See:</i> <a>managementWebPropertyUserLinksDelete</a> smart
--   constructor.
data ManagementWebPropertyUserLinksDelete

-- | Web Property ID to delete the user link for.
mwpuldWebPropertyId :: Lens' ManagementWebPropertyUserLinksDelete Text

-- | Account ID to delete the user link for.
mwpuldAccountId :: Lens' ManagementWebPropertyUserLinksDelete Text

-- | Link ID to delete the user link for.
mwpuldLinkId :: Lens' ManagementWebPropertyUserLinksDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete.ManagementWebPropertyUserLinksDelete
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete.ManagementWebPropertyUserLinksDelete
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete.ManagementWebPropertyUserLinksDelete
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete.ManagementWebPropertyUserLinksDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Delete.ManagementWebPropertyUserLinksDelete


-- | Adds a new user to the given web property.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webpropertyUserLinks.insert</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert

-- | A resource alias for
--   <tt>analytics.management.webpropertyUserLinks.insert</tt> method which
--   the <a>ManagementWebPropertyUserLinksInsert</a> request conforms to.
type ManagementWebPropertyUserLinksInsertResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityUserLinks" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityUserLink :> Post '[JSON] EntityUserLink)))))))))

-- | Creates a value of <a>ManagementWebPropertyUserLinksInsert</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>mwpuliWebPropertyId</a></li>
--   <li><a>mwpuliPayload</a></li>
--   <li><a>mwpuliAccountId</a></li>
--   </ul>
managementWebPropertyUserLinksInsert :: Text -> EntityUserLink -> Text -> ManagementWebPropertyUserLinksInsert

-- | Adds a new user to the given web property.
--   
--   <i>See:</i> <a>managementWebPropertyUserLinksInsert</a> smart
--   constructor.
data ManagementWebPropertyUserLinksInsert

-- | Web Property ID to create the user link for.
mwpuliWebPropertyId :: Lens' ManagementWebPropertyUserLinksInsert Text

-- | Multipart request metadata.
mwpuliPayload :: Lens' ManagementWebPropertyUserLinksInsert EntityUserLink

-- | Account ID to create the user link for.
mwpuliAccountId :: Lens' ManagementWebPropertyUserLinksInsert Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert.ManagementWebPropertyUserLinksInsert
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert.ManagementWebPropertyUserLinksInsert
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert.ManagementWebPropertyUserLinksInsert
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert.ManagementWebPropertyUserLinksInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Insert.ManagementWebPropertyUserLinksInsert


-- | Lists webProperty-user links for a given web property.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webpropertyUserLinks.list</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List

-- | A resource alias for
--   <tt>analytics.management.webpropertyUserLinks.list</tt> method which
--   the <a>ManagementWebPropertyUserLinksList</a> request conforms to.
type ManagementWebPropertyUserLinksListResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityUserLinks" :> (QueryParam "start-index" (Textual Int32) :> (QueryParam "max-results" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] EntityUserLinks))))))))))

-- | Creates a value of <a>ManagementWebPropertyUserLinksList</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>mwpullWebPropertyId</a></li>
--   <li><a>mwpullAccountId</a></li>
--   <li><a>mwpullStartIndex</a></li>
--   <li><a>mwpullMaxResults</a></li>
--   </ul>
managementWebPropertyUserLinksList :: Text -> Text -> ManagementWebPropertyUserLinksList

-- | Lists webProperty-user links for a given web property.
--   
--   <i>See:</i> <a>managementWebPropertyUserLinksList</a> smart
--   constructor.
data ManagementWebPropertyUserLinksList

-- | Web Property ID for the webProperty-user links to retrieve. Can either
--   be a specific web property ID or '~all', which refers to all the web
--   properties that user has access to.
mwpullWebPropertyId :: Lens' ManagementWebPropertyUserLinksList Text

-- | Account ID which the given web property belongs to.
mwpullAccountId :: Lens' ManagementWebPropertyUserLinksList Text

-- | An index of the first webProperty-user link to retrieve. Use this
--   parameter as a pagination mechanism along with the max-results
--   parameter.
mwpullStartIndex :: Lens' ManagementWebPropertyUserLinksList (Maybe Int32)

-- | The maximum number of webProperty-user Links to include in this
--   response.
mwpullMaxResults :: Lens' ManagementWebPropertyUserLinksList (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List.ManagementWebPropertyUserLinksList
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List.ManagementWebPropertyUserLinksList
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List.ManagementWebPropertyUserLinksList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List.ManagementWebPropertyUserLinksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.List.ManagementWebPropertyUserLinksList


-- | Updates permissions for an existing user on the given web property.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.management.webpropertyUserLinks.update</tt>.
module Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update

-- | A resource alias for
--   <tt>analytics.management.webpropertyUserLinks.update</tt> method which
--   the <a>ManagementWebPropertyUserLinksUpdate</a> request conforms to.
type ManagementWebPropertyUserLinksUpdateResource = "analytics" :> ("v3" :> ("management" :> ("accounts" :> (Capture "accountId" Text :> ("webproperties" :> (Capture "webPropertyId" Text :> ("entityUserLinks" :> (Capture "linkId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EntityUserLink :> Put '[JSON] EntityUserLink))))))))))

-- | Creates a value of <a>ManagementWebPropertyUserLinksUpdate</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>mwpuluWebPropertyId</a></li>
--   <li><a>mwpuluPayload</a></li>
--   <li><a>mwpuluAccountId</a></li>
--   <li><a>mwpuluLinkId</a></li>
--   </ul>
managementWebPropertyUserLinksUpdate :: Text -> EntityUserLink -> Text -> Text -> ManagementWebPropertyUserLinksUpdate

-- | Updates permissions for an existing user on the given web property.
--   
--   <i>See:</i> <a>managementWebPropertyUserLinksUpdate</a> smart
--   constructor.
data ManagementWebPropertyUserLinksUpdate

-- | Web property ID to update the account-user link for.
mwpuluWebPropertyId :: Lens' ManagementWebPropertyUserLinksUpdate Text

-- | Multipart request metadata.
mwpuluPayload :: Lens' ManagementWebPropertyUserLinksUpdate EntityUserLink

-- | Account ID to update the account-user link for.
mwpuluAccountId :: Lens' ManagementWebPropertyUserLinksUpdate Text

-- | Link ID to update the account-user link for.
mwpuluLinkId :: Lens' ManagementWebPropertyUserLinksUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update.ManagementWebPropertyUserLinksUpdate
instance Data.Data.Data Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update.ManagementWebPropertyUserLinksUpdate
instance GHC.Show.Show Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update.ManagementWebPropertyUserLinksUpdate
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update.ManagementWebPropertyUserLinksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Management.WebPropertyUserLinks.Update.ManagementWebPropertyUserLinksUpdate


-- | Lists all columns for a report type
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.metadata.columns.list</tt>.
module Network.Google.Resource.Analytics.Metadata.Columns.List

-- | A resource alias for <tt>analytics.metadata.columns.list</tt> method
--   which the <a>MetadataColumnsList</a> request conforms to.
type MetadataColumnsListResource = "analytics" :> ("v3" :> ("metadata" :> (Capture "reportType" Text :> ("columns" :> (QueryParam "alt" AltJSON :> Get '[JSON] Columns)))))

-- | Creates a value of <a>MetadataColumnsList</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>mclReportType</a></li>
--   </ul>
metadataColumnsList :: Text -> MetadataColumnsList

-- | Lists all columns for a report type
--   
--   <i>See:</i> <a>metadataColumnsList</a> smart constructor.
data MetadataColumnsList

-- | Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core
--   Reporting API
mclReportType :: Lens' MetadataColumnsList Text
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Metadata.Columns.List.MetadataColumnsList
instance Data.Data.Data Network.Google.Resource.Analytics.Metadata.Columns.List.MetadataColumnsList
instance GHC.Show.Show Network.Google.Resource.Analytics.Metadata.Columns.List.MetadataColumnsList
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Metadata.Columns.List.MetadataColumnsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Metadata.Columns.List.MetadataColumnsList


-- | Creates an account ticket.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a> for
--   <tt>analytics.provisioning.createAccountTicket</tt>.
module Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket

-- | A resource alias for
--   <tt>analytics.provisioning.createAccountTicket</tt> method which the
--   <a>ProvisioningCreateAccountTicket</a> request conforms to.
type ProvisioningCreateAccountTicketResource = "analytics" :> ("v3" :> ("provisioning" :> ("createAccountTicket" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AccountTicket :> Post '[JSON] AccountTicket)))))

-- | Creates a value of <a>ProvisioningCreateAccountTicket</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>pcatPayload</a></li>
--   </ul>
provisioningCreateAccountTicket :: AccountTicket -> ProvisioningCreateAccountTicket

-- | Creates an account ticket.
--   
--   <i>See:</i> <a>provisioningCreateAccountTicket</a> smart constructor.
data ProvisioningCreateAccountTicket

-- | Multipart request metadata.
pcatPayload :: Lens' ProvisioningCreateAccountTicket AccountTicket
instance GHC.Generics.Generic Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket.ProvisioningCreateAccountTicket
instance Data.Data.Data Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket.ProvisioningCreateAccountTicket
instance GHC.Show.Show Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket.ProvisioningCreateAccountTicket
instance GHC.Classes.Eq Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket.ProvisioningCreateAccountTicket
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Analytics.Provisioning.CreateAccountTicket.ProvisioningCreateAccountTicket


-- | Views and manages your Google Analytics data.
--   
--   <i>See:</i> <a>Google Analytics API Reference</a>
module Network.Google.Analytics

-- | Default request referring to version <tt>v3</tt> of the Google
--   Analytics API. This contains the host and root path used as a starting
--   point for constructing service requests.
analyticsService :: ServiceConfig

-- | Manage Google Analytics Account users by email address
analyticsManageUsersScope :: Proxy '["https://www.googleapis.com/auth/analytics.manage.users"]

-- | Create a new Google Analytics account along with its default property
--   and view
analyticsProvisionScope :: Proxy '["https://www.googleapis.com/auth/analytics.provision"]

-- | View Google Analytics user permissions
analyticsManageUsersReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/analytics.manage.users.readonly"]

-- | View and manage your Google Analytics data
analyticsScope :: Proxy '["https://www.googleapis.com/auth/analytics"]

-- | View your Google Analytics data
analyticsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/analytics.readonly"]

-- | Edit Google Analytics management entities
analyticsEditScope :: Proxy '["https://www.googleapis.com/auth/analytics.edit"]

-- | Represents the entirety of the methods and resources available for the
--   Google Analytics API service.
type AnalyticsAPI = DataMcfGetResource :<|> (DataGaGetResource :<|> (DataRealtimeGetResource :<|> (ManagementWebPropertyAdWordsLinksInsertResource :<|> (ManagementWebPropertyAdWordsLinksListResource :<|> (ManagementWebPropertyAdWordsLinksPatchResource :<|> (ManagementWebPropertyAdWordsLinksGetResource :<|> (ManagementWebPropertyAdWordsLinksDeleteResource :<|> (ManagementWebPropertyAdWordsLinksUpdateResource :<|> (ManagementUnSampledReportsInsertResource :<|> (ManagementUnSampledReportsListResource :<|> (ManagementUnSampledReportsGetResource :<|> (ManagementUnSampledReportsDeleteResource :<|> (ManagementRemarketingAudienceInsertResource :<|> (ManagementRemarketingAudienceListResource :<|> (ManagementRemarketingAudiencePatchResource :<|> (ManagementRemarketingAudienceGetResource :<|> (ManagementRemarketingAudienceUpdateResource :<|> (ManagementAccountsListResource :<|> (ManagementExperimentsInsertResource :<|> (ManagementExperimentsListResource :<|> (ManagementExperimentsPatchResource :<|> (ManagementExperimentsGetResource :<|> (ManagementExperimentsDeleteResource :<|> (ManagementExperimentsUpdateResource :<|> (ManagementCustomDataSourcesListResource :<|> (ManagementWebPropertyUserLinksInsertResource :<|> (ManagementWebPropertyUserLinksListResource :<|> (ManagementWebPropertyUserLinksDeleteResource :<|> (ManagementWebPropertyUserLinksUpdateResource :<|> (ManagementProFilesInsertResource :<|> (ManagementProFilesListResource :<|> (ManagementProFilesPatchResource :<|> (ManagementProFilesGetResource :<|> (ManagementProFilesDeleteResource :<|> (ManagementProFilesUpdateResource :<|> (ManagementFiltersInsertResource :<|> (ManagementFiltersListResource :<|> (ManagementFiltersPatchResource :<|> (ManagementFiltersGetResource :<|> (ManagementFiltersDeleteResource :<|> (ManagementFiltersUpdateResource :<|> (ManagementAccountSummariesListResource :<|> (ManagementGoalsInsertResource :<|> (ManagementGoalsListResource :<|> (ManagementGoalsPatchResource :<|> (ManagementGoalsGetResource :<|> (ManagementGoalsUpdateResource :<|> (ManagementWebPropertiesInsertResource :<|> (ManagementWebPropertiesListResource :<|> (ManagementWebPropertiesPatchResource :<|> (ManagementWebPropertiesGetResource :<|> (ManagementWebPropertiesUpdateResource :<|> (ManagementCustomMetricsInsertResource :<|> (ManagementCustomMetricsListResource :<|> (ManagementCustomMetricsPatchResource :<|> (ManagementCustomMetricsGetResource :<|> (ManagementCustomMetricsUpdateResource :<|> (ManagementUploadsListResource :<|> (ManagementUploadsDeleteUploadDataResource :<|> (ManagementUploadsGetResource :<|> (ManagementUploadsUploadDataResource :<|> (ManagementSegmentsListResource :<|> (ManagementProFileFilterLinksInsertResource :<|> (ManagementProFileFilterLinksListResource :<|> (ManagementProFileFilterLinksPatchResource :<|> (ManagementProFileFilterLinksGetResource :<|> (ManagementProFileFilterLinksDeleteResource :<|> (ManagementProFileFilterLinksUpdateResource :<|> (ManagementCustomDimensionsInsertResource :<|> (ManagementCustomDimensionsListResource :<|> (ManagementCustomDimensionsPatchResource :<|> (ManagementCustomDimensionsGetResource :<|> (ManagementCustomDimensionsUpdateResource :<|> (ManagementAccountUserLinksInsertResource :<|> (ManagementAccountUserLinksListResource :<|> (ManagementAccountUserLinksDeleteResource :<|> (ManagementAccountUserLinksUpdateResource :<|> (ManagementProFileUserLinksInsertResource :<|> (ManagementProFileUserLinksListResource :<|> (ManagementProFileUserLinksDeleteResource :<|> (ManagementProFileUserLinksUpdateResource :<|> (ProvisioningCreateAccountTicketResource :<|> MetadataColumnsListResource))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

-- | An unsampled report collection lists Analytics unsampled reports to
--   which the user has access. Each view (profile) can have a set of
--   unsampled reports. Each resource in the unsampled report collection
--   corresponds to a single Analytics unsampled report.
--   
--   <i>See:</i> <a>unSampledReports</a> smart constructor.
data UnSampledReports

-- | Creates a value of <a>UnSampledReports</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>usrNextLink</a></li>
--   <li><a>usrItemsPerPage</a></li>
--   <li><a>usrKind</a></li>
--   <li><a>usrUsername</a></li>
--   <li><a>usrItems</a></li>
--   <li><a>usrTotalResults</a></li>
--   <li><a>usrStartIndex</a></li>
--   <li><a>usrPreviousLink</a></li>
--   </ul>
unSampledReports :: UnSampledReports

-- | Link to next page for this unsampled report collection.
usrNextLink :: Lens' UnSampledReports (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
usrItemsPerPage :: Lens' UnSampledReports (Maybe Int32)

-- | Collection type.
usrKind :: Lens' UnSampledReports Text

-- | Email ID of the authenticated user
usrUsername :: Lens' UnSampledReports (Maybe Text)

-- | A list of unsampled reports.
usrItems :: Lens' UnSampledReports [UnSampledReport]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
usrTotalResults :: Lens' UnSampledReports (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
usrStartIndex :: Lens' UnSampledReports (Maybe Int32)

-- | Link to previous page for this unsampled report collection.
usrPreviousLink :: Lens' UnSampledReports (Maybe Text)
data GoalURLDestinationDetailsStepsItem

-- | Creates a value of <a>GoalURLDestinationDetailsStepsItem</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>guddsiURL</a></li>
--   <li><a>guddsiName</a></li>
--   <li><a>guddsiNumber</a></li>
--   </ul>
goalURLDestinationDetailsStepsItem :: GoalURLDestinationDetailsStepsItem

-- | URL for this step.
guddsiURL :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Text)

-- | Step name.
guddsiName :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Text)

-- | Step number.
guddsiNumber :: Lens' GoalURLDestinationDetailsStepsItem (Maybe Int32)

-- | Analytics data request query parameters.
--   
--   <i>See:</i> <a>gaDataQuery</a> smart constructor.
data GaDataQuery

-- | Creates a value of <a>GaDataQuery</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>gdqMetrics</a></li>
--   <li><a>gdqSamplingLevel</a></li>
--   <li><a>gdqFilters</a></li>
--   <li><a>gdqIds</a></li>
--   <li><a>gdqEndDate</a></li>
--   <li><a>gdqSort</a></li>
--   <li><a>gdqDimensions</a></li>
--   <li><a>gdqStartIndex</a></li>
--   <li><a>gdqMaxResults</a></li>
--   <li><a>gdqSegment</a></li>
--   <li><a>gdqStartDate</a></li>
--   </ul>
gaDataQuery :: GaDataQuery

-- | List of analytics metrics.
gdqMetrics :: Lens' GaDataQuery [Text]

-- | Desired sampling level
gdqSamplingLevel :: Lens' GaDataQuery (Maybe Text)

-- | Comma-separated list of dimension or metric filters.
gdqFilters :: Lens' GaDataQuery (Maybe Text)

-- | Unique table ID.
gdqIds :: Lens' GaDataQuery (Maybe Text)

-- | End date.
gdqEndDate :: Lens' GaDataQuery (Maybe Text)

-- | List of dimensions or metrics based on which Analytics data is sorted.
gdqSort :: Lens' GaDataQuery [Text]

-- | List of analytics dimensions.
gdqDimensions :: Lens' GaDataQuery (Maybe Text)

-- | Start index.
gdqStartIndex :: Lens' GaDataQuery (Maybe Int32)

-- | Maximum results per page.
gdqMaxResults :: Lens' GaDataQuery (Maybe Int32)

-- | Analytics advanced segment.
gdqSegment :: Lens' GaDataQuery (Maybe Text)

-- | Start date.
gdqStartDate :: Lens' GaDataQuery (Maybe Text)

-- | A remarketing audience collection lists Analytics remarketing
--   audiences to which the user has access. Each resource in the
--   collection corresponds to a single Analytics remarketing audience.
--   
--   <i>See:</i> <a>remarketingAudiences</a> smart constructor.
data RemarketingAudiences

-- | Creates a value of <a>RemarketingAudiences</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>raNextLink</a></li>
--   <li><a>raItemsPerPage</a></li>
--   <li><a>raKind</a></li>
--   <li><a>raUsername</a></li>
--   <li><a>raItems</a></li>
--   <li><a>raTotalResults</a></li>
--   <li><a>raStartIndex</a></li>
--   <li><a>raPreviousLink</a></li>
--   </ul>
remarketingAudiences :: RemarketingAudiences

-- | Link to next page for this remarketing audience collection.
raNextLink :: Lens' RemarketingAudiences (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
raItemsPerPage :: Lens' RemarketingAudiences (Maybe Int32)

-- | Collection type.
raKind :: Lens' RemarketingAudiences Text

-- | Email ID of the authenticated user
raUsername :: Lens' RemarketingAudiences (Maybe Text)

-- | A list of remarketing audiences.
raItems :: Lens' RemarketingAudiences [RemarketingAudience]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
raTotalResults :: Lens' RemarketingAudiences (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
raStartIndex :: Lens' RemarketingAudiences (Maybe Int32)

-- | Link to previous page for this view (profile) collection.
raPreviousLink :: Lens' RemarketingAudiences (Maybe Text)
data GaDataDataTableRowsItem

-- | Creates a value of <a>GaDataDataTableRowsItem</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>gddtriC</a></li>
--   </ul>
gaDataDataTableRowsItem :: GaDataDataTableRowsItem
gddtriC :: Lens' GaDataDataTableRowsItem [GaDataDataTableRowsItemCItem]

-- | JSON template for Analytics unsampled report resource.
--   
--   <i>See:</i> <a>unSampledReport</a> smart constructor.
data UnSampledReport

-- | Creates a value of <a>UnSampledReport</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>uDownloadType</a></li>
--   <li><a>uStatus</a></li>
--   <li><a>uMetrics</a></li>
--   <li><a>uDriveDownloadDetails</a></li>
--   <li><a>uWebPropertyId</a></li>
--   <li><a>uKind</a></li>
--   <li><a>uCreated</a></li>
--   <li><a>uFilters</a></li>
--   <li><a>uProFileId</a></li>
--   <li><a>uEndDate</a></li>
--   <li><a>uSelfLink</a></li>
--   <li><a>uAccountId</a></li>
--   <li><a>uId</a></li>
--   <li><a>uUpdated</a></li>
--   <li><a>uTitle</a></li>
--   <li><a>uDimensions</a></li>
--   <li><a>uSegment</a></li>
--   <li><a>uCloudStorageDownloadDetails</a></li>
--   <li><a>uStartDate</a></li>
--   </ul>
unSampledReport :: UnSampledReport

-- | The type of download you need to use for the report data file.
--   Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If
--   the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If
--   the value is `GOOGLE_CLOUD_STORAGE`, see the
--   `cloudStorageDownloadDetails` field.
uDownloadType :: Lens' UnSampledReport (Maybe Text)

-- | Status of this unsampled report. Possible values are PENDING,
--   COMPLETED, or FAILED.
uStatus :: Lens' UnSampledReport (Maybe Text)

-- | The metrics for the unsampled report.
uMetrics :: Lens' UnSampledReport (Maybe Text)

-- | Download details for a file stored in Google Drive.
uDriveDownloadDetails :: Lens' UnSampledReport (Maybe UnSampledReportDriveDownloadDetails)

-- | Web property ID to which this unsampled report belongs. The web
--   property ID is of the form UA-XXXXX-YY.
uWebPropertyId :: Lens' UnSampledReport (Maybe Text)

-- | Resource type for an Analytics unsampled report.
uKind :: Lens' UnSampledReport Text

-- | Time this unsampled report was created.
uCreated :: Lens' UnSampledReport (Maybe UTCTime)

-- | The filters for the unsampled report.
uFilters :: Lens' UnSampledReport (Maybe Text)

-- | View (Profile) ID to which this unsampled report belongs.
uProFileId :: Lens' UnSampledReport (Maybe Text)

-- | The end date for the unsampled report.
uEndDate :: Lens' UnSampledReport (Maybe Text)

-- | Link for this unsampled report.
uSelfLink :: Lens' UnSampledReport (Maybe Text)

-- | Account ID to which this unsampled report belongs.
uAccountId :: Lens' UnSampledReport (Maybe Text)

-- | Unsampled report ID.
uId :: Lens' UnSampledReport (Maybe Text)

-- | Time this unsampled report was last modified.
uUpdated :: Lens' UnSampledReport (Maybe UTCTime)

-- | Title of the unsampled report.
uTitle :: Lens' UnSampledReport (Maybe Text)

-- | The dimensions for the unsampled report.
uDimensions :: Lens' UnSampledReport (Maybe Text)

-- | The segment for the unsampled report.
uSegment :: Lens' UnSampledReport (Maybe Text)

-- | Download details for a file stored in Google Cloud Storage.
uCloudStorageDownloadDetails :: Lens' UnSampledReport (Maybe UnSampledReportCloudStorageDownloadDetails)

-- | The start date for the unsampled report.
uStartDate :: Lens' UnSampledReport (Maybe Text)
data McfDataColumnHeadersItem

-- | Creates a value of <a>McfDataColumnHeadersItem</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>mdchiColumnType</a></li>
--   <li><a>mdchiName</a></li>
--   <li><a>mdchiDataType</a></li>
--   </ul>
mcfDataColumnHeadersItem :: McfDataColumnHeadersItem

-- | Column Type. Either DIMENSION or METRIC.
mdchiColumnType :: Lens' McfDataColumnHeadersItem (Maybe Text)

-- | Column name.
mdchiName :: Lens' McfDataColumnHeadersItem (Maybe Text)

-- | Data type. Dimension and metric values data types such as INTEGER,
--   DOUBLE, CURRENCY, MCF_SEQUENCE etc.
mdchiDataType :: Lens' McfDataColumnHeadersItem (Maybe Text)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
--   
--   <i>See:</i> <a>gaDataTotalsForAllResults</a> smart constructor.
data GaDataTotalsForAllResults

-- | Creates a value of <a>GaDataTotalsForAllResults</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>gdtfarAddtional</a></li>
--   </ul>
gaDataTotalsForAllResults :: HashMap Text Text -> GaDataTotalsForAllResults

-- | Key-value pair for the total value of a metric. Key is the metric name
--   and the value is the total value for that metric.
gdtfarAddtional :: Lens' GaDataTotalsForAllResults (HashMap Text Text)

-- | Parent link for this view (profile). Points to the web property to
--   which this view (profile) belongs.
--   
--   <i>See:</i> <a>proFileParentLink</a> smart constructor.
data ProFileParentLink

-- | Creates a value of <a>ProFileParentLink</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>pfplHref</a></li>
--   <li><a>pfplType</a></li>
--   </ul>
proFileParentLink :: ProFileParentLink

-- | Link to the web property to which this view (profile) belongs.
pfplHref :: Lens' ProFileParentLink (Maybe Text)

-- | Value is "analytics#webproperty".
pfplType :: Lens' ProFileParentLink Text

-- | JSON template for an Analytics remarketing audience.
--   
--   <i>See:</i> <a>remarketingAudience</a> smart constructor.
data RemarketingAudience

-- | Creates a value of <a>RemarketingAudience</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>rWebPropertyId</a></li>
--   <li><a>rKind</a></li>
--   <li><a>rCreated</a></li>
--   <li><a>rLinkedAdAccounts</a></li>
--   <li><a>rAudienceDefinition</a></li>
--   <li><a>rAudienceType</a></li>
--   <li><a>rAccountId</a></li>
--   <li><a>rName</a></li>
--   <li><a>rStateBasedAudienceDefinition</a></li>
--   <li><a>rLinkedViews</a></li>
--   <li><a>rInternalWebPropertyId</a></li>
--   <li><a>rId</a></li>
--   <li><a>rUpdated</a></li>
--   <li><a>rDescription</a></li>
--   </ul>
remarketingAudience :: RemarketingAudience

-- | Web property ID of the form UA-XXXXX-YY to which this remarketing
--   audience belongs.
rWebPropertyId :: Lens' RemarketingAudience (Maybe Text)

-- | Collection type.
rKind :: Lens' RemarketingAudience Text

-- | Time this remarketing audience was created.
rCreated :: Lens' RemarketingAudience (Maybe UTCTime)

-- | The linked ad accounts associated with this remarketing audience. A
--   remarketing audience can have only one linkedAdAccount currently.
rLinkedAdAccounts :: Lens' RemarketingAudience [LinkedForeignAccount]

-- | The simple audience definition that will cause a user to be added to
--   an audience.
rAudienceDefinition :: Lens' RemarketingAudience (Maybe RemarketingAudienceAudienceDefinition)

-- | The type of audience, either SIMPLE or STATE_BASED.
rAudienceType :: Lens' RemarketingAudience (Maybe Text)

-- | Account ID to which this remarketing audience belongs.
rAccountId :: Lens' RemarketingAudience (Maybe Text)

-- | The name of this remarketing audience.
rName :: Lens' RemarketingAudience (Maybe Text)

-- | A state based audience definition that will cause a user to be added
--   or removed from an audience.
rStateBasedAudienceDefinition :: Lens' RemarketingAudience (Maybe RemarketingAudienceStateBasedAudienceDefinition)

-- | The views (profiles) that this remarketing audience is linked to.
rLinkedViews :: Lens' RemarketingAudience [Text]

-- | Internal ID for the web property to which this remarketing audience
--   belongs.
rInternalWebPropertyId :: Lens' RemarketingAudience (Maybe Text)

-- | Remarketing Audience ID.
rId :: Lens' RemarketingAudience (Maybe Text)

-- | Time this remarketing audience was last modified.
rUpdated :: Lens' RemarketingAudience (Maybe UTCTime)

-- | The description of this remarketing audience.
rDescription :: Lens' RemarketingAudience (Maybe Text)
data GaDataDataTableRowsItemCItem

-- | Creates a value of <a>GaDataDataTableRowsItemCItem</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>gddtriciV</a></li>
--   </ul>
gaDataDataTableRowsItemCItem :: GaDataDataTableRowsItemCItem
gddtriciV :: Lens' GaDataDataTableRowsItemCItem (Maybe Text)

-- | Permissions the user has for this entity.
--   
--   <i>See:</i> <a>entityUserLinkPermissions</a> smart constructor.
data EntityUserLinkPermissions

-- | Creates a value of <a>EntityUserLinkPermissions</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>eulpLocal</a></li>
--   <li><a>eulpEffective</a></li>
--   </ul>
entityUserLinkPermissions :: EntityUserLinkPermissions

-- | Permissions that a user has been assigned at this very level. Does not
--   include any implied or inherited permissions. Local permissions are
--   modifiable.
eulpLocal :: Lens' EntityUserLinkPermissions [Text]

-- | Effective permissions represent all the permissions that a user has
--   for this entity. These include any implied permissions (e.g., EDIT
--   implies VIEW) or inherited permissions from the parent entity.
--   Effective permissions are read-only.
eulpEffective :: Lens' EntityUserLinkPermissions [Text]

-- | Information for the view (profile), for which the real time data was
--   requested.
--   
--   <i>See:</i> <a>realtimeDataProFileInfo</a> smart constructor.
data RealtimeDataProFileInfo

-- | Creates a value of <a>RealtimeDataProFileInfo</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>rdpfiWebPropertyId</a></li>
--   <li><a>rdpfiProFileId</a></li>
--   <li><a>rdpfiProFileName</a></li>
--   <li><a>rdpfiAccountId</a></li>
--   <li><a>rdpfiInternalWebPropertyId</a></li>
--   <li><a>rdpfiTableId</a></li>
--   </ul>
realtimeDataProFileInfo :: RealtimeDataProFileInfo

-- | Web Property ID to which this view (profile) belongs.
rdpfiWebPropertyId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | View (Profile) ID.
rdpfiProFileId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | View (Profile) name.
rdpfiProFileName :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | Account ID to which this view (profile) belongs.
rdpfiAccountId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
rdpfiInternalWebPropertyId :: Lens' RealtimeDataProFileInfo (Maybe Text)

-- | Table ID for view (profile).
rdpfiTableId :: Lens' RealtimeDataProFileInfo (Maybe Text)
data McfDataRowsItemItemConversionPathValueItem

-- | Creates a value of <a>McfDataRowsItemItemConversionPathValueItem</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>mdriicpviInteractionType</a></li>
--   <li><a>mdriicpviNodeValue</a></li>
--   </ul>
mcfDataRowsItemItemConversionPathValueItem :: McfDataRowsItemItemConversionPathValueItem

-- | Type of an interaction on conversion path. Such as CLICK, IMPRESSION
--   etc.
mdriicpviInteractionType :: Lens' McfDataRowsItemItemConversionPathValueItem (Maybe Text)

-- | Node value of an interaction on conversion path. Such as source,
--   medium etc.
mdriicpviNodeValue :: Lens' McfDataRowsItemItemConversionPathValueItem (Maybe Text)

-- | JSON template for an Analytics filter expression.
--   
--   <i>See:</i> <a>filterExpression</a> smart constructor.
data FilterExpression

-- | Creates a value of <a>FilterExpression</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>feFieldIndex</a></li>
--   <li><a>feField</a></li>
--   <li><a>feKind</a></li>
--   <li><a>feMatchType</a></li>
--   <li><a>feCaseSensitive</a></li>
--   <li><a>feExpressionValue</a></li>
--   </ul>
filterExpression :: FilterExpression

-- | The Index of the custom dimension. Set only if the field is a is
--   CUSTOM_DIMENSION.
feFieldIndex :: Lens' FilterExpression (Maybe Int32)

-- | Field to filter. Possible values: - Content and Traffic -
--   PAGE_REQUEST_URI, - PAGE_HOSTNAME, - PAGE_TITLE, - REFERRAL, -
--   COST_DATA_URI (Campaign target URL), - HIT_TYPE, -
--   INTERNAL_SEARCH_TERM, - INTERNAL_SEARCH_TYPE, -
--   SOURCE_PROPERTY_TRACKING_ID, - Campaign or AdGroup - CAMPAIGN_SOURCE,
--   - CAMPAIGN_MEDIUM, - CAMPAIGN_NAME, - CAMPAIGN_AD_GROUP, -
--   CAMPAIGN_TERM, - CAMPAIGN_CONTENT, - CAMPAIGN_CODE, -
--   CAMPAIGN_REFERRAL_PATH, - E-Commerce - TRANSACTION_COUNTRY, -
--   TRANSACTION_REGION, - TRANSACTION_CITY, - TRANSACTION_AFFILIATION
--   (Store or order location), - ITEM_NAME, - ITEM_CODE, - ITEM_VARIATION,
--   - TRANSACTION_ID, - TRANSACTION_CURRENCY_CODE, - PRODUCT_ACTION_TYPE,
--   - Audience/Users - BROWSER, - BROWSER_VERSION, - BROWSER_SIZE, -
--   PLATFORM, - PLATFORM_VERSION, - LANGUAGE, - SCREEN_RESOLUTION, -
--   SCREEN_COLORS, - JAVA_ENABLED (Boolean Field), - FLASH_VERSION, -
--   GEO_SPEED (Connection speed), - VISITOR_TYPE, - GEO_ORGANIZATION (ISP
--   organization), - GEO_DOMAIN, - GEO_IP_ADDRESS, - GEO_IP_VERSION, -
--   Location - GEO_COUNTRY, - GEO_REGION, - GEO_CITY, - Event -
--   EVENT_CATEGORY, - EVENT_ACTION, - EVENT_LABEL, - Other -
--   CUSTOM_FIELD_1, - CUSTOM_FIELD_2, - USER_DEFINED_VALUE, - Application
--   - APP_ID, - APP_INSTALLER_ID, - APP_NAME, - APP_VERSION, - SCREEN, -
--   IS_APP (Boolean Field), - IS_FATAL_EXCEPTION (Boolean Field), -
--   EXCEPTION_DESCRIPTION, - Mobile device - IS_MOBILE (Boolean Field,
--   Deprecated. Use DEVICE_CATEGORY=mobile), - IS_TABLET (Boolean Field,
--   Deprecated. Use DEVICE_CATEGORY=tablet), - DEVICE_CATEGORY, -
--   MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), - MOBILE_HAS_NFC_SUPPORT
--   (Boolean Field), - MOBILE_HAS_CELLULAR_RADIO (Boolean Field), -
--   MOBILE_HAS_WIFI_SUPPORT (Boolean Field), - MOBILE_BRAND_NAME, -
--   MOBILE_MODEL_NAME, - MOBILE_MARKETING_NAME, - MOBILE_POINTING_METHOD,
--   - Social - SOCIAL_NETWORK, - SOCIAL_ACTION, - SOCIAL_ACTION_TARGET, -
--   Custom dimension - CUSTOM_DIMENSION (See accompanying field index),
feField :: Lens' FilterExpression (Maybe Text)

-- | Kind value for filter expression
feKind :: Lens' FilterExpression Text

-- | Match type for this filter. Possible values are BEGINS_WITH, EQUAL,
--   ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS,
--   PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all
--   other filters must use MATCHES.
feMatchType :: Lens' FilterExpression (Maybe Text)

-- | Determines if the filter is case sensitive.
feCaseSensitive :: Lens' FilterExpression (Maybe Bool)

-- | Filter expression value
feExpressionValue :: Lens' FilterExpression (Maybe Text)

-- | JSON template for a linked view (profile).
--   
--   <i>See:</i> <a>proFileRef</a> smart constructor.
data ProFileRef

-- | Creates a value of <a>ProFileRef</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>pfrWebPropertyId</a></li>
--   <li><a>pfrKind</a></li>
--   <li><a>pfrHref</a></li>
--   <li><a>pfrAccountId</a></li>
--   <li><a>pfrName</a></li>
--   <li><a>pfrInternalWebPropertyId</a></li>
--   <li><a>pfrId</a></li>
--   </ul>
proFileRef :: ProFileRef

-- | Web property ID of the form UA-XXXXX-YY to which this view (profile)
--   belongs.
pfrWebPropertyId :: Lens' ProFileRef (Maybe Text)

-- | Analytics view (profile) reference.
pfrKind :: Lens' ProFileRef Text

-- | Link for this view (profile).
pfrHref :: Lens' ProFileRef (Maybe Text)

-- | Account ID to which this view (profile) belongs.
pfrAccountId :: Lens' ProFileRef (Maybe Text)

-- | Name of this view (profile).
pfrName :: Lens' ProFileRef (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
pfrInternalWebPropertyId :: Lens' ProFileRef (Maybe Text)

-- | View (Profile) ID.
pfrId :: Lens' ProFileRef (Maybe Text)

-- | An account collection provides a list of Analytics accounts to which a
--   user has access. The account collection is the entry point to all
--   management information. Each resource in the collection corresponds to
--   a single Analytics account.
--   
--   <i>See:</i> <a>accounts</a> smart constructor.
data Accounts

-- | Creates a value of <a>Accounts</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>aNextLink</a></li>
--   <li><a>aItemsPerPage</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aUsername</a></li>
--   <li><a>aItems</a></li>
--   <li><a>aTotalResults</a></li>
--   <li><a>aStartIndex</a></li>
--   <li><a>aPreviousLink</a></li>
--   </ul>
accounts :: Accounts

-- | Next link for this account collection.
aNextLink :: Lens' Accounts (Maybe Text)

-- | The maximum number of entries the response can contain, regardless of
--   the actual number of entries returned. Its value ranges from 1 to 1000
--   with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
aItemsPerPage :: Lens' Accounts (Maybe Int32)

-- | Collection type.
aKind :: Lens' Accounts Text

-- | Email ID of the authenticated user
aUsername :: Lens' Accounts (Maybe Text)

-- | A list of accounts.
aItems :: Lens' Accounts [Account]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
aTotalResults :: Lens' Accounts (Maybe Int32)

-- | The starting index of the entries, which is 1 by default or otherwise
--   specified by the start-index query parameter.
aStartIndex :: Lens' Accounts (Maybe Int32)

-- | Previous link for this account collection.
aPreviousLink :: Lens' Accounts (Maybe Text)

-- | An experiment collection lists Analytics experiments to which the user
--   has access. Each view (profile) can have a set of experiments. Each
--   resource in the Experiment collection corresponds to a single
--   Analytics experiment.
--   
--   <i>See:</i> <a>experiments</a> smart constructor.
data Experiments

-- | Creates a value of <a>Experiments</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>eNextLink</a></li>
--   <li><a>eItemsPerPage</a></li>
--   <li><a>eKind</a></li>
--   <li><a>eUsername</a></li>
--   <li><a>eItems</a></li>
--   <li><a>eTotalResults</a></li>
--   <li><a>eStartIndex</a></li>
--   <li><a>ePreviousLink</a></li>
--   </ul>
experiments :: Experiments

-- | Link to next page for this experiment collection.
eNextLink :: Lens' Experiments (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
eItemsPerPage :: Lens' Experiments (Maybe Int32)

-- | Collection type.
eKind :: Lens' Experiments Text

-- | Email ID of the authenticated user
eUsername :: Lens' Experiments (Maybe Text)

-- | A list of experiments.
eItems :: Lens' Experiments [Experiment]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
eTotalResults :: Lens' Experiments (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
eStartIndex :: Lens' Experiments (Maybe Int32)

-- | Link to previous page for this experiment collection.
ePreviousLink :: Lens' Experiments (Maybe Text)

-- | Parent link for an experiment. Points to the view (profile) to which
--   this experiment belongs.
--   
--   <i>See:</i> <a>experimentParentLink</a> smart constructor.
data ExperimentParentLink

-- | Creates a value of <a>ExperimentParentLink</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>eplHref</a></li>
--   <li><a>eplType</a></li>
--   </ul>
experimentParentLink :: ExperimentParentLink

-- | Link to the view (profile) to which this experiment belongs. This
--   field is read-only.
eplHref :: Lens' ExperimentParentLink (Maybe Text)

-- | Value is "analytics#profile". This field is read-only.
eplType :: Lens' ExperimentParentLink Text

-- | Download details for a file stored in Google Drive.
--   
--   <i>See:</i> <a>unSampledReportDriveDownloadDetails</a> smart
--   constructor.
data UnSampledReportDriveDownloadDetails

-- | Creates a value of <a>UnSampledReportDriveDownloadDetails</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>usrdddDocumentId</a></li>
--   </ul>
unSampledReportDriveDownloadDetails :: UnSampledReportDriveDownloadDetails

-- | Id of the document/file containing the report data.
usrdddDocumentId :: Lens' UnSampledReportDriveDownloadDetails (Maybe Text)

-- | Information for the view (profile), for which the Analytics data was
--   requested.
--   
--   <i>See:</i> <a>mcfDataProFileInfo</a> smart constructor.
data McfDataProFileInfo

-- | Creates a value of <a>McfDataProFileInfo</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>mdpfiWebPropertyId</a></li>
--   <li><a>mdpfiProFileId</a></li>
--   <li><a>mdpfiProFileName</a></li>
--   <li><a>mdpfiAccountId</a></li>
--   <li><a>mdpfiInternalWebPropertyId</a></li>
--   <li><a>mdpfiTableId</a></li>
--   </ul>
mcfDataProFileInfo :: McfDataProFileInfo

-- | Web Property ID to which this view (profile) belongs.
mdpfiWebPropertyId :: Lens' McfDataProFileInfo (Maybe Text)

-- | View (Profile) ID.
mdpfiProFileId :: Lens' McfDataProFileInfo (Maybe Text)

-- | View (Profile) name.
mdpfiProFileName :: Lens' McfDataProFileInfo (Maybe Text)

-- | Account ID to which this view (profile) belongs.
mdpfiAccountId :: Lens' McfDataProFileInfo (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
mdpfiInternalWebPropertyId :: Lens' McfDataProFileInfo (Maybe Text)

-- | Table ID for view (profile).
mdpfiTableId :: Lens' McfDataProFileInfo (Maybe Text)

-- | Lists Analytics custom data sources to which the user has access. Each
--   resource in the collection corresponds to a single Analytics custom
--   data source.
--   
--   <i>See:</i> <a>customDataSources</a> smart constructor.
data CustomDataSources

-- | Creates a value of <a>CustomDataSources</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>cdsNextLink</a></li>
--   <li><a>cdsItemsPerPage</a></li>
--   <li><a>cdsKind</a></li>
--   <li><a>cdsUsername</a></li>
--   <li><a>cdsItems</a></li>
--   <li><a>cdsTotalResults</a></li>
--   <li><a>cdsStartIndex</a></li>
--   <li><a>cdsPreviousLink</a></li>
--   </ul>
customDataSources :: CustomDataSources

-- | Link to next page for this custom data source collection.
cdsNextLink :: Lens' CustomDataSources (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
cdsItemsPerPage :: Lens' CustomDataSources (Maybe Int32)

-- | Collection type.
cdsKind :: Lens' CustomDataSources Text

-- | Email ID of the authenticated user
cdsUsername :: Lens' CustomDataSources (Maybe Text)

-- | Collection of custom data sources.
cdsItems :: Lens' CustomDataSources [CustomDataSource]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
cdsTotalResults :: Lens' CustomDataSources (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
cdsStartIndex :: Lens' CustomDataSources (Maybe Int32)

-- | Link to previous page for this custom data source collection.
cdsPreviousLink :: Lens' CustomDataSources (Maybe Text)

-- | Child link for this web property. Points to the list of views
--   (profiles) for this web property.
--   
--   <i>See:</i> <a>webPropertyChildLink</a> smart constructor.
data WebPropertyChildLink

-- | Creates a value of <a>WebPropertyChildLink</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>wpclHref</a></li>
--   <li><a>wpclType</a></li>
--   </ul>
webPropertyChildLink :: WebPropertyChildLink

-- | Link to the list of views (profiles) for this web property.
wpclHref :: Lens' WebPropertyChildLink (Maybe Text)

-- | Type of the parent link. Its value is "analytics#profiles".
wpclType :: Lens' WebPropertyChildLink Text

-- | The desired sampling level.
data DataGaGetSamplingLevel

-- | <tt>DEFAULT</tt> Returns response with a sample size that balances
--   speed and accuracy.
Default :: DataGaGetSamplingLevel

-- | <tt>FASTER</tt> Returns a fast response with a smaller sample size.
Faster :: DataGaGetSamplingLevel

-- | <tt>HIGHER_PRECISION</tt> Returns a more accurate response using a
--   large sample size, but this may result in the response being slower.
HigherPrecision :: DataGaGetSamplingLevel

-- | Multi-Channel Funnels data for a given view (profile).
--   
--   <i>See:</i> <a>mcfData</a> smart constructor.
data McfData

-- | Creates a value of <a>McfData</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>mdNextLink</a></li>
--   <li><a>mdSampleSpace</a></li>
--   <li><a>mdItemsPerPage</a></li>
--   <li><a>mdProFileInfo</a></li>
--   <li><a>mdKind</a></li>
--   <li><a>mdSampleSize</a></li>
--   <li><a>mdRows</a></li>
--   <li><a>mdSelfLink</a></li>
--   <li><a>mdQuery</a></li>
--   <li><a>mdColumnHeaders</a></li>
--   <li><a>mdId</a></li>
--   <li><a>mdTotalResults</a></li>
--   <li><a>mdContainsSampledData</a></li>
--   <li><a>mdTotalsForAllResults</a></li>
--   <li><a>mdPreviousLink</a></li>
--   </ul>
mcfData :: McfData

-- | Link to next page for this Analytics data query.
mdNextLink :: Lens' McfData (Maybe Text)

-- | Total size of the sample space from which the samples were selected.
mdSampleSpace :: Lens' McfData (Maybe Int64)

-- | The maximum number of rows the response can contain, regardless of the
--   actual number of rows returned. Its value ranges from 1 to 10,000 with
--   a value of 1000 by default, or otherwise specified by the max-results
--   query parameter.
mdItemsPerPage :: Lens' McfData (Maybe Int32)

-- | Information for the view (profile), for which the Analytics data was
--   requested.
mdProFileInfo :: Lens' McfData (Maybe McfDataProFileInfo)

-- | Resource type.
mdKind :: Lens' McfData Text

-- | The number of samples used to calculate the result.
mdSampleSize :: Lens' McfData (Maybe Int64)

-- | Analytics data rows, where each row contains a list of dimension
--   values followed by the metric values. The order of dimensions and
--   metrics is same as specified in the request.
mdRows :: Lens' McfData [[McfDataRowsItemItem]]

-- | Link to this page.
mdSelfLink :: Lens' McfData (Maybe Text)

-- | Analytics data request query parameters.
mdQuery :: Lens' McfData (Maybe McfDataQuery)

-- | Column headers that list dimension names followed by the metric names.
--   The order of dimensions and metrics is same as specified in the
--   request.
mdColumnHeaders :: Lens' McfData [McfDataColumnHeadersItem]

-- | Unique ID for this data response.
mdId :: Lens' McfData (Maybe Text)

-- | The total number of rows for the query, regardless of the number of
--   rows in the response.
mdTotalResults :: Lens' McfData (Maybe Int32)

-- | Determines if the Analytics data contains sampled data.
mdContainsSampledData :: Lens' McfData (Maybe Bool)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
mdTotalsForAllResults :: Lens' McfData (Maybe McfDataTotalsForAllResults)

-- | Link to previous page for this Analytics data query.
mdPreviousLink :: Lens' McfData (Maybe Text)

-- | JSON template for a user reference.
--   
--   <i>See:</i> <a>userRef</a> smart constructor.
data UserRef

-- | Creates a value of <a>UserRef</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>urEmail</a></li>
--   <li><a>urKind</a></li>
--   <li><a>urId</a></li>
--   </ul>
userRef :: UserRef

-- | Email ID of this user.
urEmail :: Lens' UserRef (Maybe Text)
urKind :: Lens' UserRef Text

-- | User ID.
urId :: Lens' UserRef (Maybe Text)

-- | Details for the goal of the type VISIT_NUM_PAGES.
--   
--   <i>See:</i> <a>goalVisitNumPagesDetails</a> smart constructor.
data GoalVisitNumPagesDetails

-- | Creates a value of <a>GoalVisitNumPagesDetails</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>gvnpdComparisonValue</a></li>
--   <li><a>gvnpdComparisonType</a></li>
--   </ul>
goalVisitNumPagesDetails :: GoalVisitNumPagesDetails

-- | Value used for this comparison.
gvnpdComparisonValue :: Lens' GoalVisitNumPagesDetails (Maybe Int64)

-- | Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or
--   EQUAL.
gvnpdComparisonType :: Lens' GoalVisitNumPagesDetails (Maybe Text)
data RealtimeDataColumnHeadersItem

-- | Creates a value of <a>RealtimeDataColumnHeadersItem</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>rdchiColumnType</a></li>
--   <li><a>rdchiName</a></li>
--   <li><a>rdchiDataType</a></li>
--   </ul>
realtimeDataColumnHeadersItem :: RealtimeDataColumnHeadersItem

-- | Column Type. Either DIMENSION or METRIC.
rdchiColumnType :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)

-- | Column name.
rdchiName :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)

-- | Data type. Dimension column headers have only STRING as the data type.
--   Metric column headers have data types for metric values such as
--   INTEGER, DOUBLE, CURRENCY etc.
rdchiDataType :: Lens' RealtimeDataColumnHeadersItem (Maybe Text)

-- | JSON template for a linked account.
--   
--   <i>See:</i> <a>accountRef</a> smart constructor.
data AccountRef

-- | Creates a value of <a>AccountRef</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>arKind</a></li>
--   <li><a>arHref</a></li>
--   <li><a>arName</a></li>
--   <li><a>arId</a></li>
--   </ul>
accountRef :: AccountRef

-- | Analytics account reference.
arKind :: Lens' AccountRef Text

-- | Link for this account.
arHref :: Lens' AccountRef (Maybe Text)

-- | Account name.
arName :: Lens' AccountRef (Maybe Text)

-- | Account ID.
arId :: Lens' AccountRef (Maybe Text)

-- | An entity AdWords link collection provides a list of GA-AdWords links
--   Each resource in this collection corresponds to a single link.
--   
--   <i>See:</i> <a>entityAdWordsLinks</a> smart constructor.
data EntityAdWordsLinks

-- | Creates a value of <a>EntityAdWordsLinks</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>eawlNextLink</a></li>
--   <li><a>eawlItemsPerPage</a></li>
--   <li><a>eawlKind</a></li>
--   <li><a>eawlItems</a></li>
--   <li><a>eawlTotalResults</a></li>
--   <li><a>eawlStartIndex</a></li>
--   <li><a>eawlPreviousLink</a></li>
--   </ul>
entityAdWordsLinks :: EntityAdWordsLinks

-- | Next link for this AdWords link collection.
eawlNextLink :: Lens' EntityAdWordsLinks (Maybe Text)

-- | The maximum number of entries the response can contain, regardless of
--   the actual number of entries returned. Its value ranges from 1 to 1000
--   with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
eawlItemsPerPage :: Lens' EntityAdWordsLinks (Maybe Int32)

-- | Collection type.
eawlKind :: Lens' EntityAdWordsLinks Text

-- | A list of entity AdWords links.
eawlItems :: Lens' EntityAdWordsLinks [EntityAdWordsLink]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
eawlTotalResults :: Lens' EntityAdWordsLinks (Maybe Int32)

-- | The starting index of the entries, which is 1 by default or otherwise
--   specified by the start-index query parameter.
eawlStartIndex :: Lens' EntityAdWordsLinks (Maybe Int32)

-- | Previous link for this AdWords link collection.
eawlPreviousLink :: Lens' EntityAdWordsLinks (Maybe Text)

-- | A view (profile) collection lists Analytics views (profiles) to which
--   the user has access. Each resource in the collection corresponds to a
--   single Analytics view (profile).
--   
--   <i>See:</i> <a>proFiles</a> smart constructor.
data ProFiles

-- | Creates a value of <a>ProFiles</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>pfNextLink</a></li>
--   <li><a>pfItemsPerPage</a></li>
--   <li><a>pfKind</a></li>
--   <li><a>pfUsername</a></li>
--   <li><a>pfItems</a></li>
--   <li><a>pfTotalResults</a></li>
--   <li><a>pfStartIndex</a></li>
--   <li><a>pfPreviousLink</a></li>
--   </ul>
proFiles :: ProFiles

-- | Link to next page for this view (profile) collection.
pfNextLink :: Lens' ProFiles (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
pfItemsPerPage :: Lens' ProFiles (Maybe Int32)

-- | Collection type.
pfKind :: Lens' ProFiles Text

-- | Email ID of the authenticated user
pfUsername :: Lens' ProFiles (Maybe Text)

-- | A list of views (profiles).
pfItems :: Lens' ProFiles [ProFile]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
pfTotalResults :: Lens' ProFiles (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
pfStartIndex :: Lens' ProFiles (Maybe Int32)

-- | Link to previous page for this view (profile) collection.
pfPreviousLink :: Lens' ProFiles (Maybe Text)

-- | Request template for the delete upload data request.
--   
--   <i>See:</i> <a>analyticsDataimportDeleteUploadDataRequest</a> smart
--   constructor.
data AnalyticsDataimportDeleteUploadDataRequest

-- | Creates a value of <a>AnalyticsDataimportDeleteUploadDataRequest</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>addudrCustomDataImportUids</a></li>
--   </ul>
analyticsDataimportDeleteUploadDataRequest :: AnalyticsDataimportDeleteUploadDataRequest

-- | A list of upload UIDs.
addudrCustomDataImportUids :: Lens' AnalyticsDataimportDeleteUploadDataRequest [Text]

-- | JSON template for Analytics Entity AdWords Link.
--   
--   <i>See:</i> <a>entityAdWordsLink</a> smart constructor.
data EntityAdWordsLink

-- | Creates a value of <a>EntityAdWordsLink</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>entAdWordsAccounts</a></li>
--   <li><a>entProFileIds</a></li>
--   <li><a>entKind</a></li>
--   <li><a>entSelfLink</a></li>
--   <li><a>entName</a></li>
--   <li><a>entId</a></li>
--   <li><a>entEntity</a></li>
--   </ul>
entityAdWordsLink :: EntityAdWordsLink

-- | A list of AdWords client accounts. These cannot be MCC accounts. This
--   field is required when creating an AdWords link. It cannot be empty.
entAdWordsAccounts :: Lens' EntityAdWordsLink [AdWordsAccount]

-- | IDs of linked Views (Profiles) represented as strings.
entProFileIds :: Lens' EntityAdWordsLink [Text]

-- | Resource type for entity AdWords link.
entKind :: Lens' EntityAdWordsLink Text

-- | URL link for this Google Analytics - Google AdWords link.
entSelfLink :: Lens' EntityAdWordsLink (Maybe Text)

-- | Name of the link. This field is required when creating an AdWords
--   link.
entName :: Lens' EntityAdWordsLink (Maybe Text)

-- | Entity AdWords link ID
entId :: Lens' EntityAdWordsLink (Maybe Text)

-- | Web property being linked.
entEntity :: Lens' EntityAdWordsLink (Maybe EntityAdWordsLinkEntity)

-- | Details for the filter of the type SEARCH_AND_REPLACE.
--   
--   <i>See:</i> <a>filterSearchAndReplaceDetails</a> smart constructor.
data FilterSearchAndReplaceDetails

-- | Creates a value of <a>FilterSearchAndReplaceDetails</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>fsardFieldIndex</a></li>
--   <li><a>fsardField</a></li>
--   <li><a>fsardSearchString</a></li>
--   <li><a>fsardReplaceString</a></li>
--   <li><a>fsardCaseSensitive</a></li>
--   </ul>
filterSearchAndReplaceDetails :: FilterSearchAndReplaceDetails

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fsardFieldIndex :: Lens' FilterSearchAndReplaceDetails (Maybe Int32)

-- | Field to use in the filter.
fsardField :: Lens' FilterSearchAndReplaceDetails (Maybe Text)

-- | Term to search.
fsardSearchString :: Lens' FilterSearchAndReplaceDetails (Maybe Text)

-- | Term to replace the search term with.
fsardReplaceString :: Lens' FilterSearchAndReplaceDetails (Maybe Text)

-- | Determines if the filter is case sensitive.
fsardCaseSensitive :: Lens' FilterSearchAndReplaceDetails (Maybe Bool)

-- | Permissions the user has for this view (profile).
--   
--   <i>See:</i> <a>proFilePermissions</a> smart constructor.
data ProFilePermissions

-- | Creates a value of <a>ProFilePermissions</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>pfpEffective</a></li>
--   </ul>
proFilePermissions :: ProFilePermissions

-- | All the permissions that the user has for this view (profile). These
--   include any implied permissions (e.g., EDIT implies VIEW) or inherited
--   permissions from the parent web property.
pfpEffective :: Lens' ProFilePermissions [Text]

-- | JSON template for an Analytics view (profile).
--   
--   <i>See:</i> <a>proFile</a> smart constructor.
data ProFile

-- | Creates a value of <a>ProFile</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>pParentLink</a></li>
--   <li><a>pECommerceTracking</a></li>
--   <li><a>pSiteSearchCategoryParameters</a></li>
--   <li><a>pWebPropertyId</a></li>
--   <li><a>pChildLink</a></li>
--   <li><a>pSiteSearchQueryParameters</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pDefaultPage</a></li>
--   <li><a>pCreated</a></li>
--   <li><a>pSelfLink</a></li>
--   <li><a>pAccountId</a></li>
--   <li><a>pBotFilteringEnabled</a></li>
--   <li><a>pName</a></li>
--   <li><a>pCurrency</a></li>
--   <li><a>pStarred</a></li>
--   <li><a>pInternalWebPropertyId</a></li>
--   <li><a>pId</a></li>
--   <li><a>pUpdated</a></li>
--   <li><a>pPermissions</a></li>
--   <li><a>pWebsiteURL</a></li>
--   <li><a>pType</a></li>
--   <li><a>pStripSiteSearchCategoryParameters</a></li>
--   <li><a>pTimezone</a></li>
--   <li><a>pExcludeQueryParameters</a></li>
--   <li><a>pEnhancedECommerceTracking</a></li>
--   <li><a>pStripSiteSearchQueryParameters</a></li>
--   </ul>
proFile :: ProFile

-- | Parent link for this view (profile). Points to the web property to
--   which this view (profile) belongs.
pParentLink :: Lens' ProFile (Maybe ProFileParentLink)

-- | Indicates whether ecommerce tracking is enabled for this view
--   (profile).
pECommerceTracking :: Lens' ProFile (Maybe Bool)

-- | Site search category parameters for this view (profile).
pSiteSearchCategoryParameters :: Lens' ProFile (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY to which this view (profile)
--   belongs.
pWebPropertyId :: Lens' ProFile (Maybe Text)

-- | Child link for this view (profile). Points to the list of goals for
--   this view (profile).
pChildLink :: Lens' ProFile (Maybe ProFileChildLink)

-- | The site search query parameters for this view (profile).
pSiteSearchQueryParameters :: Lens' ProFile (Maybe Text)

-- | Resource type for Analytics view (profile).
pKind :: Lens' ProFile Text

-- | Default page for this view (profile).
pDefaultPage :: Lens' ProFile (Maybe Text)

-- | Time this view (profile) was created.
pCreated :: Lens' ProFile (Maybe UTCTime)

-- | Link for this view (profile).
pSelfLink :: Lens' ProFile (Maybe Text)

-- | Account ID to which this view (profile) belongs.
pAccountId :: Lens' ProFile (Maybe Text)

-- | Indicates whether bot filtering is enabled for this view (profile).
pBotFilteringEnabled :: Lens' ProFile (Maybe Bool)

-- | Name of this view (profile).
pName :: Lens' ProFile (Maybe Text)

-- | The currency type associated with this view (profile), defaults to
--   USD. The supported values are: USD, JPY, EUR, GBP, AUD, KRW, BRL, CNY,
--   DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP,
--   INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP,
--   EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL
pCurrency :: Lens' ProFile (Maybe Text)

-- | Indicates whether this view (profile) is starred or not.
pStarred :: Lens' ProFile (Maybe Bool)

-- | Internal ID for the web property to which this view (profile) belongs.
pInternalWebPropertyId :: Lens' ProFile (Maybe Text)

-- | View (Profile) ID.
pId :: Lens' ProFile (Maybe Text)

-- | Time this view (profile) was last modified.
pUpdated :: Lens' ProFile (Maybe UTCTime)

-- | Permissions the user has for this view (profile).
pPermissions :: Lens' ProFile (Maybe ProFilePermissions)

-- | Website URL for this view (profile).
pWebsiteURL :: Lens' ProFile (Maybe Text)

-- | View (Profile) type. Supported types: WEB or APP.
pType :: Lens' ProFile (Maybe Text)

-- | Whether or not Analytics will strip search category parameters from
--   the URLs in your reports.
pStripSiteSearchCategoryParameters :: Lens' ProFile (Maybe Bool)

-- | Time zone for which this view (profile) has been configured. Time
--   zones are identified by strings from the TZ database.
pTimezone :: Lens' ProFile (Maybe Text)

-- | The query parameters that are excluded from this view (profile).
pExcludeQueryParameters :: Lens' ProFile (Maybe Text)

-- | Indicates whether enhanced ecommerce tracking is enabled for this view
--   (profile). This property can only be enabled if ecommerce tracking is
--   enabled.
pEnhancedECommerceTracking :: Lens' ProFile (Maybe Bool)

-- | Whether or not Analytics will strip search query parameters from the
--   URLs in your reports.
pStripSiteSearchQueryParameters :: Lens' ProFile (Maybe Bool)

-- | An AccountSummary collection lists a summary of accounts, properties
--   and views (profiles) to which the user has access. Each resource in
--   the collection corresponds to a single AccountSummary.
--   
--   <i>See:</i> <a>accountSummaries</a> smart constructor.
data AccountSummaries

-- | Creates a value of <a>AccountSummaries</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>asNextLink</a></li>
--   <li><a>asItemsPerPage</a></li>
--   <li><a>asKind</a></li>
--   <li><a>asUsername</a></li>
--   <li><a>asItems</a></li>
--   <li><a>asTotalResults</a></li>
--   <li><a>asStartIndex</a></li>
--   <li><a>asPreviousLink</a></li>
--   </ul>
accountSummaries :: AccountSummaries

-- | Link to next page for this AccountSummary collection.
asNextLink :: Lens' AccountSummaries (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
asItemsPerPage :: Lens' AccountSummaries (Maybe Int32)

-- | Collection type.
asKind :: Lens' AccountSummaries Text

-- | Email ID of the authenticated user
asUsername :: Lens' AccountSummaries (Maybe Text)

-- | A list of AccountSummaries.
asItems :: Lens' AccountSummaries [AccountSummary]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
asTotalResults :: Lens' AccountSummaries (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
asStartIndex :: Lens' AccountSummaries (Maybe Int32)

-- | Link to previous page for this AccountSummary collection.
asPreviousLink :: Lens' AccountSummaries (Maybe Text)

-- | Details for the goal of the type EVENT.
--   
--   <i>See:</i> <a>goalEventDetails</a> smart constructor.
data GoalEventDetails

-- | Creates a value of <a>GoalEventDetails</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>gedUseEventValue</a></li>
--   <li><a>gedEventConditions</a></li>
--   </ul>
goalEventDetails :: GoalEventDetails

-- | Determines if the event value should be used as the value for this
--   goal.
gedUseEventValue :: Lens' GoalEventDetails (Maybe Bool)

-- | List of event conditions.
gedEventConditions :: Lens' GoalEventDetails [GoalEventDetailsEventConditionsItem]

-- | JSON template for an Analytics WebPropertySummary. WebPropertySummary
--   returns basic information (i.e., summary) for a web property.
--   
--   <i>See:</i> <a>webPropertySummary</a> smart constructor.
data WebPropertySummary

-- | Creates a value of <a>WebPropertySummary</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>wpsKind</a></li>
--   <li><a>wpsProFiles</a></li>
--   <li><a>wpsName</a></li>
--   <li><a>wpsStarred</a></li>
--   <li><a>wpsInternalWebPropertyId</a></li>
--   <li><a>wpsId</a></li>
--   <li><a>wpsWebsiteURL</a></li>
--   <li><a>wpsLevel</a></li>
--   </ul>
webPropertySummary :: WebPropertySummary

-- | Resource type for Analytics WebPropertySummary.
wpsKind :: Lens' WebPropertySummary Text

-- | List of profiles under this web property.
wpsProFiles :: Lens' WebPropertySummary [ProFileSummary]

-- | Web property name.
wpsName :: Lens' WebPropertySummary (Maybe Text)

-- | Indicates whether this web property is starred or not.
wpsStarred :: Lens' WebPropertySummary (Maybe Bool)

-- | Internal ID for this web property.
wpsInternalWebPropertyId :: Lens' WebPropertySummary (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY.
wpsId :: Lens' WebPropertySummary (Maybe Text)

-- | Website url for this web property.
wpsWebsiteURL :: Lens' WebPropertySummary (Maybe Text)

-- | Level for this web property. Possible values are STANDARD or PREMIUM.
wpsLevel :: Lens' WebPropertySummary (Maybe Text)

-- | A filter collection lists filters created by users in an Analytics
--   account. Each resource in the collection corresponds to a filter.
--   
--   <i>See:</i> <a>filters</a> smart constructor.
data Filters

-- | Creates a value of <a>Filters</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>fNextLink</a></li>
--   <li><a>fItemsPerPage</a></li>
--   <li><a>fKind</a></li>
--   <li><a>fUsername</a></li>
--   <li><a>fItems</a></li>
--   <li><a>fTotalResults</a></li>
--   <li><a>fStartIndex</a></li>
--   <li><a>fPreviousLink</a></li>
--   </ul>
filters :: Filters

-- | Link to next page for this filter collection.
fNextLink :: Lens' Filters (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1,000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
fItemsPerPage :: Lens' Filters (Maybe Int32)

-- | Collection type.
fKind :: Lens' Filters Text

-- | Email ID of the authenticated user
fUsername :: Lens' Filters (Maybe Text)

-- | A list of filters.
fItems :: Lens' Filters [Filter]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
fTotalResults :: Lens' Filters (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
fStartIndex :: Lens' Filters (Maybe Int32)

-- | Link to previous page for this filter collection.
fPreviousLink :: Lens' Filters (Maybe Text)

-- | Analytics data for a given view (profile).
--   
--   <i>See:</i> <a>gaData</a> smart constructor.
data GaData

-- | Creates a value of <a>GaData</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>gdNextLink</a></li>
--   <li><a>gdSampleSpace</a></li>
--   <li><a>gdItemsPerPage</a></li>
--   <li><a>gdProFileInfo</a></li>
--   <li><a>gdKind</a></li>
--   <li><a>gdSampleSize</a></li>
--   <li><a>gdRows</a></li>
--   <li><a>gdSelfLink</a></li>
--   <li><a>gdQuery</a></li>
--   <li><a>gdColumnHeaders</a></li>
--   <li><a>gdId</a></li>
--   <li><a>gdTotalResults</a></li>
--   <li><a>gdDataLastRefreshed</a></li>
--   <li><a>gdDataTable</a></li>
--   <li><a>gdContainsSampledData</a></li>
--   <li><a>gdTotalsForAllResults</a></li>
--   <li><a>gdPreviousLink</a></li>
--   </ul>
gaData :: GaData

-- | Link to next page for this Analytics data query.
gdNextLink :: Lens' GaData (Maybe Text)

-- | Total size of the sample space from which the samples were selected.
gdSampleSpace :: Lens' GaData (Maybe Int64)

-- | The maximum number of rows the response can contain, regardless of the
--   actual number of rows returned. Its value ranges from 1 to 10,000 with
--   a value of 1000 by default, or otherwise specified by the max-results
--   query parameter.
gdItemsPerPage :: Lens' GaData (Maybe Int32)

-- | Information for the view (profile), for which the Analytics data was
--   requested.
gdProFileInfo :: Lens' GaData (Maybe GaDataProFileInfo)

-- | Resource type.
gdKind :: Lens' GaData Text

-- | The number of samples used to calculate the result.
gdSampleSize :: Lens' GaData (Maybe Int64)

-- | Analytics data rows, where each row contains a list of dimension
--   values followed by the metric values. The order of dimensions and
--   metrics is same as specified in the request.
gdRows :: Lens' GaData [[Text]]

-- | Link to this page.
gdSelfLink :: Lens' GaData (Maybe Text)

-- | Analytics data request query parameters.
gdQuery :: Lens' GaData (Maybe GaDataQuery)

-- | Column headers that list dimension names followed by the metric names.
--   The order of dimensions and metrics is same as specified in the
--   request.
gdColumnHeaders :: Lens' GaData [GaDataColumnHeadersItem]

-- | Unique ID for this data response.
gdId :: Lens' GaData (Maybe Text)

-- | The total number of rows for the query, regardless of the number of
--   rows in the response.
gdTotalResults :: Lens' GaData (Maybe Int32)

-- | The last refreshed time in seconds for Analytics data.
gdDataLastRefreshed :: Lens' GaData (Maybe Int64)
gdDataTable :: Lens' GaData (Maybe GaDataDataTable)

-- | Determines if Analytics data contains samples.
gdContainsSampledData :: Lens' GaData (Maybe Bool)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
gdTotalsForAllResults :: Lens' GaData (Maybe GaDataTotalsForAllResults)

-- | Link to previous page for this Analytics data query.
gdPreviousLink :: Lens' GaData (Maybe Text)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
--   
--   <i>See:</i> <a>realtimeDataTotalsForAllResults</a> smart constructor.
data RealtimeDataTotalsForAllResults

-- | Creates a value of <a>RealtimeDataTotalsForAllResults</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>rdtfarAddtional</a></li>
--   </ul>
realtimeDataTotalsForAllResults :: HashMap Text Text -> RealtimeDataTotalsForAllResults

-- | Key-value pair for the total value of a metric. Key is the metric name
--   and the value is the total value for that metric.
rdtfarAddtional :: Lens' RealtimeDataTotalsForAllResults (HashMap Text Text)

-- | JSON template for an Analytics custom data source.
--   
--   <i>See:</i> <a>customDataSource</a> smart constructor.
data CustomDataSource

-- | Creates a value of <a>CustomDataSource</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>cParentLink</a></li>
--   <li><a>cWebPropertyId</a></li>
--   <li><a>cChildLink</a></li>
--   <li><a>cKind</a></li>
--   <li><a>cCreated</a></li>
--   <li><a>cUploadType</a></li>
--   <li><a>cImportBehavior</a></li>
--   <li><a>cSelfLink</a></li>
--   <li><a>cAccountId</a></li>
--   <li><a>cName</a></li>
--   <li><a>cId</a></li>
--   <li><a>cUpdated</a></li>
--   <li><a>cType</a></li>
--   <li><a>cDescription</a></li>
--   <li><a>cProFilesLinked</a></li>
--   </ul>
customDataSource :: CustomDataSource

-- | Parent link for this custom data source. Points to the web property to
--   which this custom data source belongs.
cParentLink :: Lens' CustomDataSource (Maybe CustomDataSourceParentLink)

-- | Web property ID of the form UA-XXXXX-YY to which this custom data
--   source belongs.
cWebPropertyId :: Lens' CustomDataSource (Maybe Text)
cChildLink :: Lens' CustomDataSource (Maybe CustomDataSourceChildLink)

-- | Resource type for Analytics custom data source.
cKind :: Lens' CustomDataSource Text

-- | Time this custom data source was created.
cCreated :: Lens' CustomDataSource (Maybe UTCTime)
cUploadType :: Lens' CustomDataSource (Maybe Text)
cImportBehavior :: Lens' CustomDataSource (Maybe Text)

-- | Link for this Analytics custom data source.
cSelfLink :: Lens' CustomDataSource (Maybe Text)

-- | Account ID to which this custom data source belongs.
cAccountId :: Lens' CustomDataSource (Maybe Text)

-- | Name of this custom data source.
cName :: Lens' CustomDataSource (Maybe Text)

-- | Custom data source ID.
cId :: Lens' CustomDataSource (Maybe Text)

-- | Time this custom data source was last modified.
cUpdated :: Lens' CustomDataSource (Maybe UTCTime)

-- | Type of the custom data source.
cType :: Lens' CustomDataSource (Maybe Text)

-- | Description of custom data source.
cDescription :: Lens' CustomDataSource (Maybe Text)

-- | IDs of views (profiles) linked to the custom data source.
cProFilesLinked :: Lens' CustomDataSource [Text]

-- | JSON template for a web property reference.
--   
--   <i>See:</i> <a>webPropertyRef</a> smart constructor.
data WebPropertyRef

-- | Creates a value of <a>WebPropertyRef</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>wprKind</a></li>
--   <li><a>wprHref</a></li>
--   <li><a>wprAccountId</a></li>
--   <li><a>wprName</a></li>
--   <li><a>wprInternalWebPropertyId</a></li>
--   <li><a>wprId</a></li>
--   </ul>
webPropertyRef :: WebPropertyRef

-- | Analytics web property reference.
wprKind :: Lens' WebPropertyRef Text

-- | Link for this web property.
wprHref :: Lens' WebPropertyRef (Maybe Text)

-- | Account ID to which this web property belongs.
wprAccountId :: Lens' WebPropertyRef (Maybe Text)

-- | Name of this web property.
wprName :: Lens' WebPropertyRef (Maybe Text)

-- | Internal ID for this web property.
wprInternalWebPropertyId :: Lens' WebPropertyRef (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY.
wprId :: Lens' WebPropertyRef (Maybe Text)

-- | JSON template for an Analytics Remarketing Audience Foreign Link.
--   
--   <i>See:</i> <a>linkedForeignAccount</a> smart constructor.
data LinkedForeignAccount

-- | Creates a value of <a>LinkedForeignAccount</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>lfaStatus</a></li>
--   <li><a>lfaWebPropertyId</a></li>
--   <li><a>lfaKind</a></li>
--   <li><a>lfaEligibleForSearch</a></li>
--   <li><a>lfaAccountId</a></li>
--   <li><a>lfaRemarketingAudienceId</a></li>
--   <li><a>lfaLinkedAccountId</a></li>
--   <li><a>lfaInternalWebPropertyId</a></li>
--   <li><a>lfaId</a></li>
--   <li><a>lfaType</a></li>
--   </ul>
linkedForeignAccount :: LinkedForeignAccount

-- | The status of this foreign account link.
lfaStatus :: Lens' LinkedForeignAccount (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY to which this linked foreign
--   account belongs.
lfaWebPropertyId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Resource type for linked foreign account.
lfaKind :: Lens' LinkedForeignAccount Text

-- | Boolean indicating whether this is eligible for search.
lfaEligibleForSearch :: Lens' LinkedForeignAccount (Maybe Bool)

-- | Account ID to which this linked foreign account belongs.
lfaAccountId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Remarketing audience ID to which this linked foreign account belongs.
lfaRemarketingAudienceId :: Lens' LinkedForeignAccount (Maybe Text)

-- | The foreign account ID. For example the an AdWords `linkedAccountId`
--   has the following format XXX-XXX-XXXX.
lfaLinkedAccountId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Internal ID for the web property to which this linked foreign account
--   belongs.
lfaInternalWebPropertyId :: Lens' LinkedForeignAccount (Maybe Text)

-- | Entity ad account link ID.
lfaId :: Lens' LinkedForeignAccount (Maybe Text)

-- | The type of the foreign account. For example `ADWORDS_LINKS`.
lfaType :: Lens' LinkedForeignAccount (Maybe Text)

-- | A goal collection lists Analytics goals to which the user has access.
--   Each view (profile) can have a set of goals. Each resource in the Goal
--   collection corresponds to a single Analytics goal.
--   
--   <i>See:</i> <a>goals</a> smart constructor.
data Goals

-- | Creates a value of <a>Goals</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>gNextLink</a></li>
--   <li><a>gItemsPerPage</a></li>
--   <li><a>gKind</a></li>
--   <li><a>gUsername</a></li>
--   <li><a>gItems</a></li>
--   <li><a>gTotalResults</a></li>
--   <li><a>gStartIndex</a></li>
--   <li><a>gPreviousLink</a></li>
--   </ul>
goals :: Goals

-- | Link to next page for this goal collection.
gNextLink :: Lens' Goals (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
gItemsPerPage :: Lens' Goals (Maybe Int32)

-- | Collection type.
gKind :: Lens' Goals Text

-- | Email ID of the authenticated user
gUsername :: Lens' Goals (Maybe Text)

-- | A list of goals.
gItems :: Lens' Goals [Goal]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
gTotalResults :: Lens' Goals (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
gStartIndex :: Lens' Goals (Maybe Int32)

-- | Link to previous page for this goal collection.
gPreviousLink :: Lens' Goals (Maybe Text)

-- | A union object representing a dimension or metric value. Only one of
--   "primitiveValue" or "conversionPathValue" attribute will be populated.
--   
--   <i>See:</i> <a>mcfDataRowsItemItem</a> smart constructor.
data McfDataRowsItemItem

-- | Creates a value of <a>McfDataRowsItemItem</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>mdriiPrimitiveValue</a></li>
--   <li><a>mdriiConversionPathValue</a></li>
--   </ul>
mcfDataRowsItemItem :: McfDataRowsItemItem

-- | A primitive dimension value. A primitive metric value.
mdriiPrimitiveValue :: Lens' McfDataRowsItemItem (Maybe Text)

-- | A conversion path dimension value, containing a list of interactions
--   with their attributes.
mdriiConversionPathValue :: Lens' McfDataRowsItemItem [McfDataRowsItemItemConversionPathValueItem]

-- | Permissions the user has for this account.
--   
--   <i>See:</i> <a>accountPermissions</a> smart constructor.
data AccountPermissions

-- | Creates a value of <a>AccountPermissions</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>apEffective</a></li>
--   </ul>
accountPermissions :: AccountPermissions

-- | All the permissions that the user has for this account. These include
--   any implied permissions (e.g., EDIT implies VIEW).
apEffective :: Lens' AccountPermissions [Text]

-- | Entity for this link. It can be an account, a web property, or a view
--   (profile).
--   
--   <i>See:</i> <a>entityUserLinkEntity</a> smart constructor.
data EntityUserLinkEntity

-- | Creates a value of <a>EntityUserLinkEntity</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>euleProFileRef</a></li>
--   <li><a>euleAccountRef</a></li>
--   <li><a>euleWebPropertyRef</a></li>
--   </ul>
entityUserLinkEntity :: EntityUserLinkEntity

-- | View (Profile) for this link.
euleProFileRef :: Lens' EntityUserLinkEntity (Maybe ProFileRef)

-- | Account for this link.
euleAccountRef :: Lens' EntityUserLinkEntity (Maybe AccountRef)

-- | Web property for this link.
euleWebPropertyRef :: Lens' EntityUserLinkEntity (Maybe WebPropertyRef)

-- | JSON template for Analytics account entry.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</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>accChildLink</a></li>
--   <li><a>accKind</a></li>
--   <li><a>accCreated</a></li>
--   <li><a>accSelfLink</a></li>
--   <li><a>accName</a></li>
--   <li><a>accStarred</a></li>
--   <li><a>accId</a></li>
--   <li><a>accUpdated</a></li>
--   <li><a>accPermissions</a></li>
--   </ul>
account :: Account

-- | Child link for an account entry. Points to the list of web properties
--   for this account.
accChildLink :: Lens' Account (Maybe AccountChildLink)

-- | Resource type for Analytics account.
accKind :: Lens' Account Text

-- | Time the account was created.
accCreated :: Lens' Account (Maybe UTCTime)

-- | Link for this account.
accSelfLink :: Lens' Account (Maybe Text)

-- | Account name.
accName :: Lens' Account (Maybe Text)

-- | Indicates whether this account is starred or not.
accStarred :: Lens' Account (Maybe Bool)

-- | Account ID.
accId :: Lens' Account (Maybe Text)

-- | Time the account was last modified.
accUpdated :: Lens' Account (Maybe UTCTime)

-- | Permissions the user has for this account.
accPermissions :: Lens' Account (Maybe AccountPermissions)

-- | JSON template for Analytics experiment resource.
--   
--   <i>See:</i> <a>experiment</a> smart constructor.
data Experiment

-- | Creates a value of <a>Experiment</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>expParentLink</a></li>
--   <li><a>expEqualWeighting</a></li>
--   <li><a>expStatus</a></li>
--   <li><a>expWebPropertyId</a></li>
--   <li><a>expStartTime</a></li>
--   <li><a>expSnippet</a></li>
--   <li><a>expKind</a></li>
--   <li><a>expCreated</a></li>
--   <li><a>expReasonExperimentEnded</a></li>
--   <li><a>expTrafficCoverage</a></li>
--   <li><a>expEditableInGaUi</a></li>
--   <li><a>expMinimumExperimentLengthInDays</a></li>
--   <li><a>expProFileId</a></li>
--   <li><a>expOptimizationType</a></li>
--   <li><a>expSelfLink</a></li>
--   <li><a>expAccountId</a></li>
--   <li><a>expName</a></li>
--   <li><a>expWinnerFound</a></li>
--   <li><a>expEndTime</a></li>
--   <li><a>expVariations</a></li>
--   <li><a>expInternalWebPropertyId</a></li>
--   <li><a>expId</a></li>
--   <li><a>expUpdated</a></li>
--   <li><a>expRewriteVariationURLsAsOriginal</a></li>
--   <li><a>expObjectiveMetric</a></li>
--   <li><a>expWinnerConfidenceLevel</a></li>
--   <li><a>expServingFramework</a></li>
--   <li><a>expDescription</a></li>
--   </ul>
experiment :: Experiment

-- | Parent link for an experiment. Points to the view (profile) to which
--   this experiment belongs.
expParentLink :: Lens' Experiment (Maybe ExperimentParentLink)

-- | Boolean specifying whether to distribute traffic evenly across all
--   variations. If the value is False, content experiments follows the
--   default behavior of adjusting traffic dynamically based on variation
--   performance. Optional -- defaults to False. This field may not be
--   changed for an experiment whose status is ENDED.
expEqualWeighting :: Lens' Experiment (Maybe Bool)

-- | Experiment status. Possible values: "DRAFT", "READY_TO_RUN",
--   "RUNNING", "ENDED". Experiments can be created in the "DRAFT",
--   "READY_TO_RUN" or "RUNNING" state. This field is required when
--   creating an experiment.
expStatus :: Lens' Experiment (Maybe Text)

-- | Web property ID to which this experiment belongs. The web property ID
--   is of the form UA-XXXXX-YY. This field is read-only.
expWebPropertyId :: Lens' Experiment (Maybe Text)

-- | The starting time of the experiment (the time the status changed from
--   READY_TO_RUN to RUNNING). This field is present only if the experiment
--   has started. This field is read-only.
expStartTime :: Lens' Experiment (Maybe UTCTime)

-- | The snippet of code to include on the control page(s). This field is
--   read-only.
expSnippet :: Lens' Experiment (Maybe Text)

-- | Resource type for an Analytics experiment. This field is read-only.
expKind :: Lens' Experiment Text

-- | Time the experiment was created. This field is read-only.
expCreated :: Lens' Experiment (Maybe UTCTime)

-- | Why the experiment ended. Possible values: "STOPPED_BY_USER",
--   "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER",
--   "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the
--   experiment didn't expire but no winner was projected to be found. If
--   the experiment status is changed via the API to ENDED this field is
--   set to STOPPED_BY_USER. This field is read-only.
expReasonExperimentEnded :: Lens' Experiment (Maybe Text)

-- | A floating-point number in (0, 1]. Specifies the fraction of the
--   traffic that participates in the experiment. Can be changed for a
--   running experiment. This field may not be changed for an experiments
--   whose status is ENDED.
expTrafficCoverage :: Lens' Experiment (Maybe Double)

-- | If true, the end user will be able to edit the experiment via the
--   Google Analytics user interface.
expEditableInGaUi :: Lens' Experiment (Maybe Bool)

-- | An integer number in [3, 90]. Specifies the minimum length of the
--   experiment. Can be changed for a running experiment. This field may
--   not be changed for an experiments whose status is ENDED.
expMinimumExperimentLengthInDays :: Lens' Experiment (Maybe Int32)

-- | View (Profile) ID to which this experiment belongs. This field is
--   read-only.
expProFileId :: Lens' Experiment (Maybe Text)

-- | Whether the objectiveMetric should be minimized or maximized. Possible
--   values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot
--   be specified without objectiveMetric. Cannot be modified when status
--   is "RUNNING" or "ENDED".
expOptimizationType :: Lens' Experiment (Maybe Text)

-- | Link for this experiment. This field is read-only.
expSelfLink :: Lens' Experiment (Maybe Text)

-- | Account ID to which this experiment belongs. This field is read-only.
expAccountId :: Lens' Experiment (Maybe Text)

-- | Experiment name. This field may not be changed for an experiment whose
--   status is ENDED. This field is required when creating an experiment.
expName :: Lens' Experiment (Maybe Text)

-- | Boolean specifying whether a winner has been found for this
--   experiment. This field is read-only.
expWinnerFound :: Lens' Experiment (Maybe Bool)

-- | The ending time of the experiment (the time the status changed from
--   RUNNING to ENDED). This field is present only if the experiment has
--   ended. This field is read-only.
expEndTime :: Lens' Experiment (Maybe UTCTime)

-- | Array of variations. The first variation in the array is the original.
--   The number of variations may not change once an experiment is in the
--   RUNNING state. At least two variations are required before status can
--   be set to RUNNING.
expVariations :: Lens' Experiment [ExperimentVariationsItem]

-- | Internal ID for the web property to which this experiment belongs.
--   This field is read-only.
expInternalWebPropertyId :: Lens' Experiment (Maybe Text)

-- | Experiment ID. Required for patch and update. Disallowed for create.
expId :: Lens' Experiment (Maybe Text)

-- | Time the experiment was last modified. This field is read-only.
expUpdated :: Lens' Experiment (Maybe UTCTime)

-- | Boolean specifying whether variations URLS are rewritten to match
--   those of the original. This field may not be changed for an
--   experiments whose status is ENDED.
expRewriteVariationURLsAsOriginal :: Lens' Experiment (Maybe Bool)

-- | The metric that the experiment is optimizing. Valid values:
--   "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed",
--   "ga:adsenseRevenue", "ga:bounces", "ga:pageviews",
--   "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This
--   field is required if status is "RUNNING" and servingFramework is one
--   of "REDIRECT" or "API".
expObjectiveMetric :: Lens' Experiment (Maybe Text)

-- | A floating-point number in (0, 1). Specifies the necessary confidence
--   level to choose a winner. This field may not be changed for an
--   experiments whose status is ENDED.
expWinnerConfidenceLevel :: Lens' Experiment (Maybe Double)

-- | The framework used to serve the experiment variations and evaluate the
--   results. One of: - REDIRECT: Google Analytics redirects traffic to
--   different variation pages, reports the chosen variation and evaluates
--   the results. - API: Google Analytics chooses and reports the variation
--   to serve and evaluates the results; the caller is responsible for
--   serving the selected variation. - EXTERNAL: The variations will be
--   served externally and the chosen variation reported to Google
--   Analytics. The caller is responsible for serving the selected
--   variation and evaluating the results.
expServingFramework :: Lens' Experiment (Maybe Text)

-- | Notes about this experiment.
expDescription :: Lens' Experiment (Maybe Text)

-- | An entity user link collection provides a list of Analytics ACL links
--   Each resource in this collection corresponds to a single link.
--   
--   <i>See:</i> <a>entityUserLinks</a> smart constructor.
data EntityUserLinks

-- | Creates a value of <a>EntityUserLinks</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>eulNextLink</a></li>
--   <li><a>eulItemsPerPage</a></li>
--   <li><a>eulKind</a></li>
--   <li><a>eulItems</a></li>
--   <li><a>eulTotalResults</a></li>
--   <li><a>eulStartIndex</a></li>
--   <li><a>eulPreviousLink</a></li>
--   </ul>
entityUserLinks :: EntityUserLinks

-- | Next link for this account collection.
eulNextLink :: Lens' EntityUserLinks (Maybe Text)

-- | The maximum number of entries the response can contain, regardless of
--   the actual number of entries returned. Its value ranges from 1 to 1000
--   with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
eulItemsPerPage :: Lens' EntityUserLinks (Maybe Int32)

-- | Collection type.
eulKind :: Lens' EntityUserLinks Text

-- | A list of entity user links.
eulItems :: Lens' EntityUserLinks [EntityUserLink]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
eulTotalResults :: Lens' EntityUserLinks (Maybe Int32)

-- | The starting index of the entries, which is 1 by default or otherwise
--   specified by the start-index query parameter.
eulStartIndex :: Lens' EntityUserLinks (Maybe Int32)

-- | Previous link for this account collection.
eulPreviousLink :: Lens' EntityUserLinks (Maybe Text)

-- | JSON template for an AdWords account.
--   
--   <i>See:</i> <a>adWordsAccount</a> smart constructor.
data AdWordsAccount

-- | Creates a value of <a>AdWordsAccount</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>awaAutoTaggingEnabled</a></li>
--   <li><a>awaKind</a></li>
--   <li><a>awaCustomerId</a></li>
--   </ul>
adWordsAccount :: AdWordsAccount

-- | True if auto-tagging is enabled on the AdWords account. Read-only
--   after the insert operation.
awaAutoTaggingEnabled :: Lens' AdWordsAccount (Maybe Bool)

-- | Resource type for AdWords account.
awaKind :: Lens' AdWordsAccount Text

-- | Customer ID. This field is required when creating an AdWords link.
awaCustomerId :: Lens' AdWordsAccount (Maybe Text)

-- | JSON template for a profile filter link.
--   
--   <i>See:</i> <a>filterRef</a> smart constructor.
data FilterRef

-- | Creates a value of <a>FilterRef</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>frKind</a></li>
--   <li><a>frHref</a></li>
--   <li><a>frAccountId</a></li>
--   <li><a>frName</a></li>
--   <li><a>frId</a></li>
--   </ul>
filterRef :: FilterRef

-- | Kind value for filter reference.
frKind :: Lens' FilterRef Text

-- | Link for this filter.
frHref :: Lens' FilterRef (Maybe Text)

-- | Account ID to which this filter belongs.
frAccountId :: Lens' FilterRef (Maybe Text)

-- | Name of this filter.
frName :: Lens' FilterRef (Maybe Text)

-- | Filter ID.
frId :: Lens' FilterRef (Maybe Text)

-- | Details for the goal of the type VISIT_TIME_ON_SITE.
--   
--   <i>See:</i> <a>goalVisitTimeOnSiteDetails</a> smart constructor.
data GoalVisitTimeOnSiteDetails

-- | Creates a value of <a>GoalVisitTimeOnSiteDetails</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>gvtosdComparisonValue</a></li>
--   <li><a>gvtosdComparisonType</a></li>
--   </ul>
goalVisitTimeOnSiteDetails :: GoalVisitTimeOnSiteDetails

-- | Value used for this comparison.
gvtosdComparisonValue :: Lens' GoalVisitTimeOnSiteDetails (Maybe Int64)

-- | Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
gvtosdComparisonType :: Lens' GoalVisitTimeOnSiteDetails (Maybe Text)

-- | A web property collection lists Analytics web properties to which the
--   user has access. Each resource in the collection corresponds to a
--   single Analytics web property.
--   
--   <i>See:</i> <a>webProperties</a> smart constructor.
data WebProperties

-- | Creates a value of <a>WebProperties</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>wpNextLink</a></li>
--   <li><a>wpItemsPerPage</a></li>
--   <li><a>wpKind</a></li>
--   <li><a>wpUsername</a></li>
--   <li><a>wpItems</a></li>
--   <li><a>wpTotalResults</a></li>
--   <li><a>wpStartIndex</a></li>
--   <li><a>wpPreviousLink</a></li>
--   </ul>
webProperties :: WebProperties

-- | Link to next page for this web property collection.
wpNextLink :: Lens' WebProperties (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
wpItemsPerPage :: Lens' WebProperties (Maybe Int32)

-- | Collection type.
wpKind :: Lens' WebProperties Text

-- | Email ID of the authenticated user
wpUsername :: Lens' WebProperties (Maybe Text)

-- | A list of web properties.
wpItems :: Lens' WebProperties [WebProperty]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
wpTotalResults :: Lens' WebProperties (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
wpStartIndex :: Lens' WebProperties (Maybe Int32)

-- | Link to previous page for this web property collection.
wpPreviousLink :: Lens' WebProperties (Maybe Text)

-- | A custom metric collection lists Analytics custom metrics to which the
--   user has access. Each resource in the collection corresponds to a
--   single Analytics custom metric.
--   
--   <i>See:</i> <a>customMetrics</a> smart constructor.
data CustomMetrics

-- | Creates a value of <a>CustomMetrics</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>cmNextLink</a></li>
--   <li><a>cmItemsPerPage</a></li>
--   <li><a>cmKind</a></li>
--   <li><a>cmUsername</a></li>
--   <li><a>cmItems</a></li>
--   <li><a>cmTotalResults</a></li>
--   <li><a>cmStartIndex</a></li>
--   <li><a>cmPreviousLink</a></li>
--   </ul>
customMetrics :: CustomMetrics

-- | Link to next page for this custom metric collection.
cmNextLink :: Lens' CustomMetrics (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
cmItemsPerPage :: Lens' CustomMetrics (Maybe Int32)

-- | Collection type.
cmKind :: Lens' CustomMetrics Text

-- | Email ID of the authenticated user
cmUsername :: Lens' CustomMetrics (Maybe Text)

-- | Collection of custom metrics.
cmItems :: Lens' CustomMetrics [CustomMetric]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
cmTotalResults :: Lens' CustomMetrics (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
cmStartIndex :: Lens' CustomMetrics (Maybe Int32)

-- | Link to previous page for this custom metric collection.
cmPreviousLink :: Lens' CustomMetrics (Maybe Text)

-- | Details for the filter of the type ADVANCED.
--   
--   <i>See:</i> <a>filterAdvancedDetails</a> smart constructor.
data FilterAdvancedDetails

-- | Creates a value of <a>FilterAdvancedDetails</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>fadExtractA</a></li>
--   <li><a>fadFieldARequired</a></li>
--   <li><a>fadFieldA</a></li>
--   <li><a>fadFieldBIndex</a></li>
--   <li><a>fadOutputToField</a></li>
--   <li><a>fadOutputConstructor</a></li>
--   <li><a>fadExtractB</a></li>
--   <li><a>fadFieldAIndex</a></li>
--   <li><a>fadCaseSensitive</a></li>
--   <li><a>fadOutputToFieldIndex</a></li>
--   <li><a>fadFieldB</a></li>
--   <li><a>fadFieldBRequired</a></li>
--   <li><a>fadOverrideOutputField</a></li>
--   </ul>
filterAdvancedDetails :: FilterAdvancedDetails

-- | Expression to extract from field A.
fadExtractA :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Indicates if field A is required to match.
fadFieldARequired :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | Field A.
fadFieldA :: Lens' FilterAdvancedDetails (Maybe Text)

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fadFieldBIndex :: Lens' FilterAdvancedDetails (Maybe Int32)

-- | Output field.
fadOutputToField :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Expression used to construct the output value.
fadOutputConstructor :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Expression to extract from field B.
fadExtractB :: Lens' FilterAdvancedDetails (Maybe Text)

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fadFieldAIndex :: Lens' FilterAdvancedDetails (Maybe Int32)

-- | Indicates if the filter expressions are case sensitive.
fadCaseSensitive :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fadOutputToFieldIndex :: Lens' FilterAdvancedDetails (Maybe Int32)

-- | Field B.
fadFieldB :: Lens' FilterAdvancedDetails (Maybe Text)

-- | Indicates if field B is required to match.
fadFieldBRequired :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | Indicates if the existing value of the output field, if any, should be
--   overridden by the output expression.
fadOverrideOutputField :: Lens' FilterAdvancedDetails (Maybe Bool)

-- | Details for the filter of the type UPPER.
--   
--   <i>See:</i> <a>filterUppercaseDetails</a> smart constructor.
data FilterUppercaseDetails

-- | Creates a value of <a>FilterUppercaseDetails</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>fudFieldIndex</a></li>
--   <li><a>fudField</a></li>
--   </ul>
filterUppercaseDetails :: FilterUppercaseDetails

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fudFieldIndex :: Lens' FilterUppercaseDetails (Maybe Int32)

-- | Field to use in the filter.
fudField :: Lens' FilterUppercaseDetails (Maybe Text)
data CustomDataSourceChildLink

-- | Creates a value of <a>CustomDataSourceChildLink</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>cdsclHref</a></li>
--   <li><a>cdsclType</a></li>
--   </ul>
customDataSourceChildLink :: CustomDataSourceChildLink

-- | Link to the list of daily uploads for this custom data source. Link to
--   the list of uploads for this custom data source.
cdsclHref :: Lens' CustomDataSourceChildLink (Maybe Text)

-- | Value is "analyticsuploads".
cdsclType :: Lens' CustomDataSourceChildLink (Maybe Text)

-- | JSON template for an Analytics Remarketing Include Conditions.
--   
--   <i>See:</i> <a>includeConditions</a> smart constructor.
data IncludeConditions

-- | Creates a value of <a>IncludeConditions</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>icKind</a></li>
--   <li><a>icDaysToLookBack</a></li>
--   <li><a>icMembershipDurationDays</a></li>
--   <li><a>icSegment</a></li>
--   <li><a>icIsSmartList</a></li>
--   </ul>
includeConditions :: IncludeConditions

-- | Resource type for include conditions.
icKind :: Lens' IncludeConditions Text

-- | The look-back window lets you specify a time frame for evaluating the
--   behavior that qualifies users for your audience. For example, if your
--   filters include users from Central Asia, and Transactions Greater than
--   2, and you set the look-back window to 14 days, then any user from
--   Central Asia whose cumulative transactions exceed 2 during the last 14
--   days is added to the audience.
icDaysToLookBack :: Lens' IncludeConditions (Maybe Int32)

-- | Number of days (in the range 1 to 540) a user remains in the audience.
icMembershipDurationDays :: Lens' IncludeConditions (Maybe Int32)

-- | The segment condition that will cause a user to be added to an
--   audience.
icSegment :: Lens' IncludeConditions (Maybe Text)

-- | Boolean indicating whether this segment is a smart list.
--   https://support.google.com/analytics/answer/4628577
icIsSmartList :: Lens' IncludeConditions (Maybe Bool)

-- | Parent link for this filter. Points to the account to which this
--   filter belongs.
--   
--   <i>See:</i> <a>filterParentLink</a> smart constructor.
data FilterParentLink

-- | Creates a value of <a>FilterParentLink</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>fplHref</a></li>
--   <li><a>fplType</a></li>
--   </ul>
filterParentLink :: FilterParentLink

-- | Link to the account to which this filter belongs.
fplHref :: Lens' FilterParentLink (Maybe Text)

-- | Value is "analytics#account".
fplType :: Lens' FilterParentLink Text

-- | The selected format for the response. Default format is JSON.
data DataGaGetOutput

-- | <tt>dataTable</tt> Returns the response in Google Charts Data Table
--   format. This is useful in creating visualization using Google Charts.
DataTable :: DataGaGetOutput

-- | <tt>json</tt> Returns the response in standard JSON format.
JSON :: DataGaGetOutput

-- | Real time data for a given view (profile).
--   
--   <i>See:</i> <a>realtimeData</a> smart constructor.
data RealtimeData

-- | Creates a value of <a>RealtimeData</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>rdProFileInfo</a></li>
--   <li><a>rdKind</a></li>
--   <li><a>rdRows</a></li>
--   <li><a>rdSelfLink</a></li>
--   <li><a>rdQuery</a></li>
--   <li><a>rdColumnHeaders</a></li>
--   <li><a>rdId</a></li>
--   <li><a>rdTotalResults</a></li>
--   <li><a>rdTotalsForAllResults</a></li>
--   </ul>
realtimeData :: RealtimeData

-- | Information for the view (profile), for which the real time data was
--   requested.
rdProFileInfo :: Lens' RealtimeData (Maybe RealtimeDataProFileInfo)

-- | Resource type.
rdKind :: Lens' RealtimeData Text

-- | Real time data rows, where each row contains a list of dimension
--   values followed by the metric values. The order of dimensions and
--   metrics is same as specified in the request.
rdRows :: Lens' RealtimeData [[Text]]

-- | Link to this page.
rdSelfLink :: Lens' RealtimeData (Maybe Text)

-- | Real time data request query parameters.
rdQuery :: Lens' RealtimeData (Maybe RealtimeDataQuery)

-- | Column headers that list dimension names followed by the metric names.
--   The order of dimensions and metrics is same as specified in the
--   request.
rdColumnHeaders :: Lens' RealtimeData [RealtimeDataColumnHeadersItem]

-- | Unique ID for this data response.
rdId :: Lens' RealtimeData (Maybe Text)

-- | The total number of rows for the query, regardless of the number of
--   rows in the response.
rdTotalResults :: Lens' RealtimeData (Maybe Int32)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
rdTotalsForAllResults :: Lens' RealtimeData (Maybe RealtimeDataTotalsForAllResults)

-- | JSON template for Analytics Custom Metric.
--   
--   <i>See:</i> <a>customMetric</a> smart constructor.
data CustomMetric

-- | Creates a value of <a>CustomMetric</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>cusParentLink</a></li>
--   <li><a>cusWebPropertyId</a></li>
--   <li><a>cusKind</a></li>
--   <li><a>cusMaxValue</a></li>
--   <li><a>cusCreated</a></li>
--   <li><a>cusMinValue</a></li>
--   <li><a>cusActive</a></li>
--   <li><a>cusSelfLink</a></li>
--   <li><a>cusAccountId</a></li>
--   <li><a>cusName</a></li>
--   <li><a>cusScope</a></li>
--   <li><a>cusId</a></li>
--   <li><a>cusUpdated</a></li>
--   <li><a>cusType</a></li>
--   <li><a>cusIndex</a></li>
--   </ul>
customMetric :: CustomMetric

-- | Parent link for the custom metric. Points to the property to which the
--   custom metric belongs.
cusParentLink :: Lens' CustomMetric (Maybe CustomMetricParentLink)

-- | Property ID.
cusWebPropertyId :: Lens' CustomMetric (Maybe Text)

-- | Kind value for a custom metric. Set to "analytics#customMetric". It is
--   a read-only field.
cusKind :: Lens' CustomMetric Text

-- | Max value of custom metric.
cusMaxValue :: Lens' CustomMetric (Maybe Text)

-- | Time the custom metric was created.
cusCreated :: Lens' CustomMetric (Maybe UTCTime)

-- | Min value of custom metric.
cusMinValue :: Lens' CustomMetric (Maybe Text)

-- | Boolean indicating whether the custom metric is active.
cusActive :: Lens' CustomMetric (Maybe Bool)

-- | Link for the custom metric
cusSelfLink :: Lens' CustomMetric (Maybe Text)

-- | Account ID.
cusAccountId :: Lens' CustomMetric (Maybe Text)

-- | Name of the custom metric.
cusName :: Lens' CustomMetric (Maybe Text)

-- | Scope of the custom metric: HIT or PRODUCT.
cusScope :: Lens' CustomMetric (Maybe Text)

-- | Custom metric ID.
cusId :: Lens' CustomMetric (Maybe Text)

-- | Time the custom metric was last modified.
cusUpdated :: Lens' CustomMetric (Maybe UTCTime)

-- | Data type of custom metric.
cusType :: Lens' CustomMetric (Maybe Text)

-- | Index of the custom metric.
cusIndex :: Lens' CustomMetric (Maybe Int32)

-- | JSON template for an Analytics ProfileSummary. ProfileSummary returns
--   basic information (i.e., summary) for a profile.
--   
--   <i>See:</i> <a>proFileSummary</a> smart constructor.
data ProFileSummary

-- | Creates a value of <a>ProFileSummary</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>pfsKind</a></li>
--   <li><a>pfsName</a></li>
--   <li><a>pfsStarred</a></li>
--   <li><a>pfsId</a></li>
--   <li><a>pfsType</a></li>
--   </ul>
proFileSummary :: ProFileSummary

-- | Resource type for Analytics ProfileSummary.
pfsKind :: Lens' ProFileSummary Text

-- | View (profile) name.
pfsName :: Lens' ProFileSummary (Maybe Text)

-- | Indicates whether this view (profile) is starred or not.
pfsStarred :: Lens' ProFileSummary (Maybe Bool)

-- | View (profile) ID.
pfsId :: Lens' ProFileSummary (Maybe Text)

-- | View (Profile) type. Supported types: WEB or APP.
pfsType :: Lens' ProFileSummary (Maybe Text)

-- | Parent link for the custom dimension. Points to the property to which
--   the custom dimension belongs.
--   
--   <i>See:</i> <a>customDimensionParentLink</a> smart constructor.
data CustomDimensionParentLink

-- | Creates a value of <a>CustomDimensionParentLink</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>cdplHref</a></li>
--   <li><a>cdplType</a></li>
--   </ul>
customDimensionParentLink :: CustomDimensionParentLink

-- | Link to the property to which the custom dimension belongs.
cdplHref :: Lens' CustomDimensionParentLink (Maybe Text)

-- | Type of the parent link. Set to "analytics#webproperty".
cdplType :: Lens' CustomDimensionParentLink Text

-- | JSON template for an Analytics web property.
--   
--   <i>See:</i> <a>webProperty</a> smart constructor.
data WebProperty

-- | Creates a value of <a>WebProperty</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>wParentLink</a></li>
--   <li><a>wChildLink</a></li>
--   <li><a>wDefaultProFileId</a></li>
--   <li><a>wKind</a></li>
--   <li><a>wCreated</a></li>
--   <li><a>wSelfLink</a></li>
--   <li><a>wAccountId</a></li>
--   <li><a>wName</a></li>
--   <li><a>wStarred</a></li>
--   <li><a>wInternalWebPropertyId</a></li>
--   <li><a>wId</a></li>
--   <li><a>wUpdated</a></li>
--   <li><a>wProFileCount</a></li>
--   <li><a>wPermissions</a></li>
--   <li><a>wWebsiteURL</a></li>
--   <li><a>wIndustryVertical</a></li>
--   <li><a>wLevel</a></li>
--   </ul>
webProperty :: WebProperty

-- | Parent link for this web property. Points to the account to which this
--   web property belongs.
wParentLink :: Lens' WebProperty (Maybe WebPropertyParentLink)

-- | Child link for this web property. Points to the list of views
--   (profiles) for this web property.
wChildLink :: Lens' WebProperty (Maybe WebPropertyChildLink)

-- | Default view (profile) ID.
wDefaultProFileId :: Lens' WebProperty (Maybe Int64)

-- | Resource type for Analytics WebProperty.
wKind :: Lens' WebProperty Text

-- | Time this web property was created.
wCreated :: Lens' WebProperty (Maybe UTCTime)

-- | Link for this web property.
wSelfLink :: Lens' WebProperty (Maybe Text)

-- | Account ID to which this web property belongs.
wAccountId :: Lens' WebProperty (Maybe Text)

-- | Name of this web property.
wName :: Lens' WebProperty (Maybe Text)

-- | Indicates whether this web property is starred or not.
wStarred :: Lens' WebProperty (Maybe Bool)

-- | Internal ID for this web property.
wInternalWebPropertyId :: Lens' WebProperty (Maybe Text)

-- | Web property ID of the form UA-XXXXX-YY.
wId :: Lens' WebProperty (Maybe Text)

-- | Time this web property was last modified.
wUpdated :: Lens' WebProperty (Maybe UTCTime)

-- | View (Profile) count for this web property.
wProFileCount :: Lens' WebProperty (Maybe Int32)

-- | Permissions the user has for this web property.
wPermissions :: Lens' WebProperty (Maybe WebPropertyPermissions)

-- | Website url for this web property.
wWebsiteURL :: Lens' WebProperty (Maybe Text)

-- | The industry vertical/category selected for this web property.
wIndustryVertical :: Lens' WebProperty (Maybe Text)

-- | Level for this web property. Possible values are STANDARD or PREMIUM.
wLevel :: Lens' WebProperty (Maybe Text)

-- | Permissions the user has for this web property.
--   
--   <i>See:</i> <a>webPropertyPermissions</a> smart constructor.
data WebPropertyPermissions

-- | Creates a value of <a>WebPropertyPermissions</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>wppEffective</a></li>
--   </ul>
webPropertyPermissions :: WebPropertyPermissions

-- | All the permissions that the user has for this web property. These
--   include any implied permissions (e.g., EDIT implies VIEW) or inherited
--   permissions from the parent account.
wppEffective :: Lens' WebPropertyPermissions [Text]

-- | JSON template for an Analytics Entity-User Link. Returns permissions
--   that a user has for an entity.
--   
--   <i>See:</i> <a>entityUserLink</a> smart constructor.
data EntityUserLink

-- | Creates a value of <a>EntityUserLink</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>euluKind</a></li>
--   <li><a>euluUserRef</a></li>
--   <li><a>euluSelfLink</a></li>
--   <li><a>euluId</a></li>
--   <li><a>euluPermissions</a></li>
--   <li><a>euluEntity</a></li>
--   </ul>
entityUserLink :: EntityUserLink

-- | Resource type for entity user link.
euluKind :: Lens' EntityUserLink Text

-- | User reference.
euluUserRef :: Lens' EntityUserLink (Maybe UserRef)

-- | Self link for this resource.
euluSelfLink :: Lens' EntityUserLink (Maybe Text)

-- | Entity user link ID
euluId :: Lens' EntityUserLink (Maybe Text)

-- | Permissions the user has for this entity.
euluPermissions :: Lens' EntityUserLink (Maybe EntityUserLinkPermissions)

-- | Entity for this link. It can be an account, a web property, or a view
--   (profile).
euluEntity :: Lens' EntityUserLink (Maybe EntityUserLinkEntity)

-- | Parent link for this custom data source. Points to the web property to
--   which this custom data source belongs.
--   
--   <i>See:</i> <a>customDataSourceParentLink</a> smart constructor.
data CustomDataSourceParentLink

-- | Creates a value of <a>CustomDataSourceParentLink</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>cdsplHref</a></li>
--   <li><a>cdsplType</a></li>
--   </ul>
customDataSourceParentLink :: CustomDataSourceParentLink

-- | Link to the web property to which this custom data source belongs.
cdsplHref :: Lens' CustomDataSourceParentLink (Maybe Text)

-- | Value is "analytics#webproperty".
cdsplType :: Lens' CustomDataSourceParentLink Text
data GoalEventDetailsEventConditionsItem

-- | Creates a value of <a>GoalEventDetailsEventConditionsItem</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>gedeciMatchType</a></li>
--   <li><a>gedeciExpression</a></li>
--   <li><a>gedeciComparisonValue</a></li>
--   <li><a>gedeciType</a></li>
--   <li><a>gedeciComparisonType</a></li>
--   </ul>
goalEventDetailsEventConditionsItem :: GoalEventDetailsEventConditionsItem

-- | Type of the match to be performed. Possible values are REGEXP,
--   BEGINS_WITH, or EXACT.
gedeciMatchType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Expression used for this match.
gedeciExpression :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Value used for this comparison.
gedeciComparisonValue :: Lens' GoalEventDetailsEventConditionsItem (Maybe Int64)

-- | Type of this event condition. Possible values are CATEGORY, ACTION,
--   LABEL, or VALUE.
gedeciType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Type of comparison. Possible values are LESS_THAN, GREATER_THAN or
--   EQUAL.
gedeciComparisonType :: Lens' GoalEventDetailsEventConditionsItem (Maybe Text)

-- | Analytics data request query parameters.
--   
--   <i>See:</i> <a>mcfDataQuery</a> smart constructor.
data McfDataQuery

-- | Creates a value of <a>McfDataQuery</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>mdqMetrics</a></li>
--   <li><a>mdqSamplingLevel</a></li>
--   <li><a>mdqFilters</a></li>
--   <li><a>mdqIds</a></li>
--   <li><a>mdqEndDate</a></li>
--   <li><a>mdqSort</a></li>
--   <li><a>mdqDimensions</a></li>
--   <li><a>mdqStartIndex</a></li>
--   <li><a>mdqMaxResults</a></li>
--   <li><a>mdqSegment</a></li>
--   <li><a>mdqStartDate</a></li>
--   </ul>
mcfDataQuery :: McfDataQuery

-- | List of analytics metrics.
mdqMetrics :: Lens' McfDataQuery [Text]

-- | Desired sampling level
mdqSamplingLevel :: Lens' McfDataQuery (Maybe Text)

-- | Comma-separated list of dimension or metric filters.
mdqFilters :: Lens' McfDataQuery (Maybe Text)

-- | Unique table ID.
mdqIds :: Lens' McfDataQuery (Maybe Text)

-- | End date.
mdqEndDate :: Lens' McfDataQuery (Maybe Text)

-- | List of dimensions or metrics based on which Analytics data is sorted.
mdqSort :: Lens' McfDataQuery [Text]

-- | List of analytics dimensions.
mdqDimensions :: Lens' McfDataQuery (Maybe Text)

-- | Start index.
mdqStartIndex :: Lens' McfDataQuery (Maybe Int32)

-- | Maximum results per page.
mdqMaxResults :: Lens' McfDataQuery (Maybe Int32)

-- | Analytics advanced segment.
mdqSegment :: Lens' McfDataQuery (Maybe Text)

-- | Start date.
mdqStartDate :: Lens' McfDataQuery (Maybe Text)

-- | JSON template for Analytics goal resource.
--   
--   <i>See:</i> <a>goal</a> smart constructor.
data Goal

-- | Creates a value of <a>Goal</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>goaParentLink</a></li>
--   <li><a>goaWebPropertyId</a></li>
--   <li><a>goaKind</a></li>
--   <li><a>goaCreated</a></li>
--   <li><a>goaValue</a></li>
--   <li><a>goaProFileId</a></li>
--   <li><a>goaEventDetails</a></li>
--   <li><a>goaActive</a></li>
--   <li><a>goaSelfLink</a></li>
--   <li><a>goaVisitTimeOnSiteDetails</a></li>
--   <li><a>goaAccountId</a></li>
--   <li><a>goaName</a></li>
--   <li><a>goaInternalWebPropertyId</a></li>
--   <li><a>goaId</a></li>
--   <li><a>goaURLDestinationDetails</a></li>
--   <li><a>goaVisitNumPagesDetails</a></li>
--   <li><a>goaUpdated</a></li>
--   <li><a>goaType</a></li>
--   </ul>
goal :: Goal

-- | Parent link for a goal. Points to the view (profile) to which this
--   goal belongs.
goaParentLink :: Lens' Goal (Maybe GoalParentLink)

-- | Web property ID to which this goal belongs. The web property ID is of
--   the form UA-XXXXX-YY.
goaWebPropertyId :: Lens' Goal (Maybe Text)

-- | Resource type for an Analytics goal.
goaKind :: Lens' Goal Text

-- | Time this goal was created.
goaCreated :: Lens' Goal (Maybe UTCTime)

-- | Goal value.
goaValue :: Lens' Goal (Maybe Double)

-- | View (Profile) ID to which this goal belongs.
goaProFileId :: Lens' Goal (Maybe Text)

-- | Details for the goal of the type EVENT.
goaEventDetails :: Lens' Goal (Maybe GoalEventDetails)

-- | Determines whether this goal is active.
goaActive :: Lens' Goal (Maybe Bool)

-- | Link for this goal.
goaSelfLink :: Lens' Goal (Maybe Text)

-- | Details for the goal of the type VISIT_TIME_ON_SITE.
goaVisitTimeOnSiteDetails :: Lens' Goal (Maybe GoalVisitTimeOnSiteDetails)

-- | Account ID to which this goal belongs.
goaAccountId :: Lens' Goal (Maybe Text)

-- | Goal name.
goaName :: Lens' Goal (Maybe Text)

-- | Internal ID for the web property to which this goal belongs.
goaInternalWebPropertyId :: Lens' Goal (Maybe Text)

-- | Goal ID.
goaId :: Lens' Goal (Maybe Text)

-- | Details for the goal of the type URL_DESTINATION.
goaURLDestinationDetails :: Lens' Goal (Maybe GoalURLDestinationDetails)

-- | Details for the goal of the type VISIT_NUM_PAGES.
goaVisitNumPagesDetails :: Lens' Goal (Maybe GoalVisitNumPagesDetails)

-- | Time this goal was last modified.
goaUpdated :: Lens' Goal (Maybe UTCTime)

-- | Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE,
--   VISIT_NUM_PAGES, AND EVENT.
goaType :: Lens' Goal (Maybe Text)

-- | JSON template for an Analytics account ticket. The account ticket
--   consists of the ticket ID and the basic information for the account,
--   property and profile.
--   
--   <i>See:</i> <a>accountTicket</a> smart constructor.
data AccountTicket

-- | Creates a value of <a>AccountTicket</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>atRedirectURI</a></li>
--   <li><a>atKind</a></li>
--   <li><a>atProFile</a></li>
--   <li><a>atAccount</a></li>
--   <li><a>atWebProperty</a></li>
--   <li><a>atId</a></li>
--   </ul>
accountTicket :: AccountTicket

-- | Redirect URI where the user will be sent after accepting Terms of
--   Service. Must be configured in APIs console as a callback URL.
atRedirectURI :: Lens' AccountTicket (Maybe Text)

-- | Resource type for account ticket.
atKind :: Lens' AccountTicket Text

-- | View (Profile) for the account.
atProFile :: Lens' AccountTicket (Maybe ProFile)

-- | Account for this ticket.
atAccount :: Lens' AccountTicket (Maybe Account)

-- | Web property for the account.
atWebProperty :: Lens' AccountTicket (Maybe WebProperty)

-- | Account ticket ID used to access the account ticket.
atId :: Lens' AccountTicket (Maybe Text)

-- | JSON template for an Analytics AccountSummary. An AccountSummary is a
--   lightweight tree comprised of properties/profiles.
--   
--   <i>See:</i> <a>accountSummary</a> smart constructor.
data AccountSummary

-- | Creates a value of <a>AccountSummary</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>assKind</a></li>
--   <li><a>assWebProperties</a></li>
--   <li><a>assName</a></li>
--   <li><a>assStarred</a></li>
--   <li><a>assId</a></li>
--   </ul>
accountSummary :: AccountSummary

-- | Resource type for Analytics AccountSummary.
assKind :: Lens' AccountSummary Text

-- | List of web properties under this account.
assWebProperties :: Lens' AccountSummary [WebPropertySummary]

-- | Account name.
assName :: Lens' AccountSummary (Maybe Text)

-- | Indicates whether this account is starred or not.
assStarred :: Lens' AccountSummary (Maybe Bool)

-- | Account ID.
assId :: Lens' AccountSummary (Maybe Text)

-- | Real time data request query parameters.
--   
--   <i>See:</i> <a>realtimeDataQuery</a> smart constructor.
data RealtimeDataQuery

-- | Creates a value of <a>RealtimeDataQuery</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>rdqMetrics</a></li>
--   <li><a>rdqFilters</a></li>
--   <li><a>rdqIds</a></li>
--   <li><a>rdqSort</a></li>
--   <li><a>rdqDimensions</a></li>
--   <li><a>rdqMaxResults</a></li>
--   </ul>
realtimeDataQuery :: RealtimeDataQuery

-- | List of real time metrics.
rdqMetrics :: Lens' RealtimeDataQuery [Text]

-- | Comma-separated list of dimension or metric filters.
rdqFilters :: Lens' RealtimeDataQuery (Maybe Text)

-- | Unique table ID.
rdqIds :: Lens' RealtimeDataQuery (Maybe Text)

-- | List of dimensions or metrics based on which real time data is sorted.
rdqSort :: Lens' RealtimeDataQuery [Text]

-- | List of real time dimensions.
rdqDimensions :: Lens' RealtimeDataQuery (Maybe Text)

-- | Maximum results per page.
rdqMaxResults :: Lens' RealtimeDataQuery (Maybe Int32)

-- | Lists columns (dimensions and metrics) for a particular report type.
--   
--   <i>See:</i> <a>columns</a> smart constructor.
data Columns

-- | Creates a value of <a>Columns</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>colEtag</a></li>
--   <li><a>colKind</a></li>
--   <li><a>colItems</a></li>
--   <li><a>colTotalResults</a></li>
--   <li><a>colAttributeNames</a></li>
--   </ul>
columns :: Columns

-- | Etag of collection. This etag can be compared with the last response
--   etag to check if response has changed.
colEtag :: Lens' Columns (Maybe Text)

-- | Collection type.
colKind :: Lens' Columns Text

-- | List of columns for a report type.
colItems :: Lens' Columns [Column]

-- | Total number of columns returned in the response.
colTotalResults :: Lens' Columns (Maybe Int32)

-- | List of attributes names returned by columns.
colAttributeNames :: Lens' Columns [Text]

-- | Details for the filter of the type LOWER.
--   
--   <i>See:</i> <a>filterLowercaseDetails</a> smart constructor.
data FilterLowercaseDetails

-- | Creates a value of <a>FilterLowercaseDetails</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>fldFieldIndex</a></li>
--   <li><a>fldField</a></li>
--   </ul>
filterLowercaseDetails :: FilterLowercaseDetails

-- | The Index of the custom dimension. Required if field is a
--   CUSTOM_DIMENSION.
fldFieldIndex :: Lens' FilterLowercaseDetails (Maybe Int32)

-- | Field to use in the filter.
fldField :: Lens' FilterLowercaseDetails (Maybe Text)

-- | JSON template for an Analytics account filter.
--   
--   <i>See:</i> <a>filter'</a> smart constructor.
data Filter

-- | Creates a value of <a>Filter</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>filParentLink</a></li>
--   <li><a>filAdvancedDetails</a></li>
--   <li><a>filUppercaseDetails</a></li>
--   <li><a>filLowercaseDetails</a></li>
--   <li><a>filKind</a></li>
--   <li><a>filCreated</a></li>
--   <li><a>filIncludeDetails</a></li>
--   <li><a>filExcludeDetails</a></li>
--   <li><a>filSelfLink</a></li>
--   <li><a>filAccountId</a></li>
--   <li><a>filName</a></li>
--   <li><a>filId</a></li>
--   <li><a>filUpdated</a></li>
--   <li><a>filType</a></li>
--   <li><a>filSearchAndReplaceDetails</a></li>
--   </ul>
filter' :: Filter

-- | Parent link for this filter. Points to the account to which this
--   filter belongs.
filParentLink :: Lens' Filter (Maybe FilterParentLink)

-- | Details for the filter of the type ADVANCED.
filAdvancedDetails :: Lens' Filter (Maybe FilterAdvancedDetails)

-- | Details for the filter of the type UPPER.
filUppercaseDetails :: Lens' Filter (Maybe FilterUppercaseDetails)

-- | Details for the filter of the type LOWER.
filLowercaseDetails :: Lens' Filter (Maybe FilterLowercaseDetails)

-- | Resource type for Analytics filter.
filKind :: Lens' Filter Text

-- | Time this filter was created.
filCreated :: Lens' Filter (Maybe UTCTime)

-- | Details for the filter of the type INCLUDE.
filIncludeDetails :: Lens' Filter (Maybe FilterExpression)

-- | Details for the filter of the type EXCLUDE.
filExcludeDetails :: Lens' Filter (Maybe FilterExpression)

-- | Link for this filter.
filSelfLink :: Lens' Filter (Maybe Text)

-- | Account ID to which this filter belongs.
filAccountId :: Lens' Filter (Maybe Text)

-- | Name of this filter.
filName :: Lens' Filter (Maybe Text)

-- | Filter ID.
filId :: Lens' Filter (Maybe Text)

-- | Time this filter was last modified.
filUpdated :: Lens' Filter (Maybe UTCTime)

-- | Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE,
--   UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.
filType :: Lens' Filter (Maybe Text)

-- | Details for the filter of the type SEARCH_AND_REPLACE.
filSearchAndReplaceDetails :: Lens' Filter (Maybe FilterSearchAndReplaceDetails)

-- | Upload collection lists Analytics uploads to which the user has
--   access. Each custom data source can have a set of uploads. Each
--   resource in the upload collection corresponds to a single Analytics
--   data upload.
--   
--   <i>See:</i> <a>uploads</a> smart constructor.
data Uploads

-- | Creates a value of <a>Uploads</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>uplNextLink</a></li>
--   <li><a>uplItemsPerPage</a></li>
--   <li><a>uplKind</a></li>
--   <li><a>uplItems</a></li>
--   <li><a>uplTotalResults</a></li>
--   <li><a>uplStartIndex</a></li>
--   <li><a>uplPreviousLink</a></li>
--   </ul>
uploads :: Uploads

-- | Link to next page for this upload collection.
uplNextLink :: Lens' Uploads (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
uplItemsPerPage :: Lens' Uploads (Maybe Int32)

-- | Collection type.
uplKind :: Lens' Uploads Text

-- | A list of uploads.
uplItems :: Lens' Uploads [Upload]

-- | The total number of results for the query, regardless of the number of
--   resources in the result.
uplTotalResults :: Lens' Uploads (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
uplStartIndex :: Lens' Uploads (Maybe Int32)

-- | Link to previous page for this upload collection.
uplPreviousLink :: Lens' Uploads (Maybe Text)

-- | A custom dimension collection lists Analytics custom dimensions to
--   which the user has access. Each resource in the collection corresponds
--   to a single Analytics custom dimension.
--   
--   <i>See:</i> <a>customDimensions</a> smart constructor.
data CustomDimensions

-- | Creates a value of <a>CustomDimensions</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>cdNextLink</a></li>
--   <li><a>cdItemsPerPage</a></li>
--   <li><a>cdKind</a></li>
--   <li><a>cdUsername</a></li>
--   <li><a>cdItems</a></li>
--   <li><a>cdTotalResults</a></li>
--   <li><a>cdStartIndex</a></li>
--   <li><a>cdPreviousLink</a></li>
--   </ul>
customDimensions :: CustomDimensions

-- | Link to next page for this custom dimension collection.
cdNextLink :: Lens' CustomDimensions (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
cdItemsPerPage :: Lens' CustomDimensions (Maybe Int32)

-- | Collection type.
cdKind :: Lens' CustomDimensions Text

-- | Email ID of the authenticated user
cdUsername :: Lens' CustomDimensions (Maybe Text)

-- | Collection of custom dimensions.
cdItems :: Lens' CustomDimensions [CustomDimension]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
cdTotalResults :: Lens' CustomDimensions (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
cdStartIndex :: Lens' CustomDimensions (Maybe Int32)

-- | Link to previous page for this custom dimension collection.
cdPreviousLink :: Lens' CustomDimensions (Maybe Text)

-- | An segment collection lists Analytics segments that the user has
--   access to. Each resource in the collection corresponds to a single
--   Analytics segment.
--   
--   <i>See:</i> <a>segments</a> smart constructor.
data Segments

-- | Creates a value of <a>Segments</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>sNextLink</a></li>
--   <li><a>sItemsPerPage</a></li>
--   <li><a>sKind</a></li>
--   <li><a>sUsername</a></li>
--   <li><a>sItems</a></li>
--   <li><a>sTotalResults</a></li>
--   <li><a>sStartIndex</a></li>
--   <li><a>sPreviousLink</a></li>
--   </ul>
segments :: Segments

-- | Link to next page for this segment collection.
sNextLink :: Lens' Segments (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
sItemsPerPage :: Lens' Segments (Maybe Int32)

-- | Collection type for segments.
sKind :: Lens' Segments Text

-- | Email ID of the authenticated user
sUsername :: Lens' Segments (Maybe Text)

-- | A list of segments.
sItems :: Lens' Segments [Segment]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
sTotalResults :: Lens' Segments (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
sStartIndex :: Lens' Segments (Maybe Int32)

-- | Link to previous page for this segment collection.
sPreviousLink :: Lens' Segments (Maybe Text)
data GaDataDataTable

-- | Creates a value of <a>GaDataDataTable</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>gddtCols</a></li>
--   <li><a>gddtRows</a></li>
--   </ul>
gaDataDataTable :: GaDataDataTable
gddtCols :: Lens' GaDataDataTable [GaDataDataTableColsItem]
gddtRows :: Lens' GaDataDataTable [GaDataDataTableRowsItem]

-- | Web property being linked.
--   
--   <i>See:</i> <a>entityAdWordsLinkEntity</a> smart constructor.
data EntityAdWordsLinkEntity

-- | Creates a value of <a>EntityAdWordsLinkEntity</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>eawleWebPropertyRef</a></li>
--   </ul>
entityAdWordsLinkEntity :: EntityAdWordsLinkEntity
eawleWebPropertyRef :: Lens' EntityAdWordsLinkEntity (Maybe WebPropertyRef)

-- | A state based audience definition that will cause a user to be added
--   or removed from an audience.
--   
--   <i>See:</i> <a>remarketingAudienceStateBasedAudienceDefinition</a>
--   smart constructor.
data RemarketingAudienceStateBasedAudienceDefinition

-- | Creates a value of
--   <a>RemarketingAudienceStateBasedAudienceDefinition</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>rasbadExcludeConditions</a></li>
--   <li><a>rasbadIncludeConditions</a></li>
--   </ul>
remarketingAudienceStateBasedAudienceDefinition :: RemarketingAudienceStateBasedAudienceDefinition

-- | Defines the conditions to exclude users from the audience.
rasbadExcludeConditions :: Lens' RemarketingAudienceStateBasedAudienceDefinition (Maybe RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions)

-- | Defines the conditions to include users to the audience.
rasbadIncludeConditions :: Lens' RemarketingAudienceStateBasedAudienceDefinition (Maybe IncludeConditions)

-- | Details for the goal of the type URL_DESTINATION.
--   
--   <i>See:</i> <a>goalURLDestinationDetails</a> smart constructor.
data GoalURLDestinationDetails

-- | Creates a value of <a>GoalURLDestinationDetails</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>guddURL</a></li>
--   <li><a>guddMatchType</a></li>
--   <li><a>guddSteps</a></li>
--   <li><a>guddCaseSensitive</a></li>
--   <li><a>guddFirstStepRequired</a></li>
--   </ul>
goalURLDestinationDetails :: GoalURLDestinationDetails

-- | URL for this goal.
guddURL :: Lens' GoalURLDestinationDetails (Maybe Text)

-- | Match type for the goal URL. Possible values are HEAD, EXACT, or
--   REGEX.
guddMatchType :: Lens' GoalURLDestinationDetails (Maybe Text)

-- | List of steps configured for this goal funnel.
guddSteps :: Lens' GoalURLDestinationDetails [GoalURLDestinationDetailsStepsItem]

-- | Determines if the goal URL must exactly match the capitalization of
--   visited URLs.
guddCaseSensitive :: Lens' GoalURLDestinationDetails (Maybe Bool)

-- | Determines if the first step in this goal is required.
guddFirstStepRequired :: Lens' GoalURLDestinationDetails (Maybe Bool)

-- | A profile filter link collection lists profile filter links between
--   profiles and filters. Each resource in the collection corresponds to a
--   profile filter link.
--   
--   <i>See:</i> <a>proFileFilterLinks</a> smart constructor.
data ProFileFilterLinks

-- | Creates a value of <a>ProFileFilterLinks</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>pfflNextLink</a></li>
--   <li><a>pfflItemsPerPage</a></li>
--   <li><a>pfflKind</a></li>
--   <li><a>pfflUsername</a></li>
--   <li><a>pfflItems</a></li>
--   <li><a>pfflTotalResults</a></li>
--   <li><a>pfflStartIndex</a></li>
--   <li><a>pfflPreviousLink</a></li>
--   </ul>
proFileFilterLinks :: ProFileFilterLinks

-- | Link to next page for this profile filter link collection.
pfflNextLink :: Lens' ProFileFilterLinks (Maybe Text)

-- | The maximum number of resources the response can contain, regardless
--   of the actual number of resources returned. Its value ranges from 1 to
--   1,000 with a value of 1000 by default, or otherwise specified by the
--   max-results query parameter.
pfflItemsPerPage :: Lens' ProFileFilterLinks (Maybe Int32)

-- | Collection type.
pfflKind :: Lens' ProFileFilterLinks Text

-- | Email ID of the authenticated user
pfflUsername :: Lens' ProFileFilterLinks (Maybe Text)

-- | A list of profile filter links.
pfflItems :: Lens' ProFileFilterLinks [ProFileFilterLink]

-- | The total number of results for the query, regardless of the number of
--   results in the response.
pfflTotalResults :: Lens' ProFileFilterLinks (Maybe Int32)

-- | The starting index of the resources, which is 1 by default or
--   otherwise specified by the start-index query parameter.
pfflStartIndex :: Lens' ProFileFilterLinks (Maybe Int32)

-- | Link to previous page for this profile filter link collection.
pfflPreviousLink :: Lens' ProFileFilterLinks (Maybe Text)

-- | Parent link for this web property. Points to the account to which this
--   web property belongs.
--   
--   <i>See:</i> <a>webPropertyParentLink</a> smart constructor.
data WebPropertyParentLink

-- | Creates a value of <a>WebPropertyParentLink</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>wpplHref</a></li>
--   <li><a>wpplType</a></li>
--   </ul>
webPropertyParentLink :: WebPropertyParentLink

-- | Link to the account for this web property.
wpplHref :: Lens' WebPropertyParentLink (Maybe Text)

-- | Type of the parent link. Its value is "analytics#account".
wpplType :: Lens' WebPropertyParentLink Text

-- | Information for the view (profile), for which the Analytics data was
--   requested.
--   
--   <i>See:</i> <a>gaDataProFileInfo</a> smart constructor.
data GaDataProFileInfo

-- | Creates a value of <a>GaDataProFileInfo</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>gdpfiWebPropertyId</a></li>
--   <li><a>gdpfiProFileId</a></li>
--   <li><a>gdpfiProFileName</a></li>
--   <li><a>gdpfiAccountId</a></li>
--   <li><a>gdpfiInternalWebPropertyId</a></li>
--   <li><a>gdpfiTableId</a></li>
--   </ul>
gaDataProFileInfo :: GaDataProFileInfo

-- | Web Property ID to which this view (profile) belongs.
gdpfiWebPropertyId :: Lens' GaDataProFileInfo (Maybe Text)

-- | View (Profile) ID.
gdpfiProFileId :: Lens' GaDataProFileInfo (Maybe Text)

-- | View (Profile) name.
gdpfiProFileName :: Lens' GaDataProFileInfo (Maybe Text)

-- | Account ID to which this view (profile) belongs.
gdpfiAccountId :: Lens' GaDataProFileInfo (Maybe Text)

-- | Internal ID for the web property to which this view (profile) belongs.
gdpfiInternalWebPropertyId :: Lens' GaDataProFileInfo (Maybe Text)

-- | Table ID for view (profile).
gdpfiTableId :: Lens' GaDataProFileInfo (Maybe Text)

-- | Metadata returned for an upload operation.
--   
--   <i>See:</i> <a>upload</a> smart constructor.
data Upload

-- | Creates a value of <a>Upload</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>uuStatus</a></li>
--   <li><a>uuKind</a></li>
--   <li><a>uuCustomDataSourceId</a></li>
--   <li><a>uuAccountId</a></li>
--   <li><a>uuId</a></li>
--   <li><a>uuErrors</a></li>
--   </ul>
upload :: Upload

-- | Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING,
--   DELETED.
uuStatus :: Lens' Upload (Maybe Text)

-- | Resource type for Analytics upload.
uuKind :: Lens' Upload Text

-- | Custom data source Id to which this data import belongs.
uuCustomDataSourceId :: Lens' Upload (Maybe Text)

-- | Account Id to which this upload belongs.
uuAccountId :: Lens' Upload (Maybe Int64)

-- | A unique ID for this upload.
uuId :: Lens' Upload (Maybe Text)

-- | Data import errors collection.
uuErrors :: Lens' Upload [Text]

-- | The desired sampling level.
data DataMcfGetSamplingLevel

-- | <tt>DEFAULT</tt> Returns response with a sample size that balances
--   speed and accuracy.
DMGSLDefault :: DataMcfGetSamplingLevel

-- | <tt>FASTER</tt> Returns a fast response with a smaller sample size.
DMGSLFaster :: DataMcfGetSamplingLevel

-- | <tt>HIGHER_PRECISION</tt> Returns a more accurate response using a
--   large sample size, but this may result in the response being slower.
DMGSLHigherPrecision :: DataMcfGetSamplingLevel

-- | JSON template for Analytics Custom Dimension.
--   
--   <i>See:</i> <a>customDimension</a> smart constructor.
data CustomDimension

-- | Creates a value of <a>CustomDimension</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>cddParentLink</a></li>
--   <li><a>cddWebPropertyId</a></li>
--   <li><a>cddKind</a></li>
--   <li><a>cddCreated</a></li>
--   <li><a>cddActive</a></li>
--   <li><a>cddSelfLink</a></li>
--   <li><a>cddAccountId</a></li>
--   <li><a>cddName</a></li>
--   <li><a>cddScope</a></li>
--   <li><a>cddId</a></li>
--   <li><a>cddUpdated</a></li>
--   <li><a>cddIndex</a></li>
--   </ul>
customDimension :: CustomDimension

-- | Parent link for the custom dimension. Points to the property to which
--   the custom dimension belongs.
cddParentLink :: Lens' CustomDimension (Maybe CustomDimensionParentLink)

-- | Property ID.
cddWebPropertyId :: Lens' CustomDimension (Maybe Text)

-- | Kind value for a custom dimension. Set to "analytics#customDimension".
--   It is a read-only field.
cddKind :: Lens' CustomDimension Text

-- | Time the custom dimension was created.
cddCreated :: Lens' CustomDimension (Maybe UTCTime)

-- | Boolean indicating whether the custom dimension is active.
cddActive :: Lens' CustomDimension (Maybe Bool)

-- | Link for the custom dimension
cddSelfLink :: Lens' CustomDimension (Maybe Text)

-- | Account ID.
cddAccountId :: Lens' CustomDimension (Maybe Text)

-- | Name of the custom dimension.
cddName :: Lens' CustomDimension (Maybe Text)

-- | Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.
cddScope :: Lens' CustomDimension (Maybe Text)

-- | Custom dimension ID.
cddId :: Lens' CustomDimension (Maybe Text)

-- | Time the custom dimension was last modified.
cddUpdated :: Lens' CustomDimension (Maybe UTCTime)

-- | Index of the custom dimension.
cddIndex :: Lens' CustomDimension (Maybe Int32)

-- | JSON template for an Analytics segment.
--   
--   <i>See:</i> <a>segment</a> smart constructor.
data Segment

-- | Creates a value of <a>Segment</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>segDefinition</a></li>
--   <li><a>segKind</a></li>
--   <li><a>segCreated</a></li>
--   <li><a>segSelfLink</a></li>
--   <li><a>segName</a></li>
--   <li><a>segId</a></li>
--   <li><a>segUpdated</a></li>
--   <li><a>segType</a></li>
--   <li><a>segSegmentId</a></li>
--   </ul>
segment :: Segment

-- | Segment definition.
segDefinition :: Lens' Segment (Maybe Text)

-- | Resource type for Analytics segment.
segKind :: Lens' Segment Text

-- | Time the segment was created.
segCreated :: Lens' Segment (Maybe UTCTime)

-- | Link for this segment.
segSelfLink :: Lens' Segment (Maybe Text)

-- | Segment name.
segName :: Lens' Segment (Maybe Text)

-- | Segment ID.
segId :: Lens' Segment (Maybe Text)

-- | Time the segment was last modified.
segUpdated :: Lens' Segment (Maybe UTCTime)

-- | Type for a segment. Possible values are "BUILT_IN" or "CUSTOM".
segType :: Lens' Segment (Maybe Text)

-- | Segment ID. Can be used with the 'segment' parameter in Core Reporting
--   API.
segSegmentId :: Lens' Segment (Maybe Text)

-- | Child link for an account entry. Points to the list of web properties
--   for this account.
--   
--   <i>See:</i> <a>accountChildLink</a> smart constructor.
data AccountChildLink

-- | Creates a value of <a>AccountChildLink</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>aclHref</a></li>
--   <li><a>aclType</a></li>
--   </ul>
accountChildLink :: AccountChildLink

-- | Link to the list of web properties for this account.
aclHref :: Lens' AccountChildLink (Maybe Text)

-- | Type of the child link. Its value is "analytics#webproperties".
aclType :: Lens' AccountChildLink Text

-- | JSON template for an Analytics profile filter link.
--   
--   <i>See:</i> <a>proFileFilterLink</a> smart constructor.
data ProFileFilterLink

-- | Creates a value of <a>ProFileFilterLink</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>proProFileRef</a></li>
--   <li><a>proKind</a></li>
--   <li><a>proFilterRef</a></li>
--   <li><a>proSelfLink</a></li>
--   <li><a>proId</a></li>
--   <li><a>proRank</a></li>
--   </ul>
proFileFilterLink :: ProFileFilterLink

-- | View (Profile) for this link.
proProFileRef :: Lens' ProFileFilterLink (Maybe ProFileRef)

-- | Resource type for Analytics filter.
proKind :: Lens' ProFileFilterLink Text

-- | Filter for this link.
proFilterRef :: Lens' ProFileFilterLink (Maybe FilterRef)

-- | Link for this profile filter link.
proSelfLink :: Lens' ProFileFilterLink (Maybe Text)

-- | Profile filter link ID.
proId :: Lens' ProFileFilterLink (Maybe Text)

-- | The rank of this profile filter link relative to the other filters
--   linked to the same profile. For readonly (i.e., list and get)
--   operations, the rank always starts at 1. For write (i.e., create,
--   update, or delete) operations, you may specify a value between 0 and
--   255 inclusively, [0, 255]. In order to insert a link at the end of the
--   list, either don't specify a rank or set a rank to a number greater
--   than the largest rank in the list. In order to insert a link to the
--   beginning of the list specify a rank that is less than or equal to 1.
--   The new link will move all existing filters with the same or lower
--   rank down the list. After the link is inserted/updated/deleted all
--   profile filter links will be renumbered starting at 1.
proRank :: Lens' ProFileFilterLink (Maybe Int32)

-- | Parent link for the custom metric. Points to the property to which the
--   custom metric belongs.
--   
--   <i>See:</i> <a>customMetricParentLink</a> smart constructor.
data CustomMetricParentLink

-- | Creates a value of <a>CustomMetricParentLink</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>cmplHref</a></li>
--   <li><a>cmplType</a></li>
--   </ul>
customMetricParentLink :: CustomMetricParentLink

-- | Link to the property to which the custom metric belongs.
cmplHref :: Lens' CustomMetricParentLink (Maybe Text)

-- | Type of the parent link. Set to "analytics#webproperty".
cmplType :: Lens' CustomMetricParentLink Text

-- | JSON template for a metadata column.
--   
--   <i>See:</i> <a>column</a> smart constructor.
data Column

-- | Creates a value of <a>Column</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>ccKind</a></li>
--   <li><a>ccAttributes</a></li>
--   <li><a>ccId</a></li>
--   </ul>
column :: Column

-- | Resource type for Analytics column.
ccKind :: Lens' Column Text

-- | Map of attribute name and value for this column.
ccAttributes :: Lens' Column (Maybe ColumnAttributes)

-- | Column id.
ccId :: Lens' Column (Maybe Text)

-- | The simple audience definition that will cause a user to be added to
--   an audience.
--   
--   <i>See:</i> <a>remarketingAudienceAudienceDefinition</a> smart
--   constructor.
data RemarketingAudienceAudienceDefinition

-- | Creates a value of <a>RemarketingAudienceAudienceDefinition</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>raadIncludeConditions</a></li>
--   </ul>
remarketingAudienceAudienceDefinition :: RemarketingAudienceAudienceDefinition

-- | Defines the conditions to include users to the audience.
raadIncludeConditions :: Lens' RemarketingAudienceAudienceDefinition (Maybe IncludeConditions)
data GaDataDataTableColsItem

-- | Creates a value of <a>GaDataDataTableColsItem</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>gddtciId</a></li>
--   <li><a>gddtciType</a></li>
--   <li><a>gddtciLabel</a></li>
--   </ul>
gaDataDataTableColsItem :: GaDataDataTableColsItem
gddtciId :: Lens' GaDataDataTableColsItem (Maybe Text)
gddtciType :: Lens' GaDataDataTableColsItem (Maybe Text)
gddtciLabel :: Lens' GaDataDataTableColsItem (Maybe Text)
data ExperimentVariationsItem

-- | Creates a value of <a>ExperimentVariationsItem</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>eviStatus</a></li>
--   <li><a>eviWeight</a></li>
--   <li><a>eviURL</a></li>
--   <li><a>eviWon</a></li>
--   <li><a>eviName</a></li>
--   </ul>
experimentVariationsItem :: ExperimentVariationsItem

-- | Status of the variation. Possible values: "ACTIVE", "INACTIVE".
--   INACTIVE variations are not served. This field may not be changed for
--   an experiment whose status is ENDED.
eviStatus :: Lens' ExperimentVariationsItem (Maybe Text)

-- | Weight that this variation should receive. Only present if the
--   experiment is running. This field is read-only.
eviWeight :: Lens' ExperimentVariationsItem (Maybe Double)

-- | The URL of the variation. This field may not be changed for an
--   experiment whose status is RUNNING or ENDED.
eviURL :: Lens' ExperimentVariationsItem (Maybe Text)

-- | True if the experiment has ended and this variation performed
--   (statistically) significantly better than the original. This field is
--   read-only.
eviWon :: Lens' ExperimentVariationsItem (Maybe Bool)

-- | The name of the variation. This field is required when creating an
--   experiment. This field may not be changed for an experiment whose
--   status is ENDED.
eviName :: Lens' ExperimentVariationsItem (Maybe Text)

-- | Defines the conditions to exclude users from the audience.
--   
--   <i>See:</i>
--   <a>remarketingAudienceStateBasedAudienceDefinitionExcludeConditions</a>
--   smart constructor.
data RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions

-- | Creates a value of
--   <a>RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions</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>rasbadecExclusionDuration</a></li>
--   <li><a>rasbadecSegment</a></li>
--   </ul>
remarketingAudienceStateBasedAudienceDefinitionExcludeConditions :: RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions

-- | Whether to make the exclusion TEMPORARY or PERMANENT.
rasbadecExclusionDuration :: Lens' RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions (Maybe Text)

-- | The segment condition that will cause a user to be removed from an
--   audience.
rasbadecSegment :: Lens' RemarketingAudienceStateBasedAudienceDefinitionExcludeConditions (Maybe Text)

-- | Total values for the requested metrics over all the results, not just
--   the results returned in this response. The order of the metric totals
--   is same as the metric order specified in the request.
--   
--   <i>See:</i> <a>mcfDataTotalsForAllResults</a> smart constructor.
data McfDataTotalsForAllResults

-- | Creates a value of <a>McfDataTotalsForAllResults</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>mdtfarAddtional</a></li>
--   </ul>
mcfDataTotalsForAllResults :: HashMap Text Text -> McfDataTotalsForAllResults

-- | Key-value pair for the total value of a metric. Key is the metric name
--   and the value is the total value for that metric.
mdtfarAddtional :: Lens' McfDataTotalsForAllResults (HashMap Text Text)

-- | Download details for a file stored in Google Cloud Storage.
--   
--   <i>See:</i> <a>unSampledReportCloudStorageDownloadDetails</a> smart
--   constructor.
data UnSampledReportCloudStorageDownloadDetails

-- | Creates a value of <a>UnSampledReportCloudStorageDownloadDetails</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>usrcsddObjectId</a></li>
--   <li><a>usrcsddBucketId</a></li>
--   </ul>
unSampledReportCloudStorageDownloadDetails :: UnSampledReportCloudStorageDownloadDetails

-- | Id of the file object containing the report data.
usrcsddObjectId :: Lens' UnSampledReportCloudStorageDownloadDetails (Maybe Text)

-- | Id of the bucket the file object is stored in.
usrcsddBucketId :: Lens' UnSampledReportCloudStorageDownloadDetails (Maybe Text)

-- | Child link for this view (profile). Points to the list of goals for
--   this view (profile).
--   
--   <i>See:</i> <a>proFileChildLink</a> smart constructor.
data ProFileChildLink

-- | Creates a value of <a>ProFileChildLink</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>pfclHref</a></li>
--   <li><a>pfclType</a></li>
--   </ul>
proFileChildLink :: ProFileChildLink

-- | Link to the list of goals for this view (profile).
pfclHref :: Lens' ProFileChildLink (Maybe Text)

-- | Value is "analytics#goals".
pfclType :: Lens' ProFileChildLink Text
data GaDataColumnHeadersItem

-- | Creates a value of <a>GaDataColumnHeadersItem</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>gdchiColumnType</a></li>
--   <li><a>gdchiName</a></li>
--   <li><a>gdchiDataType</a></li>
--   </ul>
gaDataColumnHeadersItem :: GaDataColumnHeadersItem

-- | Column Type. Either DIMENSION or METRIC.
gdchiColumnType :: Lens' GaDataColumnHeadersItem (Maybe Text)

-- | Column name.
gdchiName :: Lens' GaDataColumnHeadersItem (Maybe Text)

-- | Data type. Dimension column headers have only STRING as the data type.
--   Metric column headers have data types for metric values such as
--   INTEGER, DOUBLE, CURRENCY etc.
gdchiDataType :: Lens' GaDataColumnHeadersItem (Maybe Text)

-- | Parent link for a goal. Points to the view (profile) to which this
--   goal belongs.
--   
--   <i>See:</i> <a>goalParentLink</a> smart constructor.
data GoalParentLink

-- | Creates a value of <a>GoalParentLink</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>gplHref</a></li>
--   <li><a>gplType</a></li>
--   </ul>
goalParentLink :: GoalParentLink

-- | Link to the view (profile) to which this goal belongs.
gplHref :: Lens' GoalParentLink (Maybe Text)

-- | Value is "analytics#profile".
gplType :: Lens' GoalParentLink Text

-- | Map of attribute name and value for this column.
--   
--   <i>See:</i> <a>columnAttributes</a> smart constructor.
data ColumnAttributes

-- | Creates a value of <a>ColumnAttributes</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>caAddtional</a></li>
--   </ul>
columnAttributes :: HashMap Text Text -> ColumnAttributes

-- | The name of the attribute.
caAddtional :: Lens' ColumnAttributes (HashMap Text Text)
