gogol-firebasehosting (empty) → 0.4.0
raw patch · 23 files changed
+5284/−0 lines, 23 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/FirebaseHosting.hs +311/−0
- gen/Network/Google/FirebaseHosting/Types.hs +247/−0
- gen/Network/Google/FirebaseHosting/Types/Product.hs +1476/−0
- gen/Network/Google/FirebaseHosting/Types/Sum.hs +445/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Create.hs +161/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Delete.hs +145/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Get.hs +147/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/List.hs +176/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Update.hs +161/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/GetConfig.hs +147/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Releases/Create.hs +179/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Releases/List.hs +176/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/UpdateConfig.hs +177/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Create.hs +187/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Delete.hs +146/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Files/List.hs +193/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Patch.hs +188/−0
- gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/PopulateFiles.hs +164/−0
- gogol-firebasehosting.cabal +61/−0
- src/.gitkeep +0/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-firebasehosting++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Firebase Hosting.+++## 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-firebasehosting` 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/FirebaseHosting.hs view
@@ -0,0 +1,311 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.FirebaseHosting+-- 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 Firebase Hosting REST API enables programmatic custom deployment for+-- releasing versions of your Firebase hosted content and configuration+-- files.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference>+module Network.Google.FirebaseHosting+ (+ -- * Service Configuration+ firebaseHostingService++ -- * OAuth Scopes+ , firebaseScope+ , cloudPlatformReadOnlyScope+ , cloudPlatformScope+ , firebaseReadOnlyScope++ -- * API Declaration+ , FirebaseHostingAPI++ -- * Resources++ -- ** firebasehosting.sites.domains.create+ , module Network.Google.Resource.FirebaseHosting.Sites.Domains.Create++ -- ** firebasehosting.sites.domains.delete+ , module Network.Google.Resource.FirebaseHosting.Sites.Domains.Delete++ -- ** firebasehosting.sites.domains.get+ , module Network.Google.Resource.FirebaseHosting.Sites.Domains.Get++ -- ** firebasehosting.sites.domains.list+ , module Network.Google.Resource.FirebaseHosting.Sites.Domains.List++ -- ** firebasehosting.sites.domains.update+ , module Network.Google.Resource.FirebaseHosting.Sites.Domains.Update++ -- ** firebasehosting.sites.getConfig+ , module Network.Google.Resource.FirebaseHosting.Sites.GetConfig++ -- ** firebasehosting.sites.releases.create+ , module Network.Google.Resource.FirebaseHosting.Sites.Releases.Create++ -- ** firebasehosting.sites.releases.list+ , module Network.Google.Resource.FirebaseHosting.Sites.Releases.List++ -- ** firebasehosting.sites.updateConfig+ , module Network.Google.Resource.FirebaseHosting.Sites.UpdateConfig++ -- ** firebasehosting.sites.versions.create+ , module Network.Google.Resource.FirebaseHosting.Sites.Versions.Create++ -- ** firebasehosting.sites.versions.delete+ , module Network.Google.Resource.FirebaseHosting.Sites.Versions.Delete++ -- ** firebasehosting.sites.versions.files.list+ , module Network.Google.Resource.FirebaseHosting.Sites.Versions.Files.List++ -- ** firebasehosting.sites.versions.patch+ , module Network.Google.Resource.FirebaseHosting.Sites.Versions.Patch++ -- ** firebasehosting.sites.versions.populateFiles+ , module Network.Google.Resource.FirebaseHosting.Sites.Versions.PopulateFiles++ -- * Types++ -- ** DomainStatus+ , DomainStatus (..)++ -- ** DomainProvisioningDNSStatus+ , DomainProvisioningDNSStatus (..)++ -- ** VersionLabels+ , VersionLabels+ , versionLabels+ , vlAddtional++ -- ** PopulateVersionFilesResponse+ , PopulateVersionFilesResponse+ , populateVersionFilesResponse+ , pvfrUploadURL+ , pvfrUploadRequiredHashes++ -- ** DomainRedirectType+ , DomainRedirectType (..)++ -- ** CertDNSChallenge+ , CertDNSChallenge+ , certDNSChallenge+ , cdcToken+ , cdcDomainName++ -- ** Empty+ , Empty+ , empty++ -- ** PopulateVersionFilesRequest+ , PopulateVersionFilesRequest+ , populateVersionFilesRequest+ , pvfrFiles++ -- ** ServingConfigAppAssociation+ , ServingConfigAppAssociation (..)++ -- ** ServingConfig+ , ServingConfig+ , servingConfig+ , scCleanURLs+ , scAppAssociation+ , scRewrites+ , scRedirects+ , scHeaders+ , scTrailingSlashBehavior++ -- ** Domain+ , Domain+ , domain+ , dStatus+ , dProvisioning+ , dUpdateTime+ , dDomainName+ , dDomainRedirect+ , dSite++ -- ** ListReleasesResponse+ , ListReleasesResponse+ , listReleasesResponse+ , lrrNextPageToken+ , lrrReleases++ -- ** VersionStatus+ , VersionStatus (..)++ -- ** DomainProvisioning+ , DomainProvisioning+ , domainProvisioning+ , dpExpectedIPs+ , dpCertChallengeDNS+ , dpDNSFetchTime+ , dpCertStatus+ , dpDNSStatus+ , dpDiscoveredIPs+ , dpCertChallengeHTTP+ , dpCertChallengeDiscoveredTxt++ -- ** Release+ , Release+ , release+ , rReleaseTime+ , rReleaseUser+ , rName+ , rVersion+ , rType+ , rMessage++ -- ** VersionFile+ , VersionFile+ , versionFile+ , vfStatus+ , vfHash+ , vfPath++ -- ** Header+ , Header+ , header+ , hHeaders+ , hGlob++ -- ** ActingUser+ , ActingUser+ , actingUser+ , auEmail+ , auImageURL++ -- ** Version+ , Version+ , version+ , vStatus+ , vFinalizeTime+ , vConfig+ , vFileCount+ , vFinalizeUser+ , vVersionBytes+ , vDeleteTime+ , vName+ , vLabels+ , vCreateUser+ , vDeleteUser+ , vCreateTime++ -- ** ListDomainsResponse+ , ListDomainsResponse+ , listDomainsResponse+ , ldrNextPageToken+ , ldrDomains++ -- ** Xgafv+ , Xgafv (..)++ -- ** Redirect+ , Redirect+ , redirect+ , rLocation+ , rGlob+ , rStatusCode++ -- ** DomainRedirect+ , DomainRedirect+ , domainRedirect+ , drDomainName+ , drType++ -- ** Rewrite+ , Rewrite+ , rewrite+ , rewFunction+ , rewPath+ , rewGlob+ , rewDynamicLinks++ -- ** DomainProvisioningCertStatus+ , DomainProvisioningCertStatus (..)++ -- ** PopulateVersionFilesRequestFiles+ , PopulateVersionFilesRequestFiles+ , populateVersionFilesRequestFiles+ , pvfrfAddtional++ -- ** VersionFileStatus+ , VersionFileStatus (..)++ -- ** HeaderHeaders+ , HeaderHeaders+ , headerHeaders+ , hhAddtional++ -- ** CertHTTPChallenge+ , CertHTTPChallenge+ , certHTTPChallenge+ , chttpcPath+ , chttpcToken++ -- ** ServingConfigTrailingSlashBehavior+ , ServingConfigTrailingSlashBehavior (..)++ -- ** ListVersionFilesResponse+ , ListVersionFilesResponse+ , listVersionFilesResponse+ , lvfrNextPageToken+ , lvfrFiles++ -- ** ReleaseType+ , ReleaseType (..)++ -- ** SiteConfig+ , SiteConfig+ , siteConfig+ , scMaxVersions+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude+import Network.Google.Resource.FirebaseHosting.Sites.Domains.Create+import Network.Google.Resource.FirebaseHosting.Sites.Domains.Delete+import Network.Google.Resource.FirebaseHosting.Sites.Domains.Get+import Network.Google.Resource.FirebaseHosting.Sites.Domains.List+import Network.Google.Resource.FirebaseHosting.Sites.Domains.Update+import Network.Google.Resource.FirebaseHosting.Sites.GetConfig+import Network.Google.Resource.FirebaseHosting.Sites.Releases.Create+import Network.Google.Resource.FirebaseHosting.Sites.Releases.List+import Network.Google.Resource.FirebaseHosting.Sites.UpdateConfig+import Network.Google.Resource.FirebaseHosting.Sites.Versions.Create+import Network.Google.Resource.FirebaseHosting.Sites.Versions.Delete+import Network.Google.Resource.FirebaseHosting.Sites.Versions.Files.List+import Network.Google.Resource.FirebaseHosting.Sites.Versions.Patch+import Network.Google.Resource.FirebaseHosting.Sites.Versions.PopulateFiles++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Firebase Hosting API service.+type FirebaseHostingAPI =+ SitesReleasesListResource :<|>+ SitesReleasesCreateResource+ :<|> SitesVersionsFilesListResource+ :<|> SitesVersionsPatchResource+ :<|> SitesVersionsCreateResource+ :<|> SitesVersionsPopulateFilesResource+ :<|> SitesVersionsDeleteResource+ :<|> SitesDomainsListResource+ :<|> SitesDomainsGetResource+ :<|> SitesDomainsCreateResource+ :<|> SitesDomainsDeleteResource+ :<|> SitesDomainsUpdateResource+ :<|> SitesGetConfigResource+ :<|> SitesUpdateConfigResource
+ gen/Network/Google/FirebaseHosting/Types.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.FirebaseHosting.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.FirebaseHosting.Types+ (+ -- * Service Configuration+ firebaseHostingService++ -- * OAuth Scopes+ , firebaseScope+ , cloudPlatformReadOnlyScope+ , cloudPlatformScope+ , firebaseReadOnlyScope++ -- * DomainStatus+ , DomainStatus (..)++ -- * DomainProvisioningDNSStatus+ , DomainProvisioningDNSStatus (..)++ -- * VersionLabels+ , VersionLabels+ , versionLabels+ , vlAddtional++ -- * PopulateVersionFilesResponse+ , PopulateVersionFilesResponse+ , populateVersionFilesResponse+ , pvfrUploadURL+ , pvfrUploadRequiredHashes++ -- * DomainRedirectType+ , DomainRedirectType (..)++ -- * CertDNSChallenge+ , CertDNSChallenge+ , certDNSChallenge+ , cdcToken+ , cdcDomainName++ -- * Empty+ , Empty+ , empty++ -- * PopulateVersionFilesRequest+ , PopulateVersionFilesRequest+ , populateVersionFilesRequest+ , pvfrFiles++ -- * ServingConfigAppAssociation+ , ServingConfigAppAssociation (..)++ -- * ServingConfig+ , ServingConfig+ , servingConfig+ , scCleanURLs+ , scAppAssociation+ , scRewrites+ , scRedirects+ , scHeaders+ , scTrailingSlashBehavior++ -- * Domain+ , Domain+ , domain+ , dStatus+ , dProvisioning+ , dUpdateTime+ , dDomainName+ , dDomainRedirect+ , dSite++ -- * ListReleasesResponse+ , ListReleasesResponse+ , listReleasesResponse+ , lrrNextPageToken+ , lrrReleases++ -- * VersionStatus+ , VersionStatus (..)++ -- * DomainProvisioning+ , DomainProvisioning+ , domainProvisioning+ , dpExpectedIPs+ , dpCertChallengeDNS+ , dpDNSFetchTime+ , dpCertStatus+ , dpDNSStatus+ , dpDiscoveredIPs+ , dpCertChallengeHTTP+ , dpCertChallengeDiscoveredTxt++ -- * Release+ , Release+ , release+ , rReleaseTime+ , rReleaseUser+ , rName+ , rVersion+ , rType+ , rMessage++ -- * VersionFile+ , VersionFile+ , versionFile+ , vfStatus+ , vfHash+ , vfPath++ -- * Header+ , Header+ , header+ , hHeaders+ , hGlob++ -- * ActingUser+ , ActingUser+ , actingUser+ , auEmail+ , auImageURL++ -- * Version+ , Version+ , version+ , vStatus+ , vFinalizeTime+ , vConfig+ , vFileCount+ , vFinalizeUser+ , vVersionBytes+ , vDeleteTime+ , vName+ , vLabels+ , vCreateUser+ , vDeleteUser+ , vCreateTime++ -- * ListDomainsResponse+ , ListDomainsResponse+ , listDomainsResponse+ , ldrNextPageToken+ , ldrDomains++ -- * Xgafv+ , Xgafv (..)++ -- * Redirect+ , Redirect+ , redirect+ , rLocation+ , rGlob+ , rStatusCode++ -- * DomainRedirect+ , DomainRedirect+ , domainRedirect+ , drDomainName+ , drType++ -- * Rewrite+ , Rewrite+ , rewrite+ , rewFunction+ , rewPath+ , rewGlob+ , rewDynamicLinks++ -- * DomainProvisioningCertStatus+ , DomainProvisioningCertStatus (..)++ -- * PopulateVersionFilesRequestFiles+ , PopulateVersionFilesRequestFiles+ , populateVersionFilesRequestFiles+ , pvfrfAddtional++ -- * VersionFileStatus+ , VersionFileStatus (..)++ -- * HeaderHeaders+ , HeaderHeaders+ , headerHeaders+ , hhAddtional++ -- * CertHTTPChallenge+ , CertHTTPChallenge+ , certHTTPChallenge+ , chttpcPath+ , chttpcToken++ -- * ServingConfigTrailingSlashBehavior+ , ServingConfigTrailingSlashBehavior (..)++ -- * ListVersionFilesResponse+ , ListVersionFilesResponse+ , listVersionFilesResponse+ , lvfrNextPageToken+ , lvfrFiles++ -- * ReleaseType+ , ReleaseType (..)++ -- * SiteConfig+ , SiteConfig+ , siteConfig+ , scMaxVersions+ ) where++import Network.Google.FirebaseHosting.Types.Product+import Network.Google.FirebaseHosting.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1beta1' of the Firebase Hosting API. This contains the host and root path used as a starting point for constructing service requests.+firebaseHostingService :: ServiceConfig+firebaseHostingService+ = defaultService+ (ServiceId "firebasehosting:v1beta1")+ "firebasehosting.googleapis.com"++-- | View and administer all your Firebase data and settings+firebaseScope :: Proxy '["https://www.googleapis.com/auth/firebase"]+firebaseScope = Proxy;++-- | View your data across Google Cloud Platform services+cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]+cloudPlatformReadOnlyScope = Proxy;++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;++-- | View all your Firebase data and settings+firebaseReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/firebase.readonly"]+firebaseReadOnlyScope = Proxy;
+ gen/Network/Google/FirebaseHosting/Types/Product.hs view
@@ -0,0 +1,1476 @@+{-# 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.FirebaseHosting.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.FirebaseHosting.Types.Product where++import Network.Google.FirebaseHosting.Types.Sum+import Network.Google.Prelude++-- | The labels used for extra metadata and\/or filtering.+--+-- /See:/ 'versionLabels' smart constructor.+newtype VersionLabels = VersionLabels'+ { _vlAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VersionLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vlAddtional'+versionLabels+ :: HashMap Text Text -- ^ 'vlAddtional'+ -> VersionLabels+versionLabels pVlAddtional_ =+ VersionLabels'+ { _vlAddtional = _Coerce # pVlAddtional_+ }++vlAddtional :: Lens' VersionLabels (HashMap Text Text)+vlAddtional+ = lens _vlAddtional (\ s a -> s{_vlAddtional = a}) .+ _Coerce++instance FromJSON VersionLabels where+ parseJSON+ = withObject "VersionLabels"+ (\ o -> VersionLabels' <$> (parseJSONObject o))++instance ToJSON VersionLabels where+ toJSON = toJSON . _vlAddtional++--+-- /See:/ 'populateVersionFilesResponse' smart constructor.+data PopulateVersionFilesResponse = PopulateVersionFilesResponse'+ { _pvfrUploadURL :: !(Maybe Text)+ , _pvfrUploadRequiredHashes :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PopulateVersionFilesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvfrUploadURL'+--+-- * 'pvfrUploadRequiredHashes'+populateVersionFilesResponse+ :: PopulateVersionFilesResponse+populateVersionFilesResponse =+ PopulateVersionFilesResponse'+ { _pvfrUploadURL = Nothing+ , _pvfrUploadRequiredHashes = Nothing+ }++-- | The URL to which the files should be uploaded, in the format:+-- \"https:\/\/upload-firebasehosting.googleapis.com\/upload\/sites\/site-name\/versions\/versionID\/files\".+-- Perform a multipart \`POST\` of the Gzipped file contents to the URL+-- using a forward slash and the hash of the file appended to the end.+pvfrUploadURL :: Lens' PopulateVersionFilesResponse (Maybe Text)+pvfrUploadURL+ = lens _pvfrUploadURL+ (\ s a -> s{_pvfrUploadURL = a})++-- | The content hashes of the specified files that need to be uploaded to+-- the specified endpoint.+pvfrUploadRequiredHashes :: Lens' PopulateVersionFilesResponse [Text]+pvfrUploadRequiredHashes+ = lens _pvfrUploadRequiredHashes+ (\ s a -> s{_pvfrUploadRequiredHashes = a})+ . _Default+ . _Coerce++instance FromJSON PopulateVersionFilesResponse where+ parseJSON+ = withObject "PopulateVersionFilesResponse"+ (\ o ->+ PopulateVersionFilesResponse' <$>+ (o .:? "uploadUrl") <*>+ (o .:? "uploadRequiredHashes" .!= mempty))++instance ToJSON PopulateVersionFilesResponse where+ toJSON PopulateVersionFilesResponse'{..}+ = object+ (catMaybes+ [("uploadUrl" .=) <$> _pvfrUploadURL,+ ("uploadRequiredHashes" .=) <$>+ _pvfrUploadRequiredHashes])++-- | Represents a DNS certificate challenge.+--+-- /See:/ 'certDNSChallenge' smart constructor.+data CertDNSChallenge = CertDNSChallenge'+ { _cdcToken :: !(Maybe Text)+ , _cdcDomainName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CertDNSChallenge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdcToken'+--+-- * 'cdcDomainName'+certDNSChallenge+ :: CertDNSChallenge+certDNSChallenge =+ CertDNSChallenge'+ { _cdcToken = Nothing+ , _cdcDomainName = Nothing+ }++-- | The value that must be present as a TXT record on the domain name to+-- satisfy the challenge.+cdcToken :: Lens' CertDNSChallenge (Maybe Text)+cdcToken = lens _cdcToken (\ s a -> s{_cdcToken = a})++-- | The domain name upon which the DNS challenge must be satisfied.+cdcDomainName :: Lens' CertDNSChallenge (Maybe Text)+cdcDomainName+ = lens _cdcDomainName+ (\ s a -> s{_cdcDomainName = a})++instance FromJSON CertDNSChallenge where+ parseJSON+ = withObject "CertDNSChallenge"+ (\ o ->+ CertDNSChallenge' <$>+ (o .:? "token") <*> (o .:? "domainName"))++instance ToJSON CertDNSChallenge where+ toJSON CertDNSChallenge'{..}+ = object+ (catMaybes+ [("token" .=) <$> _cdcToken,+ ("domainName" .=) <$> _cdcDomainName])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+ Empty'+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+ :: Empty+empty = Empty'++instance FromJSON Empty where+ parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+ toJSON = const emptyObject++--+-- /See:/ 'populateVersionFilesRequest' smart constructor.+newtype PopulateVersionFilesRequest = PopulateVersionFilesRequest'+ { _pvfrFiles :: Maybe PopulateVersionFilesRequestFiles+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PopulateVersionFilesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvfrFiles'+populateVersionFilesRequest+ :: PopulateVersionFilesRequest+populateVersionFilesRequest =+ PopulateVersionFilesRequest'+ { _pvfrFiles = Nothing+ }++-- | A set of file paths to the hashes corresponding to assets that should be+-- added to the version. Note that a file path to an empty hash will remove+-- the path from the version. Calculate a hash by Gzipping the file then+-- taking the SHA256 hash of the newly compressed file.+pvfrFiles :: Lens' PopulateVersionFilesRequest (Maybe PopulateVersionFilesRequestFiles)+pvfrFiles+ = lens _pvfrFiles (\ s a -> s{_pvfrFiles = a})++instance FromJSON PopulateVersionFilesRequest where+ parseJSON+ = withObject "PopulateVersionFilesRequest"+ (\ o ->+ PopulateVersionFilesRequest' <$> (o .:? "files"))++instance ToJSON PopulateVersionFilesRequest where+ toJSON PopulateVersionFilesRequest'{..}+ = object (catMaybes [("files" .=) <$> _pvfrFiles])++-- | The configuration for how incoming requests to a site should be routed+-- and processed before serving content. The patterns are matched and+-- applied according to a specific [priority+-- order](\/docs\/hosting\/full-config#hosting_priority_order).+--+-- /See:/ 'servingConfig' smart constructor.+data ServingConfig = ServingConfig'+ { _scCleanURLs :: !(Maybe Bool)+ , _scAppAssociation :: !(Maybe ServingConfigAppAssociation)+ , _scRewrites :: !(Maybe [Rewrite])+ , _scRedirects :: !(Maybe [Redirect])+ , _scHeaders :: !(Maybe [Header])+ , _scTrailingSlashBehavior :: !(Maybe ServingConfigTrailingSlashBehavior)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServingConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scCleanURLs'+--+-- * 'scAppAssociation'+--+-- * 'scRewrites'+--+-- * 'scRedirects'+--+-- * 'scHeaders'+--+-- * 'scTrailingSlashBehavior'+servingConfig+ :: ServingConfig+servingConfig =+ ServingConfig'+ { _scCleanURLs = Nothing+ , _scAppAssociation = Nothing+ , _scRewrites = Nothing+ , _scRedirects = Nothing+ , _scHeaders = Nothing+ , _scTrailingSlashBehavior = Nothing+ }++-- | Defines whether to drop the file extension from uploaded files.+scCleanURLs :: Lens' ServingConfig (Maybe Bool)+scCleanURLs+ = lens _scCleanURLs (\ s a -> s{_scCleanURLs = a})++-- | How to handle well known App Association files.+scAppAssociation :: Lens' ServingConfig (Maybe ServingConfigAppAssociation)+scAppAssociation+ = lens _scAppAssociation+ (\ s a -> s{_scAppAssociation = a})++-- | A list of rewrites that will act as if the service were given the+-- destination URL.+scRewrites :: Lens' ServingConfig [Rewrite]+scRewrites+ = lens _scRewrites (\ s a -> s{_scRewrites = a}) .+ _Default+ . _Coerce++-- | A list of globs that will cause the response to redirect to another+-- location.+scRedirects :: Lens' ServingConfig [Redirect]+scRedirects+ = lens _scRedirects (\ s a -> s{_scRedirects = a}) .+ _Default+ . _Coerce++-- | A list of custom response headers that are added to the content if the+-- request URL path matches the glob.+scHeaders :: Lens' ServingConfig [Header]+scHeaders+ = lens _scHeaders (\ s a -> s{_scHeaders = a}) .+ _Default+ . _Coerce++-- | Defines how to handle a trailing slash in the URL path.+scTrailingSlashBehavior :: Lens' ServingConfig (Maybe ServingConfigTrailingSlashBehavior)+scTrailingSlashBehavior+ = lens _scTrailingSlashBehavior+ (\ s a -> s{_scTrailingSlashBehavior = a})++instance FromJSON ServingConfig where+ parseJSON+ = withObject "ServingConfig"+ (\ o ->+ ServingConfig' <$>+ (o .:? "cleanUrls") <*> (o .:? "appAssociation") <*>+ (o .:? "rewrites" .!= mempty)+ <*> (o .:? "redirects" .!= mempty)+ <*> (o .:? "headers" .!= mempty)+ <*> (o .:? "trailingSlashBehavior"))++instance ToJSON ServingConfig where+ toJSON ServingConfig'{..}+ = object+ (catMaybes+ [("cleanUrls" .=) <$> _scCleanURLs,+ ("appAssociation" .=) <$> _scAppAssociation,+ ("rewrites" .=) <$> _scRewrites,+ ("redirects" .=) <$> _scRedirects,+ ("headers" .=) <$> _scHeaders,+ ("trailingSlashBehavior" .=) <$>+ _scTrailingSlashBehavior])++-- | The intended behavior and status information of a domain.+--+-- /See:/ 'domain' smart constructor.+data Domain = Domain'+ { _dStatus :: !(Maybe DomainStatus)+ , _dProvisioning :: !(Maybe DomainProvisioning)+ , _dUpdateTime :: !(Maybe DateTime')+ , _dDomainName :: !(Maybe Text)+ , _dDomainRedirect :: !(Maybe DomainRedirect)+ , _dSite :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Domain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dStatus'+--+-- * 'dProvisioning'+--+-- * 'dUpdateTime'+--+-- * 'dDomainName'+--+-- * 'dDomainRedirect'+--+-- * 'dSite'+domain+ :: Domain+domain =+ Domain'+ { _dStatus = Nothing+ , _dProvisioning = Nothing+ , _dUpdateTime = Nothing+ , _dDomainName = Nothing+ , _dDomainRedirect = Nothing+ , _dSite = Nothing+ }++-- | Output only. Additional status of the domain association.+dStatus :: Lens' Domain (Maybe DomainStatus)+dStatus = lens _dStatus (\ s a -> s{_dStatus = a})++-- | Output only. Information about the provisioning of certificates and the+-- health of the DNS resolution for the domain.+dProvisioning :: Lens' Domain (Maybe DomainProvisioning)+dProvisioning+ = lens _dProvisioning+ (\ s a -> s{_dProvisioning = a})++-- | Output only. The time at which the domain was last updated.+dUpdateTime :: Lens' Domain (Maybe UTCTime)+dUpdateTime+ = lens _dUpdateTime (\ s a -> s{_dUpdateTime = a}) .+ mapping _DateTime++-- | Required. The domain name of the association.+dDomainName :: Lens' Domain (Maybe Text)+dDomainName+ = lens _dDomainName (\ s a -> s{_dDomainName = a})++-- | If set, the domain should redirect with the provided parameters.+dDomainRedirect :: Lens' Domain (Maybe DomainRedirect)+dDomainRedirect+ = lens _dDomainRedirect+ (\ s a -> s{_dDomainRedirect = a})++-- | Required. The site name of the association.+dSite :: Lens' Domain (Maybe Text)+dSite = lens _dSite (\ s a -> s{_dSite = a})++instance FromJSON Domain where+ parseJSON+ = withObject "Domain"+ (\ o ->+ Domain' <$>+ (o .:? "status") <*> (o .:? "provisioning") <*>+ (o .:? "updateTime")+ <*> (o .:? "domainName")+ <*> (o .:? "domainRedirect")+ <*> (o .:? "site"))++instance ToJSON Domain where+ toJSON Domain'{..}+ = object+ (catMaybes+ [("status" .=) <$> _dStatus,+ ("provisioning" .=) <$> _dProvisioning,+ ("updateTime" .=) <$> _dUpdateTime,+ ("domainName" .=) <$> _dDomainName,+ ("domainRedirect" .=) <$> _dDomainRedirect,+ ("site" .=) <$> _dSite])++--+-- /See:/ 'listReleasesResponse' smart constructor.+data ListReleasesResponse = ListReleasesResponse'+ { _lrrNextPageToken :: !(Maybe Text)+ , _lrrReleases :: !(Maybe [Release])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListReleasesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrrNextPageToken'+--+-- * 'lrrReleases'+listReleasesResponse+ :: ListReleasesResponse+listReleasesResponse =+ ListReleasesResponse'+ { _lrrNextPageToken = Nothing+ , _lrrReleases = Nothing+ }++-- | If there are additional releases remaining beyond the ones in this+-- response, then supply this token in the next+-- [\`list\`](..\/sites.versions.files\/list) call to continue with the+-- next set of releases.+lrrNextPageToken :: Lens' ListReleasesResponse (Maybe Text)+lrrNextPageToken+ = lens _lrrNextPageToken+ (\ s a -> s{_lrrNextPageToken = a})++-- | The list of hashes of files that still need to be uploaded, if any+-- exist.+lrrReleases :: Lens' ListReleasesResponse [Release]+lrrReleases+ = lens _lrrReleases (\ s a -> s{_lrrReleases = a}) .+ _Default+ . _Coerce++instance FromJSON ListReleasesResponse where+ parseJSON+ = withObject "ListReleasesResponse"+ (\ o ->+ ListReleasesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "releases" .!= mempty))++instance ToJSON ListReleasesResponse where+ toJSON ListReleasesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lrrNextPageToken,+ ("releases" .=) <$> _lrrReleases])++-- | The current certificate provisioning status information for a domain.+--+-- /See:/ 'domainProvisioning' smart constructor.+data DomainProvisioning = DomainProvisioning'+ { _dpExpectedIPs :: !(Maybe [Text])+ , _dpCertChallengeDNS :: !(Maybe CertDNSChallenge)+ , _dpDNSFetchTime :: !(Maybe DateTime')+ , _dpCertStatus :: !(Maybe DomainProvisioningCertStatus)+ , _dpDNSStatus :: !(Maybe DomainProvisioningDNSStatus)+ , _dpDiscoveredIPs :: !(Maybe [Text])+ , _dpCertChallengeHTTP :: !(Maybe CertHTTPChallenge)+ , _dpCertChallengeDiscoveredTxt :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DomainProvisioning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpExpectedIPs'+--+-- * 'dpCertChallengeDNS'+--+-- * 'dpDNSFetchTime'+--+-- * 'dpCertStatus'+--+-- * 'dpDNSStatus'+--+-- * 'dpDiscoveredIPs'+--+-- * 'dpCertChallengeHTTP'+--+-- * 'dpCertChallengeDiscoveredTxt'+domainProvisioning+ :: DomainProvisioning+domainProvisioning =+ DomainProvisioning'+ { _dpExpectedIPs = Nothing+ , _dpCertChallengeDNS = Nothing+ , _dpDNSFetchTime = Nothing+ , _dpCertStatus = Nothing+ , _dpDNSStatus = Nothing+ , _dpDiscoveredIPs = Nothing+ , _dpCertChallengeHTTP = Nothing+ , _dpCertChallengeDiscoveredTxt = Nothing+ }++-- | The list of IPs to which the domain is expected to resolve.+dpExpectedIPs :: Lens' DomainProvisioning [Text]+dpExpectedIPs+ = lens _dpExpectedIPs+ (\ s a -> s{_dpExpectedIPs = a})+ . _Default+ . _Coerce++-- | The DNS challenge for generating a certificate.+dpCertChallengeDNS :: Lens' DomainProvisioning (Maybe CertDNSChallenge)+dpCertChallengeDNS+ = lens _dpCertChallengeDNS+ (\ s a -> s{_dpCertChallengeDNS = a})++-- | The time at which the last DNS fetch occurred.+dpDNSFetchTime :: Lens' DomainProvisioning (Maybe UTCTime)+dpDNSFetchTime+ = lens _dpDNSFetchTime+ (\ s a -> s{_dpDNSFetchTime = a})+ . mapping _DateTime++-- | The certificate provisioning status; updated when Firebase Hosting+-- provisions an SSL certificate for the domain.+dpCertStatus :: Lens' DomainProvisioning (Maybe DomainProvisioningCertStatus)+dpCertStatus+ = lens _dpCertStatus (\ s a -> s{_dpCertStatus = a})++-- | The DNS record match status as of the last DNS fetch.+dpDNSStatus :: Lens' DomainProvisioning (Maybe DomainProvisioningDNSStatus)+dpDNSStatus+ = lens _dpDNSStatus (\ s a -> s{_dpDNSStatus = a})++-- | The IPs found at the last DNS fetch.+dpDiscoveredIPs :: Lens' DomainProvisioning [Text]+dpDiscoveredIPs+ = lens _dpDiscoveredIPs+ (\ s a -> s{_dpDiscoveredIPs = a})+ . _Default+ . _Coerce++-- | The HTTP challenge for generating a certificate.+dpCertChallengeHTTP :: Lens' DomainProvisioning (Maybe CertHTTPChallenge)+dpCertChallengeHTTP+ = lens _dpCertChallengeHTTP+ (\ s a -> s{_dpCertChallengeHTTP = a})++-- | The TXT records (for the certificate challenge) that were found at the+-- last DNS fetch.+dpCertChallengeDiscoveredTxt :: Lens' DomainProvisioning [Text]+dpCertChallengeDiscoveredTxt+ = lens _dpCertChallengeDiscoveredTxt+ (\ s a -> s{_dpCertChallengeDiscoveredTxt = a})+ . _Default+ . _Coerce++instance FromJSON DomainProvisioning where+ parseJSON+ = withObject "DomainProvisioning"+ (\ o ->+ DomainProvisioning' <$>+ (o .:? "expectedIps" .!= mempty) <*>+ (o .:? "certChallengeDns")+ <*> (o .:? "dnsFetchTime")+ <*> (o .:? "certStatus")+ <*> (o .:? "dnsStatus")+ <*> (o .:? "discoveredIps" .!= mempty)+ <*> (o .:? "certChallengeHttp")+ <*> (o .:? "certChallengeDiscoveredTxt" .!= mempty))++instance ToJSON DomainProvisioning where+ toJSON DomainProvisioning'{..}+ = object+ (catMaybes+ [("expectedIps" .=) <$> _dpExpectedIPs,+ ("certChallengeDns" .=) <$> _dpCertChallengeDNS,+ ("dnsFetchTime" .=) <$> _dpDNSFetchTime,+ ("certStatus" .=) <$> _dpCertStatus,+ ("dnsStatus" .=) <$> _dpDNSStatus,+ ("discoveredIps" .=) <$> _dpDiscoveredIPs,+ ("certChallengeHttp" .=) <$> _dpCertChallengeHTTP,+ ("certChallengeDiscoveredTxt" .=) <$>+ _dpCertChallengeDiscoveredTxt])++-- | A \`Release\` is a particular [collection of configurations and+-- files](sites.versions) that is set to be public at a particular time.+--+-- /See:/ 'release' smart constructor.+data Release = Release'+ { _rReleaseTime :: !(Maybe DateTime')+ , _rReleaseUser :: !(Maybe ActingUser)+ , _rName :: !(Maybe Text)+ , _rVersion :: !(Maybe Version)+ , _rType :: !(Maybe ReleaseType)+ , _rMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Release' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rReleaseTime'+--+-- * 'rReleaseUser'+--+-- * 'rName'+--+-- * 'rVersion'+--+-- * 'rType'+--+-- * 'rMessage'+release+ :: Release+release =+ Release'+ { _rReleaseTime = Nothing+ , _rReleaseUser = Nothing+ , _rName = Nothing+ , _rVersion = Nothing+ , _rType = Nothing+ , _rMessage = Nothing+ }++-- | Output only. The time at which the version is set to be public.+rReleaseTime :: Lens' Release (Maybe UTCTime)+rReleaseTime+ = lens _rReleaseTime (\ s a -> s{_rReleaseTime = a})+ . mapping _DateTime++-- | Output only. Identifies the user who created the release.+rReleaseUser :: Lens' Release (Maybe ActingUser)+rReleaseUser+ = lens _rReleaseUser (\ s a -> s{_rReleaseUser = a})++-- | Output only. The unique identifier for the release, in the format:+-- 'sites\/site-name\/releases\/releaseID' This name is provided in the+-- response body when you call the+-- [\`CreateRelease\`](sites.releases\/create) endpoint.+rName :: Lens' Release (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a})++-- | Output only. The configuration and content that was released.+rVersion :: Lens' Release (Maybe Version)+rVersion = lens _rVersion (\ s a -> s{_rVersion = a})++-- | Explains the reason for the release.+-- Specify a value for this field only when creating a \`SITE_DISABLE\`+-- type release.+rType :: Lens' Release (Maybe ReleaseType)+rType = lens _rType (\ s a -> s{_rType = a})++-- | The deploy description when the release was created. The value can be up+-- to 512 characters.+rMessage :: Lens' Release (Maybe Text)+rMessage = lens _rMessage (\ s a -> s{_rMessage = a})++instance FromJSON Release where+ parseJSON+ = withObject "Release"+ (\ o ->+ Release' <$>+ (o .:? "releaseTime") <*> (o .:? "releaseUser") <*>+ (o .:? "name")+ <*> (o .:? "version")+ <*> (o .:? "type")+ <*> (o .:? "message"))++instance ToJSON Release where+ toJSON Release'{..}+ = object+ (catMaybes+ [("releaseTime" .=) <$> _rReleaseTime,+ ("releaseUser" .=) <$> _rReleaseUser,+ ("name" .=) <$> _rName, ("version" .=) <$> _rVersion,+ ("type" .=) <$> _rType,+ ("message" .=) <$> _rMessage])++-- | A static content file that is part of a version.+--+-- /See:/ 'versionFile' smart constructor.+data VersionFile = VersionFile'+ { _vfStatus :: !(Maybe VersionFileStatus)+ , _vfHash :: !(Maybe Text)+ , _vfPath :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VersionFile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vfStatus'+--+-- * 'vfHash'+--+-- * 'vfPath'+versionFile+ :: VersionFile+versionFile =+ VersionFile'+ { _vfStatus = Nothing+ , _vfHash = Nothing+ , _vfPath = Nothing+ }++-- | Output only. The current status of a particular file in the specified+-- version.+-- The value will be either \`pending upload\` or \`uploaded\`.+vfStatus :: Lens' VersionFile (Maybe VersionFileStatus)+vfStatus = lens _vfStatus (\ s a -> s{_vfStatus = a})++-- | The SHA256 content hash of the file.+vfHash :: Lens' VersionFile (Maybe Text)+vfHash = lens _vfHash (\ s a -> s{_vfHash = a})++-- | The URI at which the file\'s content should display.+vfPath :: Lens' VersionFile (Maybe Text)+vfPath = lens _vfPath (\ s a -> s{_vfPath = a})++instance FromJSON VersionFile where+ parseJSON+ = withObject "VersionFile"+ (\ o ->+ VersionFile' <$>+ (o .:? "status") <*> (o .:? "hash") <*>+ (o .:? "path"))++instance ToJSON VersionFile where+ toJSON VersionFile'{..}+ = object+ (catMaybes+ [("status" .=) <$> _vfStatus,+ ("hash" .=) <$> _vfHash, ("path" .=) <$> _vfPath])++-- | A [\`header\`](\/docs\/hosting\/full-config#headers) defines custom+-- headers to add to a response should the request URL path match the+-- pattern.+--+-- /See:/ 'header' smart constructor.+data Header = Header'+ { _hHeaders :: !(Maybe HeaderHeaders)+ , _hGlob :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Header' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hHeaders'+--+-- * 'hGlob'+header+ :: Header+header =+ Header'+ { _hHeaders = Nothing+ , _hGlob = Nothing+ }++-- | Required. The additional headers to add to the response.+hHeaders :: Lens' Header (Maybe HeaderHeaders)+hHeaders = lens _hHeaders (\ s a -> s{_hHeaders = a})++-- | Required. The user-supplied [glob+-- pattern](\/docs\/hosting\/full-config#glob_pattern_matching) to match+-- against the request URL path.+hGlob :: Lens' Header (Maybe Text)+hGlob = lens _hGlob (\ s a -> s{_hGlob = a})++instance FromJSON Header where+ parseJSON+ = withObject "Header"+ (\ o ->+ Header' <$> (o .:? "headers") <*> (o .:? "glob"))++instance ToJSON Header where+ toJSON Header'{..}+ = object+ (catMaybes+ [("headers" .=) <$> _hHeaders,+ ("glob" .=) <$> _hGlob])++-- | Contains metadata about the user who performed an action, such as+-- creating a release or finalizing a version.+--+-- /See:/ 'actingUser' smart constructor.+data ActingUser = ActingUser'+ { _auEmail :: !(Maybe Text)+ , _auImageURL :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ActingUser' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auEmail'+--+-- * 'auImageURL'+actingUser+ :: ActingUser+actingUser =+ ActingUser'+ { _auEmail = Nothing+ , _auImageURL = Nothing+ }++-- | The email address of the user when the user performed the action.+auEmail :: Lens' ActingUser (Maybe Text)+auEmail = lens _auEmail (\ s a -> s{_auEmail = a})++-- | A profile image URL for the user. May not be present if the user has+-- changed their email address or deleted their account.+auImageURL :: Lens' ActingUser (Maybe Text)+auImageURL+ = lens _auImageURL (\ s a -> s{_auImageURL = a})++instance FromJSON ActingUser where+ parseJSON+ = withObject "ActingUser"+ (\ o ->+ ActingUser' <$>+ (o .:? "email") <*> (o .:? "imageUrl"))++instance ToJSON ActingUser where+ toJSON ActingUser'{..}+ = object+ (catMaybes+ [("email" .=) <$> _auEmail,+ ("imageUrl" .=) <$> _auImageURL])++-- | A \`Version\` is the collection of configuration and [static+-- files](sites.versions.files) that determine how a site is displayed.+--+-- /See:/ 'version' smart constructor.+data Version = Version'+ { _vStatus :: !(Maybe VersionStatus)+ , _vFinalizeTime :: !(Maybe DateTime')+ , _vConfig :: !(Maybe ServingConfig)+ , _vFileCount :: !(Maybe (Textual Int64))+ , _vFinalizeUser :: !(Maybe ActingUser)+ , _vVersionBytes :: !(Maybe (Textual Int64))+ , _vDeleteTime :: !(Maybe DateTime')+ , _vName :: !(Maybe Text)+ , _vLabels :: !(Maybe VersionLabels)+ , _vCreateUser :: !(Maybe ActingUser)+ , _vDeleteUser :: !(Maybe ActingUser)+ , _vCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Version' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vStatus'+--+-- * 'vFinalizeTime'+--+-- * 'vConfig'+--+-- * 'vFileCount'+--+-- * 'vFinalizeUser'+--+-- * 'vVersionBytes'+--+-- * 'vDeleteTime'+--+-- * 'vName'+--+-- * 'vLabels'+--+-- * 'vCreateUser'+--+-- * 'vDeleteUser'+--+-- * 'vCreateTime'+version+ :: Version+version =+ Version'+ { _vStatus = Nothing+ , _vFinalizeTime = Nothing+ , _vConfig = Nothing+ , _vFileCount = Nothing+ , _vFinalizeUser = Nothing+ , _vVersionBytes = Nothing+ , _vDeleteTime = Nothing+ , _vName = Nothing+ , _vLabels = Nothing+ , _vCreateUser = Nothing+ , _vDeleteUser = Nothing+ , _vCreateTime = Nothing+ }++-- | The deploy status of a version.+-- For a successful deploy, call the+-- [\`CreateVersion\`](sites.versions\/create) endpoint to make a new+-- version (\`CREATED\` status), [upload all desired+-- files](sites.versions\/populateFiles) to the version, then+-- [update](sites.versions\/patch) the version to the \`FINALIZED\` status.+-- Note that if you leave the version in the \`CREATED\` state for more+-- than 12 hours, the system will automatically mark the version as+-- \`ABANDONED\`.+-- You can also change the status of a version to \`DELETED\` by calling+-- the [\`DeleteVersion\`](sites.versions\/delete) endpoint.+vStatus :: Lens' Version (Maybe VersionStatus)+vStatus = lens _vStatus (\ s a -> s{_vStatus = a})++-- | Output only. The time at which the version was \`FINALIZED\`.+vFinalizeTime :: Lens' Version (Maybe UTCTime)+vFinalizeTime+ = lens _vFinalizeTime+ (\ s a -> s{_vFinalizeTime = a})+ . mapping _DateTime++-- | The configuration for the behavior of the site. This configuration+-- exists in the [\`firebase.json\`](\/docs\/cli\/#the_firebasejson_file)+-- file.+vConfig :: Lens' Version (Maybe ServingConfig)+vConfig = lens _vConfig (\ s a -> s{_vConfig = a})++-- | Output only. The total number of files associated with the version.+-- This value is calculated after a version is \`FINALIZED\`.+vFileCount :: Lens' Version (Maybe Int64)+vFileCount+ = lens _vFileCount (\ s a -> s{_vFileCount = a}) .+ mapping _Coerce++-- | Output only. Identifies the user who \`FINALIZED\` the version.+vFinalizeUser :: Lens' Version (Maybe ActingUser)+vFinalizeUser+ = lens _vFinalizeUser+ (\ s a -> s{_vFinalizeUser = a})++-- | Output only. The total stored bytesize of the version.+-- This value is calculated after a version is \`FINALIZED\`.+vVersionBytes :: Lens' Version (Maybe Int64)+vVersionBytes+ = lens _vVersionBytes+ (\ s a -> s{_vVersionBytes = a})+ . mapping _Coerce++-- | Output only. The time at which the version was \`DELETED\`.+vDeleteTime :: Lens' Version (Maybe UTCTime)+vDeleteTime+ = lens _vDeleteTime (\ s a -> s{_vDeleteTime = a}) .+ mapping _DateTime++-- | The unique identifier for a version, in the format:+-- 'sites\/site-name\/versions\/versionID' This name is provided in the+-- response body when you call the+-- [\`CreateVersion\`](..\/sites.versions\/create) endpoint.+vName :: Lens' Version (Maybe Text)+vName = lens _vName (\ s a -> s{_vName = a})++-- | The labels used for extra metadata and\/or filtering.+vLabels :: Lens' Version (Maybe VersionLabels)+vLabels = lens _vLabels (\ s a -> s{_vLabels = a})++-- | Output only. Identifies the user who created the version.+vCreateUser :: Lens' Version (Maybe ActingUser)+vCreateUser+ = lens _vCreateUser (\ s a -> s{_vCreateUser = a})++-- | Output only. Identifies the user who \`DELETED\` the version.+vDeleteUser :: Lens' Version (Maybe ActingUser)+vDeleteUser+ = lens _vDeleteUser (\ s a -> s{_vDeleteUser = a})++-- | Output only. The time at which the version was created.+vCreateTime :: Lens' Version (Maybe UTCTime)+vCreateTime+ = lens _vCreateTime (\ s a -> s{_vCreateTime = a}) .+ mapping _DateTime++instance FromJSON Version where+ parseJSON+ = withObject "Version"+ (\ o ->+ Version' <$>+ (o .:? "status") <*> (o .:? "finalizeTime") <*>+ (o .:? "config")+ <*> (o .:? "fileCount")+ <*> (o .:? "finalizeUser")+ <*> (o .:? "versionBytes")+ <*> (o .:? "deleteTime")+ <*> (o .:? "name")+ <*> (o .:? "labels")+ <*> (o .:? "createUser")+ <*> (o .:? "deleteUser")+ <*> (o .:? "createTime"))++instance ToJSON Version where+ toJSON Version'{..}+ = object+ (catMaybes+ [("status" .=) <$> _vStatus,+ ("finalizeTime" .=) <$> _vFinalizeTime,+ ("config" .=) <$> _vConfig,+ ("fileCount" .=) <$> _vFileCount,+ ("finalizeUser" .=) <$> _vFinalizeUser,+ ("versionBytes" .=) <$> _vVersionBytes,+ ("deleteTime" .=) <$> _vDeleteTime,+ ("name" .=) <$> _vName, ("labels" .=) <$> _vLabels,+ ("createUser" .=) <$> _vCreateUser,+ ("deleteUser" .=) <$> _vDeleteUser,+ ("createTime" .=) <$> _vCreateTime])++--+-- /See:/ 'listDomainsResponse' smart constructor.+data ListDomainsResponse = ListDomainsResponse'+ { _ldrNextPageToken :: !(Maybe Text)+ , _ldrDomains :: !(Maybe [Domain])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListDomainsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldrNextPageToken'+--+-- * 'ldrDomains'+listDomainsResponse+ :: ListDomainsResponse+listDomainsResponse =+ ListDomainsResponse'+ { _ldrNextPageToken = Nothing+ , _ldrDomains = Nothing+ }++-- | The pagination token, if more results exist.+ldrNextPageToken :: Lens' ListDomainsResponse (Maybe Text)+ldrNextPageToken+ = lens _ldrNextPageToken+ (\ s a -> s{_ldrNextPageToken = a})++-- | The list of domains, if any exist.+ldrDomains :: Lens' ListDomainsResponse [Domain]+ldrDomains+ = lens _ldrDomains (\ s a -> s{_ldrDomains = a}) .+ _Default+ . _Coerce++instance FromJSON ListDomainsResponse where+ parseJSON+ = withObject "ListDomainsResponse"+ (\ o ->+ ListDomainsResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "domains" .!= mempty))++instance ToJSON ListDomainsResponse where+ toJSON ListDomainsResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _ldrNextPageToken,+ ("domains" .=) <$> _ldrDomains])++-- | A [\`redirect\`](\/docs\/hosting\/full-config#redirects) represents the+-- configuration for returning an HTTP redirect response given a matching+-- request URL path.+--+-- /See:/ 'redirect' smart constructor.+data Redirect = Redirect'+ { _rLocation :: !(Maybe Text)+ , _rGlob :: !(Maybe Text)+ , _rStatusCode :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Redirect' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rLocation'+--+-- * 'rGlob'+--+-- * 'rStatusCode'+redirect+ :: Redirect+redirect =+ Redirect'+ { _rLocation = Nothing+ , _rGlob = Nothing+ , _rStatusCode = Nothing+ }++-- | Required. The value to put in the HTTP location header of the response.+-- The location can contain capture group values from the pattern using a+-- \`:\` prefix to identify the segment and an optional \`*\` to capture+-- the rest of the URL. For example:+-- '\"glob\": \"\/:capture*\", \"statusCode\": 301, \"location\": \"https:\/\/example.com\/foo\/:capture\"'+rLocation :: Lens' Redirect (Maybe Text)+rLocation+ = lens _rLocation (\ s a -> s{_rLocation = a})++-- | Required. The user-supplied [glob+-- pattern](\/docs\/hosting\/full-config#glob_pattern_matching) to match+-- against the request URL path.+rGlob :: Lens' Redirect (Maybe Text)+rGlob = lens _rGlob (\ s a -> s{_rGlob = a})++-- | Required. The status HTTP code to return in the response. It must be a+-- valid 3xx status code.+rStatusCode :: Lens' Redirect (Maybe Int32)+rStatusCode+ = lens _rStatusCode (\ s a -> s{_rStatusCode = a}) .+ mapping _Coerce++instance FromJSON Redirect where+ parseJSON+ = withObject "Redirect"+ (\ o ->+ Redirect' <$>+ (o .:? "location") <*> (o .:? "glob") <*>+ (o .:? "statusCode"))++instance ToJSON Redirect where+ toJSON Redirect'{..}+ = object+ (catMaybes+ [("location" .=) <$> _rLocation,+ ("glob" .=) <$> _rGlob,+ ("statusCode" .=) <$> _rStatusCode])++-- | Defines the behavior of a domain-level redirect. Domain redirects+-- preserve the path of the redirect but replace the requested domain with+-- the one specified in the redirect configuration.+--+-- /See:/ 'domainRedirect' smart constructor.+data DomainRedirect = DomainRedirect'+ { _drDomainName :: !(Maybe Text)+ , _drType :: !(Maybe DomainRedirectType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DomainRedirect' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drDomainName'+--+-- * 'drType'+domainRedirect+ :: DomainRedirect+domainRedirect =+ DomainRedirect'+ { _drDomainName = Nothing+ , _drType = Nothing+ }++-- | Required. The domain name to redirect to.+drDomainName :: Lens' DomainRedirect (Maybe Text)+drDomainName+ = lens _drDomainName (\ s a -> s{_drDomainName = a})++-- | Required. The redirect status code.+drType :: Lens' DomainRedirect (Maybe DomainRedirectType)+drType = lens _drType (\ s a -> s{_drType = a})++instance FromJSON DomainRedirect where+ parseJSON+ = withObject "DomainRedirect"+ (\ o ->+ DomainRedirect' <$>+ (o .:? "domainName") <*> (o .:? "type"))++instance ToJSON DomainRedirect where+ toJSON DomainRedirect'{..}+ = object+ (catMaybes+ [("domainName" .=) <$> _drDomainName,+ ("type" .=) <$> _drType])++-- | A [\`rewrite\`](\/docs\/hosting\/full-config#rewrites) represents an+-- internal content rewrite on the version. If the pattern matches, the+-- request will be handled as if it were to the destination path specified+-- in the configuration.+--+-- /See:/ 'rewrite' smart constructor.+data Rewrite = Rewrite'+ { _rewFunction :: !(Maybe Text)+ , _rewPath :: !(Maybe Text)+ , _rewGlob :: !(Maybe Text)+ , _rewDynamicLinks :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Rewrite' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rewFunction'+--+-- * 'rewPath'+--+-- * 'rewGlob'+--+-- * 'rewDynamicLinks'+rewrite+ :: Rewrite+rewrite =+ Rewrite'+ { _rewFunction = Nothing+ , _rewPath = Nothing+ , _rewGlob = Nothing+ , _rewDynamicLinks = Nothing+ }++-- | The function to proxy requests to. Must match the exported function name+-- exactly.+rewFunction :: Lens' Rewrite (Maybe Text)+rewFunction+ = lens _rewFunction (\ s a -> s{_rewFunction = a})++-- | The URL path to rewrite the request to.+rewPath :: Lens' Rewrite (Maybe Text)+rewPath = lens _rewPath (\ s a -> s{_rewPath = a})++-- | Required. The user-supplied [glob+-- pattern](\/docs\/hosting\/full-config#glob_pattern_matching) to match+-- against the request URL path.+rewGlob :: Lens' Rewrite (Maybe Text)+rewGlob = lens _rewGlob (\ s a -> s{_rewGlob = a})++-- | The request will be forwarded to Firebase Dynamic Links.+rewDynamicLinks :: Lens' Rewrite (Maybe Bool)+rewDynamicLinks+ = lens _rewDynamicLinks+ (\ s a -> s{_rewDynamicLinks = a})++instance FromJSON Rewrite where+ parseJSON+ = withObject "Rewrite"+ (\ o ->+ Rewrite' <$>+ (o .:? "function") <*> (o .:? "path") <*>+ (o .:? "glob")+ <*> (o .:? "dynamicLinks"))++instance ToJSON Rewrite where+ toJSON Rewrite'{..}+ = object+ (catMaybes+ [("function" .=) <$> _rewFunction,+ ("path" .=) <$> _rewPath, ("glob" .=) <$> _rewGlob,+ ("dynamicLinks" .=) <$> _rewDynamicLinks])++-- | A set of file paths to the hashes corresponding to assets that should be+-- added to the version. Note that a file path to an empty hash will remove+-- the path from the version. Calculate a hash by Gzipping the file then+-- taking the SHA256 hash of the newly compressed file.+--+-- /See:/ 'populateVersionFilesRequestFiles' smart constructor.+newtype PopulateVersionFilesRequestFiles = PopulateVersionFilesRequestFiles'+ { _pvfrfAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PopulateVersionFilesRequestFiles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvfrfAddtional'+populateVersionFilesRequestFiles+ :: HashMap Text Text -- ^ 'pvfrfAddtional'+ -> PopulateVersionFilesRequestFiles+populateVersionFilesRequestFiles pPvfrfAddtional_ =+ PopulateVersionFilesRequestFiles'+ { _pvfrfAddtional = _Coerce # pPvfrfAddtional_+ }++pvfrfAddtional :: Lens' PopulateVersionFilesRequestFiles (HashMap Text Text)+pvfrfAddtional+ = lens _pvfrfAddtional+ (\ s a -> s{_pvfrfAddtional = a})+ . _Coerce++instance FromJSON PopulateVersionFilesRequestFiles+ where+ parseJSON+ = withObject "PopulateVersionFilesRequestFiles"+ (\ o ->+ PopulateVersionFilesRequestFiles' <$>+ (parseJSONObject o))++instance ToJSON PopulateVersionFilesRequestFiles+ where+ toJSON = toJSON . _pvfrfAddtional++-- | Required. The additional headers to add to the response.+--+-- /See:/ 'headerHeaders' smart constructor.+newtype HeaderHeaders = HeaderHeaders'+ { _hhAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HeaderHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhAddtional'+headerHeaders+ :: HashMap Text Text -- ^ 'hhAddtional'+ -> HeaderHeaders+headerHeaders pHhAddtional_ =+ HeaderHeaders'+ { _hhAddtional = _Coerce # pHhAddtional_+ }++hhAddtional :: Lens' HeaderHeaders (HashMap Text Text)+hhAddtional+ = lens _hhAddtional (\ s a -> s{_hhAddtional = a}) .+ _Coerce++instance FromJSON HeaderHeaders where+ parseJSON+ = withObject "HeaderHeaders"+ (\ o -> HeaderHeaders' <$> (parseJSONObject o))++instance ToJSON HeaderHeaders where+ toJSON = toJSON . _hhAddtional++-- | Represents an HTTP certificate challenge.+--+-- /See:/ 'certHTTPChallenge' smart constructor.+data CertHTTPChallenge = CertHTTPChallenge'+ { _chttpcPath :: !(Maybe Text)+ , _chttpcToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CertHTTPChallenge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chttpcPath'+--+-- * 'chttpcToken'+certHTTPChallenge+ :: CertHTTPChallenge+certHTTPChallenge =+ CertHTTPChallenge'+ { _chttpcPath = Nothing+ , _chttpcToken = Nothing+ }++-- | The URL path on which to serve the specified token to satisfy the+-- certificate challenge.+chttpcPath :: Lens' CertHTTPChallenge (Maybe Text)+chttpcPath+ = lens _chttpcPath (\ s a -> s{_chttpcPath = a})++-- | The token to serve at the specified URL path to satisfy the certificate+-- challenge.+chttpcToken :: Lens' CertHTTPChallenge (Maybe Text)+chttpcToken+ = lens _chttpcToken (\ s a -> s{_chttpcToken = a})++instance FromJSON CertHTTPChallenge where+ parseJSON+ = withObject "CertHTTPChallenge"+ (\ o ->+ CertHTTPChallenge' <$>+ (o .:? "path") <*> (o .:? "token"))++instance ToJSON CertHTTPChallenge where+ toJSON CertHTTPChallenge'{..}+ = object+ (catMaybes+ [("path" .=) <$> _chttpcPath,+ ("token" .=) <$> _chttpcToken])++--+-- /See:/ 'listVersionFilesResponse' smart constructor.+data ListVersionFilesResponse = ListVersionFilesResponse'+ { _lvfrNextPageToken :: !(Maybe Text)+ , _lvfrFiles :: !(Maybe [VersionFile])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListVersionFilesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lvfrNextPageToken'+--+-- * 'lvfrFiles'+listVersionFilesResponse+ :: ListVersionFilesResponse+listVersionFilesResponse =+ ListVersionFilesResponse'+ { _lvfrNextPageToken = Nothing+ , _lvfrFiles = Nothing+ }++-- | The pagination token, if more results exist.+lvfrNextPageToken :: Lens' ListVersionFilesResponse (Maybe Text)+lvfrNextPageToken+ = lens _lvfrNextPageToken+ (\ s a -> s{_lvfrNextPageToken = a})++-- | The list path\/hashes in the specified version.+lvfrFiles :: Lens' ListVersionFilesResponse [VersionFile]+lvfrFiles+ = lens _lvfrFiles (\ s a -> s{_lvfrFiles = a}) .+ _Default+ . _Coerce++instance FromJSON ListVersionFilesResponse where+ parseJSON+ = withObject "ListVersionFilesResponse"+ (\ o ->+ ListVersionFilesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "files" .!= mempty))++instance ToJSON ListVersionFilesResponse where+ toJSON ListVersionFilesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lvfrNextPageToken,+ ("files" .=) <$> _lvfrFiles])++-- | A \`SiteConfig\` contains metadata associated with a specific site that+-- controls Firebase Hosting serving behavior+--+-- /See:/ 'siteConfig' smart constructor.+newtype SiteConfig = SiteConfig'+ { _scMaxVersions :: Maybe (Textual Int64)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SiteConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scMaxVersions'+siteConfig+ :: SiteConfig+siteConfig =+ SiteConfig'+ { _scMaxVersions = Nothing+ }++-- | The number of FINALIZED versions that will be held for a site before+-- automatic deletion. When a new version is deployed, content for versions+-- in storage in excess of this number will be deleted, and will no longer+-- be billed for storage usage. Oldest versions will be deleted first;+-- sites are created with an unlimited number of max_versions by default.+scMaxVersions :: Lens' SiteConfig (Maybe Int64)+scMaxVersions+ = lens _scMaxVersions+ (\ s a -> s{_scMaxVersions = a})+ . mapping _Coerce++instance FromJSON SiteConfig where+ parseJSON+ = withObject "SiteConfig"+ (\ o -> SiteConfig' <$> (o .:? "maxVersions"))++instance ToJSON SiteConfig where+ toJSON SiteConfig'{..}+ = object+ (catMaybes [("maxVersions" .=) <$> _scMaxVersions])
+ gen/Network/Google/FirebaseHosting/Types/Sum.hs view
@@ -0,0 +1,445 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.FirebaseHosting.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.FirebaseHosting.Types.Sum where++import Network.Google.Prelude hiding (Bytes)++-- | Output only. Additional status of the domain association.+data DomainStatus+ = DomainStatusUnspecified+ -- ^ @DOMAIN_STATUS_UNSPECIFIED@+ -- Unspecified domain association status.+ | DomainChangePending+ -- ^ @DOMAIN_CHANGE_PENDING@+ -- An operation is in progress on the domain association and no further+ -- operations can be performed until it is complete.+ | DomainActive+ -- ^ @DOMAIN_ACTIVE@+ -- The domain association is active and no additional action is required.+ | DomainVerificationRequired+ -- ^ @DOMAIN_VERIFICATION_REQUIRED@+ -- The domain was previously verified in the legacy system. User must+ -- reverify the domain through the ownership service.+ | DomainVerificationLost+ -- ^ @DOMAIN_VERIFICATION_LOST@+ -- The domain verification has been lost and the domain is in the grace+ -- period before being removed from the Firebase Hosting site.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DomainStatus++instance FromHttpApiData DomainStatus where+ parseQueryParam = \case+ "DOMAIN_STATUS_UNSPECIFIED" -> Right DomainStatusUnspecified+ "DOMAIN_CHANGE_PENDING" -> Right DomainChangePending+ "DOMAIN_ACTIVE" -> Right DomainActive+ "DOMAIN_VERIFICATION_REQUIRED" -> Right DomainVerificationRequired+ "DOMAIN_VERIFICATION_LOST" -> Right DomainVerificationLost+ x -> Left ("Unable to parse DomainStatus from: " <> x)++instance ToHttpApiData DomainStatus where+ toQueryParam = \case+ DomainStatusUnspecified -> "DOMAIN_STATUS_UNSPECIFIED"+ DomainChangePending -> "DOMAIN_CHANGE_PENDING"+ DomainActive -> "DOMAIN_ACTIVE"+ DomainVerificationRequired -> "DOMAIN_VERIFICATION_REQUIRED"+ DomainVerificationLost -> "DOMAIN_VERIFICATION_LOST"++instance FromJSON DomainStatus where+ parseJSON = parseJSONText "DomainStatus"++instance ToJSON DomainStatus where+ toJSON = toJSONText++-- | The DNS record match status as of the last DNS fetch.+data DomainProvisioningDNSStatus+ = DNSStatusUnspecified+ -- ^ @DNS_STATUS_UNSPECIFIED@+ -- Unspecified DNS status.+ | DNSPending+ -- ^ @DNS_PENDING@+ -- No DNS records have been specified for this domain yet.+ | DNSMissing+ -- ^ @DNS_MISSING@+ -- None of the required DNS records have been detected on the domain.+ | DNSPartialMatch+ -- ^ @DNS_PARTIAL_MATCH@+ -- Some of the required DNS records were detected, but not all of them. No+ -- extra (non-required) DNS records were detected.+ | DNSMatch+ -- ^ @DNS_MATCH@+ -- All required DNS records were detected. No extra (non-required) DNS+ -- records were detected.+ | DNSExtraneousMatch+ -- ^ @DNS_EXTRANEOUS_MATCH@+ -- The domain has at least one of the required DNS records, and it has at+ -- least one extra (non-required) DNS record.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DomainProvisioningDNSStatus++instance FromHttpApiData DomainProvisioningDNSStatus where+ parseQueryParam = \case+ "DNS_STATUS_UNSPECIFIED" -> Right DNSStatusUnspecified+ "DNS_PENDING" -> Right DNSPending+ "DNS_MISSING" -> Right DNSMissing+ "DNS_PARTIAL_MATCH" -> Right DNSPartialMatch+ "DNS_MATCH" -> Right DNSMatch+ "DNS_EXTRANEOUS_MATCH" -> Right DNSExtraneousMatch+ x -> Left ("Unable to parse DomainProvisioningDNSStatus from: " <> x)++instance ToHttpApiData DomainProvisioningDNSStatus where+ toQueryParam = \case+ DNSStatusUnspecified -> "DNS_STATUS_UNSPECIFIED"+ DNSPending -> "DNS_PENDING"+ DNSMissing -> "DNS_MISSING"+ DNSPartialMatch -> "DNS_PARTIAL_MATCH"+ DNSMatch -> "DNS_MATCH"+ DNSExtraneousMatch -> "DNS_EXTRANEOUS_MATCH"++instance FromJSON DomainProvisioningDNSStatus where+ parseJSON = parseJSONText "DomainProvisioningDNSStatus"++instance ToJSON DomainProvisioningDNSStatus where+ toJSON = toJSONText++-- | Required. The redirect status code.+data DomainRedirectType+ = RedirectTypeUnspecified+ -- ^ @REDIRECT_TYPE_UNSPECIFIED@+ -- The default redirect type; should not be intentionlly used.+ | MovedPermanently+ -- ^ @MOVED_PERMANENTLY@+ -- The redirect will respond with an HTTP status code of \`301 Moved+ -- Permanently\`.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DomainRedirectType++instance FromHttpApiData DomainRedirectType where+ parseQueryParam = \case+ "REDIRECT_TYPE_UNSPECIFIED" -> Right RedirectTypeUnspecified+ "MOVED_PERMANENTLY" -> Right MovedPermanently+ x -> Left ("Unable to parse DomainRedirectType from: " <> x)++instance ToHttpApiData DomainRedirectType where+ toQueryParam = \case+ RedirectTypeUnspecified -> "REDIRECT_TYPE_UNSPECIFIED"+ MovedPermanently -> "MOVED_PERMANENTLY"++instance FromJSON DomainRedirectType where+ parseJSON = parseJSONText "DomainRedirectType"++instance ToJSON DomainRedirectType where+ toJSON = toJSONText++-- | How to handle well known App Association files.+data ServingConfigAppAssociation+ = Auto+ -- ^ @AUTO@+ -- The app association files will be automattically created from the apps+ -- that exist in the Firebase project.+ | None+ -- ^ @NONE@+ -- No special handling of the app association files will occur, these paths+ -- will result in a 404 unless caught with a Rewrite.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ServingConfigAppAssociation++instance FromHttpApiData ServingConfigAppAssociation where+ parseQueryParam = \case+ "AUTO" -> Right Auto+ "NONE" -> Right None+ x -> Left ("Unable to parse ServingConfigAppAssociation from: " <> x)++instance ToHttpApiData ServingConfigAppAssociation where+ toQueryParam = \case+ Auto -> "AUTO"+ None -> "NONE"++instance FromJSON ServingConfigAppAssociation where+ parseJSON = parseJSONText "ServingConfigAppAssociation"++instance ToJSON ServingConfigAppAssociation where+ toJSON = toJSONText++-- | The deploy status of a version.+-- For a successful deploy, call the+-- [\`CreateVersion\`](sites.versions\/create) endpoint to make a new+-- version (\`CREATED\` status), [upload all desired+-- files](sites.versions\/populateFiles) to the version, then+-- [update](sites.versions\/patch) the version to the \`FINALIZED\` status.+-- Note that if you leave the version in the \`CREATED\` state for more+-- than 12 hours, the system will automatically mark the version as+-- \`ABANDONED\`.+-- You can also change the status of a version to \`DELETED\` by calling+-- the [\`DeleteVersion\`](sites.versions\/delete) endpoint.+data VersionStatus+ = VersionStatusUnspecified+ -- ^ @VERSION_STATUS_UNSPECIFIED@+ -- The default status; should not be intentionally used.+ | Created+ -- ^ @CREATED@+ -- The version has been created, and content is currently being added to+ -- the version.+ | Finalized+ -- ^ @FINALIZED@+ -- All content has been added to the version, and the version can no longer+ -- be changed.+ | Deleted+ -- ^ @DELETED@+ -- The version has been deleted.+ | Abandoned+ -- ^ @ABANDONED@+ -- The version was not updated to \`FINALIZED\` within 12 hours and was+ -- automatically deleted.+ | Expired+ -- ^ @EXPIRED@+ -- The version has fallen out of the site-configured retention window and+ -- its associated files in GCS have been\/been scheduled for deletion.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable VersionStatus++instance FromHttpApiData VersionStatus where+ parseQueryParam = \case+ "VERSION_STATUS_UNSPECIFIED" -> Right VersionStatusUnspecified+ "CREATED" -> Right Created+ "FINALIZED" -> Right Finalized+ "DELETED" -> Right Deleted+ "ABANDONED" -> Right Abandoned+ "EXPIRED" -> Right Expired+ x -> Left ("Unable to parse VersionStatus from: " <> x)++instance ToHttpApiData VersionStatus where+ toQueryParam = \case+ VersionStatusUnspecified -> "VERSION_STATUS_UNSPECIFIED"+ Created -> "CREATED"+ Finalized -> "FINALIZED"+ Deleted -> "DELETED"+ Abandoned -> "ABANDONED"+ Expired -> "EXPIRED"++instance FromJSON VersionStatus where+ parseJSON = parseJSONText "VersionStatus"++instance ToJSON VersionStatus 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++-- | The certificate provisioning status; updated when Firebase Hosting+-- provisions an SSL certificate for the domain.+data DomainProvisioningCertStatus+ = CertStatusUnspecified+ -- ^ @CERT_STATUS_UNSPECIFIED@+ -- Unspecified certificate provisioning status.+ | CertPending+ -- ^ @CERT_PENDING@+ -- Waiting for certificate challenge to be created.+ | CertMissing+ -- ^ @CERT_MISSING@+ -- Waiting for certificate challenge to be met.+ | CertProcessing+ -- ^ @CERT_PROCESSING@+ -- Certificate challenge met; attempting to acquire\/propagate certificate.+ | CertPropagating+ -- ^ @CERT_PROPAGATING@+ -- Certificate obtained; propagating to the CDN.+ | CertActive+ -- ^ @CERT_ACTIVE@+ -- Certificate provisioned and deployed across the CDN.+ | CertError+ -- ^ @CERT_ERROR@+ -- Certificate provisioning failed in a non-recoverable manner.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DomainProvisioningCertStatus++instance FromHttpApiData DomainProvisioningCertStatus where+ parseQueryParam = \case+ "CERT_STATUS_UNSPECIFIED" -> Right CertStatusUnspecified+ "CERT_PENDING" -> Right CertPending+ "CERT_MISSING" -> Right CertMissing+ "CERT_PROCESSING" -> Right CertProcessing+ "CERT_PROPAGATING" -> Right CertPropagating+ "CERT_ACTIVE" -> Right CertActive+ "CERT_ERROR" -> Right CertError+ x -> Left ("Unable to parse DomainProvisioningCertStatus from: " <> x)++instance ToHttpApiData DomainProvisioningCertStatus where+ toQueryParam = \case+ CertStatusUnspecified -> "CERT_STATUS_UNSPECIFIED"+ CertPending -> "CERT_PENDING"+ CertMissing -> "CERT_MISSING"+ CertProcessing -> "CERT_PROCESSING"+ CertPropagating -> "CERT_PROPAGATING"+ CertActive -> "CERT_ACTIVE"+ CertError -> "CERT_ERROR"++instance FromJSON DomainProvisioningCertStatus where+ parseJSON = parseJSONText "DomainProvisioningCertStatus"++instance ToJSON DomainProvisioningCertStatus where+ toJSON = toJSONText++-- | Output only. The current status of a particular file in the specified+-- version.+-- The value will be either \`pending upload\` or \`uploaded\`.+data VersionFileStatus+ = StatusUnspecified+ -- ^ @STATUS_UNSPECIFIED@+ -- The default status; should not be intentionally used.+ | Expected+ -- ^ @EXPECTED@+ -- The file has been included in the version and is expected to be uploaded+ -- in the near future.+ | Active+ -- ^ @ACTIVE@+ -- The file has already been uploaded to Firebase Hosting.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable VersionFileStatus++instance FromHttpApiData VersionFileStatus where+ parseQueryParam = \case+ "STATUS_UNSPECIFIED" -> Right StatusUnspecified+ "EXPECTED" -> Right Expected+ "ACTIVE" -> Right Active+ x -> Left ("Unable to parse VersionFileStatus from: " <> x)++instance ToHttpApiData VersionFileStatus where+ toQueryParam = \case+ StatusUnspecified -> "STATUS_UNSPECIFIED"+ Expected -> "EXPECTED"+ Active -> "ACTIVE"++instance FromJSON VersionFileStatus where+ parseJSON = parseJSONText "VersionFileStatus"++instance ToJSON VersionFileStatus where+ toJSON = toJSONText++-- | Defines how to handle a trailing slash in the URL path.+data ServingConfigTrailingSlashBehavior+ = TrailingSlashBehaviorUnspecified+ -- ^ @TRAILING_SLASH_BEHAVIOR_UNSPECIFIED@+ -- No behavior is specified.+ -- Files are served at their exact location only, and trailing slashes are+ -- only added to directory indexes.+ | Add+ -- ^ @ADD@+ -- Trailing slashes are _added_ to directory indexes as well as to any URL+ -- path not ending in a file extension.+ | Remove+ -- ^ @REMOVE@+ -- Trailing slashes are _removed_ from directory indexes as well as from+ -- any URL path not ending in a file extension.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ServingConfigTrailingSlashBehavior++instance FromHttpApiData ServingConfigTrailingSlashBehavior where+ parseQueryParam = \case+ "TRAILING_SLASH_BEHAVIOR_UNSPECIFIED" -> Right TrailingSlashBehaviorUnspecified+ "ADD" -> Right Add+ "REMOVE" -> Right Remove+ x -> Left ("Unable to parse ServingConfigTrailingSlashBehavior from: " <> x)++instance ToHttpApiData ServingConfigTrailingSlashBehavior where+ toQueryParam = \case+ TrailingSlashBehaviorUnspecified -> "TRAILING_SLASH_BEHAVIOR_UNSPECIFIED"+ Add -> "ADD"+ Remove -> "REMOVE"++instance FromJSON ServingConfigTrailingSlashBehavior where+ parseJSON = parseJSONText "ServingConfigTrailingSlashBehavior"++instance ToJSON ServingConfigTrailingSlashBehavior where+ toJSON = toJSONText++-- | Explains the reason for the release.+-- Specify a value for this field only when creating a \`SITE_DISABLE\`+-- type release.+data ReleaseType+ = TypeUnspecified+ -- ^ @TYPE_UNSPECIFIED@+ -- An unspecified type. Indicates that a version was released.+ -- This is the default value when no other \`type\` is explicitly+ -- specified.+ | Deploy+ -- ^ @DEPLOY@+ -- A version was uploaded to Firebase Hosting and released.+ | Rollback+ -- ^ @ROLLBACK@+ -- The release points back to a previously deployed version.+ | SiteDisable+ -- ^ @SITE_DISABLE@+ -- The release prevents the site from serving content. Firebase Hosting+ -- acts as if the site never existed.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ReleaseType++instance FromHttpApiData ReleaseType where+ parseQueryParam = \case+ "TYPE_UNSPECIFIED" -> Right TypeUnspecified+ "DEPLOY" -> Right Deploy+ "ROLLBACK" -> Right Rollback+ "SITE_DISABLE" -> Right SiteDisable+ x -> Left ("Unable to parse ReleaseType from: " <> x)++instance ToHttpApiData ReleaseType where+ toQueryParam = \case+ TypeUnspecified -> "TYPE_UNSPECIFIED"+ Deploy -> "DEPLOY"+ Rollback -> "ROLLBACK"+ SiteDisable -> "SITE_DISABLE"++instance FromJSON ReleaseType where+ parseJSON = parseJSONText "ReleaseType"++instance ToJSON ReleaseType where+ toJSON = toJSONText
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Create.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.FirebaseHosting.Sites.Domains.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 domain mapping on the specified site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.domains.create@.+module Network.Google.Resource.FirebaseHosting.Sites.Domains.Create+ (+ -- * REST Resource+ SitesDomainsCreateResource++ -- * Creating a Request+ , sitesDomainsCreate+ , SitesDomainsCreate++ -- * Request Lenses+ , sdcParent+ , sdcXgafv+ , sdcUploadProtocol+ , sdcAccessToken+ , sdcUploadType+ , sdcPayload+ , sdcCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.domains.create@ method which the+-- 'SitesDomainsCreate' request conforms to.+type SitesDomainsCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "domains" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Domain :> Post '[JSON] Domain++-- | Creates a domain mapping on the specified site.+--+-- /See:/ 'sitesDomainsCreate' smart constructor.+data SitesDomainsCreate = SitesDomainsCreate'+ { _sdcParent :: !Text+ , _sdcXgafv :: !(Maybe Xgafv)+ , _sdcUploadProtocol :: !(Maybe Text)+ , _sdcAccessToken :: !(Maybe Text)+ , _sdcUploadType :: !(Maybe Text)+ , _sdcPayload :: !Domain+ , _sdcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesDomainsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdcParent'+--+-- * 'sdcXgafv'+--+-- * 'sdcUploadProtocol'+--+-- * 'sdcAccessToken'+--+-- * 'sdcUploadType'+--+-- * 'sdcPayload'+--+-- * 'sdcCallback'+sitesDomainsCreate+ :: Text -- ^ 'sdcParent'+ -> Domain -- ^ 'sdcPayload'+ -> SitesDomainsCreate+sitesDomainsCreate pSdcParent_ pSdcPayload_ =+ SitesDomainsCreate'+ { _sdcParent = pSdcParent_+ , _sdcXgafv = Nothing+ , _sdcUploadProtocol = Nothing+ , _sdcAccessToken = Nothing+ , _sdcUploadType = Nothing+ , _sdcPayload = pSdcPayload_+ , _sdcCallback = Nothing+ }++-- | Required. The parent to create the domain association for, in the+-- format: 'sites\/site-name'+sdcParent :: Lens' SitesDomainsCreate Text+sdcParent+ = lens _sdcParent (\ s a -> s{_sdcParent = a})++-- | V1 error format.+sdcXgafv :: Lens' SitesDomainsCreate (Maybe Xgafv)+sdcXgafv = lens _sdcXgafv (\ s a -> s{_sdcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdcUploadProtocol :: Lens' SitesDomainsCreate (Maybe Text)+sdcUploadProtocol+ = lens _sdcUploadProtocol+ (\ s a -> s{_sdcUploadProtocol = a})++-- | OAuth access token.+sdcAccessToken :: Lens' SitesDomainsCreate (Maybe Text)+sdcAccessToken+ = lens _sdcAccessToken+ (\ s a -> s{_sdcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdcUploadType :: Lens' SitesDomainsCreate (Maybe Text)+sdcUploadType+ = lens _sdcUploadType+ (\ s a -> s{_sdcUploadType = a})++-- | Multipart request metadata.+sdcPayload :: Lens' SitesDomainsCreate Domain+sdcPayload+ = lens _sdcPayload (\ s a -> s{_sdcPayload = a})++-- | JSONP+sdcCallback :: Lens' SitesDomainsCreate (Maybe Text)+sdcCallback+ = lens _sdcCallback (\ s a -> s{_sdcCallback = a})++instance GoogleRequest SitesDomainsCreate where+ type Rs SitesDomainsCreate = Domain+ type Scopes SitesDomainsCreate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesDomainsCreate'{..}+ = go _sdcParent _sdcXgafv _sdcUploadProtocol+ _sdcAccessToken+ _sdcUploadType+ _sdcCallback+ (Just AltJSON)+ _sdcPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesDomainsCreateResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Delete.hs view
@@ -0,0 +1,145 @@+{-# 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.FirebaseHosting.Sites.Domains.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 the existing domain mapping on the specified site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.domains.delete@.+module Network.Google.Resource.FirebaseHosting.Sites.Domains.Delete+ (+ -- * REST Resource+ SitesDomainsDeleteResource++ -- * Creating a Request+ , sitesDomainsDelete+ , SitesDomainsDelete++ -- * Request Lenses+ , sddXgafv+ , sddUploadProtocol+ , sddAccessToken+ , sddUploadType+ , sddName+ , sddCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.domains.delete@ method which the+-- 'SitesDomainsDelete' request conforms to.+type SitesDomainsDeleteResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes the existing domain mapping on the specified site.+--+-- /See:/ 'sitesDomainsDelete' smart constructor.+data SitesDomainsDelete = SitesDomainsDelete'+ { _sddXgafv :: !(Maybe Xgafv)+ , _sddUploadProtocol :: !(Maybe Text)+ , _sddAccessToken :: !(Maybe Text)+ , _sddUploadType :: !(Maybe Text)+ , _sddName :: !Text+ , _sddCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesDomainsDelete' 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'+--+-- * 'sddCallback'+sitesDomainsDelete+ :: Text -- ^ 'sddName'+ -> SitesDomainsDelete+sitesDomainsDelete pSddName_ =+ SitesDomainsDelete'+ { _sddXgafv = Nothing+ , _sddUploadProtocol = Nothing+ , _sddAccessToken = Nothing+ , _sddUploadType = Nothing+ , _sddName = pSddName_+ , _sddCallback = Nothing+ }++-- | V1 error format.+sddXgafv :: Lens' SitesDomainsDelete (Maybe Xgafv)+sddXgafv = lens _sddXgafv (\ s a -> s{_sddXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sddUploadProtocol :: Lens' SitesDomainsDelete (Maybe Text)+sddUploadProtocol+ = lens _sddUploadProtocol+ (\ s a -> s{_sddUploadProtocol = a})++-- | OAuth access token.+sddAccessToken :: Lens' SitesDomainsDelete (Maybe Text)+sddAccessToken+ = lens _sddAccessToken+ (\ s a -> s{_sddAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sddUploadType :: Lens' SitesDomainsDelete (Maybe Text)+sddUploadType+ = lens _sddUploadType+ (\ s a -> s{_sddUploadType = a})++-- | Required. The name of the domain association to delete.+sddName :: Lens' SitesDomainsDelete Text+sddName = lens _sddName (\ s a -> s{_sddName = a})++-- | JSONP+sddCallback :: Lens' SitesDomainsDelete (Maybe Text)+sddCallback+ = lens _sddCallback (\ s a -> s{_sddCallback = a})++instance GoogleRequest SitesDomainsDelete where+ type Rs SitesDomainsDelete = Empty+ type Scopes SitesDomainsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesDomainsDelete'{..}+ = go _sddName _sddXgafv _sddUploadProtocol+ _sddAccessToken+ _sddUploadType+ _sddCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesDomainsDeleteResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Get.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.FirebaseHosting.Sites.Domains.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 domain mapping on the specified site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.domains.get@.+module Network.Google.Resource.FirebaseHosting.Sites.Domains.Get+ (+ -- * REST Resource+ SitesDomainsGetResource++ -- * Creating a Request+ , sitesDomainsGet+ , SitesDomainsGet++ -- * Request Lenses+ , sdgXgafv+ , sdgUploadProtocol+ , sdgAccessToken+ , sdgUploadType+ , sdgName+ , sdgCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.domains.get@ method which the+-- 'SitesDomainsGet' request conforms to.+type SitesDomainsGetResource =+ "v1beta1" :>+ 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] Domain++-- | Gets a domain mapping on the specified site.+--+-- /See:/ 'sitesDomainsGet' smart constructor.+data SitesDomainsGet = SitesDomainsGet'+ { _sdgXgafv :: !(Maybe Xgafv)+ , _sdgUploadProtocol :: !(Maybe Text)+ , _sdgAccessToken :: !(Maybe Text)+ , _sdgUploadType :: !(Maybe Text)+ , _sdgName :: !Text+ , _sdgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesDomainsGet' 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'+--+-- * 'sdgCallback'+sitesDomainsGet+ :: Text -- ^ 'sdgName'+ -> SitesDomainsGet+sitesDomainsGet pSdgName_ =+ SitesDomainsGet'+ { _sdgXgafv = Nothing+ , _sdgUploadProtocol = Nothing+ , _sdgAccessToken = Nothing+ , _sdgUploadType = Nothing+ , _sdgName = pSdgName_+ , _sdgCallback = Nothing+ }++-- | V1 error format.+sdgXgafv :: Lens' SitesDomainsGet (Maybe Xgafv)+sdgXgafv = lens _sdgXgafv (\ s a -> s{_sdgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdgUploadProtocol :: Lens' SitesDomainsGet (Maybe Text)+sdgUploadProtocol+ = lens _sdgUploadProtocol+ (\ s a -> s{_sdgUploadProtocol = a})++-- | OAuth access token.+sdgAccessToken :: Lens' SitesDomainsGet (Maybe Text)+sdgAccessToken+ = lens _sdgAccessToken+ (\ s a -> s{_sdgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdgUploadType :: Lens' SitesDomainsGet (Maybe Text)+sdgUploadType+ = lens _sdgUploadType+ (\ s a -> s{_sdgUploadType = a})++-- | Required. The name of the domain configuration to get.+sdgName :: Lens' SitesDomainsGet Text+sdgName = lens _sdgName (\ s a -> s{_sdgName = a})++-- | JSONP+sdgCallback :: Lens' SitesDomainsGet (Maybe Text)+sdgCallback+ = lens _sdgCallback (\ s a -> s{_sdgCallback = a})++instance GoogleRequest SitesDomainsGet where+ type Rs SitesDomainsGet = Domain+ type Scopes SitesDomainsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/cloud-platform.read-only",+ "https://www.googleapis.com/auth/firebase",+ "https://www.googleapis.com/auth/firebase.readonly"]+ requestClient SitesDomainsGet'{..}+ = go _sdgName _sdgXgafv _sdgUploadProtocol+ _sdgAccessToken+ _sdgUploadType+ _sdgCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesDomainsGetResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/List.hs view
@@ -0,0 +1,176 @@+{-# 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.FirebaseHosting.Sites.Domains.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 the domains for the specified site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.domains.list@.+module Network.Google.Resource.FirebaseHosting.Sites.Domains.List+ (+ -- * REST Resource+ SitesDomainsListResource++ -- * Creating a Request+ , sitesDomainsList+ , SitesDomainsList++ -- * Request Lenses+ , sdlParent+ , sdlXgafv+ , sdlUploadProtocol+ , sdlAccessToken+ , sdlUploadType+ , sdlPageToken+ , sdlPageSize+ , sdlCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.domains.list@ method which the+-- 'SitesDomainsList' request conforms to.+type SitesDomainsListResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "domains" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListDomainsResponse++-- | Lists the domains for the specified site.+--+-- /See:/ 'sitesDomainsList' smart constructor.+data SitesDomainsList = SitesDomainsList'+ { _sdlParent :: !Text+ , _sdlXgafv :: !(Maybe Xgafv)+ , _sdlUploadProtocol :: !(Maybe Text)+ , _sdlAccessToken :: !(Maybe Text)+ , _sdlUploadType :: !(Maybe Text)+ , _sdlPageToken :: !(Maybe Text)+ , _sdlPageSize :: !(Maybe (Textual Int32))+ , _sdlCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesDomainsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdlParent'+--+-- * 'sdlXgafv'+--+-- * 'sdlUploadProtocol'+--+-- * 'sdlAccessToken'+--+-- * 'sdlUploadType'+--+-- * 'sdlPageToken'+--+-- * 'sdlPageSize'+--+-- * 'sdlCallback'+sitesDomainsList+ :: Text -- ^ 'sdlParent'+ -> SitesDomainsList+sitesDomainsList pSdlParent_ =+ SitesDomainsList'+ { _sdlParent = pSdlParent_+ , _sdlXgafv = Nothing+ , _sdlUploadProtocol = Nothing+ , _sdlAccessToken = Nothing+ , _sdlUploadType = Nothing+ , _sdlPageToken = Nothing+ , _sdlPageSize = Nothing+ , _sdlCallback = Nothing+ }++-- | Required. The parent for which to list domains, in the format:+-- 'sites\/site-name'+sdlParent :: Lens' SitesDomainsList Text+sdlParent+ = lens _sdlParent (\ s a -> s{_sdlParent = a})++-- | V1 error format.+sdlXgafv :: Lens' SitesDomainsList (Maybe Xgafv)+sdlXgafv = lens _sdlXgafv (\ s a -> s{_sdlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdlUploadProtocol :: Lens' SitesDomainsList (Maybe Text)+sdlUploadProtocol+ = lens _sdlUploadProtocol+ (\ s a -> s{_sdlUploadProtocol = a})++-- | OAuth access token.+sdlAccessToken :: Lens' SitesDomainsList (Maybe Text)+sdlAccessToken+ = lens _sdlAccessToken+ (\ s a -> s{_sdlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdlUploadType :: Lens' SitesDomainsList (Maybe Text)+sdlUploadType+ = lens _sdlUploadType+ (\ s a -> s{_sdlUploadType = a})++-- | The next_page_token from a previous request, if provided.+sdlPageToken :: Lens' SitesDomainsList (Maybe Text)+sdlPageToken+ = lens _sdlPageToken (\ s a -> s{_sdlPageToken = a})++-- | The page size to return. Defaults to 50.+sdlPageSize :: Lens' SitesDomainsList (Maybe Int32)+sdlPageSize+ = lens _sdlPageSize (\ s a -> s{_sdlPageSize = a}) .+ mapping _Coerce++-- | JSONP+sdlCallback :: Lens' SitesDomainsList (Maybe Text)+sdlCallback+ = lens _sdlCallback (\ s a -> s{_sdlCallback = a})++instance GoogleRequest SitesDomainsList where+ type Rs SitesDomainsList = ListDomainsResponse+ type Scopes SitesDomainsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/cloud-platform.read-only",+ "https://www.googleapis.com/auth/firebase",+ "https://www.googleapis.com/auth/firebase.readonly"]+ requestClient SitesDomainsList'{..}+ = go _sdlParent _sdlXgafv _sdlUploadProtocol+ _sdlAccessToken+ _sdlUploadType+ _sdlPageToken+ _sdlPageSize+ _sdlCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesDomainsListResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Domains/Update.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.FirebaseHosting.Sites.Domains.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 the specified domain mapping, creating the mapping as if it does+-- not exist.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.domains.update@.+module Network.Google.Resource.FirebaseHosting.Sites.Domains.Update+ (+ -- * REST Resource+ SitesDomainsUpdateResource++ -- * Creating a Request+ , sitesDomainsUpdate+ , SitesDomainsUpdate++ -- * Request Lenses+ , sduXgafv+ , sduUploadProtocol+ , sduAccessToken+ , sduUploadType+ , sduPayload+ , sduName+ , sduCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.domains.update@ method which the+-- 'SitesDomainsUpdate' request conforms to.+type SitesDomainsUpdateResource =+ "v1beta1" :>+ 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] Domain :> Put '[JSON] Domain++-- | Updates the specified domain mapping, creating the mapping as if it does+-- not exist.+--+-- /See:/ 'sitesDomainsUpdate' smart constructor.+data SitesDomainsUpdate = SitesDomainsUpdate'+ { _sduXgafv :: !(Maybe Xgafv)+ , _sduUploadProtocol :: !(Maybe Text)+ , _sduAccessToken :: !(Maybe Text)+ , _sduUploadType :: !(Maybe Text)+ , _sduPayload :: !Domain+ , _sduName :: !Text+ , _sduCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesDomainsUpdate' 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'+sitesDomainsUpdate+ :: Domain -- ^ 'sduPayload'+ -> Text -- ^ 'sduName'+ -> SitesDomainsUpdate+sitesDomainsUpdate pSduPayload_ pSduName_ =+ SitesDomainsUpdate'+ { _sduXgafv = Nothing+ , _sduUploadProtocol = Nothing+ , _sduAccessToken = Nothing+ , _sduUploadType = Nothing+ , _sduPayload = pSduPayload_+ , _sduName = pSduName_+ , _sduCallback = Nothing+ }++-- | V1 error format.+sduXgafv :: Lens' SitesDomainsUpdate (Maybe Xgafv)+sduXgafv = lens _sduXgafv (\ s a -> s{_sduXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sduUploadProtocol :: Lens' SitesDomainsUpdate (Maybe Text)+sduUploadProtocol+ = lens _sduUploadProtocol+ (\ s a -> s{_sduUploadProtocol = a})++-- | OAuth access token.+sduAccessToken :: Lens' SitesDomainsUpdate (Maybe Text)+sduAccessToken+ = lens _sduAccessToken+ (\ s a -> s{_sduAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sduUploadType :: Lens' SitesDomainsUpdate (Maybe Text)+sduUploadType+ = lens _sduUploadType+ (\ s a -> s{_sduUploadType = a})++-- | Multipart request metadata.+sduPayload :: Lens' SitesDomainsUpdate Domain+sduPayload+ = lens _sduPayload (\ s a -> s{_sduPayload = a})++-- | Required. The name of the domain association to update or create, if an+-- association doesn\'t already exist.+sduName :: Lens' SitesDomainsUpdate Text+sduName = lens _sduName (\ s a -> s{_sduName = a})++-- | JSONP+sduCallback :: Lens' SitesDomainsUpdate (Maybe Text)+sduCallback+ = lens _sduCallback (\ s a -> s{_sduCallback = a})++instance GoogleRequest SitesDomainsUpdate where+ type Rs SitesDomainsUpdate = Domain+ type Scopes SitesDomainsUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesDomainsUpdate'{..}+ = go _sduName _sduXgafv _sduUploadProtocol+ _sduAccessToken+ _sduUploadType+ _sduCallback+ (Just AltJSON)+ _sduPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesDomainsUpdateResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/GetConfig.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.FirebaseHosting.Sites.GetConfig+-- 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 Hosting metadata for a specific site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.getConfig@.+module Network.Google.Resource.FirebaseHosting.Sites.GetConfig+ (+ -- * REST Resource+ SitesGetConfigResource++ -- * Creating a Request+ , sitesGetConfig+ , SitesGetConfig++ -- * Request Lenses+ , sgcXgafv+ , sgcUploadProtocol+ , sgcAccessToken+ , sgcUploadType+ , sgcName+ , sgcCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.getConfig@ method which the+-- 'SitesGetConfig' request conforms to.+type SitesGetConfigResource =+ "v1beta1" :>+ 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] SiteConfig++-- | Gets the Hosting metadata for a specific site.+--+-- /See:/ 'sitesGetConfig' smart constructor.+data SitesGetConfig = SitesGetConfig'+ { _sgcXgafv :: !(Maybe Xgafv)+ , _sgcUploadProtocol :: !(Maybe Text)+ , _sgcAccessToken :: !(Maybe Text)+ , _sgcUploadType :: !(Maybe Text)+ , _sgcName :: !Text+ , _sgcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesGetConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgcXgafv'+--+-- * 'sgcUploadProtocol'+--+-- * 'sgcAccessToken'+--+-- * 'sgcUploadType'+--+-- * 'sgcName'+--+-- * 'sgcCallback'+sitesGetConfig+ :: Text -- ^ 'sgcName'+ -> SitesGetConfig+sitesGetConfig pSgcName_ =+ SitesGetConfig'+ { _sgcXgafv = Nothing+ , _sgcUploadProtocol = Nothing+ , _sgcAccessToken = Nothing+ , _sgcUploadType = Nothing+ , _sgcName = pSgcName_+ , _sgcCallback = Nothing+ }++-- | V1 error format.+sgcXgafv :: Lens' SitesGetConfig (Maybe Xgafv)+sgcXgafv = lens _sgcXgafv (\ s a -> s{_sgcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sgcUploadProtocol :: Lens' SitesGetConfig (Maybe Text)+sgcUploadProtocol+ = lens _sgcUploadProtocol+ (\ s a -> s{_sgcUploadProtocol = a})++-- | OAuth access token.+sgcAccessToken :: Lens' SitesGetConfig (Maybe Text)+sgcAccessToken+ = lens _sgcAccessToken+ (\ s a -> s{_sgcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sgcUploadType :: Lens' SitesGetConfig (Maybe Text)+sgcUploadType+ = lens _sgcUploadType+ (\ s a -> s{_sgcUploadType = a})++-- | Required. The site for which to get the SiteConfig, in the format:+-- 'sites\/site-name\/config'+sgcName :: Lens' SitesGetConfig Text+sgcName = lens _sgcName (\ s a -> s{_sgcName = a})++-- | JSONP+sgcCallback :: Lens' SitesGetConfig (Maybe Text)+sgcCallback+ = lens _sgcCallback (\ s a -> s{_sgcCallback = a})++instance GoogleRequest SitesGetConfig where+ type Rs SitesGetConfig = SiteConfig+ type Scopes SitesGetConfig =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/cloud-platform.read-only",+ "https://www.googleapis.com/auth/firebase",+ "https://www.googleapis.com/auth/firebase.readonly"]+ requestClient SitesGetConfig'{..}+ = go _sgcName _sgcXgafv _sgcUploadProtocol+ _sgcAccessToken+ _sgcUploadType+ _sgcCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient (Proxy :: Proxy SitesGetConfigResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Releases/Create.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.FirebaseHosting.Sites.Releases.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 new release which makes the content of the specified version+-- actively display on the site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.releases.create@.+module Network.Google.Resource.FirebaseHosting.Sites.Releases.Create+ (+ -- * REST Resource+ SitesReleasesCreateResource++ -- * Creating a Request+ , sitesReleasesCreate+ , SitesReleasesCreate++ -- * Request Lenses+ , srcParent+ , srcXgafv+ , srcUploadProtocol+ , srcVersionName+ , srcAccessToken+ , srcUploadType+ , srcPayload+ , srcCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.releases.create@ method which the+-- 'SitesReleasesCreate' request conforms to.+type SitesReleasesCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "releases" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "versionName" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Release :> Post '[JSON] Release++-- | Creates a new release which makes the content of the specified version+-- actively display on the site.+--+-- /See:/ 'sitesReleasesCreate' smart constructor.+data SitesReleasesCreate = SitesReleasesCreate'+ { _srcParent :: !Text+ , _srcXgafv :: !(Maybe Xgafv)+ , _srcUploadProtocol :: !(Maybe Text)+ , _srcVersionName :: !(Maybe Text)+ , _srcAccessToken :: !(Maybe Text)+ , _srcUploadType :: !(Maybe Text)+ , _srcPayload :: !Release+ , _srcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesReleasesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srcParent'+--+-- * 'srcXgafv'+--+-- * 'srcUploadProtocol'+--+-- * 'srcVersionName'+--+-- * 'srcAccessToken'+--+-- * 'srcUploadType'+--+-- * 'srcPayload'+--+-- * 'srcCallback'+sitesReleasesCreate+ :: Text -- ^ 'srcParent'+ -> Release -- ^ 'srcPayload'+ -> SitesReleasesCreate+sitesReleasesCreate pSrcParent_ pSrcPayload_ =+ SitesReleasesCreate'+ { _srcParent = pSrcParent_+ , _srcXgafv = Nothing+ , _srcUploadProtocol = Nothing+ , _srcVersionName = Nothing+ , _srcAccessToken = Nothing+ , _srcUploadType = Nothing+ , _srcPayload = pSrcPayload_+ , _srcCallback = Nothing+ }++-- | The site that the release belongs to, in the format: 'sites\/site-name'+srcParent :: Lens' SitesReleasesCreate Text+srcParent+ = lens _srcParent (\ s a -> s{_srcParent = a})++-- | V1 error format.+srcXgafv :: Lens' SitesReleasesCreate (Maybe Xgafv)+srcXgafv = lens _srcXgafv (\ s a -> s{_srcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+srcUploadProtocol :: Lens' SitesReleasesCreate (Maybe Text)+srcUploadProtocol+ = lens _srcUploadProtocol+ (\ s a -> s{_srcUploadProtocol = a})++-- | The unique identifier for a version, in the format:+-- '\/sites\/site-name\/versions\/versionID' The site-name in this version+-- identifier must match the site-name in the \`parent\` parameter.+-- This query parameter must be empty if the \`type\` field in the request+-- body is \`SITE_DISABLE\`.+srcVersionName :: Lens' SitesReleasesCreate (Maybe Text)+srcVersionName+ = lens _srcVersionName+ (\ s a -> s{_srcVersionName = a})++-- | OAuth access token.+srcAccessToken :: Lens' SitesReleasesCreate (Maybe Text)+srcAccessToken+ = lens _srcAccessToken+ (\ s a -> s{_srcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+srcUploadType :: Lens' SitesReleasesCreate (Maybe Text)+srcUploadType+ = lens _srcUploadType+ (\ s a -> s{_srcUploadType = a})++-- | Multipart request metadata.+srcPayload :: Lens' SitesReleasesCreate Release+srcPayload+ = lens _srcPayload (\ s a -> s{_srcPayload = a})++-- | JSONP+srcCallback :: Lens' SitesReleasesCreate (Maybe Text)+srcCallback+ = lens _srcCallback (\ s a -> s{_srcCallback = a})++instance GoogleRequest SitesReleasesCreate where+ type Rs SitesReleasesCreate = Release+ type Scopes SitesReleasesCreate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesReleasesCreate'{..}+ = go _srcParent _srcXgafv _srcUploadProtocol+ _srcVersionName+ _srcAccessToken+ _srcUploadType+ _srcCallback+ (Just AltJSON)+ _srcPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesReleasesCreateResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Releases/List.hs view
@@ -0,0 +1,176 @@+{-# 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.FirebaseHosting.Sites.Releases.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 the releases that have been created on the specified site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.releases.list@.+module Network.Google.Resource.FirebaseHosting.Sites.Releases.List+ (+ -- * REST Resource+ SitesReleasesListResource++ -- * Creating a Request+ , sitesReleasesList+ , SitesReleasesList++ -- * Request Lenses+ , srlParent+ , srlXgafv+ , srlUploadProtocol+ , srlAccessToken+ , srlUploadType+ , srlPageToken+ , srlPageSize+ , srlCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.releases.list@ method which the+-- 'SitesReleasesList' request conforms to.+type SitesReleasesListResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "releases" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListReleasesResponse++-- | Lists the releases that have been created on the specified site.+--+-- /See:/ 'sitesReleasesList' smart constructor.+data SitesReleasesList = SitesReleasesList'+ { _srlParent :: !Text+ , _srlXgafv :: !(Maybe Xgafv)+ , _srlUploadProtocol :: !(Maybe Text)+ , _srlAccessToken :: !(Maybe Text)+ , _srlUploadType :: !(Maybe Text)+ , _srlPageToken :: !(Maybe Text)+ , _srlPageSize :: !(Maybe (Textual Int32))+ , _srlCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesReleasesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srlParent'+--+-- * 'srlXgafv'+--+-- * 'srlUploadProtocol'+--+-- * 'srlAccessToken'+--+-- * 'srlUploadType'+--+-- * 'srlPageToken'+--+-- * 'srlPageSize'+--+-- * 'srlCallback'+sitesReleasesList+ :: Text -- ^ 'srlParent'+ -> SitesReleasesList+sitesReleasesList pSrlParent_ =+ SitesReleasesList'+ { _srlParent = pSrlParent_+ , _srlXgafv = Nothing+ , _srlUploadProtocol = Nothing+ , _srlAccessToken = Nothing+ , _srlUploadType = Nothing+ , _srlPageToken = Nothing+ , _srlPageSize = Nothing+ , _srlCallback = Nothing+ }++-- | Required. The parent for which to list files, in the format:+-- 'sites\/site-name'+srlParent :: Lens' SitesReleasesList Text+srlParent+ = lens _srlParent (\ s a -> s{_srlParent = a})++-- | V1 error format.+srlXgafv :: Lens' SitesReleasesList (Maybe Xgafv)+srlXgafv = lens _srlXgafv (\ s a -> s{_srlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+srlUploadProtocol :: Lens' SitesReleasesList (Maybe Text)+srlUploadProtocol+ = lens _srlUploadProtocol+ (\ s a -> s{_srlUploadProtocol = a})++-- | OAuth access token.+srlAccessToken :: Lens' SitesReleasesList (Maybe Text)+srlAccessToken+ = lens _srlAccessToken+ (\ s a -> s{_srlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+srlUploadType :: Lens' SitesReleasesList (Maybe Text)+srlUploadType+ = lens _srlUploadType+ (\ s a -> s{_srlUploadType = a})++-- | The next_page_token from a previous request, if provided.+srlPageToken :: Lens' SitesReleasesList (Maybe Text)+srlPageToken+ = lens _srlPageToken (\ s a -> s{_srlPageToken = a})++-- | The page size to return. Defaults to 100.+srlPageSize :: Lens' SitesReleasesList (Maybe Int32)+srlPageSize+ = lens _srlPageSize (\ s a -> s{_srlPageSize = a}) .+ mapping _Coerce++-- | JSONP+srlCallback :: Lens' SitesReleasesList (Maybe Text)+srlCallback+ = lens _srlCallback (\ s a -> s{_srlCallback = a})++instance GoogleRequest SitesReleasesList where+ type Rs SitesReleasesList = ListReleasesResponse+ type Scopes SitesReleasesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/cloud-platform.read-only",+ "https://www.googleapis.com/auth/firebase",+ "https://www.googleapis.com/auth/firebase.readonly"]+ requestClient SitesReleasesList'{..}+ = go _srlParent _srlXgafv _srlUploadProtocol+ _srlAccessToken+ _srlUploadType+ _srlPageToken+ _srlPageSize+ _srlCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesReleasesListResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/UpdateConfig.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.FirebaseHosting.Sites.UpdateConfig+-- 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)+--+-- Sets the Hosting metadata for a specific site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.updateConfig@.+module Network.Google.Resource.FirebaseHosting.Sites.UpdateConfig+ (+ -- * REST Resource+ SitesUpdateConfigResource++ -- * Creating a Request+ , sitesUpdateConfig+ , SitesUpdateConfig++ -- * Request Lenses+ , sucXgafv+ , sucUploadProtocol+ , sucUpdateMask+ , sucAccessToken+ , sucUploadType+ , sucPayload+ , sucName+ , sucCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.updateConfig@ method which the+-- 'SitesUpdateConfig' request conforms to.+type SitesUpdateConfigResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "updateMask" GFieldMask :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] SiteConfig :>+ Patch '[JSON] SiteConfig++-- | Sets the Hosting metadata for a specific site.+--+-- /See:/ 'sitesUpdateConfig' smart constructor.+data SitesUpdateConfig = SitesUpdateConfig'+ { _sucXgafv :: !(Maybe Xgafv)+ , _sucUploadProtocol :: !(Maybe Text)+ , _sucUpdateMask :: !(Maybe GFieldMask)+ , _sucAccessToken :: !(Maybe Text)+ , _sucUploadType :: !(Maybe Text)+ , _sucPayload :: !SiteConfig+ , _sucName :: !Text+ , _sucCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesUpdateConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sucXgafv'+--+-- * 'sucUploadProtocol'+--+-- * 'sucUpdateMask'+--+-- * 'sucAccessToken'+--+-- * 'sucUploadType'+--+-- * 'sucPayload'+--+-- * 'sucName'+--+-- * 'sucCallback'+sitesUpdateConfig+ :: SiteConfig -- ^ 'sucPayload'+ -> Text -- ^ 'sucName'+ -> SitesUpdateConfig+sitesUpdateConfig pSucPayload_ pSucName_ =+ SitesUpdateConfig'+ { _sucXgafv = Nothing+ , _sucUploadProtocol = Nothing+ , _sucUpdateMask = Nothing+ , _sucAccessToken = Nothing+ , _sucUploadType = Nothing+ , _sucPayload = pSucPayload_+ , _sucName = pSucName_+ , _sucCallback = Nothing+ }++-- | V1 error format.+sucXgafv :: Lens' SitesUpdateConfig (Maybe Xgafv)+sucXgafv = lens _sucXgafv (\ s a -> s{_sucXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sucUploadProtocol :: Lens' SitesUpdateConfig (Maybe Text)+sucUploadProtocol+ = lens _sucUploadProtocol+ (\ s a -> s{_sucUploadProtocol = a})++-- | A set of field names from your [site+-- configuration](..\/sites.SiteConfig) that you want to update.+-- A field will be overwritten if, and only if, it\'s in the mask.+-- If a mask is not provided then a default mask of only+-- [\`max_versions\`](..\/sites.SiteConfig.max_versions) will be used.+sucUpdateMask :: Lens' SitesUpdateConfig (Maybe GFieldMask)+sucUpdateMask+ = lens _sucUpdateMask+ (\ s a -> s{_sucUpdateMask = a})++-- | OAuth access token.+sucAccessToken :: Lens' SitesUpdateConfig (Maybe Text)+sucAccessToken+ = lens _sucAccessToken+ (\ s a -> s{_sucAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sucUploadType :: Lens' SitesUpdateConfig (Maybe Text)+sucUploadType+ = lens _sucUploadType+ (\ s a -> s{_sucUploadType = a})++-- | Multipart request metadata.+sucPayload :: Lens' SitesUpdateConfig SiteConfig+sucPayload+ = lens _sucPayload (\ s a -> s{_sucPayload = a})++-- | Required. The site for which to update the SiteConfig, in the format:+-- 'sites\/site-name\/config'+sucName :: Lens' SitesUpdateConfig Text+sucName = lens _sucName (\ s a -> s{_sucName = a})++-- | JSONP+sucCallback :: Lens' SitesUpdateConfig (Maybe Text)+sucCallback+ = lens _sucCallback (\ s a -> s{_sucCallback = a})++instance GoogleRequest SitesUpdateConfig where+ type Rs SitesUpdateConfig = SiteConfig+ type Scopes SitesUpdateConfig =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesUpdateConfig'{..}+ = go _sucName _sucXgafv _sucUploadProtocol+ _sucUpdateMask+ _sucAccessToken+ _sucUploadType+ _sucCallback+ (Just AltJSON)+ _sucPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesUpdateConfigResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Create.hs view
@@ -0,0 +1,187 @@+{-# 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.FirebaseHosting.Sites.Versions.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 new version for a site.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.versions.create@.+module Network.Google.Resource.FirebaseHosting.Sites.Versions.Create+ (+ -- * REST Resource+ SitesVersionsCreateResource++ -- * Creating a Request+ , sitesVersionsCreate+ , SitesVersionsCreate++ -- * Request Lenses+ , svcSizeBytes+ , svcParent+ , svcXgafv+ , svcVersionId+ , svcUploadProtocol+ , svcAccessToken+ , svcUploadType+ , svcPayload+ , svcCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.versions.create@ method which the+-- 'SitesVersionsCreate' request conforms to.+type SitesVersionsCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "versions" :>+ QueryParam "sizeBytes" (Textual Int64) :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "versionId" Text :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Version :> Post '[JSON] Version++-- | Creates a new version for a site.+--+-- /See:/ 'sitesVersionsCreate' smart constructor.+data SitesVersionsCreate = SitesVersionsCreate'+ { _svcSizeBytes :: !(Maybe (Textual Int64))+ , _svcParent :: !Text+ , _svcXgafv :: !(Maybe Xgafv)+ , _svcVersionId :: !(Maybe Text)+ , _svcUploadProtocol :: !(Maybe Text)+ , _svcAccessToken :: !(Maybe Text)+ , _svcUploadType :: !(Maybe Text)+ , _svcPayload :: !Version+ , _svcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesVersionsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svcSizeBytes'+--+-- * 'svcParent'+--+-- * 'svcXgafv'+--+-- * 'svcVersionId'+--+-- * 'svcUploadProtocol'+--+-- * 'svcAccessToken'+--+-- * 'svcUploadType'+--+-- * 'svcPayload'+--+-- * 'svcCallback'+sitesVersionsCreate+ :: Text -- ^ 'svcParent'+ -> Version -- ^ 'svcPayload'+ -> SitesVersionsCreate+sitesVersionsCreate pSvcParent_ pSvcPayload_ =+ SitesVersionsCreate'+ { _svcSizeBytes = Nothing+ , _svcParent = pSvcParent_+ , _svcXgafv = Nothing+ , _svcVersionId = Nothing+ , _svcUploadProtocol = Nothing+ , _svcAccessToken = Nothing+ , _svcUploadType = Nothing+ , _svcPayload = pSvcPayload_+ , _svcCallback = Nothing+ }++-- | The self-reported size of the version. This value is used for a+-- pre-emptive quota check for legacy version uploads.+svcSizeBytes :: Lens' SitesVersionsCreate (Maybe Int64)+svcSizeBytes+ = lens _svcSizeBytes (\ s a -> s{_svcSizeBytes = a})+ . mapping _Coerce++-- | Required. The parent to create the version for, in the format:+-- 'sites\/site-name'+svcParent :: Lens' SitesVersionsCreate Text+svcParent+ = lens _svcParent (\ s a -> s{_svcParent = a})++-- | V1 error format.+svcXgafv :: Lens' SitesVersionsCreate (Maybe Xgafv)+svcXgafv = lens _svcXgafv (\ s a -> s{_svcXgafv = a})++-- | A unique id for the new version. This is only specified for legacy+-- version creations.+svcVersionId :: Lens' SitesVersionsCreate (Maybe Text)+svcVersionId+ = lens _svcVersionId (\ s a -> s{_svcVersionId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svcUploadProtocol :: Lens' SitesVersionsCreate (Maybe Text)+svcUploadProtocol+ = lens _svcUploadProtocol+ (\ s a -> s{_svcUploadProtocol = a})++-- | OAuth access token.+svcAccessToken :: Lens' SitesVersionsCreate (Maybe Text)+svcAccessToken+ = lens _svcAccessToken+ (\ s a -> s{_svcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svcUploadType :: Lens' SitesVersionsCreate (Maybe Text)+svcUploadType+ = lens _svcUploadType+ (\ s a -> s{_svcUploadType = a})++-- | Multipart request metadata.+svcPayload :: Lens' SitesVersionsCreate Version+svcPayload+ = lens _svcPayload (\ s a -> s{_svcPayload = a})++-- | JSONP+svcCallback :: Lens' SitesVersionsCreate (Maybe Text)+svcCallback+ = lens _svcCallback (\ s a -> s{_svcCallback = a})++instance GoogleRequest SitesVersionsCreate where+ type Rs SitesVersionsCreate = Version+ type Scopes SitesVersionsCreate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesVersionsCreate'{..}+ = go _svcParent _svcSizeBytes _svcXgafv _svcVersionId+ _svcUploadProtocol+ _svcAccessToken+ _svcUploadType+ _svcCallback+ (Just AltJSON)+ _svcPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesVersionsCreateResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Delete.hs view
@@ -0,0 +1,146 @@+{-# 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.FirebaseHosting.Sites.Versions.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 the specified version.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.versions.delete@.+module Network.Google.Resource.FirebaseHosting.Sites.Versions.Delete+ (+ -- * REST Resource+ SitesVersionsDeleteResource++ -- * Creating a Request+ , sitesVersionsDelete+ , SitesVersionsDelete++ -- * Request Lenses+ , svdXgafv+ , svdUploadProtocol+ , svdAccessToken+ , svdUploadType+ , svdName+ , svdCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.versions.delete@ method which the+-- 'SitesVersionsDelete' request conforms to.+type SitesVersionsDeleteResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes the specified version.+--+-- /See:/ 'sitesVersionsDelete' smart constructor.+data SitesVersionsDelete = SitesVersionsDelete'+ { _svdXgafv :: !(Maybe Xgafv)+ , _svdUploadProtocol :: !(Maybe Text)+ , _svdAccessToken :: !(Maybe Text)+ , _svdUploadType :: !(Maybe Text)+ , _svdName :: !Text+ , _svdCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesVersionsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svdXgafv'+--+-- * 'svdUploadProtocol'+--+-- * 'svdAccessToken'+--+-- * 'svdUploadType'+--+-- * 'svdName'+--+-- * 'svdCallback'+sitesVersionsDelete+ :: Text -- ^ 'svdName'+ -> SitesVersionsDelete+sitesVersionsDelete pSvdName_ =+ SitesVersionsDelete'+ { _svdXgafv = Nothing+ , _svdUploadProtocol = Nothing+ , _svdAccessToken = Nothing+ , _svdUploadType = Nothing+ , _svdName = pSvdName_+ , _svdCallback = Nothing+ }++-- | V1 error format.+svdXgafv :: Lens' SitesVersionsDelete (Maybe Xgafv)+svdXgafv = lens _svdXgafv (\ s a -> s{_svdXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svdUploadProtocol :: Lens' SitesVersionsDelete (Maybe Text)+svdUploadProtocol+ = lens _svdUploadProtocol+ (\ s a -> s{_svdUploadProtocol = a})++-- | OAuth access token.+svdAccessToken :: Lens' SitesVersionsDelete (Maybe Text)+svdAccessToken+ = lens _svdAccessToken+ (\ s a -> s{_svdAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svdUploadType :: Lens' SitesVersionsDelete (Maybe Text)+svdUploadType+ = lens _svdUploadType+ (\ s a -> s{_svdUploadType = a})++-- | Required. The name of the version to be deleted, in the format:+-- 'sites\/site-name\/versions\/versionID'+svdName :: Lens' SitesVersionsDelete Text+svdName = lens _svdName (\ s a -> s{_svdName = a})++-- | JSONP+svdCallback :: Lens' SitesVersionsDelete (Maybe Text)+svdCallback+ = lens _svdCallback (\ s a -> s{_svdCallback = a})++instance GoogleRequest SitesVersionsDelete where+ type Rs SitesVersionsDelete = Empty+ type Scopes SitesVersionsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesVersionsDelete'{..}+ = go _svdName _svdXgafv _svdUploadProtocol+ _svdAccessToken+ _svdUploadType+ _svdCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesVersionsDeleteResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Files/List.hs view
@@ -0,0 +1,193 @@+{-# 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.FirebaseHosting.Sites.Versions.Files.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 the remaining files to be uploaded for the specified version.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.versions.files.list@.+module Network.Google.Resource.FirebaseHosting.Sites.Versions.Files.List+ (+ -- * REST Resource+ SitesVersionsFilesListResource++ -- * Creating a Request+ , sitesVersionsFilesList+ , SitesVersionsFilesList++ -- * Request Lenses+ , svflParent+ , svflStatus+ , svflXgafv+ , svflUploadProtocol+ , svflAccessToken+ , svflUploadType+ , svflPageToken+ , svflPageSize+ , svflCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.versions.files.list@ method which the+-- 'SitesVersionsFilesList' request conforms to.+type SitesVersionsFilesListResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "files" :>+ QueryParam "status" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListVersionFilesResponse++-- | Lists the remaining files to be uploaded for the specified version.+--+-- /See:/ 'sitesVersionsFilesList' smart constructor.+data SitesVersionsFilesList = SitesVersionsFilesList'+ { _svflParent :: !Text+ , _svflStatus :: !(Maybe Text)+ , _svflXgafv :: !(Maybe Xgafv)+ , _svflUploadProtocol :: !(Maybe Text)+ , _svflAccessToken :: !(Maybe Text)+ , _svflUploadType :: !(Maybe Text)+ , _svflPageToken :: !(Maybe Text)+ , _svflPageSize :: !(Maybe (Textual Int32))+ , _svflCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesVersionsFilesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svflParent'+--+-- * 'svflStatus'+--+-- * 'svflXgafv'+--+-- * 'svflUploadProtocol'+--+-- * 'svflAccessToken'+--+-- * 'svflUploadType'+--+-- * 'svflPageToken'+--+-- * 'svflPageSize'+--+-- * 'svflCallback'+sitesVersionsFilesList+ :: Text -- ^ 'svflParent'+ -> SitesVersionsFilesList+sitesVersionsFilesList pSvflParent_ =+ SitesVersionsFilesList'+ { _svflParent = pSvflParent_+ , _svflStatus = Nothing+ , _svflXgafv = Nothing+ , _svflUploadProtocol = Nothing+ , _svflAccessToken = Nothing+ , _svflUploadType = Nothing+ , _svflPageToken = Nothing+ , _svflPageSize = Nothing+ , _svflCallback = Nothing+ }++-- | Required. The parent to list files for, in the format:+-- 'sites\/site-name\/versions\/versionID'+svflParent :: Lens' SitesVersionsFilesList Text+svflParent+ = lens _svflParent (\ s a -> s{_svflParent = a})++-- | The type of files in the version that should be listed.+svflStatus :: Lens' SitesVersionsFilesList (Maybe Text)+svflStatus+ = lens _svflStatus (\ s a -> s{_svflStatus = a})++-- | V1 error format.+svflXgafv :: Lens' SitesVersionsFilesList (Maybe Xgafv)+svflXgafv+ = lens _svflXgafv (\ s a -> s{_svflXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svflUploadProtocol :: Lens' SitesVersionsFilesList (Maybe Text)+svflUploadProtocol+ = lens _svflUploadProtocol+ (\ s a -> s{_svflUploadProtocol = a})++-- | OAuth access token.+svflAccessToken :: Lens' SitesVersionsFilesList (Maybe Text)+svflAccessToken+ = lens _svflAccessToken+ (\ s a -> s{_svflAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svflUploadType :: Lens' SitesVersionsFilesList (Maybe Text)+svflUploadType+ = lens _svflUploadType+ (\ s a -> s{_svflUploadType = a})++-- | The next_page_token from a previous request, if provided. This will be+-- the encoded version of a+-- firebase.hosting.proto.metadata.ListFilesPageToken.+svflPageToken :: Lens' SitesVersionsFilesList (Maybe Text)+svflPageToken+ = lens _svflPageToken+ (\ s a -> s{_svflPageToken = a})++-- | The page size to return. Defaults to 1000.+svflPageSize :: Lens' SitesVersionsFilesList (Maybe Int32)+svflPageSize+ = lens _svflPageSize (\ s a -> s{_svflPageSize = a})+ . mapping _Coerce++-- | JSONP+svflCallback :: Lens' SitesVersionsFilesList (Maybe Text)+svflCallback+ = lens _svflCallback (\ s a -> s{_svflCallback = a})++instance GoogleRequest SitesVersionsFilesList where+ type Rs SitesVersionsFilesList =+ ListVersionFilesResponse+ type Scopes SitesVersionsFilesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/cloud-platform.read-only",+ "https://www.googleapis.com/auth/firebase",+ "https://www.googleapis.com/auth/firebase.readonly"]+ requestClient SitesVersionsFilesList'{..}+ = go _svflParent _svflStatus _svflXgafv+ _svflUploadProtocol+ _svflAccessToken+ _svflUploadType+ _svflPageToken+ _svflPageSize+ _svflCallback+ (Just AltJSON)+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesVersionsFilesListResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/Patch.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.FirebaseHosting.Sites.Versions.Patch+-- 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 specified metadata for a version. Note that this method will+-- fail with \`FAILED_PRECONDITION\` in the event of an invalid state+-- transition. The only valid transition for a version is currently from a+-- \`CREATED\` status to a \`FINALIZED\` status. Use+-- [\`DeleteVersion\`](..\/sites.versions\/delete) to set the status of a+-- version to \`DELETED\`.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.versions.patch@.+module Network.Google.Resource.FirebaseHosting.Sites.Versions.Patch+ (+ -- * REST Resource+ SitesVersionsPatchResource++ -- * Creating a Request+ , sitesVersionsPatch+ , SitesVersionsPatch++ -- * Request Lenses+ , svpXgafv+ , svpUploadProtocol+ , svpUpdateMask+ , svpAccessToken+ , svpUploadType+ , svpPayload+ , svpName+ , svpCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.versions.patch@ method which the+-- 'SitesVersionsPatch' request conforms to.+type SitesVersionsPatchResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "updateMask" GFieldMask :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Version :> Patch '[JSON] Version++-- | Updates the specified metadata for a version. Note that this method will+-- fail with \`FAILED_PRECONDITION\` in the event of an invalid state+-- transition. The only valid transition for a version is currently from a+-- \`CREATED\` status to a \`FINALIZED\` status. Use+-- [\`DeleteVersion\`](..\/sites.versions\/delete) to set the status of a+-- version to \`DELETED\`.+--+-- /See:/ 'sitesVersionsPatch' smart constructor.+data SitesVersionsPatch = SitesVersionsPatch'+ { _svpXgafv :: !(Maybe Xgafv)+ , _svpUploadProtocol :: !(Maybe Text)+ , _svpUpdateMask :: !(Maybe GFieldMask)+ , _svpAccessToken :: !(Maybe Text)+ , _svpUploadType :: !(Maybe Text)+ , _svpPayload :: !Version+ , _svpName :: !Text+ , _svpCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesVersionsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svpXgafv'+--+-- * 'svpUploadProtocol'+--+-- * 'svpUpdateMask'+--+-- * 'svpAccessToken'+--+-- * 'svpUploadType'+--+-- * 'svpPayload'+--+-- * 'svpName'+--+-- * 'svpCallback'+sitesVersionsPatch+ :: Version -- ^ 'svpPayload'+ -> Text -- ^ 'svpName'+ -> SitesVersionsPatch+sitesVersionsPatch pSvpPayload_ pSvpName_ =+ SitesVersionsPatch'+ { _svpXgafv = Nothing+ , _svpUploadProtocol = Nothing+ , _svpUpdateMask = Nothing+ , _svpAccessToken = Nothing+ , _svpUploadType = Nothing+ , _svpPayload = pSvpPayload_+ , _svpName = pSvpName_+ , _svpCallback = Nothing+ }++-- | V1 error format.+svpXgafv :: Lens' SitesVersionsPatch (Maybe Xgafv)+svpXgafv = lens _svpXgafv (\ s a -> s{_svpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svpUploadProtocol :: Lens' SitesVersionsPatch (Maybe Text)+svpUploadProtocol+ = lens _svpUploadProtocol+ (\ s a -> s{_svpUploadProtocol = a})++-- | A set of field names from your [version](..\/sites.versions) that you+-- want to update.+-- A field will be overwritten if, and only if, it\'s in the mask.+-- If a mask is not provided then a default mask of only+-- [\`status\`](..\/sites.versions#Version.FIELDS.status) will be used.+svpUpdateMask :: Lens' SitesVersionsPatch (Maybe GFieldMask)+svpUpdateMask+ = lens _svpUpdateMask+ (\ s a -> s{_svpUpdateMask = a})++-- | OAuth access token.+svpAccessToken :: Lens' SitesVersionsPatch (Maybe Text)+svpAccessToken+ = lens _svpAccessToken+ (\ s a -> s{_svpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svpUploadType :: Lens' SitesVersionsPatch (Maybe Text)+svpUploadType+ = lens _svpUploadType+ (\ s a -> s{_svpUploadType = a})++-- | Multipart request metadata.+svpPayload :: Lens' SitesVersionsPatch Version+svpPayload+ = lens _svpPayload (\ s a -> s{_svpPayload = a})++-- | The unique identifier for a version, in the format:+-- 'sites\/site-name\/versions\/versionID' This name is provided in the+-- response body when you call the+-- [\`CreateVersion\`](..\/sites.versions\/create) endpoint.+svpName :: Lens' SitesVersionsPatch Text+svpName = lens _svpName (\ s a -> s{_svpName = a})++-- | JSONP+svpCallback :: Lens' SitesVersionsPatch (Maybe Text)+svpCallback+ = lens _svpCallback (\ s a -> s{_svpCallback = a})++instance GoogleRequest SitesVersionsPatch where+ type Rs SitesVersionsPatch = Version+ type Scopes SitesVersionsPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesVersionsPatch'{..}+ = go _svpName _svpXgafv _svpUploadProtocol+ _svpUpdateMask+ _svpAccessToken+ _svpUploadType+ _svpCallback+ (Just AltJSON)+ _svpPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesVersionsPatchResource)+ mempty
+ gen/Network/Google/Resource/FirebaseHosting/Sites/Versions/PopulateFiles.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.FirebaseHosting.Sites.Versions.PopulateFiles+-- 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)+--+-- Adds content files to a version.+--+-- /See:/ <https://firebase.google.com/docs/hosting/ Firebase Hosting API Reference> for @firebasehosting.sites.versions.populateFiles@.+module Network.Google.Resource.FirebaseHosting.Sites.Versions.PopulateFiles+ (+ -- * REST Resource+ SitesVersionsPopulateFilesResource++ -- * Creating a Request+ , sitesVersionsPopulateFiles+ , SitesVersionsPopulateFiles++ -- * Request Lenses+ , svpfParent+ , svpfXgafv+ , svpfUploadProtocol+ , svpfAccessToken+ , svpfUploadType+ , svpfPayload+ , svpfCallback+ ) where++import Network.Google.FirebaseHosting.Types+import Network.Google.Prelude++-- | A resource alias for @firebasehosting.sites.versions.populateFiles@ method which the+-- 'SitesVersionsPopulateFiles' request conforms to.+type SitesVersionsPopulateFilesResource =+ "v1beta1" :>+ CaptureMode "parent" "populateFiles" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] PopulateVersionFilesRequest :>+ Post '[JSON] PopulateVersionFilesResponse++-- | Adds content files to a version.+--+-- /See:/ 'sitesVersionsPopulateFiles' smart constructor.+data SitesVersionsPopulateFiles = SitesVersionsPopulateFiles'+ { _svpfParent :: !Text+ , _svpfXgafv :: !(Maybe Xgafv)+ , _svpfUploadProtocol :: !(Maybe Text)+ , _svpfAccessToken :: !(Maybe Text)+ , _svpfUploadType :: !(Maybe Text)+ , _svpfPayload :: !PopulateVersionFilesRequest+ , _svpfCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SitesVersionsPopulateFiles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svpfParent'+--+-- * 'svpfXgafv'+--+-- * 'svpfUploadProtocol'+--+-- * 'svpfAccessToken'+--+-- * 'svpfUploadType'+--+-- * 'svpfPayload'+--+-- * 'svpfCallback'+sitesVersionsPopulateFiles+ :: Text -- ^ 'svpfParent'+ -> PopulateVersionFilesRequest -- ^ 'svpfPayload'+ -> SitesVersionsPopulateFiles+sitesVersionsPopulateFiles pSvpfParent_ pSvpfPayload_ =+ SitesVersionsPopulateFiles'+ { _svpfParent = pSvpfParent_+ , _svpfXgafv = Nothing+ , _svpfUploadProtocol = Nothing+ , _svpfAccessToken = Nothing+ , _svpfUploadType = Nothing+ , _svpfPayload = pSvpfPayload_+ , _svpfCallback = Nothing+ }++-- | Required. The version to add files to, in the format:+-- 'sites\/site-name\/versions\/versionID'+svpfParent :: Lens' SitesVersionsPopulateFiles Text+svpfParent+ = lens _svpfParent (\ s a -> s{_svpfParent = a})++-- | V1 error format.+svpfXgafv :: Lens' SitesVersionsPopulateFiles (Maybe Xgafv)+svpfXgafv+ = lens _svpfXgafv (\ s a -> s{_svpfXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svpfUploadProtocol :: Lens' SitesVersionsPopulateFiles (Maybe Text)+svpfUploadProtocol+ = lens _svpfUploadProtocol+ (\ s a -> s{_svpfUploadProtocol = a})++-- | OAuth access token.+svpfAccessToken :: Lens' SitesVersionsPopulateFiles (Maybe Text)+svpfAccessToken+ = lens _svpfAccessToken+ (\ s a -> s{_svpfAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svpfUploadType :: Lens' SitesVersionsPopulateFiles (Maybe Text)+svpfUploadType+ = lens _svpfUploadType+ (\ s a -> s{_svpfUploadType = a})++-- | Multipart request metadata.+svpfPayload :: Lens' SitesVersionsPopulateFiles PopulateVersionFilesRequest+svpfPayload+ = lens _svpfPayload (\ s a -> s{_svpfPayload = a})++-- | JSONP+svpfCallback :: Lens' SitesVersionsPopulateFiles (Maybe Text)+svpfCallback+ = lens _svpfCallback (\ s a -> s{_svpfCallback = a})++instance GoogleRequest SitesVersionsPopulateFiles+ where+ type Rs SitesVersionsPopulateFiles =+ PopulateVersionFilesResponse+ type Scopes SitesVersionsPopulateFiles =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/firebase"]+ requestClient SitesVersionsPopulateFiles'{..}+ = go _svpfParent _svpfXgafv _svpfUploadProtocol+ _svpfAccessToken+ _svpfUploadType+ _svpfCallback+ (Just AltJSON)+ _svpfPayload+ firebaseHostingService+ where go+ = buildClient+ (Proxy :: Proxy SitesVersionsPopulateFilesResource)+ mempty
+ gogol-firebasehosting.cabal view
@@ -0,0 +1,61 @@+name: gogol-firebasehosting+version: 0.4.0+synopsis: Google Firebase Hosting 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:+ The Firebase Hosting REST API enables programmatic custom deployment for+ releasing versions of your Firebase hosted content and configuration+ files.+ .+ /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 @v1beta1@+ 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.FirebaseHosting+ , Network.Google.FirebaseHosting.Types+ , Network.Google.Resource.FirebaseHosting.Sites.Domains.Create+ , Network.Google.Resource.FirebaseHosting.Sites.Domains.Delete+ , Network.Google.Resource.FirebaseHosting.Sites.Domains.Get+ , Network.Google.Resource.FirebaseHosting.Sites.Domains.List+ , Network.Google.Resource.FirebaseHosting.Sites.Domains.Update+ , Network.Google.Resource.FirebaseHosting.Sites.GetConfig+ , Network.Google.Resource.FirebaseHosting.Sites.Releases.Create+ , Network.Google.Resource.FirebaseHosting.Sites.Releases.List+ , Network.Google.Resource.FirebaseHosting.Sites.UpdateConfig+ , Network.Google.Resource.FirebaseHosting.Sites.Versions.Create+ , Network.Google.Resource.FirebaseHosting.Sites.Versions.Delete+ , Network.Google.Resource.FirebaseHosting.Sites.Versions.Files.List+ , Network.Google.Resource.FirebaseHosting.Sites.Versions.Patch+ , Network.Google.Resource.FirebaseHosting.Sites.Versions.PopulateFiles++ other-modules:+ Network.Google.FirebaseHosting.Types.Product+ , Network.Google.FirebaseHosting.Types.Sum++ build-depends:+ gogol-core == 0.4.0.*+ , base >= 4.7 && < 5
+ src/.gitkeep view