packages feed

gogol-discovery 0.5.0 → 1.0.0

raw patch · 15 files changed

+2129/−2912 lines, 15 filesdep −basedep ~gogol-coresetup-changed

Dependencies removed: base

Dependency ranges changed: gogol-core

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.5.0`+`1.0.0`   ## Description
Setup.hs view
@@ -1,2 +1,3 @@-import           Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/Discovery.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Discovery+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides information about other Google APIs, such as what APIs are available, the resource, and method details for each API.+--+-- /See:/ <https://developers.google.com/discovery/ API Discovery Service Reference>+module Gogol.Discovery+  ( -- * Configuration+    discoveryService,++    -- * Resources++    -- ** discovery.apis.getRest+    DiscoveryApisGetRestResource,+    DiscoveryApisGetRest (..),+    newDiscoveryApisGetRest,++    -- ** discovery.apis.list+    DiscoveryApisListResource,+    DiscoveryApisList (..),+    newDiscoveryApisList,++    -- * Types++    -- ** DirectoryList+    DirectoryList (..),+    newDirectoryList,++    -- ** DirectoryList_ItemsItem+    DirectoryList_ItemsItem (..),+    newDirectoryList_ItemsItem,++    -- ** DirectoryList_ItemsItem_Icons+    DirectoryList_ItemsItem_Icons (..),+    newDirectoryList_ItemsItem_Icons,++    -- ** JsonSchema+    JsonSchema (..),+    newJsonSchema,++    -- ** JsonSchema_Annotations+    JsonSchema_Annotations (..),+    newJsonSchema_Annotations,++    -- ** JsonSchema_Properties+    JsonSchema_Properties (..),+    newJsonSchema_Properties,++    -- ** JsonSchema_Variant+    JsonSchema_Variant (..),+    newJsonSchema_Variant,++    -- ** JsonSchema_Variant_MapItem+    JsonSchema_Variant_MapItem (..),+    newJsonSchema_Variant_MapItem,++    -- ** RestDescription+    RestDescription (..),+    newRestDescription,++    -- ** RestDescription_Auth+    RestDescription_Auth (..),+    newRestDescription_Auth,++    -- ** RestDescription_Auth_Oauth2+    RestDescription_Auth_Oauth2 (..),+    newRestDescription_Auth_Oauth2,++    -- ** RestDescription_Auth_Oauth2_Scopes+    RestDescription_Auth_Oauth2_Scopes (..),+    newRestDescription_Auth_Oauth2_Scopes,++    -- ** RestDescription_Auth_Oauth2_ScopesAdditional+    RestDescription_Auth_Oauth2_ScopesAdditional (..),+    newRestDescription_Auth_Oauth2_ScopesAdditional,++    -- ** RestDescription_EndpointsItem+    RestDescription_EndpointsItem (..),+    newRestDescription_EndpointsItem,++    -- ** RestDescription_Icons+    RestDescription_Icons (..),+    newRestDescription_Icons,++    -- ** RestDescription_Methods+    RestDescription_Methods (..),+    newRestDescription_Methods,++    -- ** RestDescription_Parameters+    RestDescription_Parameters (..),+    newRestDescription_Parameters,++    -- ** RestDescription_Resources+    RestDescription_Resources (..),+    newRestDescription_Resources,++    -- ** RestDescription_Schemas+    RestDescription_Schemas (..),+    newRestDescription_Schemas,++    -- ** RestMethod+    RestMethod (..),+    newRestMethod,++    -- ** RestMethod_MediaUpload+    RestMethod_MediaUpload (..),+    newRestMethod_MediaUpload,++    -- ** RestMethod_MediaUpload_Protocols+    RestMethod_MediaUpload_Protocols (..),+    newRestMethod_MediaUpload_Protocols,++    -- ** RestMethod_MediaUpload_Protocols_Resumable+    RestMethod_MediaUpload_Protocols_Resumable (..),+    newRestMethod_MediaUpload_Protocols_Resumable,++    -- ** RestMethod_MediaUpload_Protocols_Simple+    RestMethod_MediaUpload_Protocols_Simple (..),+    newRestMethod_MediaUpload_Protocols_Simple,++    -- ** RestMethod_Parameters+    RestMethod_Parameters (..),+    newRestMethod_Parameters,++    -- ** RestMethod_Request+    RestMethod_Request (..),+    newRestMethod_Request,++    -- ** RestMethod_Response+    RestMethod_Response (..),+    newRestMethod_Response,++    -- ** RestResource+    RestResource (..),+    newRestResource,++    -- ** RestResource_Methods+    RestResource_Methods (..),+    newRestResource_Methods,++    -- ** RestResource_Resources+    RestResource_Resources (..),+    newRestResource_Resources,+  )+where++import Gogol.Discovery.Apis.GetRest+import Gogol.Discovery.Apis.List+import Gogol.Discovery.Types
+ gen/Gogol/Discovery/Apis/GetRest.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Discovery.Apis.GetRest+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the description of a particular version of an api.+--+-- /See:/ <https://developers.google.com/discovery/ API Discovery Service Reference> for @discovery.apis.getRest@.+module Gogol.Discovery.Apis.GetRest+  ( -- * Resource+    DiscoveryApisGetRestResource,++    -- ** Constructing a Request+    DiscoveryApisGetRest (..),+    newDiscoveryApisGetRest,+  )+where++import Gogol.Discovery.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @discovery.apis.getRest@ method which the+-- 'DiscoveryApisGetRest' request conforms to.+type DiscoveryApisGetRestResource =+  "discovery"+    Core.:> "v1"+    Core.:> "apis"+    Core.:> Core.Capture "api" Core.Text+    Core.:> Core.Capture "version" Core.Text+    Core.:> "rest"+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] RestDescription++-- | Retrieve the description of a particular version of an api.+--+-- /See:/ 'newDiscoveryApisGetRest' smart constructor.+data DiscoveryApisGetRest = DiscoveryApisGetRest+  { -- | The name of the API.+    api :: Core.Text,+    -- | The version of the API.+    version :: Core.Text+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DiscoveryApisGetRest' with the minimum fields required to make a request.+newDiscoveryApisGetRest ::+  -- |  The name of the API. See 'api'.+  Core.Text ->+  -- |  The version of the API. See 'version'.+  Core.Text ->+  DiscoveryApisGetRest+newDiscoveryApisGetRest api version =+  DiscoveryApisGetRest {api = api, version = version}++instance Core.GoogleRequest DiscoveryApisGetRest where+  type Rs DiscoveryApisGetRest = RestDescription+  type Scopes DiscoveryApisGetRest = '[]+  requestClient DiscoveryApisGetRest {..} =+    go api version (Core.Just Core.AltJSON) discoveryService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DiscoveryApisGetRestResource)+          Core.mempty
+ gen/Gogol/Discovery/Apis/List.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Discovery.Apis.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the list of APIs supported at this endpoint.+--+-- /See:/ <https://developers.google.com/discovery/ API Discovery Service Reference> for @discovery.apis.list@.+module Gogol.Discovery.Apis.List+  ( -- * Resource+    DiscoveryApisListResource,++    -- ** Constructing a Request+    DiscoveryApisList (..),+    newDiscoveryApisList,+  )+where++import Gogol.Discovery.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @discovery.apis.list@ method which the+-- 'DiscoveryApisList' request conforms to.+type DiscoveryApisListResource =+  "discovery"+    Core.:> "v1"+    Core.:> "apis"+    Core.:> Core.QueryParam "name" Core.Text+    Core.:> Core.QueryParam "preferred" Core.Bool+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] DirectoryList++-- | Retrieve the list of APIs supported at this endpoint.+--+-- /See:/ 'newDiscoveryApisList' smart constructor.+data DiscoveryApisList = DiscoveryApisList+  { -- | Only include APIs with the given name.+    name :: (Core.Maybe Core.Text),+    -- | Return only the preferred version of an API.+    preferred :: Core.Bool+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DiscoveryApisList' with the minimum fields required to make a request.+newDiscoveryApisList ::+  DiscoveryApisList+newDiscoveryApisList =+  DiscoveryApisList {name = Core.Nothing, preferred = Core.False}++instance Core.GoogleRequest DiscoveryApisList where+  type Rs DiscoveryApisList = DirectoryList+  type Scopes DiscoveryApisList = '[]+  requestClient DiscoveryApisList {..} =+    go+      name+      (Core.Just preferred)+      (Core.Just Core.AltJSON)+      discoveryService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy DiscoveryApisListResource)+          Core.mempty
+ gen/Gogol/Discovery/Internal/Product.hs view
@@ -0,0 +1,1539 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Discovery.Internal.Product+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Discovery.Internal.Product+  ( -- * DirectoryList+    DirectoryList (..),+    newDirectoryList,++    -- * DirectoryList_ItemsItem+    DirectoryList_ItemsItem (..),+    newDirectoryList_ItemsItem,++    -- * DirectoryList_ItemsItem_Icons+    DirectoryList_ItemsItem_Icons (..),+    newDirectoryList_ItemsItem_Icons,++    -- * JsonSchema+    JsonSchema (..),+    newJsonSchema,++    -- * JsonSchema_Annotations+    JsonSchema_Annotations (..),+    newJsonSchema_Annotations,++    -- * JsonSchema_Properties+    JsonSchema_Properties (..),+    newJsonSchema_Properties,++    -- * JsonSchema_Variant+    JsonSchema_Variant (..),+    newJsonSchema_Variant,++    -- * JsonSchema_Variant_MapItem+    JsonSchema_Variant_MapItem (..),+    newJsonSchema_Variant_MapItem,++    -- * RestDescription+    RestDescription (..),+    newRestDescription,++    -- * RestDescription_Auth+    RestDescription_Auth (..),+    newRestDescription_Auth,++    -- * RestDescription_Auth_Oauth2+    RestDescription_Auth_Oauth2 (..),+    newRestDescription_Auth_Oauth2,++    -- * RestDescription_Auth_Oauth2_Scopes+    RestDescription_Auth_Oauth2_Scopes (..),+    newRestDescription_Auth_Oauth2_Scopes,++    -- * RestDescription_Auth_Oauth2_ScopesAdditional+    RestDescription_Auth_Oauth2_ScopesAdditional (..),+    newRestDescription_Auth_Oauth2_ScopesAdditional,++    -- * RestDescription_EndpointsItem+    RestDescription_EndpointsItem (..),+    newRestDescription_EndpointsItem,++    -- * RestDescription_Icons+    RestDescription_Icons (..),+    newRestDescription_Icons,++    -- * RestDescription_Methods+    RestDescription_Methods (..),+    newRestDescription_Methods,++    -- * RestDescription_Parameters+    RestDescription_Parameters (..),+    newRestDescription_Parameters,++    -- * RestDescription_Resources+    RestDescription_Resources (..),+    newRestDescription_Resources,++    -- * RestDescription_Schemas+    RestDescription_Schemas (..),+    newRestDescription_Schemas,++    -- * RestMethod+    RestMethod (..),+    newRestMethod,++    -- * RestMethod_MediaUpload+    RestMethod_MediaUpload (..),+    newRestMethod_MediaUpload,++    -- * RestMethod_MediaUpload_Protocols+    RestMethod_MediaUpload_Protocols (..),+    newRestMethod_MediaUpload_Protocols,++    -- * RestMethod_MediaUpload_Protocols_Resumable+    RestMethod_MediaUpload_Protocols_Resumable (..),+    newRestMethod_MediaUpload_Protocols_Resumable,++    -- * RestMethod_MediaUpload_Protocols_Simple+    RestMethod_MediaUpload_Protocols_Simple (..),+    newRestMethod_MediaUpload_Protocols_Simple,++    -- * RestMethod_Parameters+    RestMethod_Parameters (..),+    newRestMethod_Parameters,++    -- * RestMethod_Request+    RestMethod_Request (..),+    newRestMethod_Request,++    -- * RestMethod_Response+    RestMethod_Response (..),+    newRestMethod_Response,++    -- * RestResource+    RestResource (..),+    newRestResource,++    -- * RestResource_Methods+    RestResource_Methods (..),+    newRestResource_Methods,++    -- * RestResource_Resources+    RestResource_Resources (..),+    newRestResource_Resources,+  )+where++import Gogol.Discovery.Internal.Sum+import Gogol.Prelude qualified as Core++--+-- /See:/ 'newDirectoryList' smart constructor.+data DirectoryList = DirectoryList+  { -- | Indicate the version of the Discovery API used to generate this doc.+    discoveryVersion :: Core.Text,+    -- | The individual directory entries. One entry per api\/version pair.+    items :: (Core.Maybe [DirectoryList_ItemsItem]),+    -- | The kind for this response.+    kind :: Core.Text+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DirectoryList' with the minimum fields required to make a request.+newDirectoryList ::+  DirectoryList+newDirectoryList =+  DirectoryList+    { discoveryVersion = "v1",+      items = Core.Nothing,+      kind = "discovery#directoryList"+    }++instance Core.FromJSON DirectoryList where+  parseJSON =+    Core.withObject+      "DirectoryList"+      ( \o ->+          DirectoryList+            Core.<$> (o Core..:? "discoveryVersion" Core..!= "v1")+            Core.<*> (o Core..:? "items")+            Core.<*> (o Core..:? "kind" Core..!= "discovery#directoryList")+      )++instance Core.ToJSON DirectoryList where+  toJSON DirectoryList {..} =+    Core.object+      ( Core.catMaybes+          [ Core.Just ("discoveryVersion" Core..= discoveryVersion),+            ("items" Core..=) Core.<$> items,+            Core.Just ("kind" Core..= kind)+          ]+      )++--+-- /See:/ 'newDirectoryList_ItemsItem' smart constructor.+data DirectoryList_ItemsItem = DirectoryList_ItemsItem+  { -- | The description of this API.+    description :: (Core.Maybe Core.Text),+    -- | A link to the discovery document.+    discoveryLink :: (Core.Maybe Core.Text),+    -- | The URL for the discovery REST document.+    discoveryRestUrl :: (Core.Maybe Core.Text),+    -- | A link to human readable documentation for the API.+    documentationLink :: (Core.Maybe Core.Text),+    -- | Links to 16x16 and 32x32 icons representing the API.+    icons :: (Core.Maybe DirectoryList_ItemsItem_Icons),+    -- | The id of this API.+    id :: (Core.Maybe Core.Text),+    -- | The kind for this response.+    kind :: Core.Text,+    -- | Labels for the status of this API, such as labs or deprecated.+    labels :: (Core.Maybe [Core.Text]),+    -- | The name of the API.+    name :: (Core.Maybe Core.Text),+    -- | True if this version is the preferred version to use.+    preferred :: (Core.Maybe Core.Bool),+    -- | The title of this API.+    title :: (Core.Maybe Core.Text),+    -- | The version of the API.+    version :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DirectoryList_ItemsItem' with the minimum fields required to make a request.+newDirectoryList_ItemsItem ::+  DirectoryList_ItemsItem+newDirectoryList_ItemsItem =+  DirectoryList_ItemsItem+    { description = Core.Nothing,+      discoveryLink = Core.Nothing,+      discoveryRestUrl = Core.Nothing,+      documentationLink = Core.Nothing,+      icons = Core.Nothing,+      id = Core.Nothing,+      kind = "discovery#directoryItem",+      labels = Core.Nothing,+      name = Core.Nothing,+      preferred = Core.Nothing,+      title = Core.Nothing,+      version = Core.Nothing+    }++instance Core.FromJSON DirectoryList_ItemsItem where+  parseJSON =+    Core.withObject+      "DirectoryList_ItemsItem"+      ( \o ->+          DirectoryList_ItemsItem+            Core.<$> (o Core..:? "description")+            Core.<*> (o Core..:? "discoveryLink")+            Core.<*> (o Core..:? "discoveryRestUrl")+            Core.<*> (o Core..:? "documentationLink")+            Core.<*> (o Core..:? "icons")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "kind" Core..!= "discovery#directoryItem")+            Core.<*> (o Core..:? "labels")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "preferred")+            Core.<*> (o Core..:? "title")+            Core.<*> (o Core..:? "version")+      )++instance Core.ToJSON DirectoryList_ItemsItem where+  toJSON DirectoryList_ItemsItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("description" Core..=) Core.<$> description,+            ("discoveryLink" Core..=) Core.<$> discoveryLink,+            ("discoveryRestUrl" Core..=) Core.<$> discoveryRestUrl,+            ("documentationLink" Core..=) Core.<$> documentationLink,+            ("icons" Core..=) Core.<$> icons,+            ("id" Core..=) Core.<$> id,+            Core.Just ("kind" Core..= kind),+            ("labels" Core..=) Core.<$> labels,+            ("name" Core..=) Core.<$> name,+            ("preferred" Core..=) Core.<$> preferred,+            ("title" Core..=) Core.<$> title,+            ("version" Core..=) Core.<$> version+          ]+      )++-- | Links to 16x16 and 32x32 icons representing the API.+--+-- /See:/ 'newDirectoryList_ItemsItem_Icons' smart constructor.+data DirectoryList_ItemsItem_Icons = DirectoryList_ItemsItem_Icons+  { -- | The URL of the 16x16 icon.+    x16 :: (Core.Maybe Core.Text),+    -- | The URL of the 32x32 icon.+    x32 :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DirectoryList_ItemsItem_Icons' with the minimum fields required to make a request.+newDirectoryList_ItemsItem_Icons ::+  DirectoryList_ItemsItem_Icons+newDirectoryList_ItemsItem_Icons =+  DirectoryList_ItemsItem_Icons+    { x16 = Core.Nothing,+      x32 = Core.Nothing+    }++instance Core.FromJSON DirectoryList_ItemsItem_Icons where+  parseJSON =+    Core.withObject+      "DirectoryList_ItemsItem_Icons"+      ( \o ->+          DirectoryList_ItemsItem_Icons+            Core.<$> (o Core..:? "x16")+            Core.<*> (o Core..:? "x32")+      )++instance Core.ToJSON DirectoryList_ItemsItem_Icons where+  toJSON DirectoryList_ItemsItem_Icons {..} =+    Core.object+      ( Core.catMaybes+          [("x16" Core..=) Core.<$> x16, ("x32" Core..=) Core.<$> x32]+      )++--+-- /See:/ 'newJsonSchema' smart constructor.+data JsonSchema = JsonSchema+  { -- | A reference to another schema. The value of this property is the \"id\" of another schema.+    ref :: (Core.Maybe Core.Text),+    -- | If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.+    additionalProperties :: (Core.Maybe JsonSchema),+    -- | Additional information about this property.+    annotations :: (Core.Maybe JsonSchema_Annotations),+    -- | The default value of this property (if one exists).+    default' :: (Core.Maybe Core.Text),+    -- | Whether the parameter is deprecated.+    deprecated :: (Core.Maybe Core.Bool),+    -- | A description of this object.+    description :: (Core.Maybe Core.Text),+    -- | Values this parameter may take (if it is an enum).+    enum :: (Core.Maybe [Core.Text]),+    -- | The deprecation status for the enums. Each position maps to the corresponding value in the \"enum\" array.+    enumDeprecated :: (Core.Maybe [Core.Bool]),+    -- | The descriptions for the enums. Each position maps to the corresponding value in the \"enum\" array.+    enumDescriptions :: (Core.Maybe [Core.Text]),+    -- | An additional regular expression or key that helps constrain the value. For more details see: http:\/\/tools.ietf.org\/html\/draft-zyp-json-schema-03#section-5.23+    format :: (Core.Maybe Core.Text),+    -- | Unique identifier for this schema.+    id :: (Core.Maybe Core.Text),+    -- | If this is a schema for an array, this property is the schema for each element in the array.+    items :: (Core.Maybe JsonSchema),+    -- | Whether this parameter goes in the query or the path for REST requests.+    location :: (Core.Maybe Core.Text),+    -- | The maximum value of this parameter.+    maximum :: (Core.Maybe Core.Text),+    -- | The minimum value of this parameter.+    minimum :: (Core.Maybe Core.Text),+    -- | The regular expression this parameter must conform to. Uses Java 6 regex format: http:\/\/docs.oracle.com\/javase\/6\/docs\/api\/java\/util\/regex\/Pattern.html+    pattern' :: (Core.Maybe Core.Text),+    -- | If this is a schema for an object, list the schema for each property of this object.+    properties :: (Core.Maybe JsonSchema_Properties),+    -- | The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.+    readOnly :: (Core.Maybe Core.Bool),+    -- | Whether this parameter may appear multiple times.+    repeated :: (Core.Maybe Core.Bool),+    -- | Whether the parameter is required.+    required :: (Core.Maybe Core.Bool),+    -- | The value type for this schema. A list of values can be found here: http:\/\/tools.ietf.org\/html\/draft-zyp-json-schema-03#section-5.1+    type' :: (Core.Maybe Core.Text),+    -- | In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.+    variant :: (Core.Maybe JsonSchema_Variant)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'JsonSchema' with the minimum fields required to make a request.+newJsonSchema ::+  JsonSchema+newJsonSchema =+  JsonSchema+    { ref = Core.Nothing,+      additionalProperties = Core.Nothing,+      annotations = Core.Nothing,+      default' = Core.Nothing,+      deprecated = Core.Nothing,+      description = Core.Nothing,+      enum = Core.Nothing,+      enumDeprecated = Core.Nothing,+      enumDescriptions = Core.Nothing,+      format = Core.Nothing,+      id = Core.Nothing,+      items = Core.Nothing,+      location = Core.Nothing,+      maximum = Core.Nothing,+      minimum = Core.Nothing,+      pattern' = Core.Nothing,+      properties = Core.Nothing,+      readOnly = Core.Nothing,+      repeated = Core.Nothing,+      required = Core.Nothing,+      type' = Core.Nothing,+      variant = Core.Nothing+    }++instance Core.FromJSON JsonSchema where+  parseJSON =+    Core.withObject+      "JsonSchema"+      ( \o ->+          JsonSchema+            Core.<$> (o Core..:? "$ref")+            Core.<*> (o Core..:? "additionalProperties")+            Core.<*> (o Core..:? "annotations")+            Core.<*> (o Core..:? "default")+            Core.<*> (o Core..:? "deprecated")+            Core.<*> (o Core..:? "description")+            Core.<*> (o Core..:? "enum")+            Core.<*> (o Core..:? "enumDeprecated")+            Core.<*> (o Core..:? "enumDescriptions")+            Core.<*> (o Core..:? "format")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "items")+            Core.<*> (o Core..:? "location")+            Core.<*> (o Core..:? "maximum")+            Core.<*> (o Core..:? "minimum")+            Core.<*> (o Core..:? "pattern")+            Core.<*> (o Core..:? "properties")+            Core.<*> (o Core..:? "readOnly")+            Core.<*> (o Core..:? "repeated")+            Core.<*> (o Core..:? "required")+            Core.<*> (o Core..:? "type")+            Core.<*> (o Core..:? "variant")+      )++instance Core.ToJSON JsonSchema where+  toJSON JsonSchema {..} =+    Core.object+      ( Core.catMaybes+          [ ("$ref" Core..=) Core.<$> ref,+            ("additionalProperties" Core..=) Core.<$> additionalProperties,+            ("annotations" Core..=) Core.<$> annotations,+            ("default" Core..=) Core.<$> default',+            ("deprecated" Core..=) Core.<$> deprecated,+            ("description" Core..=) Core.<$> description,+            ("enum" Core..=) Core.<$> enum,+            ("enumDeprecated" Core..=) Core.<$> enumDeprecated,+            ("enumDescriptions" Core..=) Core.<$> enumDescriptions,+            ("format" Core..=) Core.<$> format,+            ("id" Core..=) Core.<$> id,+            ("items" Core..=) Core.<$> items,+            ("location" Core..=) Core.<$> location,+            ("maximum" Core..=) Core.<$> maximum,+            ("minimum" Core..=) Core.<$> minimum,+            ("pattern" Core..=) Core.<$> pattern',+            ("properties" Core..=) Core.<$> properties,+            ("readOnly" Core..=) Core.<$> readOnly,+            ("repeated" Core..=) Core.<$> repeated,+            ("required" Core..=) Core.<$> required,+            ("type" Core..=) Core.<$> type',+            ("variant" Core..=) Core.<$> variant+          ]+      )++-- | Additional information about this property.+--+-- /See:/ 'newJsonSchema_Annotations' smart constructor.+newtype JsonSchema_Annotations = JsonSchema_Annotations+  { -- | A list of methods for which this property is required on requests.+    required :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'JsonSchema_Annotations' with the minimum fields required to make a request.+newJsonSchema_Annotations ::+  JsonSchema_Annotations+newJsonSchema_Annotations =+  JsonSchema_Annotations {required = Core.Nothing}++instance Core.FromJSON JsonSchema_Annotations where+  parseJSON =+    Core.withObject+      "JsonSchema_Annotations"+      (\o -> JsonSchema_Annotations Core.<$> (o Core..:? "required"))++instance Core.ToJSON JsonSchema_Annotations where+  toJSON JsonSchema_Annotations {..} =+    Core.object+      (Core.catMaybes [("required" Core..=) Core.<$> required])++-- | If this is a schema for an object, list the schema for each property of this object.+--+-- /See:/ 'newJsonSchema_Properties' smart constructor.+newtype JsonSchema_Properties = JsonSchema_Properties+  { -- | A single property of this object. The value is itself a JSON Schema object describing this property.+    additional :: (Core.HashMap Core.Text JsonSchema)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'JsonSchema_Properties' with the minimum fields required to make a request.+newJsonSchema_Properties ::+  -- |  A single property of this object. The value is itself a JSON Schema object describing this property. See 'additional'.+  Core.HashMap Core.Text JsonSchema ->+  JsonSchema_Properties+newJsonSchema_Properties additional =+  JsonSchema_Properties {additional = additional}++instance Core.FromJSON JsonSchema_Properties where+  parseJSON =+    Core.withObject+      "JsonSchema_Properties"+      (\o -> JsonSchema_Properties Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON JsonSchema_Properties where+  toJSON JsonSchema_Properties {..} = Core.toJSON additional++-- | In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.+--+-- /See:/ 'newJsonSchema_Variant' smart constructor.+data JsonSchema_Variant = JsonSchema_Variant+  { -- | The name of the type discriminant property.+    discriminant :: (Core.Maybe Core.Text),+    -- | The map of discriminant value to schema to use for parsing..+    map :: (Core.Maybe [JsonSchema_Variant_MapItem])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'JsonSchema_Variant' with the minimum fields required to make a request.+newJsonSchema_Variant ::+  JsonSchema_Variant+newJsonSchema_Variant =+  JsonSchema_Variant+    { discriminant = Core.Nothing,+      map = Core.Nothing+    }++instance Core.FromJSON JsonSchema_Variant where+  parseJSON =+    Core.withObject+      "JsonSchema_Variant"+      ( \o ->+          JsonSchema_Variant+            Core.<$> (o Core..:? "discriminant")+            Core.<*> (o Core..:? "map")+      )++instance Core.ToJSON JsonSchema_Variant where+  toJSON JsonSchema_Variant {..} =+    Core.object+      ( Core.catMaybes+          [ ("discriminant" Core..=) Core.<$> discriminant,+            ("map" Core..=) Core.<$> map+          ]+      )++--+-- /See:/ 'newJsonSchema_Variant_MapItem' smart constructor.+data JsonSchema_Variant_MapItem = JsonSchema_Variant_MapItem+  { ref :: (Core.Maybe Core.Text),+    typeValue :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'JsonSchema_Variant_MapItem' with the minimum fields required to make a request.+newJsonSchema_Variant_MapItem ::+  JsonSchema_Variant_MapItem+newJsonSchema_Variant_MapItem =+  JsonSchema_Variant_MapItem+    { ref = Core.Nothing,+      typeValue = Core.Nothing+    }++instance Core.FromJSON JsonSchema_Variant_MapItem where+  parseJSON =+    Core.withObject+      "JsonSchema_Variant_MapItem"+      ( \o ->+          JsonSchema_Variant_MapItem+            Core.<$> (o Core..:? "$ref")+            Core.<*> (o Core..:? "type_value")+      )++instance Core.ToJSON JsonSchema_Variant_MapItem where+  toJSON JsonSchema_Variant_MapItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("$ref" Core..=) Core.<$> ref,+            ("type_value" Core..=) Core.<$> typeValue+          ]+      )++--+-- /See:/ 'newRestDescription' smart constructor.+data RestDescription = RestDescription+  { -- | Authentication information.+    auth :: (Core.Maybe RestDescription_Auth),+    -- | [DEPRECATED] The base path for REST requests.+    basePath :: (Core.Maybe Core.Text),+    -- | [DEPRECATED] The base URL for REST requests.+    baseUrl :: (Core.Maybe Core.Text),+    -- | The path for REST batch requests.+    batchPath :: (Core.Maybe Core.Text),+    -- | Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.+    canonicalName :: (Core.Maybe Core.Text),+    -- | The description of this API.+    description :: (Core.Maybe Core.Text),+    -- | Indicate the version of the Discovery API used to generate this doc.+    discoveryVersion :: Core.Text,+    -- | A link to human readable documentation for the API.+    documentationLink :: (Core.Maybe Core.Text),+    -- | A list of location-based endpoint objects for this API. Each object contains the endpoint URL, location, description and deprecation status.+    endpoints :: (Core.Maybe [RestDescription_EndpointsItem]),+    -- | The ETag for this response.+    etag :: (Core.Maybe Core.Text),+    -- | Enable exponential backoff for suitable methods in the generated clients.+    exponentialBackoffDefault :: (Core.Maybe Core.Bool),+    -- | A list of supported features for this API.+    features :: (Core.Maybe [Core.Text]),+    -- | Links to 16x16 and 32x32 icons representing the API.+    icons :: (Core.Maybe RestDescription_Icons),+    -- | The ID of this API.+    id :: (Core.Maybe Core.Text),+    -- | The kind for this response.+    kind :: Core.Text,+    -- | Labels for the status of this API, such as labs or deprecated.+    labels :: (Core.Maybe [Core.Text]),+    -- | API-level methods for this API.+    methods :: (Core.Maybe RestDescription_Methods),+    -- | The name of this API.+    name :: (Core.Maybe Core.Text),+    -- | The domain of the owner of this API. Together with the ownerName and a packagePath values, this can be used to generate a library for this API which would have a unique fully qualified name.+    ownerDomain :: (Core.Maybe Core.Text),+    -- | The name of the owner of this API. See ownerDomain.+    ownerName :: (Core.Maybe Core.Text),+    -- | The package of the owner of this API. See ownerDomain.+    packagePath :: (Core.Maybe Core.Text),+    -- | Common parameters that apply across all apis.+    parameters :: (Core.Maybe RestDescription_Parameters),+    -- | The protocol described by this document.+    protocol :: Core.Text,+    -- | The resources in this API.+    resources :: (Core.Maybe RestDescription_Resources),+    -- | The version of this API.+    revision :: (Core.Maybe Core.Text),+    -- | The root URL under which all API services live.+    rootUrl :: (Core.Maybe Core.Text),+    -- | The schemas for this API.+    schemas :: (Core.Maybe RestDescription_Schemas),+    -- | The base path for all REST requests.+    servicePath :: (Core.Maybe Core.Text),+    -- | The title of this API.+    title :: (Core.Maybe Core.Text),+    -- | The version of this API.+    version :: (Core.Maybe Core.Text),+    versionModule :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription' with the minimum fields required to make a request.+newRestDescription ::+  RestDescription+newRestDescription =+  RestDescription+    { auth = Core.Nothing,+      basePath = Core.Nothing,+      baseUrl = Core.Nothing,+      batchPath = Core.Nothing,+      canonicalName = Core.Nothing,+      description = Core.Nothing,+      discoveryVersion = "v1",+      documentationLink = Core.Nothing,+      endpoints = Core.Nothing,+      etag = Core.Nothing,+      exponentialBackoffDefault = Core.Nothing,+      features = Core.Nothing,+      icons = Core.Nothing,+      id = Core.Nothing,+      kind = "discovery#restDescription",+      labels = Core.Nothing,+      methods = Core.Nothing,+      name = Core.Nothing,+      ownerDomain = Core.Nothing,+      ownerName = Core.Nothing,+      packagePath = Core.Nothing,+      parameters = Core.Nothing,+      protocol = "rest",+      resources = Core.Nothing,+      revision = Core.Nothing,+      rootUrl = Core.Nothing,+      schemas = Core.Nothing,+      servicePath = Core.Nothing,+      title = Core.Nothing,+      version = Core.Nothing,+      versionModule = Core.Nothing+    }++instance Core.FromJSON RestDescription where+  parseJSON =+    Core.withObject+      "RestDescription"+      ( \o ->+          RestDescription+            Core.<$> (o Core..:? "auth")+            Core.<*> (o Core..:? "basePath")+            Core.<*> (o Core..:? "baseUrl")+            Core.<*> (o Core..:? "batchPath")+            Core.<*> (o Core..:? "canonicalName")+            Core.<*> (o Core..:? "description")+            Core.<*> (o Core..:? "discoveryVersion" Core..!= "v1")+            Core.<*> (o Core..:? "documentationLink")+            Core.<*> (o Core..:? "endpoints")+            Core.<*> (o Core..:? "etag")+            Core.<*> (o Core..:? "exponentialBackoffDefault")+            Core.<*> (o Core..:? "features")+            Core.<*> (o Core..:? "icons")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "kind" Core..!= "discovery#restDescription")+            Core.<*> (o Core..:? "labels")+            Core.<*> (o Core..:? "methods")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "ownerDomain")+            Core.<*> (o Core..:? "ownerName")+            Core.<*> (o Core..:? "packagePath")+            Core.<*> (o Core..:? "parameters")+            Core.<*> (o Core..:? "protocol" Core..!= "rest")+            Core.<*> (o Core..:? "resources")+            Core.<*> (o Core..:? "revision")+            Core.<*> (o Core..:? "rootUrl")+            Core.<*> (o Core..:? "schemas")+            Core.<*> (o Core..:? "servicePath")+            Core.<*> (o Core..:? "title")+            Core.<*> (o Core..:? "version")+            Core.<*> (o Core..:? "version_module")+      )++instance Core.ToJSON RestDescription where+  toJSON RestDescription {..} =+    Core.object+      ( Core.catMaybes+          [ ("auth" Core..=) Core.<$> auth,+            ("basePath" Core..=) Core.<$> basePath,+            ("baseUrl" Core..=) Core.<$> baseUrl,+            ("batchPath" Core..=) Core.<$> batchPath,+            ("canonicalName" Core..=) Core.<$> canonicalName,+            ("description" Core..=) Core.<$> description,+            Core.Just ("discoveryVersion" Core..= discoveryVersion),+            ("documentationLink" Core..=) Core.<$> documentationLink,+            ("endpoints" Core..=) Core.<$> endpoints,+            ("etag" Core..=) Core.<$> etag,+            ("exponentialBackoffDefault" Core..=)+              Core.<$> exponentialBackoffDefault,+            ("features" Core..=) Core.<$> features,+            ("icons" Core..=) Core.<$> icons,+            ("id" Core..=) Core.<$> id,+            Core.Just ("kind" Core..= kind),+            ("labels" Core..=) Core.<$> labels,+            ("methods" Core..=) Core.<$> methods,+            ("name" Core..=) Core.<$> name,+            ("ownerDomain" Core..=) Core.<$> ownerDomain,+            ("ownerName" Core..=) Core.<$> ownerName,+            ("packagePath" Core..=) Core.<$> packagePath,+            ("parameters" Core..=) Core.<$> parameters,+            Core.Just ("protocol" Core..= protocol),+            ("resources" Core..=) Core.<$> resources,+            ("revision" Core..=) Core.<$> revision,+            ("rootUrl" Core..=) Core.<$> rootUrl,+            ("schemas" Core..=) Core.<$> schemas,+            ("servicePath" Core..=) Core.<$> servicePath,+            ("title" Core..=) Core.<$> title,+            ("version" Core..=) Core.<$> version,+            ("version_module" Core..=) Core.<$> versionModule+          ]+      )++-- | Authentication information.+--+-- /See:/ 'newRestDescription_Auth' smart constructor.+newtype RestDescription_Auth = RestDescription_Auth+  { -- | OAuth 2.0 authentication information.+    oauth2 :: (Core.Maybe RestDescription_Auth_Oauth2)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Auth' with the minimum fields required to make a request.+newRestDescription_Auth ::+  RestDescription_Auth+newRestDescription_Auth =+  RestDescription_Auth {oauth2 = Core.Nothing}++instance Core.FromJSON RestDescription_Auth where+  parseJSON =+    Core.withObject+      "RestDescription_Auth"+      (\o -> RestDescription_Auth Core.<$> (o Core..:? "oauth2"))++instance Core.ToJSON RestDescription_Auth where+  toJSON RestDescription_Auth {..} =+    Core.object (Core.catMaybes [("oauth2" Core..=) Core.<$> oauth2])++-- | OAuth 2.0 authentication information.+--+-- /See:/ 'newRestDescription_Auth_Oauth2' smart constructor.+newtype RestDescription_Auth_Oauth2 = RestDescription_Auth_Oauth2+  { -- | Available OAuth 2.0 scopes.+    scopes :: (Core.Maybe RestDescription_Auth_Oauth2_Scopes)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Auth_Oauth2' with the minimum fields required to make a request.+newRestDescription_Auth_Oauth2 ::+  RestDescription_Auth_Oauth2+newRestDescription_Auth_Oauth2 =+  RestDescription_Auth_Oauth2 {scopes = Core.Nothing}++instance Core.FromJSON RestDescription_Auth_Oauth2 where+  parseJSON =+    Core.withObject+      "RestDescription_Auth_Oauth2"+      (\o -> RestDescription_Auth_Oauth2 Core.<$> (o Core..:? "scopes"))++instance Core.ToJSON RestDescription_Auth_Oauth2 where+  toJSON RestDescription_Auth_Oauth2 {..} =+    Core.object (Core.catMaybes [("scopes" Core..=) Core.<$> scopes])++-- | Available OAuth 2.0 scopes.+--+-- /See:/ 'newRestDescription_Auth_Oauth2_Scopes' smart constructor.+newtype RestDescription_Auth_Oauth2_Scopes = RestDescription_Auth_Oauth2_Scopes+  { -- | The scope value.+    additional ::+      ( Core.HashMap+          Core.Text+          RestDescription_Auth_Oauth2_ScopesAdditional+      )+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Auth_Oauth2_Scopes' with the minimum fields required to make a request.+newRestDescription_Auth_Oauth2_Scopes ::+  -- |  The scope value. See 'additional'.+  Core.HashMap+    Core.Text+    RestDescription_Auth_Oauth2_ScopesAdditional ->+  RestDescription_Auth_Oauth2_Scopes+newRestDescription_Auth_Oauth2_Scopes additional =+  RestDescription_Auth_Oauth2_Scopes {additional = additional}++instance Core.FromJSON RestDescription_Auth_Oauth2_Scopes where+  parseJSON =+    Core.withObject+      "RestDescription_Auth_Oauth2_Scopes"+      ( \o ->+          RestDescription_Auth_Oauth2_Scopes+            Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON RestDescription_Auth_Oauth2_Scopes where+  toJSON RestDescription_Auth_Oauth2_Scopes {..} =+    Core.toJSON additional++-- | The scope value.+--+-- /See:/ 'newRestDescription_Auth_Oauth2_ScopesAdditional' smart constructor.+newtype RestDescription_Auth_Oauth2_ScopesAdditional = RestDescription_Auth_Oauth2_ScopesAdditional+  { -- | Description of scope.+    description :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Auth_Oauth2_ScopesAdditional' with the minimum fields required to make a request.+newRestDescription_Auth_Oauth2_ScopesAdditional ::+  RestDescription_Auth_Oauth2_ScopesAdditional+newRestDescription_Auth_Oauth2_ScopesAdditional =+  RestDescription_Auth_Oauth2_ScopesAdditional+    { description =+        Core.Nothing+    }++instance Core.FromJSON RestDescription_Auth_Oauth2_ScopesAdditional where+  parseJSON =+    Core.withObject+      "RestDescription_Auth_Oauth2_ScopesAdditional"+      ( \o ->+          RestDescription_Auth_Oauth2_ScopesAdditional+            Core.<$> (o Core..:? "description")+      )++instance Core.ToJSON RestDescription_Auth_Oauth2_ScopesAdditional where+  toJSON RestDescription_Auth_Oauth2_ScopesAdditional {..} =+    Core.object+      (Core.catMaybes [("description" Core..=) Core.<$> description])++-- | A single endpoint object+--+-- /See:/ 'newRestDescription_EndpointsItem' smart constructor.+data RestDescription_EndpointsItem = RestDescription_EndpointsItem+  { -- | Whether this endpoint is deprecated+    deprecated :: (Core.Maybe Core.Bool),+    -- | A string describing the host designated by the URL+    description :: (Core.Maybe Core.Text),+    -- | The URL of the endpoint target host+    endpointUrl :: (Core.Maybe Core.Text),+    -- | The location of the endpoint+    location :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_EndpointsItem' with the minimum fields required to make a request.+newRestDescription_EndpointsItem ::+  RestDescription_EndpointsItem+newRestDescription_EndpointsItem =+  RestDescription_EndpointsItem+    { deprecated = Core.Nothing,+      description = Core.Nothing,+      endpointUrl = Core.Nothing,+      location = Core.Nothing+    }++instance Core.FromJSON RestDescription_EndpointsItem where+  parseJSON =+    Core.withObject+      "RestDescription_EndpointsItem"+      ( \o ->+          RestDescription_EndpointsItem+            Core.<$> (o Core..:? "deprecated")+            Core.<*> (o Core..:? "description")+            Core.<*> (o Core..:? "endpointUrl")+            Core.<*> (o Core..:? "location")+      )++instance Core.ToJSON RestDescription_EndpointsItem where+  toJSON RestDescription_EndpointsItem {..} =+    Core.object+      ( Core.catMaybes+          [ ("deprecated" Core..=) Core.<$> deprecated,+            ("description" Core..=) Core.<$> description,+            ("endpointUrl" Core..=) Core.<$> endpointUrl,+            ("location" Core..=) Core.<$> location+          ]+      )++-- | Links to 16x16 and 32x32 icons representing the API.+--+-- /See:/ 'newRestDescription_Icons' smart constructor.+data RestDescription_Icons = RestDescription_Icons+  { -- | The URL of the 16x16 icon.+    x16 :: (Core.Maybe Core.Text),+    -- | The URL of the 32x32 icon.+    x32 :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Icons' with the minimum fields required to make a request.+newRestDescription_Icons ::+  RestDescription_Icons+newRestDescription_Icons =+  RestDescription_Icons {x16 = Core.Nothing, x32 = Core.Nothing}++instance Core.FromJSON RestDescription_Icons where+  parseJSON =+    Core.withObject+      "RestDescription_Icons"+      ( \o ->+          RestDescription_Icons+            Core.<$> (o Core..:? "x16")+            Core.<*> (o Core..:? "x32")+      )++instance Core.ToJSON RestDescription_Icons where+  toJSON RestDescription_Icons {..} =+    Core.object+      ( Core.catMaybes+          [("x16" Core..=) Core.<$> x16, ("x32" Core..=) Core.<$> x32]+      )++-- | API-level methods for this API.+--+-- /See:/ 'newRestDescription_Methods' smart constructor.+newtype RestDescription_Methods = RestDescription_Methods+  { -- | An individual method description.+    additional :: (Core.HashMap Core.Text RestMethod)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Methods' with the minimum fields required to make a request.+newRestDescription_Methods ::+  -- |  An individual method description. See 'additional'.+  Core.HashMap Core.Text RestMethod ->+  RestDescription_Methods+newRestDescription_Methods additional =+  RestDescription_Methods {additional = additional}++instance Core.FromJSON RestDescription_Methods where+  parseJSON =+    Core.withObject+      "RestDescription_Methods"+      (\o -> RestDescription_Methods Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON RestDescription_Methods where+  toJSON RestDescription_Methods {..} = Core.toJSON additional++-- | Common parameters that apply across all apis.+--+-- /See:/ 'newRestDescription_Parameters' smart constructor.+newtype RestDescription_Parameters = RestDescription_Parameters+  { -- | Description of a single parameter.+    additional :: (Core.HashMap Core.Text JsonSchema)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Parameters' with the minimum fields required to make a request.+newRestDescription_Parameters ::+  -- |  Description of a single parameter. See 'additional'.+  Core.HashMap Core.Text JsonSchema ->+  RestDescription_Parameters+newRestDescription_Parameters additional =+  RestDescription_Parameters {additional = additional}++instance Core.FromJSON RestDescription_Parameters where+  parseJSON =+    Core.withObject+      "RestDescription_Parameters"+      ( \o ->+          RestDescription_Parameters Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON RestDescription_Parameters where+  toJSON RestDescription_Parameters {..} = Core.toJSON additional++-- | The resources in this API.+--+-- /See:/ 'newRestDescription_Resources' smart constructor.+newtype RestDescription_Resources = RestDescription_Resources+  { -- | An individual resource description. Contains methods and sub-resources related to this resource.+    additional :: (Core.HashMap Core.Text RestResource)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Resources' with the minimum fields required to make a request.+newRestDescription_Resources ::+  -- |  An individual resource description. Contains methods and sub-resources related to this resource. See 'additional'.+  Core.HashMap Core.Text RestResource ->+  RestDescription_Resources+newRestDescription_Resources additional =+  RestDescription_Resources {additional = additional}++instance Core.FromJSON RestDescription_Resources where+  parseJSON =+    Core.withObject+      "RestDescription_Resources"+      ( \o ->+          RestDescription_Resources Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON RestDescription_Resources where+  toJSON RestDescription_Resources {..} = Core.toJSON additional++-- | The schemas for this API.+--+-- /See:/ 'newRestDescription_Schemas' smart constructor.+newtype RestDescription_Schemas = RestDescription_Schemas+  { -- | An individual schema description.+    additional :: (Core.HashMap Core.Text JsonSchema)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestDescription_Schemas' with the minimum fields required to make a request.+newRestDescription_Schemas ::+  -- |  An individual schema description. See 'additional'.+  Core.HashMap Core.Text JsonSchema ->+  RestDescription_Schemas+newRestDescription_Schemas additional =+  RestDescription_Schemas {additional = additional}++instance Core.FromJSON RestDescription_Schemas where+  parseJSON =+    Core.withObject+      "RestDescription_Schemas"+      (\o -> RestDescription_Schemas Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON RestDescription_Schemas where+  toJSON RestDescription_Schemas {..} = Core.toJSON additional++--+-- /See:/ 'newRestMethod' smart constructor.+data RestMethod = RestMethod+  { -- | The API Version of this method, as passed in via the @X-Goog-Api-Version@ header or @$apiVersion@ query parameter.+    apiVersion :: (Core.Maybe Core.Text),+    -- | Whether this method is deprecated.+    deprecated :: (Core.Maybe Core.Bool),+    -- | Description of this method.+    description :: (Core.Maybe Core.Text),+    -- | Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.+    etagRequired :: (Core.Maybe Core.Bool),+    -- | The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.+    flatPath :: (Core.Maybe Core.Text),+    -- | HTTP method used by this method.+    httpMethod :: (Core.Maybe Core.Text),+    -- | A unique ID for this method. This property can be used to match methods between different versions of Discovery.+    id :: (Core.Maybe Core.Text),+    -- | Media upload parameters.+    mediaUpload :: (Core.Maybe RestMethod_MediaUpload),+    -- | Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the \"most-significant\" parameter appears first.+    parameterOrder :: (Core.Maybe [Core.Text]),+    -- | Details for all parameters in this method.+    parameters :: (Core.Maybe RestMethod_Parameters),+    -- | The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.+    path :: (Core.Maybe Core.Text),+    -- | The schema for the request.+    request' :: (Core.Maybe RestMethod_Request),+    -- | The schema for the response.+    response :: (Core.Maybe RestMethod_Response),+    -- | OAuth 2.0 scopes applicable to this method.+    scopes :: (Core.Maybe [Core.Text]),+    -- | Whether this method supports media downloads.+    supportsMediaDownload :: (Core.Maybe Core.Bool),+    -- | Whether this method supports media uploads.+    supportsMediaUpload :: (Core.Maybe Core.Bool),+    -- | Whether this method supports subscriptions.+    supportsSubscription :: (Core.Maybe Core.Bool),+    -- | Indicates that downloads from this method should use the download service URL (i.e. \"\/download\"). Only applies if the method supports media download.+    useMediaDownloadService :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod' with the minimum fields required to make a request.+newRestMethod ::+  RestMethod+newRestMethod =+  RestMethod+    { apiVersion = Core.Nothing,+      deprecated = Core.Nothing,+      description = Core.Nothing,+      etagRequired = Core.Nothing,+      flatPath = Core.Nothing,+      httpMethod = Core.Nothing,+      id = Core.Nothing,+      mediaUpload = Core.Nothing,+      parameterOrder = Core.Nothing,+      parameters = Core.Nothing,+      path = Core.Nothing,+      request' = Core.Nothing,+      response = Core.Nothing,+      scopes = Core.Nothing,+      supportsMediaDownload = Core.Nothing,+      supportsMediaUpload = Core.Nothing,+      supportsSubscription = Core.Nothing,+      useMediaDownloadService = Core.Nothing+    }++instance Core.FromJSON RestMethod where+  parseJSON =+    Core.withObject+      "RestMethod"+      ( \o ->+          RestMethod+            Core.<$> (o Core..:? "apiVersion")+            Core.<*> (o Core..:? "deprecated")+            Core.<*> (o Core..:? "description")+            Core.<*> (o Core..:? "etagRequired")+            Core.<*> (o Core..:? "flatPath")+            Core.<*> (o Core..:? "httpMethod")+            Core.<*> (o Core..:? "id")+            Core.<*> (o Core..:? "mediaUpload")+            Core.<*> (o Core..:? "parameterOrder")+            Core.<*> (o Core..:? "parameters")+            Core.<*> (o Core..:? "path")+            Core.<*> (o Core..:? "request")+            Core.<*> (o Core..:? "response")+            Core.<*> (o Core..:? "scopes")+            Core.<*> (o Core..:? "supportsMediaDownload")+            Core.<*> (o Core..:? "supportsMediaUpload")+            Core.<*> (o Core..:? "supportsSubscription")+            Core.<*> (o Core..:? "useMediaDownloadService")+      )++instance Core.ToJSON RestMethod where+  toJSON RestMethod {..} =+    Core.object+      ( Core.catMaybes+          [ ("apiVersion" Core..=) Core.<$> apiVersion,+            ("deprecated" Core..=) Core.<$> deprecated,+            ("description" Core..=) Core.<$> description,+            ("etagRequired" Core..=) Core.<$> etagRequired,+            ("flatPath" Core..=) Core.<$> flatPath,+            ("httpMethod" Core..=) Core.<$> httpMethod,+            ("id" Core..=) Core.<$> id,+            ("mediaUpload" Core..=) Core.<$> mediaUpload,+            ("parameterOrder" Core..=) Core.<$> parameterOrder,+            ("parameters" Core..=) Core.<$> parameters,+            ("path" Core..=) Core.<$> path,+            ("request" Core..=) Core.<$> request',+            ("response" Core..=) Core.<$> response,+            ("scopes" Core..=) Core.<$> scopes,+            ("supportsMediaDownload" Core..=) Core.<$> supportsMediaDownload,+            ("supportsMediaUpload" Core..=) Core.<$> supportsMediaUpload,+            ("supportsSubscription" Core..=) Core.<$> supportsSubscription,+            ("useMediaDownloadService" Core..=)+              Core.<$> useMediaDownloadService+          ]+      )++-- | Media upload parameters.+--+-- /See:/ 'newRestMethod_MediaUpload' smart constructor.+data RestMethod_MediaUpload = RestMethod_MediaUpload+  { -- | MIME Media Ranges for acceptable media uploads to this method.+    accept :: (Core.Maybe [Core.Text]),+    -- | Maximum size of a media upload, such as \"1MB\", \"2GB\" or \"3TB\".+    maxSize :: (Core.Maybe Core.Text),+    -- | Supported upload protocols.+    protocols :: (Core.Maybe RestMethod_MediaUpload_Protocols)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_MediaUpload' with the minimum fields required to make a request.+newRestMethod_MediaUpload ::+  RestMethod_MediaUpload+newRestMethod_MediaUpload =+  RestMethod_MediaUpload+    { accept = Core.Nothing,+      maxSize = Core.Nothing,+      protocols = Core.Nothing+    }++instance Core.FromJSON RestMethod_MediaUpload where+  parseJSON =+    Core.withObject+      "RestMethod_MediaUpload"+      ( \o ->+          RestMethod_MediaUpload+            Core.<$> (o Core..:? "accept")+            Core.<*> (o Core..:? "maxSize")+            Core.<*> (o Core..:? "protocols")+      )++instance Core.ToJSON RestMethod_MediaUpload where+  toJSON RestMethod_MediaUpload {..} =+    Core.object+      ( Core.catMaybes+          [ ("accept" Core..=) Core.<$> accept,+            ("maxSize" Core..=) Core.<$> maxSize,+            ("protocols" Core..=) Core.<$> protocols+          ]+      )++-- | Supported upload protocols.+--+-- /See:/ 'newRestMethod_MediaUpload_Protocols' smart constructor.+data RestMethod_MediaUpload_Protocols = RestMethod_MediaUpload_Protocols+  { -- | Supports the Resumable Media Upload protocol.+    resumable :: (Core.Maybe RestMethod_MediaUpload_Protocols_Resumable),+    -- | Supports uploading as a single HTTP request.+    simple :: (Core.Maybe RestMethod_MediaUpload_Protocols_Simple)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_MediaUpload_Protocols' with the minimum fields required to make a request.+newRestMethod_MediaUpload_Protocols ::+  RestMethod_MediaUpload_Protocols+newRestMethod_MediaUpload_Protocols =+  RestMethod_MediaUpload_Protocols+    { resumable = Core.Nothing,+      simple = Core.Nothing+    }++instance Core.FromJSON RestMethod_MediaUpload_Protocols where+  parseJSON =+    Core.withObject+      "RestMethod_MediaUpload_Protocols"+      ( \o ->+          RestMethod_MediaUpload_Protocols+            Core.<$> (o Core..:? "resumable")+            Core.<*> (o Core..:? "simple")+      )++instance Core.ToJSON RestMethod_MediaUpload_Protocols where+  toJSON RestMethod_MediaUpload_Protocols {..} =+    Core.object+      ( Core.catMaybes+          [ ("resumable" Core..=) Core.<$> resumable,+            ("simple" Core..=) Core.<$> simple+          ]+      )++-- | Supports the Resumable Media Upload protocol.+--+-- /See:/ 'newRestMethod_MediaUpload_Protocols_Resumable' smart constructor.+data RestMethod_MediaUpload_Protocols_Resumable = RestMethod_MediaUpload_Protocols_Resumable+  { -- | True if this endpoint supports uploading multipart media.+    multipart :: Core.Bool,+    -- | The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.+    path :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_MediaUpload_Protocols_Resumable' with the minimum fields required to make a request.+newRestMethod_MediaUpload_Protocols_Resumable ::+  RestMethod_MediaUpload_Protocols_Resumable+newRestMethod_MediaUpload_Protocols_Resumable =+  RestMethod_MediaUpload_Protocols_Resumable+    { multipart = Core.True,+      path = Core.Nothing+    }++instance Core.FromJSON RestMethod_MediaUpload_Protocols_Resumable where+  parseJSON =+    Core.withObject+      "RestMethod_MediaUpload_Protocols_Resumable"+      ( \o ->+          RestMethod_MediaUpload_Protocols_Resumable+            Core.<$> (o Core..:? "multipart" Core..!= Core.True)+            Core.<*> (o Core..:? "path")+      )++instance Core.ToJSON RestMethod_MediaUpload_Protocols_Resumable where+  toJSON RestMethod_MediaUpload_Protocols_Resumable {..} =+    Core.object+      ( Core.catMaybes+          [ Core.Just ("multipart" Core..= multipart),+            ("path" Core..=) Core.<$> path+          ]+      )++-- | Supports uploading as a single HTTP request.+--+-- /See:/ 'newRestMethod_MediaUpload_Protocols_Simple' smart constructor.+data RestMethod_MediaUpload_Protocols_Simple = RestMethod_MediaUpload_Protocols_Simple+  { -- | True if this endpoint supports upload multipart media.+    multipart :: Core.Bool,+    -- | The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.+    path :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_MediaUpload_Protocols_Simple' with the minimum fields required to make a request.+newRestMethod_MediaUpload_Protocols_Simple ::+  RestMethod_MediaUpload_Protocols_Simple+newRestMethod_MediaUpload_Protocols_Simple =+  RestMethod_MediaUpload_Protocols_Simple+    { multipart = Core.True,+      path = Core.Nothing+    }++instance Core.FromJSON RestMethod_MediaUpload_Protocols_Simple where+  parseJSON =+    Core.withObject+      "RestMethod_MediaUpload_Protocols_Simple"+      ( \o ->+          RestMethod_MediaUpload_Protocols_Simple+            Core.<$> (o Core..:? "multipart" Core..!= Core.True)+            Core.<*> (o Core..:? "path")+      )++instance Core.ToJSON RestMethod_MediaUpload_Protocols_Simple where+  toJSON RestMethod_MediaUpload_Protocols_Simple {..} =+    Core.object+      ( Core.catMaybes+          [ Core.Just ("multipart" Core..= multipart),+            ("path" Core..=) Core.<$> path+          ]+      )++-- | Details for all parameters in this method.+--+-- /See:/ 'newRestMethod_Parameters' smart constructor.+newtype RestMethod_Parameters = RestMethod_Parameters+  { -- | Details for a single parameter in this method.+    additional :: (Core.HashMap Core.Text JsonSchema)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_Parameters' with the minimum fields required to make a request.+newRestMethod_Parameters ::+  -- |  Details for a single parameter in this method. See 'additional'.+  Core.HashMap Core.Text JsonSchema ->+  RestMethod_Parameters+newRestMethod_Parameters additional =+  RestMethod_Parameters {additional = additional}++instance Core.FromJSON RestMethod_Parameters where+  parseJSON =+    Core.withObject+      "RestMethod_Parameters"+      (\o -> RestMethod_Parameters Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON RestMethod_Parameters where+  toJSON RestMethod_Parameters {..} = Core.toJSON additional++-- | The schema for the request.+--+-- /See:/ 'newRestMethod_Request' smart constructor.+data RestMethod_Request = RestMethod_Request+  { -- | Schema ID for the request schema.+    ref :: (Core.Maybe Core.Text),+    -- | parameter name.+    parameterName :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_Request' with the minimum fields required to make a request.+newRestMethod_Request ::+  RestMethod_Request+newRestMethod_Request =+  RestMethod_Request+    { ref = Core.Nothing,+      parameterName = Core.Nothing+    }++instance Core.FromJSON RestMethod_Request where+  parseJSON =+    Core.withObject+      "RestMethod_Request"+      ( \o ->+          RestMethod_Request+            Core.<$> (o Core..:? "$ref")+            Core.<*> (o Core..:? "parameterName")+      )++instance Core.ToJSON RestMethod_Request where+  toJSON RestMethod_Request {..} =+    Core.object+      ( Core.catMaybes+          [ ("$ref" Core..=) Core.<$> ref,+            ("parameterName" Core..=) Core.<$> parameterName+          ]+      )++-- | The schema for the response.+--+-- /See:/ 'newRestMethod_Response' smart constructor.+newtype RestMethod_Response = RestMethod_Response+  { -- | Schema ID for the response schema.+    ref :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestMethod_Response' with the minimum fields required to make a request.+newRestMethod_Response ::+  RestMethod_Response+newRestMethod_Response = RestMethod_Response {ref = Core.Nothing}++instance Core.FromJSON RestMethod_Response where+  parseJSON =+    Core.withObject+      "RestMethod_Response"+      (\o -> RestMethod_Response Core.<$> (o Core..:? "$ref"))++instance Core.ToJSON RestMethod_Response where+  toJSON RestMethod_Response {..} =+    Core.object (Core.catMaybes [("$ref" Core..=) Core.<$> ref])++--+-- /See:/ 'newRestResource' smart constructor.+data RestResource = RestResource+  { -- | Whether this resource is deprecated.+    deprecated :: (Core.Maybe Core.Bool),+    -- | Methods on this resource.+    methods :: (Core.Maybe RestResource_Methods),+    -- | Sub-resources on this resource.+    resources :: (Core.Maybe RestResource_Resources)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestResource' with the minimum fields required to make a request.+newRestResource ::+  RestResource+newRestResource =+  RestResource+    { deprecated = Core.Nothing,+      methods = Core.Nothing,+      resources = Core.Nothing+    }++instance Core.FromJSON RestResource where+  parseJSON =+    Core.withObject+      "RestResource"+      ( \o ->+          RestResource+            Core.<$> (o Core..:? "deprecated")+            Core.<*> (o Core..:? "methods")+            Core.<*> (o Core..:? "resources")+      )++instance Core.ToJSON RestResource where+  toJSON RestResource {..} =+    Core.object+      ( Core.catMaybes+          [ ("deprecated" Core..=) Core.<$> deprecated,+            ("methods" Core..=) Core.<$> methods,+            ("resources" Core..=) Core.<$> resources+          ]+      )++-- | Methods on this resource.+--+-- /See:/ 'newRestResource_Methods' smart constructor.+newtype RestResource_Methods = RestResource_Methods+  { -- | Description for any methods on this resource.+    additional :: (Core.HashMap Core.Text RestMethod)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestResource_Methods' with the minimum fields required to make a request.+newRestResource_Methods ::+  -- |  Description for any methods on this resource. See 'additional'.+  Core.HashMap Core.Text RestMethod ->+  RestResource_Methods+newRestResource_Methods additional =+  RestResource_Methods {additional = additional}++instance Core.FromJSON RestResource_Methods where+  parseJSON =+    Core.withObject+      "RestResource_Methods"+      (\o -> RestResource_Methods Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON RestResource_Methods where+  toJSON RestResource_Methods {..} = Core.toJSON additional++-- | Sub-resources on this resource.+--+-- /See:/ 'newRestResource_Resources' smart constructor.+newtype RestResource_Resources = RestResource_Resources+  { -- | Description for any sub-resources on this resource.+    additional :: (Core.HashMap Core.Text RestResource)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestResource_Resources' with the minimum fields required to make a request.+newRestResource_Resources ::+  -- |  Description for any sub-resources on this resource. See 'additional'.+  Core.HashMap Core.Text RestResource ->+  RestResource_Resources+newRestResource_Resources additional =+  RestResource_Resources {additional = additional}++instance Core.FromJSON RestResource_Resources where+  parseJSON =+    Core.withObject+      "RestResource_Resources"+      (\o -> RestResource_Resources Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON RestResource_Resources where+  toJSON RestResource_Resources {..} = Core.toJSON additional
+ gen/Gogol/Discovery/Internal/Sum.hs view
@@ -0,0 +1,31 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Discovery.Internal.Sum+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Discovery.Internal.Sum+  (+  )+where++import Gogol.Prelude qualified as Core
+ gen/Gogol/Discovery/Types.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.Discovery.Types+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.Discovery.Types+  ( -- * Configuration+    discoveryService,++    -- * Types++    -- ** DirectoryList+    DirectoryList (..),+    newDirectoryList,++    -- ** DirectoryList_ItemsItem+    DirectoryList_ItemsItem (..),+    newDirectoryList_ItemsItem,++    -- ** DirectoryList_ItemsItem_Icons+    DirectoryList_ItemsItem_Icons (..),+    newDirectoryList_ItemsItem_Icons,++    -- ** JsonSchema+    JsonSchema (..),+    newJsonSchema,++    -- ** JsonSchema_Annotations+    JsonSchema_Annotations (..),+    newJsonSchema_Annotations,++    -- ** JsonSchema_Properties+    JsonSchema_Properties (..),+    newJsonSchema_Properties,++    -- ** JsonSchema_Variant+    JsonSchema_Variant (..),+    newJsonSchema_Variant,++    -- ** JsonSchema_Variant_MapItem+    JsonSchema_Variant_MapItem (..),+    newJsonSchema_Variant_MapItem,++    -- ** RestDescription+    RestDescription (..),+    newRestDescription,++    -- ** RestDescription_Auth+    RestDescription_Auth (..),+    newRestDescription_Auth,++    -- ** RestDescription_Auth_Oauth2+    RestDescription_Auth_Oauth2 (..),+    newRestDescription_Auth_Oauth2,++    -- ** RestDescription_Auth_Oauth2_Scopes+    RestDescription_Auth_Oauth2_Scopes (..),+    newRestDescription_Auth_Oauth2_Scopes,++    -- ** RestDescription_Auth_Oauth2_ScopesAdditional+    RestDescription_Auth_Oauth2_ScopesAdditional (..),+    newRestDescription_Auth_Oauth2_ScopesAdditional,++    -- ** RestDescription_EndpointsItem+    RestDescription_EndpointsItem (..),+    newRestDescription_EndpointsItem,++    -- ** RestDescription_Icons+    RestDescription_Icons (..),+    newRestDescription_Icons,++    -- ** RestDescription_Methods+    RestDescription_Methods (..),+    newRestDescription_Methods,++    -- ** RestDescription_Parameters+    RestDescription_Parameters (..),+    newRestDescription_Parameters,++    -- ** RestDescription_Resources+    RestDescription_Resources (..),+    newRestDescription_Resources,++    -- ** RestDescription_Schemas+    RestDescription_Schemas (..),+    newRestDescription_Schemas,++    -- ** RestMethod+    RestMethod (..),+    newRestMethod,++    -- ** RestMethod_MediaUpload+    RestMethod_MediaUpload (..),+    newRestMethod_MediaUpload,++    -- ** RestMethod_MediaUpload_Protocols+    RestMethod_MediaUpload_Protocols (..),+    newRestMethod_MediaUpload_Protocols,++    -- ** RestMethod_MediaUpload_Protocols_Resumable+    RestMethod_MediaUpload_Protocols_Resumable (..),+    newRestMethod_MediaUpload_Protocols_Resumable,++    -- ** RestMethod_MediaUpload_Protocols_Simple+    RestMethod_MediaUpload_Protocols_Simple (..),+    newRestMethod_MediaUpload_Protocols_Simple,++    -- ** RestMethod_Parameters+    RestMethod_Parameters (..),+    newRestMethod_Parameters,++    -- ** RestMethod_Request+    RestMethod_Request (..),+    newRestMethod_Request,++    -- ** RestMethod_Response+    RestMethod_Response (..),+    newRestMethod_Response,++    -- ** RestResource+    RestResource (..),+    newRestResource,++    -- ** RestResource_Methods+    RestResource_Methods (..),+    newRestResource_Methods,++    -- ** RestResource_Resources+    RestResource_Resources (..),+    newRestResource_Resources,+  )+where++import Gogol.Discovery.Internal.Product+import Gogol.Discovery.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @v1@ of the API Discovery Service. This contains the host and root path used as a starting point for constructing service requests.+discoveryService :: Core.ServiceConfig+discoveryService =+  Core.defaultService+    (Core.ServiceId "discovery:v1")+    "www.googleapis.com"
− gen/Network/Google/Discovery.hs
@@ -1,281 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators     #-}--{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module      : Network.Google.Discovery--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Provides information about other Google APIs, such as what APIs are--- available, the resource, and method details for each API.------ /See:/ <https://developers.google.com/discovery/ API Discovery Service Reference>-module Network.Google.Discovery-    (-    -- * Service Configuration-      discoveryService--    -- * API Declaration-    , DiscoveryAPI--    -- * Resources--    -- ** discovery.apis.getRest-    , module Network.Google.Resource.Discovery.APIs.GetRest--    -- ** discovery.apis.list-    , module Network.Google.Resource.Discovery.APIs.List--    -- * Types--    -- ** RestMethodResponse-    , RestMethodResponse-    , restMethodResponse-    , rmrRef--    -- ** RestDescriptionParameters-    , RestDescriptionParameters-    , restDescriptionParameters-    , rdpAddtional--    -- ** RestMethod-    , RestMethod-    , restMethod-    , rmSupportsMediaDownload-    , rmParameterOrder-    , rmMediaUpload-    , rmHTTPMethod-    , rmPath-    , rmResponse-    , rmSupportsMediaUpload-    , rmScopes-    , rmSupportsSubscription-    , rmParameters-    , rmId-    , rmEtagRequired-    , rmUseMediaDownloadService-    , rmDescription-    , rmRequest--    -- ** RestResource-    , RestResource-    , restResource-    , rrResources-    , rrMethods--    -- ** RestDescriptionAuthOAuth2Scopes-    , RestDescriptionAuthOAuth2Scopes-    , restDescriptionAuthOAuth2Scopes-    , rdaoasAddtional--    -- ** RestDescriptionMethods-    , RestDescriptionMethods-    , restDescriptionMethods-    , rdmAddtional--    -- ** DirectoryListItemsItem-    , DirectoryListItemsItem-    , directoryListItemsItem-    , dliiDiscoveryLink-    , dliiPreferred-    , dliiKind-    , dliiIcons-    , dliiName-    , dliiVersion-    , dliiDocumentationLink-    , dliiId-    , dliiLabels-    , dliiTitle-    , dliiDescription-    , dliiDiscoveryRestURL--    -- ** DirectoryListItemsItemIcons-    , DirectoryListItemsItemIcons-    , directoryListItemsItemIcons-    , dliiiX16-    , dliiiX32--    -- ** RestResourceResources-    , RestResourceResources-    , restResourceResources-    , rrrAddtional--    -- ** RestDescriptionAuthOAuth2-    , RestDescriptionAuthOAuth2-    , restDescriptionAuthOAuth2-    , rdaoaScopes--    -- ** RestDescriptionAuthOAuth2ScopesAdditional-    , RestDescriptionAuthOAuth2ScopesAdditional-    , restDescriptionAuthOAuth2ScopesAdditional-    , rdaoasaDescription--    -- ** RestMethodMediaUploadProtocolsSimple-    , RestMethodMediaUploadProtocolsSimple-    , restMethodMediaUploadProtocolsSimple-    , rmmupsPath-    , rmmupsMultiPart--    -- ** RestDescriptionIcons-    , RestDescriptionIcons-    , restDescriptionIcons-    , rdiX16-    , rdiX32--    -- ** JSONSchemaVariant-    , JSONSchemaVariant-    , jsonSchemaVariant-    , jsvDiscriminant-    , jsvMap--    -- ** RestResourceMethods-    , RestResourceMethods-    , restResourceMethods-    , rrmAddtional--    -- ** RestDescriptionAuth-    , RestDescriptionAuth-    , restDescriptionAuth-    , rdaOAuth2--    -- ** RestDescription-    , RestDescription-    , restDescription-    , rdEtag-    , rdSchemas-    , rdServicePath-    , rdBasePath-    , rdKind-    , rdExponentialBackoffDefault-    , rdAuth-    , rdIcons-    , rdBaseURL-    , rdProtocol-    , rdOwnerName-    , rdResources-    , rdOwnerDomain-    , rdBatchPath-    , rdMethods-    , rdName-    , rdPackagePath-    , rdFeatures-    , rdVersionModule-    , rdVersion-    , rdParameters-    , rdDocumentationLink-    , rdRootURL-    , rdId-    , rdCanonicalName-    , rdLabels-    , rdDiscoveryVersion-    , rdTitle-    , rdRevision-    , rdDescription--    -- ** JSONSchema-    , JSONSchema-    , jsonSchema-    , jsAnnotations-    , jsVariant-    , jsLocation-    , jsRef-    , jsPattern-    , jsMaximum-    , jsDefault-    , jsFormat-    , jsItems-    , jsMinimum-    , jsRequired-    , jsId-    , jsAdditionalProperties-    , jsType-    , jsEnum-    , jsRepeated-    , jsReadOnly-    , jsEnumDescriptions-    , jsDescription-    , jsProperties--    -- ** RestDescriptionSchemas-    , RestDescriptionSchemas-    , restDescriptionSchemas-    , rdsAddtional--    -- ** JSONSchemaVariantMapItem-    , JSONSchemaVariantMapItem-    , jsonSchemaVariantMapItem-    , jsvmiRef-    , jsvmiTypeValue--    -- ** RestDescriptionResources-    , RestDescriptionResources-    , restDescriptionResources-    , rdrAddtional--    -- ** RestMethodMediaUploadProtocols-    , RestMethodMediaUploadProtocols-    , restMethodMediaUploadProtocols-    , rmmupSimple-    , rmmupResumable--    -- ** JSONSchemaAnnotations-    , JSONSchemaAnnotations-    , jsonSchemaAnnotations-    , jsaRequired--    -- ** RestMethodParameters-    , RestMethodParameters-    , restMethodParameters-    , rmpAddtional--    -- ** RestMethodMediaUpload-    , RestMethodMediaUpload-    , restMethodMediaUpload-    , rmmuProtocols-    , rmmuAccept-    , rmmuMaxSize--    -- ** JSONSchemaProperties-    , JSONSchemaProperties-    , jsonSchemaProperties-    , jspAddtional--    -- ** RestMethodMediaUploadProtocolsResumable-    , RestMethodMediaUploadProtocolsResumable-    , restMethodMediaUploadProtocolsResumable-    , rmmuprPath-    , rmmuprMultiPart--    -- ** DirectoryList-    , DirectoryList-    , directoryList-    , dlKind-    , dlItems-    , dlDiscoveryVersion--    -- ** RestMethodRequest-    , RestMethodRequest-    , restMethodRequest-    , rRef-    , rParameterName-    ) where--import           Network.Google.Discovery.Types-import           Network.Google.Prelude-import           Network.Google.Resource.Discovery.APIs.GetRest-import           Network.Google.Resource.Discovery.APIs.List--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the API Discovery Service service.-type DiscoveryAPI =-     APIsListResource :<|> APIsGetRestResource
− gen/Network/Google/Discovery/Types.hs
@@ -1,262 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Discovery.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.Discovery.Types-    (-    -- * Service Configuration-      discoveryService--    -- * RestMethodResponse-    , RestMethodResponse-    , restMethodResponse-    , rmrRef--    -- * RestDescriptionParameters-    , RestDescriptionParameters-    , restDescriptionParameters-    , rdpAddtional--    -- * RestMethod-    , RestMethod-    , restMethod-    , rmSupportsMediaDownload-    , rmParameterOrder-    , rmMediaUpload-    , rmHTTPMethod-    , rmPath-    , rmResponse-    , rmSupportsMediaUpload-    , rmScopes-    , rmSupportsSubscription-    , rmParameters-    , rmId-    , rmEtagRequired-    , rmUseMediaDownloadService-    , rmDescription-    , rmRequest--    -- * RestResource-    , RestResource-    , restResource-    , rrResources-    , rrMethods--    -- * RestDescriptionAuthOAuth2Scopes-    , RestDescriptionAuthOAuth2Scopes-    , restDescriptionAuthOAuth2Scopes-    , rdaoasAddtional--    -- * RestDescriptionMethods-    , RestDescriptionMethods-    , restDescriptionMethods-    , rdmAddtional--    -- * DirectoryListItemsItem-    , DirectoryListItemsItem-    , directoryListItemsItem-    , dliiDiscoveryLink-    , dliiPreferred-    , dliiKind-    , dliiIcons-    , dliiName-    , dliiVersion-    , dliiDocumentationLink-    , dliiId-    , dliiLabels-    , dliiTitle-    , dliiDescription-    , dliiDiscoveryRestURL--    -- * DirectoryListItemsItemIcons-    , DirectoryListItemsItemIcons-    , directoryListItemsItemIcons-    , dliiiX16-    , dliiiX32--    -- * RestResourceResources-    , RestResourceResources-    , restResourceResources-    , rrrAddtional--    -- * RestDescriptionAuthOAuth2-    , RestDescriptionAuthOAuth2-    , restDescriptionAuthOAuth2-    , rdaoaScopes--    -- * RestDescriptionAuthOAuth2ScopesAdditional-    , RestDescriptionAuthOAuth2ScopesAdditional-    , restDescriptionAuthOAuth2ScopesAdditional-    , rdaoasaDescription--    -- * RestMethodMediaUploadProtocolsSimple-    , RestMethodMediaUploadProtocolsSimple-    , restMethodMediaUploadProtocolsSimple-    , rmmupsPath-    , rmmupsMultiPart--    -- * RestDescriptionIcons-    , RestDescriptionIcons-    , restDescriptionIcons-    , rdiX16-    , rdiX32--    -- * JSONSchemaVariant-    , JSONSchemaVariant-    , jsonSchemaVariant-    , jsvDiscriminant-    , jsvMap--    -- * RestResourceMethods-    , RestResourceMethods-    , restResourceMethods-    , rrmAddtional--    -- * RestDescriptionAuth-    , RestDescriptionAuth-    , restDescriptionAuth-    , rdaOAuth2--    -- * RestDescription-    , RestDescription-    , restDescription-    , rdEtag-    , rdSchemas-    , rdServicePath-    , rdBasePath-    , rdKind-    , rdExponentialBackoffDefault-    , rdAuth-    , rdIcons-    , rdBaseURL-    , rdProtocol-    , rdOwnerName-    , rdResources-    , rdOwnerDomain-    , rdBatchPath-    , rdMethods-    , rdName-    , rdPackagePath-    , rdFeatures-    , rdVersionModule-    , rdVersion-    , rdParameters-    , rdDocumentationLink-    , rdRootURL-    , rdId-    , rdCanonicalName-    , rdLabels-    , rdDiscoveryVersion-    , rdTitle-    , rdRevision-    , rdDescription--    -- * JSONSchema-    , JSONSchema-    , jsonSchema-    , jsAnnotations-    , jsVariant-    , jsLocation-    , jsRef-    , jsPattern-    , jsMaximum-    , jsDefault-    , jsFormat-    , jsItems-    , jsMinimum-    , jsRequired-    , jsId-    , jsAdditionalProperties-    , jsType-    , jsEnum-    , jsRepeated-    , jsReadOnly-    , jsEnumDescriptions-    , jsDescription-    , jsProperties--    -- * RestDescriptionSchemas-    , RestDescriptionSchemas-    , restDescriptionSchemas-    , rdsAddtional--    -- * JSONSchemaVariantMapItem-    , JSONSchemaVariantMapItem-    , jsonSchemaVariantMapItem-    , jsvmiRef-    , jsvmiTypeValue--    -- * RestDescriptionResources-    , RestDescriptionResources-    , restDescriptionResources-    , rdrAddtional--    -- * RestMethodMediaUploadProtocols-    , RestMethodMediaUploadProtocols-    , restMethodMediaUploadProtocols-    , rmmupSimple-    , rmmupResumable--    -- * JSONSchemaAnnotations-    , JSONSchemaAnnotations-    , jsonSchemaAnnotations-    , jsaRequired--    -- * RestMethodParameters-    , RestMethodParameters-    , restMethodParameters-    , rmpAddtional--    -- * RestMethodMediaUpload-    , RestMethodMediaUpload-    , restMethodMediaUpload-    , rmmuProtocols-    , rmmuAccept-    , rmmuMaxSize--    -- * JSONSchemaProperties-    , JSONSchemaProperties-    , jsonSchemaProperties-    , jspAddtional--    -- * RestMethodMediaUploadProtocolsResumable-    , RestMethodMediaUploadProtocolsResumable-    , restMethodMediaUploadProtocolsResumable-    , rmmuprPath-    , rmmuprMultiPart--    -- * DirectoryList-    , DirectoryList-    , directoryList-    , dlKind-    , dlItems-    , dlDiscoveryVersion--    -- * RestMethodRequest-    , RestMethodRequest-    , restMethodRequest-    , rRef-    , rParameterName-    ) where--import           Network.Google.Discovery.Types.Product-import           Network.Google.Discovery.Types.Sum-import           Network.Google.Prelude---- | Default request referring to version 'v1' of the API Discovery Service. This contains the host and root path used as a starting point for constructing service requests.-discoveryService :: ServiceConfig-discoveryService-  = defaultService (ServiceId "discovery:v1")-      "www.googleapis.com"
− gen/Network/Google/Discovery/Types/Product.hs
@@ -1,2119 +0,0 @@-{-# 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.Discovery.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.Discovery.Types.Product where--import           Network.Google.Discovery.Types.Sum-import           Network.Google.Prelude---- | The schema for the response.------ /See:/ 'restMethodResponse' smart constructor.-newtype RestMethodResponse =-  RestMethodResponse'-    { _rmrRef :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmrRef'-restMethodResponse-    :: RestMethodResponse-restMethodResponse = RestMethodResponse' {_rmrRef = Nothing}----- | Schema ID for the response schema.-rmrRef :: Lens' RestMethodResponse (Maybe Text)-rmrRef = lens _rmrRef (\ s a -> s{_rmrRef = a})--instance FromJSON RestMethodResponse where-        parseJSON-          = withObject "RestMethodResponse"-              (\ o -> RestMethodResponse' <$> (o .:? "$ref"))--instance ToJSON RestMethodResponse where-        toJSON RestMethodResponse'{..}-          = object (catMaybes [("$ref" .=) <$> _rmrRef])---- | Common parameters that apply across all apis.------ /See:/ 'restDescriptionParameters' smart constructor.-newtype RestDescriptionParameters =-  RestDescriptionParameters'-    { _rdpAddtional :: HashMap Text JSONSchema-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdpAddtional'-restDescriptionParameters-    :: HashMap Text JSONSchema -- ^ 'rdpAddtional'-    -> RestDescriptionParameters-restDescriptionParameters pRdpAddtional_ =-  RestDescriptionParameters' {_rdpAddtional = _Coerce # pRdpAddtional_}----- | Description of a single parameter.-rdpAddtional :: Lens' RestDescriptionParameters (HashMap Text JSONSchema)-rdpAddtional-  = lens _rdpAddtional (\ s a -> s{_rdpAddtional = a})-      . _Coerce--instance FromJSON RestDescriptionParameters where-        parseJSON-          = withObject "RestDescriptionParameters"-              (\ o ->-                 RestDescriptionParameters' <$> (parseJSONObject o))--instance ToJSON RestDescriptionParameters where-        toJSON = toJSON . _rdpAddtional------- /See:/ 'restMethod' smart constructor.-data RestMethod =-  RestMethod'-    { _rmSupportsMediaDownload   :: !(Maybe Bool)-    , _rmParameterOrder          :: !(Maybe [Text])-    , _rmMediaUpload             :: !(Maybe RestMethodMediaUpload)-    , _rmHTTPMethod              :: !(Maybe Text)-    , _rmPath                    :: !(Maybe Text)-    , _rmResponse                :: !(Maybe RestMethodResponse)-    , _rmSupportsMediaUpload     :: !(Maybe Bool)-    , _rmScopes                  :: !(Maybe [Text])-    , _rmSupportsSubscription    :: !(Maybe Bool)-    , _rmParameters              :: !(Maybe RestMethodParameters)-    , _rmId                      :: !(Maybe Text)-    , _rmEtagRequired            :: !(Maybe Bool)-    , _rmUseMediaDownloadService :: !(Maybe Bool)-    , _rmDescription             :: !(Maybe Text)-    , _rmRequest                 :: !(Maybe RestMethodRequest)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethod' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmSupportsMediaDownload'------ * 'rmParameterOrder'------ * 'rmMediaUpload'------ * 'rmHTTPMethod'------ * 'rmPath'------ * 'rmResponse'------ * 'rmSupportsMediaUpload'------ * 'rmScopes'------ * 'rmSupportsSubscription'------ * 'rmParameters'------ * 'rmId'------ * 'rmEtagRequired'------ * 'rmUseMediaDownloadService'------ * 'rmDescription'------ * 'rmRequest'-restMethod-    :: RestMethod-restMethod =-  RestMethod'-    { _rmSupportsMediaDownload = Nothing-    , _rmParameterOrder = Nothing-    , _rmMediaUpload = Nothing-    , _rmHTTPMethod = Nothing-    , _rmPath = Nothing-    , _rmResponse = Nothing-    , _rmSupportsMediaUpload = Nothing-    , _rmScopes = Nothing-    , _rmSupportsSubscription = Nothing-    , _rmParameters = Nothing-    , _rmId = Nothing-    , _rmEtagRequired = Nothing-    , _rmUseMediaDownloadService = Nothing-    , _rmDescription = Nothing-    , _rmRequest = Nothing-    }----- | Whether this method supports media downloads.-rmSupportsMediaDownload :: Lens' RestMethod (Maybe Bool)-rmSupportsMediaDownload-  = lens _rmSupportsMediaDownload-      (\ s a -> s{_rmSupportsMediaDownload = a})---- | Ordered list of required parameters, serves as a hint to clients on how--- to structure their method signatures. The array is ordered such that the--- \"most-significant\" parameter appears first.-rmParameterOrder :: Lens' RestMethod [Text]-rmParameterOrder-  = lens _rmParameterOrder-      (\ s a -> s{_rmParameterOrder = a})-      . _Default-      . _Coerce---- | Media upload parameters.-rmMediaUpload :: Lens' RestMethod (Maybe RestMethodMediaUpload)-rmMediaUpload-  = lens _rmMediaUpload-      (\ s a -> s{_rmMediaUpload = a})---- | HTTP method used by this method.-rmHTTPMethod :: Lens' RestMethod (Maybe Text)-rmHTTPMethod-  = lens _rmHTTPMethod (\ s a -> s{_rmHTTPMethod = a})---- | The URI path of this REST method. Should be used in conjunction with the--- basePath property at the api-level.-rmPath :: Lens' RestMethod (Maybe Text)-rmPath = lens _rmPath (\ s a -> s{_rmPath = a})---- | The schema for the response.-rmResponse :: Lens' RestMethod (Maybe RestMethodResponse)-rmResponse-  = lens _rmResponse (\ s a -> s{_rmResponse = a})---- | Whether this method supports media uploads.-rmSupportsMediaUpload :: Lens' RestMethod (Maybe Bool)-rmSupportsMediaUpload-  = lens _rmSupportsMediaUpload-      (\ s a -> s{_rmSupportsMediaUpload = a})---- | OAuth 2.0 scopes applicable to this method.-rmScopes :: Lens' RestMethod [Text]-rmScopes-  = lens _rmScopes (\ s a -> s{_rmScopes = a}) .-      _Default-      . _Coerce---- | Whether this method supports subscriptions.-rmSupportsSubscription :: Lens' RestMethod (Maybe Bool)-rmSupportsSubscription-  = lens _rmSupportsSubscription-      (\ s a -> s{_rmSupportsSubscription = a})---- | Details for all parameters in this method.-rmParameters :: Lens' RestMethod (Maybe RestMethodParameters)-rmParameters-  = lens _rmParameters (\ s a -> s{_rmParameters = a})---- | A unique ID for this method. This property can be used to match methods--- between different versions of Discovery.-rmId :: Lens' RestMethod (Maybe Text)-rmId = lens _rmId (\ s a -> s{_rmId = a})---- | Whether this method requires an ETag to be specified. The ETag is sent--- as an HTTP If-Match or If-None-Match header.-rmEtagRequired :: Lens' RestMethod (Maybe Bool)-rmEtagRequired-  = lens _rmEtagRequired-      (\ s a -> s{_rmEtagRequired = a})---- | Indicates that downloads from this method should use the download--- service URL (i.e. \"\/download\"). Only applies if the method supports--- media download.-rmUseMediaDownloadService :: Lens' RestMethod (Maybe Bool)-rmUseMediaDownloadService-  = lens _rmUseMediaDownloadService-      (\ s a -> s{_rmUseMediaDownloadService = a})---- | Description of this method.-rmDescription :: Lens' RestMethod (Maybe Text)-rmDescription-  = lens _rmDescription-      (\ s a -> s{_rmDescription = a})---- | The schema for the request.-rmRequest :: Lens' RestMethod (Maybe RestMethodRequest)-rmRequest-  = lens _rmRequest (\ s a -> s{_rmRequest = a})--instance FromJSON RestMethod where-        parseJSON-          = withObject "RestMethod"-              (\ o ->-                 RestMethod' <$>-                   (o .:? "supportsMediaDownload") <*>-                     (o .:? "parameterOrder" .!= mempty)-                     <*> (o .:? "mediaUpload")-                     <*> (o .:? "httpMethod")-                     <*> (o .:? "path")-                     <*> (o .:? "response")-                     <*> (o .:? "supportsMediaUpload")-                     <*> (o .:? "scopes" .!= mempty)-                     <*> (o .:? "supportsSubscription")-                     <*> (o .:? "parameters")-                     <*> (o .:? "id")-                     <*> (o .:? "etagRequired")-                     <*> (o .:? "useMediaDownloadService")-                     <*> (o .:? "description")-                     <*> (o .:? "request"))--instance ToJSON RestMethod where-        toJSON RestMethod'{..}-          = object-              (catMaybes-                 [("supportsMediaDownload" .=) <$>-                    _rmSupportsMediaDownload,-                  ("parameterOrder" .=) <$> _rmParameterOrder,-                  ("mediaUpload" .=) <$> _rmMediaUpload,-                  ("httpMethod" .=) <$> _rmHTTPMethod,-                  ("path" .=) <$> _rmPath,-                  ("response" .=) <$> _rmResponse,-                  ("supportsMediaUpload" .=) <$>-                    _rmSupportsMediaUpload,-                  ("scopes" .=) <$> _rmScopes,-                  ("supportsSubscription" .=) <$>-                    _rmSupportsSubscription,-                  ("parameters" .=) <$> _rmParameters,-                  ("id" .=) <$> _rmId,-                  ("etagRequired" .=) <$> _rmEtagRequired,-                  ("useMediaDownloadService" .=) <$>-                    _rmUseMediaDownloadService,-                  ("description" .=) <$> _rmDescription,-                  ("request" .=) <$> _rmRequest])------- /See:/ 'restResource' smart constructor.-data RestResource =-  RestResource'-    { _rrResources :: !(Maybe RestResourceResources)-    , _rrMethods   :: !(Maybe RestResourceMethods)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestResource' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrResources'------ * 'rrMethods'-restResource-    :: RestResource-restResource = RestResource' {_rrResources = Nothing, _rrMethods = Nothing}----- | Sub-resources on this resource.-rrResources :: Lens' RestResource (Maybe RestResourceResources)-rrResources-  = lens _rrResources (\ s a -> s{_rrResources = a})---- | Methods on this resource.-rrMethods :: Lens' RestResource (Maybe RestResourceMethods)-rrMethods-  = lens _rrMethods (\ s a -> s{_rrMethods = a})--instance FromJSON RestResource where-        parseJSON-          = withObject "RestResource"-              (\ o ->-                 RestResource' <$>-                   (o .:? "resources") <*> (o .:? "methods"))--instance ToJSON RestResource where-        toJSON RestResource'{..}-          = object-              (catMaybes-                 [("resources" .=) <$> _rrResources,-                  ("methods" .=) <$> _rrMethods])---- | Available OAuth 2.0 scopes.------ /See:/ 'restDescriptionAuthOAuth2Scopes' smart constructor.-newtype RestDescriptionAuthOAuth2Scopes =-  RestDescriptionAuthOAuth2Scopes'-    { _rdaoasAddtional :: HashMap Text RestDescriptionAuthOAuth2ScopesAdditional-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionAuthOAuth2Scopes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdaoasAddtional'-restDescriptionAuthOAuth2Scopes-    :: HashMap Text RestDescriptionAuthOAuth2ScopesAdditional -- ^ 'rdaoasAddtional'-    -> RestDescriptionAuthOAuth2Scopes-restDescriptionAuthOAuth2Scopes pRdaoasAddtional_ =-  RestDescriptionAuthOAuth2Scopes'-    {_rdaoasAddtional = _Coerce # pRdaoasAddtional_}----- | The scope value.-rdaoasAddtional :: Lens' RestDescriptionAuthOAuth2Scopes (HashMap Text RestDescriptionAuthOAuth2ScopesAdditional)-rdaoasAddtional-  = lens _rdaoasAddtional-      (\ s a -> s{_rdaoasAddtional = a})-      . _Coerce--instance FromJSON RestDescriptionAuthOAuth2Scopes-         where-        parseJSON-          = withObject "RestDescriptionAuthOAuth2Scopes"-              (\ o ->-                 RestDescriptionAuthOAuth2Scopes' <$>-                   (parseJSONObject o))--instance ToJSON RestDescriptionAuthOAuth2Scopes where-        toJSON = toJSON . _rdaoasAddtional---- | API-level methods for this API.------ /See:/ 'restDescriptionMethods' smart constructor.-newtype RestDescriptionMethods =-  RestDescriptionMethods'-    { _rdmAddtional :: HashMap Text RestMethod-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionMethods' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdmAddtional'-restDescriptionMethods-    :: HashMap Text RestMethod -- ^ 'rdmAddtional'-    -> RestDescriptionMethods-restDescriptionMethods pRdmAddtional_ =-  RestDescriptionMethods' {_rdmAddtional = _Coerce # pRdmAddtional_}----- | An individual method description.-rdmAddtional :: Lens' RestDescriptionMethods (HashMap Text RestMethod)-rdmAddtional-  = lens _rdmAddtional (\ s a -> s{_rdmAddtional = a})-      . _Coerce--instance FromJSON RestDescriptionMethods where-        parseJSON-          = withObject "RestDescriptionMethods"-              (\ o ->-                 RestDescriptionMethods' <$> (parseJSONObject o))--instance ToJSON RestDescriptionMethods where-        toJSON = toJSON . _rdmAddtional------- /See:/ 'directoryListItemsItem' smart constructor.-data DirectoryListItemsItem =-  DirectoryListItemsItem'-    { _dliiDiscoveryLink     :: !(Maybe Text)-    , _dliiPreferred         :: !(Maybe Bool)-    , _dliiKind              :: !Text-    , _dliiIcons             :: !(Maybe DirectoryListItemsItemIcons)-    , _dliiName              :: !(Maybe Text)-    , _dliiVersion           :: !(Maybe Text)-    , _dliiDocumentationLink :: !(Maybe Text)-    , _dliiId                :: !(Maybe Text)-    , _dliiLabels            :: !(Maybe [Text])-    , _dliiTitle             :: !(Maybe Text)-    , _dliiDescription       :: !(Maybe Text)-    , _dliiDiscoveryRestURL  :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DirectoryListItemsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dliiDiscoveryLink'------ * 'dliiPreferred'------ * 'dliiKind'------ * 'dliiIcons'------ * 'dliiName'------ * 'dliiVersion'------ * 'dliiDocumentationLink'------ * 'dliiId'------ * 'dliiLabels'------ * 'dliiTitle'------ * 'dliiDescription'------ * 'dliiDiscoveryRestURL'-directoryListItemsItem-    :: DirectoryListItemsItem-directoryListItemsItem =-  DirectoryListItemsItem'-    { _dliiDiscoveryLink = Nothing-    , _dliiPreferred = Nothing-    , _dliiKind = "discovery#directoryItem"-    , _dliiIcons = Nothing-    , _dliiName = Nothing-    , _dliiVersion = Nothing-    , _dliiDocumentationLink = Nothing-    , _dliiId = Nothing-    , _dliiLabels = Nothing-    , _dliiTitle = Nothing-    , _dliiDescription = Nothing-    , _dliiDiscoveryRestURL = Nothing-    }----- | A link to the discovery document.-dliiDiscoveryLink :: Lens' DirectoryListItemsItem (Maybe Text)-dliiDiscoveryLink-  = lens _dliiDiscoveryLink-      (\ s a -> s{_dliiDiscoveryLink = a})---- | True if this version is the preferred version to use.-dliiPreferred :: Lens' DirectoryListItemsItem (Maybe Bool)-dliiPreferred-  = lens _dliiPreferred-      (\ s a -> s{_dliiPreferred = a})---- | The kind for this response.-dliiKind :: Lens' DirectoryListItemsItem Text-dliiKind = lens _dliiKind (\ s a -> s{_dliiKind = a})---- | Links to 16x16 and 32x32 icons representing the API.-dliiIcons :: Lens' DirectoryListItemsItem (Maybe DirectoryListItemsItemIcons)-dliiIcons-  = lens _dliiIcons (\ s a -> s{_dliiIcons = a})---- | The name of the API.-dliiName :: Lens' DirectoryListItemsItem (Maybe Text)-dliiName = lens _dliiName (\ s a -> s{_dliiName = a})---- | The version of the API.-dliiVersion :: Lens' DirectoryListItemsItem (Maybe Text)-dliiVersion-  = lens _dliiVersion (\ s a -> s{_dliiVersion = a})---- | A link to human readable documentation for the API.-dliiDocumentationLink :: Lens' DirectoryListItemsItem (Maybe Text)-dliiDocumentationLink-  = lens _dliiDocumentationLink-      (\ s a -> s{_dliiDocumentationLink = a})---- | The id of this API.-dliiId :: Lens' DirectoryListItemsItem (Maybe Text)-dliiId = lens _dliiId (\ s a -> s{_dliiId = a})---- | Labels for the status of this API, such as labs or deprecated.-dliiLabels :: Lens' DirectoryListItemsItem [Text]-dliiLabels-  = lens _dliiLabels (\ s a -> s{_dliiLabels = a}) .-      _Default-      . _Coerce---- | The title of this API.-dliiTitle :: Lens' DirectoryListItemsItem (Maybe Text)-dliiTitle-  = lens _dliiTitle (\ s a -> s{_dliiTitle = a})---- | The description of this API.-dliiDescription :: Lens' DirectoryListItemsItem (Maybe Text)-dliiDescription-  = lens _dliiDescription-      (\ s a -> s{_dliiDescription = a})---- | The URL for the discovery REST document.-dliiDiscoveryRestURL :: Lens' DirectoryListItemsItem (Maybe Text)-dliiDiscoveryRestURL-  = lens _dliiDiscoveryRestURL-      (\ s a -> s{_dliiDiscoveryRestURL = a})--instance FromJSON DirectoryListItemsItem where-        parseJSON-          = withObject "DirectoryListItemsItem"-              (\ o ->-                 DirectoryListItemsItem' <$>-                   (o .:? "discoveryLink") <*> (o .:? "preferred") <*>-                     (o .:? "kind" .!= "discovery#directoryItem")-                     <*> (o .:? "icons")-                     <*> (o .:? "name")-                     <*> (o .:? "version")-                     <*> (o .:? "documentationLink")-                     <*> (o .:? "id")-                     <*> (o .:? "labels" .!= mempty)-                     <*> (o .:? "title")-                     <*> (o .:? "description")-                     <*> (o .:? "discoveryRestUrl"))--instance ToJSON DirectoryListItemsItem where-        toJSON DirectoryListItemsItem'{..}-          = object-              (catMaybes-                 [("discoveryLink" .=) <$> _dliiDiscoveryLink,-                  ("preferred" .=) <$> _dliiPreferred,-                  Just ("kind" .= _dliiKind),-                  ("icons" .=) <$> _dliiIcons,-                  ("name" .=) <$> _dliiName,-                  ("version" .=) <$> _dliiVersion,-                  ("documentationLink" .=) <$> _dliiDocumentationLink,-                  ("id" .=) <$> _dliiId, ("labels" .=) <$> _dliiLabels,-                  ("title" .=) <$> _dliiTitle,-                  ("description" .=) <$> _dliiDescription,-                  ("discoveryRestUrl" .=) <$> _dliiDiscoveryRestURL])---- | Links to 16x16 and 32x32 icons representing the API.------ /See:/ 'directoryListItemsItemIcons' smart constructor.-data DirectoryListItemsItemIcons =-  DirectoryListItemsItemIcons'-    { _dliiiX16 :: !(Maybe Text)-    , _dliiiX32 :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DirectoryListItemsItemIcons' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dliiiX16'------ * 'dliiiX32'-directoryListItemsItemIcons-    :: DirectoryListItemsItemIcons-directoryListItemsItemIcons =-  DirectoryListItemsItemIcons' {_dliiiX16 = Nothing, _dliiiX32 = Nothing}----- | The URL of the 16x16 icon.-dliiiX16 :: Lens' DirectoryListItemsItemIcons (Maybe Text)-dliiiX16 = lens _dliiiX16 (\ s a -> s{_dliiiX16 = a})---- | The URL of the 32x32 icon.-dliiiX32 :: Lens' DirectoryListItemsItemIcons (Maybe Text)-dliiiX32 = lens _dliiiX32 (\ s a -> s{_dliiiX32 = a})--instance FromJSON DirectoryListItemsItemIcons where-        parseJSON-          = withObject "DirectoryListItemsItemIcons"-              (\ o ->-                 DirectoryListItemsItemIcons' <$>-                   (o .:? "x16") <*> (o .:? "x32"))--instance ToJSON DirectoryListItemsItemIcons where-        toJSON DirectoryListItemsItemIcons'{..}-          = object-              (catMaybes-                 [("x16" .=) <$> _dliiiX16, ("x32" .=) <$> _dliiiX32])---- | Sub-resources on this resource.------ /See:/ 'restResourceResources' smart constructor.-newtype RestResourceResources =-  RestResourceResources'-    { _rrrAddtional :: HashMap Text RestResource-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestResourceResources' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrrAddtional'-restResourceResources-    :: HashMap Text RestResource -- ^ 'rrrAddtional'-    -> RestResourceResources-restResourceResources pRrrAddtional_ =-  RestResourceResources' {_rrrAddtional = _Coerce # pRrrAddtional_}----- | Description for any sub-resources on this resource.-rrrAddtional :: Lens' RestResourceResources (HashMap Text RestResource)-rrrAddtional-  = lens _rrrAddtional (\ s a -> s{_rrrAddtional = a})-      . _Coerce--instance FromJSON RestResourceResources where-        parseJSON-          = withObject "RestResourceResources"-              (\ o ->-                 RestResourceResources' <$> (parseJSONObject o))--instance ToJSON RestResourceResources where-        toJSON = toJSON . _rrrAddtional---- | OAuth 2.0 authentication information.------ /See:/ 'restDescriptionAuthOAuth2' smart constructor.-newtype RestDescriptionAuthOAuth2 =-  RestDescriptionAuthOAuth2'-    { _rdaoaScopes :: Maybe RestDescriptionAuthOAuth2Scopes-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionAuthOAuth2' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdaoaScopes'-restDescriptionAuthOAuth2-    :: RestDescriptionAuthOAuth2-restDescriptionAuthOAuth2 = RestDescriptionAuthOAuth2' {_rdaoaScopes = Nothing}----- | Available OAuth 2.0 scopes.-rdaoaScopes :: Lens' RestDescriptionAuthOAuth2 (Maybe RestDescriptionAuthOAuth2Scopes)-rdaoaScopes-  = lens _rdaoaScopes (\ s a -> s{_rdaoaScopes = a})--instance FromJSON RestDescriptionAuthOAuth2 where-        parseJSON-          = withObject "RestDescriptionAuthOAuth2"-              (\ o ->-                 RestDescriptionAuthOAuth2' <$> (o .:? "scopes"))--instance ToJSON RestDescriptionAuthOAuth2 where-        toJSON RestDescriptionAuthOAuth2'{..}-          = object (catMaybes [("scopes" .=) <$> _rdaoaScopes])---- | The scope value.------ /See:/ 'restDescriptionAuthOAuth2ScopesAdditional' smart constructor.-newtype RestDescriptionAuthOAuth2ScopesAdditional =-  RestDescriptionAuthOAuth2ScopesAdditional'-    { _rdaoasaDescription :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionAuthOAuth2ScopesAdditional' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdaoasaDescription'-restDescriptionAuthOAuth2ScopesAdditional-    :: RestDescriptionAuthOAuth2ScopesAdditional-restDescriptionAuthOAuth2ScopesAdditional =-  RestDescriptionAuthOAuth2ScopesAdditional' {_rdaoasaDescription = Nothing}----- | Description of scope.-rdaoasaDescription :: Lens' RestDescriptionAuthOAuth2ScopesAdditional (Maybe Text)-rdaoasaDescription-  = lens _rdaoasaDescription-      (\ s a -> s{_rdaoasaDescription = a})--instance FromJSON-           RestDescriptionAuthOAuth2ScopesAdditional-         where-        parseJSON-          = withObject-              "RestDescriptionAuthOAuth2ScopesAdditional"-              (\ o ->-                 RestDescriptionAuthOAuth2ScopesAdditional' <$>-                   (o .:? "description"))--instance ToJSON-           RestDescriptionAuthOAuth2ScopesAdditional-         where-        toJSON RestDescriptionAuthOAuth2ScopesAdditional'{..}-          = object-              (catMaybes-                 [("description" .=) <$> _rdaoasaDescription])---- | Supports uploading as a single HTTP request.------ /See:/ 'restMethodMediaUploadProtocolsSimple' smart constructor.-data RestMethodMediaUploadProtocolsSimple =-  RestMethodMediaUploadProtocolsSimple'-    { _rmmupsPath      :: !(Maybe Text)-    , _rmmupsMultiPart :: !Bool-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodMediaUploadProtocolsSimple' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmmupsPath'------ * 'rmmupsMultiPart'-restMethodMediaUploadProtocolsSimple-    :: RestMethodMediaUploadProtocolsSimple-restMethodMediaUploadProtocolsSimple =-  RestMethodMediaUploadProtocolsSimple'-    {_rmmupsPath = Nothing, _rmmupsMultiPart = True}----- | The URI path to be used for upload. Should be used in conjunction with--- the basePath property at the api-level.-rmmupsPath :: Lens' RestMethodMediaUploadProtocolsSimple (Maybe Text)-rmmupsPath-  = lens _rmmupsPath (\ s a -> s{_rmmupsPath = a})---- | True if this endpoint supports upload multipart media.-rmmupsMultiPart :: Lens' RestMethodMediaUploadProtocolsSimple Bool-rmmupsMultiPart-  = lens _rmmupsMultiPart-      (\ s a -> s{_rmmupsMultiPart = a})--instance FromJSON-           RestMethodMediaUploadProtocolsSimple-         where-        parseJSON-          = withObject "RestMethodMediaUploadProtocolsSimple"-              (\ o ->-                 RestMethodMediaUploadProtocolsSimple' <$>-                   (o .:? "path") <*> (o .:? "multipart" .!= True))--instance ToJSON RestMethodMediaUploadProtocolsSimple-         where-        toJSON RestMethodMediaUploadProtocolsSimple'{..}-          = object-              (catMaybes-                 [("path" .=) <$> _rmmupsPath,-                  Just ("multipart" .= _rmmupsMultiPart)])---- | Links to 16x16 and 32x32 icons representing the API.------ /See:/ 'restDescriptionIcons' smart constructor.-data RestDescriptionIcons =-  RestDescriptionIcons'-    { _rdiX16 :: !(Maybe Text)-    , _rdiX32 :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionIcons' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdiX16'------ * 'rdiX32'-restDescriptionIcons-    :: RestDescriptionIcons-restDescriptionIcons =-  RestDescriptionIcons' {_rdiX16 = Nothing, _rdiX32 = Nothing}----- | The URL of the 16x16 icon.-rdiX16 :: Lens' RestDescriptionIcons (Maybe Text)-rdiX16 = lens _rdiX16 (\ s a -> s{_rdiX16 = a})---- | The URL of the 32x32 icon.-rdiX32 :: Lens' RestDescriptionIcons (Maybe Text)-rdiX32 = lens _rdiX32 (\ s a -> s{_rdiX32 = a})--instance FromJSON RestDescriptionIcons where-        parseJSON-          = withObject "RestDescriptionIcons"-              (\ o ->-                 RestDescriptionIcons' <$>-                   (o .:? "x16") <*> (o .:? "x32"))--instance ToJSON RestDescriptionIcons where-        toJSON RestDescriptionIcons'{..}-          = object-              (catMaybes-                 [("x16" .=) <$> _rdiX16, ("x32" .=) <$> _rdiX32])---- | In a variant data type, the value of one property is used to determine--- how to interpret the entire entity. Its value must exist in a map of--- descriminant values to schema names.------ /See:/ 'jsonSchemaVariant' smart constructor.-data JSONSchemaVariant =-  JSONSchemaVariant'-    { _jsvDiscriminant :: !(Maybe Text)-    , _jsvMap          :: !(Maybe [JSONSchemaVariantMapItem])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONSchemaVariant' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jsvDiscriminant'------ * 'jsvMap'-jsonSchemaVariant-    :: JSONSchemaVariant-jsonSchemaVariant =-  JSONSchemaVariant' {_jsvDiscriminant = Nothing, _jsvMap = Nothing}----- | The name of the type discriminant property.-jsvDiscriminant :: Lens' JSONSchemaVariant (Maybe Text)-jsvDiscriminant-  = lens _jsvDiscriminant-      (\ s a -> s{_jsvDiscriminant = a})---- | The map of discriminant value to schema to use for parsing..-jsvMap :: Lens' JSONSchemaVariant [JSONSchemaVariantMapItem]-jsvMap-  = lens _jsvMap (\ s a -> s{_jsvMap = a}) . _Default .-      _Coerce--instance FromJSON JSONSchemaVariant where-        parseJSON-          = withObject "JSONSchemaVariant"-              (\ o ->-                 JSONSchemaVariant' <$>-                   (o .:? "discriminant") <*> (o .:? "map" .!= mempty))--instance ToJSON JSONSchemaVariant where-        toJSON JSONSchemaVariant'{..}-          = object-              (catMaybes-                 [("discriminant" .=) <$> _jsvDiscriminant,-                  ("map" .=) <$> _jsvMap])---- | Methods on this resource.------ /See:/ 'restResourceMethods' smart constructor.-newtype RestResourceMethods =-  RestResourceMethods'-    { _rrmAddtional :: HashMap Text RestMethod-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestResourceMethods' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrmAddtional'-restResourceMethods-    :: HashMap Text RestMethod -- ^ 'rrmAddtional'-    -> RestResourceMethods-restResourceMethods pRrmAddtional_ =-  RestResourceMethods' {_rrmAddtional = _Coerce # pRrmAddtional_}----- | Description for any methods on this resource.-rrmAddtional :: Lens' RestResourceMethods (HashMap Text RestMethod)-rrmAddtional-  = lens _rrmAddtional (\ s a -> s{_rrmAddtional = a})-      . _Coerce--instance FromJSON RestResourceMethods where-        parseJSON-          = withObject "RestResourceMethods"-              (\ o -> RestResourceMethods' <$> (parseJSONObject o))--instance ToJSON RestResourceMethods where-        toJSON = toJSON . _rrmAddtional---- | Authentication information.------ /See:/ 'restDescriptionAuth' smart constructor.-newtype RestDescriptionAuth =-  RestDescriptionAuth'-    { _rdaOAuth2 :: Maybe RestDescriptionAuthOAuth2-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionAuth' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdaOAuth2'-restDescriptionAuth-    :: RestDescriptionAuth-restDescriptionAuth = RestDescriptionAuth' {_rdaOAuth2 = Nothing}----- | OAuth 2.0 authentication information.-rdaOAuth2 :: Lens' RestDescriptionAuth (Maybe RestDescriptionAuthOAuth2)-rdaOAuth2-  = lens _rdaOAuth2 (\ s a -> s{_rdaOAuth2 = a})--instance FromJSON RestDescriptionAuth where-        parseJSON-          = withObject "RestDescriptionAuth"-              (\ o -> RestDescriptionAuth' <$> (o .:? "oauth2"))--instance ToJSON RestDescriptionAuth where-        toJSON RestDescriptionAuth'{..}-          = object (catMaybes [("oauth2" .=) <$> _rdaOAuth2])------- /See:/ 'restDescription' smart constructor.-data RestDescription =-  RestDescription'-    { _rdEtag                      :: !(Maybe Text)-    , _rdSchemas                   :: !(Maybe RestDescriptionSchemas)-    , _rdServicePath               :: !(Maybe Text)-    , _rdBasePath                  :: !(Maybe Text)-    , _rdKind                      :: !Text-    , _rdExponentialBackoffDefault :: !(Maybe Bool)-    , _rdAuth                      :: !(Maybe RestDescriptionAuth)-    , _rdIcons                     :: !(Maybe RestDescriptionIcons)-    , _rdBaseURL                   :: !(Maybe Text)-    , _rdProtocol                  :: !Text-    , _rdOwnerName                 :: !(Maybe Text)-    , _rdResources                 :: !(Maybe RestDescriptionResources)-    , _rdOwnerDomain               :: !(Maybe Text)-    , _rdBatchPath                 :: !(Maybe Text)-    , _rdMethods                   :: !(Maybe RestDescriptionMethods)-    , _rdName                      :: !(Maybe Text)-    , _rdPackagePath               :: !(Maybe Text)-    , _rdFeatures                  :: !(Maybe [Text])-    , _rdVersionModule             :: !(Maybe Bool)-    , _rdVersion                   :: !(Maybe Text)-    , _rdParameters                :: !(Maybe RestDescriptionParameters)-    , _rdDocumentationLink         :: !(Maybe Text)-    , _rdRootURL                   :: !(Maybe Text)-    , _rdId                        :: !(Maybe Text)-    , _rdCanonicalName             :: !(Maybe Text)-    , _rdLabels                    :: !(Maybe [Text])-    , _rdDiscoveryVersion          :: !Text-    , _rdTitle                     :: !(Maybe Text)-    , _rdRevision                  :: !(Maybe Text)-    , _rdDescription               :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdEtag'------ * 'rdSchemas'------ * 'rdServicePath'------ * 'rdBasePath'------ * 'rdKind'------ * 'rdExponentialBackoffDefault'------ * 'rdAuth'------ * 'rdIcons'------ * 'rdBaseURL'------ * 'rdProtocol'------ * 'rdOwnerName'------ * 'rdResources'------ * 'rdOwnerDomain'------ * 'rdBatchPath'------ * 'rdMethods'------ * 'rdName'------ * 'rdPackagePath'------ * 'rdFeatures'------ * 'rdVersionModule'------ * 'rdVersion'------ * 'rdParameters'------ * 'rdDocumentationLink'------ * 'rdRootURL'------ * 'rdId'------ * 'rdCanonicalName'------ * 'rdLabels'------ * 'rdDiscoveryVersion'------ * 'rdTitle'------ * 'rdRevision'------ * 'rdDescription'-restDescription-    :: RestDescription-restDescription =-  RestDescription'-    { _rdEtag = Nothing-    , _rdSchemas = Nothing-    , _rdServicePath = Nothing-    , _rdBasePath = Nothing-    , _rdKind = "discovery#restDescription"-    , _rdExponentialBackoffDefault = Nothing-    , _rdAuth = Nothing-    , _rdIcons = Nothing-    , _rdBaseURL = Nothing-    , _rdProtocol = "rest"-    , _rdOwnerName = Nothing-    , _rdResources = Nothing-    , _rdOwnerDomain = Nothing-    , _rdBatchPath = Nothing-    , _rdMethods = Nothing-    , _rdName = Nothing-    , _rdPackagePath = Nothing-    , _rdFeatures = Nothing-    , _rdVersionModule = Nothing-    , _rdVersion = Nothing-    , _rdParameters = Nothing-    , _rdDocumentationLink = Nothing-    , _rdRootURL = Nothing-    , _rdId = Nothing-    , _rdCanonicalName = Nothing-    , _rdLabels = Nothing-    , _rdDiscoveryVersion = "v1"-    , _rdTitle = Nothing-    , _rdRevision = Nothing-    , _rdDescription = Nothing-    }----- | The ETag for this response.-rdEtag :: Lens' RestDescription (Maybe Text)-rdEtag = lens _rdEtag (\ s a -> s{_rdEtag = a})---- | The schemas for this API.-rdSchemas :: Lens' RestDescription (Maybe RestDescriptionSchemas)-rdSchemas-  = lens _rdSchemas (\ s a -> s{_rdSchemas = a})---- | The base path for all REST requests.-rdServicePath :: Lens' RestDescription (Maybe Text)-rdServicePath-  = lens _rdServicePath-      (\ s a -> s{_rdServicePath = a})---- | [DEPRECATED] The base path for REST requests.-rdBasePath :: Lens' RestDescription (Maybe Text)-rdBasePath-  = lens _rdBasePath (\ s a -> s{_rdBasePath = a})---- | The kind for this response.-rdKind :: Lens' RestDescription Text-rdKind = lens _rdKind (\ s a -> s{_rdKind = a})---- | Enable exponential backoff for suitable methods in the generated--- clients.-rdExponentialBackoffDefault :: Lens' RestDescription (Maybe Bool)-rdExponentialBackoffDefault-  = lens _rdExponentialBackoffDefault-      (\ s a -> s{_rdExponentialBackoffDefault = a})---- | Authentication information.-rdAuth :: Lens' RestDescription (Maybe RestDescriptionAuth)-rdAuth = lens _rdAuth (\ s a -> s{_rdAuth = a})---- | Links to 16x16 and 32x32 icons representing the API.-rdIcons :: Lens' RestDescription (Maybe RestDescriptionIcons)-rdIcons = lens _rdIcons (\ s a -> s{_rdIcons = a})---- | [DEPRECATED] The base URL for REST requests.-rdBaseURL :: Lens' RestDescription (Maybe Text)-rdBaseURL-  = lens _rdBaseURL (\ s a -> s{_rdBaseURL = a})---- | The protocol described by this document.-rdProtocol :: Lens' RestDescription Text-rdProtocol-  = lens _rdProtocol (\ s a -> s{_rdProtocol = a})---- | The name of the owner of this API. See ownerDomain.-rdOwnerName :: Lens' RestDescription (Maybe Text)-rdOwnerName-  = lens _rdOwnerName (\ s a -> s{_rdOwnerName = a})---- | The resources in this API.-rdResources :: Lens' RestDescription (Maybe RestDescriptionResources)-rdResources-  = lens _rdResources (\ s a -> s{_rdResources = a})---- | The domain of the owner of this API. Together with the ownerName and a--- packagePath values, this can be used to generate a library for this API--- which would have a unique fully qualified name.-rdOwnerDomain :: Lens' RestDescription (Maybe Text)-rdOwnerDomain-  = lens _rdOwnerDomain-      (\ s a -> s{_rdOwnerDomain = a})---- | The path for REST batch requests.-rdBatchPath :: Lens' RestDescription (Maybe Text)-rdBatchPath-  = lens _rdBatchPath (\ s a -> s{_rdBatchPath = a})---- | API-level methods for this API.-rdMethods :: Lens' RestDescription (Maybe RestDescriptionMethods)-rdMethods-  = lens _rdMethods (\ s a -> s{_rdMethods = a})---- | The name of this API.-rdName :: Lens' RestDescription (Maybe Text)-rdName = lens _rdName (\ s a -> s{_rdName = a})---- | The package of the owner of this API. See ownerDomain.-rdPackagePath :: Lens' RestDescription (Maybe Text)-rdPackagePath-  = lens _rdPackagePath-      (\ s a -> s{_rdPackagePath = a})---- | A list of supported features for this API.-rdFeatures :: Lens' RestDescription [Text]-rdFeatures-  = lens _rdFeatures (\ s a -> s{_rdFeatures = a}) .-      _Default-      . _Coerce--rdVersionModule :: Lens' RestDescription (Maybe Bool)-rdVersionModule-  = lens _rdVersionModule-      (\ s a -> s{_rdVersionModule = a})---- | The version of this API.-rdVersion :: Lens' RestDescription (Maybe Text)-rdVersion-  = lens _rdVersion (\ s a -> s{_rdVersion = a})---- | Common parameters that apply across all apis.-rdParameters :: Lens' RestDescription (Maybe RestDescriptionParameters)-rdParameters-  = lens _rdParameters (\ s a -> s{_rdParameters = a})---- | A link to human readable documentation for the API.-rdDocumentationLink :: Lens' RestDescription (Maybe Text)-rdDocumentationLink-  = lens _rdDocumentationLink-      (\ s a -> s{_rdDocumentationLink = a})---- | The root URL under which all API services live.-rdRootURL :: Lens' RestDescription (Maybe Text)-rdRootURL-  = lens _rdRootURL (\ s a -> s{_rdRootURL = a})---- | The ID of this API.-rdId :: Lens' RestDescription (Maybe Text)-rdId = lens _rdId (\ s a -> s{_rdId = a})---- | Indicates how the API name should be capitalized and split into various--- parts. Useful for generating pretty class names.-rdCanonicalName :: Lens' RestDescription (Maybe Text)-rdCanonicalName-  = lens _rdCanonicalName-      (\ s a -> s{_rdCanonicalName = a})---- | Labels for the status of this API, such as labs or deprecated.-rdLabels :: Lens' RestDescription [Text]-rdLabels-  = lens _rdLabels (\ s a -> s{_rdLabels = a}) .-      _Default-      . _Coerce---- | Indicate the version of the Discovery API used to generate this doc.-rdDiscoveryVersion :: Lens' RestDescription Text-rdDiscoveryVersion-  = lens _rdDiscoveryVersion-      (\ s a -> s{_rdDiscoveryVersion = a})---- | The title of this API.-rdTitle :: Lens' RestDescription (Maybe Text)-rdTitle = lens _rdTitle (\ s a -> s{_rdTitle = a})---- | The version of this API.-rdRevision :: Lens' RestDescription (Maybe Text)-rdRevision-  = lens _rdRevision (\ s a -> s{_rdRevision = a})---- | The description of this API.-rdDescription :: Lens' RestDescription (Maybe Text)-rdDescription-  = lens _rdDescription-      (\ s a -> s{_rdDescription = a})--instance FromJSON RestDescription where-        parseJSON-          = withObject "RestDescription"-              (\ o ->-                 RestDescription' <$>-                   (o .:? "etag") <*> (o .:? "schemas") <*>-                     (o .:? "servicePath")-                     <*> (o .:? "basePath")-                     <*> (o .:? "kind" .!= "discovery#restDescription")-                     <*> (o .:? "exponentialBackoffDefault")-                     <*> (o .:? "auth")-                     <*> (o .:? "icons")-                     <*> (o .:? "baseUrl")-                     <*> (o .:? "protocol" .!= "rest")-                     <*> (o .:? "ownerName")-                     <*> (o .:? "resources")-                     <*> (o .:? "ownerDomain")-                     <*> (o .:? "batchPath")-                     <*> (o .:? "methods")-                     <*> (o .:? "name")-                     <*> (o .:? "packagePath")-                     <*> (o .:? "features" .!= mempty)-                     <*> (o .:? "version_module")-                     <*> (o .:? "version")-                     <*> (o .:? "parameters")-                     <*> (o .:? "documentationLink")-                     <*> (o .:? "rootUrl")-                     <*> (o .:? "id")-                     <*> (o .:? "canonicalName")-                     <*> (o .:? "labels" .!= mempty)-                     <*> (o .:? "discoveryVersion" .!= "v1")-                     <*> (o .:? "title")-                     <*> (o .:? "revision")-                     <*> (o .:? "description"))--instance ToJSON RestDescription where-        toJSON RestDescription'{..}-          = object-              (catMaybes-                 [("etag" .=) <$> _rdEtag,-                  ("schemas" .=) <$> _rdSchemas,-                  ("servicePath" .=) <$> _rdServicePath,-                  ("basePath" .=) <$> _rdBasePath,-                  Just ("kind" .= _rdKind),-                  ("exponentialBackoffDefault" .=) <$>-                    _rdExponentialBackoffDefault,-                  ("auth" .=) <$> _rdAuth, ("icons" .=) <$> _rdIcons,-                  ("baseUrl" .=) <$> _rdBaseURL,-                  Just ("protocol" .= _rdProtocol),-                  ("ownerName" .=) <$> _rdOwnerName,-                  ("resources" .=) <$> _rdResources,-                  ("ownerDomain" .=) <$> _rdOwnerDomain,-                  ("batchPath" .=) <$> _rdBatchPath,-                  ("methods" .=) <$> _rdMethods,-                  ("name" .=) <$> _rdName,-                  ("packagePath" .=) <$> _rdPackagePath,-                  ("features" .=) <$> _rdFeatures,-                  ("version_module" .=) <$> _rdVersionModule,-                  ("version" .=) <$> _rdVersion,-                  ("parameters" .=) <$> _rdParameters,-                  ("documentationLink" .=) <$> _rdDocumentationLink,-                  ("rootUrl" .=) <$> _rdRootURL, ("id" .=) <$> _rdId,-                  ("canonicalName" .=) <$> _rdCanonicalName,-                  ("labels" .=) <$> _rdLabels,-                  Just ("discoveryVersion" .= _rdDiscoveryVersion),-                  ("title" .=) <$> _rdTitle,-                  ("revision" .=) <$> _rdRevision,-                  ("description" .=) <$> _rdDescription])------- /See:/ 'jsonSchema' smart constructor.-data JSONSchema =-  JSONSchema'-    { _jsAnnotations          :: !(Maybe JSONSchemaAnnotations)-    , _jsVariant              :: !(Maybe JSONSchemaVariant)-    , _jsLocation             :: !(Maybe Text)-    , _jsRef                  :: !(Maybe Text)-    , _jsPattern              :: !(Maybe Text)-    , _jsMaximum              :: !(Maybe Text)-    , _jsDefault              :: !(Maybe Text)-    , _jsFormat               :: !(Maybe Text)-    , _jsItems                :: !(Maybe JSONSchema)-    , _jsMinimum              :: !(Maybe Text)-    , _jsRequired             :: !(Maybe Bool)-    , _jsId                   :: !(Maybe Text)-    , _jsAdditionalProperties :: !(Maybe JSONSchema)-    , _jsType                 :: !(Maybe Text)-    , _jsEnum                 :: !(Maybe [Text])-    , _jsRepeated             :: !(Maybe Bool)-    , _jsReadOnly             :: !(Maybe Bool)-    , _jsEnumDescriptions     :: !(Maybe [Text])-    , _jsDescription          :: !(Maybe Text)-    , _jsProperties           :: !(Maybe JSONSchemaProperties)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONSchema' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jsAnnotations'------ * 'jsVariant'------ * 'jsLocation'------ * 'jsRef'------ * 'jsPattern'------ * 'jsMaximum'------ * 'jsDefault'------ * 'jsFormat'------ * 'jsItems'------ * 'jsMinimum'------ * 'jsRequired'------ * 'jsId'------ * 'jsAdditionalProperties'------ * 'jsType'------ * 'jsEnum'------ * 'jsRepeated'------ * 'jsReadOnly'------ * 'jsEnumDescriptions'------ * 'jsDescription'------ * 'jsProperties'-jsonSchema-    :: JSONSchema-jsonSchema =-  JSONSchema'-    { _jsAnnotations = Nothing-    , _jsVariant = Nothing-    , _jsLocation = Nothing-    , _jsRef = Nothing-    , _jsPattern = Nothing-    , _jsMaximum = Nothing-    , _jsDefault = Nothing-    , _jsFormat = Nothing-    , _jsItems = Nothing-    , _jsMinimum = Nothing-    , _jsRequired = Nothing-    , _jsId = Nothing-    , _jsAdditionalProperties = Nothing-    , _jsType = Nothing-    , _jsEnum = Nothing-    , _jsRepeated = Nothing-    , _jsReadOnly = Nothing-    , _jsEnumDescriptions = Nothing-    , _jsDescription = Nothing-    , _jsProperties = Nothing-    }----- | Additional information about this property.-jsAnnotations :: Lens' JSONSchema (Maybe JSONSchemaAnnotations)-jsAnnotations-  = lens _jsAnnotations-      (\ s a -> s{_jsAnnotations = a})---- | In a variant data type, the value of one property is used to determine--- how to interpret the entire entity. Its value must exist in a map of--- descriminant values to schema names.-jsVariant :: Lens' JSONSchema (Maybe JSONSchemaVariant)-jsVariant-  = lens _jsVariant (\ s a -> s{_jsVariant = a})---- | Whether this parameter goes in the query or the path for REST requests.-jsLocation :: Lens' JSONSchema (Maybe Text)-jsLocation-  = lens _jsLocation (\ s a -> s{_jsLocation = a})---- | A reference to another schema. The value of this property is the \"id\"--- of another schema.-jsRef :: Lens' JSONSchema (Maybe Text)-jsRef = lens _jsRef (\ s a -> s{_jsRef = a})---- | The regular expression this parameter must conform to. Uses Java 6 regex--- format:--- http:\/\/docs.oracle.com\/javase\/6\/docs\/api\/java\/util\/regex\/Pattern.html-jsPattern :: Lens' JSONSchema (Maybe Text)-jsPattern-  = lens _jsPattern (\ s a -> s{_jsPattern = a})---- | The maximum value of this parameter.-jsMaximum :: Lens' JSONSchema (Maybe Text)-jsMaximum-  = lens _jsMaximum (\ s a -> s{_jsMaximum = a})---- | The default value of this property (if one exists).-jsDefault :: Lens' JSONSchema (Maybe Text)-jsDefault-  = lens _jsDefault (\ s a -> s{_jsDefault = a})---- | An additional regular expression or key that helps constrain the value.--- For more details see:--- http:\/\/tools.ietf.org\/html\/draft-zyp-json-schema-03#section-5.23-jsFormat :: Lens' JSONSchema (Maybe Text)-jsFormat = lens _jsFormat (\ s a -> s{_jsFormat = a})---- | If this is a schema for an array, this property is the schema for each--- element in the array.-jsItems :: Lens' JSONSchema (Maybe JSONSchema)-jsItems = lens _jsItems (\ s a -> s{_jsItems = a})---- | The minimum value of this parameter.-jsMinimum :: Lens' JSONSchema (Maybe Text)-jsMinimum-  = lens _jsMinimum (\ s a -> s{_jsMinimum = a})---- | Whether the parameter is required.-jsRequired :: Lens' JSONSchema (Maybe Bool)-jsRequired-  = lens _jsRequired (\ s a -> s{_jsRequired = a})---- | Unique identifier for this schema.-jsId :: Lens' JSONSchema (Maybe Text)-jsId = lens _jsId (\ s a -> s{_jsId = a})---- | If this is a schema for an object, this property is the schema for any--- additional properties with dynamic keys on this object.-jsAdditionalProperties :: Lens' JSONSchema (Maybe JSONSchema)-jsAdditionalProperties-  = lens _jsAdditionalProperties-      (\ s a -> s{_jsAdditionalProperties = a})---- | The value type for this schema. A list of values can be found here:--- http:\/\/tools.ietf.org\/html\/draft-zyp-json-schema-03#section-5.1-jsType :: Lens' JSONSchema (Maybe Text)-jsType = lens _jsType (\ s a -> s{_jsType = a})---- | Values this parameter may take (if it is an enum).-jsEnum :: Lens' JSONSchema [Text]-jsEnum-  = lens _jsEnum (\ s a -> s{_jsEnum = a}) . _Default .-      _Coerce---- | Whether this parameter may appear multiple times.-jsRepeated :: Lens' JSONSchema (Maybe Bool)-jsRepeated-  = lens _jsRepeated (\ s a -> s{_jsRepeated = a})---- | The value is read-only, generated by the service. The value cannot be--- modified by the client. If the value is included in a POST, PUT, or--- PATCH request, it is ignored by the service.-jsReadOnly :: Lens' JSONSchema (Maybe Bool)-jsReadOnly-  = lens _jsReadOnly (\ s a -> s{_jsReadOnly = a})---- | The descriptions for the enums. Each position maps to the corresponding--- value in the \"enum\" array.-jsEnumDescriptions :: Lens' JSONSchema [Text]-jsEnumDescriptions-  = lens _jsEnumDescriptions-      (\ s a -> s{_jsEnumDescriptions = a})-      . _Default-      . _Coerce---- | A description of this object.-jsDescription :: Lens' JSONSchema (Maybe Text)-jsDescription-  = lens _jsDescription-      (\ s a -> s{_jsDescription = a})---- | If this is a schema for an object, list the schema for each property of--- this object.-jsProperties :: Lens' JSONSchema (Maybe JSONSchemaProperties)-jsProperties-  = lens _jsProperties (\ s a -> s{_jsProperties = a})--instance FromJSON JSONSchema where-        parseJSON-          = withObject "JSONSchema"-              (\ o ->-                 JSONSchema' <$>-                   (o .:? "annotations") <*> (o .:? "variant") <*>-                     (o .:? "location")-                     <*> (o .:? "$ref")-                     <*> (o .:? "pattern")-                     <*> (o .:? "maximum")-                     <*> (o .:? "default")-                     <*> (o .:? "format")-                     <*> (o .:? "items")-                     <*> (o .:? "minimum")-                     <*> (o .:? "required")-                     <*> (o .:? "id")-                     <*> (o .:? "additionalProperties")-                     <*> (o .:? "type")-                     <*> (o .:? "enum" .!= mempty)-                     <*> (o .:? "repeated")-                     <*> (o .:? "readOnly")-                     <*> (o .:? "enumDescriptions" .!= mempty)-                     <*> (o .:? "description")-                     <*> (o .:? "properties"))--instance ToJSON JSONSchema where-        toJSON JSONSchema'{..}-          = object-              (catMaybes-                 [("annotations" .=) <$> _jsAnnotations,-                  ("variant" .=) <$> _jsVariant,-                  ("location" .=) <$> _jsLocation,-                  ("$ref" .=) <$> _jsRef,-                  ("pattern" .=) <$> _jsPattern,-                  ("maximum" .=) <$> _jsMaximum,-                  ("default" .=) <$> _jsDefault,-                  ("format" .=) <$> _jsFormat,-                  ("items" .=) <$> _jsItems,-                  ("minimum" .=) <$> _jsMinimum,-                  ("required" .=) <$> _jsRequired, ("id" .=) <$> _jsId,-                  ("additionalProperties" .=) <$>-                    _jsAdditionalProperties,-                  ("type" .=) <$> _jsType, ("enum" .=) <$> _jsEnum,-                  ("repeated" .=) <$> _jsRepeated,-                  ("readOnly" .=) <$> _jsReadOnly,-                  ("enumDescriptions" .=) <$> _jsEnumDescriptions,-                  ("description" .=) <$> _jsDescription,-                  ("properties" .=) <$> _jsProperties])---- | The schemas for this API.------ /See:/ 'restDescriptionSchemas' smart constructor.-newtype RestDescriptionSchemas =-  RestDescriptionSchemas'-    { _rdsAddtional :: HashMap Text JSONSchema-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionSchemas' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdsAddtional'-restDescriptionSchemas-    :: HashMap Text JSONSchema -- ^ 'rdsAddtional'-    -> RestDescriptionSchemas-restDescriptionSchemas pRdsAddtional_ =-  RestDescriptionSchemas' {_rdsAddtional = _Coerce # pRdsAddtional_}----- | An individual schema description.-rdsAddtional :: Lens' RestDescriptionSchemas (HashMap Text JSONSchema)-rdsAddtional-  = lens _rdsAddtional (\ s a -> s{_rdsAddtional = a})-      . _Coerce--instance FromJSON RestDescriptionSchemas where-        parseJSON-          = withObject "RestDescriptionSchemas"-              (\ o ->-                 RestDescriptionSchemas' <$> (parseJSONObject o))--instance ToJSON RestDescriptionSchemas where-        toJSON = toJSON . _rdsAddtional------- /See:/ 'jsonSchemaVariantMapItem' smart constructor.-data JSONSchemaVariantMapItem =-  JSONSchemaVariantMapItem'-    { _jsvmiRef       :: !(Maybe Text)-    , _jsvmiTypeValue :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONSchemaVariantMapItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jsvmiRef'------ * 'jsvmiTypeValue'-jsonSchemaVariantMapItem-    :: JSONSchemaVariantMapItem-jsonSchemaVariantMapItem =-  JSONSchemaVariantMapItem' {_jsvmiRef = Nothing, _jsvmiTypeValue = Nothing}---jsvmiRef :: Lens' JSONSchemaVariantMapItem (Maybe Text)-jsvmiRef = lens _jsvmiRef (\ s a -> s{_jsvmiRef = a})--jsvmiTypeValue :: Lens' JSONSchemaVariantMapItem (Maybe Text)-jsvmiTypeValue-  = lens _jsvmiTypeValue-      (\ s a -> s{_jsvmiTypeValue = a})--instance FromJSON JSONSchemaVariantMapItem where-        parseJSON-          = withObject "JSONSchemaVariantMapItem"-              (\ o ->-                 JSONSchemaVariantMapItem' <$>-                   (o .:? "$ref") <*> (o .:? "type_value"))--instance ToJSON JSONSchemaVariantMapItem where-        toJSON JSONSchemaVariantMapItem'{..}-          = object-              (catMaybes-                 [("$ref" .=) <$> _jsvmiRef,-                  ("type_value" .=) <$> _jsvmiTypeValue])---- | The resources in this API.------ /See:/ 'restDescriptionResources' smart constructor.-newtype RestDescriptionResources =-  RestDescriptionResources'-    { _rdrAddtional :: HashMap Text RestResource-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestDescriptionResources' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdrAddtional'-restDescriptionResources-    :: HashMap Text RestResource -- ^ 'rdrAddtional'-    -> RestDescriptionResources-restDescriptionResources pRdrAddtional_ =-  RestDescriptionResources' {_rdrAddtional = _Coerce # pRdrAddtional_}----- | An individual resource description. Contains methods and sub-resources--- related to this resource.-rdrAddtional :: Lens' RestDescriptionResources (HashMap Text RestResource)-rdrAddtional-  = lens _rdrAddtional (\ s a -> s{_rdrAddtional = a})-      . _Coerce--instance FromJSON RestDescriptionResources where-        parseJSON-          = withObject "RestDescriptionResources"-              (\ o ->-                 RestDescriptionResources' <$> (parseJSONObject o))--instance ToJSON RestDescriptionResources where-        toJSON = toJSON . _rdrAddtional---- | Supported upload protocols.------ /See:/ 'restMethodMediaUploadProtocols' smart constructor.-data RestMethodMediaUploadProtocols =-  RestMethodMediaUploadProtocols'-    { _rmmupSimple    :: !(Maybe RestMethodMediaUploadProtocolsSimple)-    , _rmmupResumable :: !(Maybe RestMethodMediaUploadProtocolsResumable)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodMediaUploadProtocols' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmmupSimple'------ * 'rmmupResumable'-restMethodMediaUploadProtocols-    :: RestMethodMediaUploadProtocols-restMethodMediaUploadProtocols =-  RestMethodMediaUploadProtocols'-    {_rmmupSimple = Nothing, _rmmupResumable = Nothing}----- | Supports uploading as a single HTTP request.-rmmupSimple :: Lens' RestMethodMediaUploadProtocols (Maybe RestMethodMediaUploadProtocolsSimple)-rmmupSimple-  = lens _rmmupSimple (\ s a -> s{_rmmupSimple = a})---- | Supports the Resumable Media Upload protocol.-rmmupResumable :: Lens' RestMethodMediaUploadProtocols (Maybe RestMethodMediaUploadProtocolsResumable)-rmmupResumable-  = lens _rmmupResumable-      (\ s a -> s{_rmmupResumable = a})--instance FromJSON RestMethodMediaUploadProtocols-         where-        parseJSON-          = withObject "RestMethodMediaUploadProtocols"-              (\ o ->-                 RestMethodMediaUploadProtocols' <$>-                   (o .:? "simple") <*> (o .:? "resumable"))--instance ToJSON RestMethodMediaUploadProtocols where-        toJSON RestMethodMediaUploadProtocols'{..}-          = object-              (catMaybes-                 [("simple" .=) <$> _rmmupSimple,-                  ("resumable" .=) <$> _rmmupResumable])---- | Additional information about this property.------ /See:/ 'jsonSchemaAnnotations' smart constructor.-newtype JSONSchemaAnnotations =-  JSONSchemaAnnotations'-    { _jsaRequired :: Maybe [Text]-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONSchemaAnnotations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jsaRequired'-jsonSchemaAnnotations-    :: JSONSchemaAnnotations-jsonSchemaAnnotations = JSONSchemaAnnotations' {_jsaRequired = Nothing}----- | A list of methods for which this property is required on requests.-jsaRequired :: Lens' JSONSchemaAnnotations [Text]-jsaRequired-  = lens _jsaRequired (\ s a -> s{_jsaRequired = a}) .-      _Default-      . _Coerce--instance FromJSON JSONSchemaAnnotations where-        parseJSON-          = withObject "JSONSchemaAnnotations"-              (\ o ->-                 JSONSchemaAnnotations' <$>-                   (o .:? "required" .!= mempty))--instance ToJSON JSONSchemaAnnotations where-        toJSON JSONSchemaAnnotations'{..}-          = object-              (catMaybes [("required" .=) <$> _jsaRequired])---- | Details for all parameters in this method.------ /See:/ 'restMethodParameters' smart constructor.-newtype RestMethodParameters =-  RestMethodParameters'-    { _rmpAddtional :: HashMap Text JSONSchema-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmpAddtional'-restMethodParameters-    :: HashMap Text JSONSchema -- ^ 'rmpAddtional'-    -> RestMethodParameters-restMethodParameters pRmpAddtional_ =-  RestMethodParameters' {_rmpAddtional = _Coerce # pRmpAddtional_}----- | Details for a single parameter in this method.-rmpAddtional :: Lens' RestMethodParameters (HashMap Text JSONSchema)-rmpAddtional-  = lens _rmpAddtional (\ s a -> s{_rmpAddtional = a})-      . _Coerce--instance FromJSON RestMethodParameters where-        parseJSON-          = withObject "RestMethodParameters"-              (\ o ->-                 RestMethodParameters' <$> (parseJSONObject o))--instance ToJSON RestMethodParameters where-        toJSON = toJSON . _rmpAddtional---- | Media upload parameters.------ /See:/ 'restMethodMediaUpload' smart constructor.-data RestMethodMediaUpload =-  RestMethodMediaUpload'-    { _rmmuProtocols :: !(Maybe RestMethodMediaUploadProtocols)-    , _rmmuAccept    :: !(Maybe [Text])-    , _rmmuMaxSize   :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodMediaUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmmuProtocols'------ * 'rmmuAccept'------ * 'rmmuMaxSize'-restMethodMediaUpload-    :: RestMethodMediaUpload-restMethodMediaUpload =-  RestMethodMediaUpload'-    {_rmmuProtocols = Nothing, _rmmuAccept = Nothing, _rmmuMaxSize = Nothing}----- | Supported upload protocols.-rmmuProtocols :: Lens' RestMethodMediaUpload (Maybe RestMethodMediaUploadProtocols)-rmmuProtocols-  = lens _rmmuProtocols-      (\ s a -> s{_rmmuProtocols = a})---- | MIME Media Ranges for acceptable media uploads to this method.-rmmuAccept :: Lens' RestMethodMediaUpload [Text]-rmmuAccept-  = lens _rmmuAccept (\ s a -> s{_rmmuAccept = a}) .-      _Default-      . _Coerce---- | Maximum size of a media upload, such as \"1MB\", \"2GB\" or \"3TB\".-rmmuMaxSize :: Lens' RestMethodMediaUpload (Maybe Text)-rmmuMaxSize-  = lens _rmmuMaxSize (\ s a -> s{_rmmuMaxSize = a})--instance FromJSON RestMethodMediaUpload where-        parseJSON-          = withObject "RestMethodMediaUpload"-              (\ o ->-                 RestMethodMediaUpload' <$>-                   (o .:? "protocols") <*> (o .:? "accept" .!= mempty)-                     <*> (o .:? "maxSize"))--instance ToJSON RestMethodMediaUpload where-        toJSON RestMethodMediaUpload'{..}-          = object-              (catMaybes-                 [("protocols" .=) <$> _rmmuProtocols,-                  ("accept" .=) <$> _rmmuAccept,-                  ("maxSize" .=) <$> _rmmuMaxSize])---- | If this is a schema for an object, list the schema for each property of--- this object.------ /See:/ 'jsonSchemaProperties' smart constructor.-newtype JSONSchemaProperties =-  JSONSchemaProperties'-    { _jspAddtional :: HashMap Text JSONSchema-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONSchemaProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jspAddtional'-jsonSchemaProperties-    :: HashMap Text JSONSchema -- ^ 'jspAddtional'-    -> JSONSchemaProperties-jsonSchemaProperties pJspAddtional_ =-  JSONSchemaProperties' {_jspAddtional = _Coerce # pJspAddtional_}----- | A single property of this object. The value is itself a JSON Schema--- object describing this property.-jspAddtional :: Lens' JSONSchemaProperties (HashMap Text JSONSchema)-jspAddtional-  = lens _jspAddtional (\ s a -> s{_jspAddtional = a})-      . _Coerce--instance FromJSON JSONSchemaProperties where-        parseJSON-          = withObject "JSONSchemaProperties"-              (\ o ->-                 JSONSchemaProperties' <$> (parseJSONObject o))--instance ToJSON JSONSchemaProperties where-        toJSON = toJSON . _jspAddtional---- | Supports the Resumable Media Upload protocol.------ /See:/ 'restMethodMediaUploadProtocolsResumable' smart constructor.-data RestMethodMediaUploadProtocolsResumable =-  RestMethodMediaUploadProtocolsResumable'-    { _rmmuprPath      :: !(Maybe Text)-    , _rmmuprMultiPart :: !Bool-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodMediaUploadProtocolsResumable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rmmuprPath'------ * 'rmmuprMultiPart'-restMethodMediaUploadProtocolsResumable-    :: RestMethodMediaUploadProtocolsResumable-restMethodMediaUploadProtocolsResumable =-  RestMethodMediaUploadProtocolsResumable'-    {_rmmuprPath = Nothing, _rmmuprMultiPart = True}----- | The URI path to be used for upload. Should be used in conjunction with--- the basePath property at the api-level.-rmmuprPath :: Lens' RestMethodMediaUploadProtocolsResumable (Maybe Text)-rmmuprPath-  = lens _rmmuprPath (\ s a -> s{_rmmuprPath = a})---- | True if this endpoint supports uploading multipart media.-rmmuprMultiPart :: Lens' RestMethodMediaUploadProtocolsResumable Bool-rmmuprMultiPart-  = lens _rmmuprMultiPart-      (\ s a -> s{_rmmuprMultiPart = a})--instance FromJSON-           RestMethodMediaUploadProtocolsResumable-         where-        parseJSON-          = withObject-              "RestMethodMediaUploadProtocolsResumable"-              (\ o ->-                 RestMethodMediaUploadProtocolsResumable' <$>-                   (o .:? "path") <*> (o .:? "multipart" .!= True))--instance ToJSON-           RestMethodMediaUploadProtocolsResumable-         where-        toJSON RestMethodMediaUploadProtocolsResumable'{..}-          = object-              (catMaybes-                 [("path" .=) <$> _rmmuprPath,-                  Just ("multipart" .= _rmmuprMultiPart)])------- /See:/ 'directoryList' smart constructor.-data DirectoryList =-  DirectoryList'-    { _dlKind             :: !Text-    , _dlItems            :: !(Maybe [DirectoryListItemsItem])-    , _dlDiscoveryVersion :: !Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'DirectoryList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dlKind'------ * 'dlItems'------ * 'dlDiscoveryVersion'-directoryList-    :: DirectoryList-directoryList =-  DirectoryList'-    { _dlKind = "discovery#directoryList"-    , _dlItems = Nothing-    , _dlDiscoveryVersion = "v1"-    }----- | The kind for this response.-dlKind :: Lens' DirectoryList Text-dlKind = lens _dlKind (\ s a -> s{_dlKind = a})---- | The individual directory entries. One entry per api\/version pair.-dlItems :: Lens' DirectoryList [DirectoryListItemsItem]-dlItems-  = lens _dlItems (\ s a -> s{_dlItems = a}) . _Default-      . _Coerce---- | Indicate the version of the Discovery API used to generate this doc.-dlDiscoveryVersion :: Lens' DirectoryList Text-dlDiscoveryVersion-  = lens _dlDiscoveryVersion-      (\ s a -> s{_dlDiscoveryVersion = a})--instance FromJSON DirectoryList where-        parseJSON-          = withObject "DirectoryList"-              (\ o ->-                 DirectoryList' <$>-                   (o .:? "kind" .!= "discovery#directoryList") <*>-                     (o .:? "items" .!= mempty)-                     <*> (o .:? "discoveryVersion" .!= "v1"))--instance ToJSON DirectoryList where-        toJSON DirectoryList'{..}-          = object-              (catMaybes-                 [Just ("kind" .= _dlKind), ("items" .=) <$> _dlItems,-                  Just ("discoveryVersion" .= _dlDiscoveryVersion)])---- | The schema for the request.------ /See:/ 'restMethodRequest' smart constructor.-data RestMethodRequest =-  RestMethodRequest'-    { _rRef           :: !(Maybe Text)-    , _rParameterName :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestMethodRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rRef'------ * 'rParameterName'-restMethodRequest-    :: RestMethodRequest-restMethodRequest =-  RestMethodRequest' {_rRef = Nothing, _rParameterName = Nothing}----- | Schema ID for the request schema.-rRef :: Lens' RestMethodRequest (Maybe Text)-rRef = lens _rRef (\ s a -> s{_rRef = a})---- | parameter name.-rParameterName :: Lens' RestMethodRequest (Maybe Text)-rParameterName-  = lens _rParameterName-      (\ s a -> s{_rParameterName = a})--instance FromJSON RestMethodRequest where-        parseJSON-          = withObject "RestMethodRequest"-              (\ o ->-                 RestMethodRequest' <$>-                   (o .:? "$ref") <*> (o .:? "parameterName"))--instance ToJSON RestMethodRequest where-        toJSON RestMethodRequest'{..}-          = object-              (catMaybes-                 [("$ref" .=) <$> _rRef,-                  ("parameterName" .=) <$> _rParameterName])
− gen/Network/Google/Discovery/Types/Sum.hs
@@ -1,19 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.Discovery.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.Discovery.Types.Sum where--import           Network.Google.Prelude hiding (Bytes)
− gen/Network/Google/Resource/Discovery/APIs/GetRest.hs
@@ -1,98 +0,0 @@-{-# 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.Discovery.APIs.GetRest--- 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)------ Retrieve the description of a particular version of an api.------ /See:/ <https://developers.google.com/discovery/ API Discovery Service Reference> for @discovery.apis.getRest@.-module Network.Google.Resource.Discovery.APIs.GetRest-    (-    -- * REST Resource-      APIsGetRestResource--    -- * Creating a Request-    , apisGetRest-    , APIsGetRest--    -- * Request Lenses-    , agrVersion-    , agrAPI-    ) where--import           Network.Google.Discovery.Types-import           Network.Google.Prelude---- | A resource alias for @discovery.apis.getRest@ method which the--- 'APIsGetRest' request conforms to.-type APIsGetRestResource =-     "discovery" :>-       "v1" :>-         "apis" :>-           Capture "api" Text :>-             Capture "version" Text :>-               "rest" :>-                 QueryParam "alt" AltJSON :>-                   Get '[JSON] RestDescription---- | Retrieve the description of a particular version of an api.------ /See:/ 'apisGetRest' smart constructor.-data APIsGetRest =-  APIsGetRest'-    { _agrVersion :: !Text-    , _agrAPI     :: !Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'APIsGetRest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'agrVersion'------ * 'agrAPI'-apisGetRest-    :: Text -- ^ 'agrVersion'-    -> Text -- ^ 'agrAPI'-    -> APIsGetRest-apisGetRest pAgrVersion_ pAgrAPI_ =-  APIsGetRest' {_agrVersion = pAgrVersion_, _agrAPI = pAgrAPI_}----- | The version of the API.-agrVersion :: Lens' APIsGetRest Text-agrVersion-  = lens _agrVersion (\ s a -> s{_agrVersion = a})---- | The name of the API.-agrAPI :: Lens' APIsGetRest Text-agrAPI = lens _agrAPI (\ s a -> s{_agrAPI = a})--instance GoogleRequest APIsGetRest where-        type Rs APIsGetRest = RestDescription-        type Scopes APIsGetRest = '[]-        requestClient APIsGetRest'{..}-          = go _agrAPI _agrVersion (Just AltJSON)-              discoveryService-          where go-                  = buildClient (Proxy :: Proxy APIsGetRestResource)-                      mempty
− gen/Network/Google/Resource/Discovery/APIs/List.hs
@@ -1,93 +0,0 @@-{-# 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.Discovery.APIs.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)------ Retrieve the list of APIs supported at this endpoint.------ /See:/ <https://developers.google.com/discovery/ API Discovery Service Reference> for @discovery.apis.list@.-module Network.Google.Resource.Discovery.APIs.List-    (-    -- * REST Resource-      APIsListResource--    -- * Creating a Request-    , apisList-    , APIsList--    -- * Request Lenses-    , alPreferred-    , alName-    ) where--import           Network.Google.Discovery.Types-import           Network.Google.Prelude---- | A resource alias for @discovery.apis.list@ method which the--- 'APIsList' request conforms to.-type APIsListResource =-     "discovery" :>-       "v1" :>-         "apis" :>-           QueryParam "preferred" Bool :>-             QueryParam "name" Text :>-               QueryParam "alt" AltJSON :> Get '[JSON] DirectoryList---- | Retrieve the list of APIs supported at this endpoint.------ /See:/ 'apisList' smart constructor.-data APIsList =-  APIsList'-    { _alPreferred :: !Bool-    , _alName      :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'APIsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alPreferred'------ * 'alName'-apisList-    :: APIsList-apisList = APIsList' {_alPreferred = False, _alName = Nothing}----- | Return only the preferred version of an API.-alPreferred :: Lens' APIsList Bool-alPreferred-  = lens _alPreferred (\ s a -> s{_alPreferred = a})---- | Only include APIs with the given name.-alName :: Lens' APIsList (Maybe Text)-alName = lens _alName (\ s a -> s{_alName = a})--instance GoogleRequest APIsList where-        type Rs APIsList = DirectoryList-        type Scopes APIsList = '[]-        requestClient APIsList'{..}-          = go (Just _alPreferred) _alName (Just AltJSON)-              discoveryService-          where go-                  = buildClient (Proxy :: Proxy APIsListResource)-                      mempty
gogol-discovery.cabal view
@@ -1,48 +1,62 @@-name:                  gogol-discovery-version:               0.5.0-synopsis:              Google API Discovery Service 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+cabal-version:      2.2+name:               gogol-discovery+version:            1.0.0+synopsis:           Google API Discovery Service SDK.+homepage:           https://github.com/brendanhay/gogol+bug-reports:        https://github.com/brendanhay/gogol/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com> +copyright:          Copyright (c) 2015-2025 Brendan Hay+category:           Google+build-type:         Simple+extra-source-files:+  README.md+  src/.gitkeep+ description:-    Provides information about other Google APIs, such as what APIs are-    available, the resource, and method details for each API.-    .-    /Warning:/ This is an experimental prototype/preview release which is still-    under exploratory development and not intended for public use, caveat emptor!-    .-    This library is compatible with version @v1@-    of the API.+  Provides information about other Google APIs, such as what APIs are available, the resource, and method details for each API.+  .+  /Warning:/ This is an experimental prototype/preview release which is still+  under exploratory development and not intended for public use, caveat emptor!+  .+  This library is compatible with version @v1@+  of the API.  source-repository head-    type:     git-    location: git://github.com/brendanhay/gogol.git+  type:     git+  location: git://github.com/brendanhay/gogol.git+  subdir:   gogol-discovery +flag field-selectors+  description:+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.++  default:     False+  manual:      True+ library-    default-language:  Haskell2010-    hs-source-dirs:    src gen+  default-language: GHC2021+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields+    -fwarn-unused-packages -    ghc-options:       -Wall+  if (!flag(field-selectors) && impl(ghc >=9.2))+    default-extensions: NoFieldSelectors -    exposed-modules:-          Network.Google.Discovery-        , Network.Google.Discovery.Types-        , Network.Google.Resource.Discovery.APIs.GetRest-        , Network.Google.Resource.Discovery.APIs.List+  exposed-modules:+    Gogol.Discovery+    Gogol.Discovery.Apis.GetRest+    Gogol.Discovery.Apis.List+    Gogol.Discovery.Types -    other-modules:-          Network.Google.Discovery.Types.Product-        , Network.Google.Discovery.Types.Sum+  other-modules:+    Gogol.Discovery.Internal.Product+    Gogol.Discovery.Internal.Sum -    build-depends:-          gogol-core == 0.5.0.*-        , base       >= 4.7 && < 5+  build-depends:    gogol-core ^>=1.0.0