packages feed

gogol-cloudsearch (empty) → 0.4.0

raw patch · 44 files changed

+18616/−0 lines, 44 filesdep +basedep +gogol-coresetup-changed

Dependencies added: base, gogol-core

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-cloudsearch++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Cloud Search.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-cloudsearch` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ gen/Network/Google/CloudSearch.hs view
@@ -0,0 +1,1239 @@+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module      : Network.Google.CloudSearch+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cloud Search provides cloud-based search capabilities over G Suite data.+-- The Cloud Search API allows indexing of non-G Suite data into Cloud+-- Search.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference>+module Network.Google.CloudSearch+    (+    -- * Service Configuration+      cloudSearchService++    -- * OAuth Scopes+    , cloudSearchSettingsQueryScope+    , cloudSearchStatsIndexingScope+    , cloudSearchIndexingScope+    , cloudSearchScope+    , cloudSearchSettingsIndexingScope+    , cloudSearchQueryScope+    , cloudSearchDebugScope+    , cloudSearchStatsScope+    , cloudSearchSettingsScope++    -- * API Declaration+    , CloudSearchAPI++    -- * Resources++    -- ** cloudsearch.debug.datasources.items.checkAccess+    , module Network.Google.Resource.CloudSearch.Debug.Datasources.Items.CheckAccess++    -- ** cloudsearch.debug.datasources.items.searchByViewUrl+    , module Network.Google.Resource.CloudSearch.Debug.Datasources.Items.SearchByViewURL++    -- ** cloudsearch.debug.datasources.items.unmappedids.list+    , module Network.Google.Resource.CloudSearch.Debug.Datasources.Items.UnmAppedids.List++    -- ** cloudsearch.debug.identitysources.items.listForunmappedidentity+    , module Network.Google.Resource.CloudSearch.Debug.Identitysources.Items.ListForunmAppedidentity++    -- ** cloudsearch.debug.identitysources.unmappedids.list+    , module Network.Google.Resource.CloudSearch.Debug.Identitysources.UnmAppedids.List++    -- ** cloudsearch.indexing.datasources.deleteSchema+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.DeleteSchema++    -- ** cloudsearch.indexing.datasources.getSchema+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.GetSchema++    -- ** cloudsearch.indexing.datasources.items.delete+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Delete++    -- ** cloudsearch.indexing.datasources.items.deleteQueueItems+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.DeleteQueueItems++    -- ** cloudsearch.indexing.datasources.items.get+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Get++    -- ** cloudsearch.indexing.datasources.items.index+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Index++    -- ** cloudsearch.indexing.datasources.items.list+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.List++    -- ** cloudsearch.indexing.datasources.items.poll+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Poll++    -- ** cloudsearch.indexing.datasources.items.push+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Push++    -- ** cloudsearch.indexing.datasources.items.unreserve+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Unreserve++    -- ** cloudsearch.indexing.datasources.items.upload+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Upload++    -- ** cloudsearch.indexing.datasources.updateSchema+    , module Network.Google.Resource.CloudSearch.Indexing.Datasources.UpdateSchema++    -- ** cloudsearch.media.upload+    , module Network.Google.Resource.CloudSearch.Media.Upload++    -- ** cloudsearch.operations.get+    , module Network.Google.Resource.CloudSearch.Operations.Get++    -- ** cloudsearch.query.search+    , module Network.Google.Resource.CloudSearch.Query.Search++    -- ** cloudsearch.query.sources.list+    , module Network.Google.Resource.CloudSearch.Query.Sources.List++    -- ** cloudsearch.query.suggest+    , module Network.Google.Resource.CloudSearch.Query.Suggest++    -- ** cloudsearch.settings.datasources.create+    , module Network.Google.Resource.CloudSearch.Settings.Datasources.Create++    -- ** cloudsearch.settings.datasources.delete+    , module Network.Google.Resource.CloudSearch.Settings.Datasources.Delete++    -- ** cloudsearch.settings.datasources.get+    , module Network.Google.Resource.CloudSearch.Settings.Datasources.Get++    -- ** cloudsearch.settings.datasources.list+    , module Network.Google.Resource.CloudSearch.Settings.Datasources.List++    -- ** cloudsearch.settings.datasources.update+    , module Network.Google.Resource.CloudSearch.Settings.Datasources.Update++    -- ** cloudsearch.settings.searchapplications.create+    , module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Create++    -- ** cloudsearch.settings.searchapplications.delete+    , module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Delete++    -- ** cloudsearch.settings.searchapplications.get+    , module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Get++    -- ** cloudsearch.settings.searchapplications.list+    , module Network.Google.Resource.CloudSearch.Settings.SearchApplications.List++    -- ** cloudsearch.settings.searchapplications.reset+    , module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Reset++    -- ** cloudsearch.settings.searchapplications.update+    , module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Update++    -- ** cloudsearch.stats.getIndex+    , module Network.Google.Resource.CloudSearch.Stats.GetIndex++    -- ** cloudsearch.stats.index.datasources.get+    , module Network.Google.Resource.CloudSearch.Stats.Index.Datasources.Get++    -- * Types++    -- ** DriveMimeTypeRestrictType+    , DriveMimeTypeRestrictType (..)++    -- ** DriveFollowUpRestrictType+    , DriveFollowUpRestrictType (..)++    -- ** ItemContent+    , ItemContent+    , itemContent+    , icHash+    , icContentFormat+    , icContentDataRef+    , icInlineContent++    -- ** Photo+    , Photo+    , photo+    , pURL++    -- ** SearchItemsByViewURLRequest+    , SearchItemsByViewURLRequest+    , searchItemsByViewURLRequest+    , sibvurDebugOptions+    , sibvurPageToken+    , sibvurViewURL++    -- ** SearchApplication+    , SearchApplication+    , searchApplication+    , saDataSourceRestrictions+    , saOperationIds+    , saDefaultFacetOptions+    , saScoringConfig+    , saName+    , saSourceConfig+    , saDisplayName+    , saDefaultSortOptions++    -- ** BooleanOperatorOptions+    , BooleanOperatorOptions+    , booleanOperatorOptions+    , booOperatorName++    -- ** Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- ** EnumPropertyOptions+    , EnumPropertyOptions+    , enumPropertyOptions+    , epoPossibleValues+    , epoOrderedRanking+    , epoOperatorOptions++    -- ** ItemStatusCode+    , ItemStatusCode (..)++    -- ** UnreserveItemsRequest+    , UnreserveItemsRequest+    , unreserveItemsRequest+    , uirQueue+    , uirDebugOptions+    , uirConnectorName++    -- ** DateOperatorOptions+    , DateOperatorOptions+    , dateOperatorOptions+    , dooOperatorName+    , dooLessThanOperatorName+    , dooGreaterThanOperatorName++    -- ** GetDataSourceIndexStatsResponse+    , GetDataSourceIndexStatsResponse+    , getDataSourceIndexStatsResponse+    , gdsisrStats++    -- ** ObjectDisplayOptions+    , ObjectDisplayOptions+    , objectDisplayOptions+    , odoMetalines+    , odoObjectDisplayLabel++    -- ** QueryItem+    , QueryItem+    , queryItem+    , qiIsSynthetic++    -- ** ListUnmAppedIdentitiesResponse+    , ListUnmAppedIdentitiesResponse+    , listUnmAppedIdentitiesResponse+    , luairNextPageToken+    , luairUnmAppedIdentities++    -- ** DeleteQueueItemsRequest+    , DeleteQueueItemsRequest+    , deleteQueueItemsRequest+    , dqirQueue+    , dqirDebugOptions+    , dqirConnectorName++    -- ** SearchResult+    , SearchResult+    , searchResult+    , srDebugInfo+    , srSnippet+    , srURL+    , srClusteredResults+    , srMetadata+    , srTitle++    -- ** SpellResult+    , SpellResult+    , spellResult+    , srSuggestedQuery++    -- ** PeopleSuggestion+    , PeopleSuggestion+    , peopleSuggestion+    , psPerson++    -- ** QuerySource+    , QuerySource+    , querySource+    , qsShortName+    , qsDisplayName+    , qsSource+    , qsOperators++    -- ** SuggestResponse+    , SuggestResponse+    , suggestResponse+    , srSuggestResults++    -- ** RepositoryError+    , RepositoryError+    , repositoryError+    , reHTTPStatusCode+    , reType+    , reErrorMessage++    -- ** QueryInterpretationInterpretationType+    , QueryInterpretationInterpretationType (..)++    -- ** HTMLPropertyOptions+    , HTMLPropertyOptions+    , htmlPropertyOptions+    , hpoRetrievalImportance+    , hpoOperatorOptions++    -- ** PropertyDefinition+    , PropertyDefinition+    , propertyDefinition+    , pdEnumPropertyOptions+    , pdHTMLPropertyOptions+    , pdObjectPropertyOptions+    , pdIsReturnable+    , pdTimestampPropertyOptions+    , pdIntegerPropertyOptions+    , pdName+    , pdIsRepeatable+    , pdDoublePropertyOptions+    , pdDisplayOptions+    , pdTextPropertyOptions+    , pdIsSortable+    , pdIsFacetable+    , pdBooleanPropertyOptions+    , pdDatePropertyOptions++    -- ** SortOptions+    , SortOptions+    , sortOptions+    , soSortOrder+    , soOperatorName++    -- ** ObjectPropertyOptions+    , ObjectPropertyOptions+    , objectPropertyOptions+    , opoSubobjectProperties++    -- ** InteractionType+    , InteractionType (..)++    -- ** QueryOperatorType+    , QueryOperatorType (..)++    -- ** SearchResponse+    , SearchResponse+    , searchResponse+    , sSpellResults+    , sFacetResults+    , sDebugInfo+    , sResults+    , sHasMoreResults+    , sResultCounts+    , sResultCountExact+    , sResultCountEstimate+    , sQueryInterpretation+    , sStructuredResults+    , sErrorInfo++    -- ** SuggestResult+    , SuggestResult+    , suggestResult+    , sPeopleSuggestion+    , sQuerySuggestion+    , sSuggestedQuery+    , sSource++    -- ** TextValues+    , TextValues+    , textValues+    , tvValues++    -- ** DriveLocationRestrict+    , DriveLocationRestrict+    , driveLocationRestrict+    , dlrType++    -- ** ListQuerySourcesResponse+    , ListQuerySourcesResponse+    , listQuerySourcesResponse+    , lqsrNextPageToken+    , lqsrSources++    -- ** DoubleOperatorOptions+    , DoubleOperatorOptions+    , doubleOperatorOptions+    , dOperatorName++    -- ** Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- ** Person+    , Person+    , person+    , pEmailAddresses+    , pPersonNames+    , pPhotos+    , pName+    , pObfuscatedId++    -- ** CompositeFilter+    , CompositeFilter+    , compositeFilter+    , cfSubFilters+    , cfLogicOperator++    -- ** ResultDisplayLine+    , ResultDisplayLine+    , resultDisplayLine+    , rdlFields++    -- ** DoubleValues+    , DoubleValues+    , doubleValues+    , dvValues++    -- ** Snippet+    , Snippet+    , snippet+    , sMatchRanges+    , sSnippet++    -- ** TextOperatorOptions+    , TextOperatorOptions+    , textOperatorOptions+    , tooOperatorName+    , tooExactMatchWithOperator++    -- ** EnumPropertyOptionsOrderedRanking+    , EnumPropertyOptionsOrderedRanking (..)++    -- ** QueryInterpretationOptions+    , QueryInterpretationOptions+    , queryInterpretationOptions+    , qioDisableNlInterpretation++    -- ** ResetSearchApplicationRequest+    , ResetSearchApplicationRequest+    , resetSearchApplicationRequest+    , rsarDebugOptions++    -- ** IntegerPropertyOptionsOrderedRanking+    , IntegerPropertyOptionsOrderedRanking (..)++    -- ** ItemMetadata+    , ItemMetadata+    , itemMetadata+    , imSourceRepositoryURL+    , imHash+    , imObjectType+    , imContainerName+    , imInteractions+    , imMimeType+    , imUpdateTime+    , imKeywords+    , imTitle+    , imContentLanguage+    , imSearchQualityMetadata+    , imCreateTime++    -- ** FilterOptions+    , FilterOptions+    , filterOptions+    , foObjectType+    , foFilter++    -- ** StructuredResult+    , StructuredResult+    , structuredResult+    , srPerson++    -- ** ProcessingError+    , ProcessingError+    , processingError+    , peFieldViolations+    , peCode+    , peErrorMessage++    -- ** PushItemType+    , PushItemType (..)++    -- ** ListItemNamesForUnmAppedIdentityResponse+    , ListItemNamesForUnmAppedIdentityResponse+    , listItemNamesForUnmAppedIdentityResponse+    , linfuairNextPageToken+    , linfuairItemNames++    -- ** CompositeFilterLogicOperator+    , CompositeFilterLogicOperator (..)++    -- ** ItemACL+    , ItemACL+    , itemACL+    , iaOwners+    , iaReaders+    , iaACLInheritanceType+    , iaInheritACLFrom+    , iaDeniedReaders++    -- ** Value+    , Value+    , value+    , vIntegerValue+    , vTimestampValue+    , vDoubleValue+    , vStringValue+    , vDateValue+    , vBooleanValue++    -- ** FieldViolation+    , FieldViolation+    , fieldViolation+    , fvField+    , fvDescription++    -- ** SourceScoringConfigSourceImportance+    , SourceScoringConfigSourceImportance (..)++    -- ** Metaline+    , Metaline+    , metaline+    , mProperties++    -- ** FacetBucket+    , FacetBucket+    , facetBucket+    , fbValue+    , fbCount+    , fbPercentage++    -- ** StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- ** RetrievalImportanceImportance+    , RetrievalImportanceImportance (..)++    -- ** TimestampOperatorOptions+    , TimestampOperatorOptions+    , timestampOperatorOptions+    , tOperatorName+    , tLessThanOperatorName+    , tGreaterThanOperatorName++    -- ** ProcessingErrorCode+    , ProcessingErrorCode (..)++    -- ** IntegerOperatorOptions+    , IntegerOperatorOptions+    , integerOperatorOptions+    , iooOperatorName+    , iooLessThanOperatorName+    , iooGreaterThanOperatorName++    -- ** SortOptionsSortOrder+    , SortOptionsSortOrder (..)++    -- ** QuerySuggestion+    , QuerySuggestion+    , querySuggestion++    -- ** ListSearchApplicationsResponse+    , ListSearchApplicationsResponse+    , listSearchApplicationsResponse+    , lsarNextPageToken+    , lsarSearchApplications++    -- ** ResultDebugInfo+    , ResultDebugInfo+    , resultDebugInfo+    , rdiFormattedDebugInfo++    -- ** ItemCountByStatus+    , ItemCountByStatus+    , itemCountByStatus+    , icbsCount+    , icbsStatusCode++    -- ** TimestampPropertyOptions+    , TimestampPropertyOptions+    , timestampPropertyOptions+    , tpoOperatorOptions++    -- ** ResultCounts+    , ResultCounts+    , resultCounts+    , rcSourceResultCounts++    -- ** FreshnessOptions+    , FreshnessOptions+    , freshnessOptions+    , foFreshnessDuration+    , foFreshnessProperty++    -- ** DebugOptions+    , DebugOptions+    , debugOptions+    , doEnableDebugging++    -- ** IntegerPropertyOptions+    , IntegerPropertyOptions+    , integerPropertyOptions+    , ipoMaximumValue+    , ipoOrderedRanking+    , ipoMinimumValue+    , ipoOperatorOptions++    -- ** DataSourceRestriction+    , DataSourceRestriction+    , dataSourceRestriction+    , dsrFilterOptions+    , dsrSource++    -- ** Schema+    , Schema+    , schema+    , sObjectDefinitions+    , sOperationIds++    -- ** DriveTimeSpanRestrict+    , DriveTimeSpanRestrict+    , driveTimeSpanRestrict+    , dtsrType++    -- ** ResultDisplayField+    , ResultDisplayField+    , resultDisplayField+    , rdfProperty+    , rdfOperatorName+    , rdfLabel++    -- ** UpdateSchemaRequest+    , UpdateSchemaRequest+    , updateSchemaRequest+    , usrValidateOnly+    , usrSchema+    , usrDebugOptions++    -- ** Date+    , Date+    , date+    , dDay+    , dYear+    , dMonth++    -- ** DisplayedProperty+    , DisplayedProperty+    , displayedProperty+    , dpPropertyName++    -- ** FacetResult+    , FacetResult+    , facetResult+    , frSourceName+    , frBuckets+    , frObjectType+    , frOperatorName++    -- ** DriveMimeTypeRestrict+    , DriveMimeTypeRestrict+    , driveMimeTypeRestrict+    , dmtrType++    -- ** StructuredDataObject+    , StructuredDataObject+    , structuredDataObject+    , sdoProperties++    -- ** Media+    , Media+    , media+    , mResourceName++    -- ** ItemStructuredData+    , ItemStructuredData+    , itemStructuredData+    , isdHash+    , isdObject++    -- ** DriveFollowUpRestrict+    , DriveFollowUpRestrict+    , driveFollowUpRestrict+    , dfurType++    -- ** DateValues+    , DateValues+    , dateValues+    , dValues++    -- ** NamedProperty+    , NamedProperty+    , namedProperty+    , npDoubleValues+    , npTextValues+    , npDateValues+    , npName+    , npBooleanValue+    , npObjectValues+    , npHTMLValues+    , npEnumValues+    , npTimestampValues+    , npIntegerValues++    -- ** MatchRange+    , MatchRange+    , matchRange+    , mrStart+    , mrEnd++    -- ** ResponseDebugInfo+    , ResponseDebugInfo+    , responseDebugInfo+    , rFormattedDebugInfo++    -- ** ListDataSourceResponse+    , ListDataSourceResponse+    , listDataSourceResponse+    , ldsrNextPageToken+    , ldsrSources++    -- ** SearchRequest+    , SearchRequest+    , searchRequest+    , srSortOptions+    , srDataSourceRestrictions+    , srQueryInterpretationOptions+    , srStart+    , srQuery+    , srFacetOptions+    , srPageSize+    , srRequestOptions++    -- ** Name+    , Name+    , name+    , nDisplayName++    -- ** SourceResultCount+    , SourceResultCount+    , sourceResultCount+    , srcHasMoreResults+    , srcResultCountExact+    , srcResultCountEstimate+    , srcSource++    -- ** SourceConfig+    , SourceConfig+    , sourceConfig+    , scCrowdingConfig+    , scScoringConfig+    , scSource++    -- ** UnmAppedIdentityResolutionStatusCode+    , UnmAppedIdentityResolutionStatusCode (..)++    -- ** ListItemsResponse+    , ListItemsResponse+    , listItemsResponse+    , lirNextPageToken+    , lirItems++    -- ** ScoringConfig+    , ScoringConfig+    , scoringConfig+    , scDisablePersonalization+    , scDisableFreshness++    -- ** StartUploadItemRequest+    , StartUploadItemRequest+    , startUploadItemRequest+    , suirDebugOptions+    , suirConnectorName++    -- ** UploadItemRef+    , UploadItemRef+    , uploadItemRef+    , uirName++    -- ** PushItemRequest+    , PushItemRequest+    , pushItemRequest+    , pirDebugOptions+    , pirConnectorName+    , pirItem++    -- ** DoublePropertyOptions+    , DoublePropertyOptions+    , doublePropertyOptions+    , dpoOperatorOptions++    -- ** QueryOperator+    , QueryOperator+    , queryOperator+    , qoIsSuggestable+    , qoIsReturnable+    , qoIsRepeatable+    , qoOperatorName+    , qoIsSortable+    , qoIsFacetable+    , qoDisplayName+    , qoLessThanOperatorName+    , qoType+    , qoEnumValues+    , qoGreaterThanOperatorName++    -- ** Xgafv+    , Xgafv (..)++    -- ** PollItemsResponse+    , PollItemsResponse+    , pollItemsResponse+    , pirItems++    -- ** SourceScoringConfig+    , SourceScoringConfig+    , sourceScoringConfig+    , sscSourceImportance++    -- ** EmailAddress+    , EmailAddress+    , emailAddress+    , eaEmailAddress++    -- ** RetrievalImportance+    , RetrievalImportance+    , retrievalImportance+    , riImportance++    -- ** DataSourceIndexStats+    , DataSourceIndexStats+    , dataSourceIndexStats+    , dsisItemCountByStatus+    , dsisDate++    -- ** SourceCrowdingConfig+    , SourceCrowdingConfig+    , sourceCrowdingConfig+    , sccField+    , sccNumSuggestions+    , sccNumResults+    , sccSource++    -- ** Interaction+    , Interaction+    , interaction+    , iInteractionTime+    , iPrincipal+    , iType++    -- ** Principal+    , Principal+    , principal+    , pUserResourceName+    , pGroupResourceName+    , pGsuitePrincipal++    -- ** IndexItemRequest+    , IndexItemRequest+    , indexItemRequest+    , iirMode+    , iirDebugOptions+    , iirConnectorName+    , iirItem++    -- ** RepositoryErrorType+    , RepositoryErrorType (..)++    -- ** TextPropertyOptions+    , TextPropertyOptions+    , textPropertyOptions+    , tRetrievalImportance+    , tOperatorOptions++    -- ** EnumValuePair+    , EnumValuePair+    , enumValuePair+    , evpIntegerValue+    , evpStringValue++    -- ** DriveLocationRestrictType+    , DriveLocationRestrictType (..)++    -- ** Metadata+    , Metadata+    , metadata+    , mObjectType+    , mOwner+    , mMimeType+    , mUpdateTime+    , mDisplayOptions+    , mSource+    , mCreateTime+    , mFields++    -- ** UpdateDataSourceRequest+    , UpdateDataSourceRequest+    , updateDataSourceRequest+    , udsrDebugOptions+    , udsrSource++    -- ** DataSource+    , DataSource+    , dataSource+    , dsShortName+    , dsItemsVisibility+    , dsOperationIds+    , dsDisableServing+    , dsIndexingServiceAccounts+    , dsDisableModifications+    , dsName+    , dsDisplayName++    -- ** HTMLValues+    , HTMLValues+    , htmlValues+    , hvValues++    -- ** HTMLOperatorOptions+    , HTMLOperatorOptions+    , htmlOperatorOptions+    , hooOperatorName++    -- ** Item+    , Item+    , item+    , iStatus+    , iItemType+    , iPayload+    , iStructuredData+    , iQueue+    , iContent+    , iName+    , iVersion+    , iMetadata+    , iACL++    -- ** Source+    , Source+    , source+    , sName+    , sPredefinedSource++    -- ** PropertyDisplayOptions+    , PropertyDisplayOptions+    , propertyDisplayOptions+    , pdoDisplayLabel++    -- ** ObjectValues+    , ObjectValues+    , objectValues+    , ovValues++    -- ** ObjectOptions+    , ObjectOptions+    , objectOptions+    , ooFreshnessOptions+    , ooDisplayOptions++    -- ** FacetOptions+    , FacetOptions+    , facetOptions+    , fSourceName+    , fObjectType+    , fOperatorName++    -- ** SuggestRequest+    , SuggestRequest+    , suggestRequest+    , sDataSourceRestrictions+    , sQuery+    , sRequestOptions++    -- ** Filter+    , Filter+    , filter'+    , fCompositeFilter+    , fValueFilter++    -- ** ObjectDefinition+    , ObjectDefinition+    , objectDefinition+    , odName+    , odOptions+    , odPropertyDefinitions++    -- ** ItemItemType+    , ItemItemType (..)++    -- ** ItemCountByStatusStatusCode+    , ItemCountByStatusStatusCode (..)++    -- ** PollItemsRequest+    , PollItemsRequest+    , pollItemsRequest+    , pQueue+    , pDebugOptions+    , pConnectorName+    , pStatusCodes+    , pLimit++    -- ** QueryInterpretation+    , QueryInterpretation+    , queryInterpretation+    , qiInterpretedQuery+    , qiInterpretationType++    -- ** UnmAppedIdentity+    , UnmAppedIdentity+    , unmAppedIdentity+    , uaiResolutionStatusCode+    , uaiExternalIdentity++    -- ** OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- ** CustomerIndexStats+    , CustomerIndexStats+    , customerIndexStats+    , cisItemCountByStatus+    , cisDate++    -- ** PushItem+    , PushItem+    , pushItem+    , piRepositoryError+    , piContentHash+    , piStructuredDataHash+    , piPayload+    , piQueue+    , piMetadataHash+    , piType++    -- ** ErrorMessage+    , ErrorMessage+    , errorMessage+    , emSource+    , emErrorMessage++    -- ** BooleanPropertyOptions+    , BooleanPropertyOptions+    , booleanPropertyOptions+    , bpoOperatorOptions++    -- ** ValueFilter+    , ValueFilter+    , valueFilter+    , vfValue+    , vfOperatorName++    -- ** EnumOperatorOptions+    , EnumOperatorOptions+    , enumOperatorOptions+    , eooOperatorName++    -- ** DatePropertyOptions+    , DatePropertyOptions+    , datePropertyOptions+    , dOperatorOptions++    -- ** EnumValues+    , EnumValues+    , enumValues+    , evValues++    -- ** GSuitePrincipal+    , GSuitePrincipal+    , gSuitePrincipal+    , gspGsuiteGroupEmail+    , gspGsuiteUserEmail+    , gspGsuiteDomain++    -- ** SearchQualityMetadata+    , SearchQualityMetadata+    , searchQualityMetadata+    , sqmQuality++    -- ** ItemContentContentFormat+    , ItemContentContentFormat (..)++    -- ** TimestampValues+    , TimestampValues+    , timestampValues+    , tValues++    -- ** ErrorInfo+    , ErrorInfo+    , errorInfo+    , eiErrorMessages++    -- ** ResultDisplayMetadata+    , ResultDisplayMetadata+    , resultDisplayMetadata+    , rdmMetalines+    , rdmObjectTypeLabel++    -- ** OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- ** IntegerValues+    , IntegerValues+    , integerValues+    , ivValues++    -- ** SearchItemsByViewURLResponse+    , SearchItemsByViewURLResponse+    , searchItemsByViewURLResponse+    , sibvurNextPageToken+    , sibvurItems++    -- ** SourcePredefinedSource+    , SourcePredefinedSource (..)++    -- ** GetCustomerIndexStatsResponse+    , GetCustomerIndexStatsResponse+    , getCustomerIndexStatsResponse+    , gcisrStats++    -- ** RestrictItem+    , RestrictItem+    , restrictItem+    , riDriveLocationRestrict+    , riDriveTimeSpanRestrict+    , riDriveMimeTypeRestrict+    , riDriveFollowUpRestrict+    , riSearchOperator++    -- ** DriveTimeSpanRestrictType+    , DriveTimeSpanRestrictType (..)++    -- ** IndexItemRequestMode+    , IndexItemRequestMode (..)++    -- ** ItemACLACLInheritanceType+    , ItemACLACLInheritanceType (..)++    -- ** CheckAccessResponse+    , CheckAccessResponse+    , checkAccessResponse+    , carHasAccess++    -- ** RequestOptions+    , RequestOptions+    , requestOptions+    , roLanguageCode+    , roDebugOptions+    , roTimeZone+    , roSearchApplicationId++    -- ** ItemStatus+    , ItemStatus+    , itemStatus+    , isProcessingErrors+    , isCode+    , isRepositoryErrors+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude+import           Network.Google.Resource.CloudSearch.Debug.Datasources.Items.CheckAccess+import           Network.Google.Resource.CloudSearch.Debug.Datasources.Items.SearchByViewURL+import           Network.Google.Resource.CloudSearch.Debug.Datasources.Items.UnmAppedids.List+import           Network.Google.Resource.CloudSearch.Debug.Identitysources.Items.ListForunmAppedidentity+import           Network.Google.Resource.CloudSearch.Debug.Identitysources.UnmAppedids.List+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.DeleteSchema+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.GetSchema+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Delete+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.DeleteQueueItems+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Get+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Index+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.List+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Poll+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Push+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Unreserve+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Upload+import           Network.Google.Resource.CloudSearch.Indexing.Datasources.UpdateSchema+import           Network.Google.Resource.CloudSearch.Media.Upload+import           Network.Google.Resource.CloudSearch.Operations.Get+import           Network.Google.Resource.CloudSearch.Query.Search+import           Network.Google.Resource.CloudSearch.Query.Sources.List+import           Network.Google.Resource.CloudSearch.Query.Suggest+import           Network.Google.Resource.CloudSearch.Settings.Datasources.Create+import           Network.Google.Resource.CloudSearch.Settings.Datasources.Delete+import           Network.Google.Resource.CloudSearch.Settings.Datasources.Get+import           Network.Google.Resource.CloudSearch.Settings.Datasources.List+import           Network.Google.Resource.CloudSearch.Settings.Datasources.Update+import           Network.Google.Resource.CloudSearch.Settings.SearchApplications.Create+import           Network.Google.Resource.CloudSearch.Settings.SearchApplications.Delete+import           Network.Google.Resource.CloudSearch.Settings.SearchApplications.Get+import           Network.Google.Resource.CloudSearch.Settings.SearchApplications.List+import           Network.Google.Resource.CloudSearch.Settings.SearchApplications.Reset+import           Network.Google.Resource.CloudSearch.Settings.SearchApplications.Update+import           Network.Google.Resource.CloudSearch.Stats.GetIndex+import           Network.Google.Resource.CloudSearch.Stats.Index.Datasources.Get++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Cloud Search API service.+type CloudSearchAPI =+     SettingsDatasourcesListResource :<|>+       SettingsDatasourcesGetResource+       :<|> SettingsDatasourcesCreateResource+       :<|> SettingsDatasourcesDeleteResource+       :<|> SettingsDatasourcesUpdateResource+       :<|> SettingsSearchApplicationsListResource+       :<|> SettingsSearchApplicationsGetResource+       :<|> SettingsSearchApplicationsCreateResource+       :<|> SettingsSearchApplicationsResetResource+       :<|> SettingsSearchApplicationsDeleteResource+       :<|> SettingsSearchApplicationsUpdateResource+       :<|> StatsIndexDatasourcesGetResource+       :<|> StatsGetIndexResource+       :<|> DebugDatasourcesItemsUnmAppedidsListResource+       :<|> DebugDatasourcesItemsCheckAccessResource+       :<|> DebugDatasourcesItemsSearchByViewURLResource+       :<|> DebugIdentitysourcesUnmAppedidsListResource+       :<|>+       DebugIdentitysourcesItemsListForunmAppedidentityResource+       :<|> MediaUploadResource+       :<|> QuerySourcesListResource+       :<|> QuerySuggestResource+       :<|> QuerySearchResource+       :<|> OperationsGetResource+       :<|> IndexingDatasourcesItemsListResource+       :<|> IndexingDatasourcesItemsUnreserveResource+       :<|> IndexingDatasourcesItemsGetResource+       :<|> IndexingDatasourcesItemsDeleteQueueItemsResource+       :<|> IndexingDatasourcesItemsPollResource+       :<|> IndexingDatasourcesItemsUploadResource+       :<|> IndexingDatasourcesItemsIndexResource+       :<|> IndexingDatasourcesItemsPushResource+       :<|> IndexingDatasourcesItemsDeleteResource+       :<|> IndexingDatasourcesGetSchemaResource+       :<|> IndexingDatasourcesUpdateSchemaResource+       :<|> IndexingDatasourcesDeleteSchemaResource
+ gen/Network/Google/CloudSearch/Types.hs view
@@ -0,0 +1,1091 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudSearch.Types+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CloudSearch.Types+    (+    -- * Service Configuration+      cloudSearchService++    -- * OAuth Scopes+    , cloudSearchSettingsQueryScope+    , cloudSearchStatsIndexingScope+    , cloudSearchIndexingScope+    , cloudSearchScope+    , cloudSearchSettingsIndexingScope+    , cloudSearchQueryScope+    , cloudSearchDebugScope+    , cloudSearchStatsScope+    , cloudSearchSettingsScope++    -- * DriveMimeTypeRestrictType+    , DriveMimeTypeRestrictType (..)++    -- * DriveFollowUpRestrictType+    , DriveFollowUpRestrictType (..)++    -- * ItemContent+    , ItemContent+    , itemContent+    , icHash+    , icContentFormat+    , icContentDataRef+    , icInlineContent++    -- * Photo+    , Photo+    , photo+    , pURL++    -- * SearchItemsByViewURLRequest+    , SearchItemsByViewURLRequest+    , searchItemsByViewURLRequest+    , sibvurDebugOptions+    , sibvurPageToken+    , sibvurViewURL++    -- * SearchApplication+    , SearchApplication+    , searchApplication+    , saDataSourceRestrictions+    , saOperationIds+    , saDefaultFacetOptions+    , saScoringConfig+    , saName+    , saSourceConfig+    , saDisplayName+    , saDefaultSortOptions++    -- * BooleanOperatorOptions+    , BooleanOperatorOptions+    , booleanOperatorOptions+    , booOperatorName++    -- * Status+    , Status+    , status+    , sDetails+    , sCode+    , sMessage++    -- * EnumPropertyOptions+    , EnumPropertyOptions+    , enumPropertyOptions+    , epoPossibleValues+    , epoOrderedRanking+    , epoOperatorOptions++    -- * ItemStatusCode+    , ItemStatusCode (..)++    -- * UnreserveItemsRequest+    , UnreserveItemsRequest+    , unreserveItemsRequest+    , uirQueue+    , uirDebugOptions+    , uirConnectorName++    -- * DateOperatorOptions+    , DateOperatorOptions+    , dateOperatorOptions+    , dooOperatorName+    , dooLessThanOperatorName+    , dooGreaterThanOperatorName++    -- * GetDataSourceIndexStatsResponse+    , GetDataSourceIndexStatsResponse+    , getDataSourceIndexStatsResponse+    , gdsisrStats++    -- * ObjectDisplayOptions+    , ObjectDisplayOptions+    , objectDisplayOptions+    , odoMetalines+    , odoObjectDisplayLabel++    -- * QueryItem+    , QueryItem+    , queryItem+    , qiIsSynthetic++    -- * ListUnmAppedIdentitiesResponse+    , ListUnmAppedIdentitiesResponse+    , listUnmAppedIdentitiesResponse+    , luairNextPageToken+    , luairUnmAppedIdentities++    -- * DeleteQueueItemsRequest+    , DeleteQueueItemsRequest+    , deleteQueueItemsRequest+    , dqirQueue+    , dqirDebugOptions+    , dqirConnectorName++    -- * SearchResult+    , SearchResult+    , searchResult+    , srDebugInfo+    , srSnippet+    , srURL+    , srClusteredResults+    , srMetadata+    , srTitle++    -- * SpellResult+    , SpellResult+    , spellResult+    , srSuggestedQuery++    -- * PeopleSuggestion+    , PeopleSuggestion+    , peopleSuggestion+    , psPerson++    -- * QuerySource+    , QuerySource+    , querySource+    , qsShortName+    , qsDisplayName+    , qsSource+    , qsOperators++    -- * SuggestResponse+    , SuggestResponse+    , suggestResponse+    , srSuggestResults++    -- * RepositoryError+    , RepositoryError+    , repositoryError+    , reHTTPStatusCode+    , reType+    , reErrorMessage++    -- * QueryInterpretationInterpretationType+    , QueryInterpretationInterpretationType (..)++    -- * HTMLPropertyOptions+    , HTMLPropertyOptions+    , htmlPropertyOptions+    , hpoRetrievalImportance+    , hpoOperatorOptions++    -- * PropertyDefinition+    , PropertyDefinition+    , propertyDefinition+    , pdEnumPropertyOptions+    , pdHTMLPropertyOptions+    , pdObjectPropertyOptions+    , pdIsReturnable+    , pdTimestampPropertyOptions+    , pdIntegerPropertyOptions+    , pdName+    , pdIsRepeatable+    , pdDoublePropertyOptions+    , pdDisplayOptions+    , pdTextPropertyOptions+    , pdIsSortable+    , pdIsFacetable+    , pdBooleanPropertyOptions+    , pdDatePropertyOptions++    -- * SortOptions+    , SortOptions+    , sortOptions+    , soSortOrder+    , soOperatorName++    -- * ObjectPropertyOptions+    , ObjectPropertyOptions+    , objectPropertyOptions+    , opoSubobjectProperties++    -- * InteractionType+    , InteractionType (..)++    -- * QueryOperatorType+    , QueryOperatorType (..)++    -- * SearchResponse+    , SearchResponse+    , searchResponse+    , sSpellResults+    , sFacetResults+    , sDebugInfo+    , sResults+    , sHasMoreResults+    , sResultCounts+    , sResultCountExact+    , sResultCountEstimate+    , sQueryInterpretation+    , sStructuredResults+    , sErrorInfo++    -- * SuggestResult+    , SuggestResult+    , suggestResult+    , sPeopleSuggestion+    , sQuerySuggestion+    , sSuggestedQuery+    , sSource++    -- * TextValues+    , TextValues+    , textValues+    , tvValues++    -- * DriveLocationRestrict+    , DriveLocationRestrict+    , driveLocationRestrict+    , dlrType++    -- * ListQuerySourcesResponse+    , ListQuerySourcesResponse+    , listQuerySourcesResponse+    , lqsrNextPageToken+    , lqsrSources++    -- * DoubleOperatorOptions+    , DoubleOperatorOptions+    , doubleOperatorOptions+    , dOperatorName++    -- * Operation+    , Operation+    , operation+    , oDone+    , oError+    , oResponse+    , oName+    , oMetadata++    -- * Person+    , Person+    , person+    , pEmailAddresses+    , pPersonNames+    , pPhotos+    , pName+    , pObfuscatedId++    -- * CompositeFilter+    , CompositeFilter+    , compositeFilter+    , cfSubFilters+    , cfLogicOperator++    -- * ResultDisplayLine+    , ResultDisplayLine+    , resultDisplayLine+    , rdlFields++    -- * DoubleValues+    , DoubleValues+    , doubleValues+    , dvValues++    -- * Snippet+    , Snippet+    , snippet+    , sMatchRanges+    , sSnippet++    -- * TextOperatorOptions+    , TextOperatorOptions+    , textOperatorOptions+    , tooOperatorName+    , tooExactMatchWithOperator++    -- * EnumPropertyOptionsOrderedRanking+    , EnumPropertyOptionsOrderedRanking (..)++    -- * QueryInterpretationOptions+    , QueryInterpretationOptions+    , queryInterpretationOptions+    , qioDisableNlInterpretation++    -- * ResetSearchApplicationRequest+    , ResetSearchApplicationRequest+    , resetSearchApplicationRequest+    , rsarDebugOptions++    -- * IntegerPropertyOptionsOrderedRanking+    , IntegerPropertyOptionsOrderedRanking (..)++    -- * ItemMetadata+    , ItemMetadata+    , itemMetadata+    , imSourceRepositoryURL+    , imHash+    , imObjectType+    , imContainerName+    , imInteractions+    , imMimeType+    , imUpdateTime+    , imKeywords+    , imTitle+    , imContentLanguage+    , imSearchQualityMetadata+    , imCreateTime++    -- * FilterOptions+    , FilterOptions+    , filterOptions+    , foObjectType+    , foFilter++    -- * StructuredResult+    , StructuredResult+    , structuredResult+    , srPerson++    -- * ProcessingError+    , ProcessingError+    , processingError+    , peFieldViolations+    , peCode+    , peErrorMessage++    -- * PushItemType+    , PushItemType (..)++    -- * ListItemNamesForUnmAppedIdentityResponse+    , ListItemNamesForUnmAppedIdentityResponse+    , listItemNamesForUnmAppedIdentityResponse+    , linfuairNextPageToken+    , linfuairItemNames++    -- * CompositeFilterLogicOperator+    , CompositeFilterLogicOperator (..)++    -- * ItemACL+    , ItemACL+    , itemACL+    , iaOwners+    , iaReaders+    , iaACLInheritanceType+    , iaInheritACLFrom+    , iaDeniedReaders++    -- * Value+    , Value+    , value+    , vIntegerValue+    , vTimestampValue+    , vDoubleValue+    , vStringValue+    , vDateValue+    , vBooleanValue++    -- * FieldViolation+    , FieldViolation+    , fieldViolation+    , fvField+    , fvDescription++    -- * SourceScoringConfigSourceImportance+    , SourceScoringConfigSourceImportance (..)++    -- * Metaline+    , Metaline+    , metaline+    , mProperties++    -- * FacetBucket+    , FacetBucket+    , facetBucket+    , fbValue+    , fbCount+    , fbPercentage++    -- * StatusDetailsItem+    , StatusDetailsItem+    , statusDetailsItem+    , sdiAddtional++    -- * RetrievalImportanceImportance+    , RetrievalImportanceImportance (..)++    -- * TimestampOperatorOptions+    , TimestampOperatorOptions+    , timestampOperatorOptions+    , tOperatorName+    , tLessThanOperatorName+    , tGreaterThanOperatorName++    -- * ProcessingErrorCode+    , ProcessingErrorCode (..)++    -- * IntegerOperatorOptions+    , IntegerOperatorOptions+    , integerOperatorOptions+    , iooOperatorName+    , iooLessThanOperatorName+    , iooGreaterThanOperatorName++    -- * SortOptionsSortOrder+    , SortOptionsSortOrder (..)++    -- * QuerySuggestion+    , QuerySuggestion+    , querySuggestion++    -- * ListSearchApplicationsResponse+    , ListSearchApplicationsResponse+    , listSearchApplicationsResponse+    , lsarNextPageToken+    , lsarSearchApplications++    -- * ResultDebugInfo+    , ResultDebugInfo+    , resultDebugInfo+    , rdiFormattedDebugInfo++    -- * ItemCountByStatus+    , ItemCountByStatus+    , itemCountByStatus+    , icbsCount+    , icbsStatusCode++    -- * TimestampPropertyOptions+    , TimestampPropertyOptions+    , timestampPropertyOptions+    , tpoOperatorOptions++    -- * ResultCounts+    , ResultCounts+    , resultCounts+    , rcSourceResultCounts++    -- * FreshnessOptions+    , FreshnessOptions+    , freshnessOptions+    , foFreshnessDuration+    , foFreshnessProperty++    -- * DebugOptions+    , DebugOptions+    , debugOptions+    , doEnableDebugging++    -- * IntegerPropertyOptions+    , IntegerPropertyOptions+    , integerPropertyOptions+    , ipoMaximumValue+    , ipoOrderedRanking+    , ipoMinimumValue+    , ipoOperatorOptions++    -- * DataSourceRestriction+    , DataSourceRestriction+    , dataSourceRestriction+    , dsrFilterOptions+    , dsrSource++    -- * Schema+    , Schema+    , schema+    , sObjectDefinitions+    , sOperationIds++    -- * DriveTimeSpanRestrict+    , DriveTimeSpanRestrict+    , driveTimeSpanRestrict+    , dtsrType++    -- * ResultDisplayField+    , ResultDisplayField+    , resultDisplayField+    , rdfProperty+    , rdfOperatorName+    , rdfLabel++    -- * UpdateSchemaRequest+    , UpdateSchemaRequest+    , updateSchemaRequest+    , usrValidateOnly+    , usrSchema+    , usrDebugOptions++    -- * Date+    , Date+    , date+    , dDay+    , dYear+    , dMonth++    -- * DisplayedProperty+    , DisplayedProperty+    , displayedProperty+    , dpPropertyName++    -- * FacetResult+    , FacetResult+    , facetResult+    , frSourceName+    , frBuckets+    , frObjectType+    , frOperatorName++    -- * DriveMimeTypeRestrict+    , DriveMimeTypeRestrict+    , driveMimeTypeRestrict+    , dmtrType++    -- * StructuredDataObject+    , StructuredDataObject+    , structuredDataObject+    , sdoProperties++    -- * Media+    , Media+    , media+    , mResourceName++    -- * ItemStructuredData+    , ItemStructuredData+    , itemStructuredData+    , isdHash+    , isdObject++    -- * DriveFollowUpRestrict+    , DriveFollowUpRestrict+    , driveFollowUpRestrict+    , dfurType++    -- * DateValues+    , DateValues+    , dateValues+    , dValues++    -- * NamedProperty+    , NamedProperty+    , namedProperty+    , npDoubleValues+    , npTextValues+    , npDateValues+    , npName+    , npBooleanValue+    , npObjectValues+    , npHTMLValues+    , npEnumValues+    , npTimestampValues+    , npIntegerValues++    -- * MatchRange+    , MatchRange+    , matchRange+    , mrStart+    , mrEnd++    -- * ResponseDebugInfo+    , ResponseDebugInfo+    , responseDebugInfo+    , rFormattedDebugInfo++    -- * ListDataSourceResponse+    , ListDataSourceResponse+    , listDataSourceResponse+    , ldsrNextPageToken+    , ldsrSources++    -- * SearchRequest+    , SearchRequest+    , searchRequest+    , srSortOptions+    , srDataSourceRestrictions+    , srQueryInterpretationOptions+    , srStart+    , srQuery+    , srFacetOptions+    , srPageSize+    , srRequestOptions++    -- * Name+    , Name+    , name+    , nDisplayName++    -- * SourceResultCount+    , SourceResultCount+    , sourceResultCount+    , srcHasMoreResults+    , srcResultCountExact+    , srcResultCountEstimate+    , srcSource++    -- * SourceConfig+    , SourceConfig+    , sourceConfig+    , scCrowdingConfig+    , scScoringConfig+    , scSource++    -- * UnmAppedIdentityResolutionStatusCode+    , UnmAppedIdentityResolutionStatusCode (..)++    -- * ListItemsResponse+    , ListItemsResponse+    , listItemsResponse+    , lirNextPageToken+    , lirItems++    -- * ScoringConfig+    , ScoringConfig+    , scoringConfig+    , scDisablePersonalization+    , scDisableFreshness++    -- * StartUploadItemRequest+    , StartUploadItemRequest+    , startUploadItemRequest+    , suirDebugOptions+    , suirConnectorName++    -- * UploadItemRef+    , UploadItemRef+    , uploadItemRef+    , uirName++    -- * PushItemRequest+    , PushItemRequest+    , pushItemRequest+    , pirDebugOptions+    , pirConnectorName+    , pirItem++    -- * DoublePropertyOptions+    , DoublePropertyOptions+    , doublePropertyOptions+    , dpoOperatorOptions++    -- * QueryOperator+    , QueryOperator+    , queryOperator+    , qoIsSuggestable+    , qoIsReturnable+    , qoIsRepeatable+    , qoOperatorName+    , qoIsSortable+    , qoIsFacetable+    , qoDisplayName+    , qoLessThanOperatorName+    , qoType+    , qoEnumValues+    , qoGreaterThanOperatorName++    -- * Xgafv+    , Xgafv (..)++    -- * PollItemsResponse+    , PollItemsResponse+    , pollItemsResponse+    , pirItems++    -- * SourceScoringConfig+    , SourceScoringConfig+    , sourceScoringConfig+    , sscSourceImportance++    -- * EmailAddress+    , EmailAddress+    , emailAddress+    , eaEmailAddress++    -- * RetrievalImportance+    , RetrievalImportance+    , retrievalImportance+    , riImportance++    -- * DataSourceIndexStats+    , DataSourceIndexStats+    , dataSourceIndexStats+    , dsisItemCountByStatus+    , dsisDate++    -- * SourceCrowdingConfig+    , SourceCrowdingConfig+    , sourceCrowdingConfig+    , sccField+    , sccNumSuggestions+    , sccNumResults+    , sccSource++    -- * Interaction+    , Interaction+    , interaction+    , iInteractionTime+    , iPrincipal+    , iType++    -- * Principal+    , Principal+    , principal+    , pUserResourceName+    , pGroupResourceName+    , pGsuitePrincipal++    -- * IndexItemRequest+    , IndexItemRequest+    , indexItemRequest+    , iirMode+    , iirDebugOptions+    , iirConnectorName+    , iirItem++    -- * RepositoryErrorType+    , RepositoryErrorType (..)++    -- * TextPropertyOptions+    , TextPropertyOptions+    , textPropertyOptions+    , tRetrievalImportance+    , tOperatorOptions++    -- * EnumValuePair+    , EnumValuePair+    , enumValuePair+    , evpIntegerValue+    , evpStringValue++    -- * DriveLocationRestrictType+    , DriveLocationRestrictType (..)++    -- * Metadata+    , Metadata+    , metadata+    , mObjectType+    , mOwner+    , mMimeType+    , mUpdateTime+    , mDisplayOptions+    , mSource+    , mCreateTime+    , mFields++    -- * UpdateDataSourceRequest+    , UpdateDataSourceRequest+    , updateDataSourceRequest+    , udsrDebugOptions+    , udsrSource++    -- * DataSource+    , DataSource+    , dataSource+    , dsShortName+    , dsItemsVisibility+    , dsOperationIds+    , dsDisableServing+    , dsIndexingServiceAccounts+    , dsDisableModifications+    , dsName+    , dsDisplayName++    -- * HTMLValues+    , HTMLValues+    , htmlValues+    , hvValues++    -- * HTMLOperatorOptions+    , HTMLOperatorOptions+    , htmlOperatorOptions+    , hooOperatorName++    -- * Item+    , Item+    , item+    , iStatus+    , iItemType+    , iPayload+    , iStructuredData+    , iQueue+    , iContent+    , iName+    , iVersion+    , iMetadata+    , iACL++    -- * Source+    , Source+    , source+    , sName+    , sPredefinedSource++    -- * PropertyDisplayOptions+    , PropertyDisplayOptions+    , propertyDisplayOptions+    , pdoDisplayLabel++    -- * ObjectValues+    , ObjectValues+    , objectValues+    , ovValues++    -- * ObjectOptions+    , ObjectOptions+    , objectOptions+    , ooFreshnessOptions+    , ooDisplayOptions++    -- * FacetOptions+    , FacetOptions+    , facetOptions+    , fSourceName+    , fObjectType+    , fOperatorName++    -- * SuggestRequest+    , SuggestRequest+    , suggestRequest+    , sDataSourceRestrictions+    , sQuery+    , sRequestOptions++    -- * Filter+    , Filter+    , filter'+    , fCompositeFilter+    , fValueFilter++    -- * ObjectDefinition+    , ObjectDefinition+    , objectDefinition+    , odName+    , odOptions+    , odPropertyDefinitions++    -- * ItemItemType+    , ItemItemType (..)++    -- * ItemCountByStatusStatusCode+    , ItemCountByStatusStatusCode (..)++    -- * PollItemsRequest+    , PollItemsRequest+    , pollItemsRequest+    , pQueue+    , pDebugOptions+    , pConnectorName+    , pStatusCodes+    , pLimit++    -- * QueryInterpretation+    , QueryInterpretation+    , queryInterpretation+    , qiInterpretedQuery+    , qiInterpretationType++    -- * UnmAppedIdentity+    , UnmAppedIdentity+    , unmAppedIdentity+    , uaiResolutionStatusCode+    , uaiExternalIdentity++    -- * OperationMetadata+    , OperationMetadata+    , operationMetadata+    , omAddtional++    -- * CustomerIndexStats+    , CustomerIndexStats+    , customerIndexStats+    , cisItemCountByStatus+    , cisDate++    -- * PushItem+    , PushItem+    , pushItem+    , piRepositoryError+    , piContentHash+    , piStructuredDataHash+    , piPayload+    , piQueue+    , piMetadataHash+    , piType++    -- * ErrorMessage+    , ErrorMessage+    , errorMessage+    , emSource+    , emErrorMessage++    -- * BooleanPropertyOptions+    , BooleanPropertyOptions+    , booleanPropertyOptions+    , bpoOperatorOptions++    -- * ValueFilter+    , ValueFilter+    , valueFilter+    , vfValue+    , vfOperatorName++    -- * EnumOperatorOptions+    , EnumOperatorOptions+    , enumOperatorOptions+    , eooOperatorName++    -- * DatePropertyOptions+    , DatePropertyOptions+    , datePropertyOptions+    , dOperatorOptions++    -- * EnumValues+    , EnumValues+    , enumValues+    , evValues++    -- * GSuitePrincipal+    , GSuitePrincipal+    , gSuitePrincipal+    , gspGsuiteGroupEmail+    , gspGsuiteUserEmail+    , gspGsuiteDomain++    -- * SearchQualityMetadata+    , SearchQualityMetadata+    , searchQualityMetadata+    , sqmQuality++    -- * ItemContentContentFormat+    , ItemContentContentFormat (..)++    -- * TimestampValues+    , TimestampValues+    , timestampValues+    , tValues++    -- * ErrorInfo+    , ErrorInfo+    , errorInfo+    , eiErrorMessages++    -- * ResultDisplayMetadata+    , ResultDisplayMetadata+    , resultDisplayMetadata+    , rdmMetalines+    , rdmObjectTypeLabel++    -- * OperationResponse+    , OperationResponse+    , operationResponse+    , orAddtional++    -- * IntegerValues+    , IntegerValues+    , integerValues+    , ivValues++    -- * SearchItemsByViewURLResponse+    , SearchItemsByViewURLResponse+    , searchItemsByViewURLResponse+    , sibvurNextPageToken+    , sibvurItems++    -- * SourcePredefinedSource+    , SourcePredefinedSource (..)++    -- * GetCustomerIndexStatsResponse+    , GetCustomerIndexStatsResponse+    , getCustomerIndexStatsResponse+    , gcisrStats++    -- * RestrictItem+    , RestrictItem+    , restrictItem+    , riDriveLocationRestrict+    , riDriveTimeSpanRestrict+    , riDriveMimeTypeRestrict+    , riDriveFollowUpRestrict+    , riSearchOperator++    -- * DriveTimeSpanRestrictType+    , DriveTimeSpanRestrictType (..)++    -- * IndexItemRequestMode+    , IndexItemRequestMode (..)++    -- * ItemACLACLInheritanceType+    , ItemACLACLInheritanceType (..)++    -- * CheckAccessResponse+    , CheckAccessResponse+    , checkAccessResponse+    , carHasAccess++    -- * RequestOptions+    , RequestOptions+    , requestOptions+    , roLanguageCode+    , roDebugOptions+    , roTimeZone+    , roSearchApplicationId++    -- * ItemStatus+    , ItemStatus+    , itemStatus+    , isProcessingErrors+    , isCode+    , isRepositoryErrors+    ) where++import           Network.Google.CloudSearch.Types.Product+import           Network.Google.CloudSearch.Types.Sum+import           Network.Google.Prelude++-- | Default request referring to version 'v1' of the Cloud Search API. This contains the host and root path used as a starting point for constructing service requests.+cloudSearchService :: ServiceConfig+cloudSearchService+  = defaultService (ServiceId "cloudsearch:v1")+      "cloudsearch.googleapis.com"++-- | New Service:+-- https:\/\/www.googleapis.com\/auth\/cloud_search.settings.query+cloudSearchSettingsQueryScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.settings.query"]+cloudSearchSettingsQueryScope = Proxy;++-- | New Service:+-- https:\/\/www.googleapis.com\/auth\/cloud_search.stats.indexing+cloudSearchStatsIndexingScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.stats.indexing"]+cloudSearchStatsIndexingScope = Proxy;++-- | New Service: https:\/\/www.googleapis.com\/auth\/cloud_search.indexing+cloudSearchIndexingScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.indexing"]+cloudSearchIndexingScope = Proxy;++-- | Index and serve your organization\'s data with Cloud Search+cloudSearchScope :: Proxy '["https://www.googleapis.com/auth/cloud_search"]+cloudSearchScope = Proxy;++-- | New Service:+-- https:\/\/www.googleapis.com\/auth\/cloud_search.settings.indexing+cloudSearchSettingsIndexingScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.settings.indexing"]+cloudSearchSettingsIndexingScope = Proxy;++-- | Search your organization\'s data in the Cloud Search index+cloudSearchQueryScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.query"]+cloudSearchQueryScope = Proxy;++-- | New Service: https:\/\/www.googleapis.com\/auth\/cloud_search.debug+cloudSearchDebugScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.debug"]+cloudSearchDebugScope = Proxy;++-- | New Service: https:\/\/www.googleapis.com\/auth\/cloud_search.stats+cloudSearchStatsScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.stats"]+cloudSearchStatsScope = Proxy;++-- | New Service: https:\/\/www.googleapis.com\/auth\/cloud_search.settings+cloudSearchSettingsScope :: Proxy '["https://www.googleapis.com/auth/cloud_search.settings"]+cloudSearchSettingsScope = Proxy;
+ gen/Network/Google/CloudSearch/Types/Product.hs view
@@ -0,0 +1,8432 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudSearch.Types.Product+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CloudSearch.Types.Product where++import           Network.Google.CloudSearch.Types.Sum+import           Network.Google.Prelude++-- | Content of an item to be indexed and surfaced by Cloud Search.+--+-- /See:/ 'itemContent' smart constructor.+data ItemContent = ItemContent'+    { _icHash           :: !(Maybe Text)+    , _icContentFormat  :: !(Maybe ItemContentContentFormat)+    , _icContentDataRef :: !(Maybe UploadItemRef)+    , _icInlineContent  :: !(Maybe Bytes)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ItemContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icHash'+--+-- * 'icContentFormat'+--+-- * 'icContentDataRef'+--+-- * 'icInlineContent'+itemContent+    :: ItemContent+itemContent =+    ItemContent'+    { _icHash = Nothing+    , _icContentFormat = Nothing+    , _icContentDataRef = Nothing+    , _icInlineContent = Nothing+    }++-- | Hashing info calculated and provided by the API client for content. Can+-- be used with the items.push method to calculate modified state. The+-- maximum length is 2048 characters.+icHash :: Lens' ItemContent (Maybe Text)+icHash = lens _icHash (\ s a -> s{_icHash = a})++icContentFormat :: Lens' ItemContent (Maybe ItemContentContentFormat)+icContentFormat+  = lens _icContentFormat+      (\ s a -> s{_icContentFormat = a})++-- | Upload reference ID of a previously uploaded content via write method.+icContentDataRef :: Lens' ItemContent (Maybe UploadItemRef)+icContentDataRef+  = lens _icContentDataRef+      (\ s a -> s{_icContentDataRef = a})++-- | Content that is supplied inlined within the update method. The maximum+-- length is 102400 bytes (100 KiB).+icInlineContent :: Lens' ItemContent (Maybe ByteString)+icInlineContent+  = lens _icInlineContent+      (\ s a -> s{_icInlineContent = a})+      . mapping _Bytes++instance FromJSON ItemContent where+        parseJSON+          = withObject "ItemContent"+              (\ o ->+                 ItemContent' <$>+                   (o .:? "hash") <*> (o .:? "contentFormat") <*>+                     (o .:? "contentDataRef")+                     <*> (o .:? "inlineContent"))++instance ToJSON ItemContent where+        toJSON ItemContent'{..}+          = object+              (catMaybes+                 [("hash" .=) <$> _icHash,+                  ("contentFormat" .=) <$> _icContentFormat,+                  ("contentDataRef" .=) <$> _icContentDataRef,+                  ("inlineContent" .=) <$> _icInlineContent])++-- | A person\'s photo.+--+-- /See:/ 'photo' smart constructor.+newtype Photo = Photo'+    { _pURL :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Photo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pURL'+photo+    :: Photo+photo =+    Photo'+    { _pURL = Nothing+    }++-- | The URL of the photo.+pURL :: Lens' Photo (Maybe Text)+pURL = lens _pURL (\ s a -> s{_pURL = a})++instance FromJSON Photo where+        parseJSON+          = withObject "Photo"+              (\ o -> Photo' <$> (o .:? "url"))++instance ToJSON Photo where+        toJSON Photo'{..}+          = object (catMaybes [("url" .=) <$> _pURL])++--+-- /See:/ 'searchItemsByViewURLRequest' smart constructor.+data SearchItemsByViewURLRequest = SearchItemsByViewURLRequest'+    { _sibvurDebugOptions :: !(Maybe DebugOptions)+    , _sibvurPageToken    :: !(Maybe Text)+    , _sibvurViewURL      :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchItemsByViewURLRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sibvurDebugOptions'+--+-- * 'sibvurPageToken'+--+-- * 'sibvurViewURL'+searchItemsByViewURLRequest+    :: SearchItemsByViewURLRequest+searchItemsByViewURLRequest =+    SearchItemsByViewURLRequest'+    { _sibvurDebugOptions = Nothing+    , _sibvurPageToken = Nothing+    , _sibvurViewURL = Nothing+    }++-- | Common debug options.+sibvurDebugOptions :: Lens' SearchItemsByViewURLRequest (Maybe DebugOptions)+sibvurDebugOptions+  = lens _sibvurDebugOptions+      (\ s a -> s{_sibvurDebugOptions = a})++-- | The next_page_token value returned from a previous request, if any.+sibvurPageToken :: Lens' SearchItemsByViewURLRequest (Maybe Text)+sibvurPageToken+  = lens _sibvurPageToken+      (\ s a -> s{_sibvurPageToken = a})++-- | Specify the full view URL to find the corresponding item. The maximum+-- length is 2048 characters.+sibvurViewURL :: Lens' SearchItemsByViewURLRequest (Maybe Text)+sibvurViewURL+  = lens _sibvurViewURL+      (\ s a -> s{_sibvurViewURL = a})++instance FromJSON SearchItemsByViewURLRequest where+        parseJSON+          = withObject "SearchItemsByViewURLRequest"+              (\ o ->+                 SearchItemsByViewURLRequest' <$>+                   (o .:? "debugOptions") <*> (o .:? "pageToken") <*>+                     (o .:? "viewUrl"))++instance ToJSON SearchItemsByViewURLRequest where+        toJSON SearchItemsByViewURLRequest'{..}+          = object+              (catMaybes+                 [("debugOptions" .=) <$> _sibvurDebugOptions,+                  ("pageToken" .=) <$> _sibvurPageToken,+                  ("viewUrl" .=) <$> _sibvurViewURL])++-- | SearchApplication+--+-- /See:/ 'searchApplication' smart constructor.+data SearchApplication = SearchApplication'+    { _saDataSourceRestrictions :: !(Maybe [DataSourceRestriction])+    , _saOperationIds           :: !(Maybe [Text])+    , _saDefaultFacetOptions    :: !(Maybe [FacetOptions])+    , _saScoringConfig          :: !(Maybe ScoringConfig)+    , _saName                   :: !(Maybe Text)+    , _saSourceConfig           :: !(Maybe [SourceConfig])+    , _saDisplayName            :: !(Maybe Text)+    , _saDefaultSortOptions     :: !(Maybe SortOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchApplication' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saDataSourceRestrictions'+--+-- * 'saOperationIds'+--+-- * 'saDefaultFacetOptions'+--+-- * 'saScoringConfig'+--+-- * 'saName'+--+-- * 'saSourceConfig'+--+-- * 'saDisplayName'+--+-- * 'saDefaultSortOptions'+searchApplication+    :: SearchApplication+searchApplication =+    SearchApplication'+    { _saDataSourceRestrictions = Nothing+    , _saOperationIds = Nothing+    , _saDefaultFacetOptions = Nothing+    , _saScoringConfig = Nothing+    , _saName = Nothing+    , _saSourceConfig = Nothing+    , _saDisplayName = Nothing+    , _saDefaultSortOptions = Nothing+    }++-- | Retrictions applied to the configurations. The maximum number of+-- elements is 10.+saDataSourceRestrictions :: Lens' SearchApplication [DataSourceRestriction]+saDataSourceRestrictions+  = lens _saDataSourceRestrictions+      (\ s a -> s{_saDataSourceRestrictions = a})+      . _Default+      . _Coerce++-- | IDs of the Long Running Operations (LROs) currently running for this+-- schema. Output only field.+saOperationIds :: Lens' SearchApplication [Text]+saOperationIds+  = lens _saOperationIds+      (\ s a -> s{_saOperationIds = a})+      . _Default+      . _Coerce++-- | The default fields for returning facet results. The sources specified+-- here also have been included in data_source_restrictions above.+saDefaultFacetOptions :: Lens' SearchApplication [FacetOptions]+saDefaultFacetOptions+  = lens _saDefaultFacetOptions+      (\ s a -> s{_saDefaultFacetOptions = a})+      . _Default+      . _Coerce++-- | Configuration for ranking results.+saScoringConfig :: Lens' SearchApplication (Maybe ScoringConfig)+saScoringConfig+  = lens _saScoringConfig+      (\ s a -> s{_saScoringConfig = a})++-- | Name of the Search Application.+-- Format: searchapplications\/{application_id}.+saName :: Lens' SearchApplication (Maybe Text)+saName = lens _saName (\ s a -> s{_saName = a})++-- | Configuration for a sources specified in data_source_restrictions.+saSourceConfig :: Lens' SearchApplication [SourceConfig]+saSourceConfig+  = lens _saSourceConfig+      (\ s a -> s{_saSourceConfig = a})+      . _Default+      . _Coerce++-- | Display name of the Search Application. The maximum length is 300+-- characters.+saDisplayName :: Lens' SearchApplication (Maybe Text)+saDisplayName+  = lens _saDisplayName+      (\ s a -> s{_saDisplayName = a})++-- | The default options for sorting the search results+saDefaultSortOptions :: Lens' SearchApplication (Maybe SortOptions)+saDefaultSortOptions+  = lens _saDefaultSortOptions+      (\ s a -> s{_saDefaultSortOptions = a})++instance FromJSON SearchApplication where+        parseJSON+          = withObject "SearchApplication"+              (\ o ->+                 SearchApplication' <$>+                   (o .:? "dataSourceRestrictions" .!= mempty) <*>+                     (o .:? "operationIds" .!= mempty)+                     <*> (o .:? "defaultFacetOptions" .!= mempty)+                     <*> (o .:? "scoringConfig")+                     <*> (o .:? "name")+                     <*> (o .:? "sourceConfig" .!= mempty)+                     <*> (o .:? "displayName")+                     <*> (o .:? "defaultSortOptions"))++instance ToJSON SearchApplication where+        toJSON SearchApplication'{..}+          = object+              (catMaybes+                 [("dataSourceRestrictions" .=) <$>+                    _saDataSourceRestrictions,+                  ("operationIds" .=) <$> _saOperationIds,+                  ("defaultFacetOptions" .=) <$>+                    _saDefaultFacetOptions,+                  ("scoringConfig" .=) <$> _saScoringConfig,+                  ("name" .=) <$> _saName,+                  ("sourceConfig" .=) <$> _saSourceConfig,+                  ("displayName" .=) <$> _saDisplayName,+                  ("defaultSortOptions" .=) <$> _saDefaultSortOptions])++-- | Used to provide a search operator for boolean properties. This is+-- optional. Search operators let users restrict the query to specific+-- fields relevant to the type of item being searched.+--+-- /See:/ 'booleanOperatorOptions' smart constructor.+newtype BooleanOperatorOptions = BooleanOperatorOptions'+    { _booOperatorName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooleanOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'booOperatorName'+booleanOperatorOptions+    :: BooleanOperatorOptions+booleanOperatorOptions =+    BooleanOperatorOptions'+    { _booOperatorName = Nothing+    }++-- | Indicates the operator name required in the query in order to isolate+-- the boolean property. For example, if operatorName is *closed* and the+-- property\'s name is *isClosed*, then queries like *closed:\<value>* will+-- show results only where the value of the property named *isClosed*+-- matches *\<value>*. By contrast, a search that uses the same *\<value>*+-- without an operator will return all items where *\<value>* matches the+-- value of any String properties or text within the content field for the+-- item. The operator name can only contain lowercase letters (a-z). The+-- maximum length is 32 characters.+booOperatorName :: Lens' BooleanOperatorOptions (Maybe Text)+booOperatorName+  = lens _booOperatorName+      (\ s a -> s{_booOperatorName = a})++instance FromJSON BooleanOperatorOptions where+        parseJSON+          = withObject "BooleanOperatorOptions"+              (\ o ->+                 BooleanOperatorOptions' <$> (o .:? "operatorName"))++instance ToJSON BooleanOperatorOptions where+        toJSON BooleanOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _booOperatorName])++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+    { _sDetails :: !(Maybe [StatusDetailsItem])+    , _sCode    :: !(Maybe (Textual Int32))+    , _sMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+    :: Status+status =+    Status'+    { _sDetails = Nothing+    , _sCode = Nothing+    , _sMessage = Nothing+    }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+  = lens _sDetails (\ s a -> s{_sDetails = a}) .+      _Default+      . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+  = lens _sCode (\ s a -> s{_sCode = a}) .+      mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+        parseJSON+          = withObject "Status"+              (\ o ->+                 Status' <$>+                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+                     (o .:? "message"))++instance ToJSON Status where+        toJSON Status'{..}+          = object+              (catMaybes+                 [("details" .=) <$> _sDetails,+                  ("code" .=) <$> _sCode,+                  ("message" .=) <$> _sMessage])++-- | Options for enum properties, which allow you to define a restricted set+-- of strings to match user queries, set rankings for those string values,+-- and define an operator name to be paired with those strings so that+-- users can narrow results to only items with a specific value. For+-- example, for items in a request tracking system with priority+-- information, you could define *p0* as an allowable enum value and tie+-- this enum to the operator name *priority* so that search users could add+-- *priority:p0* to their query to restrict the set of results to only+-- those items indexed with the value *p0*.+--+-- /See:/ 'enumPropertyOptions' smart constructor.+data EnumPropertyOptions = EnumPropertyOptions'+    { _epoPossibleValues  :: !(Maybe [EnumValuePair])+    , _epoOrderedRanking  :: !(Maybe EnumPropertyOptionsOrderedRanking)+    , _epoOperatorOptions :: !(Maybe EnumOperatorOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnumPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epoPossibleValues'+--+-- * 'epoOrderedRanking'+--+-- * 'epoOperatorOptions'+enumPropertyOptions+    :: EnumPropertyOptions+enumPropertyOptions =+    EnumPropertyOptions'+    { _epoPossibleValues = Nothing+    , _epoOrderedRanking = Nothing+    , _epoOperatorOptions = Nothing+    }++-- | The list of possible values for the enumeration property. All+-- EnumValuePairs must provide a string value. If you specify an integer+-- value for one EnumValuePair, then all possible EnumValuePairs must+-- provide an integer value. Both the string value and integer value must+-- be unique over all possible values. Once set, possible values cannot be+-- removed or modified. If you supply an ordered ranking and think you+-- might insert additional enum values in the future, leave gaps in the+-- initial integer values to allow adding a value in between previously+-- registered values. The maximum number of elements is 100.+epoPossibleValues :: Lens' EnumPropertyOptions [EnumValuePair]+epoPossibleValues+  = lens _epoPossibleValues+      (\ s a -> s{_epoPossibleValues = a})+      . _Default+      . _Coerce++-- | Used to specify the ordered ranking for the enumeration that determines+-- how the integer values provided in the possible EnumValuePairs are used+-- to rank results. If specified, integer values must be provided for all+-- possible EnumValuePair values given for this property. Can only be used+-- if isRepeatable is false.+epoOrderedRanking :: Lens' EnumPropertyOptions (Maybe EnumPropertyOptionsOrderedRanking)+epoOrderedRanking+  = lens _epoOrderedRanking+      (\ s a -> s{_epoOrderedRanking = a})++-- | If set, describes how the enum should be used as a search operator.+epoOperatorOptions :: Lens' EnumPropertyOptions (Maybe EnumOperatorOptions)+epoOperatorOptions+  = lens _epoOperatorOptions+      (\ s a -> s{_epoOperatorOptions = a})++instance FromJSON EnumPropertyOptions where+        parseJSON+          = withObject "EnumPropertyOptions"+              (\ o ->+                 EnumPropertyOptions' <$>+                   (o .:? "possibleValues" .!= mempty) <*>+                     (o .:? "orderedRanking")+                     <*> (o .:? "operatorOptions"))++instance ToJSON EnumPropertyOptions where+        toJSON EnumPropertyOptions'{..}+          = object+              (catMaybes+                 [("possibleValues" .=) <$> _epoPossibleValues,+                  ("orderedRanking" .=) <$> _epoOrderedRanking,+                  ("operatorOptions" .=) <$> _epoOperatorOptions])++--+-- /See:/ 'unreserveItemsRequest' smart constructor.+data UnreserveItemsRequest = UnreserveItemsRequest'+    { _uirQueue         :: !(Maybe Text)+    , _uirDebugOptions  :: !(Maybe DebugOptions)+    , _uirConnectorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnreserveItemsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uirQueue'+--+-- * 'uirDebugOptions'+--+-- * 'uirConnectorName'+unreserveItemsRequest+    :: UnreserveItemsRequest+unreserveItemsRequest =+    UnreserveItemsRequest'+    { _uirQueue = Nothing+    , _uirDebugOptions = Nothing+    , _uirConnectorName = Nothing+    }++-- | Name of a queue to unreserve items from.+uirQueue :: Lens' UnreserveItemsRequest (Maybe Text)+uirQueue = lens _uirQueue (\ s a -> s{_uirQueue = a})++-- | Common debug options.+uirDebugOptions :: Lens' UnreserveItemsRequest (Maybe DebugOptions)+uirDebugOptions+  = lens _uirDebugOptions+      (\ s a -> s{_uirDebugOptions = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+uirConnectorName :: Lens' UnreserveItemsRequest (Maybe Text)+uirConnectorName+  = lens _uirConnectorName+      (\ s a -> s{_uirConnectorName = a})++instance FromJSON UnreserveItemsRequest where+        parseJSON+          = withObject "UnreserveItemsRequest"+              (\ o ->+                 UnreserveItemsRequest' <$>+                   (o .:? "queue") <*> (o .:? "debugOptions") <*>+                     (o .:? "connectorName"))++instance ToJSON UnreserveItemsRequest where+        toJSON UnreserveItemsRequest'{..}+          = object+              (catMaybes+                 [("queue" .=) <$> _uirQueue,+                  ("debugOptions" .=) <$> _uirDebugOptions,+                  ("connectorName" .=) <$> _uirConnectorName])++-- | Optional. Provides a search operator for date properties. Search+-- operators let users restrict the query to specific fields relevant to+-- the type of item being searched.+--+-- /See:/ 'dateOperatorOptions' smart constructor.+data DateOperatorOptions = DateOperatorOptions'+    { _dooOperatorName            :: !(Maybe Text)+    , _dooLessThanOperatorName    :: !(Maybe Text)+    , _dooGreaterThanOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DateOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dooOperatorName'+--+-- * 'dooLessThanOperatorName'+--+-- * 'dooGreaterThanOperatorName'+dateOperatorOptions+    :: DateOperatorOptions+dateOperatorOptions =+    DateOperatorOptions'+    { _dooOperatorName = Nothing+    , _dooLessThanOperatorName = Nothing+    , _dooGreaterThanOperatorName = Nothing+    }++-- | Indicates the actual string required in the query in order to isolate+-- the date property. For example, suppose an issue tracking schema object+-- has a property named *closeDate* that specifies an operator with an+-- operatorName of *closedon*. For searches on that data, queries like+-- *closedon:\<value>* will show results only where the value of the+-- *closeDate* property matches *\<value>*. By contrast, a search that uses+-- the same *\<value>* without an operator will return all items where+-- *\<value>* matches the value of any String properties or text within the+-- content field for the indexed datasource. The operator name can only+-- contain lowercase letters (a-z). The maximum length is 32 characters.+dooOperatorName :: Lens' DateOperatorOptions (Maybe Text)+dooOperatorName+  = lens _dooOperatorName+      (\ s a -> s{_dooOperatorName = a})++-- | Indicates the operator name required in the query in order to isolate+-- the date property using the less-than operator. For example, if+-- lessThanOperatorName is *closedbefore* and the property\'s name is+-- *closeDate*, then queries like *closedbefore:\<value>* will show results+-- only where the value of the property named *closeDate* is earlier than+-- *\<value>*. The operator name can only contain lowercase letters (a-z).+-- The maximum length is 32 characters.+dooLessThanOperatorName :: Lens' DateOperatorOptions (Maybe Text)+dooLessThanOperatorName+  = lens _dooLessThanOperatorName+      (\ s a -> s{_dooLessThanOperatorName = a})++-- | Indicates the operator name required in the query in order to isolate+-- the date property using the greater-than operator. For example, if+-- greaterThanOperatorName is *closedafter* and the property\'s name is+-- *closeDate*, then queries like *closedafter:\<value>* will show results+-- only where the value of the property named *closeDate* is later than+-- *\<value>*. The operator name can only contain lowercase letters (a-z).+-- The maximum length is 32 characters.+dooGreaterThanOperatorName :: Lens' DateOperatorOptions (Maybe Text)+dooGreaterThanOperatorName+  = lens _dooGreaterThanOperatorName+      (\ s a -> s{_dooGreaterThanOperatorName = a})++instance FromJSON DateOperatorOptions where+        parseJSON+          = withObject "DateOperatorOptions"+              (\ o ->+                 DateOperatorOptions' <$>+                   (o .:? "operatorName") <*>+                     (o .:? "lessThanOperatorName")+                     <*> (o .:? "greaterThanOperatorName"))++instance ToJSON DateOperatorOptions where+        toJSON DateOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _dooOperatorName,+                  ("lessThanOperatorName" .=) <$>+                    _dooLessThanOperatorName,+                  ("greaterThanOperatorName" .=) <$>+                    _dooGreaterThanOperatorName])++--+-- /See:/ 'getDataSourceIndexStatsResponse' smart constructor.+newtype GetDataSourceIndexStatsResponse = GetDataSourceIndexStatsResponse'+    { _gdsisrStats :: Maybe [DataSourceIndexStats]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDataSourceIndexStatsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsisrStats'+getDataSourceIndexStatsResponse+    :: GetDataSourceIndexStatsResponse+getDataSourceIndexStatsResponse =+    GetDataSourceIndexStatsResponse'+    { _gdsisrStats = Nothing+    }++-- | Summary of indexed item counts, one for each day in the requested range.+gdsisrStats :: Lens' GetDataSourceIndexStatsResponse [DataSourceIndexStats]+gdsisrStats+  = lens _gdsisrStats (\ s a -> s{_gdsisrStats = a}) .+      _Default+      . _Coerce++instance FromJSON GetDataSourceIndexStatsResponse+         where+        parseJSON+          = withObject "GetDataSourceIndexStatsResponse"+              (\ o ->+                 GetDataSourceIndexStatsResponse' <$>+                   (o .:? "stats" .!= mempty))++instance ToJSON GetDataSourceIndexStatsResponse where+        toJSON GetDataSourceIndexStatsResponse'{..}+          = object (catMaybes [("stats" .=) <$> _gdsisrStats])++-- | The display options for an object.+--+-- /See:/ 'objectDisplayOptions' smart constructor.+data ObjectDisplayOptions = ObjectDisplayOptions'+    { _odoMetalines          :: !(Maybe [Metaline])+    , _odoObjectDisplayLabel :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectDisplayOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odoMetalines'+--+-- * 'odoObjectDisplayLabel'+objectDisplayOptions+    :: ObjectDisplayOptions+objectDisplayOptions =+    ObjectDisplayOptions'+    { _odoMetalines = Nothing+    , _odoObjectDisplayLabel = Nothing+    }++-- | Defines the properties that will be displayed in the metalines of the+-- search results. The property values will be displayed in the order given+-- here. If a property holds multiple values, all of the values will be+-- diplayed before the next properties. For this reason, it is a good+-- practice to specify singular properties before repeated properties in+-- this list. All of the properties must set is_returnable to true. The+-- maximum number of elements is 3.+odoMetalines :: Lens' ObjectDisplayOptions [Metaline]+odoMetalines+  = lens _odoMetalines (\ s a -> s{_odoMetalines = a})+      . _Default+      . _Coerce++-- | The user friendly label to display in the search result to inidicate the+-- type of the item. This is OPTIONAL; if not given, an object label will+-- not be displayed on the context line of the search results. The maximum+-- length is 32 characters.+odoObjectDisplayLabel :: Lens' ObjectDisplayOptions (Maybe Text)+odoObjectDisplayLabel+  = lens _odoObjectDisplayLabel+      (\ s a -> s{_odoObjectDisplayLabel = a})++instance FromJSON ObjectDisplayOptions where+        parseJSON+          = withObject "ObjectDisplayOptions"+              (\ o ->+                 ObjectDisplayOptions' <$>+                   (o .:? "metalines" .!= mempty) <*>+                     (o .:? "objectDisplayLabel"))++instance ToJSON ObjectDisplayOptions where+        toJSON ObjectDisplayOptions'{..}+          = object+              (catMaybes+                 [("metalines" .=) <$> _odoMetalines,+                  ("objectDisplayLabel" .=) <$>+                    _odoObjectDisplayLabel])++-- | Information relevant only to a query entry.+--+-- /See:/ 'queryItem' smart constructor.+newtype QueryItem = QueryItem'+    { _qiIsSynthetic :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qiIsSynthetic'+queryItem+    :: QueryItem+queryItem =+    QueryItem'+    { _qiIsSynthetic = Nothing+    }++-- | True if the text was generated by means other than a previous user+-- search.+qiIsSynthetic :: Lens' QueryItem (Maybe Bool)+qiIsSynthetic+  = lens _qiIsSynthetic+      (\ s a -> s{_qiIsSynthetic = a})++instance FromJSON QueryItem where+        parseJSON+          = withObject "QueryItem"+              (\ o -> QueryItem' <$> (o .:? "isSynthetic"))++instance ToJSON QueryItem where+        toJSON QueryItem'{..}+          = object+              (catMaybes [("isSynthetic" .=) <$> _qiIsSynthetic])++--+-- /See:/ 'listUnmAppedIdentitiesResponse' smart constructor.+data ListUnmAppedIdentitiesResponse = ListUnmAppedIdentitiesResponse'+    { _luairNextPageToken      :: !(Maybe Text)+    , _luairUnmAppedIdentities :: !(Maybe [UnmAppedIdentity])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListUnmAppedIdentitiesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'luairNextPageToken'+--+-- * 'luairUnmAppedIdentities'+listUnmAppedIdentitiesResponse+    :: ListUnmAppedIdentitiesResponse+listUnmAppedIdentitiesResponse =+    ListUnmAppedIdentitiesResponse'+    { _luairNextPageToken = Nothing+    , _luairUnmAppedIdentities = Nothing+    }++-- | Token to retrieve the next page of results, or empty if there are no+-- more results in the list.+luairNextPageToken :: Lens' ListUnmAppedIdentitiesResponse (Maybe Text)+luairNextPageToken+  = lens _luairNextPageToken+      (\ s a -> s{_luairNextPageToken = a})++luairUnmAppedIdentities :: Lens' ListUnmAppedIdentitiesResponse [UnmAppedIdentity]+luairUnmAppedIdentities+  = lens _luairUnmAppedIdentities+      (\ s a -> s{_luairUnmAppedIdentities = a})+      . _Default+      . _Coerce++instance FromJSON ListUnmAppedIdentitiesResponse+         where+        parseJSON+          = withObject "ListUnmAppedIdentitiesResponse"+              (\ o ->+                 ListUnmAppedIdentitiesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "unmappedIdentities" .!= mempty))++instance ToJSON ListUnmAppedIdentitiesResponse where+        toJSON ListUnmAppedIdentitiesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _luairNextPageToken,+                  ("unmappedIdentities" .=) <$>+                    _luairUnmAppedIdentities])++--+-- /See:/ 'deleteQueueItemsRequest' smart constructor.+data DeleteQueueItemsRequest = DeleteQueueItemsRequest'+    { _dqirQueue         :: !(Maybe Text)+    , _dqirDebugOptions  :: !(Maybe DebugOptions)+    , _dqirConnectorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteQueueItemsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dqirQueue'+--+-- * 'dqirDebugOptions'+--+-- * 'dqirConnectorName'+deleteQueueItemsRequest+    :: DeleteQueueItemsRequest+deleteQueueItemsRequest =+    DeleteQueueItemsRequest'+    { _dqirQueue = Nothing+    , _dqirDebugOptions = Nothing+    , _dqirConnectorName = Nothing+    }++-- | Name of a queue to delete items from.+dqirQueue :: Lens' DeleteQueueItemsRequest (Maybe Text)+dqirQueue+  = lens _dqirQueue (\ s a -> s{_dqirQueue = a})++-- | Common debug options.+dqirDebugOptions :: Lens' DeleteQueueItemsRequest (Maybe DebugOptions)+dqirDebugOptions+  = lens _dqirDebugOptions+      (\ s a -> s{_dqirDebugOptions = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+dqirConnectorName :: Lens' DeleteQueueItemsRequest (Maybe Text)+dqirConnectorName+  = lens _dqirConnectorName+      (\ s a -> s{_dqirConnectorName = a})++instance FromJSON DeleteQueueItemsRequest where+        parseJSON+          = withObject "DeleteQueueItemsRequest"+              (\ o ->+                 DeleteQueueItemsRequest' <$>+                   (o .:? "queue") <*> (o .:? "debugOptions") <*>+                     (o .:? "connectorName"))++instance ToJSON DeleteQueueItemsRequest where+        toJSON DeleteQueueItemsRequest'{..}+          = object+              (catMaybes+                 [("queue" .=) <$> _dqirQueue,+                  ("debugOptions" .=) <$> _dqirDebugOptions,+                  ("connectorName" .=) <$> _dqirConnectorName])++-- | Results containing indexed information for a document.+--+-- /See:/ 'searchResult' smart constructor.+data SearchResult = SearchResult'+    { _srDebugInfo        :: !(Maybe ResultDebugInfo)+    , _srSnippet          :: !(Maybe Snippet)+    , _srURL              :: !(Maybe Text)+    , _srClusteredResults :: !(Maybe [SearchResult])+    , _srMetadata         :: !(Maybe Metadata)+    , _srTitle            :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srDebugInfo'+--+-- * 'srSnippet'+--+-- * 'srURL'+--+-- * 'srClusteredResults'+--+-- * 'srMetadata'+--+-- * 'srTitle'+searchResult+    :: SearchResult+searchResult =+    SearchResult'+    { _srDebugInfo = Nothing+    , _srSnippet = Nothing+    , _srURL = Nothing+    , _srClusteredResults = Nothing+    , _srMetadata = Nothing+    , _srTitle = Nothing+    }++-- | Debugging information about this search result.+srDebugInfo :: Lens' SearchResult (Maybe ResultDebugInfo)+srDebugInfo+  = lens _srDebugInfo (\ s a -> s{_srDebugInfo = a})++-- | The concatenation of all snippets (summaries) available for this result.+srSnippet :: Lens' SearchResult (Maybe Snippet)+srSnippet+  = lens _srSnippet (\ s a -> s{_srSnippet = a})++-- | The URL of the result.+srURL :: Lens' SearchResult (Maybe Text)+srURL = lens _srURL (\ s a -> s{_srURL = a})++-- | If source is clustered, provide list of clustered results. There will+-- only be one level of clustered results. If current source is not enabled+-- for clustering, this field will be empty.+srClusteredResults :: Lens' SearchResult [SearchResult]+srClusteredResults+  = lens _srClusteredResults+      (\ s a -> s{_srClusteredResults = a})+      . _Default+      . _Coerce++-- | Metadata of the search result.+srMetadata :: Lens' SearchResult (Maybe Metadata)+srMetadata+  = lens _srMetadata (\ s a -> s{_srMetadata = a})++-- | Title of the search result.+srTitle :: Lens' SearchResult (Maybe Text)+srTitle = lens _srTitle (\ s a -> s{_srTitle = a})++instance FromJSON SearchResult where+        parseJSON+          = withObject "SearchResult"+              (\ o ->+                 SearchResult' <$>+                   (o .:? "debugInfo") <*> (o .:? "snippet") <*>+                     (o .:? "url")+                     <*> (o .:? "clusteredResults" .!= mempty)+                     <*> (o .:? "metadata")+                     <*> (o .:? "title"))++instance ToJSON SearchResult where+        toJSON SearchResult'{..}+          = object+              (catMaybes+                 [("debugInfo" .=) <$> _srDebugInfo,+                  ("snippet" .=) <$> _srSnippet, ("url" .=) <$> _srURL,+                  ("clusteredResults" .=) <$> _srClusteredResults,+                  ("metadata" .=) <$> _srMetadata,+                  ("title" .=) <$> _srTitle])++--+-- /See:/ 'spellResult' smart constructor.+newtype SpellResult = SpellResult'+    { _srSuggestedQuery :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpellResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srSuggestedQuery'+spellResult+    :: SpellResult+spellResult =+    SpellResult'+    { _srSuggestedQuery = Nothing+    }++-- | The suggested spelling of the query.+srSuggestedQuery :: Lens' SpellResult (Maybe Text)+srSuggestedQuery+  = lens _srSuggestedQuery+      (\ s a -> s{_srSuggestedQuery = a})++instance FromJSON SpellResult where+        parseJSON+          = withObject "SpellResult"+              (\ o -> SpellResult' <$> (o .:? "suggestedQuery"))++instance ToJSON SpellResult where+        toJSON SpellResult'{..}+          = object+              (catMaybes+                 [("suggestedQuery" .=) <$> _srSuggestedQuery])++-- | A people suggestion.+--+-- /See:/ 'peopleSuggestion' smart constructor.+newtype PeopleSuggestion = PeopleSuggestion'+    { _psPerson :: Maybe Person+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PeopleSuggestion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psPerson'+peopleSuggestion+    :: PeopleSuggestion+peopleSuggestion =+    PeopleSuggestion'+    { _psPerson = Nothing+    }++-- | Suggested person. All fields of the person object might not be+-- populated.+psPerson :: Lens' PeopleSuggestion (Maybe Person)+psPerson = lens _psPerson (\ s a -> s{_psPerson = a})++instance FromJSON PeopleSuggestion where+        parseJSON+          = withObject "PeopleSuggestion"+              (\ o -> PeopleSuggestion' <$> (o .:? "person"))++instance ToJSON PeopleSuggestion where+        toJSON PeopleSuggestion'{..}+          = object (catMaybes [("person" .=) <$> _psPerson])++-- | List of sources that the user can search using the query API.+--+-- /See:/ 'querySource' smart constructor.+data QuerySource = QuerySource'+    { _qsShortName   :: !(Maybe Text)+    , _qsDisplayName :: !(Maybe Text)+    , _qsSource      :: !(Maybe Source)+    , _qsOperators   :: !(Maybe [QueryOperator])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QuerySource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qsShortName'+--+-- * 'qsDisplayName'+--+-- * 'qsSource'+--+-- * 'qsOperators'+querySource+    :: QuerySource+querySource =+    QuerySource'+    { _qsShortName = Nothing+    , _qsDisplayName = Nothing+    , _qsSource = Nothing+    , _qsOperators = Nothing+    }++-- | A short name or alias for the source. This value can be used with the+-- \'source\' operator.+qsShortName :: Lens' QuerySource (Maybe Text)+qsShortName+  = lens _qsShortName (\ s a -> s{_qsShortName = a})++-- | Display name of the data source.+qsDisplayName :: Lens' QuerySource (Maybe Text)+qsDisplayName+  = lens _qsDisplayName+      (\ s a -> s{_qsDisplayName = a})++-- | Name of the source+qsSource :: Lens' QuerySource (Maybe Source)+qsSource = lens _qsSource (\ s a -> s{_qsSource = a})++-- | List of all operators applicable for this source.+qsOperators :: Lens' QuerySource [QueryOperator]+qsOperators+  = lens _qsOperators (\ s a -> s{_qsOperators = a}) .+      _Default+      . _Coerce++instance FromJSON QuerySource where+        parseJSON+          = withObject "QuerySource"+              (\ o ->+                 QuerySource' <$>+                   (o .:? "shortName") <*> (o .:? "displayName") <*>+                     (o .:? "source")+                     <*> (o .:? "operators" .!= mempty))++instance ToJSON QuerySource where+        toJSON QuerySource'{..}+          = object+              (catMaybes+                 [("shortName" .=) <$> _qsShortName,+                  ("displayName" .=) <$> _qsDisplayName,+                  ("source" .=) <$> _qsSource,+                  ("operators" .=) <$> _qsOperators])++-- | Response of the suggest API.+--+-- /See:/ 'suggestResponse' smart constructor.+newtype SuggestResponse = SuggestResponse'+    { _srSuggestResults :: Maybe [SuggestResult]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SuggestResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srSuggestResults'+suggestResponse+    :: SuggestResponse+suggestResponse =+    SuggestResponse'+    { _srSuggestResults = Nothing+    }++-- | List of suggestion results.+srSuggestResults :: Lens' SuggestResponse [SuggestResult]+srSuggestResults+  = lens _srSuggestResults+      (\ s a -> s{_srSuggestResults = a})+      . _Default+      . _Coerce++instance FromJSON SuggestResponse where+        parseJSON+          = withObject "SuggestResponse"+              (\ o ->+                 SuggestResponse' <$>+                   (o .:? "suggestResults" .!= mempty))++instance ToJSON SuggestResponse where+        toJSON SuggestResponse'{..}+          = object+              (catMaybes+                 [("suggestResults" .=) <$> _srSuggestResults])++-- | Errors when the connector is communicating to the source repository.+--+-- /See:/ 'repositoryError' smart constructor.+data RepositoryError = RepositoryError'+    { _reHTTPStatusCode :: !(Maybe (Textual Int32))+    , _reType           :: !(Maybe RepositoryErrorType)+    , _reErrorMessage   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepositoryError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'reHTTPStatusCode'+--+-- * 'reType'+--+-- * 'reErrorMessage'+repositoryError+    :: RepositoryError+repositoryError =+    RepositoryError'+    { _reHTTPStatusCode = Nothing+    , _reType = Nothing+    , _reErrorMessage = Nothing+    }++-- | Error codes. Matches the definition of HTTP status codes.+reHTTPStatusCode :: Lens' RepositoryError (Maybe Int32)+reHTTPStatusCode+  = lens _reHTTPStatusCode+      (\ s a -> s{_reHTTPStatusCode = a})+      . mapping _Coerce++-- | Type of error.+reType :: Lens' RepositoryError (Maybe RepositoryErrorType)+reType = lens _reType (\ s a -> s{_reType = a})++-- | Message that describes the error. The maximum allowable length of the+-- message is 8192 characters.+reErrorMessage :: Lens' RepositoryError (Maybe Text)+reErrorMessage+  = lens _reErrorMessage+      (\ s a -> s{_reErrorMessage = a})++instance FromJSON RepositoryError where+        parseJSON+          = withObject "RepositoryError"+              (\ o ->+                 RepositoryError' <$>+                   (o .:? "httpStatusCode") <*> (o .:? "type") <*>+                     (o .:? "errorMessage"))++instance ToJSON RepositoryError where+        toJSON RepositoryError'{..}+          = object+              (catMaybes+                 [("httpStatusCode" .=) <$> _reHTTPStatusCode,+                  ("type" .=) <$> _reType,+                  ("errorMessage" .=) <$> _reErrorMessage])++-- | Options for html properties.+--+-- /See:/ 'htmlPropertyOptions' smart constructor.+data HTMLPropertyOptions = HTMLPropertyOptions'+    { _hpoRetrievalImportance :: !(Maybe RetrievalImportance)+    , _hpoOperatorOptions     :: !(Maybe HTMLOperatorOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTMLPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hpoRetrievalImportance'+--+-- * 'hpoOperatorOptions'+htmlPropertyOptions+    :: HTMLPropertyOptions+htmlPropertyOptions =+    HTMLPropertyOptions'+    { _hpoRetrievalImportance = Nothing+    , _hpoOperatorOptions = Nothing+    }++-- | Indicates the search quality importance of the tokens within the field+-- when used for retrieval. Can only be set to DEFAULT or NONE.+hpoRetrievalImportance :: Lens' HTMLPropertyOptions (Maybe RetrievalImportance)+hpoRetrievalImportance+  = lens _hpoRetrievalImportance+      (\ s a -> s{_hpoRetrievalImportance = a})++-- | If set, describes how the property should be used as a search operator.+hpoOperatorOptions :: Lens' HTMLPropertyOptions (Maybe HTMLOperatorOptions)+hpoOperatorOptions+  = lens _hpoOperatorOptions+      (\ s a -> s{_hpoOperatorOptions = a})++instance FromJSON HTMLPropertyOptions where+        parseJSON+          = withObject "HTMLPropertyOptions"+              (\ o ->+                 HTMLPropertyOptions' <$>+                   (o .:? "retrievalImportance") <*>+                     (o .:? "operatorOptions"))++instance ToJSON HTMLPropertyOptions where+        toJSON HTMLPropertyOptions'{..}+          = object+              (catMaybes+                 [("retrievalImportance" .=) <$>+                    _hpoRetrievalImportance,+                  ("operatorOptions" .=) <$> _hpoOperatorOptions])++-- | The definition of a property within an object.+--+-- /See:/ 'propertyDefinition' smart constructor.+data PropertyDefinition = PropertyDefinition'+    { _pdEnumPropertyOptions      :: !(Maybe EnumPropertyOptions)+    , _pdHTMLPropertyOptions      :: !(Maybe HTMLPropertyOptions)+    , _pdObjectPropertyOptions    :: !(Maybe ObjectPropertyOptions)+    , _pdIsReturnable             :: !(Maybe Bool)+    , _pdTimestampPropertyOptions :: !(Maybe TimestampPropertyOptions)+    , _pdIntegerPropertyOptions   :: !(Maybe IntegerPropertyOptions)+    , _pdName                     :: !(Maybe Text)+    , _pdIsRepeatable             :: !(Maybe Bool)+    , _pdDoublePropertyOptions    :: !(Maybe DoublePropertyOptions)+    , _pdDisplayOptions           :: !(Maybe PropertyDisplayOptions)+    , _pdTextPropertyOptions      :: !(Maybe TextPropertyOptions)+    , _pdIsSortable               :: !(Maybe Bool)+    , _pdIsFacetable              :: !(Maybe Bool)+    , _pdBooleanPropertyOptions   :: !(Maybe BooleanPropertyOptions)+    , _pdDatePropertyOptions      :: !(Maybe DatePropertyOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertyDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdEnumPropertyOptions'+--+-- * 'pdHTMLPropertyOptions'+--+-- * 'pdObjectPropertyOptions'+--+-- * 'pdIsReturnable'+--+-- * 'pdTimestampPropertyOptions'+--+-- * 'pdIntegerPropertyOptions'+--+-- * 'pdName'+--+-- * 'pdIsRepeatable'+--+-- * 'pdDoublePropertyOptions'+--+-- * 'pdDisplayOptions'+--+-- * 'pdTextPropertyOptions'+--+-- * 'pdIsSortable'+--+-- * 'pdIsFacetable'+--+-- * 'pdBooleanPropertyOptions'+--+-- * 'pdDatePropertyOptions'+propertyDefinition+    :: PropertyDefinition+propertyDefinition =+    PropertyDefinition'+    { _pdEnumPropertyOptions = Nothing+    , _pdHTMLPropertyOptions = Nothing+    , _pdObjectPropertyOptions = Nothing+    , _pdIsReturnable = Nothing+    , _pdTimestampPropertyOptions = Nothing+    , _pdIntegerPropertyOptions = Nothing+    , _pdName = Nothing+    , _pdIsRepeatable = Nothing+    , _pdDoublePropertyOptions = Nothing+    , _pdDisplayOptions = Nothing+    , _pdTextPropertyOptions = Nothing+    , _pdIsSortable = Nothing+    , _pdIsFacetable = Nothing+    , _pdBooleanPropertyOptions = Nothing+    , _pdDatePropertyOptions = Nothing+    }++pdEnumPropertyOptions :: Lens' PropertyDefinition (Maybe EnumPropertyOptions)+pdEnumPropertyOptions+  = lens _pdEnumPropertyOptions+      (\ s a -> s{_pdEnumPropertyOptions = a})++pdHTMLPropertyOptions :: Lens' PropertyDefinition (Maybe HTMLPropertyOptions)+pdHTMLPropertyOptions+  = lens _pdHTMLPropertyOptions+      (\ s a -> s{_pdHTMLPropertyOptions = a})++pdObjectPropertyOptions :: Lens' PropertyDefinition (Maybe ObjectPropertyOptions)+pdObjectPropertyOptions+  = lens _pdObjectPropertyOptions+      (\ s a -> s{_pdObjectPropertyOptions = a})++-- | Indicates that the property identifies data that should be returned in+-- search results via the Query API. If set to *true*, indicates that Query+-- API users can use matching property fields in results. However, storing+-- fields requires more space allocation and uses more bandwidth for search+-- queries, which impacts performance over large datasets. Set to *true*+-- here only if the field is needed for search results. Cannot be true for+-- properties whose type is an object.+pdIsReturnable :: Lens' PropertyDefinition (Maybe Bool)+pdIsReturnable+  = lens _pdIsReturnable+      (\ s a -> s{_pdIsReturnable = a})++pdTimestampPropertyOptions :: Lens' PropertyDefinition (Maybe TimestampPropertyOptions)+pdTimestampPropertyOptions+  = lens _pdTimestampPropertyOptions+      (\ s a -> s{_pdTimestampPropertyOptions = a})++pdIntegerPropertyOptions :: Lens' PropertyDefinition (Maybe IntegerPropertyOptions)+pdIntegerPropertyOptions+  = lens _pdIntegerPropertyOptions+      (\ s a -> s{_pdIntegerPropertyOptions = a})++-- | The name of the property. Item indexing requests sent to the Indexing+-- API should set the property name equal to this value. For example, if+-- name is *subject_line*, then indexing requests for document items with+-- subject fields should set the name for that field equal to+-- *subject_line*. Use the name as the identifier for the object property.+-- Once registered as a property for an object, you cannot re-use this name+-- for another property within that object. The name must start with a+-- letter and can only contain letters (A-Z, a-z) or numbers (0-9). The+-- maximum length is 256 characters.+pdName :: Lens' PropertyDefinition (Maybe Text)+pdName = lens _pdName (\ s a -> s{_pdName = a})++-- | Indicates that multiple values are allowed for the property. For+-- example, a document only has one description but can have multiple+-- comments. Cannot be true for properties whose type is a boolean. If set+-- to false, properties that contain more than one value will cause the+-- indexing request for that item to be rejected.+pdIsRepeatable :: Lens' PropertyDefinition (Maybe Bool)+pdIsRepeatable+  = lens _pdIsRepeatable+      (\ s a -> s{_pdIsRepeatable = a})++pdDoublePropertyOptions :: Lens' PropertyDefinition (Maybe DoublePropertyOptions)+pdDoublePropertyOptions+  = lens _pdDoublePropertyOptions+      (\ s a -> s{_pdDoublePropertyOptions = a})++-- | Options that determine how the property is displayed in the Cloud Search+-- results page if it is specified to be displayed in the object\'s display+-- options .+pdDisplayOptions :: Lens' PropertyDefinition (Maybe PropertyDisplayOptions)+pdDisplayOptions+  = lens _pdDisplayOptions+      (\ s a -> s{_pdDisplayOptions = a})++pdTextPropertyOptions :: Lens' PropertyDefinition (Maybe TextPropertyOptions)+pdTextPropertyOptions+  = lens _pdTextPropertyOptions+      (\ s a -> s{_pdTextPropertyOptions = a})++-- | Indicates that the property can be used for sorting. Cannot be true for+-- properties that are repeatable. Cannot be true for properties whose type+-- is object or user identifier. IsReturnable must be true to set this+-- option. Only supported for Boolean, Date, Double, Integer, and Timestamp+-- properties.+pdIsSortable :: Lens' PropertyDefinition (Maybe Bool)+pdIsSortable+  = lens _pdIsSortable (\ s a -> s{_pdIsSortable = a})++-- | Indicates that the property can be used for generating facets. Cannot be+-- true for properties whose type is object. IsReturnable must be true to+-- set this option. Only supported for Boolean, Enum, and Text properties.+pdIsFacetable :: Lens' PropertyDefinition (Maybe Bool)+pdIsFacetable+  = lens _pdIsFacetable+      (\ s a -> s{_pdIsFacetable = a})++pdBooleanPropertyOptions :: Lens' PropertyDefinition (Maybe BooleanPropertyOptions)+pdBooleanPropertyOptions+  = lens _pdBooleanPropertyOptions+      (\ s a -> s{_pdBooleanPropertyOptions = a})++pdDatePropertyOptions :: Lens' PropertyDefinition (Maybe DatePropertyOptions)+pdDatePropertyOptions+  = lens _pdDatePropertyOptions+      (\ s a -> s{_pdDatePropertyOptions = a})++instance FromJSON PropertyDefinition where+        parseJSON+          = withObject "PropertyDefinition"+              (\ o ->+                 PropertyDefinition' <$>+                   (o .:? "enumPropertyOptions") <*>+                     (o .:? "htmlPropertyOptions")+                     <*> (o .:? "objectPropertyOptions")+                     <*> (o .:? "isReturnable")+                     <*> (o .:? "timestampPropertyOptions")+                     <*> (o .:? "integerPropertyOptions")+                     <*> (o .:? "name")+                     <*> (o .:? "isRepeatable")+                     <*> (o .:? "doublePropertyOptions")+                     <*> (o .:? "displayOptions")+                     <*> (o .:? "textPropertyOptions")+                     <*> (o .:? "isSortable")+                     <*> (o .:? "isFacetable")+                     <*> (o .:? "booleanPropertyOptions")+                     <*> (o .:? "datePropertyOptions"))++instance ToJSON PropertyDefinition where+        toJSON PropertyDefinition'{..}+          = object+              (catMaybes+                 [("enumPropertyOptions" .=) <$>+                    _pdEnumPropertyOptions,+                  ("htmlPropertyOptions" .=) <$>+                    _pdHTMLPropertyOptions,+                  ("objectPropertyOptions" .=) <$>+                    _pdObjectPropertyOptions,+                  ("isReturnable" .=) <$> _pdIsReturnable,+                  ("timestampPropertyOptions" .=) <$>+                    _pdTimestampPropertyOptions,+                  ("integerPropertyOptions" .=) <$>+                    _pdIntegerPropertyOptions,+                  ("name" .=) <$> _pdName,+                  ("isRepeatable" .=) <$> _pdIsRepeatable,+                  ("doublePropertyOptions" .=) <$>+                    _pdDoublePropertyOptions,+                  ("displayOptions" .=) <$> _pdDisplayOptions,+                  ("textPropertyOptions" .=) <$>+                    _pdTextPropertyOptions,+                  ("isSortable" .=) <$> _pdIsSortable,+                  ("isFacetable" .=) <$> _pdIsFacetable,+                  ("booleanPropertyOptions" .=) <$>+                    _pdBooleanPropertyOptions,+                  ("datePropertyOptions" .=) <$>+                    _pdDatePropertyOptions])++--+-- /See:/ 'sortOptions' smart constructor.+data SortOptions = SortOptions'+    { _soSortOrder    :: !(Maybe SortOptionsSortOrder)+    , _soOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SortOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'soSortOrder'+--+-- * 'soOperatorName'+sortOptions+    :: SortOptions+sortOptions =+    SortOptions'+    { _soSortOrder = Nothing+    , _soOperatorName = Nothing+    }++-- | Ascending is the default sort order+soSortOrder :: Lens' SortOptions (Maybe SortOptionsSortOrder)+soSortOrder+  = lens _soSortOrder (\ s a -> s{_soSortOrder = a})++-- | Name of the operator corresponding to the field to sort on. The+-- corresponding property must be marked as sortable.+soOperatorName :: Lens' SortOptions (Maybe Text)+soOperatorName+  = lens _soOperatorName+      (\ s a -> s{_soOperatorName = a})++instance FromJSON SortOptions where+        parseJSON+          = withObject "SortOptions"+              (\ o ->+                 SortOptions' <$>+                   (o .:? "sortOrder") <*> (o .:? "operatorName"))++instance ToJSON SortOptions where+        toJSON SortOptions'{..}+          = object+              (catMaybes+                 [("sortOrder" .=) <$> _soSortOrder,+                  ("operatorName" .=) <$> _soOperatorName])++-- | Options for object properties.+--+-- /See:/ 'objectPropertyOptions' smart constructor.+newtype ObjectPropertyOptions = ObjectPropertyOptions'+    { _opoSubobjectProperties :: Maybe [PropertyDefinition]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'opoSubobjectProperties'+objectPropertyOptions+    :: ObjectPropertyOptions+objectPropertyOptions =+    ObjectPropertyOptions'+    { _opoSubobjectProperties = Nothing+    }++-- | The properties of the sub-object. These properties represent a nested+-- object. For example, if this property represents a postal address, the+-- subobjectProperties might be named *street*, *city*, and *state*. The+-- maximum number of elements is 1000.+opoSubobjectProperties :: Lens' ObjectPropertyOptions [PropertyDefinition]+opoSubobjectProperties+  = lens _opoSubobjectProperties+      (\ s a -> s{_opoSubobjectProperties = a})+      . _Default+      . _Coerce++instance FromJSON ObjectPropertyOptions where+        parseJSON+          = withObject "ObjectPropertyOptions"+              (\ o ->+                 ObjectPropertyOptions' <$>+                   (o .:? "subobjectProperties" .!= mempty))++instance ToJSON ObjectPropertyOptions where+        toJSON ObjectPropertyOptions'{..}+          = object+              (catMaybes+                 [("subobjectProperties" .=) <$>+                    _opoSubobjectProperties])++-- | The search API response.+--+-- /See:/ 'searchResponse' smart constructor.+data SearchResponse = SearchResponse'+    { _sSpellResults        :: !(Maybe [SpellResult])+    , _sFacetResults        :: !(Maybe [FacetResult])+    , _sDebugInfo           :: !(Maybe ResponseDebugInfo)+    , _sResults             :: !(Maybe [SearchResult])+    , _sHasMoreResults      :: !(Maybe Bool)+    , _sResultCounts        :: !(Maybe ResultCounts)+    , _sResultCountExact    :: !(Maybe (Textual Int64))+    , _sResultCountEstimate :: !(Maybe (Textual Int64))+    , _sQueryInterpretation :: !(Maybe QueryInterpretation)+    , _sStructuredResults   :: !(Maybe [StructuredResult])+    , _sErrorInfo           :: !(Maybe ErrorInfo)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sSpellResults'+--+-- * 'sFacetResults'+--+-- * 'sDebugInfo'+--+-- * 'sResults'+--+-- * 'sHasMoreResults'+--+-- * 'sResultCounts'+--+-- * 'sResultCountExact'+--+-- * 'sResultCountEstimate'+--+-- * 'sQueryInterpretation'+--+-- * 'sStructuredResults'+--+-- * 'sErrorInfo'+searchResponse+    :: SearchResponse+searchResponse =+    SearchResponse'+    { _sSpellResults = Nothing+    , _sFacetResults = Nothing+    , _sDebugInfo = Nothing+    , _sResults = Nothing+    , _sHasMoreResults = Nothing+    , _sResultCounts = Nothing+    , _sResultCountExact = Nothing+    , _sResultCountEstimate = Nothing+    , _sQueryInterpretation = Nothing+    , _sStructuredResults = Nothing+    , _sErrorInfo = Nothing+    }++-- | Suggested spelling for the query.+sSpellResults :: Lens' SearchResponse [SpellResult]+sSpellResults+  = lens _sSpellResults+      (\ s a -> s{_sSpellResults = a})+      . _Default+      . _Coerce++-- | Repeated facet results.+sFacetResults :: Lens' SearchResponse [FacetResult]+sFacetResults+  = lens _sFacetResults+      (\ s a -> s{_sFacetResults = a})+      . _Default+      . _Coerce++-- | Debugging information about the response.+sDebugInfo :: Lens' SearchResponse (Maybe ResponseDebugInfo)+sDebugInfo+  = lens _sDebugInfo (\ s a -> s{_sDebugInfo = a})++-- | Results from a search query.+sResults :: Lens' SearchResponse [SearchResult]+sResults+  = lens _sResults (\ s a -> s{_sResults = a}) .+      _Default+      . _Coerce++-- | Whether there are more search results matching the query.+sHasMoreResults :: Lens' SearchResponse (Maybe Bool)+sHasMoreResults+  = lens _sHasMoreResults+      (\ s a -> s{_sHasMoreResults = a})++-- | Expanded result count information.+sResultCounts :: Lens' SearchResponse (Maybe ResultCounts)+sResultCounts+  = lens _sResultCounts+      (\ s a -> s{_sResultCounts = a})++-- | The exact result count for this query.+sResultCountExact :: Lens' SearchResponse (Maybe Int64)+sResultCountExact+  = lens _sResultCountExact+      (\ s a -> s{_sResultCountExact = a})+      . mapping _Coerce++-- | The estimated result count for this query.+sResultCountEstimate :: Lens' SearchResponse (Maybe Int64)+sResultCountEstimate+  = lens _sResultCountEstimate+      (\ s a -> s{_sResultCountEstimate = a})+      . mapping _Coerce++-- | Query interpretation result for user query. Empty if query+-- interpretation is disabled.+sQueryInterpretation :: Lens' SearchResponse (Maybe QueryInterpretation)+sQueryInterpretation+  = lens _sQueryInterpretation+      (\ s a -> s{_sQueryInterpretation = a})++-- | Structured results for the user query. These results are not counted+-- against the page_size.+sStructuredResults :: Lens' SearchResponse [StructuredResult]+sStructuredResults+  = lens _sStructuredResults+      (\ s a -> s{_sStructuredResults = a})+      . _Default+      . _Coerce++-- | Error information about the response.+sErrorInfo :: Lens' SearchResponse (Maybe ErrorInfo)+sErrorInfo+  = lens _sErrorInfo (\ s a -> s{_sErrorInfo = a})++instance FromJSON SearchResponse where+        parseJSON+          = withObject "SearchResponse"+              (\ o ->+                 SearchResponse' <$>+                   (o .:? "spellResults" .!= mempty) <*>+                     (o .:? "facetResults" .!= mempty)+                     <*> (o .:? "debugInfo")+                     <*> (o .:? "results" .!= mempty)+                     <*> (o .:? "hasMoreResults")+                     <*> (o .:? "resultCounts")+                     <*> (o .:? "resultCountExact")+                     <*> (o .:? "resultCountEstimate")+                     <*> (o .:? "queryInterpretation")+                     <*> (o .:? "structuredResults" .!= mempty)+                     <*> (o .:? "errorInfo"))++instance ToJSON SearchResponse where+        toJSON SearchResponse'{..}+          = object+              (catMaybes+                 [("spellResults" .=) <$> _sSpellResults,+                  ("facetResults" .=) <$> _sFacetResults,+                  ("debugInfo" .=) <$> _sDebugInfo,+                  ("results" .=) <$> _sResults,+                  ("hasMoreResults" .=) <$> _sHasMoreResults,+                  ("resultCounts" .=) <$> _sResultCounts,+                  ("resultCountExact" .=) <$> _sResultCountExact,+                  ("resultCountEstimate" .=) <$> _sResultCountEstimate,+                  ("queryInterpretation" .=) <$> _sQueryInterpretation,+                  ("structuredResults" .=) <$> _sStructuredResults,+                  ("errorInfo" .=) <$> _sErrorInfo])++-- | One suggestion result.+--+-- /See:/ 'suggestResult' smart constructor.+data SuggestResult = SuggestResult'+    { _sPeopleSuggestion :: !(Maybe PeopleSuggestion)+    , _sQuerySuggestion  :: !(Maybe QuerySuggestion)+    , _sSuggestedQuery   :: !(Maybe Text)+    , _sSource           :: !(Maybe Source)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SuggestResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sPeopleSuggestion'+--+-- * 'sQuerySuggestion'+--+-- * 'sSuggestedQuery'+--+-- * 'sSource'+suggestResult+    :: SuggestResult+suggestResult =+    SuggestResult'+    { _sPeopleSuggestion = Nothing+    , _sQuerySuggestion = Nothing+    , _sSuggestedQuery = Nothing+    , _sSource = Nothing+    }++sPeopleSuggestion :: Lens' SuggestResult (Maybe PeopleSuggestion)+sPeopleSuggestion+  = lens _sPeopleSuggestion+      (\ s a -> s{_sPeopleSuggestion = a})++sQuerySuggestion :: Lens' SuggestResult (Maybe QuerySuggestion)+sQuerySuggestion+  = lens _sQuerySuggestion+      (\ s a -> s{_sQuerySuggestion = a})++-- | The suggested query that will be used for search, when the user clicks+-- on the suggestion+sSuggestedQuery :: Lens' SuggestResult (Maybe Text)+sSuggestedQuery+  = lens _sSuggestedQuery+      (\ s a -> s{_sSuggestedQuery = a})++-- | The source of the suggestion.+sSource :: Lens' SuggestResult (Maybe Source)+sSource = lens _sSource (\ s a -> s{_sSource = a})++instance FromJSON SuggestResult where+        parseJSON+          = withObject "SuggestResult"+              (\ o ->+                 SuggestResult' <$>+                   (o .:? "peopleSuggestion") <*>+                     (o .:? "querySuggestion")+                     <*> (o .:? "suggestedQuery")+                     <*> (o .:? "source"))++instance ToJSON SuggestResult where+        toJSON SuggestResult'{..}+          = object+              (catMaybes+                 [("peopleSuggestion" .=) <$> _sPeopleSuggestion,+                  ("querySuggestion" .=) <$> _sQuerySuggestion,+                  ("suggestedQuery" .=) <$> _sSuggestedQuery,+                  ("source" .=) <$> _sSource])++-- | List of text values.+--+-- /See:/ 'textValues' smart constructor.+newtype TextValues = TextValues'+    { _tvValues :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvValues'+textValues+    :: TextValues+textValues =+    TextValues'+    { _tvValues = Nothing+    }++-- | The maximum allowable length for text values is 2048 characters. The+-- maximum number of string elements is 100.+tvValues :: Lens' TextValues [Text]+tvValues+  = lens _tvValues (\ s a -> s{_tvValues = a}) .+      _Default+      . _Coerce++instance FromJSON TextValues where+        parseJSON+          = withObject "TextValues"+              (\ o -> TextValues' <$> (o .:? "values" .!= mempty))++instance ToJSON TextValues where+        toJSON TextValues'{..}+          = object (catMaybes [("values" .=) <$> _tvValues])++-- | Drive location search restricts (e.g. \"is:starred\").+--+-- /See:/ 'driveLocationRestrict' smart constructor.+newtype DriveLocationRestrict = DriveLocationRestrict'+    { _dlrType :: Maybe DriveLocationRestrictType+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DriveLocationRestrict' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlrType'+driveLocationRestrict+    :: DriveLocationRestrict+driveLocationRestrict =+    DriveLocationRestrict'+    { _dlrType = Nothing+    }++dlrType :: Lens' DriveLocationRestrict (Maybe DriveLocationRestrictType)+dlrType = lens _dlrType (\ s a -> s{_dlrType = a})++instance FromJSON DriveLocationRestrict where+        parseJSON+          = withObject "DriveLocationRestrict"+              (\ o -> DriveLocationRestrict' <$> (o .:? "type"))++instance ToJSON DriveLocationRestrict where+        toJSON DriveLocationRestrict'{..}+          = object (catMaybes [("type" .=) <$> _dlrType])++-- | List sources response.+--+-- /See:/ 'listQuerySourcesResponse' smart constructor.+data ListQuerySourcesResponse = ListQuerySourcesResponse'+    { _lqsrNextPageToken :: !(Maybe Text)+    , _lqsrSources       :: !(Maybe [QuerySource])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListQuerySourcesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lqsrNextPageToken'+--+-- * 'lqsrSources'+listQuerySourcesResponse+    :: ListQuerySourcesResponse+listQuerySourcesResponse =+    ListQuerySourcesResponse'+    { _lqsrNextPageToken = Nothing+    , _lqsrSources = Nothing+    }++lqsrNextPageToken :: Lens' ListQuerySourcesResponse (Maybe Text)+lqsrNextPageToken+  = lens _lqsrNextPageToken+      (\ s a -> s{_lqsrNextPageToken = a})++lqsrSources :: Lens' ListQuerySourcesResponse [QuerySource]+lqsrSources+  = lens _lqsrSources (\ s a -> s{_lqsrSources = a}) .+      _Default+      . _Coerce++instance FromJSON ListQuerySourcesResponse where+        parseJSON+          = withObject "ListQuerySourcesResponse"+              (\ o ->+                 ListQuerySourcesResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "sources" .!= mempty))++instance ToJSON ListQuerySourcesResponse where+        toJSON ListQuerySourcesResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lqsrNextPageToken,+                  ("sources" .=) <$> _lqsrSources])++-- | Used to provide a search operator for double properties. This is+-- optional. Search operators let users restrict the query to specific+-- fields relevant to the type of item being searched.+--+-- /See:/ 'doubleOperatorOptions' smart constructor.+newtype DoubleOperatorOptions = DoubleOperatorOptions'+    { _dOperatorName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DoubleOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dOperatorName'+doubleOperatorOptions+    :: DoubleOperatorOptions+doubleOperatorOptions =+    DoubleOperatorOptions'+    { _dOperatorName = Nothing+    }++-- | Indicates the operator name required in the query in order to use the+-- double property in sorting or as a facet. The operator name can only+-- contain lowercase letters (a-z). The maximum length is 32 characters.+dOperatorName :: Lens' DoubleOperatorOptions (Maybe Text)+dOperatorName+  = lens _dOperatorName+      (\ s a -> s{_dOperatorName = a})++instance FromJSON DoubleOperatorOptions where+        parseJSON+          = withObject "DoubleOperatorOptions"+              (\ o ->+                 DoubleOperatorOptions' <$> (o .:? "operatorName"))++instance ToJSON DoubleOperatorOptions where+        toJSON DoubleOperatorOptions'{..}+          = object+              (catMaybes [("operatorName" .=) <$> _dOperatorName])++-- | This resource represents a long-running operation that is the result of+-- a network API call.+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+    { _oDone     :: !(Maybe Bool)+    , _oError    :: !(Maybe Status)+    , _oResponse :: !(Maybe OperationResponse)+    , _oName     :: !(Maybe Text)+    , _oMetadata :: !(Maybe OperationMetadata)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oDone'+--+-- * 'oError'+--+-- * 'oResponse'+--+-- * 'oName'+--+-- * 'oMetadata'+operation+    :: Operation+operation =+    Operation'+    { _oDone = Nothing+    , _oError = Nothing+    , _oResponse = Nothing+    , _oName = Nothing+    , _oMetadata = Nothing+    }++-- | If the value is \`false\`, it means the operation is still in progress.+-- If \`true\`, the operation is completed, and either \`error\` or+-- \`response\` is available.+oDone :: Lens' Operation (Maybe Bool)+oDone = lens _oDone (\ s a -> s{_oDone = a})++-- | The error result of the operation in case of failure or cancellation.+oError :: Lens' Operation (Maybe Status)+oError = lens _oError (\ s a -> s{_oError = a})++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+oResponse :: Lens' Operation (Maybe OperationResponse)+oResponse+  = lens _oResponse (\ s a -> s{_oResponse = a})++-- | The server-assigned name, which is only unique within the same service+-- that originally returns it. If you use the default HTTP mapping, the+-- \`name\` should have the format of \`operations\/some\/unique\/name\`.+oName :: Lens' Operation (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+oMetadata :: Lens' Operation (Maybe OperationMetadata)+oMetadata+  = lens _oMetadata (\ s a -> s{_oMetadata = a})++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ o ->+                 Operation' <$>+                   (o .:? "done") <*> (o .:? "error") <*>+                     (o .:? "response")+                     <*> (o .:? "name")+                     <*> (o .:? "metadata"))++instance ToJSON Operation where+        toJSON Operation'{..}+          = object+              (catMaybes+                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,+                  ("response" .=) <$> _oResponse,+                  ("name" .=) <$> _oName,+                  ("metadata" .=) <$> _oMetadata])++-- | Object to represent a person.+--+-- /See:/ 'person' smart constructor.+data Person = Person'+    { _pEmailAddresses :: !(Maybe [EmailAddress])+    , _pPersonNames    :: !(Maybe [Name])+    , _pPhotos         :: !(Maybe [Photo])+    , _pName           :: !(Maybe Text)+    , _pObfuscatedId   :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Person' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pEmailAddresses'+--+-- * 'pPersonNames'+--+-- * 'pPhotos'+--+-- * 'pName'+--+-- * 'pObfuscatedId'+person+    :: Person+person =+    Person'+    { _pEmailAddresses = Nothing+    , _pPersonNames = Nothing+    , _pPhotos = Nothing+    , _pName = Nothing+    , _pObfuscatedId = Nothing+    }++-- | The person\'s email addresses+pEmailAddresses :: Lens' Person [EmailAddress]+pEmailAddresses+  = lens _pEmailAddresses+      (\ s a -> s{_pEmailAddresses = a})+      . _Default+      . _Coerce++-- | The person\'s name+pPersonNames :: Lens' Person [Name]+pPersonNames+  = lens _pPersonNames (\ s a -> s{_pPersonNames = a})+      . _Default+      . _Coerce++-- | A person\'s read-only photo. A picture shown next to the person\'s name+-- to help others recognize the person in search results.+pPhotos :: Lens' Person [Photo]+pPhotos+  = lens _pPhotos (\ s a -> s{_pPhotos = a}) . _Default+      . _Coerce++-- | The resource name of the person to provide information about. See+-- <https://developers.google.com/people/api/rest/v1/people/get People.get>+-- from Google People API.+pName :: Lens' Person (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | Obfuscated ID of a person.+pObfuscatedId :: Lens' Person (Maybe Text)+pObfuscatedId+  = lens _pObfuscatedId+      (\ s a -> s{_pObfuscatedId = a})++instance FromJSON Person where+        parseJSON+          = withObject "Person"+              (\ o ->+                 Person' <$>+                   (o .:? "emailAddresses" .!= mempty) <*>+                     (o .:? "personNames" .!= mempty)+                     <*> (o .:? "photos" .!= mempty)+                     <*> (o .:? "name")+                     <*> (o .:? "obfuscatedId"))++instance ToJSON Person where+        toJSON Person'{..}+          = object+              (catMaybes+                 [("emailAddresses" .=) <$> _pEmailAddresses,+                  ("personNames" .=) <$> _pPersonNames,+                  ("photos" .=) <$> _pPhotos, ("name" .=) <$> _pName,+                  ("obfuscatedId" .=) <$> _pObfuscatedId])++--+-- /See:/ 'compositeFilter' smart constructor.+data CompositeFilter = CompositeFilter'+    { _cfSubFilters    :: !(Maybe [Filter])+    , _cfLogicOperator :: !(Maybe CompositeFilterLogicOperator)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CompositeFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfSubFilters'+--+-- * 'cfLogicOperator'+compositeFilter+    :: CompositeFilter+compositeFilter =+    CompositeFilter'+    { _cfSubFilters = Nothing+    , _cfLogicOperator = Nothing+    }++-- | Sub filters.+cfSubFilters :: Lens' CompositeFilter [Filter]+cfSubFilters+  = lens _cfSubFilters (\ s a -> s{_cfSubFilters = a})+      . _Default+      . _Coerce++-- | The logic operator of the sub filter.+cfLogicOperator :: Lens' CompositeFilter (Maybe CompositeFilterLogicOperator)+cfLogicOperator+  = lens _cfLogicOperator+      (\ s a -> s{_cfLogicOperator = a})++instance FromJSON CompositeFilter where+        parseJSON+          = withObject "CompositeFilter"+              (\ o ->+                 CompositeFilter' <$>+                   (o .:? "subFilters" .!= mempty) <*>+                     (o .:? "logicOperator"))++instance ToJSON CompositeFilter where+        toJSON CompositeFilter'{..}+          = object+              (catMaybes+                 [("subFilters" .=) <$> _cfSubFilters,+                  ("logicOperator" .=) <$> _cfLogicOperator])++-- | The collection of fields that make up a displayed line+--+-- /See:/ 'resultDisplayLine' smart constructor.+newtype ResultDisplayLine = ResultDisplayLine'+    { _rdlFields :: Maybe [ResultDisplayField]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultDisplayLine' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdlFields'+resultDisplayLine+    :: ResultDisplayLine+resultDisplayLine =+    ResultDisplayLine'+    { _rdlFields = Nothing+    }++rdlFields :: Lens' ResultDisplayLine [ResultDisplayField]+rdlFields+  = lens _rdlFields (\ s a -> s{_rdlFields = a}) .+      _Default+      . _Coerce++instance FromJSON ResultDisplayLine where+        parseJSON+          = withObject "ResultDisplayLine"+              (\ o ->+                 ResultDisplayLine' <$> (o .:? "fields" .!= mempty))++instance ToJSON ResultDisplayLine where+        toJSON ResultDisplayLine'{..}+          = object (catMaybes [("fields" .=) <$> _rdlFields])++-- | List of double values.+--+-- /See:/ 'doubleValues' smart constructor.+newtype DoubleValues = DoubleValues'+    { _dvValues :: Maybe [Textual Double]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DoubleValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvValues'+doubleValues+    :: DoubleValues+doubleValues =+    DoubleValues'+    { _dvValues = Nothing+    }++-- | The maximum number of elements is 100.+dvValues :: Lens' DoubleValues [Double]+dvValues+  = lens _dvValues (\ s a -> s{_dvValues = a}) .+      _Default+      . _Coerce++instance FromJSON DoubleValues where+        parseJSON+          = withObject "DoubleValues"+              (\ o ->+                 DoubleValues' <$> (o .:? "values" .!= mempty))++instance ToJSON DoubleValues where+        toJSON DoubleValues'{..}+          = object (catMaybes [("values" .=) <$> _dvValues])++-- | Snippet of the search result, which summarizes the content of the+-- resulting page.+--+-- /See:/ 'snippet' smart constructor.+data Snippet = Snippet'+    { _sMatchRanges :: !(Maybe [MatchRange])+    , _sSnippet     :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Snippet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sMatchRanges'+--+-- * 'sSnippet'+snippet+    :: Snippet+snippet =+    Snippet'+    { _sMatchRanges = Nothing+    , _sSnippet = Nothing+    }++-- | The matched ranges in the snippet.+sMatchRanges :: Lens' Snippet [MatchRange]+sMatchRanges+  = lens _sMatchRanges (\ s a -> s{_sMatchRanges = a})+      . _Default+      . _Coerce++-- | The snippet of the document. The snippet of the document. May contain+-- escaped HTML character that should be unescaped prior to rendering.+sSnippet :: Lens' Snippet (Maybe Text)+sSnippet = lens _sSnippet (\ s a -> s{_sSnippet = a})++instance FromJSON Snippet where+        parseJSON+          = withObject "Snippet"+              (\ o ->+                 Snippet' <$>+                   (o .:? "matchRanges" .!= mempty) <*>+                     (o .:? "snippet"))++instance ToJSON Snippet where+        toJSON Snippet'{..}+          = object+              (catMaybes+                 [("matchRanges" .=) <$> _sMatchRanges,+                  ("snippet" .=) <$> _sSnippet])++-- | Used to provide a search operator for text properties. This is optional.+-- Search operators let users restrict the query to specific fields+-- relevant to the type of item being searched.+--+-- /See:/ 'textOperatorOptions' smart constructor.+data TextOperatorOptions = TextOperatorOptions'+    { _tooOperatorName           :: !(Maybe Text)+    , _tooExactMatchWithOperator :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tooOperatorName'+--+-- * 'tooExactMatchWithOperator'+textOperatorOptions+    :: TextOperatorOptions+textOperatorOptions =+    TextOperatorOptions'+    { _tooOperatorName = Nothing+    , _tooExactMatchWithOperator = Nothing+    }++-- | Indicates the operator name required in the query in order to isolate+-- the text property. For example, if operatorName is *subject* and the+-- property\'s name is *subjectLine*, then queries like *subject:\<value>*+-- will show results only where the value of the property named+-- *subjectLine* matches *\<value>*. By contrast, a search that uses the+-- same *\<value>* without an operator will return all items where+-- *\<value>* matches the value of any text properties or text within the+-- content field for the item. The operator name can only contain lowercase+-- letters (a-z). The maximum length is 32 characters.+tooOperatorName :: Lens' TextOperatorOptions (Maybe Text)+tooOperatorName+  = lens _tooOperatorName+      (\ s a -> s{_tooOperatorName = a})++-- | If true, the text value will be tokenized as one atomic value in+-- operator searches and facet matches. For example, if the operator name+-- is \"genre\" and the value is \"science-fiction\" the query restrictions+-- \"genre:science\" and \"genre:fiction\" will not match the item;+-- \"genre:science-fiction\" will. Value matching is case-sensitive and+-- does not remove special characters. If false, the text will be+-- tokenized. For example, if the value is \"science-fiction\" the queries+-- \"genre:science\" and \"genre:fiction\" will match the item.+tooExactMatchWithOperator :: Lens' TextOperatorOptions (Maybe Bool)+tooExactMatchWithOperator+  = lens _tooExactMatchWithOperator+      (\ s a -> s{_tooExactMatchWithOperator = a})++instance FromJSON TextOperatorOptions where+        parseJSON+          = withObject "TextOperatorOptions"+              (\ o ->+                 TextOperatorOptions' <$>+                   (o .:? "operatorName") <*>+                     (o .:? "exactMatchWithOperator"))++instance ToJSON TextOperatorOptions where+        toJSON TextOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _tooOperatorName,+                  ("exactMatchWithOperator" .=) <$>+                    _tooExactMatchWithOperator])++-- | Options to interpret user query.+--+-- /See:/ 'queryInterpretationOptions' smart constructor.+newtype QueryInterpretationOptions = QueryInterpretationOptions'+    { _qioDisableNlInterpretation :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryInterpretationOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qioDisableNlInterpretation'+queryInterpretationOptions+    :: QueryInterpretationOptions+queryInterpretationOptions =+    QueryInterpretationOptions'+    { _qioDisableNlInterpretation = Nothing+    }++-- | Flag to disable natural language (NL) interpretation of queries. Default+-- is false, Set to true to disable natural language interpretation. NL+-- interpretation only applies to predefined datasources.+qioDisableNlInterpretation :: Lens' QueryInterpretationOptions (Maybe Bool)+qioDisableNlInterpretation+  = lens _qioDisableNlInterpretation+      (\ s a -> s{_qioDisableNlInterpretation = a})++instance FromJSON QueryInterpretationOptions where+        parseJSON+          = withObject "QueryInterpretationOptions"+              (\ o ->+                 QueryInterpretationOptions' <$>+                   (o .:? "disableNlInterpretation"))++instance ToJSON QueryInterpretationOptions where+        toJSON QueryInterpretationOptions'{..}+          = object+              (catMaybes+                 [("disableNlInterpretation" .=) <$>+                    _qioDisableNlInterpretation])++--+-- /See:/ 'resetSearchApplicationRequest' smart constructor.+newtype ResetSearchApplicationRequest = ResetSearchApplicationRequest'+    { _rsarDebugOptions :: Maybe DebugOptions+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResetSearchApplicationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsarDebugOptions'+resetSearchApplicationRequest+    :: ResetSearchApplicationRequest+resetSearchApplicationRequest =+    ResetSearchApplicationRequest'+    { _rsarDebugOptions = Nothing+    }++-- | Common debug options.+rsarDebugOptions :: Lens' ResetSearchApplicationRequest (Maybe DebugOptions)+rsarDebugOptions+  = lens _rsarDebugOptions+      (\ s a -> s{_rsarDebugOptions = a})++instance FromJSON ResetSearchApplicationRequest where+        parseJSON+          = withObject "ResetSearchApplicationRequest"+              (\ o ->+                 ResetSearchApplicationRequest' <$>+                   (o .:? "debugOptions"))++instance ToJSON ResetSearchApplicationRequest where+        toJSON ResetSearchApplicationRequest'{..}+          = object+              (catMaybes+                 [("debugOptions" .=) <$> _rsarDebugOptions])++-- | Available metadata fields for the item.+--+-- /See:/ 'itemMetadata' smart constructor.+data ItemMetadata = ItemMetadata'+    { _imSourceRepositoryURL   :: !(Maybe Text)+    , _imHash                  :: !(Maybe Text)+    , _imObjectType            :: !(Maybe Text)+    , _imContainerName         :: !(Maybe Text)+    , _imInteractions          :: !(Maybe [Interaction])+    , _imMimeType              :: !(Maybe Text)+    , _imUpdateTime            :: !(Maybe DateTime')+    , _imKeywords              :: !(Maybe [Text])+    , _imTitle                 :: !(Maybe Text)+    , _imContentLanguage       :: !(Maybe Text)+    , _imSearchQualityMetadata :: !(Maybe SearchQualityMetadata)+    , _imCreateTime            :: !(Maybe DateTime')+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ItemMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imSourceRepositoryURL'+--+-- * 'imHash'+--+-- * 'imObjectType'+--+-- * 'imContainerName'+--+-- * 'imInteractions'+--+-- * 'imMimeType'+--+-- * 'imUpdateTime'+--+-- * 'imKeywords'+--+-- * 'imTitle'+--+-- * 'imContentLanguage'+--+-- * 'imSearchQualityMetadata'+--+-- * 'imCreateTime'+itemMetadata+    :: ItemMetadata+itemMetadata =+    ItemMetadata'+    { _imSourceRepositoryURL = Nothing+    , _imHash = Nothing+    , _imObjectType = Nothing+    , _imContainerName = Nothing+    , _imInteractions = Nothing+    , _imMimeType = Nothing+    , _imUpdateTime = Nothing+    , _imKeywords = Nothing+    , _imTitle = Nothing+    , _imContentLanguage = Nothing+    , _imSearchQualityMetadata = Nothing+    , _imCreateTime = Nothing+    }++-- | Link to the source repository serving the data. Search results apply+-- this link to the title. The maximum length is 2048 characters.+imSourceRepositoryURL :: Lens' ItemMetadata (Maybe Text)+imSourceRepositoryURL+  = lens _imSourceRepositoryURL+      (\ s a -> s{_imSourceRepositoryURL = a})++-- | Hashing value provided by the API caller. This can be used with the+-- items.push method to calculate modified state. The maximum length is+-- 2048 characters.+imHash :: Lens' ItemMetadata (Maybe Text)+imHash = lens _imHash (\ s a -> s{_imHash = a})++-- | The type of the item. This should correspond to the name of an object+-- definition in the schema registered for the data source. For example, if+-- the schema for the data source contains an object definition with name+-- \'document\', then item indexing requests for objects of that type+-- should set objectType to \'document\'. The maximum length is 256+-- characters.+imObjectType :: Lens' ItemMetadata (Maybe Text)+imObjectType+  = lens _imObjectType (\ s a -> s{_imObjectType = a})++-- | The name of the container for this item. Deletion of the container item+-- leads to automatic deletion of this item. Note: ACLs are not inherited+-- from a container item. To provide ACL inheritance for an item, use the+-- inheritAclFrom field. The maximum length is 1536 characters.+imContainerName :: Lens' ItemMetadata (Maybe Text)+imContainerName+  = lens _imContainerName+      (\ s a -> s{_imContainerName = a})++-- | A list of interactions for the item. Interactions are used to improve+-- Search quality, but are not exposed to end users. The maximum number of+-- elements is 1000.+imInteractions :: Lens' ItemMetadata [Interaction]+imInteractions+  = lens _imInteractions+      (\ s a -> s{_imInteractions = a})+      . _Default+      . _Coerce++-- | The original mime-type of ItemContent.content in the source repository.+-- The maximum length is 256 characters.+imMimeType :: Lens' ItemMetadata (Maybe Text)+imMimeType+  = lens _imMimeType (\ s a -> s{_imMimeType = a})++-- | The time when the item was last modified in the source repository.+imUpdateTime :: Lens' ItemMetadata (Maybe UTCTime)+imUpdateTime+  = lens _imUpdateTime (\ s a -> s{_imUpdateTime = a})+      . mapping _DateTime++-- | Additional keywords or phrases that should match the item. Used+-- internally for user generated content. The maximum number of elements is+-- 100. The maximum length is 8192 characters.+imKeywords :: Lens' ItemMetadata [Text]+imKeywords+  = lens _imKeywords (\ s a -> s{_imKeywords = a}) .+      _Default+      . _Coerce++-- | The title of the item. If given, this will be the displayed title of the+-- Search result. The maximum length is 2048 characters.+imTitle :: Lens' ItemMetadata (Maybe Text)+imTitle = lens _imTitle (\ s a -> s{_imTitle = a})++-- | The BCP-47 language code for the item, such as \"en-US\" or \"sr-Latn\".+-- For more information, see+-- http:\/\/www.unicode.org\/reports\/tr35\/#Unicode_locale_identifier. The+-- maximum length is 32 characters.+imContentLanguage :: Lens' ItemMetadata (Maybe Text)+imContentLanguage+  = lens _imContentLanguage+      (\ s a -> s{_imContentLanguage = a})++-- | Additional search quality metadata of the item+imSearchQualityMetadata :: Lens' ItemMetadata (Maybe SearchQualityMetadata)+imSearchQualityMetadata+  = lens _imSearchQualityMetadata+      (\ s a -> s{_imSearchQualityMetadata = a})++-- | The time when the item was created in the source repository.+imCreateTime :: Lens' ItemMetadata (Maybe UTCTime)+imCreateTime+  = lens _imCreateTime (\ s a -> s{_imCreateTime = a})+      . mapping _DateTime++instance FromJSON ItemMetadata where+        parseJSON+          = withObject "ItemMetadata"+              (\ o ->+                 ItemMetadata' <$>+                   (o .:? "sourceRepositoryUrl") <*> (o .:? "hash") <*>+                     (o .:? "objectType")+                     <*> (o .:? "containerName")+                     <*> (o .:? "interactions" .!= mempty)+                     <*> (o .:? "mimeType")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "keywords" .!= mempty)+                     <*> (o .:? "title")+                     <*> (o .:? "contentLanguage")+                     <*> (o .:? "searchQualityMetadata")+                     <*> (o .:? "createTime"))++instance ToJSON ItemMetadata where+        toJSON ItemMetadata'{..}+          = object+              (catMaybes+                 [("sourceRepositoryUrl" .=) <$>+                    _imSourceRepositoryURL,+                  ("hash" .=) <$> _imHash,+                  ("objectType" .=) <$> _imObjectType,+                  ("containerName" .=) <$> _imContainerName,+                  ("interactions" .=) <$> _imInteractions,+                  ("mimeType" .=) <$> _imMimeType,+                  ("updateTime" .=) <$> _imUpdateTime,+                  ("keywords" .=) <$> _imKeywords,+                  ("title" .=) <$> _imTitle,+                  ("contentLanguage" .=) <$> _imContentLanguage,+                  ("searchQualityMetadata" .=) <$>+                    _imSearchQualityMetadata,+                  ("createTime" .=) <$> _imCreateTime])++-- | Filter options to be applied on query.+--+-- /See:/ 'filterOptions' smart constructor.+data FilterOptions = FilterOptions'+    { _foObjectType :: !(Maybe Text)+    , _foFilter     :: !(Maybe Filter)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'foObjectType'+--+-- * 'foFilter'+filterOptions+    :: FilterOptions+filterOptions =+    FilterOptions'+    { _foObjectType = Nothing+    , _foFilter = Nothing+    }++-- | If object_type is set, only objects of that type are returned. This+-- should correspond to the name of the object that was registered within+-- the definition of schema. The maximum length is 256 characters.+foObjectType :: Lens' FilterOptions (Maybe Text)+foObjectType+  = lens _foObjectType (\ s a -> s{_foObjectType = a})++-- | Generic filter to restrict the search, such as \`lang:en\`,+-- \`site:xyz\`.+foFilter :: Lens' FilterOptions (Maybe Filter)+foFilter = lens _foFilter (\ s a -> s{_foFilter = a})++instance FromJSON FilterOptions where+        parseJSON+          = withObject "FilterOptions"+              (\ o ->+                 FilterOptions' <$>+                   (o .:? "objectType") <*> (o .:? "filter"))++instance ToJSON FilterOptions where+        toJSON FilterOptions'{..}+          = object+              (catMaybes+                 [("objectType" .=) <$> _foObjectType,+                  ("filter" .=) <$> _foFilter])++-- | Structured results that are returned as part of search request.+--+-- /See:/ 'structuredResult' smart constructor.+newtype StructuredResult = StructuredResult'+    { _srPerson :: Maybe Person+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StructuredResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srPerson'+structuredResult+    :: StructuredResult+structuredResult =+    StructuredResult'+    { _srPerson = Nothing+    }++srPerson :: Lens' StructuredResult (Maybe Person)+srPerson = lens _srPerson (\ s a -> s{_srPerson = a})++instance FromJSON StructuredResult where+        parseJSON+          = withObject "StructuredResult"+              (\ o -> StructuredResult' <$> (o .:? "person"))++instance ToJSON StructuredResult where+        toJSON StructuredResult'{..}+          = object (catMaybes [("person" .=) <$> _srPerson])++--+-- /See:/ 'processingError' smart constructor.+data ProcessingError = ProcessingError'+    { _peFieldViolations :: !(Maybe [FieldViolation])+    , _peCode            :: !(Maybe ProcessingErrorCode)+    , _peErrorMessage    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProcessingError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'peFieldViolations'+--+-- * 'peCode'+--+-- * 'peErrorMessage'+processingError+    :: ProcessingError+processingError =+    ProcessingError'+    { _peFieldViolations = Nothing+    , _peCode = Nothing+    , _peErrorMessage = Nothing+    }++-- | In case the item fields are invalid, this field contains the details+-- about the validation errors.+peFieldViolations :: Lens' ProcessingError [FieldViolation]+peFieldViolations+  = lens _peFieldViolations+      (\ s a -> s{_peFieldViolations = a})+      . _Default+      . _Coerce++-- | Error code indicating the nature of the error.+peCode :: Lens' ProcessingError (Maybe ProcessingErrorCode)+peCode = lens _peCode (\ s a -> s{_peCode = a})++-- | Description of the error.+peErrorMessage :: Lens' ProcessingError (Maybe Text)+peErrorMessage+  = lens _peErrorMessage+      (\ s a -> s{_peErrorMessage = a})++instance FromJSON ProcessingError where+        parseJSON+          = withObject "ProcessingError"+              (\ o ->+                 ProcessingError' <$>+                   (o .:? "fieldViolations" .!= mempty) <*>+                     (o .:? "code")+                     <*> (o .:? "errorMessage"))++instance ToJSON ProcessingError where+        toJSON ProcessingError'{..}+          = object+              (catMaybes+                 [("fieldViolations" .=) <$> _peFieldViolations,+                  ("code" .=) <$> _peCode,+                  ("errorMessage" .=) <$> _peErrorMessage])++--+-- /See:/ 'listItemNamesForUnmAppedIdentityResponse' smart constructor.+data ListItemNamesForUnmAppedIdentityResponse = ListItemNamesForUnmAppedIdentityResponse'+    { _linfuairNextPageToken :: !(Maybe Text)+    , _linfuairItemNames     :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListItemNamesForUnmAppedIdentityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'linfuairNextPageToken'+--+-- * 'linfuairItemNames'+listItemNamesForUnmAppedIdentityResponse+    :: ListItemNamesForUnmAppedIdentityResponse+listItemNamesForUnmAppedIdentityResponse =+    ListItemNamesForUnmAppedIdentityResponse'+    { _linfuairNextPageToken = Nothing+    , _linfuairItemNames = Nothing+    }++-- | Token to retrieve the next page of results, or empty if there are no+-- more results in the list.+linfuairNextPageToken :: Lens' ListItemNamesForUnmAppedIdentityResponse (Maybe Text)+linfuairNextPageToken+  = lens _linfuairNextPageToken+      (\ s a -> s{_linfuairNextPageToken = a})++linfuairItemNames :: Lens' ListItemNamesForUnmAppedIdentityResponse [Text]+linfuairItemNames+  = lens _linfuairItemNames+      (\ s a -> s{_linfuairItemNames = a})+      . _Default+      . _Coerce++instance FromJSON+         ListItemNamesForUnmAppedIdentityResponse where+        parseJSON+          = withObject+              "ListItemNamesForUnmAppedIdentityResponse"+              (\ o ->+                 ListItemNamesForUnmAppedIdentityResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "itemNames" .!= mempty))++instance ToJSON+         ListItemNamesForUnmAppedIdentityResponse where+        toJSON ListItemNamesForUnmAppedIdentityResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _linfuairNextPageToken,+                  ("itemNames" .=) <$> _linfuairItemNames])++-- | Access control list information for the item. For more information see+-- https:\/\/developers.google.com\/cloud-search\/docs\/guides\/index-your-data#acls+--+-- /See:/ 'itemACL' smart constructor.+data ItemACL = ItemACL'+    { _iaOwners             :: !(Maybe [Principal])+    , _iaReaders            :: !(Maybe [Principal])+    , _iaACLInheritanceType :: !(Maybe ItemACLACLInheritanceType)+    , _iaInheritACLFrom     :: !(Maybe Text)+    , _iaDeniedReaders      :: !(Maybe [Principal])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ItemACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaOwners'+--+-- * 'iaReaders'+--+-- * 'iaACLInheritanceType'+--+-- * 'iaInheritACLFrom'+--+-- * 'iaDeniedReaders'+itemACL+    :: ItemACL+itemACL =+    ItemACL'+    { _iaOwners = Nothing+    , _iaReaders = Nothing+    , _iaACLInheritanceType = Nothing+    , _iaInheritACLFrom = Nothing+    , _iaDeniedReaders = Nothing+    }++-- | Optional. List of owners for the item. This field has no bearing on+-- document access permissions. It does, however, offer a slight ranking+-- boosts items where the querying user is an owner. The maximum number of+-- elements is 5.+iaOwners :: Lens' ItemACL [Principal]+iaOwners+  = lens _iaOwners (\ s a -> s{_iaOwners = a}) .+      _Default+      . _Coerce++-- | List of principals who are allowed to see the item in search results.+-- Optional if inheriting permissions from another item or if the item is+-- not intended to be visible, such as virtual containers. The maximum+-- number of elements is 1000.+iaReaders :: Lens' ItemACL [Principal]+iaReaders+  = lens _iaReaders (\ s a -> s{_iaReaders = a}) .+      _Default+      . _Coerce++-- | Sets the type of access rules to apply when an item inherits its ACL+-- from a parent. This should always be set in tandem with the+-- inheritAclFrom field. Also, when the inheritAclFrom field is set, this+-- field should be set to a valid AclInheritanceType.+iaACLInheritanceType :: Lens' ItemACL (Maybe ItemACLACLInheritanceType)+iaACLInheritanceType+  = lens _iaACLInheritanceType+      (\ s a -> s{_iaACLInheritanceType = a})++-- | Name of the item to inherit the Access Permission List (ACL) from. Note:+-- ACL inheritance *only* provides access permissions to child items and+-- does not define structural relationships, nor does it provide convenient+-- ways to delete large groups of items. Deleting an ACL parent from the+-- index only alters the access permissions of child items that reference+-- the parent in the inheritAclFrom field. The item is still in the index,+-- but may not visible in search results. By contrast, deletion of a+-- container item also deletes all items that reference the container via+-- the containerName field. The maximum length for this field is 1536+-- characters.+iaInheritACLFrom :: Lens' ItemACL (Maybe Text)+iaInheritACLFrom+  = lens _iaInheritACLFrom+      (\ s a -> s{_iaInheritACLFrom = a})++-- | List of principals who are explicitly denied access to the item in+-- search results. While principals are denied access by default, use+-- denied readers to handle exceptions and override the list allowed+-- readers. The maximum number of elements is 100.+iaDeniedReaders :: Lens' ItemACL [Principal]+iaDeniedReaders+  = lens _iaDeniedReaders+      (\ s a -> s{_iaDeniedReaders = a})+      . _Default+      . _Coerce++instance FromJSON ItemACL where+        parseJSON+          = withObject "ItemACL"+              (\ o ->+                 ItemACL' <$>+                   (o .:? "owners" .!= mempty) <*>+                     (o .:? "readers" .!= mempty)+                     <*> (o .:? "aclInheritanceType")+                     <*> (o .:? "inheritAclFrom")+                     <*> (o .:? "deniedReaders" .!= mempty))++instance ToJSON ItemACL where+        toJSON ItemACL'{..}+          = object+              (catMaybes+                 [("owners" .=) <$> _iaOwners,+                  ("readers" .=) <$> _iaReaders,+                  ("aclInheritanceType" .=) <$> _iaACLInheritanceType,+                  ("inheritAclFrom" .=) <$> _iaInheritACLFrom,+                  ("deniedReaders" .=) <$> _iaDeniedReaders])++-- | Definition of a single value with generic type.+--+-- /See:/ 'value' smart constructor.+data Value = Value'+    { _vIntegerValue   :: !(Maybe (Textual Int64))+    , _vTimestampValue :: !(Maybe DateTime')+    , _vDoubleValue    :: !(Maybe (Textual Double))+    , _vStringValue    :: !(Maybe Text)+    , _vDateValue      :: !(Maybe Date)+    , _vBooleanValue   :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Value' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vIntegerValue'+--+-- * 'vTimestampValue'+--+-- * 'vDoubleValue'+--+-- * 'vStringValue'+--+-- * 'vDateValue'+--+-- * 'vBooleanValue'+value+    :: Value+value =+    Value'+    { _vIntegerValue = Nothing+    , _vTimestampValue = Nothing+    , _vDoubleValue = Nothing+    , _vStringValue = Nothing+    , _vDateValue = Nothing+    , _vBooleanValue = Nothing+    }++vIntegerValue :: Lens' Value (Maybe Int64)+vIntegerValue+  = lens _vIntegerValue+      (\ s a -> s{_vIntegerValue = a})+      . mapping _Coerce++vTimestampValue :: Lens' Value (Maybe UTCTime)+vTimestampValue+  = lens _vTimestampValue+      (\ s a -> s{_vTimestampValue = a})+      . mapping _DateTime++vDoubleValue :: Lens' Value (Maybe Double)+vDoubleValue+  = lens _vDoubleValue (\ s a -> s{_vDoubleValue = a})+      . mapping _Coerce++vStringValue :: Lens' Value (Maybe Text)+vStringValue+  = lens _vStringValue (\ s a -> s{_vStringValue = a})++vDateValue :: Lens' Value (Maybe Date)+vDateValue+  = lens _vDateValue (\ s a -> s{_vDateValue = a})++vBooleanValue :: Lens' Value (Maybe Bool)+vBooleanValue+  = lens _vBooleanValue+      (\ s a -> s{_vBooleanValue = a})++instance FromJSON Value where+        parseJSON+          = withObject "Value"+              (\ o ->+                 Value' <$>+                   (o .:? "integerValue") <*> (o .:? "timestampValue")+                     <*> (o .:? "doubleValue")+                     <*> (o .:? "stringValue")+                     <*> (o .:? "dateValue")+                     <*> (o .:? "booleanValue"))++instance ToJSON Value where+        toJSON Value'{..}+          = object+              (catMaybes+                 [("integerValue" .=) <$> _vIntegerValue,+                  ("timestampValue" .=) <$> _vTimestampValue,+                  ("doubleValue" .=) <$> _vDoubleValue,+                  ("stringValue" .=) <$> _vStringValue,+                  ("dateValue" .=) <$> _vDateValue,+                  ("booleanValue" .=) <$> _vBooleanValue])++--+-- /See:/ 'fieldViolation' smart constructor.+data FieldViolation = FieldViolation'+    { _fvField       :: !(Maybe Text)+    , _fvDescription :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FieldViolation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fvField'+--+-- * 'fvDescription'+fieldViolation+    :: FieldViolation+fieldViolation =+    FieldViolation'+    { _fvField = Nothing+    , _fvDescription = Nothing+    }++-- | Path of field with violation.+fvField :: Lens' FieldViolation (Maybe Text)+fvField = lens _fvField (\ s a -> s{_fvField = a})++-- | Description of the error.+fvDescription :: Lens' FieldViolation (Maybe Text)+fvDescription+  = lens _fvDescription+      (\ s a -> s{_fvDescription = a})++instance FromJSON FieldViolation where+        parseJSON+          = withObject "FieldViolation"+              (\ o ->+                 FieldViolation' <$>+                   (o .:? "field") <*> (o .:? "description"))++instance ToJSON FieldViolation where+        toJSON FieldViolation'{..}+          = object+              (catMaybes+                 [("field" .=) <$> _fvField,+                  ("description" .=) <$> _fvDescription])++-- | A metaline is a list of properties that are displayed along with the+-- search result to provide context.+--+-- /See:/ 'metaline' smart constructor.+newtype Metaline = Metaline'+    { _mProperties :: Maybe [DisplayedProperty]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metaline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mProperties'+metaline+    :: Metaline+metaline =+    Metaline'+    { _mProperties = Nothing+    }++-- | The list of displayed properties for the metaline.+mProperties :: Lens' Metaline [DisplayedProperty]+mProperties+  = lens _mProperties (\ s a -> s{_mProperties = a}) .+      _Default+      . _Coerce++instance FromJSON Metaline where+        parseJSON+          = withObject "Metaline"+              (\ o ->+                 Metaline' <$> (o .:? "properties" .!= mempty))++instance ToJSON Metaline where+        toJSON Metaline'{..}+          = object+              (catMaybes [("properties" .=) <$> _mProperties])++-- | A bucket in a facet is the basic unit of operation. A bucket can+-- comprise either a single value OR a contiguous range of values,+-- depending on the type of the field bucketed. FacetBucket is currently+-- used only for returning the response object.+--+-- /See:/ 'facetBucket' smart constructor.+data FacetBucket = FacetBucket'+    { _fbValue      :: !(Maybe Value)+    , _fbCount      :: !(Maybe (Textual Int32))+    , _fbPercentage :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FacetBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fbValue'+--+-- * 'fbCount'+--+-- * 'fbPercentage'+facetBucket+    :: FacetBucket+facetBucket =+    FacetBucket'+    { _fbValue = Nothing+    , _fbCount = Nothing+    , _fbPercentage = Nothing+    }++fbValue :: Lens' FacetBucket (Maybe Value)+fbValue = lens _fbValue (\ s a -> s{_fbValue = a})++-- | Number of results that match the bucket value.+fbCount :: Lens' FacetBucket (Maybe Int32)+fbCount+  = lens _fbCount (\ s a -> s{_fbCount = a}) .+      mapping _Coerce++-- | Percent of results that match the bucket value. This value is between+-- (0-100]. This may not be accurate and is a best effort estimate.+fbPercentage :: Lens' FacetBucket (Maybe Int32)+fbPercentage+  = lens _fbPercentage (\ s a -> s{_fbPercentage = a})+      . mapping _Coerce++instance FromJSON FacetBucket where+        parseJSON+          = withObject "FacetBucket"+              (\ o ->+                 FacetBucket' <$>+                   (o .:? "value") <*> (o .:? "count") <*>+                     (o .:? "percentage"))++instance ToJSON FacetBucket where+        toJSON FacetBucket'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _fbValue,+                  ("count" .=) <$> _fbCount,+                  ("percentage" .=) <$> _fbPercentage])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+    { _sdiAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+    :: HashMap Text JSONValue -- ^ 'sdiAddtional'+    -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+    StatusDetailsItem'+    { _sdiAddtional = _Coerce # pSdiAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+      . _Coerce++instance FromJSON StatusDetailsItem where+        parseJSON+          = withObject "StatusDetailsItem"+              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+        toJSON = toJSON . _sdiAddtional++-- | Used to provide a search operator for timestamp properties. This is+-- optional. Search operators let users restrict the query to specific+-- fields relevant to the type of item being searched.+--+-- /See:/ 'timestampOperatorOptions' smart constructor.+data TimestampOperatorOptions = TimestampOperatorOptions'+    { _tOperatorName            :: !(Maybe Text)+    , _tLessThanOperatorName    :: !(Maybe Text)+    , _tGreaterThanOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimestampOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tOperatorName'+--+-- * 'tLessThanOperatorName'+--+-- * 'tGreaterThanOperatorName'+timestampOperatorOptions+    :: TimestampOperatorOptions+timestampOperatorOptions =+    TimestampOperatorOptions'+    { _tOperatorName = Nothing+    , _tLessThanOperatorName = Nothing+    , _tGreaterThanOperatorName = Nothing+    }++-- | Indicates the operator name required in the query in order to isolate+-- the timestamp property. For example, if operatorName is *closedon* and+-- the property\'s name is *closeDate*, then queries like+-- *closedon:\<value>* will show results only where the value of the+-- property named *closeDate* matches *\<value>*. By contrast, a search+-- that uses the same *\<value>* without an operator will return all items+-- where *\<value>* matches the value of any String properties or text+-- within the content field for the item. The operator name can only+-- contain lowercase letters (a-z). The maximum length is 32 characters.+tOperatorName :: Lens' TimestampOperatorOptions (Maybe Text)+tOperatorName+  = lens _tOperatorName+      (\ s a -> s{_tOperatorName = a})++-- | Indicates the operator name required in the query in order to isolate+-- the timestamp property using the less-than operator. For example, if+-- lessThanOperatorName is *closedbefore* and the property\'s name is+-- *closeDate*, then queries like *closedbefore:\<value>* will show results+-- only where the value of the property named *closeDate* is earlier than+-- *\<value>*. The operator name can only contain lowercase letters (a-z).+-- The maximum length is 32 characters.+tLessThanOperatorName :: Lens' TimestampOperatorOptions (Maybe Text)+tLessThanOperatorName+  = lens _tLessThanOperatorName+      (\ s a -> s{_tLessThanOperatorName = a})++-- | Indicates the operator name required in the query in order to isolate+-- the timestamp property using the greater-than operator. For example, if+-- greaterThanOperatorName is *closedafter* and the property\'s name is+-- *closeDate*, then queries like *closedafter:\<value>* will show results+-- only where the value of the property named *closeDate* is later than+-- *\<value>*. The operator name can only contain lowercase letters (a-z).+-- The maximum length is 32 characters.+tGreaterThanOperatorName :: Lens' TimestampOperatorOptions (Maybe Text)+tGreaterThanOperatorName+  = lens _tGreaterThanOperatorName+      (\ s a -> s{_tGreaterThanOperatorName = a})++instance FromJSON TimestampOperatorOptions where+        parseJSON+          = withObject "TimestampOperatorOptions"+              (\ o ->+                 TimestampOperatorOptions' <$>+                   (o .:? "operatorName") <*>+                     (o .:? "lessThanOperatorName")+                     <*> (o .:? "greaterThanOperatorName"))++instance ToJSON TimestampOperatorOptions where+        toJSON TimestampOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _tOperatorName,+                  ("lessThanOperatorName" .=) <$>+                    _tLessThanOperatorName,+                  ("greaterThanOperatorName" .=) <$>+                    _tGreaterThanOperatorName])++-- | Used to provide a search operator for integer properties. This is+-- optional. Search operators let users restrict the query to specific+-- fields relevant to the type of item being searched.+--+-- /See:/ 'integerOperatorOptions' smart constructor.+data IntegerOperatorOptions = IntegerOperatorOptions'+    { _iooOperatorName            :: !(Maybe Text)+    , _iooLessThanOperatorName    :: !(Maybe Text)+    , _iooGreaterThanOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegerOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iooOperatorName'+--+-- * 'iooLessThanOperatorName'+--+-- * 'iooGreaterThanOperatorName'+integerOperatorOptions+    :: IntegerOperatorOptions+integerOperatorOptions =+    IntegerOperatorOptions'+    { _iooOperatorName = Nothing+    , _iooLessThanOperatorName = Nothing+    , _iooGreaterThanOperatorName = Nothing+    }++-- | Indicates the operator name required in the query in order to isolate+-- the integer property. For example, if operatorName is *priority* and the+-- property\'s name is *priorityVal*, then queries like *priority:\<value>*+-- will show results only where the value of the property named+-- *priorityVal* matches *\<value>*. By contrast, a search that uses the+-- same *\<value>* without an operator will return all items where+-- *\<value>* matches the value of any String properties or text within the+-- content field for the item. The operator name can only contain lowercase+-- letters (a-z). The maximum length is 32 characters.+iooOperatorName :: Lens' IntegerOperatorOptions (Maybe Text)+iooOperatorName+  = lens _iooOperatorName+      (\ s a -> s{_iooOperatorName = a})++-- | Indicates the operator name required in the query in order to isolate+-- the integer property using the less-than operator. For example, if+-- lessThanOperatorName is *prioritybelow* and the property\'s name is+-- *priorityVal*, then queries like *prioritybelow:\<value>* will show+-- results only where the value of the property named *priorityVal* is less+-- than *\<value>*. The operator name can only contain lowercase letters+-- (a-z). The maximum length is 32 characters.+iooLessThanOperatorName :: Lens' IntegerOperatorOptions (Maybe Text)+iooLessThanOperatorName+  = lens _iooLessThanOperatorName+      (\ s a -> s{_iooLessThanOperatorName = a})++-- | Indicates the operator name required in the query in order to isolate+-- the integer property using the greater-than operator. For example, if+-- greaterThanOperatorName is *priorityabove* and the property\'s name is+-- *priorityVal*, then queries like *priorityabove:\<value>* will show+-- results only where the value of the property named *priorityVal* is+-- greater than *\<value>*. The operator name can only contain lowercase+-- letters (a-z). The maximum length is 32 characters.+iooGreaterThanOperatorName :: Lens' IntegerOperatorOptions (Maybe Text)+iooGreaterThanOperatorName+  = lens _iooGreaterThanOperatorName+      (\ s a -> s{_iooGreaterThanOperatorName = a})++instance FromJSON IntegerOperatorOptions where+        parseJSON+          = withObject "IntegerOperatorOptions"+              (\ o ->+                 IntegerOperatorOptions' <$>+                   (o .:? "operatorName") <*>+                     (o .:? "lessThanOperatorName")+                     <*> (o .:? "greaterThanOperatorName"))++instance ToJSON IntegerOperatorOptions where+        toJSON IntegerOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _iooOperatorName,+                  ("lessThanOperatorName" .=) <$>+                    _iooLessThanOperatorName,+                  ("greaterThanOperatorName" .=) <$>+                    _iooGreaterThanOperatorName])++-- | A completed query suggestion.+--+-- /See:/ 'querySuggestion' smart constructor.+data QuerySuggestion =+    QuerySuggestion'+    deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QuerySuggestion' with the minimum fields required to make a request.+--+querySuggestion+    :: QuerySuggestion+querySuggestion = QuerySuggestion'++instance FromJSON QuerySuggestion where+        parseJSON+          = withObject "QuerySuggestion"+              (\ o -> pure QuerySuggestion')++instance ToJSON QuerySuggestion where+        toJSON = const emptyObject++--+-- /See:/ 'listSearchApplicationsResponse' smart constructor.+data ListSearchApplicationsResponse = ListSearchApplicationsResponse'+    { _lsarNextPageToken      :: !(Maybe Text)+    , _lsarSearchApplications :: !(Maybe [SearchApplication])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListSearchApplicationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsarNextPageToken'+--+-- * 'lsarSearchApplications'+listSearchApplicationsResponse+    :: ListSearchApplicationsResponse+listSearchApplicationsResponse =+    ListSearchApplicationsResponse'+    { _lsarNextPageToken = Nothing+    , _lsarSearchApplications = Nothing+    }++-- | Token to retrieve the next page of results, or empty if there are no+-- more results in the list.+lsarNextPageToken :: Lens' ListSearchApplicationsResponse (Maybe Text)+lsarNextPageToken+  = lens _lsarNextPageToken+      (\ s a -> s{_lsarNextPageToken = a})++lsarSearchApplications :: Lens' ListSearchApplicationsResponse [SearchApplication]+lsarSearchApplications+  = lens _lsarSearchApplications+      (\ s a -> s{_lsarSearchApplications = a})+      . _Default+      . _Coerce++instance FromJSON ListSearchApplicationsResponse+         where+        parseJSON+          = withObject "ListSearchApplicationsResponse"+              (\ o ->+                 ListSearchApplicationsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "searchApplications" .!= mempty))++instance ToJSON ListSearchApplicationsResponse where+        toJSON ListSearchApplicationsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lsarNextPageToken,+                  ("searchApplications" .=) <$>+                    _lsarSearchApplications])++-- | Debugging information about the result.+--+-- /See:/ 'resultDebugInfo' smart constructor.+newtype ResultDebugInfo = ResultDebugInfo'+    { _rdiFormattedDebugInfo :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultDebugInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdiFormattedDebugInfo'+resultDebugInfo+    :: ResultDebugInfo+resultDebugInfo =+    ResultDebugInfo'+    { _rdiFormattedDebugInfo = Nothing+    }++-- | General debug info formatted for display.+rdiFormattedDebugInfo :: Lens' ResultDebugInfo (Maybe Text)+rdiFormattedDebugInfo+  = lens _rdiFormattedDebugInfo+      (\ s a -> s{_rdiFormattedDebugInfo = a})++instance FromJSON ResultDebugInfo where+        parseJSON+          = withObject "ResultDebugInfo"+              (\ o ->+                 ResultDebugInfo' <$> (o .:? "formattedDebugInfo"))++instance ToJSON ResultDebugInfo where+        toJSON ResultDebugInfo'{..}+          = object+              (catMaybes+                 [("formattedDebugInfo" .=) <$>+                    _rdiFormattedDebugInfo])++--+-- /See:/ 'itemCountByStatus' smart constructor.+data ItemCountByStatus = ItemCountByStatus'+    { _icbsCount      :: !(Maybe (Textual Int64))+    , _icbsStatusCode :: !(Maybe ItemCountByStatusStatusCode)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ItemCountByStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icbsCount'+--+-- * 'icbsStatusCode'+itemCountByStatus+    :: ItemCountByStatus+itemCountByStatus =+    ItemCountByStatus'+    { _icbsCount = Nothing+    , _icbsStatusCode = Nothing+    }++-- | Number of items matching the status code.+icbsCount :: Lens' ItemCountByStatus (Maybe Int64)+icbsCount+  = lens _icbsCount (\ s a -> s{_icbsCount = a}) .+      mapping _Coerce++-- | Status of the items.+icbsStatusCode :: Lens' ItemCountByStatus (Maybe ItemCountByStatusStatusCode)+icbsStatusCode+  = lens _icbsStatusCode+      (\ s a -> s{_icbsStatusCode = a})++instance FromJSON ItemCountByStatus where+        parseJSON+          = withObject "ItemCountByStatus"+              (\ o ->+                 ItemCountByStatus' <$>+                   (o .:? "count") <*> (o .:? "statusCode"))++instance ToJSON ItemCountByStatus where+        toJSON ItemCountByStatus'{..}+          = object+              (catMaybes+                 [("count" .=) <$> _icbsCount,+                  ("statusCode" .=) <$> _icbsStatusCode])++-- | Options for timestamp properties.+--+-- /See:/ 'timestampPropertyOptions' smart constructor.+newtype TimestampPropertyOptions = TimestampPropertyOptions'+    { _tpoOperatorOptions :: Maybe TimestampOperatorOptions+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimestampPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpoOperatorOptions'+timestampPropertyOptions+    :: TimestampPropertyOptions+timestampPropertyOptions =+    TimestampPropertyOptions'+    { _tpoOperatorOptions = Nothing+    }++-- | If set, describes how the timestamp should be used as a search operator.+tpoOperatorOptions :: Lens' TimestampPropertyOptions (Maybe TimestampOperatorOptions)+tpoOperatorOptions+  = lens _tpoOperatorOptions+      (\ s a -> s{_tpoOperatorOptions = a})++instance FromJSON TimestampPropertyOptions where+        parseJSON+          = withObject "TimestampPropertyOptions"+              (\ o ->+                 TimestampPropertyOptions' <$>+                   (o .:? "operatorOptions"))++instance ToJSON TimestampPropertyOptions where+        toJSON TimestampPropertyOptions'{..}+          = object+              (catMaybes+                 [("operatorOptions" .=) <$> _tpoOperatorOptions])++-- | Result count information+--+-- /See:/ 'resultCounts' smart constructor.+newtype ResultCounts = ResultCounts'+    { _rcSourceResultCounts :: Maybe [SourceResultCount]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultCounts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcSourceResultCounts'+resultCounts+    :: ResultCounts+resultCounts =+    ResultCounts'+    { _rcSourceResultCounts = Nothing+    }++-- | Result count information for each source with results.+rcSourceResultCounts :: Lens' ResultCounts [SourceResultCount]+rcSourceResultCounts+  = lens _rcSourceResultCounts+      (\ s a -> s{_rcSourceResultCounts = a})+      . _Default+      . _Coerce++instance FromJSON ResultCounts where+        parseJSON+          = withObject "ResultCounts"+              (\ o ->+                 ResultCounts' <$>+                   (o .:? "sourceResultCounts" .!= mempty))++instance ToJSON ResultCounts where+        toJSON ResultCounts'{..}+          = object+              (catMaybes+                 [("sourceResultCounts" .=) <$>+                    _rcSourceResultCounts])++-- | Indicates which freshness property to use when adjusting search ranking+-- for an item. Fresher, more recent dates indicate higher quality. Use the+-- freshness option property that best works with your data. For fileshare+-- documents, last modified time is most relevant. For calendar event data,+-- the time when the event occurs is a more relevant freshness indicator.+-- In this way, calendar events that occur closer to the time of the search+-- query are considered higher quality and ranked accordingly.+--+-- /See:/ 'freshnessOptions' smart constructor.+data FreshnessOptions = FreshnessOptions'+    { _foFreshnessDuration :: !(Maybe GDuration)+    , _foFreshnessProperty :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FreshnessOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'foFreshnessDuration'+--+-- * 'foFreshnessProperty'+freshnessOptions+    :: FreshnessOptions+freshnessOptions =+    FreshnessOptions'+    { _foFreshnessDuration = Nothing+    , _foFreshnessProperty = Nothing+    }++-- | The duration (in seconds) after which an object should be considered+-- stale.+foFreshnessDuration :: Lens' FreshnessOptions (Maybe Scientific)+foFreshnessDuration+  = lens _foFreshnessDuration+      (\ s a -> s{_foFreshnessDuration = a})+      . mapping _GDuration++-- | This property indicates the freshness level of the object in the index.+-- If set, this property must be a top-level property within the property+-- definitions and it must be a timestamp type or date type. Otherwise, the+-- Indexing API uses updateTime as the freshness indicator. The maximum+-- length is 256 characters.+foFreshnessProperty :: Lens' FreshnessOptions (Maybe Text)+foFreshnessProperty+  = lens _foFreshnessProperty+      (\ s a -> s{_foFreshnessProperty = a})++instance FromJSON FreshnessOptions where+        parseJSON+          = withObject "FreshnessOptions"+              (\ o ->+                 FreshnessOptions' <$>+                   (o .:? "freshnessDuration") <*>+                     (o .:? "freshnessProperty"))++instance ToJSON FreshnessOptions where+        toJSON FreshnessOptions'{..}+          = object+              (catMaybes+                 [("freshnessDuration" .=) <$> _foFreshnessDuration,+                  ("freshnessProperty" .=) <$> _foFreshnessProperty])++-- | Shared request debug options for all cloudsearch RPC methods.+--+-- /See:/ 'debugOptions' smart constructor.+newtype DebugOptions = DebugOptions'+    { _doEnableDebugging :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DebugOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'doEnableDebugging'+debugOptions+    :: DebugOptions+debugOptions =+    DebugOptions'+    { _doEnableDebugging = Nothing+    }++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+doEnableDebugging :: Lens' DebugOptions (Maybe Bool)+doEnableDebugging+  = lens _doEnableDebugging+      (\ s a -> s{_doEnableDebugging = a})++instance FromJSON DebugOptions where+        parseJSON+          = withObject "DebugOptions"+              (\ o -> DebugOptions' <$> (o .:? "enableDebugging"))++instance ToJSON DebugOptions where+        toJSON DebugOptions'{..}+          = object+              (catMaybes+                 [("enableDebugging" .=) <$> _doEnableDebugging])++-- | Options for integer properties.+--+-- /See:/ 'integerPropertyOptions' smart constructor.+data IntegerPropertyOptions = IntegerPropertyOptions'+    { _ipoMaximumValue    :: !(Maybe (Textual Int64))+    , _ipoOrderedRanking  :: !(Maybe IntegerPropertyOptionsOrderedRanking)+    , _ipoMinimumValue    :: !(Maybe (Textual Int64))+    , _ipoOperatorOptions :: !(Maybe IntegerOperatorOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegerPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipoMaximumValue'+--+-- * 'ipoOrderedRanking'+--+-- * 'ipoMinimumValue'+--+-- * 'ipoOperatorOptions'+integerPropertyOptions+    :: IntegerPropertyOptions+integerPropertyOptions =+    IntegerPropertyOptions'+    { _ipoMaximumValue = Nothing+    , _ipoOrderedRanking = Nothing+    , _ipoMinimumValue = Nothing+    , _ipoOperatorOptions = Nothing+    }++-- | The maximum value of the property. The minimum and maximum values for+-- the property are used to rank results according to the ordered ranking.+-- Indexing requests with values greater than the maximum are accepted and+-- ranked with the same weight as items indexed with the maximum value.+ipoMaximumValue :: Lens' IntegerPropertyOptions (Maybe Int64)+ipoMaximumValue+  = lens _ipoMaximumValue+      (\ s a -> s{_ipoMaximumValue = a})+      . mapping _Coerce++-- | Used to specify the ordered ranking for the integer. Can only be used if+-- isRepeatable is false.+ipoOrderedRanking :: Lens' IntegerPropertyOptions (Maybe IntegerPropertyOptionsOrderedRanking)+ipoOrderedRanking+  = lens _ipoOrderedRanking+      (\ s a -> s{_ipoOrderedRanking = a})++-- | The minimum value of the property. The minimum and maximum values for+-- the property are used to rank results according to the ordered ranking.+-- Indexing requests with values less than the minimum are accepted and+-- ranked with the same weight as items indexed with the minimum value.+ipoMinimumValue :: Lens' IntegerPropertyOptions (Maybe Int64)+ipoMinimumValue+  = lens _ipoMinimumValue+      (\ s a -> s{_ipoMinimumValue = a})+      . mapping _Coerce++-- | If set, describes how the integer should be used as a search operator.+ipoOperatorOptions :: Lens' IntegerPropertyOptions (Maybe IntegerOperatorOptions)+ipoOperatorOptions+  = lens _ipoOperatorOptions+      (\ s a -> s{_ipoOperatorOptions = a})++instance FromJSON IntegerPropertyOptions where+        parseJSON+          = withObject "IntegerPropertyOptions"+              (\ o ->+                 IntegerPropertyOptions' <$>+                   (o .:? "maximumValue") <*> (o .:? "orderedRanking")+                     <*> (o .:? "minimumValue")+                     <*> (o .:? "operatorOptions"))++instance ToJSON IntegerPropertyOptions where+        toJSON IntegerPropertyOptions'{..}+          = object+              (catMaybes+                 [("maximumValue" .=) <$> _ipoMaximumValue,+                  ("orderedRanking" .=) <$> _ipoOrderedRanking,+                  ("minimumValue" .=) <$> _ipoMinimumValue,+                  ("operatorOptions" .=) <$> _ipoOperatorOptions])++-- | Restriction on Datasource.+--+-- /See:/ 'dataSourceRestriction' smart constructor.+data DataSourceRestriction = DataSourceRestriction'+    { _dsrFilterOptions :: !(Maybe [FilterOptions])+    , _dsrSource        :: !(Maybe Source)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSourceRestriction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrFilterOptions'+--+-- * 'dsrSource'+dataSourceRestriction+    :: DataSourceRestriction+dataSourceRestriction =+    DataSourceRestriction'+    { _dsrFilterOptions = Nothing+    , _dsrSource = Nothing+    }++-- | Filter options restricting the results. If multiple filters are present,+-- they are grouped by object type before joining. Filters with the same+-- object type are joined conjunctively, then the resulting expressions are+-- joined disjunctively. The maximum number of elements is 20.+dsrFilterOptions :: Lens' DataSourceRestriction [FilterOptions]+dsrFilterOptions+  = lens _dsrFilterOptions+      (\ s a -> s{_dsrFilterOptions = a})+      . _Default+      . _Coerce++-- | The source of restriction.+dsrSource :: Lens' DataSourceRestriction (Maybe Source)+dsrSource+  = lens _dsrSource (\ s a -> s{_dsrSource = a})++instance FromJSON DataSourceRestriction where+        parseJSON+          = withObject "DataSourceRestriction"+              (\ o ->+                 DataSourceRestriction' <$>+                   (o .:? "filterOptions" .!= mempty) <*>+                     (o .:? "source"))++instance ToJSON DataSourceRestriction where+        toJSON DataSourceRestriction'{..}+          = object+              (catMaybes+                 [("filterOptions" .=) <$> _dsrFilterOptions,+                  ("source" .=) <$> _dsrSource])++-- | The schema definition for a data source.+--+-- /See:/ 'schema' smart constructor.+data Schema = Schema'+    { _sObjectDefinitions :: !(Maybe [ObjectDefinition])+    , _sOperationIds      :: !(Maybe [Text])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Schema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sObjectDefinitions'+--+-- * 'sOperationIds'+schema+    :: Schema+schema =+    Schema'+    { _sObjectDefinitions = Nothing+    , _sOperationIds = Nothing+    }++-- | The list of top-level objects for the data source. The maximum number of+-- elements is 10.+sObjectDefinitions :: Lens' Schema [ObjectDefinition]+sObjectDefinitions+  = lens _sObjectDefinitions+      (\ s a -> s{_sObjectDefinitions = a})+      . _Default+      . _Coerce++-- | IDs of the Long Running Operations (LROs) currently running for this+-- schema. After modifying the schema, wait for opeations to complete+-- before indexing additional content.+sOperationIds :: Lens' Schema [Text]+sOperationIds+  = lens _sOperationIds+      (\ s a -> s{_sOperationIds = a})+      . _Default+      . _Coerce++instance FromJSON Schema where+        parseJSON+          = withObject "Schema"+              (\ o ->+                 Schema' <$>+                   (o .:? "objectDefinitions" .!= mempty) <*>+                     (o .:? "operationIds" .!= mempty))++instance ToJSON Schema where+        toJSON Schema'{..}+          = object+              (catMaybes+                 [("objectDefinitions" .=) <$> _sObjectDefinitions,+                  ("operationIds" .=) <$> _sOperationIds])++-- | The time span search restrict (e.g. \"after:2017-09-11+-- before:2017-09-12\").+--+-- /See:/ 'driveTimeSpanRestrict' smart constructor.+newtype DriveTimeSpanRestrict = DriveTimeSpanRestrict'+    { _dtsrType :: Maybe DriveTimeSpanRestrictType+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DriveTimeSpanRestrict' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtsrType'+driveTimeSpanRestrict+    :: DriveTimeSpanRestrict+driveTimeSpanRestrict =+    DriveTimeSpanRestrict'+    { _dtsrType = Nothing+    }++dtsrType :: Lens' DriveTimeSpanRestrict (Maybe DriveTimeSpanRestrictType)+dtsrType = lens _dtsrType (\ s a -> s{_dtsrType = a})++instance FromJSON DriveTimeSpanRestrict where+        parseJSON+          = withObject "DriveTimeSpanRestrict"+              (\ o -> DriveTimeSpanRestrict' <$> (o .:? "type"))++instance ToJSON DriveTimeSpanRestrict where+        toJSON DriveTimeSpanRestrict'{..}+          = object (catMaybes [("type" .=) <$> _dtsrType])++-- | Display Fields for Search Results+--+-- /See:/ 'resultDisplayField' smart constructor.+data ResultDisplayField = ResultDisplayField'+    { _rdfProperty     :: !(Maybe NamedProperty)+    , _rdfOperatorName :: !(Maybe Text)+    , _rdfLabel        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultDisplayField' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdfProperty'+--+-- * 'rdfOperatorName'+--+-- * 'rdfLabel'+resultDisplayField+    :: ResultDisplayField+resultDisplayField =+    ResultDisplayField'+    { _rdfProperty = Nothing+    , _rdfOperatorName = Nothing+    , _rdfLabel = Nothing+    }++-- | The name value pair for the property.+rdfProperty :: Lens' ResultDisplayField (Maybe NamedProperty)+rdfProperty+  = lens _rdfProperty (\ s a -> s{_rdfProperty = a})++-- | The operator name of the property.+rdfOperatorName :: Lens' ResultDisplayField (Maybe Text)+rdfOperatorName+  = lens _rdfOperatorName+      (\ s a -> s{_rdfOperatorName = a})++-- | The display label for the property.+rdfLabel :: Lens' ResultDisplayField (Maybe Text)+rdfLabel = lens _rdfLabel (\ s a -> s{_rdfLabel = a})++instance FromJSON ResultDisplayField where+        parseJSON+          = withObject "ResultDisplayField"+              (\ o ->+                 ResultDisplayField' <$>+                   (o .:? "property") <*> (o .:? "operatorName") <*>+                     (o .:? "label"))++instance ToJSON ResultDisplayField where+        toJSON ResultDisplayField'{..}+          = object+              (catMaybes+                 [("property" .=) <$> _rdfProperty,+                  ("operatorName" .=) <$> _rdfOperatorName,+                  ("label" .=) <$> _rdfLabel])++--+-- /See:/ 'updateSchemaRequest' smart constructor.+data UpdateSchemaRequest = UpdateSchemaRequest'+    { _usrValidateOnly :: !(Maybe Bool)+    , _usrSchema       :: !(Maybe Schema)+    , _usrDebugOptions :: !(Maybe DebugOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateSchemaRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usrValidateOnly'+--+-- * 'usrSchema'+--+-- * 'usrDebugOptions'+updateSchemaRequest+    :: UpdateSchemaRequest+updateSchemaRequest =+    UpdateSchemaRequest'+    { _usrValidateOnly = Nothing+    , _usrSchema = Nothing+    , _usrDebugOptions = Nothing+    }++-- | If true, the request will be validated without side effects.+usrValidateOnly :: Lens' UpdateSchemaRequest (Maybe Bool)+usrValidateOnly+  = lens _usrValidateOnly+      (\ s a -> s{_usrValidateOnly = a})++-- | The new schema for the source.+usrSchema :: Lens' UpdateSchemaRequest (Maybe Schema)+usrSchema+  = lens _usrSchema (\ s a -> s{_usrSchema = a})++-- | Common debug options.+usrDebugOptions :: Lens' UpdateSchemaRequest (Maybe DebugOptions)+usrDebugOptions+  = lens _usrDebugOptions+      (\ s a -> s{_usrDebugOptions = a})++instance FromJSON UpdateSchemaRequest where+        parseJSON+          = withObject "UpdateSchemaRequest"+              (\ o ->+                 UpdateSchemaRequest' <$>+                   (o .:? "validateOnly") <*> (o .:? "schema") <*>+                     (o .:? "debugOptions"))++instance ToJSON UpdateSchemaRequest where+        toJSON UpdateSchemaRequest'{..}+          = object+              (catMaybes+                 [("validateOnly" .=) <$> _usrValidateOnly,+                  ("schema" .=) <$> _usrSchema,+                  ("debugOptions" .=) <$> _usrDebugOptions])++-- | Represents a whole calendar date, for example a date of birth. The time+-- of day and time zone are either specified elsewhere or are not+-- significant. The date is relative to the [Proleptic Gregorian+-- Calendar](https:\/\/en.wikipedia.org\/wiki\/Proleptic_Gregorian_calendar).+-- The date must be a valid calendar date between the year 1 and 9999.+--+-- /See:/ 'date' smart constructor.+data Date = Date'+    { _dDay   :: !(Maybe (Textual Int32))+    , _dYear  :: !(Maybe (Textual Int32))+    , _dMonth :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Date' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDay'+--+-- * 'dYear'+--+-- * 'dMonth'+date+    :: Date+date =+    Date'+    { _dDay = Nothing+    , _dYear = Nothing+    , _dMonth = Nothing+    }++-- | Day of month. Must be from 1 to 31 and valid for the year and month.+dDay :: Lens' Date (Maybe Int32)+dDay+  = lens _dDay (\ s a -> s{_dDay = a}) .+      mapping _Coerce++-- | Year of date. Must be from 1 to 9999.+dYear :: Lens' Date (Maybe Int32)+dYear+  = lens _dYear (\ s a -> s{_dYear = a}) .+      mapping _Coerce++-- | Month of date. Must be from 1 to 12.+dMonth :: Lens' Date (Maybe Int32)+dMonth+  = lens _dMonth (\ s a -> s{_dMonth = a}) .+      mapping _Coerce++instance FromJSON Date where+        parseJSON+          = withObject "Date"+              (\ o ->+                 Date' <$>+                   (o .:? "day") <*> (o .:? "year") <*> (o .:? "month"))++instance ToJSON Date where+        toJSON Date'{..}+          = object+              (catMaybes+                 [("day" .=) <$> _dDay, ("year" .=) <$> _dYear,+                  ("month" .=) <$> _dMonth])++-- | A reference to a top-level property within the object that should be+-- displayed in search results. The values of the chosen properties will be+-- displayed in the search results along with the dislpay label for that+-- property if one is specified. If a display label is not specified, only+-- the values will be shown.+--+-- /See:/ 'displayedProperty' smart constructor.+newtype DisplayedProperty = DisplayedProperty'+    { _dpPropertyName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisplayedProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpPropertyName'+displayedProperty+    :: DisplayedProperty+displayedProperty =+    DisplayedProperty'+    { _dpPropertyName = Nothing+    }++-- | The name of the top-level property as defined in a property definition+-- for the object. If the name is not a defined property in the schema, an+-- error will be given when attempting to update the schema.+dpPropertyName :: Lens' DisplayedProperty (Maybe Text)+dpPropertyName+  = lens _dpPropertyName+      (\ s a -> s{_dpPropertyName = a})++instance FromJSON DisplayedProperty where+        parseJSON+          = withObject "DisplayedProperty"+              (\ o ->+                 DisplayedProperty' <$> (o .:? "propertyName"))++instance ToJSON DisplayedProperty where+        toJSON DisplayedProperty'{..}+          = object+              (catMaybes [("propertyName" .=) <$> _dpPropertyName])++-- | Source specific facet response+--+-- /See:/ 'facetResult' smart constructor.+data FacetResult = FacetResult'+    { _frSourceName   :: !(Maybe Text)+    , _frBuckets      :: !(Maybe [FacetBucket])+    , _frObjectType   :: !(Maybe Text)+    , _frOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FacetResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frSourceName'+--+-- * 'frBuckets'+--+-- * 'frObjectType'+--+-- * 'frOperatorName'+facetResult+    :: FacetResult+facetResult =+    FacetResult'+    { _frSourceName = Nothing+    , _frBuckets = Nothing+    , _frObjectType = Nothing+    , _frOperatorName = Nothing+    }++-- | Source name for which facet results are returned. Will not be empty.+frSourceName :: Lens' FacetResult (Maybe Text)+frSourceName+  = lens _frSourceName (\ s a -> s{_frSourceName = a})++-- | FacetBuckets for values in response containing atleast a single result.+frBuckets :: Lens' FacetResult [FacetBucket]+frBuckets+  = lens _frBuckets (\ s a -> s{_frBuckets = a}) .+      _Default+      . _Coerce++-- | Object type for which facet results are returned. Can be empty.+frObjectType :: Lens' FacetResult (Maybe Text)+frObjectType+  = lens _frObjectType (\ s a -> s{_frObjectType = a})++-- | Name of the operator chosen for faceting. \'see+-- cloudsearch.SchemaPropertyOptions+frOperatorName :: Lens' FacetResult (Maybe Text)+frOperatorName+  = lens _frOperatorName+      (\ s a -> s{_frOperatorName = a})++instance FromJSON FacetResult where+        parseJSON+          = withObject "FacetResult"+              (\ o ->+                 FacetResult' <$>+                   (o .:? "sourceName") <*> (o .:? "buckets" .!= mempty)+                     <*> (o .:? "objectType")+                     <*> (o .:? "operatorName"))++instance ToJSON FacetResult where+        toJSON FacetResult'{..}+          = object+              (catMaybes+                 [("sourceName" .=) <$> _frSourceName,+                  ("buckets" .=) <$> _frBuckets,+                  ("objectType" .=) <$> _frObjectType,+                  ("operatorName" .=) <$> _frOperatorName])++-- | Drive mime-type search restricts (e.g. \"type:pdf\").+--+-- /See:/ 'driveMimeTypeRestrict' smart constructor.+newtype DriveMimeTypeRestrict = DriveMimeTypeRestrict'+    { _dmtrType :: Maybe DriveMimeTypeRestrictType+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DriveMimeTypeRestrict' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmtrType'+driveMimeTypeRestrict+    :: DriveMimeTypeRestrict+driveMimeTypeRestrict =+    DriveMimeTypeRestrict'+    { _dmtrType = Nothing+    }++dmtrType :: Lens' DriveMimeTypeRestrict (Maybe DriveMimeTypeRestrictType)+dmtrType = lens _dmtrType (\ s a -> s{_dmtrType = a})++instance FromJSON DriveMimeTypeRestrict where+        parseJSON+          = withObject "DriveMimeTypeRestrict"+              (\ o -> DriveMimeTypeRestrict' <$> (o .:? "type"))++instance ToJSON DriveMimeTypeRestrict where+        toJSON DriveMimeTypeRestrict'{..}+          = object (catMaybes [("type" .=) <$> _dmtrType])++-- | A structured data object consisting of named properties.+--+-- /See:/ 'structuredDataObject' smart constructor.+newtype StructuredDataObject = StructuredDataObject'+    { _sdoProperties :: Maybe [NamedProperty]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StructuredDataObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdoProperties'+structuredDataObject+    :: StructuredDataObject+structuredDataObject =+    StructuredDataObject'+    { _sdoProperties = Nothing+    }++-- | The properties for the object. The maximum number of elements is 1000.+sdoProperties :: Lens' StructuredDataObject [NamedProperty]+sdoProperties+  = lens _sdoProperties+      (\ s a -> s{_sdoProperties = a})+      . _Default+      . _Coerce++instance FromJSON StructuredDataObject where+        parseJSON+          = withObject "StructuredDataObject"+              (\ o ->+                 StructuredDataObject' <$>+                   (o .:? "properties" .!= mempty))++instance ToJSON StructuredDataObject where+        toJSON StructuredDataObject'{..}+          = object+              (catMaybes [("properties" .=) <$> _sdoProperties])++-- | Media resource.+--+-- /See:/ 'media' smart constructor.+newtype Media = Media'+    { _mResourceName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Media' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mResourceName'+media+    :: Media+media =+    Media'+    { _mResourceName = Nothing+    }++-- | Name of the media resource.+mResourceName :: Lens' Media (Maybe Text)+mResourceName+  = lens _mResourceName+      (\ s a -> s{_mResourceName = a})++instance FromJSON Media where+        parseJSON+          = withObject "Media"+              (\ o -> Media' <$> (o .:? "resourceName"))++instance ToJSON Media where+        toJSON Media'{..}+          = object+              (catMaybes [("resourceName" .=) <$> _mResourceName])++-- | Available structured data fields for the item.+--+-- /See:/ 'itemStructuredData' smart constructor.+data ItemStructuredData = ItemStructuredData'+    { _isdHash   :: !(Maybe Text)+    , _isdObject :: !(Maybe StructuredDataObject)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ItemStructuredData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isdHash'+--+-- * 'isdObject'+itemStructuredData+    :: ItemStructuredData+itemStructuredData =+    ItemStructuredData'+    { _isdHash = Nothing+    , _isdObject = Nothing+    }++-- | Hashing value provided by the API caller. This can be used with the+-- items.push method to calculate modified state. The maximum length is+-- 2048 characters.+isdHash :: Lens' ItemStructuredData (Maybe Text)+isdHash = lens _isdHash (\ s a -> s{_isdHash = a})++-- | The structured data object that should conform to a registered object+-- definition in the schema for the data source.+isdObject :: Lens' ItemStructuredData (Maybe StructuredDataObject)+isdObject+  = lens _isdObject (\ s a -> s{_isdObject = a})++instance FromJSON ItemStructuredData where+        parseJSON+          = withObject "ItemStructuredData"+              (\ o ->+                 ItemStructuredData' <$>+                   (o .:? "hash") <*> (o .:? "object"))++instance ToJSON ItemStructuredData where+        toJSON ItemStructuredData'{..}+          = object+              (catMaybes+                 [("hash" .=) <$> _isdHash,+                  ("object" .=) <$> _isdObject])++-- | Drive follow-up search restricts (e.g. \"followup:suggestions\").+--+-- /See:/ 'driveFollowUpRestrict' smart constructor.+newtype DriveFollowUpRestrict = DriveFollowUpRestrict'+    { _dfurType :: Maybe DriveFollowUpRestrictType+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DriveFollowUpRestrict' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfurType'+driveFollowUpRestrict+    :: DriveFollowUpRestrict+driveFollowUpRestrict =+    DriveFollowUpRestrict'+    { _dfurType = Nothing+    }++dfurType :: Lens' DriveFollowUpRestrict (Maybe DriveFollowUpRestrictType)+dfurType = lens _dfurType (\ s a -> s{_dfurType = a})++instance FromJSON DriveFollowUpRestrict where+        parseJSON+          = withObject "DriveFollowUpRestrict"+              (\ o -> DriveFollowUpRestrict' <$> (o .:? "type"))++instance ToJSON DriveFollowUpRestrict where+        toJSON DriveFollowUpRestrict'{..}+          = object (catMaybes [("type" .=) <$> _dfurType])++-- | List of date values.+--+-- /See:/ 'dateValues' smart constructor.+newtype DateValues = DateValues'+    { _dValues :: Maybe [Date]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DateValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dValues'+dateValues+    :: DateValues+dateValues =+    DateValues'+    { _dValues = Nothing+    }++-- | The maximum number of elements is 100.+dValues :: Lens' DateValues [Date]+dValues+  = lens _dValues (\ s a -> s{_dValues = a}) . _Default+      . _Coerce++instance FromJSON DateValues where+        parseJSON+          = withObject "DateValues"+              (\ o -> DateValues' <$> (o .:? "values" .!= mempty))++instance ToJSON DateValues where+        toJSON DateValues'{..}+          = object (catMaybes [("values" .=) <$> _dValues])++-- | A typed name-value pair for structured data. The type of the value+-- should be the same as the registered type for the \`name\` property in+-- the object definition of \`objectType\`.+--+-- /See:/ 'namedProperty' smart constructor.+data NamedProperty = NamedProperty'+    { _npDoubleValues    :: !(Maybe DoubleValues)+    , _npTextValues      :: !(Maybe TextValues)+    , _npDateValues      :: !(Maybe DateValues)+    , _npName            :: !(Maybe Text)+    , _npBooleanValue    :: !(Maybe Bool)+    , _npObjectValues    :: !(Maybe ObjectValues)+    , _npHTMLValues      :: !(Maybe HTMLValues)+    , _npEnumValues      :: !(Maybe EnumValues)+    , _npTimestampValues :: !(Maybe TimestampValues)+    , _npIntegerValues   :: !(Maybe IntegerValues)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NamedProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npDoubleValues'+--+-- * 'npTextValues'+--+-- * 'npDateValues'+--+-- * 'npName'+--+-- * 'npBooleanValue'+--+-- * 'npObjectValues'+--+-- * 'npHTMLValues'+--+-- * 'npEnumValues'+--+-- * 'npTimestampValues'+--+-- * 'npIntegerValues'+namedProperty+    :: NamedProperty+namedProperty =+    NamedProperty'+    { _npDoubleValues = Nothing+    , _npTextValues = Nothing+    , _npDateValues = Nothing+    , _npName = Nothing+    , _npBooleanValue = Nothing+    , _npObjectValues = Nothing+    , _npHTMLValues = Nothing+    , _npEnumValues = Nothing+    , _npTimestampValues = Nothing+    , _npIntegerValues = Nothing+    }++npDoubleValues :: Lens' NamedProperty (Maybe DoubleValues)+npDoubleValues+  = lens _npDoubleValues+      (\ s a -> s{_npDoubleValues = a})++npTextValues :: Lens' NamedProperty (Maybe TextValues)+npTextValues+  = lens _npTextValues (\ s a -> s{_npTextValues = a})++npDateValues :: Lens' NamedProperty (Maybe DateValues)+npDateValues+  = lens _npDateValues (\ s a -> s{_npDateValues = a})++-- | The name of the property. This name should correspond to the name of the+-- property that was registered for object definition in the schema. The+-- maximum allowable length for this property is 256 characters.+npName :: Lens' NamedProperty (Maybe Text)+npName = lens _npName (\ s a -> s{_npName = a})++npBooleanValue :: Lens' NamedProperty (Maybe Bool)+npBooleanValue+  = lens _npBooleanValue+      (\ s a -> s{_npBooleanValue = a})++npObjectValues :: Lens' NamedProperty (Maybe ObjectValues)+npObjectValues+  = lens _npObjectValues+      (\ s a -> s{_npObjectValues = a})++npHTMLValues :: Lens' NamedProperty (Maybe HTMLValues)+npHTMLValues+  = lens _npHTMLValues (\ s a -> s{_npHTMLValues = a})++npEnumValues :: Lens' NamedProperty (Maybe EnumValues)+npEnumValues+  = lens _npEnumValues (\ s a -> s{_npEnumValues = a})++npTimestampValues :: Lens' NamedProperty (Maybe TimestampValues)+npTimestampValues+  = lens _npTimestampValues+      (\ s a -> s{_npTimestampValues = a})++npIntegerValues :: Lens' NamedProperty (Maybe IntegerValues)+npIntegerValues+  = lens _npIntegerValues+      (\ s a -> s{_npIntegerValues = a})++instance FromJSON NamedProperty where+        parseJSON+          = withObject "NamedProperty"+              (\ o ->+                 NamedProperty' <$>+                   (o .:? "doubleValues") <*> (o .:? "textValues") <*>+                     (o .:? "dateValues")+                     <*> (o .:? "name")+                     <*> (o .:? "booleanValue")+                     <*> (o .:? "objectValues")+                     <*> (o .:? "htmlValues")+                     <*> (o .:? "enumValues")+                     <*> (o .:? "timestampValues")+                     <*> (o .:? "integerValues"))++instance ToJSON NamedProperty where+        toJSON NamedProperty'{..}+          = object+              (catMaybes+                 [("doubleValues" .=) <$> _npDoubleValues,+                  ("textValues" .=) <$> _npTextValues,+                  ("dateValues" .=) <$> _npDateValues,+                  ("name" .=) <$> _npName,+                  ("booleanValue" .=) <$> _npBooleanValue,+                  ("objectValues" .=) <$> _npObjectValues,+                  ("htmlValues" .=) <$> _npHTMLValues,+                  ("enumValues" .=) <$> _npEnumValues,+                  ("timestampValues" .=) <$> _npTimestampValues,+                  ("integerValues" .=) <$> _npIntegerValues])++-- | Matched range of a snippet [start, end).+--+-- /See:/ 'matchRange' smart constructor.+data MatchRange = MatchRange'+    { _mrStart :: !(Maybe (Textual Int32))+    , _mrEnd   :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MatchRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mrStart'+--+-- * 'mrEnd'+matchRange+    :: MatchRange+matchRange =+    MatchRange'+    { _mrStart = Nothing+    , _mrEnd = Nothing+    }++-- | Starting position of the match in the snippet.+mrStart :: Lens' MatchRange (Maybe Int32)+mrStart+  = lens _mrStart (\ s a -> s{_mrStart = a}) .+      mapping _Coerce++-- | End of the match in the snippet.+mrEnd :: Lens' MatchRange (Maybe Int32)+mrEnd+  = lens _mrEnd (\ s a -> s{_mrEnd = a}) .+      mapping _Coerce++instance FromJSON MatchRange where+        parseJSON+          = withObject "MatchRange"+              (\ o ->+                 MatchRange' <$> (o .:? "start") <*> (o .:? "end"))++instance ToJSON MatchRange where+        toJSON MatchRange'{..}+          = object+              (catMaybes+                 [("start" .=) <$> _mrStart, ("end" .=) <$> _mrEnd])++-- | Debugging information about the response.+--+-- /See:/ 'responseDebugInfo' smart constructor.+newtype ResponseDebugInfo = ResponseDebugInfo'+    { _rFormattedDebugInfo :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResponseDebugInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rFormattedDebugInfo'+responseDebugInfo+    :: ResponseDebugInfo+responseDebugInfo =+    ResponseDebugInfo'+    { _rFormattedDebugInfo = Nothing+    }++-- | General debug info formatted for display.+rFormattedDebugInfo :: Lens' ResponseDebugInfo (Maybe Text)+rFormattedDebugInfo+  = lens _rFormattedDebugInfo+      (\ s a -> s{_rFormattedDebugInfo = a})++instance FromJSON ResponseDebugInfo where+        parseJSON+          = withObject "ResponseDebugInfo"+              (\ o ->+                 ResponseDebugInfo' <$> (o .:? "formattedDebugInfo"))++instance ToJSON ResponseDebugInfo where+        toJSON ResponseDebugInfo'{..}+          = object+              (catMaybes+                 [("formattedDebugInfo" .=) <$> _rFormattedDebugInfo])++--+-- /See:/ 'listDataSourceResponse' smart constructor.+data ListDataSourceResponse = ListDataSourceResponse'+    { _ldsrNextPageToken :: !(Maybe Text)+    , _ldsrSources       :: !(Maybe [DataSource])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListDataSourceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldsrNextPageToken'+--+-- * 'ldsrSources'+listDataSourceResponse+    :: ListDataSourceResponse+listDataSourceResponse =+    ListDataSourceResponse'+    { _ldsrNextPageToken = Nothing+    , _ldsrSources = Nothing+    }++-- | Token to retrieve the next page of results, or empty if there are no+-- more results in the list.+ldsrNextPageToken :: Lens' ListDataSourceResponse (Maybe Text)+ldsrNextPageToken+  = lens _ldsrNextPageToken+      (\ s a -> s{_ldsrNextPageToken = a})++ldsrSources :: Lens' ListDataSourceResponse [DataSource]+ldsrSources+  = lens _ldsrSources (\ s a -> s{_ldsrSources = a}) .+      _Default+      . _Coerce++instance FromJSON ListDataSourceResponse where+        parseJSON+          = withObject "ListDataSourceResponse"+              (\ o ->+                 ListDataSourceResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "sources" .!= mempty))++instance ToJSON ListDataSourceResponse where+        toJSON ListDataSourceResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _ldsrNextPageToken,+                  ("sources" .=) <$> _ldsrSources])++-- | The search API request.+--+-- /See:/ 'searchRequest' smart constructor.+data SearchRequest = SearchRequest'+    { _srSortOptions                :: !(Maybe SortOptions)+    , _srDataSourceRestrictions     :: !(Maybe [DataSourceRestriction])+    , _srQueryInterpretationOptions :: !(Maybe QueryInterpretationOptions)+    , _srStart                      :: !(Maybe (Textual Int32))+    , _srQuery                      :: !(Maybe Text)+    , _srFacetOptions               :: !(Maybe [FacetOptions])+    , _srPageSize                   :: !(Maybe (Textual Int32))+    , _srRequestOptions             :: !(Maybe RequestOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srSortOptions'+--+-- * 'srDataSourceRestrictions'+--+-- * 'srQueryInterpretationOptions'+--+-- * 'srStart'+--+-- * 'srQuery'+--+-- * 'srFacetOptions'+--+-- * 'srPageSize'+--+-- * 'srRequestOptions'+searchRequest+    :: SearchRequest+searchRequest =+    SearchRequest'+    { _srSortOptions = Nothing+    , _srDataSourceRestrictions = Nothing+    , _srQueryInterpretationOptions = Nothing+    , _srStart = Nothing+    , _srQuery = Nothing+    , _srFacetOptions = Nothing+    , _srPageSize = Nothing+    , _srRequestOptions = Nothing+    }++-- | The options for sorting the search results+srSortOptions :: Lens' SearchRequest (Maybe SortOptions)+srSortOptions+  = lens _srSortOptions+      (\ s a -> s{_srSortOptions = a})++-- | The sources to use for querying. If not specified, all data sources from+-- the current search application are used.+srDataSourceRestrictions :: Lens' SearchRequest [DataSourceRestriction]+srDataSourceRestrictions+  = lens _srDataSourceRestrictions+      (\ s a -> s{_srDataSourceRestrictions = a})+      . _Default+      . _Coerce++-- | Options to interpret the user query.+srQueryInterpretationOptions :: Lens' SearchRequest (Maybe QueryInterpretationOptions)+srQueryInterpretationOptions+  = lens _srQueryInterpretationOptions+      (\ s a -> s{_srQueryInterpretationOptions = a})++-- | Starting index of the results.+srStart :: Lens' SearchRequest (Maybe Int32)+srStart+  = lens _srStart (\ s a -> s{_srStart = a}) .+      mapping _Coerce++-- | The raw query string. See supported search operators in the [Cloud+-- search Cheat+-- Sheet](https:\/\/gsuite.google.com\/learning-center\/products\/cloudsearch\/cheat-sheet\/)+srQuery :: Lens' SearchRequest (Maybe Text)+srQuery = lens _srQuery (\ s a -> s{_srQuery = a})++srFacetOptions :: Lens' SearchRequest [FacetOptions]+srFacetOptions+  = lens _srFacetOptions+      (\ s a -> s{_srFacetOptions = a})+      . _Default+      . _Coerce++-- | Maximum number of search results to return in one page. Valid values are+-- between 1 and 100, inclusive. Default value is 10.+srPageSize :: Lens' SearchRequest (Maybe Int32)+srPageSize+  = lens _srPageSize (\ s a -> s{_srPageSize = a}) .+      mapping _Coerce++-- | Request options, such as the search application and user timezone.+srRequestOptions :: Lens' SearchRequest (Maybe RequestOptions)+srRequestOptions+  = lens _srRequestOptions+      (\ s a -> s{_srRequestOptions = a})++instance FromJSON SearchRequest where+        parseJSON+          = withObject "SearchRequest"+              (\ o ->+                 SearchRequest' <$>+                   (o .:? "sortOptions") <*>+                     (o .:? "dataSourceRestrictions" .!= mempty)+                     <*> (o .:? "queryInterpretationOptions")+                     <*> (o .:? "start")+                     <*> (o .:? "query")+                     <*> (o .:? "facetOptions" .!= mempty)+                     <*> (o .:? "pageSize")+                     <*> (o .:? "requestOptions"))++instance ToJSON SearchRequest where+        toJSON SearchRequest'{..}+          = object+              (catMaybes+                 [("sortOptions" .=) <$> _srSortOptions,+                  ("dataSourceRestrictions" .=) <$>+                    _srDataSourceRestrictions,+                  ("queryInterpretationOptions" .=) <$>+                    _srQueryInterpretationOptions,+                  ("start" .=) <$> _srStart, ("query" .=) <$> _srQuery,+                  ("facetOptions" .=) <$> _srFacetOptions,+                  ("pageSize" .=) <$> _srPageSize,+                  ("requestOptions" .=) <$> _srRequestOptions])++-- | A person\'s name.+--+-- /See:/ 'name' smart constructor.+newtype Name = Name'+    { _nDisplayName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Name' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nDisplayName'+name+    :: Name+name =+    Name'+    { _nDisplayName = Nothing+    }++-- | The read-only display name formatted according to the locale specified+-- by the viewer\'s account or the 'Accept-Language' HTTP header.+nDisplayName :: Lens' Name (Maybe Text)+nDisplayName+  = lens _nDisplayName (\ s a -> s{_nDisplayName = a})++instance FromJSON Name where+        parseJSON+          = withObject "Name"+              (\ o -> Name' <$> (o .:? "displayName"))++instance ToJSON Name where+        toJSON Name'{..}+          = object+              (catMaybes [("displayName" .=) <$> _nDisplayName])++-- | Per source result count information.+--+-- /See:/ 'sourceResultCount' smart constructor.+data SourceResultCount = SourceResultCount'+    { _srcHasMoreResults      :: !(Maybe Bool)+    , _srcResultCountExact    :: !(Maybe (Textual Int64))+    , _srcResultCountEstimate :: !(Maybe (Textual Int64))+    , _srcSource              :: !(Maybe Source)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceResultCount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srcHasMoreResults'+--+-- * 'srcResultCountExact'+--+-- * 'srcResultCountEstimate'+--+-- * 'srcSource'+sourceResultCount+    :: SourceResultCount+sourceResultCount =+    SourceResultCount'+    { _srcHasMoreResults = Nothing+    , _srcResultCountExact = Nothing+    , _srcResultCountEstimate = Nothing+    , _srcSource = Nothing+    }++-- | Whether there are more search results for this source.+srcHasMoreResults :: Lens' SourceResultCount (Maybe Bool)+srcHasMoreResults+  = lens _srcHasMoreResults+      (\ s a -> s{_srcHasMoreResults = a})++-- | The exact result count for this source.+srcResultCountExact :: Lens' SourceResultCount (Maybe Int64)+srcResultCountExact+  = lens _srcResultCountExact+      (\ s a -> s{_srcResultCountExact = a})+      . mapping _Coerce++-- | The estimated result count for this source.+srcResultCountEstimate :: Lens' SourceResultCount (Maybe Int64)+srcResultCountEstimate+  = lens _srcResultCountEstimate+      (\ s a -> s{_srcResultCountEstimate = a})+      . mapping _Coerce++-- | The source the result count information is associated with.+srcSource :: Lens' SourceResultCount (Maybe Source)+srcSource+  = lens _srcSource (\ s a -> s{_srcSource = a})++instance FromJSON SourceResultCount where+        parseJSON+          = withObject "SourceResultCount"+              (\ o ->+                 SourceResultCount' <$>+                   (o .:? "hasMoreResults") <*>+                     (o .:? "resultCountExact")+                     <*> (o .:? "resultCountEstimate")+                     <*> (o .:? "source"))++instance ToJSON SourceResultCount where+        toJSON SourceResultCount'{..}+          = object+              (catMaybes+                 [("hasMoreResults" .=) <$> _srcHasMoreResults,+                  ("resultCountExact" .=) <$> _srcResultCountExact,+                  ("resultCountEstimate" .=) <$>+                    _srcResultCountEstimate,+                  ("source" .=) <$> _srcSource])++-- | Configurations for a source while processing a Search or Suggest+-- request.+--+-- /See:/ 'sourceConfig' smart constructor.+data SourceConfig = SourceConfig'+    { _scCrowdingConfig :: !(Maybe SourceCrowdingConfig)+    , _scScoringConfig  :: !(Maybe SourceScoringConfig)+    , _scSource         :: !(Maybe Source)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scCrowdingConfig'+--+-- * 'scScoringConfig'+--+-- * 'scSource'+sourceConfig+    :: SourceConfig+sourceConfig =+    SourceConfig'+    { _scCrowdingConfig = Nothing+    , _scScoringConfig = Nothing+    , _scSource = Nothing+    }++-- | The crowding configuration for the source.+scCrowdingConfig :: Lens' SourceConfig (Maybe SourceCrowdingConfig)+scCrowdingConfig+  = lens _scCrowdingConfig+      (\ s a -> s{_scCrowdingConfig = a})++-- | The scoring configuration for the source.+scScoringConfig :: Lens' SourceConfig (Maybe SourceScoringConfig)+scScoringConfig+  = lens _scScoringConfig+      (\ s a -> s{_scScoringConfig = a})++-- | The source for which this configuration is to be used.+scSource :: Lens' SourceConfig (Maybe Source)+scSource = lens _scSource (\ s a -> s{_scSource = a})++instance FromJSON SourceConfig where+        parseJSON+          = withObject "SourceConfig"+              (\ o ->+                 SourceConfig' <$>+                   (o .:? "crowdingConfig") <*> (o .:? "scoringConfig")+                     <*> (o .:? "source"))++instance ToJSON SourceConfig where+        toJSON SourceConfig'{..}+          = object+              (catMaybes+                 [("crowdingConfig" .=) <$> _scCrowdingConfig,+                  ("scoringConfig" .=) <$> _scScoringConfig,+                  ("source" .=) <$> _scSource])++--+-- /See:/ 'listItemsResponse' smart constructor.+data ListItemsResponse = ListItemsResponse'+    { _lirNextPageToken :: !(Maybe Text)+    , _lirItems         :: !(Maybe [Item])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListItemsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lirNextPageToken'+--+-- * 'lirItems'+listItemsResponse+    :: ListItemsResponse+listItemsResponse =+    ListItemsResponse'+    { _lirNextPageToken = Nothing+    , _lirItems = Nothing+    }++-- | Token to retrieve the next page of results, or empty if there are no+-- more results in the list.+lirNextPageToken :: Lens' ListItemsResponse (Maybe Text)+lirNextPageToken+  = lens _lirNextPageToken+      (\ s a -> s{_lirNextPageToken = a})++lirItems :: Lens' ListItemsResponse [Item]+lirItems+  = lens _lirItems (\ s a -> s{_lirItems = a}) .+      _Default+      . _Coerce++instance FromJSON ListItemsResponse where+        parseJSON+          = withObject "ListItemsResponse"+              (\ o ->+                 ListItemsResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "items" .!= mempty))++instance ToJSON ListItemsResponse where+        toJSON ListItemsResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _lirNextPageToken,+                  ("items" .=) <$> _lirItems])++-- | Scoring configurations for a source while processing a Search or Suggest+-- request.+--+-- /See:/ 'scoringConfig' smart constructor.+data ScoringConfig = ScoringConfig'+    { _scDisablePersonalization :: !(Maybe Bool)+    , _scDisableFreshness       :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScoringConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scDisablePersonalization'+--+-- * 'scDisableFreshness'+scoringConfig+    :: ScoringConfig+scoringConfig =+    ScoringConfig'+    { _scDisablePersonalization = Nothing+    , _scDisableFreshness = Nothing+    }++-- | Whether to personalize the results. By default, personal signals will be+-- used to boost results.+scDisablePersonalization :: Lens' ScoringConfig (Maybe Bool)+scDisablePersonalization+  = lens _scDisablePersonalization+      (\ s a -> s{_scDisablePersonalization = a})++-- | Whether to use freshness as a ranking signal. By default, freshness is+-- used as a ranking signal.+scDisableFreshness :: Lens' ScoringConfig (Maybe Bool)+scDisableFreshness+  = lens _scDisableFreshness+      (\ s a -> s{_scDisableFreshness = a})++instance FromJSON ScoringConfig where+        parseJSON+          = withObject "ScoringConfig"+              (\ o ->+                 ScoringConfig' <$>+                   (o .:? "disablePersonalization") <*>+                     (o .:? "disableFreshness"))++instance ToJSON ScoringConfig where+        toJSON ScoringConfig'{..}+          = object+              (catMaybes+                 [("disablePersonalization" .=) <$>+                    _scDisablePersonalization,+                  ("disableFreshness" .=) <$> _scDisableFreshness])++-- | Start upload file request.+--+-- /See:/ 'startUploadItemRequest' smart constructor.+data StartUploadItemRequest = StartUploadItemRequest'+    { _suirDebugOptions  :: !(Maybe DebugOptions)+    , _suirConnectorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartUploadItemRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'suirDebugOptions'+--+-- * 'suirConnectorName'+startUploadItemRequest+    :: StartUploadItemRequest+startUploadItemRequest =+    StartUploadItemRequest'+    { _suirDebugOptions = Nothing+    , _suirConnectorName = Nothing+    }++-- | Common debug options.+suirDebugOptions :: Lens' StartUploadItemRequest (Maybe DebugOptions)+suirDebugOptions+  = lens _suirDebugOptions+      (\ s a -> s{_suirDebugOptions = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+suirConnectorName :: Lens' StartUploadItemRequest (Maybe Text)+suirConnectorName+  = lens _suirConnectorName+      (\ s a -> s{_suirConnectorName = a})++instance FromJSON StartUploadItemRequest where+        parseJSON+          = withObject "StartUploadItemRequest"+              (\ o ->+                 StartUploadItemRequest' <$>+                   (o .:? "debugOptions") <*> (o .:? "connectorName"))++instance ToJSON StartUploadItemRequest where+        toJSON StartUploadItemRequest'{..}+          = object+              (catMaybes+                 [("debugOptions" .=) <$> _suirDebugOptions,+                  ("connectorName" .=) <$> _suirConnectorName])++-- | Represents an upload session reference. This reference is created via+-- upload method. Updating of item content may refer to this uploaded+-- content via contentDataRef.+--+-- /See:/ 'uploadItemRef' smart constructor.+newtype UploadItemRef = UploadItemRef'+    { _uirName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UploadItemRef' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uirName'+uploadItemRef+    :: UploadItemRef+uploadItemRef =+    UploadItemRef'+    { _uirName = Nothing+    }++-- | Name of the content reference. The maximum length is 2048 characters.+uirName :: Lens' UploadItemRef (Maybe Text)+uirName = lens _uirName (\ s a -> s{_uirName = a})++instance FromJSON UploadItemRef where+        parseJSON+          = withObject "UploadItemRef"+              (\ o -> UploadItemRef' <$> (o .:? "name"))++instance ToJSON UploadItemRef where+        toJSON UploadItemRef'{..}+          = object (catMaybes [("name" .=) <$> _uirName])++--+-- /See:/ 'pushItemRequest' smart constructor.+data PushItemRequest = PushItemRequest'+    { _pirDebugOptions  :: !(Maybe DebugOptions)+    , _pirConnectorName :: !(Maybe Text)+    , _pirItem          :: !(Maybe PushItem)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PushItemRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pirDebugOptions'+--+-- * 'pirConnectorName'+--+-- * 'pirItem'+pushItemRequest+    :: PushItemRequest+pushItemRequest =+    PushItemRequest'+    { _pirDebugOptions = Nothing+    , _pirConnectorName = Nothing+    , _pirItem = Nothing+    }++-- | Common debug options.+pirDebugOptions :: Lens' PushItemRequest (Maybe DebugOptions)+pirDebugOptions+  = lens _pirDebugOptions+      (\ s a -> s{_pirDebugOptions = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+pirConnectorName :: Lens' PushItemRequest (Maybe Text)+pirConnectorName+  = lens _pirConnectorName+      (\ s a -> s{_pirConnectorName = a})++-- | Item to push onto the queue.+pirItem :: Lens' PushItemRequest (Maybe PushItem)+pirItem = lens _pirItem (\ s a -> s{_pirItem = a})++instance FromJSON PushItemRequest where+        parseJSON+          = withObject "PushItemRequest"+              (\ o ->+                 PushItemRequest' <$>+                   (o .:? "debugOptions") <*> (o .:? "connectorName")+                     <*> (o .:? "item"))++instance ToJSON PushItemRequest where+        toJSON PushItemRequest'{..}+          = object+              (catMaybes+                 [("debugOptions" .=) <$> _pirDebugOptions,+                  ("connectorName" .=) <$> _pirConnectorName,+                  ("item" .=) <$> _pirItem])++-- | Options for double properties.+--+-- /See:/ 'doublePropertyOptions' smart constructor.+newtype DoublePropertyOptions = DoublePropertyOptions'+    { _dpoOperatorOptions :: Maybe DoubleOperatorOptions+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DoublePropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpoOperatorOptions'+doublePropertyOptions+    :: DoublePropertyOptions+doublePropertyOptions =+    DoublePropertyOptions'+    { _dpoOperatorOptions = Nothing+    }++-- | If set, describes how the double should be used as a search operator.+dpoOperatorOptions :: Lens' DoublePropertyOptions (Maybe DoubleOperatorOptions)+dpoOperatorOptions+  = lens _dpoOperatorOptions+      (\ s a -> s{_dpoOperatorOptions = a})++instance FromJSON DoublePropertyOptions where+        parseJSON+          = withObject "DoublePropertyOptions"+              (\ o ->+                 DoublePropertyOptions' <$> (o .:? "operatorOptions"))++instance ToJSON DoublePropertyOptions where+        toJSON DoublePropertyOptions'{..}+          = object+              (catMaybes+                 [("operatorOptions" .=) <$> _dpoOperatorOptions])++-- | The definition of a operator that can be used in a Search\/Suggest+-- request.+--+-- /See:/ 'queryOperator' smart constructor.+data QueryOperator = QueryOperator'+    { _qoIsSuggestable           :: !(Maybe Bool)+    , _qoIsReturnable            :: !(Maybe Bool)+    , _qoIsRepeatable            :: !(Maybe Bool)+    , _qoOperatorName            :: !(Maybe Text)+    , _qoIsSortable              :: !(Maybe Bool)+    , _qoIsFacetable             :: !(Maybe Bool)+    , _qoDisplayName             :: !(Maybe Text)+    , _qoLessThanOperatorName    :: !(Maybe Text)+    , _qoType                    :: !(Maybe QueryOperatorType)+    , _qoEnumValues              :: !(Maybe [Text])+    , _qoGreaterThanOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryOperator' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qoIsSuggestable'+--+-- * 'qoIsReturnable'+--+-- * 'qoIsRepeatable'+--+-- * 'qoOperatorName'+--+-- * 'qoIsSortable'+--+-- * 'qoIsFacetable'+--+-- * 'qoDisplayName'+--+-- * 'qoLessThanOperatorName'+--+-- * 'qoType'+--+-- * 'qoEnumValues'+--+-- * 'qoGreaterThanOperatorName'+queryOperator+    :: QueryOperator+queryOperator =+    QueryOperator'+    { _qoIsSuggestable = Nothing+    , _qoIsReturnable = Nothing+    , _qoIsRepeatable = Nothing+    , _qoOperatorName = Nothing+    , _qoIsSortable = Nothing+    , _qoIsFacetable = Nothing+    , _qoDisplayName = Nothing+    , _qoLessThanOperatorName = Nothing+    , _qoType = Nothing+    , _qoEnumValues = Nothing+    , _qoGreaterThanOperatorName = Nothing+    }++-- | Can get suggestions for this field.+qoIsSuggestable :: Lens' QueryOperator (Maybe Bool)+qoIsSuggestable+  = lens _qoIsSuggestable+      (\ s a -> s{_qoIsSuggestable = a})++-- | Will the property associated with this facet be returned as part of+-- search results.+qoIsReturnable :: Lens' QueryOperator (Maybe Bool)+qoIsReturnable+  = lens _qoIsReturnable+      (\ s a -> s{_qoIsReturnable = a})++-- | Indicates if multiple values can be set for this property.+qoIsRepeatable :: Lens' QueryOperator (Maybe Bool)+qoIsRepeatable+  = lens _qoIsRepeatable+      (\ s a -> s{_qoIsRepeatable = a})++-- | The name of the operator.+qoOperatorName :: Lens' QueryOperator (Maybe Text)+qoOperatorName+  = lens _qoOperatorName+      (\ s a -> s{_qoOperatorName = a})++-- | Can this operator be used to sort results.+qoIsSortable :: Lens' QueryOperator (Maybe Bool)+qoIsSortable+  = lens _qoIsSortable (\ s a -> s{_qoIsSortable = a})++-- | Can this operator be used to get facets.+qoIsFacetable :: Lens' QueryOperator (Maybe Bool)+qoIsFacetable+  = lens _qoIsFacetable+      (\ s a -> s{_qoIsFacetable = a})++-- | Display name of the operator+qoDisplayName :: Lens' QueryOperator (Maybe Text)+qoDisplayName+  = lens _qoDisplayName+      (\ s a -> s{_qoDisplayName = a})++-- | Indicates the operator name that can be used to isolate the property+-- using the less-than operator.+qoLessThanOperatorName :: Lens' QueryOperator (Maybe Text)+qoLessThanOperatorName+  = lens _qoLessThanOperatorName+      (\ s a -> s{_qoLessThanOperatorName = a})++-- | Type of the operator.+qoType :: Lens' QueryOperator (Maybe QueryOperatorType)+qoType = lens _qoType (\ s a -> s{_qoType = a})++-- | Potential list of values for the opeatror field. This field is only+-- filled when we can safely enumerate all the possible values of this+-- operator.+qoEnumValues :: Lens' QueryOperator [Text]+qoEnumValues+  = lens _qoEnumValues (\ s a -> s{_qoEnumValues = a})+      . _Default+      . _Coerce++-- | Indicates the operator name that can be used to isolate the property+-- using the greater-than operator.+qoGreaterThanOperatorName :: Lens' QueryOperator (Maybe Text)+qoGreaterThanOperatorName+  = lens _qoGreaterThanOperatorName+      (\ s a -> s{_qoGreaterThanOperatorName = a})++instance FromJSON QueryOperator where+        parseJSON+          = withObject "QueryOperator"+              (\ o ->+                 QueryOperator' <$>+                   (o .:? "isSuggestable") <*> (o .:? "isReturnable")+                     <*> (o .:? "isRepeatable")+                     <*> (o .:? "operatorName")+                     <*> (o .:? "isSortable")+                     <*> (o .:? "isFacetable")+                     <*> (o .:? "displayName")+                     <*> (o .:? "lessThanOperatorName")+                     <*> (o .:? "type")+                     <*> (o .:? "enumValues" .!= mempty)+                     <*> (o .:? "greaterThanOperatorName"))++instance ToJSON QueryOperator where+        toJSON QueryOperator'{..}+          = object+              (catMaybes+                 [("isSuggestable" .=) <$> _qoIsSuggestable,+                  ("isReturnable" .=) <$> _qoIsReturnable,+                  ("isRepeatable" .=) <$> _qoIsRepeatable,+                  ("operatorName" .=) <$> _qoOperatorName,+                  ("isSortable" .=) <$> _qoIsSortable,+                  ("isFacetable" .=) <$> _qoIsFacetable,+                  ("displayName" .=) <$> _qoDisplayName,+                  ("lessThanOperatorName" .=) <$>+                    _qoLessThanOperatorName,+                  ("type" .=) <$> _qoType,+                  ("enumValues" .=) <$> _qoEnumValues,+                  ("greaterThanOperatorName" .=) <$>+                    _qoGreaterThanOperatorName])++--+-- /See:/ 'pollItemsResponse' smart constructor.+newtype PollItemsResponse = PollItemsResponse'+    { _pirItems :: Maybe [Item]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PollItemsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pirItems'+pollItemsResponse+    :: PollItemsResponse+pollItemsResponse =+    PollItemsResponse'+    { _pirItems = Nothing+    }++-- | Set of items from the queue available for connector to process.+-- These items have the following subset of fields populated:+-- version+-- metadata.hash+-- structured_data.hash+-- content.hash+-- payload+-- status+-- queue+pirItems :: Lens' PollItemsResponse [Item]+pirItems+  = lens _pirItems (\ s a -> s{_pirItems = a}) .+      _Default+      . _Coerce++instance FromJSON PollItemsResponse where+        parseJSON+          = withObject "PollItemsResponse"+              (\ o ->+                 PollItemsResponse' <$> (o .:? "items" .!= mempty))++instance ToJSON PollItemsResponse where+        toJSON PollItemsResponse'{..}+          = object (catMaybes [("items" .=) <$> _pirItems])++-- | Set the scoring configuration. This allows modifying the ranking of+-- results for a source.+--+-- /See:/ 'sourceScoringConfig' smart constructor.+newtype SourceScoringConfig = SourceScoringConfig'+    { _sscSourceImportance :: Maybe SourceScoringConfigSourceImportance+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceScoringConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sscSourceImportance'+sourceScoringConfig+    :: SourceScoringConfig+sourceScoringConfig =+    SourceScoringConfig'+    { _sscSourceImportance = Nothing+    }++-- | Importance of the source.+sscSourceImportance :: Lens' SourceScoringConfig (Maybe SourceScoringConfigSourceImportance)+sscSourceImportance+  = lens _sscSourceImportance+      (\ s a -> s{_sscSourceImportance = a})++instance FromJSON SourceScoringConfig where+        parseJSON+          = withObject "SourceScoringConfig"+              (\ o ->+                 SourceScoringConfig' <$> (o .:? "sourceImportance"))++instance ToJSON SourceScoringConfig where+        toJSON SourceScoringConfig'{..}+          = object+              (catMaybes+                 [("sourceImportance" .=) <$> _sscSourceImportance])++-- | A person\'s email address.+--+-- /See:/ 'emailAddress' smart constructor.+newtype EmailAddress = EmailAddress'+    { _eaEmailAddress :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EmailAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eaEmailAddress'+emailAddress+    :: EmailAddress+emailAddress =+    EmailAddress'+    { _eaEmailAddress = Nothing+    }++-- | The email address.+eaEmailAddress :: Lens' EmailAddress (Maybe Text)+eaEmailAddress+  = lens _eaEmailAddress+      (\ s a -> s{_eaEmailAddress = a})++instance FromJSON EmailAddress where+        parseJSON+          = withObject "EmailAddress"+              (\ o -> EmailAddress' <$> (o .:? "emailAddress"))++instance ToJSON EmailAddress where+        toJSON EmailAddress'{..}+          = object+              (catMaybes [("emailAddress" .=) <$> _eaEmailAddress])++--+-- /See:/ 'retrievalImportance' smart constructor.+newtype RetrievalImportance = RetrievalImportance'+    { _riImportance :: Maybe RetrievalImportanceImportance+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RetrievalImportance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riImportance'+retrievalImportance+    :: RetrievalImportance+retrievalImportance =+    RetrievalImportance'+    { _riImportance = Nothing+    }++-- | Indicates the ranking importance given to property when it is matched+-- during retrieval. Once set, the token importance of a property cannot be+-- changed.+riImportance :: Lens' RetrievalImportance (Maybe RetrievalImportanceImportance)+riImportance+  = lens _riImportance (\ s a -> s{_riImportance = a})++instance FromJSON RetrievalImportance where+        parseJSON+          = withObject "RetrievalImportance"+              (\ o ->+                 RetrievalImportance' <$> (o .:? "importance"))++instance ToJSON RetrievalImportance where+        toJSON RetrievalImportance'{..}+          = object+              (catMaybes [("importance" .=) <$> _riImportance])++-- | Aggregation of items by status code as of the specified date.+--+-- /See:/ 'dataSourceIndexStats' smart constructor.+data DataSourceIndexStats = DataSourceIndexStats'+    { _dsisItemCountByStatus :: !(Maybe [ItemCountByStatus])+    , _dsisDate              :: !(Maybe Date)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSourceIndexStats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsisItemCountByStatus'+--+-- * 'dsisDate'+dataSourceIndexStats+    :: DataSourceIndexStats+dataSourceIndexStats =+    DataSourceIndexStats'+    { _dsisItemCountByStatus = Nothing+    , _dsisDate = Nothing+    }++-- | Number of items aggregrated by status code.+dsisItemCountByStatus :: Lens' DataSourceIndexStats [ItemCountByStatus]+dsisItemCountByStatus+  = lens _dsisItemCountByStatus+      (\ s a -> s{_dsisItemCountByStatus = a})+      . _Default+      . _Coerce++-- | Date for which index stats were calculated. If the date of request is+-- not the current date then stats calculated on the next day are returned.+-- Stats are calculated close to mid night in this case. If date of request+-- is current date, then real time stats are returned.+dsisDate :: Lens' DataSourceIndexStats (Maybe Date)+dsisDate = lens _dsisDate (\ s a -> s{_dsisDate = a})++instance FromJSON DataSourceIndexStats where+        parseJSON+          = withObject "DataSourceIndexStats"+              (\ o ->+                 DataSourceIndexStats' <$>+                   (o .:? "itemCountByStatus" .!= mempty) <*>+                     (o .:? "date"))++instance ToJSON DataSourceIndexStats where+        toJSON DataSourceIndexStats'{..}+          = object+              (catMaybes+                 [("itemCountByStatus" .=) <$> _dsisItemCountByStatus,+                  ("date" .=) <$> _dsisDate])++-- | Set search results crowding limits. Crowding is a situation in which+-- multiple results from the same source or host \"crowd out\" other+-- results, diminishing the quality of search for users. To foster better+-- search quality and source diversity in search results, you can set a+-- condition to reduce repetitive results by source.+--+-- /See:/ 'sourceCrowdingConfig' smart constructor.+data SourceCrowdingConfig = SourceCrowdingConfig'+    { _sccField          :: !(Maybe Text)+    , _sccNumSuggestions :: !(Maybe (Textual Int32))+    , _sccNumResults     :: !(Maybe (Textual Int32))+    , _sccSource         :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceCrowdingConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sccField'+--+-- * 'sccNumSuggestions'+--+-- * 'sccNumResults'+--+-- * 'sccSource'+sourceCrowdingConfig+    :: SourceCrowdingConfig+sourceCrowdingConfig =+    SourceCrowdingConfig'+    { _sccField = Nothing+    , _sccNumSuggestions = Nothing+    , _sccNumResults = Nothing+    , _sccSource = Nothing+    }++-- | Use a field to control results crowding. For example, if you want to+-- control overly similar results from Gmail topics, use \`thread_id\`. For+-- similar pages from Google Sites, you can use \`webspace_id\`. When+-- matching query results contain the same field value in+-- \`GenericMetadata\`, crowding limits are set on those records.+sccField :: Lens' SourceCrowdingConfig (Maybe Text)+sccField = lens _sccField (\ s a -> s{_sccField = a})++-- | Maximum number of suggestions allowed from a source. No limits will be+-- set on results if this value is less than or equal to 0.+sccNumSuggestions :: Lens' SourceCrowdingConfig (Maybe Int32)+sccNumSuggestions+  = lens _sccNumSuggestions+      (\ s a -> s{_sccNumSuggestions = a})+      . mapping _Coerce++-- | Maximum number of results allowed from a source. No limits will be set+-- on results if this value is less than or equal to 0.+sccNumResults :: Lens' SourceCrowdingConfig (Maybe Int32)+sccNumResults+  = lens _sccNumResults+      (\ s a -> s{_sccNumResults = a})+      . mapping _Coerce++-- | Control results by content source. This option limits the total number+-- of results from a given source and ignores field-based crowding control.+sccSource :: Lens' SourceCrowdingConfig (Maybe Bool)+sccSource+  = lens _sccSource (\ s a -> s{_sccSource = a})++instance FromJSON SourceCrowdingConfig where+        parseJSON+          = withObject "SourceCrowdingConfig"+              (\ o ->+                 SourceCrowdingConfig' <$>+                   (o .:? "field") <*> (o .:? "numSuggestions") <*>+                     (o .:? "numResults")+                     <*> (o .:? "source"))++instance ToJSON SourceCrowdingConfig where+        toJSON SourceCrowdingConfig'{..}+          = object+              (catMaybes+                 [("field" .=) <$> _sccField,+                  ("numSuggestions" .=) <$> _sccNumSuggestions,+                  ("numResults" .=) <$> _sccNumResults,+                  ("source" .=) <$> _sccSource])++-- | Represents an interaction between a user and an item.+--+-- /See:/ 'interaction' smart constructor.+data Interaction = Interaction'+    { _iInteractionTime :: !(Maybe DateTime')+    , _iPrincipal       :: !(Maybe Principal)+    , _iType            :: !(Maybe InteractionType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Interaction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iInteractionTime'+--+-- * 'iPrincipal'+--+-- * 'iType'+interaction+    :: Interaction+interaction =+    Interaction'+    { _iInteractionTime = Nothing+    , _iPrincipal = Nothing+    , _iType = Nothing+    }++-- | The time when the user acted on the item. If multiple actions of the+-- same type exist for a single user, only the most recent action is+-- recorded.+iInteractionTime :: Lens' Interaction (Maybe UTCTime)+iInteractionTime+  = lens _iInteractionTime+      (\ s a -> s{_iInteractionTime = a})+      . mapping _DateTime++-- | The user that acted on the item.+iPrincipal :: Lens' Interaction (Maybe Principal)+iPrincipal+  = lens _iPrincipal (\ s a -> s{_iPrincipal = a})++iType :: Lens' Interaction (Maybe InteractionType)+iType = lens _iType (\ s a -> s{_iType = a})++instance FromJSON Interaction where+        parseJSON+          = withObject "Interaction"+              (\ o ->+                 Interaction' <$>+                   (o .:? "interactionTime") <*> (o .:? "principal") <*>+                     (o .:? "type"))++instance ToJSON Interaction where+        toJSON Interaction'{..}+          = object+              (catMaybes+                 [("interactionTime" .=) <$> _iInteractionTime,+                  ("principal" .=) <$> _iPrincipal,+                  ("type" .=) <$> _iType])++-- | Reference to a user, group, or domain.+--+-- /See:/ 'principal' smart constructor.+data Principal = Principal'+    { _pUserResourceName  :: !(Maybe Text)+    , _pGroupResourceName :: !(Maybe Text)+    , _pGsuitePrincipal   :: !(Maybe GSuitePrincipal)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Principal' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pUserResourceName'+--+-- * 'pGroupResourceName'+--+-- * 'pGsuitePrincipal'+principal+    :: Principal+principal =+    Principal'+    { _pUserResourceName = Nothing+    , _pGroupResourceName = Nothing+    , _pGsuitePrincipal = Nothing+    }++-- | This principal is a user identified using an external identity. The name+-- field must specify the user resource name with this format:+-- identitysources\/{source_id}\/users\/{ID}+pUserResourceName :: Lens' Principal (Maybe Text)+pUserResourceName+  = lens _pUserResourceName+      (\ s a -> s{_pUserResourceName = a})++-- | This principal is a group identified using an external identity. The+-- name field must specify the group resource name with this format:+-- identitysources\/{source_id}\/groups\/{ID}+pGroupResourceName :: Lens' Principal (Maybe Text)+pGroupResourceName+  = lens _pGroupResourceName+      (\ s a -> s{_pGroupResourceName = a})++-- | This principal is a GSuite user, group or domain.+pGsuitePrincipal :: Lens' Principal (Maybe GSuitePrincipal)+pGsuitePrincipal+  = lens _pGsuitePrincipal+      (\ s a -> s{_pGsuitePrincipal = a})++instance FromJSON Principal where+        parseJSON+          = withObject "Principal"+              (\ o ->+                 Principal' <$>+                   (o .:? "userResourceName") <*>+                     (o .:? "groupResourceName")+                     <*> (o .:? "gsuitePrincipal"))++instance ToJSON Principal where+        toJSON Principal'{..}+          = object+              (catMaybes+                 [("userResourceName" .=) <$> _pUserResourceName,+                  ("groupResourceName" .=) <$> _pGroupResourceName,+                  ("gsuitePrincipal" .=) <$> _pGsuitePrincipal])++--+-- /See:/ 'indexItemRequest' smart constructor.+data IndexItemRequest = IndexItemRequest'+    { _iirMode          :: !(Maybe IndexItemRequestMode)+    , _iirDebugOptions  :: !(Maybe DebugOptions)+    , _iirConnectorName :: !(Maybe Text)+    , _iirItem          :: !(Maybe Item)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexItemRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iirMode'+--+-- * 'iirDebugOptions'+--+-- * 'iirConnectorName'+--+-- * 'iirItem'+indexItemRequest+    :: IndexItemRequest+indexItemRequest =+    IndexItemRequest'+    { _iirMode = Nothing+    , _iirDebugOptions = Nothing+    , _iirConnectorName = Nothing+    , _iirItem = Nothing+    }++-- | Required. The RequestMode for this request.+iirMode :: Lens' IndexItemRequest (Maybe IndexItemRequestMode)+iirMode = lens _iirMode (\ s a -> s{_iirMode = a})++-- | Common debug options.+iirDebugOptions :: Lens' IndexItemRequest (Maybe DebugOptions)+iirDebugOptions+  = lens _iirDebugOptions+      (\ s a -> s{_iirDebugOptions = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+iirConnectorName :: Lens' IndexItemRequest (Maybe Text)+iirConnectorName+  = lens _iirConnectorName+      (\ s a -> s{_iirConnectorName = a})++-- | Name of the item. Format: datasources\/{source_id}\/items\/{item_id}+iirItem :: Lens' IndexItemRequest (Maybe Item)+iirItem = lens _iirItem (\ s a -> s{_iirItem = a})++instance FromJSON IndexItemRequest where+        parseJSON+          = withObject "IndexItemRequest"+              (\ o ->+                 IndexItemRequest' <$>+                   (o .:? "mode") <*> (o .:? "debugOptions") <*>+                     (o .:? "connectorName")+                     <*> (o .:? "item"))++instance ToJSON IndexItemRequest where+        toJSON IndexItemRequest'{..}+          = object+              (catMaybes+                 [("mode" .=) <$> _iirMode,+                  ("debugOptions" .=) <$> _iirDebugOptions,+                  ("connectorName" .=) <$> _iirConnectorName,+                  ("item" .=) <$> _iirItem])++-- | Options for text properties.+--+-- /See:/ 'textPropertyOptions' smart constructor.+data TextPropertyOptions = TextPropertyOptions'+    { _tRetrievalImportance :: !(Maybe RetrievalImportance)+    , _tOperatorOptions     :: !(Maybe TextOperatorOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tRetrievalImportance'+--+-- * 'tOperatorOptions'+textPropertyOptions+    :: TextPropertyOptions+textPropertyOptions =+    TextPropertyOptions'+    { _tRetrievalImportance = Nothing+    , _tOperatorOptions = Nothing+    }++-- | Indicates the search quality importance of the tokens within the field+-- when used for retrieval.+tRetrievalImportance :: Lens' TextPropertyOptions (Maybe RetrievalImportance)+tRetrievalImportance+  = lens _tRetrievalImportance+      (\ s a -> s{_tRetrievalImportance = a})++-- | If set, describes how the property should be used as a search operator.+tOperatorOptions :: Lens' TextPropertyOptions (Maybe TextOperatorOptions)+tOperatorOptions+  = lens _tOperatorOptions+      (\ s a -> s{_tOperatorOptions = a})++instance FromJSON TextPropertyOptions where+        parseJSON+          = withObject "TextPropertyOptions"+              (\ o ->+                 TextPropertyOptions' <$>+                   (o .:? "retrievalImportance") <*>+                     (o .:? "operatorOptions"))++instance ToJSON TextPropertyOptions where+        toJSON TextPropertyOptions'{..}+          = object+              (catMaybes+                 [("retrievalImportance" .=) <$>+                    _tRetrievalImportance,+                  ("operatorOptions" .=) <$> _tOperatorOptions])++-- | The enumeration value pair defines two things: a required string value+-- and an optional integer value. The string value defines the necessary+-- query term required to retrieve that item, such as *p0* for a priority+-- item. The integer value determines the ranking of that string value+-- relative to other enumerated values for the same property. For example,+-- you might associate *p0* with *0* and define another enum pair such as+-- *p1* and *1*. You must use the integer value in combination with ordered+-- ranking to set the ranking of a given value relative to other enumerated+-- values for the same property name. Here, a ranking order of DESCENDING+-- for *priority* properties results in a ranking boost for items indexed+-- with a value of *p0* compared to items indexed with a value of *p1*.+-- Without a specified ranking order, the integer value has no effect on+-- item ranking.+--+-- /See:/ 'enumValuePair' smart constructor.+data EnumValuePair = EnumValuePair'+    { _evpIntegerValue :: !(Maybe (Textual Int32))+    , _evpStringValue  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnumValuePair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evpIntegerValue'+--+-- * 'evpStringValue'+enumValuePair+    :: EnumValuePair+enumValuePair =+    EnumValuePair'+    { _evpIntegerValue = Nothing+    , _evpStringValue = Nothing+    }++-- | The integer value of the EnumValuePair which must be non-negative.+-- Optional.+evpIntegerValue :: Lens' EnumValuePair (Maybe Int32)+evpIntegerValue+  = lens _evpIntegerValue+      (\ s a -> s{_evpIntegerValue = a})+      . mapping _Coerce++-- | The string value of the EnumValuePair. The maximum length is 32+-- characters.+evpStringValue :: Lens' EnumValuePair (Maybe Text)+evpStringValue+  = lens _evpStringValue+      (\ s a -> s{_evpStringValue = a})++instance FromJSON EnumValuePair where+        parseJSON+          = withObject "EnumValuePair"+              (\ o ->+                 EnumValuePair' <$>+                   (o .:? "integerValue") <*> (o .:? "stringValue"))++instance ToJSON EnumValuePair where+        toJSON EnumValuePair'{..}+          = object+              (catMaybes+                 [("integerValue" .=) <$> _evpIntegerValue,+                  ("stringValue" .=) <$> _evpStringValue])++-- | Metadata of a matched search result.+--+-- /See:/ 'metadata' smart constructor.+data Metadata = Metadata'+    { _mObjectType     :: !(Maybe Text)+    , _mOwner          :: !(Maybe Person)+    , _mMimeType       :: !(Maybe Text)+    , _mUpdateTime     :: !(Maybe DateTime')+    , _mDisplayOptions :: !(Maybe ResultDisplayMetadata)+    , _mSource         :: !(Maybe Source)+    , _mCreateTime     :: !(Maybe DateTime')+    , _mFields         :: !(Maybe [NamedProperty])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Metadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mObjectType'+--+-- * 'mOwner'+--+-- * 'mMimeType'+--+-- * 'mUpdateTime'+--+-- * 'mDisplayOptions'+--+-- * 'mSource'+--+-- * 'mCreateTime'+--+-- * 'mFields'+metadata+    :: Metadata+metadata =+    Metadata'+    { _mObjectType = Nothing+    , _mOwner = Nothing+    , _mMimeType = Nothing+    , _mUpdateTime = Nothing+    , _mDisplayOptions = Nothing+    , _mSource = Nothing+    , _mCreateTime = Nothing+    , _mFields = Nothing+    }++-- | Object type of the search result.+mObjectType :: Lens' Metadata (Maybe Text)+mObjectType+  = lens _mObjectType (\ s a -> s{_mObjectType = a})++-- | Owner (usually creator) of the document or object of the search result.+mOwner :: Lens' Metadata (Maybe Person)+mOwner = lens _mOwner (\ s a -> s{_mOwner = a})++-- | Mime type of the search result.+mMimeType :: Lens' Metadata (Maybe Text)+mMimeType+  = lens _mMimeType (\ s a -> s{_mMimeType = a})++-- | The last modified date for the object in the search result.+mUpdateTime :: Lens' Metadata (Maybe UTCTime)+mUpdateTime+  = lens _mUpdateTime (\ s a -> s{_mUpdateTime = a}) .+      mapping _DateTime++-- | Options that specify how to display a structured data search result.+mDisplayOptions :: Lens' Metadata (Maybe ResultDisplayMetadata)+mDisplayOptions+  = lens _mDisplayOptions+      (\ s a -> s{_mDisplayOptions = a})++-- | The named source for the result, such as Gmail.+mSource :: Lens' Metadata (Maybe Source)+mSource = lens _mSource (\ s a -> s{_mSource = a})++-- | The creation time for this document or object in the search result.+mCreateTime :: Lens' Metadata (Maybe UTCTime)+mCreateTime+  = lens _mCreateTime (\ s a -> s{_mCreateTime = a}) .+      mapping _DateTime++-- | Indexed fields in structured data, returned as a generic named property.+mFields :: Lens' Metadata [NamedProperty]+mFields+  = lens _mFields (\ s a -> s{_mFields = a}) . _Default+      . _Coerce++instance FromJSON Metadata where+        parseJSON+          = withObject "Metadata"+              (\ o ->+                 Metadata' <$>+                   (o .:? "objectType") <*> (o .:? "owner") <*>+                     (o .:? "mimeType")+                     <*> (o .:? "updateTime")+                     <*> (o .:? "displayOptions")+                     <*> (o .:? "source")+                     <*> (o .:? "createTime")+                     <*> (o .:? "fields" .!= mempty))++instance ToJSON Metadata where+        toJSON Metadata'{..}+          = object+              (catMaybes+                 [("objectType" .=) <$> _mObjectType,+                  ("owner" .=) <$> _mOwner,+                  ("mimeType" .=) <$> _mMimeType,+                  ("updateTime" .=) <$> _mUpdateTime,+                  ("displayOptions" .=) <$> _mDisplayOptions,+                  ("source" .=) <$> _mSource,+                  ("createTime" .=) <$> _mCreateTime,+                  ("fields" .=) <$> _mFields])++--+-- /See:/ 'updateDataSourceRequest' smart constructor.+data UpdateDataSourceRequest = UpdateDataSourceRequest'+    { _udsrDebugOptions :: !(Maybe DebugOptions)+    , _udsrSource       :: !(Maybe DataSource)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDataSourceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udsrDebugOptions'+--+-- * 'udsrSource'+updateDataSourceRequest+    :: UpdateDataSourceRequest+updateDataSourceRequest =+    UpdateDataSourceRequest'+    { _udsrDebugOptions = Nothing+    , _udsrSource = Nothing+    }++-- | Common debug options.+udsrDebugOptions :: Lens' UpdateDataSourceRequest (Maybe DebugOptions)+udsrDebugOptions+  = lens _udsrDebugOptions+      (\ s a -> s{_udsrDebugOptions = a})++udsrSource :: Lens' UpdateDataSourceRequest (Maybe DataSource)+udsrSource+  = lens _udsrSource (\ s a -> s{_udsrSource = a})++instance FromJSON UpdateDataSourceRequest where+        parseJSON+          = withObject "UpdateDataSourceRequest"+              (\ o ->+                 UpdateDataSourceRequest' <$>+                   (o .:? "debugOptions") <*> (o .:? "source"))++instance ToJSON UpdateDataSourceRequest where+        toJSON UpdateDataSourceRequest'{..}+          = object+              (catMaybes+                 [("debugOptions" .=) <$> _udsrDebugOptions,+                  ("source" .=) <$> _udsrSource])++-- | Data source is a logical namespace for items to be indexed. All items+-- must belong to a data source. This is the prerequisite before items can+-- be indexed into Cloud Search.+--+-- /See:/ 'dataSource' smart constructor.+data DataSource = DataSource'+    { _dsShortName               :: !(Maybe Text)+    , _dsItemsVisibility         :: !(Maybe [GSuitePrincipal])+    , _dsOperationIds            :: !(Maybe [Text])+    , _dsDisableServing          :: !(Maybe Bool)+    , _dsIndexingServiceAccounts :: !(Maybe [Text])+    , _dsDisableModifications    :: !(Maybe Bool)+    , _dsName                    :: !(Maybe Text)+    , _dsDisplayName             :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsShortName'+--+-- * 'dsItemsVisibility'+--+-- * 'dsOperationIds'+--+-- * 'dsDisableServing'+--+-- * 'dsIndexingServiceAccounts'+--+-- * 'dsDisableModifications'+--+-- * 'dsName'+--+-- * 'dsDisplayName'+dataSource+    :: DataSource+dataSource =+    DataSource'+    { _dsShortName = Nothing+    , _dsItemsVisibility = Nothing+    , _dsOperationIds = Nothing+    , _dsDisableServing = Nothing+    , _dsIndexingServiceAccounts = Nothing+    , _dsDisableModifications = Nothing+    , _dsName = Nothing+    , _dsDisplayName = Nothing+    }++-- | A short name or alias for the source. This value will be used to match+-- the \'source\' operator. For example, if the short name is *\<value>*+-- then queries like *source:\<value>* will only return results for this+-- source. The value must be unique across all data sources. The value must+-- only contain alphanumeric characters (a-zA-Z0-9). The value cannot start+-- with \'google\' and cannot be one of the following: mail, gmail, docs,+-- drive, groups, sites, calendar, hangouts, gplus, keep. Its maximum+-- length is 32 characters.+dsShortName :: Lens' DataSource (Maybe Text)+dsShortName+  = lens _dsShortName (\ s a -> s{_dsShortName = a})++-- | This restricts visibility to items at a data source level to the+-- disjunction of users\/groups mentioned with the field. Note that, this+-- does not ensure access to a specific item, as users need to have ACL+-- permissions on the contained items. This ensures a high level access on+-- the entire data source, and that the individual items are not shared+-- outside this visibility.+dsItemsVisibility :: Lens' DataSource [GSuitePrincipal]+dsItemsVisibility+  = lens _dsItemsVisibility+      (\ s a -> s{_dsItemsVisibility = a})+      . _Default+      . _Coerce++-- | IDs of the Long Running Operations (LROs) currently running for this+-- schema.+dsOperationIds :: Lens' DataSource [Text]+dsOperationIds+  = lens _dsOperationIds+      (\ s a -> s{_dsOperationIds = a})+      . _Default+      . _Coerce++-- | Disable serving any search or assist results.+dsDisableServing :: Lens' DataSource (Maybe Bool)+dsDisableServing+  = lens _dsDisableServing+      (\ s a -> s{_dsDisableServing = a})++-- | List of service accounts that have indexing access.+dsIndexingServiceAccounts :: Lens' DataSource [Text]+dsIndexingServiceAccounts+  = lens _dsIndexingServiceAccounts+      (\ s a -> s{_dsIndexingServiceAccounts = a})+      . _Default+      . _Coerce++-- | If true, Indexing API rejects any modification calls to this data source+-- such as create, update, and delete. Disabling this does not imply+-- halting process of previously accepted data.+dsDisableModifications :: Lens' DataSource (Maybe Bool)+dsDisableModifications+  = lens _dsDisableModifications+      (\ s a -> s{_dsDisableModifications = a})++-- | Name of the data source resource. Format: datasources\/{source_id}.+-- The name is ignored when creating a data source.+dsName :: Lens' DataSource (Maybe Text)+dsName = lens _dsName (\ s a -> s{_dsName = a})++-- | Required. Display name of the data source The maximum length is 300+-- characters.+dsDisplayName :: Lens' DataSource (Maybe Text)+dsDisplayName+  = lens _dsDisplayName+      (\ s a -> s{_dsDisplayName = a})++instance FromJSON DataSource where+        parseJSON+          = withObject "DataSource"+              (\ o ->+                 DataSource' <$>+                   (o .:? "shortName") <*>+                     (o .:? "itemsVisibility" .!= mempty)+                     <*> (o .:? "operationIds" .!= mempty)+                     <*> (o .:? "disableServing")+                     <*> (o .:? "indexingServiceAccounts" .!= mempty)+                     <*> (o .:? "disableModifications")+                     <*> (o .:? "name")+                     <*> (o .:? "displayName"))++instance ToJSON DataSource where+        toJSON DataSource'{..}+          = object+              (catMaybes+                 [("shortName" .=) <$> _dsShortName,+                  ("itemsVisibility" .=) <$> _dsItemsVisibility,+                  ("operationIds" .=) <$> _dsOperationIds,+                  ("disableServing" .=) <$> _dsDisableServing,+                  ("indexingServiceAccounts" .=) <$>+                    _dsIndexingServiceAccounts,+                  ("disableModifications" .=) <$>+                    _dsDisableModifications,+                  ("name" .=) <$> _dsName,+                  ("displayName" .=) <$> _dsDisplayName])++-- | List of html values.+--+-- /See:/ 'htmlValues' smart constructor.+newtype HTMLValues = HTMLValues'+    { _hvValues :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTMLValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hvValues'+htmlValues+    :: HTMLValues+htmlValues =+    HTMLValues'+    { _hvValues = Nothing+    }++-- | The maximum allowable length for html values is 2048 characters. The+-- maximum number of string elements is 100.+hvValues :: Lens' HTMLValues [Text]+hvValues+  = lens _hvValues (\ s a -> s{_hvValues = a}) .+      _Default+      . _Coerce++instance FromJSON HTMLValues where+        parseJSON+          = withObject "HTMLValues"+              (\ o -> HTMLValues' <$> (o .:? "values" .!= mempty))++instance ToJSON HTMLValues where+        toJSON HTMLValues'{..}+          = object (catMaybes [("values" .=) <$> _hvValues])++-- | Used to provide a search operator for html properties. This is optional.+-- Search operators let users restrict the query to specific fields+-- relevant to the type of item being searched.+--+-- /See:/ 'htmlOperatorOptions' smart constructor.+newtype HTMLOperatorOptions = HTMLOperatorOptions'+    { _hooOperatorName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTMLOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hooOperatorName'+htmlOperatorOptions+    :: HTMLOperatorOptions+htmlOperatorOptions =+    HTMLOperatorOptions'+    { _hooOperatorName = Nothing+    }++-- | Indicates the operator name required in the query in order to isolate+-- the html property. For example, if operatorName is *subject* and the+-- property\'s name is *subjectLine*, then queries like *subject:\<value>*+-- will show results only where the value of the property named+-- *subjectLine* matches *\<value>*. By contrast, a search that uses the+-- same *\<value>* without an operator will return all items where+-- *\<value>* matches the value of any html properties or text within the+-- content field for the item. The operator name can only contain lowercase+-- letters (a-z). The maximum length is 32 characters.+hooOperatorName :: Lens' HTMLOperatorOptions (Maybe Text)+hooOperatorName+  = lens _hooOperatorName+      (\ s a -> s{_hooOperatorName = a})++instance FromJSON HTMLOperatorOptions where+        parseJSON+          = withObject "HTMLOperatorOptions"+              (\ o ->+                 HTMLOperatorOptions' <$> (o .:? "operatorName"))++instance ToJSON HTMLOperatorOptions where+        toJSON HTMLOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _hooOperatorName])++-- | Represents a single object that is an item in the search index, such as+-- a file, folder, or a database record.+--+-- /See:/ 'item' smart constructor.+data Item = Item'+    { _iStatus         :: !(Maybe ItemStatus)+    , _iItemType       :: !(Maybe ItemItemType)+    , _iPayload        :: !(Maybe Bytes)+    , _iStructuredData :: !(Maybe ItemStructuredData)+    , _iQueue          :: !(Maybe Text)+    , _iContent        :: !(Maybe ItemContent)+    , _iName           :: !(Maybe Text)+    , _iVersion        :: !(Maybe Bytes)+    , _iMetadata       :: !(Maybe ItemMetadata)+    , _iACL            :: !(Maybe ItemACL)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Item' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iStatus'+--+-- * 'iItemType'+--+-- * 'iPayload'+--+-- * 'iStructuredData'+--+-- * 'iQueue'+--+-- * 'iContent'+--+-- * 'iName'+--+-- * 'iVersion'+--+-- * 'iMetadata'+--+-- * 'iACL'+item+    :: Item+item =+    Item'+    { _iStatus = Nothing+    , _iItemType = Nothing+    , _iPayload = Nothing+    , _iStructuredData = Nothing+    , _iQueue = Nothing+    , _iContent = Nothing+    , _iName = Nothing+    , _iVersion = Nothing+    , _iMetadata = Nothing+    , _iACL = Nothing+    }++-- | Status of the item. Output only field.+iStatus :: Lens' Item (Maybe ItemStatus)+iStatus = lens _iStatus (\ s a -> s{_iStatus = a})++-- | Type for this item.+iItemType :: Lens' Item (Maybe ItemItemType)+iItemType+  = lens _iItemType (\ s a -> s{_iItemType = a})++-- | Additional state connector can store for this item. The maximum length+-- is 10000 bytes.+iPayload :: Lens' Item (Maybe ByteString)+iPayload+  = lens _iPayload (\ s a -> s{_iPayload = a}) .+      mapping _Bytes++-- | The structured data for the item that should conform to a registered+-- object definition in the schema for the data source.+iStructuredData :: Lens' Item (Maybe ItemStructuredData)+iStructuredData+  = lens _iStructuredData+      (\ s a -> s{_iStructuredData = a})++-- | Queue this item belongs to. The maximum length is 100 characters.+iQueue :: Lens' Item (Maybe Text)+iQueue = lens _iQueue (\ s a -> s{_iQueue = a})++-- | Item content to be indexed and made text searchable.+iContent :: Lens' Item (Maybe ItemContent)+iContent = lens _iContent (\ s a -> s{_iContent = a})++-- | Name of the Item. Format: datasources\/{source_id}\/items\/{item_id}+-- This is a required field. The maximum length is 1536 characters.+iName :: Lens' Item (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++-- | Required. The indexing system stores the version from the datasource as+-- a byte string and compares the Item version in the index to the version+-- of the queued Item using lexical ordering.+-- Cloud Search Indexing won\'t index or delete any queued item with a+-- version value that is less than or equal to the version of the currently+-- indexed item. The maximum length for this field is 1024 bytes.+iVersion :: Lens' Item (Maybe ByteString)+iVersion+  = lens _iVersion (\ s a -> s{_iVersion = a}) .+      mapping _Bytes++-- | Metadata information.+iMetadata :: Lens' Item (Maybe ItemMetadata)+iMetadata+  = lens _iMetadata (\ s a -> s{_iMetadata = a})++-- | Access control list for this item.+iACL :: Lens' Item (Maybe ItemACL)+iACL = lens _iACL (\ s a -> s{_iACL = a})++instance FromJSON Item where+        parseJSON+          = withObject "Item"+              (\ o ->+                 Item' <$>+                   (o .:? "status") <*> (o .:? "itemType") <*>+                     (o .:? "payload")+                     <*> (o .:? "structuredData")+                     <*> (o .:? "queue")+                     <*> (o .:? "content")+                     <*> (o .:? "name")+                     <*> (o .:? "version")+                     <*> (o .:? "metadata")+                     <*> (o .:? "acl"))++instance ToJSON Item where+        toJSON Item'{..}+          = object+              (catMaybes+                 [("status" .=) <$> _iStatus,+                  ("itemType" .=) <$> _iItemType,+                  ("payload" .=) <$> _iPayload,+                  ("structuredData" .=) <$> _iStructuredData,+                  ("queue" .=) <$> _iQueue,+                  ("content" .=) <$> _iContent, ("name" .=) <$> _iName,+                  ("version" .=) <$> _iVersion,+                  ("metadata" .=) <$> _iMetadata,+                  ("acl" .=) <$> _iACL])++-- | Defines sources for the suggest\/search APIs.+--+-- /See:/ 'source' smart constructor.+data Source = Source'+    { _sName             :: !(Maybe Text)+    , _sPredefinedSource :: !(Maybe SourcePredefinedSource)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Source' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sName'+--+-- * 'sPredefinedSource'+source+    :: Source+source =+    Source'+    { _sName = Nothing+    , _sPredefinedSource = Nothing+    }++-- | Source name for content indexed by the Indexing API.+sName :: Lens' Source (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | Predefined content source for Google Apps.+sPredefinedSource :: Lens' Source (Maybe SourcePredefinedSource)+sPredefinedSource+  = lens _sPredefinedSource+      (\ s a -> s{_sPredefinedSource = a})++instance FromJSON Source where+        parseJSON+          = withObject "Source"+              (\ o ->+                 Source' <$>+                   (o .:? "name") <*> (o .:? "predefinedSource"))++instance ToJSON Source where+        toJSON Source'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _sName,+                  ("predefinedSource" .=) <$> _sPredefinedSource])++-- | The display options for a property.+--+-- /See:/ 'propertyDisplayOptions' smart constructor.+newtype PropertyDisplayOptions = PropertyDisplayOptions'+    { _pdoDisplayLabel :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PropertyDisplayOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdoDisplayLabel'+propertyDisplayOptions+    :: PropertyDisplayOptions+propertyDisplayOptions =+    PropertyDisplayOptions'+    { _pdoDisplayLabel = Nothing+    }++-- | The user friendly label for the property that will be used if the+-- property is specified to be displayed in ObjectDisplayOptions. If given,+-- the display label will be shown in front of the property values when the+-- property is part of the object display options. For example, if the+-- property value is \'1\', the value by itself may not be useful context+-- for the user. If the display name given was \'priority\', then the user+-- will see \'priority : 1\' in the search results which provides clear+-- conext to search users. This is OPTIONAL; if not given, only the+-- property values will be displayed. The maximum length is 32 characters.+pdoDisplayLabel :: Lens' PropertyDisplayOptions (Maybe Text)+pdoDisplayLabel+  = lens _pdoDisplayLabel+      (\ s a -> s{_pdoDisplayLabel = a})++instance FromJSON PropertyDisplayOptions where+        parseJSON+          = withObject "PropertyDisplayOptions"+              (\ o ->+                 PropertyDisplayOptions' <$> (o .:? "displayLabel"))++instance ToJSON PropertyDisplayOptions where+        toJSON PropertyDisplayOptions'{..}+          = object+              (catMaybes+                 [("displayLabel" .=) <$> _pdoDisplayLabel])++-- | List of object values.+--+-- /See:/ 'objectValues' smart constructor.+newtype ObjectValues = ObjectValues'+    { _ovValues :: Maybe [StructuredDataObject]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ovValues'+objectValues+    :: ObjectValues+objectValues =+    ObjectValues'+    { _ovValues = Nothing+    }++-- | The maximum number of elements is 100.+ovValues :: Lens' ObjectValues [StructuredDataObject]+ovValues+  = lens _ovValues (\ s a -> s{_ovValues = a}) .+      _Default+      . _Coerce++instance FromJSON ObjectValues where+        parseJSON+          = withObject "ObjectValues"+              (\ o ->+                 ObjectValues' <$> (o .:? "values" .!= mempty))++instance ToJSON ObjectValues where+        toJSON ObjectValues'{..}+          = object (catMaybes [("values" .=) <$> _ovValues])++-- | The options for an object.+--+-- /See:/ 'objectOptions' smart constructor.+data ObjectOptions = ObjectOptions'+    { _ooFreshnessOptions :: !(Maybe FreshnessOptions)+    , _ooDisplayOptions   :: !(Maybe ObjectDisplayOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ooFreshnessOptions'+--+-- * 'ooDisplayOptions'+objectOptions+    :: ObjectOptions+objectOptions =+    ObjectOptions'+    { _ooFreshnessOptions = Nothing+    , _ooDisplayOptions = Nothing+    }++-- | The freshness options for an object.+ooFreshnessOptions :: Lens' ObjectOptions (Maybe FreshnessOptions)+ooFreshnessOptions+  = lens _ooFreshnessOptions+      (\ s a -> s{_ooFreshnessOptions = a})++-- | Options that determine how the object is displayed in the Cloud Search+-- results page.+ooDisplayOptions :: Lens' ObjectOptions (Maybe ObjectDisplayOptions)+ooDisplayOptions+  = lens _ooDisplayOptions+      (\ s a -> s{_ooDisplayOptions = a})++instance FromJSON ObjectOptions where+        parseJSON+          = withObject "ObjectOptions"+              (\ o ->+                 ObjectOptions' <$>+                   (o .:? "freshnessOptions") <*>+                     (o .:? "displayOptions"))++instance ToJSON ObjectOptions where+        toJSON ObjectOptions'{..}+          = object+              (catMaybes+                 [("freshnessOptions" .=) <$> _ooFreshnessOptions,+                  ("displayOptions" .=) <$> _ooDisplayOptions])++-- | Specifies operators to return facet results for. There will be one+-- FacetResult for every source_name\/object_type\/operator_name+-- combination.+--+-- /See:/ 'facetOptions' smart constructor.+data FacetOptions = FacetOptions'+    { _fSourceName   :: !(Maybe Text)+    , _fObjectType   :: !(Maybe Text)+    , _fOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FacetOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fSourceName'+--+-- * 'fObjectType'+--+-- * 'fOperatorName'+facetOptions+    :: FacetOptions+facetOptions =+    FacetOptions'+    { _fSourceName = Nothing+    , _fObjectType = Nothing+    , _fOperatorName = Nothing+    }++-- | Source name to facet on. Format: datasources\/{source_id} If empty, all+-- data sources will be used.+fSourceName :: Lens' FacetOptions (Maybe Text)+fSourceName+  = lens _fSourceName (\ s a -> s{_fSourceName = a})++-- | If object_type is set, only those objects of that type will be used to+-- compute facets. If empty, then all objects will be used to compute+-- facets.+fObjectType :: Lens' FacetOptions (Maybe Text)+fObjectType+  = lens _fObjectType (\ s a -> s{_fObjectType = a})++-- | Name of the operator chosen for faceting. \'see+-- cloudsearch.SchemaPropertyOptions+fOperatorName :: Lens' FacetOptions (Maybe Text)+fOperatorName+  = lens _fOperatorName+      (\ s a -> s{_fOperatorName = a})++instance FromJSON FacetOptions where+        parseJSON+          = withObject "FacetOptions"+              (\ o ->+                 FacetOptions' <$>+                   (o .:? "sourceName") <*> (o .:? "objectType") <*>+                     (o .:? "operatorName"))++instance ToJSON FacetOptions where+        toJSON FacetOptions'{..}+          = object+              (catMaybes+                 [("sourceName" .=) <$> _fSourceName,+                  ("objectType" .=) <$> _fObjectType,+                  ("operatorName" .=) <$> _fOperatorName])++-- | Request of suggest API.+--+-- /See:/ 'suggestRequest' smart constructor.+data SuggestRequest = SuggestRequest'+    { _sDataSourceRestrictions :: !(Maybe [DataSourceRestriction])+    , _sQuery                  :: !(Maybe Text)+    , _sRequestOptions         :: !(Maybe RequestOptions)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SuggestRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDataSourceRestrictions'+--+-- * 'sQuery'+--+-- * 'sRequestOptions'+suggestRequest+    :: SuggestRequest+suggestRequest =+    SuggestRequest'+    { _sDataSourceRestrictions = Nothing+    , _sQuery = Nothing+    , _sRequestOptions = Nothing+    }++-- | The sources to use for suggestions. If not specified, all data sources+-- from the current search application are used.+sDataSourceRestrictions :: Lens' SuggestRequest [DataSourceRestriction]+sDataSourceRestrictions+  = lens _sDataSourceRestrictions+      (\ s a -> s{_sDataSourceRestrictions = a})+      . _Default+      . _Coerce++-- | Partial query for the completion suggestion.+sQuery :: Lens' SuggestRequest (Maybe Text)+sQuery = lens _sQuery (\ s a -> s{_sQuery = a})++-- | Request options, such as the search application and user timezone.+sRequestOptions :: Lens' SuggestRequest (Maybe RequestOptions)+sRequestOptions+  = lens _sRequestOptions+      (\ s a -> s{_sRequestOptions = a})++instance FromJSON SuggestRequest where+        parseJSON+          = withObject "SuggestRequest"+              (\ o ->+                 SuggestRequest' <$>+                   (o .:? "dataSourceRestrictions" .!= mempty) <*>+                     (o .:? "query")+                     <*> (o .:? "requestOptions"))++instance ToJSON SuggestRequest where+        toJSON SuggestRequest'{..}+          = object+              (catMaybes+                 [("dataSourceRestrictions" .=) <$>+                    _sDataSourceRestrictions,+                  ("query" .=) <$> _sQuery,+                  ("requestOptions" .=) <$> _sRequestOptions])++-- | A generic way of expressing filters in a query, which supports two+-- approaches:+-- **1. Setting a ValueFilter.** The name must match an operator_name+-- defined in the schema for your data source.+-- **2. Setting a CompositeFilter.** The filters are evaluated using the+-- logical operator. The top-level operators can only be either an AND or a+-- NOT. AND can appear only at the top-most level. OR can appear only under+-- a top-level AND.+--+-- /See:/ 'filter'' smart constructor.+data Filter = Filter'+    { _fCompositeFilter :: !(Maybe CompositeFilter)+    , _fValueFilter     :: !(Maybe ValueFilter)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Filter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fCompositeFilter'+--+-- * 'fValueFilter'+filter'+    :: Filter+filter' =+    Filter'+    { _fCompositeFilter = Nothing+    , _fValueFilter = Nothing+    }++fCompositeFilter :: Lens' Filter (Maybe CompositeFilter)+fCompositeFilter+  = lens _fCompositeFilter+      (\ s a -> s{_fCompositeFilter = a})++fValueFilter :: Lens' Filter (Maybe ValueFilter)+fValueFilter+  = lens _fValueFilter (\ s a -> s{_fValueFilter = a})++instance FromJSON Filter where+        parseJSON+          = withObject "Filter"+              (\ o ->+                 Filter' <$>+                   (o .:? "compositeFilter") <*> (o .:? "valueFilter"))++instance ToJSON Filter where+        toJSON Filter'{..}+          = object+              (catMaybes+                 [("compositeFilter" .=) <$> _fCompositeFilter,+                  ("valueFilter" .=) <$> _fValueFilter])++-- | The definition for an object within a data source.+--+-- /See:/ 'objectDefinition' smart constructor.+data ObjectDefinition = ObjectDefinition'+    { _odName                :: !(Maybe Text)+    , _odOptions             :: !(Maybe ObjectOptions)+    , _odPropertyDefinitions :: !(Maybe [PropertyDefinition])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'odName'+--+-- * 'odOptions'+--+-- * 'odPropertyDefinitions'+objectDefinition+    :: ObjectDefinition+objectDefinition =+    ObjectDefinition'+    { _odName = Nothing+    , _odOptions = Nothing+    , _odPropertyDefinitions = Nothing+    }++-- | Name for the object, which then defines its type. Item indexing requests+-- should set the objectType field equal to this value. For example, if+-- *name* is *Document*, then indexing requests for items of type Document+-- should set objectType equal to *Document*. Each object definition must+-- be uniquely named within a schema. The name must start with a letter and+-- can only contain letters (A-Z, a-z) or numbers (0-9). The maximum length+-- is 256 characters.+odName :: Lens' ObjectDefinition (Maybe Text)+odName = lens _odName (\ s a -> s{_odName = a})++-- | The optional object-specific options.+odOptions :: Lens' ObjectDefinition (Maybe ObjectOptions)+odOptions+  = lens _odOptions (\ s a -> s{_odOptions = a})++-- | The property definitions for the object. The maximum number of elements+-- is 1000.+odPropertyDefinitions :: Lens' ObjectDefinition [PropertyDefinition]+odPropertyDefinitions+  = lens _odPropertyDefinitions+      (\ s a -> s{_odPropertyDefinitions = a})+      . _Default+      . _Coerce++instance FromJSON ObjectDefinition where+        parseJSON+          = withObject "ObjectDefinition"+              (\ o ->+                 ObjectDefinition' <$>+                   (o .:? "name") <*> (o .:? "options") <*>+                     (o .:? "propertyDefinitions" .!= mempty))++instance ToJSON ObjectDefinition where+        toJSON ObjectDefinition'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _odName,+                  ("options" .=) <$> _odOptions,+                  ("propertyDefinitions" .=) <$>+                    _odPropertyDefinitions])++--+-- /See:/ 'pollItemsRequest' smart constructor.+data PollItemsRequest = PollItemsRequest'+    { _pQueue         :: !(Maybe Text)+    , _pDebugOptions  :: !(Maybe DebugOptions)+    , _pConnectorName :: !(Maybe Text)+    , _pStatusCodes   :: !(Maybe [Text])+    , _pLimit         :: !(Maybe (Textual Int32))+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PollItemsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pQueue'+--+-- * 'pDebugOptions'+--+-- * 'pConnectorName'+--+-- * 'pStatusCodes'+--+-- * 'pLimit'+pollItemsRequest+    :: PollItemsRequest+pollItemsRequest =+    PollItemsRequest'+    { _pQueue = Nothing+    , _pDebugOptions = Nothing+    , _pConnectorName = Nothing+    , _pStatusCodes = Nothing+    , _pLimit = Nothing+    }++-- | Queue name to fetch items from. If unspecified, PollItems will fetch+-- from \'default\' queue. The maximum length is 100 characters.+pQueue :: Lens' PollItemsRequest (Maybe Text)+pQueue = lens _pQueue (\ s a -> s{_pQueue = a})++-- | Common debug options.+pDebugOptions :: Lens' PollItemsRequest (Maybe DebugOptions)+pDebugOptions+  = lens _pDebugOptions+      (\ s a -> s{_pDebugOptions = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+pConnectorName :: Lens' PollItemsRequest (Maybe Text)+pConnectorName+  = lens _pConnectorName+      (\ s a -> s{_pConnectorName = a})++-- | Limit the items polled to the ones with these statuses.+pStatusCodes :: Lens' PollItemsRequest [Text]+pStatusCodes+  = lens _pStatusCodes (\ s a -> s{_pStatusCodes = a})+      . _Default+      . _Coerce++-- | Maximum number of items to return.+-- The maximum and the default value is 1000+pLimit :: Lens' PollItemsRequest (Maybe Int32)+pLimit+  = lens _pLimit (\ s a -> s{_pLimit = a}) .+      mapping _Coerce++instance FromJSON PollItemsRequest where+        parseJSON+          = withObject "PollItemsRequest"+              (\ o ->+                 PollItemsRequest' <$>+                   (o .:? "queue") <*> (o .:? "debugOptions") <*>+                     (o .:? "connectorName")+                     <*> (o .:? "statusCodes" .!= mempty)+                     <*> (o .:? "limit"))++instance ToJSON PollItemsRequest where+        toJSON PollItemsRequest'{..}+          = object+              (catMaybes+                 [("queue" .=) <$> _pQueue,+                  ("debugOptions" .=) <$> _pDebugOptions,+                  ("connectorName" .=) <$> _pConnectorName,+                  ("statusCodes" .=) <$> _pStatusCodes,+                  ("limit" .=) <$> _pLimit])++--+-- /See:/ 'queryInterpretation' smart constructor.+data QueryInterpretation = QueryInterpretation'+    { _qiInterpretedQuery   :: !(Maybe Text)+    , _qiInterpretationType :: !(Maybe QueryInterpretationInterpretationType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueryInterpretation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qiInterpretedQuery'+--+-- * 'qiInterpretationType'+queryInterpretation+    :: QueryInterpretation+queryInterpretation =+    QueryInterpretation'+    { _qiInterpretedQuery = Nothing+    , _qiInterpretationType = Nothing+    }++-- | The interpretation of the query used in search. For example, query+-- \"email from john\" will be interpreted as \"from:john source:mail\"+qiInterpretedQuery :: Lens' QueryInterpretation (Maybe Text)+qiInterpretedQuery+  = lens _qiInterpretedQuery+      (\ s a -> s{_qiInterpretedQuery = a})++qiInterpretationType :: Lens' QueryInterpretation (Maybe QueryInterpretationInterpretationType)+qiInterpretationType+  = lens _qiInterpretationType+      (\ s a -> s{_qiInterpretationType = a})++instance FromJSON QueryInterpretation where+        parseJSON+          = withObject "QueryInterpretation"+              (\ o ->+                 QueryInterpretation' <$>+                   (o .:? "interpretedQuery") <*>+                     (o .:? "interpretationType"))++instance ToJSON QueryInterpretation where+        toJSON QueryInterpretation'{..}+          = object+              (catMaybes+                 [("interpretedQuery" .=) <$> _qiInterpretedQuery,+                  ("interpretationType" .=) <$> _qiInterpretationType])++--+-- /See:/ 'unmAppedIdentity' smart constructor.+data UnmAppedIdentity = UnmAppedIdentity'+    { _uaiResolutionStatusCode :: !(Maybe UnmAppedIdentityResolutionStatusCode)+    , _uaiExternalIdentity     :: !(Maybe Principal)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnmAppedIdentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uaiResolutionStatusCode'+--+-- * 'uaiExternalIdentity'+unmAppedIdentity+    :: UnmAppedIdentity+unmAppedIdentity =+    UnmAppedIdentity'+    { _uaiResolutionStatusCode = Nothing+    , _uaiExternalIdentity = Nothing+    }++-- | The resolution status for the external identity.+uaiResolutionStatusCode :: Lens' UnmAppedIdentity (Maybe UnmAppedIdentityResolutionStatusCode)+uaiResolutionStatusCode+  = lens _uaiResolutionStatusCode+      (\ s a -> s{_uaiResolutionStatusCode = a})++-- | The resource name for an external user.+uaiExternalIdentity :: Lens' UnmAppedIdentity (Maybe Principal)+uaiExternalIdentity+  = lens _uaiExternalIdentity+      (\ s a -> s{_uaiExternalIdentity = a})++instance FromJSON UnmAppedIdentity where+        parseJSON+          = withObject "UnmAppedIdentity"+              (\ o ->+                 UnmAppedIdentity' <$>+                   (o .:? "resolutionStatusCode") <*>+                     (o .:? "externalIdentity"))++instance ToJSON UnmAppedIdentity where+        toJSON UnmAppedIdentity'{..}+          = object+              (catMaybes+                 [("resolutionStatusCode" .=) <$>+                    _uaiResolutionStatusCode,+                  ("externalIdentity" .=) <$> _uaiExternalIdentity])++-- | Service-specific metadata associated with the operation. It typically+-- contains progress information and common metadata such as create time.+-- Some services might not provide such metadata. Any method that returns a+-- long-running operation should document the metadata type, if any.+--+-- /See:/ 'operationMetadata' smart constructor.+newtype OperationMetadata = OperationMetadata'+    { _omAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'omAddtional'+operationMetadata+    :: HashMap Text JSONValue -- ^ 'omAddtional'+    -> OperationMetadata+operationMetadata pOmAddtional_ =+    OperationMetadata'+    { _omAddtional = _Coerce # pOmAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)+omAddtional+  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .+      _Coerce++instance FromJSON OperationMetadata where+        parseJSON+          = withObject "OperationMetadata"+              (\ o -> OperationMetadata' <$> (parseJSONObject o))++instance ToJSON OperationMetadata where+        toJSON = toJSON . _omAddtional++-- | Aggregation of items by status code as of the specified date.+--+-- /See:/ 'customerIndexStats' smart constructor.+data CustomerIndexStats = CustomerIndexStats'+    { _cisItemCountByStatus :: !(Maybe [ItemCountByStatus])+    , _cisDate              :: !(Maybe Date)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CustomerIndexStats' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cisItemCountByStatus'+--+-- * 'cisDate'+customerIndexStats+    :: CustomerIndexStats+customerIndexStats =+    CustomerIndexStats'+    { _cisItemCountByStatus = Nothing+    , _cisDate = Nothing+    }++-- | Number of items aggregrated by status code.+cisItemCountByStatus :: Lens' CustomerIndexStats [ItemCountByStatus]+cisItemCountByStatus+  = lens _cisItemCountByStatus+      (\ s a -> s{_cisItemCountByStatus = a})+      . _Default+      . _Coerce++-- | Date for which statistics were calculated.+cisDate :: Lens' CustomerIndexStats (Maybe Date)+cisDate = lens _cisDate (\ s a -> s{_cisDate = a})++instance FromJSON CustomerIndexStats where+        parseJSON+          = withObject "CustomerIndexStats"+              (\ o ->+                 CustomerIndexStats' <$>+                   (o .:? "itemCountByStatus" .!= mempty) <*>+                     (o .:? "date"))++instance ToJSON CustomerIndexStats where+        toJSON CustomerIndexStats'{..}+          = object+              (catMaybes+                 [("itemCountByStatus" .=) <$> _cisItemCountByStatus,+                  ("date" .=) <$> _cisDate])++-- | Represents an item to be pushed to the indexing queue.+--+-- /See:/ 'pushItem' smart constructor.+data PushItem = PushItem'+    { _piRepositoryError    :: !(Maybe RepositoryError)+    , _piContentHash        :: !(Maybe Text)+    , _piStructuredDataHash :: !(Maybe Text)+    , _piPayload            :: !(Maybe Bytes)+    , _piQueue              :: !(Maybe Text)+    , _piMetadataHash       :: !(Maybe Text)+    , _piType               :: !(Maybe PushItemType)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PushItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piRepositoryError'+--+-- * 'piContentHash'+--+-- * 'piStructuredDataHash'+--+-- * 'piPayload'+--+-- * 'piQueue'+--+-- * 'piMetadataHash'+--+-- * 'piType'+pushItem+    :: PushItem+pushItem =+    PushItem'+    { _piRepositoryError = Nothing+    , _piContentHash = Nothing+    , _piStructuredDataHash = Nothing+    , _piPayload = Nothing+    , _piQueue = Nothing+    , _piMetadataHash = Nothing+    , _piType = Nothing+    }++-- | Populate this field to store Connector or repository error details. This+-- information is displayed in the Admin Console. This field may only be+-- populated when the Type is REPOSITORY_ERROR.+piRepositoryError :: Lens' PushItem (Maybe RepositoryError)+piRepositoryError+  = lens _piRepositoryError+      (\ s a -> s{_piRepositoryError = a})++-- | Content hash of the item according to the repository. If specified, this+-- is used to determine how to modify this item\'s status. Setting this+-- field and the type field results in argument error. The maximum length+-- is 2048 characters.+piContentHash :: Lens' PushItem (Maybe Text)+piContentHash+  = lens _piContentHash+      (\ s a -> s{_piContentHash = a})++-- | Structured data hash of the item according to the repository. If+-- specified, this is used to determine how to modify this item\'s status.+-- Setting this field and the type field results in argument error. The+-- maximum length is 2048 characters.+piStructuredDataHash :: Lens' PushItem (Maybe Text)+piStructuredDataHash+  = lens _piStructuredDataHash+      (\ s a -> s{_piStructuredDataHash = a})++-- | Provides additional document state information for the connector, such+-- as an alternate repository ID and other metadata. The maximum length is+-- 8192 bytes.+piPayload :: Lens' PushItem (Maybe ByteString)+piPayload+  = lens _piPayload (\ s a -> s{_piPayload = a}) .+      mapping _Bytes++-- | Queue to which this item belongs to. The 'default' queue is chosen if+-- this field is not specified. The maximum length is 512 characters.+piQueue :: Lens' PushItem (Maybe Text)+piQueue = lens _piQueue (\ s a -> s{_piQueue = a})++-- | Metadata hash of the item according to the repository. If specified,+-- this is used to determine how to modify this item\'s status. Setting+-- this field and the type field results in argument error. The maximum+-- length is 2048 characters.+piMetadataHash :: Lens' PushItem (Maybe Text)+piMetadataHash+  = lens _piMetadataHash+      (\ s a -> s{_piMetadataHash = a})++-- | The type of the push operation that defines the push behavior.+piType :: Lens' PushItem (Maybe PushItemType)+piType = lens _piType (\ s a -> s{_piType = a})++instance FromJSON PushItem where+        parseJSON+          = withObject "PushItem"+              (\ o ->+                 PushItem' <$>+                   (o .:? "repositoryError") <*> (o .:? "contentHash")+                     <*> (o .:? "structuredDataHash")+                     <*> (o .:? "payload")+                     <*> (o .:? "queue")+                     <*> (o .:? "metadataHash")+                     <*> (o .:? "type"))++instance ToJSON PushItem where+        toJSON PushItem'{..}+          = object+              (catMaybes+                 [("repositoryError" .=) <$> _piRepositoryError,+                  ("contentHash" .=) <$> _piContentHash,+                  ("structuredDataHash" .=) <$> _piStructuredDataHash,+                  ("payload" .=) <$> _piPayload,+                  ("queue" .=) <$> _piQueue,+                  ("metadataHash" .=) <$> _piMetadataHash,+                  ("type" .=) <$> _piType])++-- | Error message per source response.+--+-- /See:/ 'errorMessage' smart constructor.+data ErrorMessage = ErrorMessage'+    { _emSource       :: !(Maybe Source)+    , _emErrorMessage :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'emSource'+--+-- * 'emErrorMessage'+errorMessage+    :: ErrorMessage+errorMessage =+    ErrorMessage'+    { _emSource = Nothing+    , _emErrorMessage = Nothing+    }++emSource :: Lens' ErrorMessage (Maybe Source)+emSource = lens _emSource (\ s a -> s{_emSource = a})++emErrorMessage :: Lens' ErrorMessage (Maybe Text)+emErrorMessage+  = lens _emErrorMessage+      (\ s a -> s{_emErrorMessage = a})++instance FromJSON ErrorMessage where+        parseJSON+          = withObject "ErrorMessage"+              (\ o ->+                 ErrorMessage' <$>+                   (o .:? "source") <*> (o .:? "errorMessage"))++instance ToJSON ErrorMessage where+        toJSON ErrorMessage'{..}+          = object+              (catMaybes+                 [("source" .=) <$> _emSource,+                  ("errorMessage" .=) <$> _emErrorMessage])++-- | Options for boolean properties.+--+-- /See:/ 'booleanPropertyOptions' smart constructor.+newtype BooleanPropertyOptions = BooleanPropertyOptions'+    { _bpoOperatorOptions :: Maybe BooleanOperatorOptions+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooleanPropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpoOperatorOptions'+booleanPropertyOptions+    :: BooleanPropertyOptions+booleanPropertyOptions =+    BooleanPropertyOptions'+    { _bpoOperatorOptions = Nothing+    }++-- | If set, describes how the boolean should be used as a search operator.+bpoOperatorOptions :: Lens' BooleanPropertyOptions (Maybe BooleanOperatorOptions)+bpoOperatorOptions+  = lens _bpoOperatorOptions+      (\ s a -> s{_bpoOperatorOptions = a})++instance FromJSON BooleanPropertyOptions where+        parseJSON+          = withObject "BooleanPropertyOptions"+              (\ o ->+                 BooleanPropertyOptions' <$>+                   (o .:? "operatorOptions"))++instance ToJSON BooleanPropertyOptions where+        toJSON BooleanPropertyOptions'{..}+          = object+              (catMaybes+                 [("operatorOptions" .=) <$> _bpoOperatorOptions])++--+-- /See:/ 'valueFilter' smart constructor.+data ValueFilter = ValueFilter'+    { _vfValue        :: !(Maybe Value)+    , _vfOperatorName :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ValueFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vfValue'+--+-- * 'vfOperatorName'+valueFilter+    :: ValueFilter+valueFilter =+    ValueFilter'+    { _vfValue = Nothing+    , _vfOperatorName = Nothing+    }++-- | The value to be compared with.+vfValue :: Lens' ValueFilter (Maybe Value)+vfValue = lens _vfValue (\ s a -> s{_vfValue = a})++-- | The \`operator_name\` applied to the query, such as+-- *price_greater_than*. The filter can work against both types of filters+-- defined in the schema for your data source:+-- 1. \`operator_name\`, where the query filters results by the property+-- that matches the value.+-- 2. \`greater_than_operator_name\` or \`less_than_operator_name\` in your+-- schema. The query filters the results for the property values that are+-- greater than or less than the supplied value in the query.+vfOperatorName :: Lens' ValueFilter (Maybe Text)+vfOperatorName+  = lens _vfOperatorName+      (\ s a -> s{_vfOperatorName = a})++instance FromJSON ValueFilter where+        parseJSON+          = withObject "ValueFilter"+              (\ o ->+                 ValueFilter' <$>+                   (o .:? "value") <*> (o .:? "operatorName"))++instance ToJSON ValueFilter where+        toJSON ValueFilter'{..}+          = object+              (catMaybes+                 [("value" .=) <$> _vfValue,+                  ("operatorName" .=) <$> _vfOperatorName])++-- | Used to provide a search operator for enum properties. This is optional.+-- Search operators let users restrict the query to specific fields+-- relevant to the type of item being searched. For example, if you provide+-- no operator for a *priority* enum property with possible values *p0* and+-- *p1*, a query that contains the term *p0* will return items that have+-- *p0* as the value of the *priority* property, as well as any items that+-- contain the string *p0* in other fields. If you provide an operator name+-- for the enum, such as *priority*, then search users can use that+-- operator to refine results to only items that have *p0* as this+-- property\'s value, with the query *priority:p0*.+--+-- /See:/ 'enumOperatorOptions' smart constructor.+newtype EnumOperatorOptions = EnumOperatorOptions'+    { _eooOperatorName :: Maybe Text+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnumOperatorOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eooOperatorName'+enumOperatorOptions+    :: EnumOperatorOptions+enumOperatorOptions =+    EnumOperatorOptions'+    { _eooOperatorName = Nothing+    }++-- | Indicates the operator name required in the query in order to isolate+-- the enum property. For example, if operatorName is *priority* and the+-- property\'s name is *priorityVal*, then queries like *priority:\<value>*+-- will show results only where the value of the property named+-- *priorityVal* matches *\<value>*. By contrast, a search that uses the+-- same *\<value>* without an operator will return all items where+-- *\<value>* matches the value of any String properties or text within the+-- content field for the item. The operator name can only contain lowercase+-- letters (a-z). The maximum length is 32 characters.+eooOperatorName :: Lens' EnumOperatorOptions (Maybe Text)+eooOperatorName+  = lens _eooOperatorName+      (\ s a -> s{_eooOperatorName = a})++instance FromJSON EnumOperatorOptions where+        parseJSON+          = withObject "EnumOperatorOptions"+              (\ o ->+                 EnumOperatorOptions' <$> (o .:? "operatorName"))++instance ToJSON EnumOperatorOptions where+        toJSON EnumOperatorOptions'{..}+          = object+              (catMaybes+                 [("operatorName" .=) <$> _eooOperatorName])++-- | Options for date properties.+--+-- /See:/ 'datePropertyOptions' smart constructor.+newtype DatePropertyOptions = DatePropertyOptions'+    { _dOperatorOptions :: Maybe DateOperatorOptions+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DatePropertyOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dOperatorOptions'+datePropertyOptions+    :: DatePropertyOptions+datePropertyOptions =+    DatePropertyOptions'+    { _dOperatorOptions = Nothing+    }++-- | If set, describes how the date should be used as a search operator.+dOperatorOptions :: Lens' DatePropertyOptions (Maybe DateOperatorOptions)+dOperatorOptions+  = lens _dOperatorOptions+      (\ s a -> s{_dOperatorOptions = a})++instance FromJSON DatePropertyOptions where+        parseJSON+          = withObject "DatePropertyOptions"+              (\ o ->+                 DatePropertyOptions' <$> (o .:? "operatorOptions"))++instance ToJSON DatePropertyOptions where+        toJSON DatePropertyOptions'{..}+          = object+              (catMaybes+                 [("operatorOptions" .=) <$> _dOperatorOptions])++-- | List of enum values.+--+-- /See:/ 'enumValues' smart constructor.+newtype EnumValues = EnumValues'+    { _evValues :: Maybe [Text]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnumValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evValues'+enumValues+    :: EnumValues+enumValues =+    EnumValues'+    { _evValues = Nothing+    }++-- | The maximum allowable length for string values is 32 characters. The+-- maximum number of elements is 100.+evValues :: Lens' EnumValues [Text]+evValues+  = lens _evValues (\ s a -> s{_evValues = a}) .+      _Default+      . _Coerce++instance FromJSON EnumValues where+        parseJSON+          = withObject "EnumValues"+              (\ o -> EnumValues' <$> (o .:? "values" .!= mempty))++instance ToJSON EnumValues where+        toJSON EnumValues'{..}+          = object (catMaybes [("values" .=) <$> _evValues])++--+-- /See:/ 'gSuitePrincipal' smart constructor.+data GSuitePrincipal = GSuitePrincipal'+    { _gspGsuiteGroupEmail :: !(Maybe Text)+    , _gspGsuiteUserEmail  :: !(Maybe Text)+    , _gspGsuiteDomain     :: !(Maybe Bool)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GSuitePrincipal' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gspGsuiteGroupEmail'+--+-- * 'gspGsuiteUserEmail'+--+-- * 'gspGsuiteDomain'+gSuitePrincipal+    :: GSuitePrincipal+gSuitePrincipal =+    GSuitePrincipal'+    { _gspGsuiteGroupEmail = Nothing+    , _gspGsuiteUserEmail = Nothing+    , _gspGsuiteDomain = Nothing+    }++-- | This principal references a G Suite group account+gspGsuiteGroupEmail :: Lens' GSuitePrincipal (Maybe Text)+gspGsuiteGroupEmail+  = lens _gspGsuiteGroupEmail+      (\ s a -> s{_gspGsuiteGroupEmail = a})++-- | This principal references a G Suite user account+gspGsuiteUserEmail :: Lens' GSuitePrincipal (Maybe Text)+gspGsuiteUserEmail+  = lens _gspGsuiteUserEmail+      (\ s a -> s{_gspGsuiteUserEmail = a})++-- | This principal represents all users of the G Suite domain of the+-- customer.+gspGsuiteDomain :: Lens' GSuitePrincipal (Maybe Bool)+gspGsuiteDomain+  = lens _gspGsuiteDomain+      (\ s a -> s{_gspGsuiteDomain = a})++instance FromJSON GSuitePrincipal where+        parseJSON+          = withObject "GSuitePrincipal"+              (\ o ->+                 GSuitePrincipal' <$>+                   (o .:? "gsuiteGroupEmail") <*>+                     (o .:? "gsuiteUserEmail")+                     <*> (o .:? "gsuiteDomain"))++instance ToJSON GSuitePrincipal where+        toJSON GSuitePrincipal'{..}+          = object+              (catMaybes+                 [("gsuiteGroupEmail" .=) <$> _gspGsuiteGroupEmail,+                  ("gsuiteUserEmail" .=) <$> _gspGsuiteUserEmail,+                  ("gsuiteDomain" .=) <$> _gspGsuiteDomain])++-- | Additional search quality metadata of the item.+--+-- /See:/ 'searchQualityMetadata' smart constructor.+newtype SearchQualityMetadata = SearchQualityMetadata'+    { _sqmQuality :: Maybe (Textual Double)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchQualityMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sqmQuality'+searchQualityMetadata+    :: SearchQualityMetadata+searchQualityMetadata =+    SearchQualityMetadata'+    { _sqmQuality = Nothing+    }++-- | An indication of the quality of the item, used to influence search+-- quality. Value should be between 0.0 (lowest quality) and 1.0 (highest+-- quality).+sqmQuality :: Lens' SearchQualityMetadata (Maybe Double)+sqmQuality+  = lens _sqmQuality (\ s a -> s{_sqmQuality = a}) .+      mapping _Coerce++instance FromJSON SearchQualityMetadata where+        parseJSON+          = withObject "SearchQualityMetadata"+              (\ o -> SearchQualityMetadata' <$> (o .:? "quality"))++instance ToJSON SearchQualityMetadata where+        toJSON SearchQualityMetadata'{..}+          = object (catMaybes [("quality" .=) <$> _sqmQuality])++-- | List of timestamp values.+--+-- /See:/ 'timestampValues' smart constructor.+newtype TimestampValues = TimestampValues'+    { _tValues :: Maybe [DateTime']+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TimestampValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tValues'+timestampValues+    :: TimestampValues+timestampValues =+    TimestampValues'+    { _tValues = Nothing+    }++-- | The maximum number of elements is 100.+tValues :: Lens' TimestampValues [UTCTime]+tValues+  = lens _tValues (\ s a -> s{_tValues = a}) . _Default+      . _Coerce++instance FromJSON TimestampValues where+        parseJSON+          = withObject "TimestampValues"+              (\ o ->+                 TimestampValues' <$> (o .:? "values" .!= mempty))++instance ToJSON TimestampValues where+        toJSON TimestampValues'{..}+          = object (catMaybes [("values" .=) <$> _tValues])++-- | Error information about the response.+--+-- /See:/ 'errorInfo' smart constructor.+newtype ErrorInfo = ErrorInfo'+    { _eiErrorMessages :: Maybe [ErrorMessage]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiErrorMessages'+errorInfo+    :: ErrorInfo+errorInfo =+    ErrorInfo'+    { _eiErrorMessages = Nothing+    }++eiErrorMessages :: Lens' ErrorInfo [ErrorMessage]+eiErrorMessages+  = lens _eiErrorMessages+      (\ s a -> s{_eiErrorMessages = a})+      . _Default+      . _Coerce++instance FromJSON ErrorInfo where+        parseJSON+          = withObject "ErrorInfo"+              (\ o ->+                 ErrorInfo' <$> (o .:? "errorMessages" .!= mempty))++instance ToJSON ErrorInfo where+        toJSON ErrorInfo'{..}+          = object+              (catMaybes+                 [("errorMessages" .=) <$> _eiErrorMessages])++--+-- /See:/ 'resultDisplayMetadata' smart constructor.+data ResultDisplayMetadata = ResultDisplayMetadata'+    { _rdmMetalines       :: !(Maybe [ResultDisplayLine])+    , _rdmObjectTypeLabel :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResultDisplayMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdmMetalines'+--+-- * 'rdmObjectTypeLabel'+resultDisplayMetadata+    :: ResultDisplayMetadata+resultDisplayMetadata =+    ResultDisplayMetadata'+    { _rdmMetalines = Nothing+    , _rdmObjectTypeLabel = Nothing+    }++-- | The metalines content to be displayed with the result.+rdmMetalines :: Lens' ResultDisplayMetadata [ResultDisplayLine]+rdmMetalines+  = lens _rdmMetalines (\ s a -> s{_rdmMetalines = a})+      . _Default+      . _Coerce++-- | The display label for the object.+rdmObjectTypeLabel :: Lens' ResultDisplayMetadata (Maybe Text)+rdmObjectTypeLabel+  = lens _rdmObjectTypeLabel+      (\ s a -> s{_rdmObjectTypeLabel = a})++instance FromJSON ResultDisplayMetadata where+        parseJSON+          = withObject "ResultDisplayMetadata"+              (\ o ->+                 ResultDisplayMetadata' <$>+                   (o .:? "metalines" .!= mempty) <*>+                     (o .:? "objectTypeLabel"))++instance ToJSON ResultDisplayMetadata where+        toJSON ResultDisplayMetadata'{..}+          = object+              (catMaybes+                 [("metalines" .=) <$> _rdmMetalines,+                  ("objectTypeLabel" .=) <$> _rdmObjectTypeLabel])++-- | The normal response of the operation in case of success. If the original+-- method returns no data on success, such as \`Delete\`, the response is+-- \`google.protobuf.Empty\`. If the original method is standard+-- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.+-- For other methods, the response should have the type \`XxxResponse\`,+-- where \`Xxx\` is the original method name. For example, if the original+-- method name is \`TakeSnapshot()\`, the inferred response type is+-- \`TakeSnapshotResponse\`.+--+-- /See:/ 'operationResponse' smart constructor.+newtype OperationResponse = OperationResponse'+    { _orAddtional :: HashMap Text JSONValue+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orAddtional'+operationResponse+    :: HashMap Text JSONValue -- ^ 'orAddtional'+    -> OperationResponse+operationResponse pOrAddtional_ =+    OperationResponse'+    { _orAddtional = _Coerce # pOrAddtional_+    }++-- | Properties of the object. Contains field \'type with type URL.+orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)+orAddtional+  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .+      _Coerce++instance FromJSON OperationResponse where+        parseJSON+          = withObject "OperationResponse"+              (\ o -> OperationResponse' <$> (parseJSONObject o))++instance ToJSON OperationResponse where+        toJSON = toJSON . _orAddtional++-- | List of integer values.+--+-- /See:/ 'integerValues' smart constructor.+newtype IntegerValues = IntegerValues'+    { _ivValues :: Maybe [Textual Int64]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IntegerValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ivValues'+integerValues+    :: IntegerValues+integerValues =+    IntegerValues'+    { _ivValues = Nothing+    }++-- | The maximum number of elements is 100.+ivValues :: Lens' IntegerValues [Int64]+ivValues+  = lens _ivValues (\ s a -> s{_ivValues = a}) .+      _Default+      . _Coerce++instance FromJSON IntegerValues where+        parseJSON+          = withObject "IntegerValues"+              (\ o ->+                 IntegerValues' <$> (o .:? "values" .!= mempty))++instance ToJSON IntegerValues where+        toJSON IntegerValues'{..}+          = object (catMaybes [("values" .=) <$> _ivValues])++--+-- /See:/ 'searchItemsByViewURLResponse' smart constructor.+data SearchItemsByViewURLResponse = SearchItemsByViewURLResponse'+    { _sibvurNextPageToken :: !(Maybe Text)+    , _sibvurItems         :: !(Maybe [Item])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchItemsByViewURLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sibvurNextPageToken'+--+-- * 'sibvurItems'+searchItemsByViewURLResponse+    :: SearchItemsByViewURLResponse+searchItemsByViewURLResponse =+    SearchItemsByViewURLResponse'+    { _sibvurNextPageToken = Nothing+    , _sibvurItems = Nothing+    }++-- | Token to retrieve the next page of results, or empty if there are no+-- more results in the list.+sibvurNextPageToken :: Lens' SearchItemsByViewURLResponse (Maybe Text)+sibvurNextPageToken+  = lens _sibvurNextPageToken+      (\ s a -> s{_sibvurNextPageToken = a})++sibvurItems :: Lens' SearchItemsByViewURLResponse [Item]+sibvurItems+  = lens _sibvurItems (\ s a -> s{_sibvurItems = a}) .+      _Default+      . _Coerce++instance FromJSON SearchItemsByViewURLResponse where+        parseJSON+          = withObject "SearchItemsByViewURLResponse"+              (\ o ->+                 SearchItemsByViewURLResponse' <$>+                   (o .:? "nextPageToken") <*>+                     (o .:? "items" .!= mempty))++instance ToJSON SearchItemsByViewURLResponse where+        toJSON SearchItemsByViewURLResponse'{..}+          = object+              (catMaybes+                 [("nextPageToken" .=) <$> _sibvurNextPageToken,+                  ("items" .=) <$> _sibvurItems])++--+-- /See:/ 'getCustomerIndexStatsResponse' smart constructor.+newtype GetCustomerIndexStatsResponse = GetCustomerIndexStatsResponse'+    { _gcisrStats :: Maybe [CustomerIndexStats]+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetCustomerIndexStatsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcisrStats'+getCustomerIndexStatsResponse+    :: GetCustomerIndexStatsResponse+getCustomerIndexStatsResponse =+    GetCustomerIndexStatsResponse'+    { _gcisrStats = Nothing+    }++-- | Summary of indexed item counts, one for each day in the requested range.+gcisrStats :: Lens' GetCustomerIndexStatsResponse [CustomerIndexStats]+gcisrStats+  = lens _gcisrStats (\ s a -> s{_gcisrStats = a}) .+      _Default+      . _Coerce++instance FromJSON GetCustomerIndexStatsResponse where+        parseJSON+          = withObject "GetCustomerIndexStatsResponse"+              (\ o ->+                 GetCustomerIndexStatsResponse' <$>+                   (o .:? "stats" .!= mempty))++instance ToJSON GetCustomerIndexStatsResponse where+        toJSON GetCustomerIndexStatsResponse'{..}+          = object (catMaybes [("stats" .=) <$> _gcisrStats])++-- | Information relevant only to a restrict entry. NextId: 7+--+-- /See:/ 'restrictItem' smart constructor.+data RestrictItem = RestrictItem'+    { _riDriveLocationRestrict :: !(Maybe DriveLocationRestrict)+    , _riDriveTimeSpanRestrict :: !(Maybe DriveTimeSpanRestrict)+    , _riDriveMimeTypeRestrict :: !(Maybe DriveMimeTypeRestrict)+    , _riDriveFollowUpRestrict :: !(Maybe DriveFollowUpRestrict)+    , _riSearchOperator        :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RestrictItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riDriveLocationRestrict'+--+-- * 'riDriveTimeSpanRestrict'+--+-- * 'riDriveMimeTypeRestrict'+--+-- * 'riDriveFollowUpRestrict'+--+-- * 'riSearchOperator'+restrictItem+    :: RestrictItem+restrictItem =+    RestrictItem'+    { _riDriveLocationRestrict = Nothing+    , _riDriveTimeSpanRestrict = Nothing+    , _riDriveMimeTypeRestrict = Nothing+    , _riDriveFollowUpRestrict = Nothing+    , _riSearchOperator = Nothing+    }++riDriveLocationRestrict :: Lens' RestrictItem (Maybe DriveLocationRestrict)+riDriveLocationRestrict+  = lens _riDriveLocationRestrict+      (\ s a -> s{_riDriveLocationRestrict = a})++riDriveTimeSpanRestrict :: Lens' RestrictItem (Maybe DriveTimeSpanRestrict)+riDriveTimeSpanRestrict+  = lens _riDriveTimeSpanRestrict+      (\ s a -> s{_riDriveTimeSpanRestrict = a})++riDriveMimeTypeRestrict :: Lens' RestrictItem (Maybe DriveMimeTypeRestrict)+riDriveMimeTypeRestrict+  = lens _riDriveMimeTypeRestrict+      (\ s a -> s{_riDriveMimeTypeRestrict = a})++riDriveFollowUpRestrict :: Lens' RestrictItem (Maybe DriveFollowUpRestrict)+riDriveFollowUpRestrict+  = lens _riDriveFollowUpRestrict+      (\ s a -> s{_riDriveFollowUpRestrict = a})++-- | The search restrict (e.g. \"after:2017-09-11 before:2017-09-12\").+riSearchOperator :: Lens' RestrictItem (Maybe Text)+riSearchOperator+  = lens _riSearchOperator+      (\ s a -> s{_riSearchOperator = a})++instance FromJSON RestrictItem where+        parseJSON+          = withObject "RestrictItem"+              (\ o ->+                 RestrictItem' <$>+                   (o .:? "driveLocationRestrict") <*>+                     (o .:? "driveTimeSpanRestrict")+                     <*> (o .:? "driveMimeTypeRestrict")+                     <*> (o .:? "driveFollowUpRestrict")+                     <*> (o .:? "searchOperator"))++instance ToJSON RestrictItem where+        toJSON RestrictItem'{..}+          = object+              (catMaybes+                 [("driveLocationRestrict" .=) <$>+                    _riDriveLocationRestrict,+                  ("driveTimeSpanRestrict" .=) <$>+                    _riDriveTimeSpanRestrict,+                  ("driveMimeTypeRestrict" .=) <$>+                    _riDriveMimeTypeRestrict,+                  ("driveFollowUpRestrict" .=) <$>+                    _riDriveFollowUpRestrict,+                  ("searchOperator" .=) <$> _riSearchOperator])++--+-- /See:/ 'checkAccessResponse' smart constructor.+newtype CheckAccessResponse = CheckAccessResponse'+    { _carHasAccess :: Maybe Bool+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CheckAccessResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'carHasAccess'+checkAccessResponse+    :: CheckAccessResponse+checkAccessResponse =+    CheckAccessResponse'+    { _carHasAccess = Nothing+    }++-- | Returns true if principal has access. Returns false otherwise.+carHasAccess :: Lens' CheckAccessResponse (Maybe Bool)+carHasAccess+  = lens _carHasAccess (\ s a -> s{_carHasAccess = a})++instance FromJSON CheckAccessResponse where+        parseJSON+          = withObject "CheckAccessResponse"+              (\ o -> CheckAccessResponse' <$> (o .:? "hasAccess"))++instance ToJSON CheckAccessResponse where+        toJSON CheckAccessResponse'{..}+          = object+              (catMaybes [("hasAccess" .=) <$> _carHasAccess])++-- | Shared request options for all RPC methods.+--+-- /See:/ 'requestOptions' smart constructor.+data RequestOptions = RequestOptions'+    { _roLanguageCode        :: !(Maybe Text)+    , _roDebugOptions        :: !(Maybe DebugOptions)+    , _roTimeZone            :: !(Maybe Text)+    , _roSearchApplicationId :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'roLanguageCode'+--+-- * 'roDebugOptions'+--+-- * 'roTimeZone'+--+-- * 'roSearchApplicationId'+requestOptions+    :: RequestOptions+requestOptions =+    RequestOptions'+    { _roLanguageCode = Nothing+    , _roDebugOptions = Nothing+    , _roTimeZone = Nothing+    , _roSearchApplicationId = Nothing+    }++-- | The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more+-- information, see+-- http:\/\/www.unicode.org\/reports\/tr35\/#Unicode_locale_identifier. For+-- translations.+roLanguageCode :: Lens' RequestOptions (Maybe Text)+roLanguageCode+  = lens _roLanguageCode+      (\ s a -> s{_roLanguageCode = a})++-- | Debug options of the request+roDebugOptions :: Lens' RequestOptions (Maybe DebugOptions)+roDebugOptions+  = lens _roDebugOptions+      (\ s a -> s{_roDebugOptions = a})++-- | Current user\'s time zone id, such as \"America\/Los_Angeles\" or+-- \"Australia\/Sydney\". These IDs are defined by [Unicode Common Locale+-- Data Repository (CLDR)](http:\/\/cldr.unicode.org\/) project, and+-- currently available in the file+-- [timezone.xml](http:\/\/unicode.org\/repos\/cldr\/trunk\/common\/bcp47\/timezone.xml)+roTimeZone :: Lens' RequestOptions (Maybe Text)+roTimeZone+  = lens _roTimeZone (\ s a -> s{_roTimeZone = a})++-- | Id of the application created using SearchApplicationsService.+roSearchApplicationId :: Lens' RequestOptions (Maybe Text)+roSearchApplicationId+  = lens _roSearchApplicationId+      (\ s a -> s{_roSearchApplicationId = a})++instance FromJSON RequestOptions where+        parseJSON+          = withObject "RequestOptions"+              (\ o ->+                 RequestOptions' <$>+                   (o .:? "languageCode") <*> (o .:? "debugOptions") <*>+                     (o .:? "timeZone")+                     <*> (o .:? "searchApplicationId"))++instance ToJSON RequestOptions where+        toJSON RequestOptions'{..}+          = object+              (catMaybes+                 [("languageCode" .=) <$> _roLanguageCode,+                  ("debugOptions" .=) <$> _roDebugOptions,+                  ("timeZone" .=) <$> _roTimeZone,+                  ("searchApplicationId" .=) <$>+                    _roSearchApplicationId])++-- | This contains item\'s status and any errors.+--+-- /See:/ 'itemStatus' smart constructor.+data ItemStatus = ItemStatus'+    { _isProcessingErrors :: !(Maybe [ProcessingError])+    , _isCode             :: !(Maybe ItemStatusCode)+    , _isRepositoryErrors :: !(Maybe [RepositoryError])+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ItemStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isProcessingErrors'+--+-- * 'isCode'+--+-- * 'isRepositoryErrors'+itemStatus+    :: ItemStatus+itemStatus =+    ItemStatus'+    { _isProcessingErrors = Nothing+    , _isCode = Nothing+    , _isRepositoryErrors = Nothing+    }++-- | Error details in case the item is in ERROR state.+isProcessingErrors :: Lens' ItemStatus [ProcessingError]+isProcessingErrors+  = lens _isProcessingErrors+      (\ s a -> s{_isProcessingErrors = a})+      . _Default+      . _Coerce++-- | Status code.+isCode :: Lens' ItemStatus (Maybe ItemStatusCode)+isCode = lens _isCode (\ s a -> s{_isCode = a})++-- | Repository error reported by connector.+isRepositoryErrors :: Lens' ItemStatus [RepositoryError]+isRepositoryErrors+  = lens _isRepositoryErrors+      (\ s a -> s{_isRepositoryErrors = a})+      . _Default+      . _Coerce++instance FromJSON ItemStatus where+        parseJSON+          = withObject "ItemStatus"+              (\ o ->+                 ItemStatus' <$>+                   (o .:? "processingErrors" .!= mempty) <*>+                     (o .:? "code")+                     <*> (o .:? "repositoryErrors" .!= mempty))++instance ToJSON ItemStatus where+        toJSON ItemStatus'{..}+          = object+              (catMaybes+                 [("processingErrors" .=) <$> _isProcessingErrors,+                  ("code" .=) <$> _isCode,+                  ("repositoryErrors" .=) <$> _isRepositoryErrors])
+ gen/Network/Google/CloudSearch/Types/Sum.hs view
@@ -0,0 +1,1113 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Network.Google.CloudSearch.Types.Sum+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.CloudSearch.Types.Sum where++import           Network.Google.Prelude hiding (Bytes)++data DriveMimeTypeRestrictType+    = Unspecified+      -- ^ @UNSPECIFIED@+    | Pdf+      -- ^ @PDF@+    | Document+      -- ^ @DOCUMENT@+    | Presentation+      -- ^ @PRESENTATION@+    | Spreadsheet+      -- ^ @SPREADSHEET@+    | Form+      -- ^ @FORM@+    | Drawing+      -- ^ @DRAWING@+    | Script+      -- ^ @SCRIPT@+    | Map+      -- ^ @MAP@+    | Image+      -- ^ @IMAGE@+    | Audio+      -- ^ @AUDIO@+    | Video+      -- ^ @VIDEO@+    | Folder+      -- ^ @FOLDER@+    | Archive+      -- ^ @ARCHIVE@+    | Site+      -- ^ @SITE@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DriveMimeTypeRestrictType++instance FromHttpApiData DriveMimeTypeRestrictType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right Unspecified+        "PDF" -> Right Pdf+        "DOCUMENT" -> Right Document+        "PRESENTATION" -> Right Presentation+        "SPREADSHEET" -> Right Spreadsheet+        "FORM" -> Right Form+        "DRAWING" -> Right Drawing+        "SCRIPT" -> Right Script+        "MAP" -> Right Map+        "IMAGE" -> Right Image+        "AUDIO" -> Right Audio+        "VIDEO" -> Right Video+        "FOLDER" -> Right Folder+        "ARCHIVE" -> Right Archive+        "SITE" -> Right Site+        x -> Left ("Unable to parse DriveMimeTypeRestrictType from: " <> x)++instance ToHttpApiData DriveMimeTypeRestrictType where+    toQueryParam = \case+        Unspecified -> "UNSPECIFIED"+        Pdf -> "PDF"+        Document -> "DOCUMENT"+        Presentation -> "PRESENTATION"+        Spreadsheet -> "SPREADSHEET"+        Form -> "FORM"+        Drawing -> "DRAWING"+        Script -> "SCRIPT"+        Map -> "MAP"+        Image -> "IMAGE"+        Audio -> "AUDIO"+        Video -> "VIDEO"+        Folder -> "FOLDER"+        Archive -> "ARCHIVE"+        Site -> "SITE"++instance FromJSON DriveMimeTypeRestrictType where+    parseJSON = parseJSONText "DriveMimeTypeRestrictType"++instance ToJSON DriveMimeTypeRestrictType where+    toJSON = toJSONText++data DriveFollowUpRestrictType+    = DFURTUnspecified+      -- ^ @UNSPECIFIED@+    | DFURTFollowupSuggestions+      -- ^ @FOLLOWUP_SUGGESTIONS@+    | DFURTFollowupActionItems+      -- ^ @FOLLOWUP_ACTION_ITEMS@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DriveFollowUpRestrictType++instance FromHttpApiData DriveFollowUpRestrictType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right DFURTUnspecified+        "FOLLOWUP_SUGGESTIONS" -> Right DFURTFollowupSuggestions+        "FOLLOWUP_ACTION_ITEMS" -> Right DFURTFollowupActionItems+        x -> Left ("Unable to parse DriveFollowUpRestrictType from: " <> x)++instance ToHttpApiData DriveFollowUpRestrictType where+    toQueryParam = \case+        DFURTUnspecified -> "UNSPECIFIED"+        DFURTFollowupSuggestions -> "FOLLOWUP_SUGGESTIONS"+        DFURTFollowupActionItems -> "FOLLOWUP_ACTION_ITEMS"++instance FromJSON DriveFollowUpRestrictType where+    parseJSON = parseJSONText "DriveFollowUpRestrictType"++instance ToJSON DriveFollowUpRestrictType where+    toJSON = toJSONText++-- | Status code.+data ItemStatusCode+    = CodeUnspecified+      -- ^ @CODE_UNSPECIFIED@+      -- Input-only value. Used with Items.list to list all items in the queue,+      -- regardless of status.+    | Error'+      -- ^ @ERROR@+      -- Error encountered by Cloud Search while processing this item. Details of+      -- the error are in repositoryError.+    | Modified+      -- ^ @MODIFIED@+      -- Item has been modified in the repository, and is out of date with the+      -- version previously accepted into Cloud Search.+    | NewItem+      -- ^ @NEW_ITEM@+      -- Item is known to exist in the repository, but is not yet accepted by+      -- Cloud Search. An item can be in this state when Items.push has been+      -- called for an item of this name that did not exist previously.+    | Accepted+      -- ^ @ACCEPTED@+      -- API has accepted the up-to-date data of this item.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ItemStatusCode++instance FromHttpApiData ItemStatusCode where+    parseQueryParam = \case+        "CODE_UNSPECIFIED" -> Right CodeUnspecified+        "ERROR" -> Right Error'+        "MODIFIED" -> Right Modified+        "NEW_ITEM" -> Right NewItem+        "ACCEPTED" -> Right Accepted+        x -> Left ("Unable to parse ItemStatusCode from: " <> x)++instance ToHttpApiData ItemStatusCode where+    toQueryParam = \case+        CodeUnspecified -> "CODE_UNSPECIFIED"+        Error' -> "ERROR"+        Modified -> "MODIFIED"+        NewItem -> "NEW_ITEM"+        Accepted -> "ACCEPTED"++instance FromJSON ItemStatusCode where+    parseJSON = parseJSONText "ItemStatusCode"++instance ToJSON ItemStatusCode where+    toJSON = toJSONText++data QueryInterpretationInterpretationType+    = None+      -- ^ @NONE@+      -- No natural language interpretation or the natural language+      -- interpretation is not used to fetch the search results.+    | Blend+      -- ^ @BLEND@+      -- The natural language results is mixed with results from original query.+    | Replace+      -- ^ @REPLACE@+      -- The results only contain natural language results.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable QueryInterpretationInterpretationType++instance FromHttpApiData QueryInterpretationInterpretationType where+    parseQueryParam = \case+        "NONE" -> Right None+        "BLEND" -> Right Blend+        "REPLACE" -> Right Replace+        x -> Left ("Unable to parse QueryInterpretationInterpretationType from: " <> x)++instance ToHttpApiData QueryInterpretationInterpretationType where+    toQueryParam = \case+        None -> "NONE"+        Blend -> "BLEND"+        Replace -> "REPLACE"++instance FromJSON QueryInterpretationInterpretationType where+    parseJSON = parseJSONText "QueryInterpretationInterpretationType"++instance ToJSON QueryInterpretationInterpretationType where+    toJSON = toJSONText++data InteractionType+    = ITUnspecified+      -- ^ @UNSPECIFIED@+      -- Invalid value.+    | ITView+      -- ^ @VIEW@+      -- This interaction indicates the user viewed the item.+    | ITEdit+      -- ^ @EDIT@+      -- This interaction indicates the user edited the item.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InteractionType++instance FromHttpApiData InteractionType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right ITUnspecified+        "VIEW" -> Right ITView+        "EDIT" -> Right ITEdit+        x -> Left ("Unable to parse InteractionType from: " <> x)++instance ToHttpApiData InteractionType where+    toQueryParam = \case+        ITUnspecified -> "UNSPECIFIED"+        ITView -> "VIEW"+        ITEdit -> "EDIT"++instance FromJSON InteractionType where+    parseJSON = parseJSONText "InteractionType"++instance ToJSON InteractionType where+    toJSON = toJSONText++-- | Type of the operator.+data QueryOperatorType+    = QOTUnknown+      -- ^ @UNKNOWN@+      -- Invalid value.+    | QOTInteger+      -- ^ @INTEGER@+    | QOTDouble+      -- ^ @DOUBLE@+    | QOTTimestamp+      -- ^ @TIMESTAMP@+    | QOTBoolean+      -- ^ @BOOLEAN@+    | QOTEnum'+      -- ^ @ENUM@+    | QOTDate+      -- ^ @DATE@+    | QOTText+      -- ^ @TEXT@+    | QOTHTML+      -- ^ @HTML@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable QueryOperatorType++instance FromHttpApiData QueryOperatorType where+    parseQueryParam = \case+        "UNKNOWN" -> Right QOTUnknown+        "INTEGER" -> Right QOTInteger+        "DOUBLE" -> Right QOTDouble+        "TIMESTAMP" -> Right QOTTimestamp+        "BOOLEAN" -> Right QOTBoolean+        "ENUM" -> Right QOTEnum'+        "DATE" -> Right QOTDate+        "TEXT" -> Right QOTText+        "HTML" -> Right QOTHTML+        x -> Left ("Unable to parse QueryOperatorType from: " <> x)++instance ToHttpApiData QueryOperatorType where+    toQueryParam = \case+        QOTUnknown -> "UNKNOWN"+        QOTInteger -> "INTEGER"+        QOTDouble -> "DOUBLE"+        QOTTimestamp -> "TIMESTAMP"+        QOTBoolean -> "BOOLEAN"+        QOTEnum' -> "ENUM"+        QOTDate -> "DATE"+        QOTText -> "TEXT"+        QOTHTML -> "HTML"++instance FromJSON QueryOperatorType where+    parseJSON = parseJSONText "QueryOperatorType"++instance ToJSON QueryOperatorType where+    toJSON = toJSONText++-- | Used to specify the ordered ranking for the enumeration that determines+-- how the integer values provided in the possible EnumValuePairs are used+-- to rank results. If specified, integer values must be provided for all+-- possible EnumValuePair values given for this property. Can only be used+-- if isRepeatable is false.+data EnumPropertyOptionsOrderedRanking+    = NoOrder+      -- ^ @NO_ORDER@+      -- There is no ranking order for the property. Results will not be adjusted+      -- by this property\'s value.+    | Ascending+      -- ^ @ASCENDING@+      -- This property is ranked in ascending order. Lower values indicate lower+      -- ranking.+    | Descending+      -- ^ @DESCENDING@+      -- This property is ranked in descending order. Lower values indicate+      -- higher ranking.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable EnumPropertyOptionsOrderedRanking++instance FromHttpApiData EnumPropertyOptionsOrderedRanking where+    parseQueryParam = \case+        "NO_ORDER" -> Right NoOrder+        "ASCENDING" -> Right Ascending+        "DESCENDING" -> Right Descending+        x -> Left ("Unable to parse EnumPropertyOptionsOrderedRanking from: " <> x)++instance ToHttpApiData EnumPropertyOptionsOrderedRanking where+    toQueryParam = \case+        NoOrder -> "NO_ORDER"+        Ascending -> "ASCENDING"+        Descending -> "DESCENDING"++instance FromJSON EnumPropertyOptionsOrderedRanking where+    parseJSON = parseJSONText "EnumPropertyOptionsOrderedRanking"++instance ToJSON EnumPropertyOptionsOrderedRanking where+    toJSON = toJSONText++-- | Used to specify the ordered ranking for the integer. Can only be used if+-- isRepeatable is false.+data IntegerPropertyOptionsOrderedRanking+    = IPOORNoOrder+      -- ^ @NO_ORDER@+      -- There is no ranking order for the property. Results will not be adjusted+      -- by this property\'s value.+    | IPOORAscending+      -- ^ @ASCENDING@+      -- This property is ranked in ascending order. Lower values indicate lower+      -- ranking.+    | IPOORDescending+      -- ^ @DESCENDING@+      -- This property is ranked in descending order. Lower values indicate+      -- higher ranking.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable IntegerPropertyOptionsOrderedRanking++instance FromHttpApiData IntegerPropertyOptionsOrderedRanking where+    parseQueryParam = \case+        "NO_ORDER" -> Right IPOORNoOrder+        "ASCENDING" -> Right IPOORAscending+        "DESCENDING" -> Right IPOORDescending+        x -> Left ("Unable to parse IntegerPropertyOptionsOrderedRanking from: " <> x)++instance ToHttpApiData IntegerPropertyOptionsOrderedRanking where+    toQueryParam = \case+        IPOORNoOrder -> "NO_ORDER"+        IPOORAscending -> "ASCENDING"+        IPOORDescending -> "DESCENDING"++instance FromJSON IntegerPropertyOptionsOrderedRanking where+    parseJSON = parseJSONText "IntegerPropertyOptionsOrderedRanking"++instance ToJSON IntegerPropertyOptionsOrderedRanking where+    toJSON = toJSONText++-- | The type of the push operation that defines the push behavior.+data PushItemType+    = PITUnspecified+      -- ^ @UNSPECIFIED@+      -- Default UNSPECIFIED. Specifies that the push operation should not modify+      -- ItemStatus+    | PITModified+      -- ^ @MODIFIED@+      -- Indicates that the repository document has been modified or updated+      -- since the previous update call. This changes status to MODIFIED state+      -- for an existing item. If this is called on a non existing item, the+      -- status is changed to NEW_ITEM.+    | PITNotModified+      -- ^ @NOT_MODIFIED@+      -- Item in the repository has not been modified since the last update call.+      -- This push operation will set status to ACCEPTED state.+    | PITRepositoryError+      -- ^ @REPOSITORY_ERROR@+      -- Connector is facing a repository error regarding this item. Change+      -- status to REPOSITORY_ERROR state. Item is unreserved and rescheduled at+      -- a future time determined by exponential backoff.+    | PITReQueue+      -- ^ @REQUEUE@+      -- Call push with REQUEUE only for items that have been reserved. This+      -- action unreserves the item and resets its available time to the wall+      -- clock time.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PushItemType++instance FromHttpApiData PushItemType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right PITUnspecified+        "MODIFIED" -> Right PITModified+        "NOT_MODIFIED" -> Right PITNotModified+        "REPOSITORY_ERROR" -> Right PITRepositoryError+        "REQUEUE" -> Right PITReQueue+        x -> Left ("Unable to parse PushItemType from: " <> x)++instance ToHttpApiData PushItemType where+    toQueryParam = \case+        PITUnspecified -> "UNSPECIFIED"+        PITModified -> "MODIFIED"+        PITNotModified -> "NOT_MODIFIED"+        PITRepositoryError -> "REPOSITORY_ERROR"+        PITReQueue -> "REQUEUE"++instance FromJSON PushItemType where+    parseJSON = parseJSONText "PushItemType"++instance ToJSON PushItemType where+    toJSON = toJSONText++-- | The logic operator of the sub filter.+data CompositeFilterLogicOperator+    = And+      -- ^ @AND@+      -- Logical operators, which can only be applied to sub filters.+    | OR+      -- ^ @OR@+    | Not+      -- ^ @NOT@+      -- NOT can only be applied on a single sub filter.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CompositeFilterLogicOperator++instance FromHttpApiData CompositeFilterLogicOperator where+    parseQueryParam = \case+        "AND" -> Right And+        "OR" -> Right OR+        "NOT" -> Right Not+        x -> Left ("Unable to parse CompositeFilterLogicOperator from: " <> x)++instance ToHttpApiData CompositeFilterLogicOperator where+    toQueryParam = \case+        And -> "AND"+        OR -> "OR"+        Not -> "NOT"++instance FromJSON CompositeFilterLogicOperator where+    parseJSON = parseJSONText "CompositeFilterLogicOperator"++instance ToJSON CompositeFilterLogicOperator where+    toJSON = toJSONText++-- | Importance of the source.+data SourceScoringConfigSourceImportance+    = Default+      -- ^ @DEFAULT@+    | Low+      -- ^ @LOW@+    | High+      -- ^ @HIGH@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SourceScoringConfigSourceImportance++instance FromHttpApiData SourceScoringConfigSourceImportance where+    parseQueryParam = \case+        "DEFAULT" -> Right Default+        "LOW" -> Right Low+        "HIGH" -> Right High+        x -> Left ("Unable to parse SourceScoringConfigSourceImportance from: " <> x)++instance ToHttpApiData SourceScoringConfigSourceImportance where+    toQueryParam = \case+        Default -> "DEFAULT"+        Low -> "LOW"+        High -> "HIGH"++instance FromJSON SourceScoringConfigSourceImportance where+    parseJSON = parseJSONText "SourceScoringConfigSourceImportance"++instance ToJSON SourceScoringConfigSourceImportance where+    toJSON = toJSONText++-- | Indicates the ranking importance given to property when it is matched+-- during retrieval. Once set, the token importance of a property cannot be+-- changed.+data RetrievalImportanceImportance+    = RIIDefault+      -- ^ @DEFAULT@+      -- Treat the match like a body text match.+    | RIIHighest+      -- ^ @HIGHEST@+      -- Treat the match like a match against title of the item.+    | RIIHigh+      -- ^ @HIGH@+      -- Treat the match with higher importance than body text.+    | RIILow+      -- ^ @LOW@+      -- Treat the match with lower importance than body text.+    | RIINone+      -- ^ @NONE@+      -- Do not match against this field during retrieval. The property can still+      -- be used for operator matching, faceting, and suggest if desired.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RetrievalImportanceImportance++instance FromHttpApiData RetrievalImportanceImportance where+    parseQueryParam = \case+        "DEFAULT" -> Right RIIDefault+        "HIGHEST" -> Right RIIHighest+        "HIGH" -> Right RIIHigh+        "LOW" -> Right RIILow+        "NONE" -> Right RIINone+        x -> Left ("Unable to parse RetrievalImportanceImportance from: " <> x)++instance ToHttpApiData RetrievalImportanceImportance where+    toQueryParam = \case+        RIIDefault -> "DEFAULT"+        RIIHighest -> "HIGHEST"+        RIIHigh -> "HIGH"+        RIILow -> "LOW"+        RIINone -> "NONE"++instance FromJSON RetrievalImportanceImportance where+    parseJSON = parseJSONText "RetrievalImportanceImportance"++instance ToJSON RetrievalImportanceImportance where+    toJSON = toJSONText++-- | Error code indicating the nature of the error.+data ProcessingErrorCode+    = ProcessingErrorCodeUnspecified+      -- ^ @PROCESSING_ERROR_CODE_UNSPECIFIED@+      -- Input only value. Use this value in Items.+    | MalformedRequest+      -- ^ @MALFORMED_REQUEST@+      -- Item\'s ACL, metadata, or content is malformed or in invalid state.+      -- FieldViolations contains more details on where the problem is.+    | UnsupportedContentFormat+      -- ^ @UNSUPPORTED_CONTENT_FORMAT@+      -- Countent format is unsupported.+    | IndirectBrokenACL+      -- ^ @INDIRECT_BROKEN_ACL@+      -- Items with incomplete ACL information due to inheriting other items with+      -- broken ACL or having groups with unmapped descendants.+    | ACLCycle+      -- ^ @ACL_CYCLE@+      -- ACL inheritance graph formed a cycle.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ProcessingErrorCode++instance FromHttpApiData ProcessingErrorCode where+    parseQueryParam = \case+        "PROCESSING_ERROR_CODE_UNSPECIFIED" -> Right ProcessingErrorCodeUnspecified+        "MALFORMED_REQUEST" -> Right MalformedRequest+        "UNSUPPORTED_CONTENT_FORMAT" -> Right UnsupportedContentFormat+        "INDIRECT_BROKEN_ACL" -> Right IndirectBrokenACL+        "ACL_CYCLE" -> Right ACLCycle+        x -> Left ("Unable to parse ProcessingErrorCode from: " <> x)++instance ToHttpApiData ProcessingErrorCode where+    toQueryParam = \case+        ProcessingErrorCodeUnspecified -> "PROCESSING_ERROR_CODE_UNSPECIFIED"+        MalformedRequest -> "MALFORMED_REQUEST"+        UnsupportedContentFormat -> "UNSUPPORTED_CONTENT_FORMAT"+        IndirectBrokenACL -> "INDIRECT_BROKEN_ACL"+        ACLCycle -> "ACL_CYCLE"++instance FromJSON ProcessingErrorCode where+    parseJSON = parseJSONText "ProcessingErrorCode"++instance ToJSON ProcessingErrorCode where+    toJSON = toJSONText++-- | Ascending is the default sort order+data SortOptionsSortOrder+    = SOSOAscending+      -- ^ @ASCENDING@+    | SOSODescending+      -- ^ @DESCENDING@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SortOptionsSortOrder++instance FromHttpApiData SortOptionsSortOrder where+    parseQueryParam = \case+        "ASCENDING" -> Right SOSOAscending+        "DESCENDING" -> Right SOSODescending+        x -> Left ("Unable to parse SortOptionsSortOrder from: " <> x)++instance ToHttpApiData SortOptionsSortOrder where+    toQueryParam = \case+        SOSOAscending -> "ASCENDING"+        SOSODescending -> "DESCENDING"++instance FromJSON SortOptionsSortOrder where+    parseJSON = parseJSONText "SortOptionsSortOrder"++instance ToJSON SortOptionsSortOrder where+    toJSON = toJSONText++-- | The resolution status for the external identity.+data UnmAppedIdentityResolutionStatusCode+    = UAIRSCCodeUnspecified+      -- ^ @CODE_UNSPECIFIED@+      -- Input-only value. Used to list all unmapped identities regardless of+      -- status.+    | UAIRSCNotFound+      -- ^ @NOT_FOUND@+      -- The unmapped identity was not found in IDaaS, and needs to be provided+      -- by the user.+    | UAIRSCIdentitySourceNotFound+      -- ^ @IDENTITY_SOURCE_NOT_FOUND@+      -- The identity source associated with the identity was either not found or+      -- deleted.+    | UAIRSCIdentitySourceMisConfigured+      -- ^ @IDENTITY_SOURCE_MISCONFIGURED@+      -- IDaaS does not understand the identity source, probably because the+      -- schema was modified in a non compatible way.+    | UAIRSCTooManyMAppingsFound+      -- ^ @TOO_MANY_MAPPINGS_FOUND@+      -- The number of users associated with the external identity is too large.+    | UAIRSCInternalError+      -- ^ @INTERNAL_ERROR@+      -- Internal error.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable UnmAppedIdentityResolutionStatusCode++instance FromHttpApiData UnmAppedIdentityResolutionStatusCode where+    parseQueryParam = \case+        "CODE_UNSPECIFIED" -> Right UAIRSCCodeUnspecified+        "NOT_FOUND" -> Right UAIRSCNotFound+        "IDENTITY_SOURCE_NOT_FOUND" -> Right UAIRSCIdentitySourceNotFound+        "IDENTITY_SOURCE_MISCONFIGURED" -> Right UAIRSCIdentitySourceMisConfigured+        "TOO_MANY_MAPPINGS_FOUND" -> Right UAIRSCTooManyMAppingsFound+        "INTERNAL_ERROR" -> Right UAIRSCInternalError+        x -> Left ("Unable to parse UnmAppedIdentityResolutionStatusCode from: " <> x)++instance ToHttpApiData UnmAppedIdentityResolutionStatusCode where+    toQueryParam = \case+        UAIRSCCodeUnspecified -> "CODE_UNSPECIFIED"+        UAIRSCNotFound -> "NOT_FOUND"+        UAIRSCIdentitySourceNotFound -> "IDENTITY_SOURCE_NOT_FOUND"+        UAIRSCIdentitySourceMisConfigured -> "IDENTITY_SOURCE_MISCONFIGURED"+        UAIRSCTooManyMAppingsFound -> "TOO_MANY_MAPPINGS_FOUND"+        UAIRSCInternalError -> "INTERNAL_ERROR"++instance FromJSON UnmAppedIdentityResolutionStatusCode where+    parseJSON = parseJSONText "UnmAppedIdentityResolutionStatusCode"++instance ToJSON UnmAppedIdentityResolutionStatusCode where+    toJSON = toJSONText++-- | V1 error format.+data Xgafv+    = X1+      -- ^ @1@+      -- v1 error format+    | X2+      -- ^ @2@+      -- v2 error format+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+    parseQueryParam = \case+        "1" -> Right X1+        "2" -> Right X2+        x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+    toQueryParam = \case+        X1 -> "1"+        X2 -> "2"++instance FromJSON Xgafv where+    parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+    toJSON = toJSONText++-- | Type of error.+data RepositoryErrorType+    = Unknown+      -- ^ @UNKNOWN@+      -- Unknown error.+    | NetworkError+      -- ^ @NETWORK_ERROR@+      -- Unknown or unreachable host.+    | DNSError+      -- ^ @DNS_ERROR@+      -- DNS problem, such as the DNS server is not responding.+    | ConnectionError+      -- ^ @CONNECTION_ERROR@+      -- Cannot connect to the repository server.+    | AuthenticationError+      -- ^ @AUTHENTICATION_ERROR@+      -- Failed authentication due to incorrect credentials.+    | AuthorizationError+      -- ^ @AUTHORIZATION_ERROR@+      -- Service account is not authorized for the repository.+    | ServerError+      -- ^ @SERVER_ERROR@+      -- Repository server error.+    | QuotaExceeded+      -- ^ @QUOTA_EXCEEDED@+      -- Quota exceeded.+    | ServiceUnavailable+      -- ^ @SERVICE_UNAVAILABLE@+      -- Server temporarily unavailable.+    | ClientError+      -- ^ @CLIENT_ERROR@+      -- Client-related error, such as an invalid request from the connector to+      -- the repository server.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RepositoryErrorType++instance FromHttpApiData RepositoryErrorType where+    parseQueryParam = \case+        "UNKNOWN" -> Right Unknown+        "NETWORK_ERROR" -> Right NetworkError+        "DNS_ERROR" -> Right DNSError+        "CONNECTION_ERROR" -> Right ConnectionError+        "AUTHENTICATION_ERROR" -> Right AuthenticationError+        "AUTHORIZATION_ERROR" -> Right AuthorizationError+        "SERVER_ERROR" -> Right ServerError+        "QUOTA_EXCEEDED" -> Right QuotaExceeded+        "SERVICE_UNAVAILABLE" -> Right ServiceUnavailable+        "CLIENT_ERROR" -> Right ClientError+        x -> Left ("Unable to parse RepositoryErrorType from: " <> x)++instance ToHttpApiData RepositoryErrorType where+    toQueryParam = \case+        Unknown -> "UNKNOWN"+        NetworkError -> "NETWORK_ERROR"+        DNSError -> "DNS_ERROR"+        ConnectionError -> "CONNECTION_ERROR"+        AuthenticationError -> "AUTHENTICATION_ERROR"+        AuthorizationError -> "AUTHORIZATION_ERROR"+        ServerError -> "SERVER_ERROR"+        QuotaExceeded -> "QUOTA_EXCEEDED"+        ServiceUnavailable -> "SERVICE_UNAVAILABLE"+        ClientError -> "CLIENT_ERROR"++instance FromJSON RepositoryErrorType where+    parseJSON = parseJSONText "RepositoryErrorType"++instance ToJSON RepositoryErrorType where+    toJSON = toJSONText++data DriveLocationRestrictType+    = DLRTUnspecified+      -- ^ @UNSPECIFIED@+    | DLRTTrashed+      -- ^ @TRASHED@+    | DLRTStarred+      -- ^ @STARRED@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DriveLocationRestrictType++instance FromHttpApiData DriveLocationRestrictType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right DLRTUnspecified+        "TRASHED" -> Right DLRTTrashed+        "STARRED" -> Right DLRTStarred+        x -> Left ("Unable to parse DriveLocationRestrictType from: " <> x)++instance ToHttpApiData DriveLocationRestrictType where+    toQueryParam = \case+        DLRTUnspecified -> "UNSPECIFIED"+        DLRTTrashed -> "TRASHED"+        DLRTStarred -> "STARRED"++instance FromJSON DriveLocationRestrictType where+    parseJSON = parseJSONText "DriveLocationRestrictType"++instance ToJSON DriveLocationRestrictType where+    toJSON = toJSONText++-- | Type for this item.+data ItemItemType+    = IITUnspecified+      -- ^ @UNSPECIFIED@+    | IITContentItem+      -- ^ @CONTENT_ITEM@+      -- An item that is indexed for the only purpose of serving information.+      -- These items cannot be referred in containerName or inheritAclFrom+      -- fields.+    | IITContainerItem+      -- ^ @CONTAINER_ITEM@+      -- An item that gets indexed and whose purpose is to supply other items+      -- with ACLs and\/or contain other items.+    | IITVirtualContainerItem+      -- ^ @VIRTUAL_CONTAINER_ITEM@+      -- An item that does not get indexed, but otherwise has the same purpose as+      -- CONTAINER_ITEM.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ItemItemType++instance FromHttpApiData ItemItemType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right IITUnspecified+        "CONTENT_ITEM" -> Right IITContentItem+        "CONTAINER_ITEM" -> Right IITContainerItem+        "VIRTUAL_CONTAINER_ITEM" -> Right IITVirtualContainerItem+        x -> Left ("Unable to parse ItemItemType from: " <> x)++instance ToHttpApiData ItemItemType where+    toQueryParam = \case+        IITUnspecified -> "UNSPECIFIED"+        IITContentItem -> "CONTENT_ITEM"+        IITContainerItem -> "CONTAINER_ITEM"+        IITVirtualContainerItem -> "VIRTUAL_CONTAINER_ITEM"++instance FromJSON ItemItemType where+    parseJSON = parseJSONText "ItemItemType"++instance ToJSON ItemItemType where+    toJSON = toJSONText++-- | Status of the items.+data ItemCountByStatusStatusCode+    = ICBSSCCodeUnspecified+      -- ^ @CODE_UNSPECIFIED@+      -- Input-only value. Used with Items.list to list all items in the queue,+      -- regardless of status.+    | ICBSSCError'+      -- ^ @ERROR@+      -- Error encountered by Cloud Search while processing this item. Details of+      -- the error are in repositoryError.+    | ICBSSCModified+      -- ^ @MODIFIED@+      -- Item has been modified in the repository, and is out of date with the+      -- version previously accepted into Cloud Search.+    | ICBSSCNewItem+      -- ^ @NEW_ITEM@+      -- Item is known to exist in the repository, but is not yet accepted by+      -- Cloud Search. An item can be in this state when Items.push has been+      -- called for an item of this name that did not exist previously.+    | ICBSSCAccepted+      -- ^ @ACCEPTED@+      -- API has accepted the up-to-date data of this item.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ItemCountByStatusStatusCode++instance FromHttpApiData ItemCountByStatusStatusCode where+    parseQueryParam = \case+        "CODE_UNSPECIFIED" -> Right ICBSSCCodeUnspecified+        "ERROR" -> Right ICBSSCError'+        "MODIFIED" -> Right ICBSSCModified+        "NEW_ITEM" -> Right ICBSSCNewItem+        "ACCEPTED" -> Right ICBSSCAccepted+        x -> Left ("Unable to parse ItemCountByStatusStatusCode from: " <> x)++instance ToHttpApiData ItemCountByStatusStatusCode where+    toQueryParam = \case+        ICBSSCCodeUnspecified -> "CODE_UNSPECIFIED"+        ICBSSCError' -> "ERROR"+        ICBSSCModified -> "MODIFIED"+        ICBSSCNewItem -> "NEW_ITEM"+        ICBSSCAccepted -> "ACCEPTED"++instance FromJSON ItemCountByStatusStatusCode where+    parseJSON = parseJSONText "ItemCountByStatusStatusCode"++instance ToJSON ItemCountByStatusStatusCode where+    toJSON = toJSONText++data ItemContentContentFormat+    = ICCFUnspecified+      -- ^ @UNSPECIFIED@+      -- Invalid value.+    | ICCFHTML+      -- ^ @HTML@+      -- contentFormat is HTML.+    | ICCFText+      -- ^ @TEXT@+      -- contentFormat is free text.+    | ICCFRaw+      -- ^ @RAW@+      -- contentFormat is raw bytes.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ItemContentContentFormat++instance FromHttpApiData ItemContentContentFormat where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right ICCFUnspecified+        "HTML" -> Right ICCFHTML+        "TEXT" -> Right ICCFText+        "RAW" -> Right ICCFRaw+        x -> Left ("Unable to parse ItemContentContentFormat from: " <> x)++instance ToHttpApiData ItemContentContentFormat where+    toQueryParam = \case+        ICCFUnspecified -> "UNSPECIFIED"+        ICCFHTML -> "HTML"+        ICCFText -> "TEXT"+        ICCFRaw -> "RAW"++instance FromJSON ItemContentContentFormat where+    parseJSON = parseJSONText "ItemContentContentFormat"++instance ToJSON ItemContentContentFormat where+    toJSON = toJSONText++-- | Predefined content source for Google Apps.+data SourcePredefinedSource+    = SPSNone+      -- ^ @NONE@+    | SPSQueryHistory+      -- ^ @QUERY_HISTORY@+      -- Suggests queries issued by the user in the past. Only valid when used+      -- with the suggest API. Ignored when used in the query API.+    | SPSPerson+      -- ^ @PERSON@+      -- Suggests people in the organization. Only valid when used with the+      -- suggest API. Results in an error when used in the query API.+    | SPSGoogleDrive+      -- ^ @GOOGLE_DRIVE@+    | SPSGoogleGmail+      -- ^ @GOOGLE_GMAIL@+    | SPSGoogleSites+      -- ^ @GOOGLE_SITES@+    | SPSGoogleGroups+      -- ^ @GOOGLE_GROUPS@+    | SPSGoogleCalendar+      -- ^ @GOOGLE_CALENDAR@+    | SPSGoogleKeep+      -- ^ @GOOGLE_KEEP@+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SourcePredefinedSource++instance FromHttpApiData SourcePredefinedSource where+    parseQueryParam = \case+        "NONE" -> Right SPSNone+        "QUERY_HISTORY" -> Right SPSQueryHistory+        "PERSON" -> Right SPSPerson+        "GOOGLE_DRIVE" -> Right SPSGoogleDrive+        "GOOGLE_GMAIL" -> Right SPSGoogleGmail+        "GOOGLE_SITES" -> Right SPSGoogleSites+        "GOOGLE_GROUPS" -> Right SPSGoogleGroups+        "GOOGLE_CALENDAR" -> Right SPSGoogleCalendar+        "GOOGLE_KEEP" -> Right SPSGoogleKeep+        x -> Left ("Unable to parse SourcePredefinedSource from: " <> x)++instance ToHttpApiData SourcePredefinedSource where+    toQueryParam = \case+        SPSNone -> "NONE"+        SPSQueryHistory -> "QUERY_HISTORY"+        SPSPerson -> "PERSON"+        SPSGoogleDrive -> "GOOGLE_DRIVE"+        SPSGoogleGmail -> "GOOGLE_GMAIL"+        SPSGoogleSites -> "GOOGLE_SITES"+        SPSGoogleGroups -> "GOOGLE_GROUPS"+        SPSGoogleCalendar -> "GOOGLE_CALENDAR"+        SPSGoogleKeep -> "GOOGLE_KEEP"++instance FromJSON SourcePredefinedSource where+    parseJSON = parseJSONText "SourcePredefinedSource"++instance ToJSON SourcePredefinedSource where+    toJSON = toJSONText++data DriveTimeSpanRestrictType+    = DTSRTUnspecified+      -- ^ @UNSPECIFIED@+    | DTSRTToday+      -- ^ @TODAY@+    | DTSRTYesterday+      -- ^ @YESTERDAY@+    | DTSRTLast7Days+      -- ^ @LAST_7_DAYS@+    | DTSRTLast30Days+      -- ^ @LAST_30_DAYS@+      -- Not Enabled+    | DTSRTLast90Days+      -- ^ @LAST_90_DAYS@+      -- Not Enabled+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DriveTimeSpanRestrictType++instance FromHttpApiData DriveTimeSpanRestrictType where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right DTSRTUnspecified+        "TODAY" -> Right DTSRTToday+        "YESTERDAY" -> Right DTSRTYesterday+        "LAST_7_DAYS" -> Right DTSRTLast7Days+        "LAST_30_DAYS" -> Right DTSRTLast30Days+        "LAST_90_DAYS" -> Right DTSRTLast90Days+        x -> Left ("Unable to parse DriveTimeSpanRestrictType from: " <> x)++instance ToHttpApiData DriveTimeSpanRestrictType where+    toQueryParam = \case+        DTSRTUnspecified -> "UNSPECIFIED"+        DTSRTToday -> "TODAY"+        DTSRTYesterday -> "YESTERDAY"+        DTSRTLast7Days -> "LAST_7_DAYS"+        DTSRTLast30Days -> "LAST_30_DAYS"+        DTSRTLast90Days -> "LAST_90_DAYS"++instance FromJSON DriveTimeSpanRestrictType where+    parseJSON = parseJSONText "DriveTimeSpanRestrictType"++instance ToJSON DriveTimeSpanRestrictType where+    toJSON = toJSONText++-- | Required. The RequestMode for this request.+data IndexItemRequestMode+    = IIRMUnspecified+      -- ^ @UNSPECIFIED@+      -- Priority is not specified in the update request. Leaving priority+      -- unspecified results in an update failure.+    | IIRMSynchronous+      -- ^ @SYNCHRONOUS@+      -- For real-time updates.+    | IIRMAsynchronous+      -- ^ @ASYNCHRONOUS@+      -- For changes that are executed after the response is sent back to the+      -- caller.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable IndexItemRequestMode++instance FromHttpApiData IndexItemRequestMode where+    parseQueryParam = \case+        "UNSPECIFIED" -> Right IIRMUnspecified+        "SYNCHRONOUS" -> Right IIRMSynchronous+        "ASYNCHRONOUS" -> Right IIRMAsynchronous+        x -> Left ("Unable to parse IndexItemRequestMode from: " <> x)++instance ToHttpApiData IndexItemRequestMode where+    toQueryParam = \case+        IIRMUnspecified -> "UNSPECIFIED"+        IIRMSynchronous -> "SYNCHRONOUS"+        IIRMAsynchronous -> "ASYNCHRONOUS"++instance FromJSON IndexItemRequestMode where+    parseJSON = parseJSONText "IndexItemRequestMode"++instance ToJSON IndexItemRequestMode where+    toJSON = toJSONText++-- | Sets the type of access rules to apply when an item inherits its ACL+-- from a parent. This should always be set in tandem with the+-- inheritAclFrom field. Also, when the inheritAclFrom field is set, this+-- field should be set to a valid AclInheritanceType.+data ItemACLACLInheritanceType+    = NotApplicable+      -- ^ @NOT_APPLICABLE@+      -- The default value when this item does not inherit an ACL. Use+      -- NOT_APPLICABLE when inheritAclFrom is empty. An item without ACL+      -- inheritance can still have ACLs supplied by its own readers and+      -- deniedReaders fields.+    | ChildOverride+      -- ^ @CHILD_OVERRIDE@+      -- During an authorization conflict, the ACL of the child item determines+      -- its read access.+    | ParentOverride+      -- ^ @PARENT_OVERRIDE@+      -- During an authorization conflict, the ACL of the parent item specified+      -- in the inheritAclFrom field determines read access.+    | BothPermit+      -- ^ @BOTH_PERMIT@+      -- Access is granted only if this item and the parent item specified in the+      -- inheritAclFrom field both permit read access.+      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ItemACLACLInheritanceType++instance FromHttpApiData ItemACLACLInheritanceType where+    parseQueryParam = \case+        "NOT_APPLICABLE" -> Right NotApplicable+        "CHILD_OVERRIDE" -> Right ChildOverride+        "PARENT_OVERRIDE" -> Right ParentOverride+        "BOTH_PERMIT" -> Right BothPermit+        x -> Left ("Unable to parse ItemACLACLInheritanceType from: " <> x)++instance ToHttpApiData ItemACLACLInheritanceType where+    toQueryParam = \case+        NotApplicable -> "NOT_APPLICABLE"+        ChildOverride -> "CHILD_OVERRIDE"+        ParentOverride -> "PARENT_OVERRIDE"+        BothPermit -> "BOTH_PERMIT"++instance FromJSON ItemACLACLInheritanceType where+    parseJSON = parseJSONText "ItemACLACLInheritanceType"++instance ToJSON ItemACLACLInheritanceType where+    toJSON = toJSONText
+ gen/Network/Google/Resource/CloudSearch/Debug/Datasources/Items/CheckAccess.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Debug.Datasources.Items.CheckAccess+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks whether an item is accessible by specified principal.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.debug.datasources.items.checkAccess@.+module Network.Google.Resource.CloudSearch.Debug.Datasources.Items.CheckAccess+    (+    -- * REST Resource+      DebugDatasourcesItemsCheckAccessResource++    -- * Creating a Request+    , debugDatasourcesItemsCheckAccess+    , DebugDatasourcesItemsCheckAccess++    -- * Request Lenses+    , ddicaXgafv+    , ddicaUploadProtocol+    , ddicaAccessToken+    , ddicaUploadType+    , ddicaPayload+    , ddicaName+    , ddicaDebugOptionsEnableDebugging+    , ddicaCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.debug.datasources.items.checkAccess@ method which the+-- 'DebugDatasourcesItemsCheckAccess' request conforms to.+type DebugDatasourcesItemsCheckAccessResource =+     "v1" :>+       "debug" :>+         CaptureMode "name" "checkAccess" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] Principal :>+                           Post '[JSON] CheckAccessResponse++-- | Checks whether an item is accessible by specified principal.+--+-- /See:/ 'debugDatasourcesItemsCheckAccess' smart constructor.+data DebugDatasourcesItemsCheckAccess = DebugDatasourcesItemsCheckAccess'+    { _ddicaXgafv                       :: !(Maybe Xgafv)+    , _ddicaUploadProtocol              :: !(Maybe Text)+    , _ddicaAccessToken                 :: !(Maybe Text)+    , _ddicaUploadType                  :: !(Maybe Text)+    , _ddicaPayload                     :: !Principal+    , _ddicaName                        :: !Text+    , _ddicaDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _ddicaCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DebugDatasourcesItemsCheckAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddicaXgafv'+--+-- * 'ddicaUploadProtocol'+--+-- * 'ddicaAccessToken'+--+-- * 'ddicaUploadType'+--+-- * 'ddicaPayload'+--+-- * 'ddicaName'+--+-- * 'ddicaDebugOptionsEnableDebugging'+--+-- * 'ddicaCallback'+debugDatasourcesItemsCheckAccess+    :: Principal -- ^ 'ddicaPayload'+    -> Text -- ^ 'ddicaName'+    -> DebugDatasourcesItemsCheckAccess+debugDatasourcesItemsCheckAccess pDdicaPayload_ pDdicaName_ =+    DebugDatasourcesItemsCheckAccess'+    { _ddicaXgafv = Nothing+    , _ddicaUploadProtocol = Nothing+    , _ddicaAccessToken = Nothing+    , _ddicaUploadType = Nothing+    , _ddicaPayload = pDdicaPayload_+    , _ddicaName = pDdicaName_+    , _ddicaDebugOptionsEnableDebugging = Nothing+    , _ddicaCallback = Nothing+    }++-- | V1 error format.+ddicaXgafv :: Lens' DebugDatasourcesItemsCheckAccess (Maybe Xgafv)+ddicaXgafv+  = lens _ddicaXgafv (\ s a -> s{_ddicaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ddicaUploadProtocol :: Lens' DebugDatasourcesItemsCheckAccess (Maybe Text)+ddicaUploadProtocol+  = lens _ddicaUploadProtocol+      (\ s a -> s{_ddicaUploadProtocol = a})++-- | OAuth access token.+ddicaAccessToken :: Lens' DebugDatasourcesItemsCheckAccess (Maybe Text)+ddicaAccessToken+  = lens _ddicaAccessToken+      (\ s a -> s{_ddicaAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ddicaUploadType :: Lens' DebugDatasourcesItemsCheckAccess (Maybe Text)+ddicaUploadType+  = lens _ddicaUploadType+      (\ s a -> s{_ddicaUploadType = a})++-- | Multipart request metadata.+ddicaPayload :: Lens' DebugDatasourcesItemsCheckAccess Principal+ddicaPayload+  = lens _ddicaPayload (\ s a -> s{_ddicaPayload = a})++-- | Item name, format: datasources\/{source_id}\/items\/{item_id}+ddicaName :: Lens' DebugDatasourcesItemsCheckAccess Text+ddicaName+  = lens _ddicaName (\ s a -> s{_ddicaName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+ddicaDebugOptionsEnableDebugging :: Lens' DebugDatasourcesItemsCheckAccess (Maybe Bool)+ddicaDebugOptionsEnableDebugging+  = lens _ddicaDebugOptionsEnableDebugging+      (\ s a -> s{_ddicaDebugOptionsEnableDebugging = a})++-- | JSONP+ddicaCallback :: Lens' DebugDatasourcesItemsCheckAccess (Maybe Text)+ddicaCallback+  = lens _ddicaCallback+      (\ s a -> s{_ddicaCallback = a})++instance GoogleRequest+         DebugDatasourcesItemsCheckAccess where+        type Rs DebugDatasourcesItemsCheckAccess =+             CheckAccessResponse+        type Scopes DebugDatasourcesItemsCheckAccess =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.debug"]+        requestClient DebugDatasourcesItemsCheckAccess'{..}+          = go _ddicaName _ddicaXgafv _ddicaUploadProtocol+              _ddicaAccessToken+              _ddicaUploadType+              _ddicaDebugOptionsEnableDebugging+              _ddicaCallback+              (Just AltJSON)+              _ddicaPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy DebugDatasourcesItemsCheckAccessResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Debug/Datasources/Items/SearchByViewURL.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Debug.Datasources.Items.SearchByViewURL+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Fetches the item whose viewUrl exactly matches that of the URL provided+-- in the request.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.debug.datasources.items.searchByViewUrl@.+module Network.Google.Resource.CloudSearch.Debug.Datasources.Items.SearchByViewURL+    (+    -- * REST Resource+      DebugDatasourcesItemsSearchByViewURLResource++    -- * Creating a Request+    , debugDatasourcesItemsSearchByViewURL+    , DebugDatasourcesItemsSearchByViewURL++    -- * Request Lenses+    , ddisbvuXgafv+    , ddisbvuUploadProtocol+    , ddisbvuAccessToken+    , ddisbvuUploadType+    , ddisbvuPayload+    , ddisbvuName+    , ddisbvuCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.debug.datasources.items.searchByViewUrl@ method which the+-- 'DebugDatasourcesItemsSearchByViewURL' request conforms to.+type DebugDatasourcesItemsSearchByViewURLResource =+     "v1" :>+       "debug" :>+         Capture "name" Text :>+           "items:searchByViewUrl" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] SearchItemsByViewURLRequest :>+                           Post '[JSON] SearchItemsByViewURLResponse++-- | Fetches the item whose viewUrl exactly matches that of the URL provided+-- in the request.+--+-- /See:/ 'debugDatasourcesItemsSearchByViewURL' smart constructor.+data DebugDatasourcesItemsSearchByViewURL = DebugDatasourcesItemsSearchByViewURL'+    { _ddisbvuXgafv          :: !(Maybe Xgafv)+    , _ddisbvuUploadProtocol :: !(Maybe Text)+    , _ddisbvuAccessToken    :: !(Maybe Text)+    , _ddisbvuUploadType     :: !(Maybe Text)+    , _ddisbvuPayload        :: !SearchItemsByViewURLRequest+    , _ddisbvuName           :: !Text+    , _ddisbvuCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DebugDatasourcesItemsSearchByViewURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddisbvuXgafv'+--+-- * 'ddisbvuUploadProtocol'+--+-- * 'ddisbvuAccessToken'+--+-- * 'ddisbvuUploadType'+--+-- * 'ddisbvuPayload'+--+-- * 'ddisbvuName'+--+-- * 'ddisbvuCallback'+debugDatasourcesItemsSearchByViewURL+    :: SearchItemsByViewURLRequest -- ^ 'ddisbvuPayload'+    -> Text -- ^ 'ddisbvuName'+    -> DebugDatasourcesItemsSearchByViewURL+debugDatasourcesItemsSearchByViewURL pDdisbvuPayload_ pDdisbvuName_ =+    DebugDatasourcesItemsSearchByViewURL'+    { _ddisbvuXgafv = Nothing+    , _ddisbvuUploadProtocol = Nothing+    , _ddisbvuAccessToken = Nothing+    , _ddisbvuUploadType = Nothing+    , _ddisbvuPayload = pDdisbvuPayload_+    , _ddisbvuName = pDdisbvuName_+    , _ddisbvuCallback = Nothing+    }++-- | V1 error format.+ddisbvuXgafv :: Lens' DebugDatasourcesItemsSearchByViewURL (Maybe Xgafv)+ddisbvuXgafv+  = lens _ddisbvuXgafv (\ s a -> s{_ddisbvuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ddisbvuUploadProtocol :: Lens' DebugDatasourcesItemsSearchByViewURL (Maybe Text)+ddisbvuUploadProtocol+  = lens _ddisbvuUploadProtocol+      (\ s a -> s{_ddisbvuUploadProtocol = a})++-- | OAuth access token.+ddisbvuAccessToken :: Lens' DebugDatasourcesItemsSearchByViewURL (Maybe Text)+ddisbvuAccessToken+  = lens _ddisbvuAccessToken+      (\ s a -> s{_ddisbvuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ddisbvuUploadType :: Lens' DebugDatasourcesItemsSearchByViewURL (Maybe Text)+ddisbvuUploadType+  = lens _ddisbvuUploadType+      (\ s a -> s{_ddisbvuUploadType = a})++-- | Multipart request metadata.+ddisbvuPayload :: Lens' DebugDatasourcesItemsSearchByViewURL SearchItemsByViewURLRequest+ddisbvuPayload+  = lens _ddisbvuPayload+      (\ s a -> s{_ddisbvuPayload = a})++-- | Source name, format: datasources\/{source_id}+ddisbvuName :: Lens' DebugDatasourcesItemsSearchByViewURL Text+ddisbvuName+  = lens _ddisbvuName (\ s a -> s{_ddisbvuName = a})++-- | JSONP+ddisbvuCallback :: Lens' DebugDatasourcesItemsSearchByViewURL (Maybe Text)+ddisbvuCallback+  = lens _ddisbvuCallback+      (\ s a -> s{_ddisbvuCallback = a})++instance GoogleRequest+         DebugDatasourcesItemsSearchByViewURL where+        type Rs DebugDatasourcesItemsSearchByViewURL =+             SearchItemsByViewURLResponse+        type Scopes DebugDatasourcesItemsSearchByViewURL =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.debug"]+        requestClient+          DebugDatasourcesItemsSearchByViewURL'{..}+          = go _ddisbvuName _ddisbvuXgafv+              _ddisbvuUploadProtocol+              _ddisbvuAccessToken+              _ddisbvuUploadType+              _ddisbvuCallback+              (Just AltJSON)+              _ddisbvuPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy DebugDatasourcesItemsSearchByViewURLResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Debug/Datasources/Items/UnmAppedids/List.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Debug.Datasources.Items.UnmAppedids.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all unmapped identities for a specific item.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.debug.datasources.items.unmappedids.list@.+module Network.Google.Resource.CloudSearch.Debug.Datasources.Items.UnmAppedids.List+    (+    -- * REST Resource+      DebugDatasourcesItemsUnmAppedidsListResource++    -- * Creating a Request+    , debugDatasourcesItemsUnmAppedidsList+    , DebugDatasourcesItemsUnmAppedidsList++    -- * Request Lenses+    , ddiualParent+    , ddiualXgafv+    , ddiualUploadProtocol+    , ddiualAccessToken+    , ddiualUploadType+    , ddiualDebugOptionsEnableDebugging+    , ddiualPageToken+    , ddiualPageSize+    , ddiualCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.debug.datasources.items.unmappedids.list@ method which the+-- 'DebugDatasourcesItemsUnmAppedidsList' request conforms to.+type DebugDatasourcesItemsUnmAppedidsListResource =+     "v1" :>+       "debug" :>+         Capture "parent" Text :>+           "unmappedids" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "debugOptions.enableDebugging" Bool :>+                       QueryParam "pageToken" Text :>+                         QueryParam "pageSize" (Textual Int32) :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               Get '[JSON] ListUnmAppedIdentitiesResponse++-- | List all unmapped identities for a specific item.+--+-- /See:/ 'debugDatasourcesItemsUnmAppedidsList' smart constructor.+data DebugDatasourcesItemsUnmAppedidsList = DebugDatasourcesItemsUnmAppedidsList'+    { _ddiualParent                      :: !Text+    , _ddiualXgafv                       :: !(Maybe Xgafv)+    , _ddiualUploadProtocol              :: !(Maybe Text)+    , _ddiualAccessToken                 :: !(Maybe Text)+    , _ddiualUploadType                  :: !(Maybe Text)+    , _ddiualDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _ddiualPageToken                   :: !(Maybe Text)+    , _ddiualPageSize                    :: !(Maybe (Textual Int32))+    , _ddiualCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DebugDatasourcesItemsUnmAppedidsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddiualParent'+--+-- * 'ddiualXgafv'+--+-- * 'ddiualUploadProtocol'+--+-- * 'ddiualAccessToken'+--+-- * 'ddiualUploadType'+--+-- * 'ddiualDebugOptionsEnableDebugging'+--+-- * 'ddiualPageToken'+--+-- * 'ddiualPageSize'+--+-- * 'ddiualCallback'+debugDatasourcesItemsUnmAppedidsList+    :: Text -- ^ 'ddiualParent'+    -> DebugDatasourcesItemsUnmAppedidsList+debugDatasourcesItemsUnmAppedidsList pDdiualParent_ =+    DebugDatasourcesItemsUnmAppedidsList'+    { _ddiualParent = pDdiualParent_+    , _ddiualXgafv = Nothing+    , _ddiualUploadProtocol = Nothing+    , _ddiualAccessToken = Nothing+    , _ddiualUploadType = Nothing+    , _ddiualDebugOptionsEnableDebugging = Nothing+    , _ddiualPageToken = Nothing+    , _ddiualPageSize = Nothing+    , _ddiualCallback = Nothing+    }++-- | The name of the item, in the following format:+-- datasources\/{source_id}\/items\/{ID}+ddiualParent :: Lens' DebugDatasourcesItemsUnmAppedidsList Text+ddiualParent+  = lens _ddiualParent (\ s a -> s{_ddiualParent = a})++-- | V1 error format.+ddiualXgafv :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Xgafv)+ddiualXgafv+  = lens _ddiualXgafv (\ s a -> s{_ddiualXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ddiualUploadProtocol :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Text)+ddiualUploadProtocol+  = lens _ddiualUploadProtocol+      (\ s a -> s{_ddiualUploadProtocol = a})++-- | OAuth access token.+ddiualAccessToken :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Text)+ddiualAccessToken+  = lens _ddiualAccessToken+      (\ s a -> s{_ddiualAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ddiualUploadType :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Text)+ddiualUploadType+  = lens _ddiualUploadType+      (\ s a -> s{_ddiualUploadType = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+ddiualDebugOptionsEnableDebugging :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Bool)+ddiualDebugOptionsEnableDebugging+  = lens _ddiualDebugOptionsEnableDebugging+      (\ s a -> s{_ddiualDebugOptionsEnableDebugging = a})++-- | The next_page_token value returned from a previous List request, if any.+ddiualPageToken :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Text)+ddiualPageToken+  = lens _ddiualPageToken+      (\ s a -> s{_ddiualPageToken = a})++-- | Maximum number of items to fetch in a request. Defaults to 100.+ddiualPageSize :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Int32)+ddiualPageSize+  = lens _ddiualPageSize+      (\ s a -> s{_ddiualPageSize = a})+      . mapping _Coerce++-- | JSONP+ddiualCallback :: Lens' DebugDatasourcesItemsUnmAppedidsList (Maybe Text)+ddiualCallback+  = lens _ddiualCallback+      (\ s a -> s{_ddiualCallback = a})++instance GoogleRequest+         DebugDatasourcesItemsUnmAppedidsList where+        type Rs DebugDatasourcesItemsUnmAppedidsList =+             ListUnmAppedIdentitiesResponse+        type Scopes DebugDatasourcesItemsUnmAppedidsList =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.debug"]+        requestClient+          DebugDatasourcesItemsUnmAppedidsList'{..}+          = go _ddiualParent _ddiualXgafv _ddiualUploadProtocol+              _ddiualAccessToken+              _ddiualUploadType+              _ddiualDebugOptionsEnableDebugging+              _ddiualPageToken+              _ddiualPageSize+              _ddiualCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy DebugDatasourcesItemsUnmAppedidsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Debug/Identitysources/Items/ListForunmAppedidentity.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Debug.Identitysources.Items.ListForunmAppedidentity+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists names of items associated with an unmapped identity.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.debug.identitysources.items.listForunmappedidentity@.+module Network.Google.Resource.CloudSearch.Debug.Identitysources.Items.ListForunmAppedidentity+    (+    -- * REST Resource+      DebugIdentitysourcesItemsListForunmAppedidentityResource++    -- * Creating a Request+    , debugIdentitysourcesItemsListForunmAppedidentity+    , DebugIdentitysourcesItemsListForunmAppedidentity++    -- * Request Lenses+    , diilfaUserResourceName+    , diilfaParent+    , diilfaXgafv+    , diilfaUploadProtocol+    , diilfaGroupResourceName+    , diilfaAccessToken+    , diilfaUploadType+    , diilfaDebugOptionsEnableDebugging+    , diilfaPageToken+    , diilfaPageSize+    , diilfaCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.debug.identitysources.items.listForunmappedidentity@ method which the+-- 'DebugIdentitysourcesItemsListForunmAppedidentity' request conforms to.+type DebugIdentitysourcesItemsListForunmAppedidentityResource+     =+     "v1" :>+       "debug" :>+         Capture "parent" Text :>+           "items:forunmappedidentity" :>+             QueryParam "userResourceName" Text :>+               QueryParam "$.xgafv" Xgafv :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "groupResourceName" Text :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "debugOptions.enableDebugging" Bool :>+                           QueryParam "pageToken" Text :>+                             QueryParam "pageSize" (Textual Int32) :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON]+                                     ListItemNamesForUnmAppedIdentityResponse++-- | Lists names of items associated with an unmapped identity.+--+-- /See:/ 'debugIdentitysourcesItemsListForunmAppedidentity' smart constructor.+data DebugIdentitysourcesItemsListForunmAppedidentity = DebugIdentitysourcesItemsListForunmAppedidentity'+    { _diilfaUserResourceName            :: !(Maybe Text)+    , _diilfaParent                      :: !Text+    , _diilfaXgafv                       :: !(Maybe Xgafv)+    , _diilfaUploadProtocol              :: !(Maybe Text)+    , _diilfaGroupResourceName           :: !(Maybe Text)+    , _diilfaAccessToken                 :: !(Maybe Text)+    , _diilfaUploadType                  :: !(Maybe Text)+    , _diilfaDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _diilfaPageToken                   :: !(Maybe Text)+    , _diilfaPageSize                    :: !(Maybe (Textual Int32))+    , _diilfaCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DebugIdentitysourcesItemsListForunmAppedidentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diilfaUserResourceName'+--+-- * 'diilfaParent'+--+-- * 'diilfaXgafv'+--+-- * 'diilfaUploadProtocol'+--+-- * 'diilfaGroupResourceName'+--+-- * 'diilfaAccessToken'+--+-- * 'diilfaUploadType'+--+-- * 'diilfaDebugOptionsEnableDebugging'+--+-- * 'diilfaPageToken'+--+-- * 'diilfaPageSize'+--+-- * 'diilfaCallback'+debugIdentitysourcesItemsListForunmAppedidentity+    :: Text -- ^ 'diilfaParent'+    -> DebugIdentitysourcesItemsListForunmAppedidentity+debugIdentitysourcesItemsListForunmAppedidentity pDiilfaParent_ =+    DebugIdentitysourcesItemsListForunmAppedidentity'+    { _diilfaUserResourceName = Nothing+    , _diilfaParent = pDiilfaParent_+    , _diilfaXgafv = Nothing+    , _diilfaUploadProtocol = Nothing+    , _diilfaGroupResourceName = Nothing+    , _diilfaAccessToken = Nothing+    , _diilfaUploadType = Nothing+    , _diilfaDebugOptionsEnableDebugging = Nothing+    , _diilfaPageToken = Nothing+    , _diilfaPageSize = Nothing+    , _diilfaCallback = Nothing+    }++diilfaUserResourceName :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaUserResourceName+  = lens _diilfaUserResourceName+      (\ s a -> s{_diilfaUserResourceName = a})++-- | The name of the identity source, in the following format:+-- identitysources\/{source_id}}+diilfaParent :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity Text+diilfaParent+  = lens _diilfaParent (\ s a -> s{_diilfaParent = a})++-- | V1 error format.+diilfaXgafv :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Xgafv)+diilfaXgafv+  = lens _diilfaXgafv (\ s a -> s{_diilfaXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+diilfaUploadProtocol :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaUploadProtocol+  = lens _diilfaUploadProtocol+      (\ s a -> s{_diilfaUploadProtocol = a})++diilfaGroupResourceName :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaGroupResourceName+  = lens _diilfaGroupResourceName+      (\ s a -> s{_diilfaGroupResourceName = a})++-- | OAuth access token.+diilfaAccessToken :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaAccessToken+  = lens _diilfaAccessToken+      (\ s a -> s{_diilfaAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+diilfaUploadType :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaUploadType+  = lens _diilfaUploadType+      (\ s a -> s{_diilfaUploadType = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+diilfaDebugOptionsEnableDebugging :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Bool)+diilfaDebugOptionsEnableDebugging+  = lens _diilfaDebugOptionsEnableDebugging+      (\ s a -> s{_diilfaDebugOptionsEnableDebugging = a})++-- | The next_page_token value returned from a previous List request, if any.+diilfaPageToken :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaPageToken+  = lens _diilfaPageToken+      (\ s a -> s{_diilfaPageToken = a})++-- | Maximum number of items to fetch in a request. Defaults to 100.+diilfaPageSize :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Int32)+diilfaPageSize+  = lens _diilfaPageSize+      (\ s a -> s{_diilfaPageSize = a})+      . mapping _Coerce++-- | JSONP+diilfaCallback :: Lens' DebugIdentitysourcesItemsListForunmAppedidentity (Maybe Text)+diilfaCallback+  = lens _diilfaCallback+      (\ s a -> s{_diilfaCallback = a})++instance GoogleRequest+         DebugIdentitysourcesItemsListForunmAppedidentity+         where+        type Rs+               DebugIdentitysourcesItemsListForunmAppedidentity+             = ListItemNamesForUnmAppedIdentityResponse+        type Scopes+               DebugIdentitysourcesItemsListForunmAppedidentity+             =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.debug"]+        requestClient+          DebugIdentitysourcesItemsListForunmAppedidentity'{..}+          = go _diilfaParent _diilfaUserResourceName+              _diilfaXgafv+              _diilfaUploadProtocol+              _diilfaGroupResourceName+              _diilfaAccessToken+              _diilfaUploadType+              _diilfaDebugOptionsEnableDebugging+              _diilfaPageToken+              _diilfaPageSize+              _diilfaCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           DebugIdentitysourcesItemsListForunmAppedidentityResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Debug/Identitysources/UnmAppedids/List.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Debug.Identitysources.UnmAppedids.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists unmapped user identities for an identity source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.debug.identitysources.unmappedids.list@.+module Network.Google.Resource.CloudSearch.Debug.Identitysources.UnmAppedids.List+    (+    -- * REST Resource+      DebugIdentitysourcesUnmAppedidsListResource++    -- * Creating a Request+    , debugIdentitysourcesUnmAppedidsList+    , DebugIdentitysourcesUnmAppedidsList++    -- * Request Lenses+    , diualParent+    , diualXgafv+    , diualResolutionStatusCode+    , diualUploadProtocol+    , diualAccessToken+    , diualUploadType+    , diualDebugOptionsEnableDebugging+    , diualPageToken+    , diualPageSize+    , diualCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.debug.identitysources.unmappedids.list@ method which the+-- 'DebugIdentitysourcesUnmAppedidsList' request conforms to.+type DebugIdentitysourcesUnmAppedidsListResource =+     "v1" :>+       "debug" :>+         Capture "parent" Text :>+           "unmappedids" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "resolutionStatusCode" Text :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "debugOptions.enableDebugging" Bool :>+                         QueryParam "pageToken" Text :>+                           QueryParam "pageSize" (Textual Int32) :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ListUnmAppedIdentitiesResponse++-- | Lists unmapped user identities for an identity source.+--+-- /See:/ 'debugIdentitysourcesUnmAppedidsList' smart constructor.+data DebugIdentitysourcesUnmAppedidsList = DebugIdentitysourcesUnmAppedidsList'+    { _diualParent                      :: !Text+    , _diualXgafv                       :: !(Maybe Xgafv)+    , _diualResolutionStatusCode        :: !(Maybe Text)+    , _diualUploadProtocol              :: !(Maybe Text)+    , _diualAccessToken                 :: !(Maybe Text)+    , _diualUploadType                  :: !(Maybe Text)+    , _diualDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _diualPageToken                   :: !(Maybe Text)+    , _diualPageSize                    :: !(Maybe (Textual Int32))+    , _diualCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DebugIdentitysourcesUnmAppedidsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diualParent'+--+-- * 'diualXgafv'+--+-- * 'diualResolutionStatusCode'+--+-- * 'diualUploadProtocol'+--+-- * 'diualAccessToken'+--+-- * 'diualUploadType'+--+-- * 'diualDebugOptionsEnableDebugging'+--+-- * 'diualPageToken'+--+-- * 'diualPageSize'+--+-- * 'diualCallback'+debugIdentitysourcesUnmAppedidsList+    :: Text -- ^ 'diualParent'+    -> DebugIdentitysourcesUnmAppedidsList+debugIdentitysourcesUnmAppedidsList pDiualParent_ =+    DebugIdentitysourcesUnmAppedidsList'+    { _diualParent = pDiualParent_+    , _diualXgafv = Nothing+    , _diualResolutionStatusCode = Nothing+    , _diualUploadProtocol = Nothing+    , _diualAccessToken = Nothing+    , _diualUploadType = Nothing+    , _diualDebugOptionsEnableDebugging = Nothing+    , _diualPageToken = Nothing+    , _diualPageSize = Nothing+    , _diualCallback = Nothing+    }++-- | The name of the identity source, in the following format:+-- identitysources\/{source_id}+diualParent :: Lens' DebugIdentitysourcesUnmAppedidsList Text+diualParent+  = lens _diualParent (\ s a -> s{_diualParent = a})++-- | V1 error format.+diualXgafv :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Xgafv)+diualXgafv+  = lens _diualXgafv (\ s a -> s{_diualXgafv = a})++-- | Limit users selection to this status.+diualResolutionStatusCode :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Text)+diualResolutionStatusCode+  = lens _diualResolutionStatusCode+      (\ s a -> s{_diualResolutionStatusCode = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+diualUploadProtocol :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Text)+diualUploadProtocol+  = lens _diualUploadProtocol+      (\ s a -> s{_diualUploadProtocol = a})++-- | OAuth access token.+diualAccessToken :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Text)+diualAccessToken+  = lens _diualAccessToken+      (\ s a -> s{_diualAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+diualUploadType :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Text)+diualUploadType+  = lens _diualUploadType+      (\ s a -> s{_diualUploadType = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+diualDebugOptionsEnableDebugging :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Bool)+diualDebugOptionsEnableDebugging+  = lens _diualDebugOptionsEnableDebugging+      (\ s a -> s{_diualDebugOptionsEnableDebugging = a})++-- | The next_page_token value returned from a previous List request, if any.+diualPageToken :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Text)+diualPageToken+  = lens _diualPageToken+      (\ s a -> s{_diualPageToken = a})++-- | Maximum number of items to fetch in a request. Defaults to 100.+diualPageSize :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Int32)+diualPageSize+  = lens _diualPageSize+      (\ s a -> s{_diualPageSize = a})+      . mapping _Coerce++-- | JSONP+diualCallback :: Lens' DebugIdentitysourcesUnmAppedidsList (Maybe Text)+diualCallback+  = lens _diualCallback+      (\ s a -> s{_diualCallback = a})++instance GoogleRequest+         DebugIdentitysourcesUnmAppedidsList where+        type Rs DebugIdentitysourcesUnmAppedidsList =+             ListUnmAppedIdentitiesResponse+        type Scopes DebugIdentitysourcesUnmAppedidsList =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.debug"]+        requestClient+          DebugIdentitysourcesUnmAppedidsList'{..}+          = go _diualParent _diualXgafv+              _diualResolutionStatusCode+              _diualUploadProtocol+              _diualAccessToken+              _diualUploadType+              _diualDebugOptionsEnableDebugging+              _diualPageToken+              _diualPageSize+              _diualCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy DebugIdentitysourcesUnmAppedidsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/DeleteSchema.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.DeleteSchema+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the schema of a data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.deleteSchema@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.DeleteSchema+    (+    -- * REST Resource+      IndexingDatasourcesDeleteSchemaResource++    -- * Creating a Request+    , indexingDatasourcesDeleteSchema+    , IndexingDatasourcesDeleteSchema++    -- * Request Lenses+    , iddsXgafv+    , iddsUploadProtocol+    , iddsAccessToken+    , iddsUploadType+    , iddsName+    , iddsDebugOptionsEnableDebugging+    , iddsCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.deleteSchema@ method which the+-- 'IndexingDatasourcesDeleteSchema' request conforms to.+type IndexingDatasourcesDeleteSchemaResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "schema" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "debugOptions.enableDebugging" Bool :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the schema of a data source.+--+-- /See:/ 'indexingDatasourcesDeleteSchema' smart constructor.+data IndexingDatasourcesDeleteSchema = IndexingDatasourcesDeleteSchema'+    { _iddsXgafv                       :: !(Maybe Xgafv)+    , _iddsUploadProtocol              :: !(Maybe Text)+    , _iddsAccessToken                 :: !(Maybe Text)+    , _iddsUploadType                  :: !(Maybe Text)+    , _iddsName                        :: !Text+    , _iddsDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _iddsCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesDeleteSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iddsXgafv'+--+-- * 'iddsUploadProtocol'+--+-- * 'iddsAccessToken'+--+-- * 'iddsUploadType'+--+-- * 'iddsName'+--+-- * 'iddsDebugOptionsEnableDebugging'+--+-- * 'iddsCallback'+indexingDatasourcesDeleteSchema+    :: Text -- ^ 'iddsName'+    -> IndexingDatasourcesDeleteSchema+indexingDatasourcesDeleteSchema pIddsName_ =+    IndexingDatasourcesDeleteSchema'+    { _iddsXgafv = Nothing+    , _iddsUploadProtocol = Nothing+    , _iddsAccessToken = Nothing+    , _iddsUploadType = Nothing+    , _iddsName = pIddsName_+    , _iddsDebugOptionsEnableDebugging = Nothing+    , _iddsCallback = Nothing+    }++-- | V1 error format.+iddsXgafv :: Lens' IndexingDatasourcesDeleteSchema (Maybe Xgafv)+iddsXgafv+  = lens _iddsXgafv (\ s a -> s{_iddsXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+iddsUploadProtocol :: Lens' IndexingDatasourcesDeleteSchema (Maybe Text)+iddsUploadProtocol+  = lens _iddsUploadProtocol+      (\ s a -> s{_iddsUploadProtocol = a})++-- | OAuth access token.+iddsAccessToken :: Lens' IndexingDatasourcesDeleteSchema (Maybe Text)+iddsAccessToken+  = lens _iddsAccessToken+      (\ s a -> s{_iddsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+iddsUploadType :: Lens' IndexingDatasourcesDeleteSchema (Maybe Text)+iddsUploadType+  = lens _iddsUploadType+      (\ s a -> s{_iddsUploadType = a})++-- | Name of the data source to delete Schema. Format:+-- datasources\/{source_id}+iddsName :: Lens' IndexingDatasourcesDeleteSchema Text+iddsName = lens _iddsName (\ s a -> s{_iddsName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+iddsDebugOptionsEnableDebugging :: Lens' IndexingDatasourcesDeleteSchema (Maybe Bool)+iddsDebugOptionsEnableDebugging+  = lens _iddsDebugOptionsEnableDebugging+      (\ s a -> s{_iddsDebugOptionsEnableDebugging = a})++-- | JSONP+iddsCallback :: Lens' IndexingDatasourcesDeleteSchema (Maybe Text)+iddsCallback+  = lens _iddsCallback (\ s a -> s{_iddsCallback = a})++instance GoogleRequest+         IndexingDatasourcesDeleteSchema where+        type Rs IndexingDatasourcesDeleteSchema = Operation+        type Scopes IndexingDatasourcesDeleteSchema =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient IndexingDatasourcesDeleteSchema'{..}+          = go _iddsName _iddsXgafv _iddsUploadProtocol+              _iddsAccessToken+              _iddsUploadType+              _iddsDebugOptionsEnableDebugging+              _iddsCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy IndexingDatasourcesDeleteSchemaResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/GetSchema.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.GetSchema+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the schema of a data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.getSchema@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.GetSchema+    (+    -- * REST Resource+      IndexingDatasourcesGetSchemaResource++    -- * Creating a Request+    , indexingDatasourcesGetSchema+    , IndexingDatasourcesGetSchema++    -- * Request Lenses+    , idgsXgafv+    , idgsUploadProtocol+    , idgsAccessToken+    , idgsUploadType+    , idgsName+    , idgsDebugOptionsEnableDebugging+    , idgsCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.getSchema@ method which the+-- 'IndexingDatasourcesGetSchema' request conforms to.+type IndexingDatasourcesGetSchemaResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "schema" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "debugOptions.enableDebugging" Bool :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :> Get '[JSON] Schema++-- | Gets the schema of a data source.+--+-- /See:/ 'indexingDatasourcesGetSchema' smart constructor.+data IndexingDatasourcesGetSchema = IndexingDatasourcesGetSchema'+    { _idgsXgafv                       :: !(Maybe Xgafv)+    , _idgsUploadProtocol              :: !(Maybe Text)+    , _idgsAccessToken                 :: !(Maybe Text)+    , _idgsUploadType                  :: !(Maybe Text)+    , _idgsName                        :: !Text+    , _idgsDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _idgsCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesGetSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idgsXgafv'+--+-- * 'idgsUploadProtocol'+--+-- * 'idgsAccessToken'+--+-- * 'idgsUploadType'+--+-- * 'idgsName'+--+-- * 'idgsDebugOptionsEnableDebugging'+--+-- * 'idgsCallback'+indexingDatasourcesGetSchema+    :: Text -- ^ 'idgsName'+    -> IndexingDatasourcesGetSchema+indexingDatasourcesGetSchema pIdgsName_ =+    IndexingDatasourcesGetSchema'+    { _idgsXgafv = Nothing+    , _idgsUploadProtocol = Nothing+    , _idgsAccessToken = Nothing+    , _idgsUploadType = Nothing+    , _idgsName = pIdgsName_+    , _idgsDebugOptionsEnableDebugging = Nothing+    , _idgsCallback = Nothing+    }++-- | V1 error format.+idgsXgafv :: Lens' IndexingDatasourcesGetSchema (Maybe Xgafv)+idgsXgafv+  = lens _idgsXgafv (\ s a -> s{_idgsXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idgsUploadProtocol :: Lens' IndexingDatasourcesGetSchema (Maybe Text)+idgsUploadProtocol+  = lens _idgsUploadProtocol+      (\ s a -> s{_idgsUploadProtocol = a})++-- | OAuth access token.+idgsAccessToken :: Lens' IndexingDatasourcesGetSchema (Maybe Text)+idgsAccessToken+  = lens _idgsAccessToken+      (\ s a -> s{_idgsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idgsUploadType :: Lens' IndexingDatasourcesGetSchema (Maybe Text)+idgsUploadType+  = lens _idgsUploadType+      (\ s a -> s{_idgsUploadType = a})++-- | Name of the data source to get Schema. Format: datasources\/{source_id}+idgsName :: Lens' IndexingDatasourcesGetSchema Text+idgsName = lens _idgsName (\ s a -> s{_idgsName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+idgsDebugOptionsEnableDebugging :: Lens' IndexingDatasourcesGetSchema (Maybe Bool)+idgsDebugOptionsEnableDebugging+  = lens _idgsDebugOptionsEnableDebugging+      (\ s a -> s{_idgsDebugOptionsEnableDebugging = a})++-- | JSONP+idgsCallback :: Lens' IndexingDatasourcesGetSchema (Maybe Text)+idgsCallback+  = lens _idgsCallback (\ s a -> s{_idgsCallback = a})++instance GoogleRequest IndexingDatasourcesGetSchema+         where+        type Rs IndexingDatasourcesGetSchema = Schema+        type Scopes IndexingDatasourcesGetSchema =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient IndexingDatasourcesGetSchema'{..}+          = go _idgsName _idgsXgafv _idgsUploadProtocol+              _idgsAccessToken+              _idgsUploadType+              _idgsDebugOptionsEnableDebugging+              _idgsCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy IndexingDatasourcesGetSchemaResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Delete.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes Item resource for the specified resource name.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.delete@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Delete+    (+    -- * REST Resource+      IndexingDatasourcesItemsDeleteResource++    -- * Creating a Request+    , indexingDatasourcesItemsDelete+    , IndexingDatasourcesItemsDelete++    -- * Request Lenses+    , ididXgafv+    , ididUploadProtocol+    , ididAccessToken+    , ididMode+    , ididUploadType+    , ididConnectorName+    , ididName+    , ididVersion+    , ididDebugOptionsEnableDebugging+    , ididCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.delete@ method which the+-- 'IndexingDatasourcesItemsDelete' request conforms to.+type IndexingDatasourcesItemsDeleteResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "mode" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "connectorName" Text :>+                       QueryParam "version" Bytes :>+                         QueryParam "debugOptions.enableDebugging" Bool :>+                           QueryParam "callback" Text :>+                             QueryParam "alt" AltJSON :>+                               Delete '[JSON] Operation++-- | Deletes Item resource for the specified resource name.+--+-- /See:/ 'indexingDatasourcesItemsDelete' smart constructor.+data IndexingDatasourcesItemsDelete = IndexingDatasourcesItemsDelete'+    { _ididXgafv                       :: !(Maybe Xgafv)+    , _ididUploadProtocol              :: !(Maybe Text)+    , _ididAccessToken                 :: !(Maybe Text)+    , _ididMode                        :: !(Maybe Text)+    , _ididUploadType                  :: !(Maybe Text)+    , _ididConnectorName               :: !(Maybe Text)+    , _ididName                        :: !Text+    , _ididVersion                     :: !(Maybe Bytes)+    , _ididDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _ididCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ididXgafv'+--+-- * 'ididUploadProtocol'+--+-- * 'ididAccessToken'+--+-- * 'ididMode'+--+-- * 'ididUploadType'+--+-- * 'ididConnectorName'+--+-- * 'ididName'+--+-- * 'ididVersion'+--+-- * 'ididDebugOptionsEnableDebugging'+--+-- * 'ididCallback'+indexingDatasourcesItemsDelete+    :: Text -- ^ 'ididName'+    -> IndexingDatasourcesItemsDelete+indexingDatasourcesItemsDelete pIdidName_ =+    IndexingDatasourcesItemsDelete'+    { _ididXgafv = Nothing+    , _ididUploadProtocol = Nothing+    , _ididAccessToken = Nothing+    , _ididMode = Nothing+    , _ididUploadType = Nothing+    , _ididConnectorName = Nothing+    , _ididName = pIdidName_+    , _ididVersion = Nothing+    , _ididDebugOptionsEnableDebugging = Nothing+    , _ididCallback = Nothing+    }++-- | V1 error format.+ididXgafv :: Lens' IndexingDatasourcesItemsDelete (Maybe Xgafv)+ididXgafv+  = lens _ididXgafv (\ s a -> s{_ididXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ididUploadProtocol :: Lens' IndexingDatasourcesItemsDelete (Maybe Text)+ididUploadProtocol+  = lens _ididUploadProtocol+      (\ s a -> s{_ididUploadProtocol = a})++-- | OAuth access token.+ididAccessToken :: Lens' IndexingDatasourcesItemsDelete (Maybe Text)+ididAccessToken+  = lens _ididAccessToken+      (\ s a -> s{_ididAccessToken = a})++-- | Required. The RequestMode for this request.+ididMode :: Lens' IndexingDatasourcesItemsDelete (Maybe Text)+ididMode = lens _ididMode (\ s a -> s{_ididMode = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ididUploadType :: Lens' IndexingDatasourcesItemsDelete (Maybe Text)+ididUploadType+  = lens _ididUploadType+      (\ s a -> s{_ididUploadType = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+ididConnectorName :: Lens' IndexingDatasourcesItemsDelete (Maybe Text)+ididConnectorName+  = lens _ididConnectorName+      (\ s a -> s{_ididConnectorName = a})++-- | Required. Name of the item to delete. Format:+-- datasources\/{source_id}\/items\/{item_id}+ididName :: Lens' IndexingDatasourcesItemsDelete Text+ididName = lens _ididName (\ s a -> s{_ididName = a})++-- | Required. The incremented version of the item to delete from the index.+-- The indexing system stores the version from the datasource as a byte+-- string and compares the Item version in the index to the version of the+-- queued Item using lexical ordering.+-- Cloud Search Indexing won\'t delete any queued item with a version value+-- that is less than or equal to the version of the currently indexed item.+-- The maximum length for this field is 1024 bytes.+ididVersion :: Lens' IndexingDatasourcesItemsDelete (Maybe ByteString)+ididVersion+  = lens _ididVersion (\ s a -> s{_ididVersion = a}) .+      mapping _Bytes++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+ididDebugOptionsEnableDebugging :: Lens' IndexingDatasourcesItemsDelete (Maybe Bool)+ididDebugOptionsEnableDebugging+  = lens _ididDebugOptionsEnableDebugging+      (\ s a -> s{_ididDebugOptionsEnableDebugging = a})++-- | JSONP+ididCallback :: Lens' IndexingDatasourcesItemsDelete (Maybe Text)+ididCallback+  = lens _ididCallback (\ s a -> s{_ididCallback = a})++instance GoogleRequest IndexingDatasourcesItemsDelete+         where+        type Rs IndexingDatasourcesItemsDelete = Operation+        type Scopes IndexingDatasourcesItemsDelete =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsDelete'{..}+          = go _ididName _ididXgafv _ididUploadProtocol+              _ididAccessToken+              _ididMode+              _ididUploadType+              _ididConnectorName+              _ididVersion+              _ididDebugOptionsEnableDebugging+              _ididCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy IndexingDatasourcesItemsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/DeleteQueueItems.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.DeleteQueueItems+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes all items in a queue. This method is useful for deleting stale+-- items.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.deleteQueueItems@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.DeleteQueueItems+    (+    -- * REST Resource+      IndexingDatasourcesItemsDeleteQueueItemsResource++    -- * Creating a Request+    , indexingDatasourcesItemsDeleteQueueItems+    , IndexingDatasourcesItemsDeleteQueueItems++    -- * Request Lenses+    , ididqiXgafv+    , ididqiUploadProtocol+    , ididqiAccessToken+    , ididqiUploadType+    , ididqiPayload+    , ididqiName+    , ididqiCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.deleteQueueItems@ method which the+-- 'IndexingDatasourcesItemsDeleteQueueItems' request conforms to.+type IndexingDatasourcesItemsDeleteQueueItemsResource+     =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "items:deleteQueueItems" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] DeleteQueueItemsRequest :>+                           Post '[JSON] Operation++-- | Deletes all items in a queue. This method is useful for deleting stale+-- items.+--+-- /See:/ 'indexingDatasourcesItemsDeleteQueueItems' smart constructor.+data IndexingDatasourcesItemsDeleteQueueItems = IndexingDatasourcesItemsDeleteQueueItems'+    { _ididqiXgafv          :: !(Maybe Xgafv)+    , _ididqiUploadProtocol :: !(Maybe Text)+    , _ididqiAccessToken    :: !(Maybe Text)+    , _ididqiUploadType     :: !(Maybe Text)+    , _ididqiPayload        :: !DeleteQueueItemsRequest+    , _ididqiName           :: !Text+    , _ididqiCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsDeleteQueueItems' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ididqiXgafv'+--+-- * 'ididqiUploadProtocol'+--+-- * 'ididqiAccessToken'+--+-- * 'ididqiUploadType'+--+-- * 'ididqiPayload'+--+-- * 'ididqiName'+--+-- * 'ididqiCallback'+indexingDatasourcesItemsDeleteQueueItems+    :: DeleteQueueItemsRequest -- ^ 'ididqiPayload'+    -> Text -- ^ 'ididqiName'+    -> IndexingDatasourcesItemsDeleteQueueItems+indexingDatasourcesItemsDeleteQueueItems pIdidqiPayload_ pIdidqiName_ =+    IndexingDatasourcesItemsDeleteQueueItems'+    { _ididqiXgafv = Nothing+    , _ididqiUploadProtocol = Nothing+    , _ididqiAccessToken = Nothing+    , _ididqiUploadType = Nothing+    , _ididqiPayload = pIdidqiPayload_+    , _ididqiName = pIdidqiName_+    , _ididqiCallback = Nothing+    }++-- | V1 error format.+ididqiXgafv :: Lens' IndexingDatasourcesItemsDeleteQueueItems (Maybe Xgafv)+ididqiXgafv+  = lens _ididqiXgafv (\ s a -> s{_ididqiXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ididqiUploadProtocol :: Lens' IndexingDatasourcesItemsDeleteQueueItems (Maybe Text)+ididqiUploadProtocol+  = lens _ididqiUploadProtocol+      (\ s a -> s{_ididqiUploadProtocol = a})++-- | OAuth access token.+ididqiAccessToken :: Lens' IndexingDatasourcesItemsDeleteQueueItems (Maybe Text)+ididqiAccessToken+  = lens _ididqiAccessToken+      (\ s a -> s{_ididqiAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ididqiUploadType :: Lens' IndexingDatasourcesItemsDeleteQueueItems (Maybe Text)+ididqiUploadType+  = lens _ididqiUploadType+      (\ s a -> s{_ididqiUploadType = a})++-- | Multipart request metadata.+ididqiPayload :: Lens' IndexingDatasourcesItemsDeleteQueueItems DeleteQueueItemsRequest+ididqiPayload+  = lens _ididqiPayload+      (\ s a -> s{_ididqiPayload = a})++-- | Name of the Data Source to delete items in a queue. Format:+-- datasources\/{source_id}+ididqiName :: Lens' IndexingDatasourcesItemsDeleteQueueItems Text+ididqiName+  = lens _ididqiName (\ s a -> s{_ididqiName = a})++-- | JSONP+ididqiCallback :: Lens' IndexingDatasourcesItemsDeleteQueueItems (Maybe Text)+ididqiCallback+  = lens _ididqiCallback+      (\ s a -> s{_ididqiCallback = a})++instance GoogleRequest+         IndexingDatasourcesItemsDeleteQueueItems where+        type Rs IndexingDatasourcesItemsDeleteQueueItems =+             Operation+        type Scopes IndexingDatasourcesItemsDeleteQueueItems+             =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient+          IndexingDatasourcesItemsDeleteQueueItems'{..}+          = go _ididqiName _ididqiXgafv _ididqiUploadProtocol+              _ididqiAccessToken+              _ididqiUploadType+              _ididqiCallback+              (Just AltJSON)+              _ididqiPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy+                           IndexingDatasourcesItemsDeleteQueueItemsResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Get.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets Item resource by item name.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.get@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Get+    (+    -- * REST Resource+      IndexingDatasourcesItemsGetResource++    -- * Creating a Request+    , indexingDatasourcesItemsGet+    , IndexingDatasourcesItemsGet++    -- * Request Lenses+    , idigXgafv+    , idigUploadProtocol+    , idigAccessToken+    , idigUploadType+    , idigConnectorName+    , idigName+    , idigDebugOptionsEnableDebugging+    , idigCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.get@ method which the+-- 'IndexingDatasourcesItemsGet' request conforms to.+type IndexingDatasourcesItemsGetResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "connectorName" Text :>+                     QueryParam "debugOptions.enableDebugging" Bool :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :> Get '[JSON] Item++-- | Gets Item resource by item name.+--+-- /See:/ 'indexingDatasourcesItemsGet' smart constructor.+data IndexingDatasourcesItemsGet = IndexingDatasourcesItemsGet'+    { _idigXgafv                       :: !(Maybe Xgafv)+    , _idigUploadProtocol              :: !(Maybe Text)+    , _idigAccessToken                 :: !(Maybe Text)+    , _idigUploadType                  :: !(Maybe Text)+    , _idigConnectorName               :: !(Maybe Text)+    , _idigName                        :: !Text+    , _idigDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _idigCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idigXgafv'+--+-- * 'idigUploadProtocol'+--+-- * 'idigAccessToken'+--+-- * 'idigUploadType'+--+-- * 'idigConnectorName'+--+-- * 'idigName'+--+-- * 'idigDebugOptionsEnableDebugging'+--+-- * 'idigCallback'+indexingDatasourcesItemsGet+    :: Text -- ^ 'idigName'+    -> IndexingDatasourcesItemsGet+indexingDatasourcesItemsGet pIdigName_ =+    IndexingDatasourcesItemsGet'+    { _idigXgafv = Nothing+    , _idigUploadProtocol = Nothing+    , _idigAccessToken = Nothing+    , _idigUploadType = Nothing+    , _idigConnectorName = Nothing+    , _idigName = pIdigName_+    , _idigDebugOptionsEnableDebugging = Nothing+    , _idigCallback = Nothing+    }++-- | V1 error format.+idigXgafv :: Lens' IndexingDatasourcesItemsGet (Maybe Xgafv)+idigXgafv+  = lens _idigXgafv (\ s a -> s{_idigXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idigUploadProtocol :: Lens' IndexingDatasourcesItemsGet (Maybe Text)+idigUploadProtocol+  = lens _idigUploadProtocol+      (\ s a -> s{_idigUploadProtocol = a})++-- | OAuth access token.+idigAccessToken :: Lens' IndexingDatasourcesItemsGet (Maybe Text)+idigAccessToken+  = lens _idigAccessToken+      (\ s a -> s{_idigAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idigUploadType :: Lens' IndexingDatasourcesItemsGet (Maybe Text)+idigUploadType+  = lens _idigUploadType+      (\ s a -> s{_idigUploadType = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+idigConnectorName :: Lens' IndexingDatasourcesItemsGet (Maybe Text)+idigConnectorName+  = lens _idigConnectorName+      (\ s a -> s{_idigConnectorName = a})++-- | Name of the item to get info. Format:+-- datasources\/{source_id}\/items\/{item_id}+idigName :: Lens' IndexingDatasourcesItemsGet Text+idigName = lens _idigName (\ s a -> s{_idigName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+idigDebugOptionsEnableDebugging :: Lens' IndexingDatasourcesItemsGet (Maybe Bool)+idigDebugOptionsEnableDebugging+  = lens _idigDebugOptionsEnableDebugging+      (\ s a -> s{_idigDebugOptionsEnableDebugging = a})++-- | JSONP+idigCallback :: Lens' IndexingDatasourcesItemsGet (Maybe Text)+idigCallback+  = lens _idigCallback (\ s a -> s{_idigCallback = a})++instance GoogleRequest IndexingDatasourcesItemsGet+         where+        type Rs IndexingDatasourcesItemsGet = Item+        type Scopes IndexingDatasourcesItemsGet =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsGet'{..}+          = go _idigName _idigXgafv _idigUploadProtocol+              _idigAccessToken+              _idigUploadType+              _idigConnectorName+              _idigDebugOptionsEnableDebugging+              _idigCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy IndexingDatasourcesItemsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Index.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Index+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates Item ACL, metadata, and content. It will insert the Item if it+-- does not exist. This method does not support partial updates. Fields+-- with no provided values are cleared out in the Cloud Search index.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.index@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Index+    (+    -- * REST Resource+      IndexingDatasourcesItemsIndexResource++    -- * Creating a Request+    , indexingDatasourcesItemsIndex+    , IndexingDatasourcesItemsIndex++    -- * Request Lenses+    , idiiXgafv+    , idiiUploadProtocol+    , idiiAccessToken+    , idiiUploadType+    , idiiPayload+    , idiiName+    , idiiCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.index@ method which the+-- 'IndexingDatasourcesItemsIndex' request conforms to.+type IndexingDatasourcesItemsIndexResource =+     "v1" :>+       "indexing" :>+         CaptureMode "name" "index" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] IndexItemRequest :>+                         Post '[JSON] Operation++-- | Updates Item ACL, metadata, and content. It will insert the Item if it+-- does not exist. This method does not support partial updates. Fields+-- with no provided values are cleared out in the Cloud Search index.+--+-- /See:/ 'indexingDatasourcesItemsIndex' smart constructor.+data IndexingDatasourcesItemsIndex = IndexingDatasourcesItemsIndex'+    { _idiiXgafv          :: !(Maybe Xgafv)+    , _idiiUploadProtocol :: !(Maybe Text)+    , _idiiAccessToken    :: !(Maybe Text)+    , _idiiUploadType     :: !(Maybe Text)+    , _idiiPayload        :: !IndexItemRequest+    , _idiiName           :: !Text+    , _idiiCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idiiXgafv'+--+-- * 'idiiUploadProtocol'+--+-- * 'idiiAccessToken'+--+-- * 'idiiUploadType'+--+-- * 'idiiPayload'+--+-- * 'idiiName'+--+-- * 'idiiCallback'+indexingDatasourcesItemsIndex+    :: IndexItemRequest -- ^ 'idiiPayload'+    -> Text -- ^ 'idiiName'+    -> IndexingDatasourcesItemsIndex+indexingDatasourcesItemsIndex pIdiiPayload_ pIdiiName_ =+    IndexingDatasourcesItemsIndex'+    { _idiiXgafv = Nothing+    , _idiiUploadProtocol = Nothing+    , _idiiAccessToken = Nothing+    , _idiiUploadType = Nothing+    , _idiiPayload = pIdiiPayload_+    , _idiiName = pIdiiName_+    , _idiiCallback = Nothing+    }++-- | V1 error format.+idiiXgafv :: Lens' IndexingDatasourcesItemsIndex (Maybe Xgafv)+idiiXgafv+  = lens _idiiXgafv (\ s a -> s{_idiiXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idiiUploadProtocol :: Lens' IndexingDatasourcesItemsIndex (Maybe Text)+idiiUploadProtocol+  = lens _idiiUploadProtocol+      (\ s a -> s{_idiiUploadProtocol = a})++-- | OAuth access token.+idiiAccessToken :: Lens' IndexingDatasourcesItemsIndex (Maybe Text)+idiiAccessToken+  = lens _idiiAccessToken+      (\ s a -> s{_idiiAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idiiUploadType :: Lens' IndexingDatasourcesItemsIndex (Maybe Text)+idiiUploadType+  = lens _idiiUploadType+      (\ s a -> s{_idiiUploadType = a})++-- | Multipart request metadata.+idiiPayload :: Lens' IndexingDatasourcesItemsIndex IndexItemRequest+idiiPayload+  = lens _idiiPayload (\ s a -> s{_idiiPayload = a})++-- | Name of the Item. Format: datasources\/{source_id}\/items\/{item_id}+-- This is a required field. The maximum length is 1536 characters.+idiiName :: Lens' IndexingDatasourcesItemsIndex Text+idiiName = lens _idiiName (\ s a -> s{_idiiName = a})++-- | JSONP+idiiCallback :: Lens' IndexingDatasourcesItemsIndex (Maybe Text)+idiiCallback+  = lens _idiiCallback (\ s a -> s{_idiiCallback = a})++instance GoogleRequest IndexingDatasourcesItemsIndex+         where+        type Rs IndexingDatasourcesItemsIndex = Operation+        type Scopes IndexingDatasourcesItemsIndex =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsIndex'{..}+          = go _idiiName _idiiXgafv _idiiUploadProtocol+              _idiiAccessToken+              _idiiUploadType+              _idiiCallback+              (Just AltJSON)+              _idiiPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy IndexingDatasourcesItemsIndexResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/List.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all or a subset of Item resources.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.list@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.List+    (+    -- * REST Resource+      IndexingDatasourcesItemsListResource++    -- * Creating a Request+    , indexingDatasourcesItemsList+    , IndexingDatasourcesItemsList++    -- * Request Lenses+    , idilXgafv+    , idilUploadProtocol+    , idilAccessToken+    , idilUploadType+    , idilConnectorName+    , idilName+    , idilBrief+    , idilDebugOptionsEnableDebugging+    , idilPageToken+    , idilPageSize+    , idilCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.list@ method which the+-- 'IndexingDatasourcesItemsList' request conforms to.+type IndexingDatasourcesItemsListResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "items" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "connectorName" Text :>+                       QueryParam "brief" Bool :>+                         QueryParam "debugOptions.enableDebugging" Bool :>+                           QueryParam "pageToken" Text :>+                             QueryParam "pageSize" (Textual Int32) :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] ListItemsResponse++-- | Lists all or a subset of Item resources.+--+-- /See:/ 'indexingDatasourcesItemsList' smart constructor.+data IndexingDatasourcesItemsList = IndexingDatasourcesItemsList'+    { _idilXgafv                       :: !(Maybe Xgafv)+    , _idilUploadProtocol              :: !(Maybe Text)+    , _idilAccessToken                 :: !(Maybe Text)+    , _idilUploadType                  :: !(Maybe Text)+    , _idilConnectorName               :: !(Maybe Text)+    , _idilName                        :: !Text+    , _idilBrief                       :: !(Maybe Bool)+    , _idilDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _idilPageToken                   :: !(Maybe Text)+    , _idilPageSize                    :: !(Maybe (Textual Int32))+    , _idilCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idilXgafv'+--+-- * 'idilUploadProtocol'+--+-- * 'idilAccessToken'+--+-- * 'idilUploadType'+--+-- * 'idilConnectorName'+--+-- * 'idilName'+--+-- * 'idilBrief'+--+-- * 'idilDebugOptionsEnableDebugging'+--+-- * 'idilPageToken'+--+-- * 'idilPageSize'+--+-- * 'idilCallback'+indexingDatasourcesItemsList+    :: Text -- ^ 'idilName'+    -> IndexingDatasourcesItemsList+indexingDatasourcesItemsList pIdilName_ =+    IndexingDatasourcesItemsList'+    { _idilXgafv = Nothing+    , _idilUploadProtocol = Nothing+    , _idilAccessToken = Nothing+    , _idilUploadType = Nothing+    , _idilConnectorName = Nothing+    , _idilName = pIdilName_+    , _idilBrief = Nothing+    , _idilDebugOptionsEnableDebugging = Nothing+    , _idilPageToken = Nothing+    , _idilPageSize = Nothing+    , _idilCallback = Nothing+    }++-- | V1 error format.+idilXgafv :: Lens' IndexingDatasourcesItemsList (Maybe Xgafv)+idilXgafv+  = lens _idilXgafv (\ s a -> s{_idilXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idilUploadProtocol :: Lens' IndexingDatasourcesItemsList (Maybe Text)+idilUploadProtocol+  = lens _idilUploadProtocol+      (\ s a -> s{_idilUploadProtocol = a})++-- | OAuth access token.+idilAccessToken :: Lens' IndexingDatasourcesItemsList (Maybe Text)+idilAccessToken+  = lens _idilAccessToken+      (\ s a -> s{_idilAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idilUploadType :: Lens' IndexingDatasourcesItemsList (Maybe Text)+idilUploadType+  = lens _idilUploadType+      (\ s a -> s{_idilUploadType = a})++-- | Name of connector making this call.+-- Format: datasources\/{source_id}\/connectors\/{ID}+idilConnectorName :: Lens' IndexingDatasourcesItemsList (Maybe Text)+idilConnectorName+  = lens _idilConnectorName+      (\ s a -> s{_idilConnectorName = a})++-- | Name of the Data Source to list Items. Format: datasources\/{source_id}+idilName :: Lens' IndexingDatasourcesItemsList Text+idilName = lens _idilName (\ s a -> s{_idilName = a})++-- | When set to true, the indexing system only populates the following+-- fields: name, version, metadata.hash, structured_data.hash,+-- content.hash.+-- If this value is false, then all the fields are populated in Item.+idilBrief :: Lens' IndexingDatasourcesItemsList (Maybe Bool)+idilBrief+  = lens _idilBrief (\ s a -> s{_idilBrief = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+idilDebugOptionsEnableDebugging :: Lens' IndexingDatasourcesItemsList (Maybe Bool)+idilDebugOptionsEnableDebugging+  = lens _idilDebugOptionsEnableDebugging+      (\ s a -> s{_idilDebugOptionsEnableDebugging = a})++-- | The next_page_token value returned from a previous List request, if any.+idilPageToken :: Lens' IndexingDatasourcesItemsList (Maybe Text)+idilPageToken+  = lens _idilPageToken+      (\ s a -> s{_idilPageToken = a})++-- | Maximum number of items to fetch in a request. The max value is 1000+-- when brief is true. The max value is 10 if brief is false.+-- The default value is 10+idilPageSize :: Lens' IndexingDatasourcesItemsList (Maybe Int32)+idilPageSize+  = lens _idilPageSize (\ s a -> s{_idilPageSize = a})+      . mapping _Coerce++-- | JSONP+idilCallback :: Lens' IndexingDatasourcesItemsList (Maybe Text)+idilCallback+  = lens _idilCallback (\ s a -> s{_idilCallback = a})++instance GoogleRequest IndexingDatasourcesItemsList+         where+        type Rs IndexingDatasourcesItemsList =+             ListItemsResponse+        type Scopes IndexingDatasourcesItemsList =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsList'{..}+          = go _idilName _idilXgafv _idilUploadProtocol+              _idilAccessToken+              _idilUploadType+              _idilConnectorName+              _idilBrief+              _idilDebugOptionsEnableDebugging+              _idilPageToken+              _idilPageSize+              _idilCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy IndexingDatasourcesItemsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Poll.hs view
@@ -0,0 +1,188 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Poll+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Polls for unreserved items from the indexing queue and marks a set as+-- reserved, starting with items that have the oldest timestamp from the+-- highest priority ItemStatus. The priority order is as follows:+-- ERROR+-- MODIFIED+-- NEW_ITEM+-- ACCEPTED+-- Reserving items ensures that polling from other threads cannot create+-- overlapping sets. After handling the reserved items, the client should+-- put items back into the unreserved state, either by calling index, or by+-- calling push with the type REQUEUE. Items automatically become available+-- (unreserved) after 4 hours even if no update or push method is called.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.poll@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Poll+    (+    -- * REST Resource+      IndexingDatasourcesItemsPollResource++    -- * Creating a Request+    , indexingDatasourcesItemsPoll+    , IndexingDatasourcesItemsPoll++    -- * Request Lenses+    , idipdXgafv+    , idipdUploadProtocol+    , idipdAccessToken+    , idipdUploadType+    , idipdPayload+    , idipdName+    , idipdCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.poll@ method which the+-- 'IndexingDatasourcesItemsPoll' request conforms to.+type IndexingDatasourcesItemsPollResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "items:poll" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] PollItemsRequest :>+                           Post '[JSON] PollItemsResponse++-- | Polls for unreserved items from the indexing queue and marks a set as+-- reserved, starting with items that have the oldest timestamp from the+-- highest priority ItemStatus. The priority order is as follows:+-- ERROR+-- MODIFIED+-- NEW_ITEM+-- ACCEPTED+-- Reserving items ensures that polling from other threads cannot create+-- overlapping sets. After handling the reserved items, the client should+-- put items back into the unreserved state, either by calling index, or by+-- calling push with the type REQUEUE. Items automatically become available+-- (unreserved) after 4 hours even if no update or push method is called.+--+-- /See:/ 'indexingDatasourcesItemsPoll' smart constructor.+data IndexingDatasourcesItemsPoll = IndexingDatasourcesItemsPoll'+    { _idipdXgafv          :: !(Maybe Xgafv)+    , _idipdUploadProtocol :: !(Maybe Text)+    , _idipdAccessToken    :: !(Maybe Text)+    , _idipdUploadType     :: !(Maybe Text)+    , _idipdPayload        :: !PollItemsRequest+    , _idipdName           :: !Text+    , _idipdCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsPoll' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idipdXgafv'+--+-- * 'idipdUploadProtocol'+--+-- * 'idipdAccessToken'+--+-- * 'idipdUploadType'+--+-- * 'idipdPayload'+--+-- * 'idipdName'+--+-- * 'idipdCallback'+indexingDatasourcesItemsPoll+    :: PollItemsRequest -- ^ 'idipdPayload'+    -> Text -- ^ 'idipdName'+    -> IndexingDatasourcesItemsPoll+indexingDatasourcesItemsPoll pIdipdPayload_ pIdipdName_ =+    IndexingDatasourcesItemsPoll'+    { _idipdXgafv = Nothing+    , _idipdUploadProtocol = Nothing+    , _idipdAccessToken = Nothing+    , _idipdUploadType = Nothing+    , _idipdPayload = pIdipdPayload_+    , _idipdName = pIdipdName_+    , _idipdCallback = Nothing+    }++-- | V1 error format.+idipdXgafv :: Lens' IndexingDatasourcesItemsPoll (Maybe Xgafv)+idipdXgafv+  = lens _idipdXgafv (\ s a -> s{_idipdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idipdUploadProtocol :: Lens' IndexingDatasourcesItemsPoll (Maybe Text)+idipdUploadProtocol+  = lens _idipdUploadProtocol+      (\ s a -> s{_idipdUploadProtocol = a})++-- | OAuth access token.+idipdAccessToken :: Lens' IndexingDatasourcesItemsPoll (Maybe Text)+idipdAccessToken+  = lens _idipdAccessToken+      (\ s a -> s{_idipdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idipdUploadType :: Lens' IndexingDatasourcesItemsPoll (Maybe Text)+idipdUploadType+  = lens _idipdUploadType+      (\ s a -> s{_idipdUploadType = a})++-- | Multipart request metadata.+idipdPayload :: Lens' IndexingDatasourcesItemsPoll PollItemsRequest+idipdPayload+  = lens _idipdPayload (\ s a -> s{_idipdPayload = a})++-- | Name of the Data Source to poll items. Format: datasources\/{source_id}+idipdName :: Lens' IndexingDatasourcesItemsPoll Text+idipdName+  = lens _idipdName (\ s a -> s{_idipdName = a})++-- | JSONP+idipdCallback :: Lens' IndexingDatasourcesItemsPoll (Maybe Text)+idipdCallback+  = lens _idipdCallback+      (\ s a -> s{_idipdCallback = a})++instance GoogleRequest IndexingDatasourcesItemsPoll+         where+        type Rs IndexingDatasourcesItemsPoll =+             PollItemsResponse+        type Scopes IndexingDatasourcesItemsPoll =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsPoll'{..}+          = go _idipdName _idipdXgafv _idipdUploadProtocol+              _idipdAccessToken+              _idipdUploadType+              _idipdCallback+              (Just AltJSON)+              _idipdPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy IndexingDatasourcesItemsPollResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Push.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Push+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Pushes an item onto a queue for later polling and updating.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.push@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Push+    (+    -- * REST Resource+      IndexingDatasourcesItemsPushResource++    -- * Creating a Request+    , indexingDatasourcesItemsPush+    , IndexingDatasourcesItemsPush++    -- * Request Lenses+    , idipXgafv+    , idipUploadProtocol+    , idipAccessToken+    , idipUploadType+    , idipPayload+    , idipName+    , idipCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.push@ method which the+-- 'IndexingDatasourcesItemsPush' request conforms to.+type IndexingDatasourcesItemsPushResource =+     "v1" :>+       "indexing" :>+         CaptureMode "name" "push" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] PushItemRequest :> Post '[JSON] Item++-- | Pushes an item onto a queue for later polling and updating.+--+-- /See:/ 'indexingDatasourcesItemsPush' smart constructor.+data IndexingDatasourcesItemsPush = IndexingDatasourcesItemsPush'+    { _idipXgafv          :: !(Maybe Xgafv)+    , _idipUploadProtocol :: !(Maybe Text)+    , _idipAccessToken    :: !(Maybe Text)+    , _idipUploadType     :: !(Maybe Text)+    , _idipPayload        :: !PushItemRequest+    , _idipName           :: !Text+    , _idipCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsPush' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idipXgafv'+--+-- * 'idipUploadProtocol'+--+-- * 'idipAccessToken'+--+-- * 'idipUploadType'+--+-- * 'idipPayload'+--+-- * 'idipName'+--+-- * 'idipCallback'+indexingDatasourcesItemsPush+    :: PushItemRequest -- ^ 'idipPayload'+    -> Text -- ^ 'idipName'+    -> IndexingDatasourcesItemsPush+indexingDatasourcesItemsPush pIdipPayload_ pIdipName_ =+    IndexingDatasourcesItemsPush'+    { _idipXgafv = Nothing+    , _idipUploadProtocol = Nothing+    , _idipAccessToken = Nothing+    , _idipUploadType = Nothing+    , _idipPayload = pIdipPayload_+    , _idipName = pIdipName_+    , _idipCallback = Nothing+    }++-- | V1 error format.+idipXgafv :: Lens' IndexingDatasourcesItemsPush (Maybe Xgafv)+idipXgafv+  = lens _idipXgafv (\ s a -> s{_idipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idipUploadProtocol :: Lens' IndexingDatasourcesItemsPush (Maybe Text)+idipUploadProtocol+  = lens _idipUploadProtocol+      (\ s a -> s{_idipUploadProtocol = a})++-- | OAuth access token.+idipAccessToken :: Lens' IndexingDatasourcesItemsPush (Maybe Text)+idipAccessToken+  = lens _idipAccessToken+      (\ s a -> s{_idipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idipUploadType :: Lens' IndexingDatasourcesItemsPush (Maybe Text)+idipUploadType+  = lens _idipUploadType+      (\ s a -> s{_idipUploadType = a})++-- | Multipart request metadata.+idipPayload :: Lens' IndexingDatasourcesItemsPush PushItemRequest+idipPayload+  = lens _idipPayload (\ s a -> s{_idipPayload = a})++-- | Name of the item to push into the indexing queue.+-- Format: datasources\/{source_id}\/items\/{ID}+-- This is a required field. The maximum length is 1536 characters.+idipName :: Lens' IndexingDatasourcesItemsPush Text+idipName = lens _idipName (\ s a -> s{_idipName = a})++-- | JSONP+idipCallback :: Lens' IndexingDatasourcesItemsPush (Maybe Text)+idipCallback+  = lens _idipCallback (\ s a -> s{_idipCallback = a})++instance GoogleRequest IndexingDatasourcesItemsPush+         where+        type Rs IndexingDatasourcesItemsPush = Item+        type Scopes IndexingDatasourcesItemsPush =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsPush'{..}+          = go _idipName _idipXgafv _idipUploadProtocol+              _idipAccessToken+              _idipUploadType+              _idipCallback+              (Just AltJSON)+              _idipPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy IndexingDatasourcesItemsPushResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Unreserve.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Unreserve+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Unreserves all items from a queue, making them all eligible to be+-- polled. This method is useful for resetting the indexing queue after a+-- connector has been restarted.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.unreserve@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Unreserve+    (+    -- * REST Resource+      IndexingDatasourcesItemsUnreserveResource++    -- * Creating a Request+    , indexingDatasourcesItemsUnreserve+    , IndexingDatasourcesItemsUnreserve++    -- * Request Lenses+    , idiuXgafv+    , idiuUploadProtocol+    , idiuAccessToken+    , idiuUploadType+    , idiuPayload+    , idiuName+    , idiuCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.unreserve@ method which the+-- 'IndexingDatasourcesItemsUnreserve' request conforms to.+type IndexingDatasourcesItemsUnreserveResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "items:unreserve" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] UnreserveItemsRequest :>+                           Post '[JSON] Operation++-- | Unreserves all items from a queue, making them all eligible to be+-- polled. This method is useful for resetting the indexing queue after a+-- connector has been restarted.+--+-- /See:/ 'indexingDatasourcesItemsUnreserve' smart constructor.+data IndexingDatasourcesItemsUnreserve = IndexingDatasourcesItemsUnreserve'+    { _idiuXgafv          :: !(Maybe Xgafv)+    , _idiuUploadProtocol :: !(Maybe Text)+    , _idiuAccessToken    :: !(Maybe Text)+    , _idiuUploadType     :: !(Maybe Text)+    , _idiuPayload        :: !UnreserveItemsRequest+    , _idiuName           :: !Text+    , _idiuCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsUnreserve' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idiuXgafv'+--+-- * 'idiuUploadProtocol'+--+-- * 'idiuAccessToken'+--+-- * 'idiuUploadType'+--+-- * 'idiuPayload'+--+-- * 'idiuName'+--+-- * 'idiuCallback'+indexingDatasourcesItemsUnreserve+    :: UnreserveItemsRequest -- ^ 'idiuPayload'+    -> Text -- ^ 'idiuName'+    -> IndexingDatasourcesItemsUnreserve+indexingDatasourcesItemsUnreserve pIdiuPayload_ pIdiuName_ =+    IndexingDatasourcesItemsUnreserve'+    { _idiuXgafv = Nothing+    , _idiuUploadProtocol = Nothing+    , _idiuAccessToken = Nothing+    , _idiuUploadType = Nothing+    , _idiuPayload = pIdiuPayload_+    , _idiuName = pIdiuName_+    , _idiuCallback = Nothing+    }++-- | V1 error format.+idiuXgafv :: Lens' IndexingDatasourcesItemsUnreserve (Maybe Xgafv)+idiuXgafv+  = lens _idiuXgafv (\ s a -> s{_idiuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idiuUploadProtocol :: Lens' IndexingDatasourcesItemsUnreserve (Maybe Text)+idiuUploadProtocol+  = lens _idiuUploadProtocol+      (\ s a -> s{_idiuUploadProtocol = a})++-- | OAuth access token.+idiuAccessToken :: Lens' IndexingDatasourcesItemsUnreserve (Maybe Text)+idiuAccessToken+  = lens _idiuAccessToken+      (\ s a -> s{_idiuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idiuUploadType :: Lens' IndexingDatasourcesItemsUnreserve (Maybe Text)+idiuUploadType+  = lens _idiuUploadType+      (\ s a -> s{_idiuUploadType = a})++-- | Multipart request metadata.+idiuPayload :: Lens' IndexingDatasourcesItemsUnreserve UnreserveItemsRequest+idiuPayload+  = lens _idiuPayload (\ s a -> s{_idiuPayload = a})++-- | Name of the Data Source to unreserve all items. Format:+-- datasources\/{source_id}+idiuName :: Lens' IndexingDatasourcesItemsUnreserve Text+idiuName = lens _idiuName (\ s a -> s{_idiuName = a})++-- | JSONP+idiuCallback :: Lens' IndexingDatasourcesItemsUnreserve (Maybe Text)+idiuCallback+  = lens _idiuCallback (\ s a -> s{_idiuCallback = a})++instance GoogleRequest+         IndexingDatasourcesItemsUnreserve where+        type Rs IndexingDatasourcesItemsUnreserve = Operation+        type Scopes IndexingDatasourcesItemsUnreserve =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsUnreserve'{..}+          = go _idiuName _idiuXgafv _idiuUploadProtocol+              _idiuAccessToken+              _idiuUploadType+              _idiuCallback+              (Just AltJSON)+              _idiuPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy IndexingDatasourcesItemsUnreserveResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Upload.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Upload+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an upload session for uploading item content. For items smaller+-- than 100 KiB, it\'s easier to embed the content inline within update.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.items.upload@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Upload+    (+    -- * REST Resource+      IndexingDatasourcesItemsUploadResource++    -- * Creating a Request+    , indexingDatasourcesItemsUpload+    , IndexingDatasourcesItemsUpload++    -- * Request Lenses+    , indXgafv+    , indUploadProtocol+    , indAccessToken+    , indUploadType+    , indPayload+    , indName+    , indCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.items.upload@ method which the+-- 'IndexingDatasourcesItemsUpload' request conforms to.+type IndexingDatasourcesItemsUploadResource =+     "v1" :>+       "indexing" :>+         CaptureMode "name" "upload" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] StartUploadItemRequest :>+                         Post '[JSON] UploadItemRef++-- | Creates an upload session for uploading item content. For items smaller+-- than 100 KiB, it\'s easier to embed the content inline within update.+--+-- /See:/ 'indexingDatasourcesItemsUpload' smart constructor.+data IndexingDatasourcesItemsUpload = IndexingDatasourcesItemsUpload'+    { _indXgafv          :: !(Maybe Xgafv)+    , _indUploadProtocol :: !(Maybe Text)+    , _indAccessToken    :: !(Maybe Text)+    , _indUploadType     :: !(Maybe Text)+    , _indPayload        :: !StartUploadItemRequest+    , _indName           :: !Text+    , _indCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesItemsUpload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'indXgafv'+--+-- * 'indUploadProtocol'+--+-- * 'indAccessToken'+--+-- * 'indUploadType'+--+-- * 'indPayload'+--+-- * 'indName'+--+-- * 'indCallback'+indexingDatasourcesItemsUpload+    :: StartUploadItemRequest -- ^ 'indPayload'+    -> Text -- ^ 'indName'+    -> IndexingDatasourcesItemsUpload+indexingDatasourcesItemsUpload pIndPayload_ pIndName_ =+    IndexingDatasourcesItemsUpload'+    { _indXgafv = Nothing+    , _indUploadProtocol = Nothing+    , _indAccessToken = Nothing+    , _indUploadType = Nothing+    , _indPayload = pIndPayload_+    , _indName = pIndName_+    , _indCallback = Nothing+    }++-- | V1 error format.+indXgafv :: Lens' IndexingDatasourcesItemsUpload (Maybe Xgafv)+indXgafv = lens _indXgafv (\ s a -> s{_indXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+indUploadProtocol :: Lens' IndexingDatasourcesItemsUpload (Maybe Text)+indUploadProtocol+  = lens _indUploadProtocol+      (\ s a -> s{_indUploadProtocol = a})++-- | OAuth access token.+indAccessToken :: Lens' IndexingDatasourcesItemsUpload (Maybe Text)+indAccessToken+  = lens _indAccessToken+      (\ s a -> s{_indAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+indUploadType :: Lens' IndexingDatasourcesItemsUpload (Maybe Text)+indUploadType+  = lens _indUploadType+      (\ s a -> s{_indUploadType = a})++-- | Multipart request metadata.+indPayload :: Lens' IndexingDatasourcesItemsUpload StartUploadItemRequest+indPayload+  = lens _indPayload (\ s a -> s{_indPayload = a})++-- | Name of the Data Source to start a resumable upload. Format:+-- datasources\/{source_id}+indName :: Lens' IndexingDatasourcesItemsUpload Text+indName = lens _indName (\ s a -> s{_indName = a})++-- | JSONP+indCallback :: Lens' IndexingDatasourcesItemsUpload (Maybe Text)+indCallback+  = lens _indCallback (\ s a -> s{_indCallback = a})++instance GoogleRequest IndexingDatasourcesItemsUpload+         where+        type Rs IndexingDatasourcesItemsUpload =+             UploadItemRef+        type Scopes IndexingDatasourcesItemsUpload =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient IndexingDatasourcesItemsUpload'{..}+          = go _indName _indXgafv _indUploadProtocol+              _indAccessToken+              _indUploadType+              _indCallback+              (Just AltJSON)+              _indPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy IndexingDatasourcesItemsUploadResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/UpdateSchema.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Indexing.Datasources.UpdateSchema+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the schema of a data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.indexing.datasources.updateSchema@.+module Network.Google.Resource.CloudSearch.Indexing.Datasources.UpdateSchema+    (+    -- * REST Resource+      IndexingDatasourcesUpdateSchemaResource++    -- * Creating a Request+    , indexingDatasourcesUpdateSchema+    , IndexingDatasourcesUpdateSchema++    -- * Request Lenses+    , idusXgafv+    , idusUploadProtocol+    , idusAccessToken+    , idusUploadType+    , idusPayload+    , idusName+    , idusCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.indexing.datasources.updateSchema@ method which the+-- 'IndexingDatasourcesUpdateSchema' request conforms to.+type IndexingDatasourcesUpdateSchemaResource =+     "v1" :>+       "indexing" :>+         Capture "name" Text :>+           "schema" :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "access_token" Text :>+                   QueryParam "uploadType" Text :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         ReqBody '[JSON] UpdateSchemaRequest :>+                           Put '[JSON] Operation++-- | Updates the schema of a data source.+--+-- /See:/ 'indexingDatasourcesUpdateSchema' smart constructor.+data IndexingDatasourcesUpdateSchema = IndexingDatasourcesUpdateSchema'+    { _idusXgafv          :: !(Maybe Xgafv)+    , _idusUploadProtocol :: !(Maybe Text)+    , _idusAccessToken    :: !(Maybe Text)+    , _idusUploadType     :: !(Maybe Text)+    , _idusPayload        :: !UpdateSchemaRequest+    , _idusName           :: !Text+    , _idusCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexingDatasourcesUpdateSchema' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idusXgafv'+--+-- * 'idusUploadProtocol'+--+-- * 'idusAccessToken'+--+-- * 'idusUploadType'+--+-- * 'idusPayload'+--+-- * 'idusName'+--+-- * 'idusCallback'+indexingDatasourcesUpdateSchema+    :: UpdateSchemaRequest -- ^ 'idusPayload'+    -> Text -- ^ 'idusName'+    -> IndexingDatasourcesUpdateSchema+indexingDatasourcesUpdateSchema pIdusPayload_ pIdusName_ =+    IndexingDatasourcesUpdateSchema'+    { _idusXgafv = Nothing+    , _idusUploadProtocol = Nothing+    , _idusAccessToken = Nothing+    , _idusUploadType = Nothing+    , _idusPayload = pIdusPayload_+    , _idusName = pIdusName_+    , _idusCallback = Nothing+    }++-- | V1 error format.+idusXgafv :: Lens' IndexingDatasourcesUpdateSchema (Maybe Xgafv)+idusXgafv+  = lens _idusXgafv (\ s a -> s{_idusXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+idusUploadProtocol :: Lens' IndexingDatasourcesUpdateSchema (Maybe Text)+idusUploadProtocol+  = lens _idusUploadProtocol+      (\ s a -> s{_idusUploadProtocol = a})++-- | OAuth access token.+idusAccessToken :: Lens' IndexingDatasourcesUpdateSchema (Maybe Text)+idusAccessToken+  = lens _idusAccessToken+      (\ s a -> s{_idusAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+idusUploadType :: Lens' IndexingDatasourcesUpdateSchema (Maybe Text)+idusUploadType+  = lens _idusUploadType+      (\ s a -> s{_idusUploadType = a})++-- | Multipart request metadata.+idusPayload :: Lens' IndexingDatasourcesUpdateSchema UpdateSchemaRequest+idusPayload+  = lens _idusPayload (\ s a -> s{_idusPayload = a})++-- | Name of the data source to update Schema. Format:+-- datasources\/{source_id}+idusName :: Lens' IndexingDatasourcesUpdateSchema Text+idusName = lens _idusName (\ s a -> s{_idusName = a})++-- | JSONP+idusCallback :: Lens' IndexingDatasourcesUpdateSchema (Maybe Text)+idusCallback+  = lens _idusCallback (\ s a -> s{_idusCallback = a})++instance GoogleRequest+         IndexingDatasourcesUpdateSchema where+        type Rs IndexingDatasourcesUpdateSchema = Operation+        type Scopes IndexingDatasourcesUpdateSchema =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient IndexingDatasourcesUpdateSchema'{..}+          = go _idusName _idusXgafv _idusUploadProtocol+              _idusAccessToken+              _idusUploadType+              _idusCallback+              (Just AltJSON)+              _idusPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy IndexingDatasourcesUpdateSchemaResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Media/Upload.hs view
@@ -0,0 +1,207 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Media.Upload+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uploads media for indexing. The upload endpoint supports direct and+-- resumable upload protocols and is intended for large items that can not+-- be inlined during index requests. To index large content: 1. Call upload+-- to begin a session and get the item reference. 1. Upload the content+-- using the item reference\'s resource name. 1. Call index with the item+-- reference as the content. For additional information, see [Create a+-- content connector using the REST+-- API](https:\/\/developers.google.com\/cloud-search\/docs\/guides\/content-connector#rest).+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.media.upload@.+module Network.Google.Resource.CloudSearch.Media.Upload+    (+    -- * REST Resource+      MediaUploadResource++    -- * Creating a Request+    , mediaUpload+    , MediaUpload'++    -- * Request Lenses+    , muXgafv+    , muUploadProtocol+    , muResourceName+    , muAccessToken+    , muUploadType+    , muPayload+    , muCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.media.upload@ method which the+-- 'MediaUpload'' request conforms to.+type MediaUploadResource =+     "v1" :>+       "media" :>+         Capture "resourceName" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] Media :> Post '[JSON] Media+       :<|>+       "upload" :>+         "v1" :>+           "media" :>+             Capture "resourceName" Text :>+               QueryParam "$.xgafv" Xgafv :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "callback" Text :>+                         QueryParam "alt" AltJSON :>+                           QueryParam "uploadType" Multipart :>+                             MultipartRelated '[JSON] Media :>+                               Post '[JSON] Media++-- | Uploads media for indexing. The upload endpoint supports direct and+-- resumable upload protocols and is intended for large items that can not+-- be inlined during index requests. To index large content: 1. Call upload+-- to begin a session and get the item reference. 1. Upload the content+-- using the item reference\'s resource name. 1. Call index with the item+-- reference as the content. For additional information, see [Create a+-- content connector using the REST+-- API](https:\/\/developers.google.com\/cloud-search\/docs\/guides\/content-connector#rest).+--+-- /See:/ 'mediaUpload' smart constructor.+data MediaUpload' = MediaUpload''+    { _muXgafv          :: !(Maybe Xgafv)+    , _muUploadProtocol :: !(Maybe Text)+    , _muResourceName   :: !Text+    , _muAccessToken    :: !(Maybe Text)+    , _muUploadType     :: !(Maybe Text)+    , _muPayload        :: !Media+    , _muCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MediaUpload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'muXgafv'+--+-- * 'muUploadProtocol'+--+-- * 'muResourceName'+--+-- * 'muAccessToken'+--+-- * 'muUploadType'+--+-- * 'muPayload'+--+-- * 'muCallback'+mediaUpload+    :: Text -- ^ 'muResourceName'+    -> Media -- ^ 'muPayload'+    -> MediaUpload'+mediaUpload pMuResourceName_ pMuPayload_ =+    MediaUpload''+    { _muXgafv = Nothing+    , _muUploadProtocol = Nothing+    , _muResourceName = pMuResourceName_+    , _muAccessToken = Nothing+    , _muUploadType = Nothing+    , _muPayload = pMuPayload_+    , _muCallback = Nothing+    }++-- | V1 error format.+muXgafv :: Lens' MediaUpload' (Maybe Xgafv)+muXgafv = lens _muXgafv (\ s a -> s{_muXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+muUploadProtocol :: Lens' MediaUpload' (Maybe Text)+muUploadProtocol+  = lens _muUploadProtocol+      (\ s a -> s{_muUploadProtocol = a})++-- | Name of the media that is being downloaded. See+-- ReadRequest.resource_name.+muResourceName :: Lens' MediaUpload' Text+muResourceName+  = lens _muResourceName+      (\ s a -> s{_muResourceName = a})++-- | OAuth access token.+muAccessToken :: Lens' MediaUpload' (Maybe Text)+muAccessToken+  = lens _muAccessToken+      (\ s a -> s{_muAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+muUploadType :: Lens' MediaUpload' (Maybe Text)+muUploadType+  = lens _muUploadType (\ s a -> s{_muUploadType = a})++-- | Multipart request metadata.+muPayload :: Lens' MediaUpload' Media+muPayload+  = lens _muPayload (\ s a -> s{_muPayload = a})++-- | JSONP+muCallback :: Lens' MediaUpload' (Maybe Text)+muCallback+  = lens _muCallback (\ s a -> s{_muCallback = a})++instance GoogleRequest MediaUpload' where+        type Rs MediaUpload' = Media+        type Scopes MediaUpload' =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.indexing"]+        requestClient MediaUpload''{..}+          = go _muResourceName _muXgafv _muUploadProtocol+              _muAccessToken+              _muUploadType+              _muCallback+              (Just AltJSON)+              _muPayload+              cloudSearchService+          where go :<|> _+                  = buildClient (Proxy :: Proxy MediaUploadResource)+                      mempty++instance GoogleRequest (MediaUpload MediaUpload')+         where+        type Rs (MediaUpload MediaUpload') = Media+        type Scopes (MediaUpload MediaUpload') =+             Scopes MediaUpload'+        requestClient (MediaUpload MediaUpload''{..} body)+          = go _muResourceName _muXgafv _muUploadProtocol+              _muAccessToken+              _muUploadType+              _muCallback+              (Just AltJSON)+              (Just Multipart)+              _muPayload+              body+              cloudSearchService+          where _ :<|> go+                  = buildClient (Proxy :: Proxy MediaUploadResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Operations/Get.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Operations.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.operations.get@.+module Network.Google.Resource.CloudSearch.Operations.Get+    (+    -- * REST Resource+      OperationsGetResource++    -- * Creating a Request+    , operationsGet+    , OperationsGet++    -- * Request Lenses+    , ogXgafv+    , ogUploadProtocol+    , ogAccessToken+    , ogUploadType+    , ogName+    , ogCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.operations.get@ method which the+-- 'OperationsGet' request conforms to.+type OperationsGetResource =+     "v1" :>+       Capture "name" Text :>+         QueryParam "$.xgafv" Xgafv :>+           QueryParam "upload_protocol" Text :>+             QueryParam "access_token" Text :>+               QueryParam "uploadType" Text :>+                 QueryParam "callback" Text :>+                   QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Gets the latest state of a long-running operation. Clients can use this+-- method to poll the operation result at intervals as recommended by the+-- API service.+--+-- /See:/ 'operationsGet' smart constructor.+data OperationsGet = OperationsGet'+    { _ogXgafv          :: !(Maybe Xgafv)+    , _ogUploadProtocol :: !(Maybe Text)+    , _ogAccessToken    :: !(Maybe Text)+    , _ogUploadType     :: !(Maybe Text)+    , _ogName           :: !Text+    , _ogCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ogXgafv'+--+-- * 'ogUploadProtocol'+--+-- * 'ogAccessToken'+--+-- * 'ogUploadType'+--+-- * 'ogName'+--+-- * 'ogCallback'+operationsGet+    :: Text -- ^ 'ogName'+    -> OperationsGet+operationsGet pOgName_ =+    OperationsGet'+    { _ogXgafv = Nothing+    , _ogUploadProtocol = Nothing+    , _ogAccessToken = Nothing+    , _ogUploadType = Nothing+    , _ogName = pOgName_+    , _ogCallback = Nothing+    }++-- | V1 error format.+ogXgafv :: Lens' OperationsGet (Maybe Xgafv)+ogXgafv = lens _ogXgafv (\ s a -> s{_ogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ogUploadProtocol :: Lens' OperationsGet (Maybe Text)+ogUploadProtocol+  = lens _ogUploadProtocol+      (\ s a -> s{_ogUploadProtocol = a})++-- | OAuth access token.+ogAccessToken :: Lens' OperationsGet (Maybe Text)+ogAccessToken+  = lens _ogAccessToken+      (\ s a -> s{_ogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ogUploadType :: Lens' OperationsGet (Maybe Text)+ogUploadType+  = lens _ogUploadType (\ s a -> s{_ogUploadType = a})++-- | The name of the operation resource.+ogName :: Lens' OperationsGet Text+ogName = lens _ogName (\ s a -> s{_ogName = a})++-- | JSONP+ogCallback :: Lens' OperationsGet (Maybe Text)+ogCallback+  = lens _ogCallback (\ s a -> s{_ogCallback = a})++instance GoogleRequest OperationsGet where+        type Rs OperationsGet = Operation+        type Scopes OperationsGet =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.debug",+               "https://www.googleapis.com/auth/cloud_search.indexing",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient OperationsGet'{..}+          = go _ogName _ogXgafv _ogUploadProtocol+              _ogAccessToken+              _ogUploadType+              _ogCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient (Proxy :: Proxy OperationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Query/Search.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Query.Search+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The Cloud Search Query API provides the search method, which returns the+-- most relevant results from a user query. The results can come from G+-- Suite Apps, such as Gmail or Google Drive, or they can come from data+-- that you have indexed from a third party.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.query.search@.+module Network.Google.Resource.CloudSearch.Query.Search+    (+    -- * REST Resource+      QuerySearchResource++    -- * Creating a Request+    , querySearch+    , QuerySearch++    -- * Request Lenses+    , qXgafv+    , qUploadProtocol+    , qAccessToken+    , qUploadType+    , qPayload+    , qCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.query.search@ method which the+-- 'QuerySearch' request conforms to.+type QuerySearchResource =+     "v1" :>+       "query" :>+         "search" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] SearchRequest :>+                         Post '[JSON] SearchResponse++-- | The Cloud Search Query API provides the search method, which returns the+-- most relevant results from a user query. The results can come from G+-- Suite Apps, such as Gmail or Google Drive, or they can come from data+-- that you have indexed from a third party.+--+-- /See:/ 'querySearch' smart constructor.+data QuerySearch = QuerySearch'+    { _qXgafv          :: !(Maybe Xgafv)+    , _qUploadProtocol :: !(Maybe Text)+    , _qAccessToken    :: !(Maybe Text)+    , _qUploadType     :: !(Maybe Text)+    , _qPayload        :: !SearchRequest+    , _qCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QuerySearch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qXgafv'+--+-- * 'qUploadProtocol'+--+-- * 'qAccessToken'+--+-- * 'qUploadType'+--+-- * 'qPayload'+--+-- * 'qCallback'+querySearch+    :: SearchRequest -- ^ 'qPayload'+    -> QuerySearch+querySearch pQPayload_ =+    QuerySearch'+    { _qXgafv = Nothing+    , _qUploadProtocol = Nothing+    , _qAccessToken = Nothing+    , _qUploadType = Nothing+    , _qPayload = pQPayload_+    , _qCallback = Nothing+    }++-- | V1 error format.+qXgafv :: Lens' QuerySearch (Maybe Xgafv)+qXgafv = lens _qXgafv (\ s a -> s{_qXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+qUploadProtocol :: Lens' QuerySearch (Maybe Text)+qUploadProtocol+  = lens _qUploadProtocol+      (\ s a -> s{_qUploadProtocol = a})++-- | OAuth access token.+qAccessToken :: Lens' QuerySearch (Maybe Text)+qAccessToken+  = lens _qAccessToken (\ s a -> s{_qAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+qUploadType :: Lens' QuerySearch (Maybe Text)+qUploadType+  = lens _qUploadType (\ s a -> s{_qUploadType = a})++-- | Multipart request metadata.+qPayload :: Lens' QuerySearch SearchRequest+qPayload = lens _qPayload (\ s a -> s{_qPayload = a})++-- | JSONP+qCallback :: Lens' QuerySearch (Maybe Text)+qCallback+  = lens _qCallback (\ s a -> s{_qCallback = a})++instance GoogleRequest QuerySearch where+        type Rs QuerySearch = SearchResponse+        type Scopes QuerySearch =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.query"]+        requestClient QuerySearch'{..}+          = go _qXgafv _qUploadProtocol _qAccessToken+              _qUploadType+              _qCallback+              (Just AltJSON)+              _qPayload+              cloudSearchService+          where go+                  = buildClient (Proxy :: Proxy QuerySearchResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Query/Sources/List.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Query.Sources.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns list of sources that user can use for Search and Suggest APIs.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.query.sources.list@.+module Network.Google.Resource.CloudSearch.Query.Sources.List+    (+    -- * REST Resource+      QuerySourcesListResource++    -- * Creating a Request+    , querySourcesList+    , QuerySourcesList++    -- * Request Lenses+    , qslXgafv+    , qslRequestOptionsTimeZone+    , qslRequestOptionsDebugOptionsEnableDebugging+    , qslUploadProtocol+    , qslAccessToken+    , qslUploadType+    , qslRequestOptionsSearchApplicationId+    , qslRequestOptionsLanguageCode+    , qslPageToken+    , qslCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.query.sources.list@ method which the+-- 'QuerySourcesList' request conforms to.+type QuerySourcesListResource =+     "v1" :>+       "query" :>+         "sources" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "requestOptions.timeZone" Text :>+               QueryParam+                 "requestOptions.debugOptions.enableDebugging"+                 Bool+                 :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "requestOptions.searchApplicationId" Text+                         :>+                         QueryParam "requestOptions.languageCode" Text :>+                           QueryParam "pageToken" Text :>+                             QueryParam "callback" Text :>+                               QueryParam "alt" AltJSON :>+                                 Get '[JSON] ListQuerySourcesResponse++-- | Returns list of sources that user can use for Search and Suggest APIs.+--+-- /See:/ 'querySourcesList' smart constructor.+data QuerySourcesList = QuerySourcesList'+    { _qslXgafv                                     :: !(Maybe Xgafv)+    , _qslRequestOptionsTimeZone                    :: !(Maybe Text)+    , _qslRequestOptionsDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _qslUploadProtocol                            :: !(Maybe Text)+    , _qslAccessToken                               :: !(Maybe Text)+    , _qslUploadType                                :: !(Maybe Text)+    , _qslRequestOptionsSearchApplicationId         :: !(Maybe Text)+    , _qslRequestOptionsLanguageCode                :: !(Maybe Text)+    , _qslPageToken                                 :: !(Maybe Text)+    , _qslCallback                                  :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QuerySourcesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qslXgafv'+--+-- * 'qslRequestOptionsTimeZone'+--+-- * 'qslRequestOptionsDebugOptionsEnableDebugging'+--+-- * 'qslUploadProtocol'+--+-- * 'qslAccessToken'+--+-- * 'qslUploadType'+--+-- * 'qslRequestOptionsSearchApplicationId'+--+-- * 'qslRequestOptionsLanguageCode'+--+-- * 'qslPageToken'+--+-- * 'qslCallback'+querySourcesList+    :: QuerySourcesList+querySourcesList =+    QuerySourcesList'+    { _qslXgafv = Nothing+    , _qslRequestOptionsTimeZone = Nothing+    , _qslRequestOptionsDebugOptionsEnableDebugging = Nothing+    , _qslUploadProtocol = Nothing+    , _qslAccessToken = Nothing+    , _qslUploadType = Nothing+    , _qslRequestOptionsSearchApplicationId = Nothing+    , _qslRequestOptionsLanguageCode = Nothing+    , _qslPageToken = Nothing+    , _qslCallback = Nothing+    }++-- | V1 error format.+qslXgafv :: Lens' QuerySourcesList (Maybe Xgafv)+qslXgafv = lens _qslXgafv (\ s a -> s{_qslXgafv = a})++-- | Current user\'s time zone id, such as \"America\/Los_Angeles\" or+-- \"Australia\/Sydney\". These IDs are defined by [Unicode Common Locale+-- Data Repository (CLDR)](http:\/\/cldr.unicode.org\/) project, and+-- currently available in the file+-- [timezone.xml](http:\/\/unicode.org\/repos\/cldr\/trunk\/common\/bcp47\/timezone.xml)+qslRequestOptionsTimeZone :: Lens' QuerySourcesList (Maybe Text)+qslRequestOptionsTimeZone+  = lens _qslRequestOptionsTimeZone+      (\ s a -> s{_qslRequestOptionsTimeZone = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+qslRequestOptionsDebugOptionsEnableDebugging :: Lens' QuerySourcesList (Maybe Bool)+qslRequestOptionsDebugOptionsEnableDebugging+  = lens _qslRequestOptionsDebugOptionsEnableDebugging+      (\ s a ->+         s{_qslRequestOptionsDebugOptionsEnableDebugging = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+qslUploadProtocol :: Lens' QuerySourcesList (Maybe Text)+qslUploadProtocol+  = lens _qslUploadProtocol+      (\ s a -> s{_qslUploadProtocol = a})++-- | OAuth access token.+qslAccessToken :: Lens' QuerySourcesList (Maybe Text)+qslAccessToken+  = lens _qslAccessToken+      (\ s a -> s{_qslAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+qslUploadType :: Lens' QuerySourcesList (Maybe Text)+qslUploadType+  = lens _qslUploadType+      (\ s a -> s{_qslUploadType = a})++-- | Id of the application created using SearchApplicationsService.+qslRequestOptionsSearchApplicationId :: Lens' QuerySourcesList (Maybe Text)+qslRequestOptionsSearchApplicationId+  = lens _qslRequestOptionsSearchApplicationId+      (\ s a ->+         s{_qslRequestOptionsSearchApplicationId = a})++-- | The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more+-- information, see+-- http:\/\/www.unicode.org\/reports\/tr35\/#Unicode_locale_identifier. For+-- translations.+qslRequestOptionsLanguageCode :: Lens' QuerySourcesList (Maybe Text)+qslRequestOptionsLanguageCode+  = lens _qslRequestOptionsLanguageCode+      (\ s a -> s{_qslRequestOptionsLanguageCode = a})++-- | Number of sources to return in the response.+qslPageToken :: Lens' QuerySourcesList (Maybe Text)+qslPageToken+  = lens _qslPageToken (\ s a -> s{_qslPageToken = a})++-- | JSONP+qslCallback :: Lens' QuerySourcesList (Maybe Text)+qslCallback+  = lens _qslCallback (\ s a -> s{_qslCallback = a})++instance GoogleRequest QuerySourcesList where+        type Rs QuerySourcesList = ListQuerySourcesResponse+        type Scopes QuerySourcesList =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.query"]+        requestClient QuerySourcesList'{..}+          = go _qslXgafv _qslRequestOptionsTimeZone+              _qslRequestOptionsDebugOptionsEnableDebugging+              _qslUploadProtocol+              _qslAccessToken+              _qslUploadType+              _qslRequestOptionsSearchApplicationId+              _qslRequestOptionsLanguageCode+              _qslPageToken+              _qslCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy QuerySourcesListResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Query/Suggest.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Query.Suggest+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides suggestions for autocompleting the query.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.query.suggest@.+module Network.Google.Resource.CloudSearch.Query.Suggest+    (+    -- * REST Resource+      QuerySuggestResource++    -- * Creating a Request+    , querySuggest+    , QuerySuggest++    -- * Request Lenses+    , qsXgafv+    , qsUploadProtocol+    , qsAccessToken+    , qsUploadType+    , qsPayload+    , qsCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.query.suggest@ method which the+-- 'QuerySuggest' request conforms to.+type QuerySuggestResource =+     "v1" :>+       "query" :>+         "suggest" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] SuggestRequest :>+                         Post '[JSON] SuggestResponse++-- | Provides suggestions for autocompleting the query.+--+-- /See:/ 'querySuggest' smart constructor.+data QuerySuggest = QuerySuggest'+    { _qsXgafv          :: !(Maybe Xgafv)+    , _qsUploadProtocol :: !(Maybe Text)+    , _qsAccessToken    :: !(Maybe Text)+    , _qsUploadType     :: !(Maybe Text)+    , _qsPayload        :: !SuggestRequest+    , _qsCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'QuerySuggest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qsXgafv'+--+-- * 'qsUploadProtocol'+--+-- * 'qsAccessToken'+--+-- * 'qsUploadType'+--+-- * 'qsPayload'+--+-- * 'qsCallback'+querySuggest+    :: SuggestRequest -- ^ 'qsPayload'+    -> QuerySuggest+querySuggest pQsPayload_ =+    QuerySuggest'+    { _qsXgafv = Nothing+    , _qsUploadProtocol = Nothing+    , _qsAccessToken = Nothing+    , _qsUploadType = Nothing+    , _qsPayload = pQsPayload_+    , _qsCallback = Nothing+    }++-- | V1 error format.+qsXgafv :: Lens' QuerySuggest (Maybe Xgafv)+qsXgafv = lens _qsXgafv (\ s a -> s{_qsXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+qsUploadProtocol :: Lens' QuerySuggest (Maybe Text)+qsUploadProtocol+  = lens _qsUploadProtocol+      (\ s a -> s{_qsUploadProtocol = a})++-- | OAuth access token.+qsAccessToken :: Lens' QuerySuggest (Maybe Text)+qsAccessToken+  = lens _qsAccessToken+      (\ s a -> s{_qsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+qsUploadType :: Lens' QuerySuggest (Maybe Text)+qsUploadType+  = lens _qsUploadType (\ s a -> s{_qsUploadType = a})++-- | Multipart request metadata.+qsPayload :: Lens' QuerySuggest SuggestRequest+qsPayload+  = lens _qsPayload (\ s a -> s{_qsPayload = a})++-- | JSONP+qsCallback :: Lens' QuerySuggest (Maybe Text)+qsCallback+  = lens _qsCallback (\ s a -> s{_qsCallback = a})++instance GoogleRequest QuerySuggest where+        type Rs QuerySuggest = SuggestResponse+        type Scopes QuerySuggest =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.query"]+        requestClient QuerySuggest'{..}+          = go _qsXgafv _qsUploadProtocol _qsAccessToken+              _qsUploadType+              _qsCallback+              (Just AltJSON)+              _qsPayload+              cloudSearchService+          where go+                  = buildClient (Proxy :: Proxy QuerySuggestResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Create.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.Datasources.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.datasources.create@.+module Network.Google.Resource.CloudSearch.Settings.Datasources.Create+    (+    -- * REST Resource+      SettingsDatasourcesCreateResource++    -- * Creating a Request+    , settingsDatasourcesCreate+    , SettingsDatasourcesCreate++    -- * Request Lenses+    , sdcXgafv+    , sdcUploadProtocol+    , sdcAccessToken+    , sdcUploadType+    , sdcPayload+    , sdcCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.datasources.create@ method which the+-- 'SettingsDatasourcesCreate' request conforms to.+type SettingsDatasourcesCreateResource =+     "v1" :>+       "settings" :>+         "datasources" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] DataSource :> Post '[JSON] Operation++-- | Creates data source.+--+-- /See:/ 'settingsDatasourcesCreate' smart constructor.+data SettingsDatasourcesCreate = SettingsDatasourcesCreate'+    { _sdcXgafv          :: !(Maybe Xgafv)+    , _sdcUploadProtocol :: !(Maybe Text)+    , _sdcAccessToken    :: !(Maybe Text)+    , _sdcUploadType     :: !(Maybe Text)+    , _sdcPayload        :: !DataSource+    , _sdcCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsDatasourcesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdcXgafv'+--+-- * 'sdcUploadProtocol'+--+-- * 'sdcAccessToken'+--+-- * 'sdcUploadType'+--+-- * 'sdcPayload'+--+-- * 'sdcCallback'+settingsDatasourcesCreate+    :: DataSource -- ^ 'sdcPayload'+    -> SettingsDatasourcesCreate+settingsDatasourcesCreate pSdcPayload_ =+    SettingsDatasourcesCreate'+    { _sdcXgafv = Nothing+    , _sdcUploadProtocol = Nothing+    , _sdcAccessToken = Nothing+    , _sdcUploadType = Nothing+    , _sdcPayload = pSdcPayload_+    , _sdcCallback = Nothing+    }++-- | V1 error format.+sdcXgafv :: Lens' SettingsDatasourcesCreate (Maybe Xgafv)+sdcXgafv = lens _sdcXgafv (\ s a -> s{_sdcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdcUploadProtocol :: Lens' SettingsDatasourcesCreate (Maybe Text)+sdcUploadProtocol+  = lens _sdcUploadProtocol+      (\ s a -> s{_sdcUploadProtocol = a})++-- | OAuth access token.+sdcAccessToken :: Lens' SettingsDatasourcesCreate (Maybe Text)+sdcAccessToken+  = lens _sdcAccessToken+      (\ s a -> s{_sdcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdcUploadType :: Lens' SettingsDatasourcesCreate (Maybe Text)+sdcUploadType+  = lens _sdcUploadType+      (\ s a -> s{_sdcUploadType = a})++-- | Multipart request metadata.+sdcPayload :: Lens' SettingsDatasourcesCreate DataSource+sdcPayload+  = lens _sdcPayload (\ s a -> s{_sdcPayload = a})++-- | JSONP+sdcCallback :: Lens' SettingsDatasourcesCreate (Maybe Text)+sdcCallback+  = lens _sdcCallback (\ s a -> s{_sdcCallback = a})++instance GoogleRequest SettingsDatasourcesCreate+         where+        type Rs SettingsDatasourcesCreate = Operation+        type Scopes SettingsDatasourcesCreate =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient SettingsDatasourcesCreate'{..}+          = go _sdcXgafv _sdcUploadProtocol _sdcAccessToken+              _sdcUploadType+              _sdcCallback+              (Just AltJSON)+              _sdcPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy SettingsDatasourcesCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Delete.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.Datasources.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.datasources.delete@.+module Network.Google.Resource.CloudSearch.Settings.Datasources.Delete+    (+    -- * REST Resource+      SettingsDatasourcesDeleteResource++    -- * Creating a Request+    , settingsDatasourcesDelete+    , SettingsDatasourcesDelete++    -- * Request Lenses+    , sddXgafv+    , sddUploadProtocol+    , sddAccessToken+    , sddUploadType+    , sddName+    , sddDebugOptionsEnableDebugging+    , sddCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.datasources.delete@ method which the+-- 'SettingsDatasourcesDelete' request conforms to.+type SettingsDatasourcesDeleteResource =+     "v1" :>+       "settings" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes a data source.+--+-- /See:/ 'settingsDatasourcesDelete' smart constructor.+data SettingsDatasourcesDelete = SettingsDatasourcesDelete'+    { _sddXgafv                       :: !(Maybe Xgafv)+    , _sddUploadProtocol              :: !(Maybe Text)+    , _sddAccessToken                 :: !(Maybe Text)+    , _sddUploadType                  :: !(Maybe Text)+    , _sddName                        :: !Text+    , _sddDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _sddCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsDatasourcesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sddXgafv'+--+-- * 'sddUploadProtocol'+--+-- * 'sddAccessToken'+--+-- * 'sddUploadType'+--+-- * 'sddName'+--+-- * 'sddDebugOptionsEnableDebugging'+--+-- * 'sddCallback'+settingsDatasourcesDelete+    :: Text -- ^ 'sddName'+    -> SettingsDatasourcesDelete+settingsDatasourcesDelete pSddName_ =+    SettingsDatasourcesDelete'+    { _sddXgafv = Nothing+    , _sddUploadProtocol = Nothing+    , _sddAccessToken = Nothing+    , _sddUploadType = Nothing+    , _sddName = pSddName_+    , _sddDebugOptionsEnableDebugging = Nothing+    , _sddCallback = Nothing+    }++-- | V1 error format.+sddXgafv :: Lens' SettingsDatasourcesDelete (Maybe Xgafv)+sddXgafv = lens _sddXgafv (\ s a -> s{_sddXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sddUploadProtocol :: Lens' SettingsDatasourcesDelete (Maybe Text)+sddUploadProtocol+  = lens _sddUploadProtocol+      (\ s a -> s{_sddUploadProtocol = a})++-- | OAuth access token.+sddAccessToken :: Lens' SettingsDatasourcesDelete (Maybe Text)+sddAccessToken+  = lens _sddAccessToken+      (\ s a -> s{_sddAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sddUploadType :: Lens' SettingsDatasourcesDelete (Maybe Text)+sddUploadType+  = lens _sddUploadType+      (\ s a -> s{_sddUploadType = a})++-- | Name of the data source. Format: datasources\/{source_id}.+sddName :: Lens' SettingsDatasourcesDelete Text+sddName = lens _sddName (\ s a -> s{_sddName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+sddDebugOptionsEnableDebugging :: Lens' SettingsDatasourcesDelete (Maybe Bool)+sddDebugOptionsEnableDebugging+  = lens _sddDebugOptionsEnableDebugging+      (\ s a -> s{_sddDebugOptionsEnableDebugging = a})++-- | JSONP+sddCallback :: Lens' SettingsDatasourcesDelete (Maybe Text)+sddCallback+  = lens _sddCallback (\ s a -> s{_sddCallback = a})++instance GoogleRequest SettingsDatasourcesDelete+         where+        type Rs SettingsDatasourcesDelete = Operation+        type Scopes SettingsDatasourcesDelete =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient SettingsDatasourcesDelete'{..}+          = go _sddName _sddXgafv _sddUploadProtocol+              _sddAccessToken+              _sddUploadType+              _sddDebugOptionsEnableDebugging+              _sddCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy SettingsDatasourcesDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Get.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.Datasources.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.datasources.get@.+module Network.Google.Resource.CloudSearch.Settings.Datasources.Get+    (+    -- * REST Resource+      SettingsDatasourcesGetResource++    -- * Creating a Request+    , settingsDatasourcesGet+    , SettingsDatasourcesGet++    -- * Request Lenses+    , sdgXgafv+    , sdgUploadProtocol+    , sdgAccessToken+    , sdgUploadType+    , sdgName+    , sdgDebugOptionsEnableDebugging+    , sdgCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.datasources.get@ method which the+-- 'SettingsDatasourcesGet' request conforms to.+type SettingsDatasourcesGetResource =+     "v1" :>+       "settings" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :> Get '[JSON] DataSource++-- | Gets a data source.+--+-- /See:/ 'settingsDatasourcesGet' smart constructor.+data SettingsDatasourcesGet = SettingsDatasourcesGet'+    { _sdgXgafv                       :: !(Maybe Xgafv)+    , _sdgUploadProtocol              :: !(Maybe Text)+    , _sdgAccessToken                 :: !(Maybe Text)+    , _sdgUploadType                  :: !(Maybe Text)+    , _sdgName                        :: !Text+    , _sdgDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _sdgCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsDatasourcesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdgXgafv'+--+-- * 'sdgUploadProtocol'+--+-- * 'sdgAccessToken'+--+-- * 'sdgUploadType'+--+-- * 'sdgName'+--+-- * 'sdgDebugOptionsEnableDebugging'+--+-- * 'sdgCallback'+settingsDatasourcesGet+    :: Text -- ^ 'sdgName'+    -> SettingsDatasourcesGet+settingsDatasourcesGet pSdgName_ =+    SettingsDatasourcesGet'+    { _sdgXgafv = Nothing+    , _sdgUploadProtocol = Nothing+    , _sdgAccessToken = Nothing+    , _sdgUploadType = Nothing+    , _sdgName = pSdgName_+    , _sdgDebugOptionsEnableDebugging = Nothing+    , _sdgCallback = Nothing+    }++-- | V1 error format.+sdgXgafv :: Lens' SettingsDatasourcesGet (Maybe Xgafv)+sdgXgafv = lens _sdgXgafv (\ s a -> s{_sdgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdgUploadProtocol :: Lens' SettingsDatasourcesGet (Maybe Text)+sdgUploadProtocol+  = lens _sdgUploadProtocol+      (\ s a -> s{_sdgUploadProtocol = a})++-- | OAuth access token.+sdgAccessToken :: Lens' SettingsDatasourcesGet (Maybe Text)+sdgAccessToken+  = lens _sdgAccessToken+      (\ s a -> s{_sdgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdgUploadType :: Lens' SettingsDatasourcesGet (Maybe Text)+sdgUploadType+  = lens _sdgUploadType+      (\ s a -> s{_sdgUploadType = a})++-- | Name of the data source resource. Format: datasources\/{source_id}.+sdgName :: Lens' SettingsDatasourcesGet Text+sdgName = lens _sdgName (\ s a -> s{_sdgName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+sdgDebugOptionsEnableDebugging :: Lens' SettingsDatasourcesGet (Maybe Bool)+sdgDebugOptionsEnableDebugging+  = lens _sdgDebugOptionsEnableDebugging+      (\ s a -> s{_sdgDebugOptionsEnableDebugging = a})++-- | JSONP+sdgCallback :: Lens' SettingsDatasourcesGet (Maybe Text)+sdgCallback+  = lens _sdgCallback (\ s a -> s{_sdgCallback = a})++instance GoogleRequest SettingsDatasourcesGet where+        type Rs SettingsDatasourcesGet = DataSource+        type Scopes SettingsDatasourcesGet =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient SettingsDatasourcesGet'{..}+          = go _sdgName _sdgXgafv _sdgUploadProtocol+              _sdgAccessToken+              _sdgUploadType+              _sdgDebugOptionsEnableDebugging+              _sdgCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy SettingsDatasourcesGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/Datasources/List.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.Datasources.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists data sources.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.datasources.list@.+module Network.Google.Resource.CloudSearch.Settings.Datasources.List+    (+    -- * REST Resource+      SettingsDatasourcesListResource++    -- * Creating a Request+    , settingsDatasourcesList+    , SettingsDatasourcesList++    -- * Request Lenses+    , sdlXgafv+    , sdlUploadProtocol+    , sdlAccessToken+    , sdlUploadType+    , sdlDebugOptionsEnableDebugging+    , sdlPageToken+    , sdlPageSize+    , sdlCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.datasources.list@ method which the+-- 'SettingsDatasourcesList' request conforms to.+type SettingsDatasourcesListResource =+     "v1" :>+       "settings" :>+         "datasources" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListDataSourceResponse++-- | Lists data sources.+--+-- /See:/ 'settingsDatasourcesList' smart constructor.+data SettingsDatasourcesList = SettingsDatasourcesList'+    { _sdlXgafv                       :: !(Maybe Xgafv)+    , _sdlUploadProtocol              :: !(Maybe Text)+    , _sdlAccessToken                 :: !(Maybe Text)+    , _sdlUploadType                  :: !(Maybe Text)+    , _sdlDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _sdlPageToken                   :: !(Maybe Text)+    , _sdlPageSize                    :: !(Maybe (Textual Int32))+    , _sdlCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsDatasourcesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdlXgafv'+--+-- * 'sdlUploadProtocol'+--+-- * 'sdlAccessToken'+--+-- * 'sdlUploadType'+--+-- * 'sdlDebugOptionsEnableDebugging'+--+-- * 'sdlPageToken'+--+-- * 'sdlPageSize'+--+-- * 'sdlCallback'+settingsDatasourcesList+    :: SettingsDatasourcesList+settingsDatasourcesList =+    SettingsDatasourcesList'+    { _sdlXgafv = Nothing+    , _sdlUploadProtocol = Nothing+    , _sdlAccessToken = Nothing+    , _sdlUploadType = Nothing+    , _sdlDebugOptionsEnableDebugging = Nothing+    , _sdlPageToken = Nothing+    , _sdlPageSize = Nothing+    , _sdlCallback = Nothing+    }++-- | V1 error format.+sdlXgafv :: Lens' SettingsDatasourcesList (Maybe Xgafv)+sdlXgafv = lens _sdlXgafv (\ s a -> s{_sdlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdlUploadProtocol :: Lens' SettingsDatasourcesList (Maybe Text)+sdlUploadProtocol+  = lens _sdlUploadProtocol+      (\ s a -> s{_sdlUploadProtocol = a})++-- | OAuth access token.+sdlAccessToken :: Lens' SettingsDatasourcesList (Maybe Text)+sdlAccessToken+  = lens _sdlAccessToken+      (\ s a -> s{_sdlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdlUploadType :: Lens' SettingsDatasourcesList (Maybe Text)+sdlUploadType+  = lens _sdlUploadType+      (\ s a -> s{_sdlUploadType = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+sdlDebugOptionsEnableDebugging :: Lens' SettingsDatasourcesList (Maybe Bool)+sdlDebugOptionsEnableDebugging+  = lens _sdlDebugOptionsEnableDebugging+      (\ s a -> s{_sdlDebugOptionsEnableDebugging = a})++-- | Starting index of the results.+sdlPageToken :: Lens' SettingsDatasourcesList (Maybe Text)+sdlPageToken+  = lens _sdlPageToken (\ s a -> s{_sdlPageToken = a})++-- | Maximum number of data sources to fetch in a request. The max value is+-- 100.+-- The default value is 10+sdlPageSize :: Lens' SettingsDatasourcesList (Maybe Int32)+sdlPageSize+  = lens _sdlPageSize (\ s a -> s{_sdlPageSize = a}) .+      mapping _Coerce++-- | JSONP+sdlCallback :: Lens' SettingsDatasourcesList (Maybe Text)+sdlCallback+  = lens _sdlCallback (\ s a -> s{_sdlCallback = a})++instance GoogleRequest SettingsDatasourcesList where+        type Rs SettingsDatasourcesList =+             ListDataSourceResponse+        type Scopes SettingsDatasourcesList =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient SettingsDatasourcesList'{..}+          = go _sdlXgafv _sdlUploadProtocol _sdlAccessToken+              _sdlUploadType+              _sdlDebugOptionsEnableDebugging+              _sdlPageToken+              _sdlPageSize+              _sdlCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy SettingsDatasourcesListResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Update.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.Datasources.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.datasources.update@.+module Network.Google.Resource.CloudSearch.Settings.Datasources.Update+    (+    -- * REST Resource+      SettingsDatasourcesUpdateResource++    -- * Creating a Request+    , settingsDatasourcesUpdate+    , SettingsDatasourcesUpdate++    -- * Request Lenses+    , sduXgafv+    , sduUploadProtocol+    , sduAccessToken+    , sduUploadType+    , sduPayload+    , sduName+    , sduCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.datasources.update@ method which the+-- 'SettingsDatasourcesUpdate' request conforms to.+type SettingsDatasourcesUpdateResource =+     "v1" :>+       "settings" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] UpdateDataSourceRequest :>+                         Put '[JSON] Operation++-- | Updates a data source.+--+-- /See:/ 'settingsDatasourcesUpdate' smart constructor.+data SettingsDatasourcesUpdate = SettingsDatasourcesUpdate'+    { _sduXgafv          :: !(Maybe Xgafv)+    , _sduUploadProtocol :: !(Maybe Text)+    , _sduAccessToken    :: !(Maybe Text)+    , _sduUploadType     :: !(Maybe Text)+    , _sduPayload        :: !UpdateDataSourceRequest+    , _sduName           :: !Text+    , _sduCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsDatasourcesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sduXgafv'+--+-- * 'sduUploadProtocol'+--+-- * 'sduAccessToken'+--+-- * 'sduUploadType'+--+-- * 'sduPayload'+--+-- * 'sduName'+--+-- * 'sduCallback'+settingsDatasourcesUpdate+    :: UpdateDataSourceRequest -- ^ 'sduPayload'+    -> Text -- ^ 'sduName'+    -> SettingsDatasourcesUpdate+settingsDatasourcesUpdate pSduPayload_ pSduName_ =+    SettingsDatasourcesUpdate'+    { _sduXgafv = Nothing+    , _sduUploadProtocol = Nothing+    , _sduAccessToken = Nothing+    , _sduUploadType = Nothing+    , _sduPayload = pSduPayload_+    , _sduName = pSduName_+    , _sduCallback = Nothing+    }++-- | V1 error format.+sduXgafv :: Lens' SettingsDatasourcesUpdate (Maybe Xgafv)+sduXgafv = lens _sduXgafv (\ s a -> s{_sduXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sduUploadProtocol :: Lens' SettingsDatasourcesUpdate (Maybe Text)+sduUploadProtocol+  = lens _sduUploadProtocol+      (\ s a -> s{_sduUploadProtocol = a})++-- | OAuth access token.+sduAccessToken :: Lens' SettingsDatasourcesUpdate (Maybe Text)+sduAccessToken+  = lens _sduAccessToken+      (\ s a -> s{_sduAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sduUploadType :: Lens' SettingsDatasourcesUpdate (Maybe Text)+sduUploadType+  = lens _sduUploadType+      (\ s a -> s{_sduUploadType = a})++-- | Multipart request metadata.+sduPayload :: Lens' SettingsDatasourcesUpdate UpdateDataSourceRequest+sduPayload+  = lens _sduPayload (\ s a -> s{_sduPayload = a})++-- | Name of the data source resource. Format: datasources\/{source_id}.+-- The name is ignored when creating a data source.+sduName :: Lens' SettingsDatasourcesUpdate Text+sduName = lens _sduName (\ s a -> s{_sduName = a})++-- | JSONP+sduCallback :: Lens' SettingsDatasourcesUpdate (Maybe Text)+sduCallback+  = lens _sduCallback (\ s a -> s{_sduCallback = a})++instance GoogleRequest SettingsDatasourcesUpdate+         where+        type Rs SettingsDatasourcesUpdate = Operation+        type Scopes SettingsDatasourcesUpdate =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.indexing"]+        requestClient SettingsDatasourcesUpdate'{..}+          = go _sduName _sduXgafv _sduUploadProtocol+              _sduAccessToken+              _sduUploadType+              _sduCallback+              (Just AltJSON)+              _sduPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy SettingsDatasourcesUpdateResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Create.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.SearchApplications.Create+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a search application.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.searchapplications.create@.+module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Create+    (+    -- * REST Resource+      SettingsSearchApplicationsCreateResource++    -- * Creating a Request+    , settingsSearchApplicationsCreate+    , SettingsSearchApplicationsCreate++    -- * Request Lenses+    , ssacXgafv+    , ssacUploadProtocol+    , ssacAccessToken+    , ssacUploadType+    , ssacPayload+    , ssacCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.searchapplications.create@ method which the+-- 'SettingsSearchApplicationsCreate' request conforms to.+type SettingsSearchApplicationsCreateResource =+     "v1" :>+       "settings" :>+         "searchapplications" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] SearchApplication :>+                         Post '[JSON] Operation++-- | Creates a search application.+--+-- /See:/ 'settingsSearchApplicationsCreate' smart constructor.+data SettingsSearchApplicationsCreate = SettingsSearchApplicationsCreate'+    { _ssacXgafv          :: !(Maybe Xgafv)+    , _ssacUploadProtocol :: !(Maybe Text)+    , _ssacAccessToken    :: !(Maybe Text)+    , _ssacUploadType     :: !(Maybe Text)+    , _ssacPayload        :: !SearchApplication+    , _ssacCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsSearchApplicationsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssacXgafv'+--+-- * 'ssacUploadProtocol'+--+-- * 'ssacAccessToken'+--+-- * 'ssacUploadType'+--+-- * 'ssacPayload'+--+-- * 'ssacCallback'+settingsSearchApplicationsCreate+    :: SearchApplication -- ^ 'ssacPayload'+    -> SettingsSearchApplicationsCreate+settingsSearchApplicationsCreate pSsacPayload_ =+    SettingsSearchApplicationsCreate'+    { _ssacXgafv = Nothing+    , _ssacUploadProtocol = Nothing+    , _ssacAccessToken = Nothing+    , _ssacUploadType = Nothing+    , _ssacPayload = pSsacPayload_+    , _ssacCallback = Nothing+    }++-- | V1 error format.+ssacXgafv :: Lens' SettingsSearchApplicationsCreate (Maybe Xgafv)+ssacXgafv+  = lens _ssacXgafv (\ s a -> s{_ssacXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ssacUploadProtocol :: Lens' SettingsSearchApplicationsCreate (Maybe Text)+ssacUploadProtocol+  = lens _ssacUploadProtocol+      (\ s a -> s{_ssacUploadProtocol = a})++-- | OAuth access token.+ssacAccessToken :: Lens' SettingsSearchApplicationsCreate (Maybe Text)+ssacAccessToken+  = lens _ssacAccessToken+      (\ s a -> s{_ssacAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ssacUploadType :: Lens' SettingsSearchApplicationsCreate (Maybe Text)+ssacUploadType+  = lens _ssacUploadType+      (\ s a -> s{_ssacUploadType = a})++-- | Multipart request metadata.+ssacPayload :: Lens' SettingsSearchApplicationsCreate SearchApplication+ssacPayload+  = lens _ssacPayload (\ s a -> s{_ssacPayload = a})++-- | JSONP+ssacCallback :: Lens' SettingsSearchApplicationsCreate (Maybe Text)+ssacCallback+  = lens _ssacCallback (\ s a -> s{_ssacCallback = a})++instance GoogleRequest+         SettingsSearchApplicationsCreate where+        type Rs SettingsSearchApplicationsCreate = Operation+        type Scopes SettingsSearchApplicationsCreate =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient SettingsSearchApplicationsCreate'{..}+          = go _ssacXgafv _ssacUploadProtocol _ssacAccessToken+              _ssacUploadType+              _ssacCallback+              (Just AltJSON)+              _ssacPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy SettingsSearchApplicationsCreateResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Delete.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.SearchApplications.Delete+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a search application.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.searchapplications.delete@.+module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Delete+    (+    -- * REST Resource+      SettingsSearchApplicationsDeleteResource++    -- * Creating a Request+    , settingsSearchApplicationsDelete+    , SettingsSearchApplicationsDelete++    -- * Request Lenses+    , ssadXgafv+    , ssadUploadProtocol+    , ssadAccessToken+    , ssadUploadType+    , ssadName+    , ssadDebugOptionsEnableDebugging+    , ssadCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.searchapplications.delete@ method which the+-- 'SettingsSearchApplicationsDelete' request conforms to.+type SettingsSearchApplicationsDeleteResource =+     "v1" :>+       "settings" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes a search application.+--+-- /See:/ 'settingsSearchApplicationsDelete' smart constructor.+data SettingsSearchApplicationsDelete = SettingsSearchApplicationsDelete'+    { _ssadXgafv                       :: !(Maybe Xgafv)+    , _ssadUploadProtocol              :: !(Maybe Text)+    , _ssadAccessToken                 :: !(Maybe Text)+    , _ssadUploadType                  :: !(Maybe Text)+    , _ssadName                        :: !Text+    , _ssadDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _ssadCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsSearchApplicationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssadXgafv'+--+-- * 'ssadUploadProtocol'+--+-- * 'ssadAccessToken'+--+-- * 'ssadUploadType'+--+-- * 'ssadName'+--+-- * 'ssadDebugOptionsEnableDebugging'+--+-- * 'ssadCallback'+settingsSearchApplicationsDelete+    :: Text -- ^ 'ssadName'+    -> SettingsSearchApplicationsDelete+settingsSearchApplicationsDelete pSsadName_ =+    SettingsSearchApplicationsDelete'+    { _ssadXgafv = Nothing+    , _ssadUploadProtocol = Nothing+    , _ssadAccessToken = Nothing+    , _ssadUploadType = Nothing+    , _ssadName = pSsadName_+    , _ssadDebugOptionsEnableDebugging = Nothing+    , _ssadCallback = Nothing+    }++-- | V1 error format.+ssadXgafv :: Lens' SettingsSearchApplicationsDelete (Maybe Xgafv)+ssadXgafv+  = lens _ssadXgafv (\ s a -> s{_ssadXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ssadUploadProtocol :: Lens' SettingsSearchApplicationsDelete (Maybe Text)+ssadUploadProtocol+  = lens _ssadUploadProtocol+      (\ s a -> s{_ssadUploadProtocol = a})++-- | OAuth access token.+ssadAccessToken :: Lens' SettingsSearchApplicationsDelete (Maybe Text)+ssadAccessToken+  = lens _ssadAccessToken+      (\ s a -> s{_ssadAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ssadUploadType :: Lens' SettingsSearchApplicationsDelete (Maybe Text)+ssadUploadType+  = lens _ssadUploadType+      (\ s a -> s{_ssadUploadType = a})++-- | The name of the search application to be deleted.+-- Format: applications\/{application_id}.+ssadName :: Lens' SettingsSearchApplicationsDelete Text+ssadName = lens _ssadName (\ s a -> s{_ssadName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+ssadDebugOptionsEnableDebugging :: Lens' SettingsSearchApplicationsDelete (Maybe Bool)+ssadDebugOptionsEnableDebugging+  = lens _ssadDebugOptionsEnableDebugging+      (\ s a -> s{_ssadDebugOptionsEnableDebugging = a})++-- | JSONP+ssadCallback :: Lens' SettingsSearchApplicationsDelete (Maybe Text)+ssadCallback+  = lens _ssadCallback (\ s a -> s{_ssadCallback = a})++instance GoogleRequest+         SettingsSearchApplicationsDelete where+        type Rs SettingsSearchApplicationsDelete = Operation+        type Scopes SettingsSearchApplicationsDelete =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient SettingsSearchApplicationsDelete'{..}+          = go _ssadName _ssadXgafv _ssadUploadProtocol+              _ssadAccessToken+              _ssadUploadType+              _ssadDebugOptionsEnableDebugging+              _ssadCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy SettingsSearchApplicationsDeleteResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Get.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.SearchApplications.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified search application.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.searchapplications.get@.+module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Get+    (+    -- * REST Resource+      SettingsSearchApplicationsGetResource++    -- * Creating a Request+    , settingsSearchApplicationsGet+    , SettingsSearchApplicationsGet++    -- * Request Lenses+    , ssagXgafv+    , ssagUploadProtocol+    , ssagAccessToken+    , ssagUploadType+    , ssagName+    , ssagDebugOptionsEnableDebugging+    , ssagCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.searchapplications.get@ method which the+-- 'SettingsSearchApplicationsGet' request conforms to.+type SettingsSearchApplicationsGetResource =+     "v1" :>+       "settings" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "callback" Text :>+                       QueryParam "alt" AltJSON :>+                         Get '[JSON] SearchApplication++-- | Gets the specified search application.+--+-- /See:/ 'settingsSearchApplicationsGet' smart constructor.+data SettingsSearchApplicationsGet = SettingsSearchApplicationsGet'+    { _ssagXgafv                       :: !(Maybe Xgafv)+    , _ssagUploadProtocol              :: !(Maybe Text)+    , _ssagAccessToken                 :: !(Maybe Text)+    , _ssagUploadType                  :: !(Maybe Text)+    , _ssagName                        :: !Text+    , _ssagDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _ssagCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsSearchApplicationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssagXgafv'+--+-- * 'ssagUploadProtocol'+--+-- * 'ssagAccessToken'+--+-- * 'ssagUploadType'+--+-- * 'ssagName'+--+-- * 'ssagDebugOptionsEnableDebugging'+--+-- * 'ssagCallback'+settingsSearchApplicationsGet+    :: Text -- ^ 'ssagName'+    -> SettingsSearchApplicationsGet+settingsSearchApplicationsGet pSsagName_ =+    SettingsSearchApplicationsGet'+    { _ssagXgafv = Nothing+    , _ssagUploadProtocol = Nothing+    , _ssagAccessToken = Nothing+    , _ssagUploadType = Nothing+    , _ssagName = pSsagName_+    , _ssagDebugOptionsEnableDebugging = Nothing+    , _ssagCallback = Nothing+    }++-- | V1 error format.+ssagXgafv :: Lens' SettingsSearchApplicationsGet (Maybe Xgafv)+ssagXgafv+  = lens _ssagXgafv (\ s a -> s{_ssagXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ssagUploadProtocol :: Lens' SettingsSearchApplicationsGet (Maybe Text)+ssagUploadProtocol+  = lens _ssagUploadProtocol+      (\ s a -> s{_ssagUploadProtocol = a})++-- | OAuth access token.+ssagAccessToken :: Lens' SettingsSearchApplicationsGet (Maybe Text)+ssagAccessToken+  = lens _ssagAccessToken+      (\ s a -> s{_ssagAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ssagUploadType :: Lens' SettingsSearchApplicationsGet (Maybe Text)+ssagUploadType+  = lens _ssagUploadType+      (\ s a -> s{_ssagUploadType = a})++-- | Name of the search application.+-- Format: applications\/{application_id}.+ssagName :: Lens' SettingsSearchApplicationsGet Text+ssagName = lens _ssagName (\ s a -> s{_ssagName = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+ssagDebugOptionsEnableDebugging :: Lens' SettingsSearchApplicationsGet (Maybe Bool)+ssagDebugOptionsEnableDebugging+  = lens _ssagDebugOptionsEnableDebugging+      (\ s a -> s{_ssagDebugOptionsEnableDebugging = a})++-- | JSONP+ssagCallback :: Lens' SettingsSearchApplicationsGet (Maybe Text)+ssagCallback+  = lens _ssagCallback (\ s a -> s{_ssagCallback = a})++instance GoogleRequest SettingsSearchApplicationsGet+         where+        type Rs SettingsSearchApplicationsGet =+             SearchApplication+        type Scopes SettingsSearchApplicationsGet =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient SettingsSearchApplicationsGet'{..}+          = go _ssagName _ssagXgafv _ssagUploadProtocol+              _ssagAccessToken+              _ssagUploadType+              _ssagDebugOptionsEnableDebugging+              _ssagCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy SettingsSearchApplicationsGetResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/List.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.SearchApplications.List+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all search applications.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.searchapplications.list@.+module Network.Google.Resource.CloudSearch.Settings.SearchApplications.List+    (+    -- * REST Resource+      SettingsSearchApplicationsListResource++    -- * Creating a Request+    , settingsSearchApplicationsList+    , SettingsSearchApplicationsList++    -- * Request Lenses+    , ssalXgafv+    , ssalUploadProtocol+    , ssalAccessToken+    , ssalUploadType+    , ssalDebugOptionsEnableDebugging+    , ssalPageToken+    , ssalPageSize+    , ssalCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.searchapplications.list@ method which the+-- 'SettingsSearchApplicationsList' request conforms to.+type SettingsSearchApplicationsListResource =+     "v1" :>+       "settings" :>+         "searchapplications" :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "debugOptions.enableDebugging" Bool :>+                     QueryParam "pageToken" Text :>+                       QueryParam "pageSize" (Textual Int32) :>+                         QueryParam "callback" Text :>+                           QueryParam "alt" AltJSON :>+                             Get '[JSON] ListSearchApplicationsResponse++-- | Lists all search applications.+--+-- /See:/ 'settingsSearchApplicationsList' smart constructor.+data SettingsSearchApplicationsList = SettingsSearchApplicationsList'+    { _ssalXgafv                       :: !(Maybe Xgafv)+    , _ssalUploadProtocol              :: !(Maybe Text)+    , _ssalAccessToken                 :: !(Maybe Text)+    , _ssalUploadType                  :: !(Maybe Text)+    , _ssalDebugOptionsEnableDebugging :: !(Maybe Bool)+    , _ssalPageToken                   :: !(Maybe Text)+    , _ssalPageSize                    :: !(Maybe (Textual Int32))+    , _ssalCallback                    :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsSearchApplicationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssalXgafv'+--+-- * 'ssalUploadProtocol'+--+-- * 'ssalAccessToken'+--+-- * 'ssalUploadType'+--+-- * 'ssalDebugOptionsEnableDebugging'+--+-- * 'ssalPageToken'+--+-- * 'ssalPageSize'+--+-- * 'ssalCallback'+settingsSearchApplicationsList+    :: SettingsSearchApplicationsList+settingsSearchApplicationsList =+    SettingsSearchApplicationsList'+    { _ssalXgafv = Nothing+    , _ssalUploadProtocol = Nothing+    , _ssalAccessToken = Nothing+    , _ssalUploadType = Nothing+    , _ssalDebugOptionsEnableDebugging = Nothing+    , _ssalPageToken = Nothing+    , _ssalPageSize = Nothing+    , _ssalCallback = Nothing+    }++-- | V1 error format.+ssalXgafv :: Lens' SettingsSearchApplicationsList (Maybe Xgafv)+ssalXgafv+  = lens _ssalXgafv (\ s a -> s{_ssalXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ssalUploadProtocol :: Lens' SettingsSearchApplicationsList (Maybe Text)+ssalUploadProtocol+  = lens _ssalUploadProtocol+      (\ s a -> s{_ssalUploadProtocol = a})++-- | OAuth access token.+ssalAccessToken :: Lens' SettingsSearchApplicationsList (Maybe Text)+ssalAccessToken+  = lens _ssalAccessToken+      (\ s a -> s{_ssalAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ssalUploadType :: Lens' SettingsSearchApplicationsList (Maybe Text)+ssalUploadType+  = lens _ssalUploadType+      (\ s a -> s{_ssalUploadType = a})++-- | If set, the request will enable debugging features of Cloud Search. Only+-- turn on this field, if asked by Google to help with debugging.+ssalDebugOptionsEnableDebugging :: Lens' SettingsSearchApplicationsList (Maybe Bool)+ssalDebugOptionsEnableDebugging+  = lens _ssalDebugOptionsEnableDebugging+      (\ s a -> s{_ssalDebugOptionsEnableDebugging = a})++-- | The next_page_token value returned from a previous List request, if any.+-- The default value is 10+ssalPageToken :: Lens' SettingsSearchApplicationsList (Maybe Text)+ssalPageToken+  = lens _ssalPageToken+      (\ s a -> s{_ssalPageToken = a})++-- | The maximum number of items to return.+ssalPageSize :: Lens' SettingsSearchApplicationsList (Maybe Int32)+ssalPageSize+  = lens _ssalPageSize (\ s a -> s{_ssalPageSize = a})+      . mapping _Coerce++-- | JSONP+ssalCallback :: Lens' SettingsSearchApplicationsList (Maybe Text)+ssalCallback+  = lens _ssalCallback (\ s a -> s{_ssalCallback = a})++instance GoogleRequest SettingsSearchApplicationsList+         where+        type Rs SettingsSearchApplicationsList =+             ListSearchApplicationsResponse+        type Scopes SettingsSearchApplicationsList =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient SettingsSearchApplicationsList'{..}+          = go _ssalXgafv _ssalUploadProtocol _ssalAccessToken+              _ssalUploadType+              _ssalDebugOptionsEnableDebugging+              _ssalPageToken+              _ssalPageSize+              _ssalCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy SettingsSearchApplicationsListResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Reset.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.SearchApplications.Reset+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Resets a search application to default settings. This will return an+-- empty response.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.searchapplications.reset@.+module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Reset+    (+    -- * REST Resource+      SettingsSearchApplicationsResetResource++    -- * Creating a Request+    , settingsSearchApplicationsReset+    , SettingsSearchApplicationsReset++    -- * Request Lenses+    , ssarXgafv+    , ssarUploadProtocol+    , ssarAccessToken+    , ssarUploadType+    , ssarPayload+    , ssarName+    , ssarCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.searchapplications.reset@ method which the+-- 'SettingsSearchApplicationsReset' request conforms to.+type SettingsSearchApplicationsResetResource =+     "v1" :>+       "settings" :>+         CaptureMode "name" "reset" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] ResetSearchApplicationRequest :>+                         Post '[JSON] Operation++-- | Resets a search application to default settings. This will return an+-- empty response.+--+-- /See:/ 'settingsSearchApplicationsReset' smart constructor.+data SettingsSearchApplicationsReset = SettingsSearchApplicationsReset'+    { _ssarXgafv          :: !(Maybe Xgafv)+    , _ssarUploadProtocol :: !(Maybe Text)+    , _ssarAccessToken    :: !(Maybe Text)+    , _ssarUploadType     :: !(Maybe Text)+    , _ssarPayload        :: !ResetSearchApplicationRequest+    , _ssarName           :: !Text+    , _ssarCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsSearchApplicationsReset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssarXgafv'+--+-- * 'ssarUploadProtocol'+--+-- * 'ssarAccessToken'+--+-- * 'ssarUploadType'+--+-- * 'ssarPayload'+--+-- * 'ssarName'+--+-- * 'ssarCallback'+settingsSearchApplicationsReset+    :: ResetSearchApplicationRequest -- ^ 'ssarPayload'+    -> Text -- ^ 'ssarName'+    -> SettingsSearchApplicationsReset+settingsSearchApplicationsReset pSsarPayload_ pSsarName_ =+    SettingsSearchApplicationsReset'+    { _ssarXgafv = Nothing+    , _ssarUploadProtocol = Nothing+    , _ssarAccessToken = Nothing+    , _ssarUploadType = Nothing+    , _ssarPayload = pSsarPayload_+    , _ssarName = pSsarName_+    , _ssarCallback = Nothing+    }++-- | V1 error format.+ssarXgafv :: Lens' SettingsSearchApplicationsReset (Maybe Xgafv)+ssarXgafv+  = lens _ssarXgafv (\ s a -> s{_ssarXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ssarUploadProtocol :: Lens' SettingsSearchApplicationsReset (Maybe Text)+ssarUploadProtocol+  = lens _ssarUploadProtocol+      (\ s a -> s{_ssarUploadProtocol = a})++-- | OAuth access token.+ssarAccessToken :: Lens' SettingsSearchApplicationsReset (Maybe Text)+ssarAccessToken+  = lens _ssarAccessToken+      (\ s a -> s{_ssarAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ssarUploadType :: Lens' SettingsSearchApplicationsReset (Maybe Text)+ssarUploadType+  = lens _ssarUploadType+      (\ s a -> s{_ssarUploadType = a})++-- | Multipart request metadata.+ssarPayload :: Lens' SettingsSearchApplicationsReset ResetSearchApplicationRequest+ssarPayload+  = lens _ssarPayload (\ s a -> s{_ssarPayload = a})++-- | The name of the search application to be reset.+-- Format: applications\/{application_id}.+ssarName :: Lens' SettingsSearchApplicationsReset Text+ssarName = lens _ssarName (\ s a -> s{_ssarName = a})++-- | JSONP+ssarCallback :: Lens' SettingsSearchApplicationsReset (Maybe Text)+ssarCallback+  = lens _ssarCallback (\ s a -> s{_ssarCallback = a})++instance GoogleRequest+         SettingsSearchApplicationsReset where+        type Rs SettingsSearchApplicationsReset = Operation+        type Scopes SettingsSearchApplicationsReset =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient SettingsSearchApplicationsReset'{..}+          = go _ssarName _ssarXgafv _ssarUploadProtocol+              _ssarAccessToken+              _ssarUploadType+              _ssarCallback+              (Just AltJSON)+              _ssarPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy SettingsSearchApplicationsResetResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Update.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Settings.SearchApplications.Update+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a search application.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.settings.searchapplications.update@.+module Network.Google.Resource.CloudSearch.Settings.SearchApplications.Update+    (+    -- * REST Resource+      SettingsSearchApplicationsUpdateResource++    -- * Creating a Request+    , settingsSearchApplicationsUpdate+    , SettingsSearchApplicationsUpdate++    -- * Request Lenses+    , ssauXgafv+    , ssauUploadProtocol+    , ssauAccessToken+    , ssauUploadType+    , ssauPayload+    , ssauName+    , ssauCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.settings.searchapplications.update@ method which the+-- 'SettingsSearchApplicationsUpdate' request conforms to.+type SettingsSearchApplicationsUpdateResource =+     "v1" :>+       "settings" :>+         Capture "name" Text :>+           QueryParam "$.xgafv" Xgafv :>+             QueryParam "upload_protocol" Text :>+               QueryParam "access_token" Text :>+                 QueryParam "uploadType" Text :>+                   QueryParam "callback" Text :>+                     QueryParam "alt" AltJSON :>+                       ReqBody '[JSON] SearchApplication :>+                         Put '[JSON] Operation++-- | Updates a search application.+--+-- /See:/ 'settingsSearchApplicationsUpdate' smart constructor.+data SettingsSearchApplicationsUpdate = SettingsSearchApplicationsUpdate'+    { _ssauXgafv          :: !(Maybe Xgafv)+    , _ssauUploadProtocol :: !(Maybe Text)+    , _ssauAccessToken    :: !(Maybe Text)+    , _ssauUploadType     :: !(Maybe Text)+    , _ssauPayload        :: !SearchApplication+    , _ssauName           :: !Text+    , _ssauCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SettingsSearchApplicationsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssauXgafv'+--+-- * 'ssauUploadProtocol'+--+-- * 'ssauAccessToken'+--+-- * 'ssauUploadType'+--+-- * 'ssauPayload'+--+-- * 'ssauName'+--+-- * 'ssauCallback'+settingsSearchApplicationsUpdate+    :: SearchApplication -- ^ 'ssauPayload'+    -> Text -- ^ 'ssauName'+    -> SettingsSearchApplicationsUpdate+settingsSearchApplicationsUpdate pSsauPayload_ pSsauName_ =+    SettingsSearchApplicationsUpdate'+    { _ssauXgafv = Nothing+    , _ssauUploadProtocol = Nothing+    , _ssauAccessToken = Nothing+    , _ssauUploadType = Nothing+    , _ssauPayload = pSsauPayload_+    , _ssauName = pSsauName_+    , _ssauCallback = Nothing+    }++-- | V1 error format.+ssauXgafv :: Lens' SettingsSearchApplicationsUpdate (Maybe Xgafv)+ssauXgafv+  = lens _ssauXgafv (\ s a -> s{_ssauXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+ssauUploadProtocol :: Lens' SettingsSearchApplicationsUpdate (Maybe Text)+ssauUploadProtocol+  = lens _ssauUploadProtocol+      (\ s a -> s{_ssauUploadProtocol = a})++-- | OAuth access token.+ssauAccessToken :: Lens' SettingsSearchApplicationsUpdate (Maybe Text)+ssauAccessToken+  = lens _ssauAccessToken+      (\ s a -> s{_ssauAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+ssauUploadType :: Lens' SettingsSearchApplicationsUpdate (Maybe Text)+ssauUploadType+  = lens _ssauUploadType+      (\ s a -> s{_ssauUploadType = a})++-- | Multipart request metadata.+ssauPayload :: Lens' SettingsSearchApplicationsUpdate SearchApplication+ssauPayload+  = lens _ssauPayload (\ s a -> s{_ssauPayload = a})++-- | Name of the Search Application.+-- Format: searchapplications\/{application_id}.+ssauName :: Lens' SettingsSearchApplicationsUpdate Text+ssauName = lens _ssauName (\ s a -> s{_ssauName = a})++-- | JSONP+ssauCallback :: Lens' SettingsSearchApplicationsUpdate (Maybe Text)+ssauCallback+  = lens _ssauCallback (\ s a -> s{_ssauCallback = a})++instance GoogleRequest+         SettingsSearchApplicationsUpdate where+        type Rs SettingsSearchApplicationsUpdate = Operation+        type Scopes SettingsSearchApplicationsUpdate =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.settings",+               "https://www.googleapis.com/auth/cloud_search.settings.query"]+        requestClient SettingsSearchApplicationsUpdate'{..}+          = go _ssauName _ssauXgafv _ssauUploadProtocol+              _ssauAccessToken+              _ssauUploadType+              _ssauCallback+              (Just AltJSON)+              _ssauPayload+              cloudSearchService+          where go+                  = buildClient+                      (Proxy ::+                         Proxy SettingsSearchApplicationsUpdateResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Stats/GetIndex.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Stats.GetIndex+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets indexed item statistics aggreggated across all data sources.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.stats.getIndex@.+module Network.Google.Resource.CloudSearch.Stats.GetIndex+    (+    -- * REST Resource+      StatsGetIndexResource++    -- * Creating a Request+    , statsGetIndex+    , StatsGetIndex++    -- * Request Lenses+    , sgiFromDateMonth+    , sgiXgafv+    , sgiUploadProtocol+    , sgiFromDateDay+    , sgiAccessToken+    , sgiUploadType+    , sgiFromDateYear+    , sgiToDateDay+    , sgiToDateYear+    , sgiToDateMonth+    , sgiCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.stats.getIndex@ method which the+-- 'StatsGetIndex' request conforms to.+type StatsGetIndexResource =+     "v1" :>+       "stats" :>+         "index" :>+           QueryParam "fromDate.month" (Textual Int32) :>+             QueryParam "$.xgafv" Xgafv :>+               QueryParam "upload_protocol" Text :>+                 QueryParam "fromDate.day" (Textual Int32) :>+                   QueryParam "access_token" Text :>+                     QueryParam "uploadType" Text :>+                       QueryParam "fromDate.year" (Textual Int32) :>+                         QueryParam "toDate.day" (Textual Int32) :>+                           QueryParam "toDate.year" (Textual Int32) :>+                             QueryParam "toDate.month" (Textual Int32) :>+                               QueryParam "callback" Text :>+                                 QueryParam "alt" AltJSON :>+                                   Get '[JSON] GetCustomerIndexStatsResponse++-- | Gets indexed item statistics aggreggated across all data sources.+--+-- /See:/ 'statsGetIndex' smart constructor.+data StatsGetIndex = StatsGetIndex'+    { _sgiFromDateMonth  :: !(Maybe (Textual Int32))+    , _sgiXgafv          :: !(Maybe Xgafv)+    , _sgiUploadProtocol :: !(Maybe Text)+    , _sgiFromDateDay    :: !(Maybe (Textual Int32))+    , _sgiAccessToken    :: !(Maybe Text)+    , _sgiUploadType     :: !(Maybe Text)+    , _sgiFromDateYear   :: !(Maybe (Textual Int32))+    , _sgiToDateDay      :: !(Maybe (Textual Int32))+    , _sgiToDateYear     :: !(Maybe (Textual Int32))+    , _sgiToDateMonth    :: !(Maybe (Textual Int32))+    , _sgiCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatsGetIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgiFromDateMonth'+--+-- * 'sgiXgafv'+--+-- * 'sgiUploadProtocol'+--+-- * 'sgiFromDateDay'+--+-- * 'sgiAccessToken'+--+-- * 'sgiUploadType'+--+-- * 'sgiFromDateYear'+--+-- * 'sgiToDateDay'+--+-- * 'sgiToDateYear'+--+-- * 'sgiToDateMonth'+--+-- * 'sgiCallback'+statsGetIndex+    :: StatsGetIndex+statsGetIndex =+    StatsGetIndex'+    { _sgiFromDateMonth = Nothing+    , _sgiXgafv = Nothing+    , _sgiUploadProtocol = Nothing+    , _sgiFromDateDay = Nothing+    , _sgiAccessToken = Nothing+    , _sgiUploadType = Nothing+    , _sgiFromDateYear = Nothing+    , _sgiToDateDay = Nothing+    , _sgiToDateYear = Nothing+    , _sgiToDateMonth = Nothing+    , _sgiCallback = Nothing+    }++-- | Month of date. Must be from 1 to 12.+sgiFromDateMonth :: Lens' StatsGetIndex (Maybe Int32)+sgiFromDateMonth+  = lens _sgiFromDateMonth+      (\ s a -> s{_sgiFromDateMonth = a})+      . mapping _Coerce++-- | V1 error format.+sgiXgafv :: Lens' StatsGetIndex (Maybe Xgafv)+sgiXgafv = lens _sgiXgafv (\ s a -> s{_sgiXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sgiUploadProtocol :: Lens' StatsGetIndex (Maybe Text)+sgiUploadProtocol+  = lens _sgiUploadProtocol+      (\ s a -> s{_sgiUploadProtocol = a})++-- | Day of month. Must be from 1 to 31 and valid for the year and month.+sgiFromDateDay :: Lens' StatsGetIndex (Maybe Int32)+sgiFromDateDay+  = lens _sgiFromDateDay+      (\ s a -> s{_sgiFromDateDay = a})+      . mapping _Coerce++-- | OAuth access token.+sgiAccessToken :: Lens' StatsGetIndex (Maybe Text)+sgiAccessToken+  = lens _sgiAccessToken+      (\ s a -> s{_sgiAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sgiUploadType :: Lens' StatsGetIndex (Maybe Text)+sgiUploadType+  = lens _sgiUploadType+      (\ s a -> s{_sgiUploadType = a})++-- | Year of date. Must be from 1 to 9999.+sgiFromDateYear :: Lens' StatsGetIndex (Maybe Int32)+sgiFromDateYear+  = lens _sgiFromDateYear+      (\ s a -> s{_sgiFromDateYear = a})+      . mapping _Coerce++-- | Day of month. Must be from 1 to 31 and valid for the year and month.+sgiToDateDay :: Lens' StatsGetIndex (Maybe Int32)+sgiToDateDay+  = lens _sgiToDateDay (\ s a -> s{_sgiToDateDay = a})+      . mapping _Coerce++-- | Year of date. Must be from 1 to 9999.+sgiToDateYear :: Lens' StatsGetIndex (Maybe Int32)+sgiToDateYear+  = lens _sgiToDateYear+      (\ s a -> s{_sgiToDateYear = a})+      . mapping _Coerce++-- | Month of date. Must be from 1 to 12.+sgiToDateMonth :: Lens' StatsGetIndex (Maybe Int32)+sgiToDateMonth+  = lens _sgiToDateMonth+      (\ s a -> s{_sgiToDateMonth = a})+      . mapping _Coerce++-- | JSONP+sgiCallback :: Lens' StatsGetIndex (Maybe Text)+sgiCallback+  = lens _sgiCallback (\ s a -> s{_sgiCallback = a})++instance GoogleRequest StatsGetIndex where+        type Rs StatsGetIndex = GetCustomerIndexStatsResponse+        type Scopes StatsGetIndex =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.stats",+               "https://www.googleapis.com/auth/cloud_search.stats.indexing"]+        requestClient StatsGetIndex'{..}+          = go _sgiFromDateMonth _sgiXgafv _sgiUploadProtocol+              _sgiFromDateDay+              _sgiAccessToken+              _sgiUploadType+              _sgiFromDateYear+              _sgiToDateDay+              _sgiToDateYear+              _sgiToDateMonth+              _sgiCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient (Proxy :: Proxy StatsGetIndexResource)+                      mempty
+ gen/Network/Google/Resource/CloudSearch/Stats/Index/Datasources/Get.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DataKinds          #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE FlexibleInstances  #-}+{-# LANGUAGE NoImplicitPrelude  #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}+{-# LANGUAGE TypeOperators      #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}++-- |+-- Module      : Network.Google.Resource.CloudSearch.Stats.Index.Datasources.Get+-- Copyright   : (c) 2015-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets indexed item statistics for a single data source.+--+-- /See:/ <https://gsuite.google.com/products/cloud-search/ Cloud Search API Reference> for @cloudsearch.stats.index.datasources.get@.+module Network.Google.Resource.CloudSearch.Stats.Index.Datasources.Get+    (+    -- * REST Resource+      StatsIndexDatasourcesGetResource++    -- * Creating a Request+    , statsIndexDatasourcesGet+    , StatsIndexDatasourcesGet++    -- * Request Lenses+    , sidgFromDateMonth+    , sidgXgafv+    , sidgUploadProtocol+    , sidgFromDateDay+    , sidgAccessToken+    , sidgUploadType+    , sidgFromDateYear+    , sidgName+    , sidgToDateDay+    , sidgToDateYear+    , sidgToDateMonth+    , sidgCallback+    ) where++import           Network.Google.CloudSearch.Types+import           Network.Google.Prelude++-- | A resource alias for @cloudsearch.stats.index.datasources.get@ method which the+-- 'StatsIndexDatasourcesGet' request conforms to.+type StatsIndexDatasourcesGetResource =+     "v1" :>+       "stats" :>+         "index" :>+           Capture "name" Text :>+             QueryParam "fromDate.month" (Textual Int32) :>+               QueryParam "$.xgafv" Xgafv :>+                 QueryParam "upload_protocol" Text :>+                   QueryParam "fromDate.day" (Textual Int32) :>+                     QueryParam "access_token" Text :>+                       QueryParam "uploadType" Text :>+                         QueryParam "fromDate.year" (Textual Int32) :>+                           QueryParam "toDate.day" (Textual Int32) :>+                             QueryParam "toDate.year" (Textual Int32) :>+                               QueryParam "toDate.month" (Textual Int32) :>+                                 QueryParam "callback" Text :>+                                   QueryParam "alt" AltJSON :>+                                     Get '[JSON] GetDataSourceIndexStatsResponse++-- | Gets indexed item statistics for a single data source.+--+-- /See:/ 'statsIndexDatasourcesGet' smart constructor.+data StatsIndexDatasourcesGet = StatsIndexDatasourcesGet'+    { _sidgFromDateMonth  :: !(Maybe (Textual Int32))+    , _sidgXgafv          :: !(Maybe Xgafv)+    , _sidgUploadProtocol :: !(Maybe Text)+    , _sidgFromDateDay    :: !(Maybe (Textual Int32))+    , _sidgAccessToken    :: !(Maybe Text)+    , _sidgUploadType     :: !(Maybe Text)+    , _sidgFromDateYear   :: !(Maybe (Textual Int32))+    , _sidgName           :: !Text+    , _sidgToDateDay      :: !(Maybe (Textual Int32))+    , _sidgToDateYear     :: !(Maybe (Textual Int32))+    , _sidgToDateMonth    :: !(Maybe (Textual Int32))+    , _sidgCallback       :: !(Maybe Text)+    } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatsIndexDatasourcesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sidgFromDateMonth'+--+-- * 'sidgXgafv'+--+-- * 'sidgUploadProtocol'+--+-- * 'sidgFromDateDay'+--+-- * 'sidgAccessToken'+--+-- * 'sidgUploadType'+--+-- * 'sidgFromDateYear'+--+-- * 'sidgName'+--+-- * 'sidgToDateDay'+--+-- * 'sidgToDateYear'+--+-- * 'sidgToDateMonth'+--+-- * 'sidgCallback'+statsIndexDatasourcesGet+    :: Text -- ^ 'sidgName'+    -> StatsIndexDatasourcesGet+statsIndexDatasourcesGet pSidgName_ =+    StatsIndexDatasourcesGet'+    { _sidgFromDateMonth = Nothing+    , _sidgXgafv = Nothing+    , _sidgUploadProtocol = Nothing+    , _sidgFromDateDay = Nothing+    , _sidgAccessToken = Nothing+    , _sidgUploadType = Nothing+    , _sidgFromDateYear = Nothing+    , _sidgName = pSidgName_+    , _sidgToDateDay = Nothing+    , _sidgToDateYear = Nothing+    , _sidgToDateMonth = Nothing+    , _sidgCallback = Nothing+    }++-- | Month of date. Must be from 1 to 12.+sidgFromDateMonth :: Lens' StatsIndexDatasourcesGet (Maybe Int32)+sidgFromDateMonth+  = lens _sidgFromDateMonth+      (\ s a -> s{_sidgFromDateMonth = a})+      . mapping _Coerce++-- | V1 error format.+sidgXgafv :: Lens' StatsIndexDatasourcesGet (Maybe Xgafv)+sidgXgafv+  = lens _sidgXgafv (\ s a -> s{_sidgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sidgUploadProtocol :: Lens' StatsIndexDatasourcesGet (Maybe Text)+sidgUploadProtocol+  = lens _sidgUploadProtocol+      (\ s a -> s{_sidgUploadProtocol = a})++-- | Day of month. Must be from 1 to 31 and valid for the year and month.+sidgFromDateDay :: Lens' StatsIndexDatasourcesGet (Maybe Int32)+sidgFromDateDay+  = lens _sidgFromDateDay+      (\ s a -> s{_sidgFromDateDay = a})+      . mapping _Coerce++-- | OAuth access token.+sidgAccessToken :: Lens' StatsIndexDatasourcesGet (Maybe Text)+sidgAccessToken+  = lens _sidgAccessToken+      (\ s a -> s{_sidgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sidgUploadType :: Lens' StatsIndexDatasourcesGet (Maybe Text)+sidgUploadType+  = lens _sidgUploadType+      (\ s a -> s{_sidgUploadType = a})++-- | Year of date. Must be from 1 to 9999.+sidgFromDateYear :: Lens' StatsIndexDatasourcesGet (Maybe Int32)+sidgFromDateYear+  = lens _sidgFromDateYear+      (\ s a -> s{_sidgFromDateYear = a})+      . mapping _Coerce++-- | The resource id of the data source to retrieve statistics for, in the+-- following format: \"datasources\/{source_id}\"+sidgName :: Lens' StatsIndexDatasourcesGet Text+sidgName = lens _sidgName (\ s a -> s{_sidgName = a})++-- | Day of month. Must be from 1 to 31 and valid for the year and month.+sidgToDateDay :: Lens' StatsIndexDatasourcesGet (Maybe Int32)+sidgToDateDay+  = lens _sidgToDateDay+      (\ s a -> s{_sidgToDateDay = a})+      . mapping _Coerce++-- | Year of date. Must be from 1 to 9999.+sidgToDateYear :: Lens' StatsIndexDatasourcesGet (Maybe Int32)+sidgToDateYear+  = lens _sidgToDateYear+      (\ s a -> s{_sidgToDateYear = a})+      . mapping _Coerce++-- | Month of date. Must be from 1 to 12.+sidgToDateMonth :: Lens' StatsIndexDatasourcesGet (Maybe Int32)+sidgToDateMonth+  = lens _sidgToDateMonth+      (\ s a -> s{_sidgToDateMonth = a})+      . mapping _Coerce++-- | JSONP+sidgCallback :: Lens' StatsIndexDatasourcesGet (Maybe Text)+sidgCallback+  = lens _sidgCallback (\ s a -> s{_sidgCallback = a})++instance GoogleRequest StatsIndexDatasourcesGet where+        type Rs StatsIndexDatasourcesGet =+             GetDataSourceIndexStatsResponse+        type Scopes StatsIndexDatasourcesGet =+             '["https://www.googleapis.com/auth/cloud_search",+               "https://www.googleapis.com/auth/cloud_search.stats",+               "https://www.googleapis.com/auth/cloud_search.stats.indexing"]+        requestClient StatsIndexDatasourcesGet'{..}+          = go _sidgName _sidgFromDateMonth _sidgXgafv+              _sidgUploadProtocol+              _sidgFromDateDay+              _sidgAccessToken+              _sidgUploadType+              _sidgFromDateYear+              _sidgToDateDay+              _sidgToDateYear+              _sidgToDateMonth+              _sidgCallback+              (Just AltJSON)+              cloudSearchService+          where go+                  = buildClient+                      (Proxy :: Proxy StatsIndexDatasourcesGetResource)+                      mempty
+ gogol-cloudsearch.cabal view
@@ -0,0 +1,82 @@+name:                  gogol-cloudsearch+version:               0.4.0+synopsis:              Google Cloud Search SDK.+homepage:              https://github.com/brendanhay/gogol+bug-reports:           https://github.com/brendanhay/gogol/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2015-2016 Brendan Hay+category:              Network, Google, Cloud+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md src/.gitkeep++description:+    Cloud Search provides cloud-based search capabilities over G Suite data.+    The Cloud Search API allows indexing of non-G Suite data into Cloud+    Search.+    .+    /Warning:/ This is an experimental prototype/preview release which is still+    under exploratory development and not intended for public use, caveat emptor!+    .+    This library is compatible with version @v1@+    of the API.++source-repository head+    type:     git+    location: git://github.com/brendanhay/gogol.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.Google.CloudSearch+        , Network.Google.CloudSearch.Types+        , Network.Google.Resource.CloudSearch.Debug.Datasources.Items.CheckAccess+        , Network.Google.Resource.CloudSearch.Debug.Datasources.Items.SearchByViewURL+        , Network.Google.Resource.CloudSearch.Debug.Datasources.Items.UnmAppedids.List+        , Network.Google.Resource.CloudSearch.Debug.Identitysources.Items.ListForunmAppedidentity+        , Network.Google.Resource.CloudSearch.Debug.Identitysources.UnmAppedids.List+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.DeleteSchema+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.GetSchema+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Delete+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.DeleteQueueItems+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Get+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Index+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.List+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Poll+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Push+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Unreserve+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.Items.Upload+        , Network.Google.Resource.CloudSearch.Indexing.Datasources.UpdateSchema+        , Network.Google.Resource.CloudSearch.Media.Upload+        , Network.Google.Resource.CloudSearch.Operations.Get+        , Network.Google.Resource.CloudSearch.Query.Search+        , Network.Google.Resource.CloudSearch.Query.Sources.List+        , Network.Google.Resource.CloudSearch.Query.Suggest+        , Network.Google.Resource.CloudSearch.Settings.Datasources.Create+        , Network.Google.Resource.CloudSearch.Settings.Datasources.Delete+        , Network.Google.Resource.CloudSearch.Settings.Datasources.Get+        , Network.Google.Resource.CloudSearch.Settings.Datasources.List+        , Network.Google.Resource.CloudSearch.Settings.Datasources.Update+        , Network.Google.Resource.CloudSearch.Settings.SearchApplications.Create+        , Network.Google.Resource.CloudSearch.Settings.SearchApplications.Delete+        , Network.Google.Resource.CloudSearch.Settings.SearchApplications.Get+        , Network.Google.Resource.CloudSearch.Settings.SearchApplications.List+        , Network.Google.Resource.CloudSearch.Settings.SearchApplications.Reset+        , Network.Google.Resource.CloudSearch.Settings.SearchApplications.Update+        , Network.Google.Resource.CloudSearch.Stats.GetIndex+        , Network.Google.Resource.CloudSearch.Stats.Index.Datasources.Get++    other-modules:+          Network.Google.CloudSearch.Types.Product+        , Network.Google.CloudSearch.Types.Sum++    build-depends:+          gogol-core == 0.4.0.*+        , base       >= 4.7 && < 5
+ src/.gitkeep view