gogol-discovery-0.0.1: Google APIs Discovery Service SDK.

Copyright(c) 2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.Google.Discovery

Contents

Description

Lets you discover information about other Google APIs, such as what APIs are available, the resource and method details for each API.

See: APIs Discovery Service Reference

Synopsis

Service Configuration

discoveryService :: Service Source

Default request referring to version v1 of the APIs Discovery Service. This contains the host and root path used as a starting point for constructing service requests.

API Declaration

type DiscoveryAPI = APIsListResource :<|> APIsGetRestResource Source

Represents the entirety of the methods and resources available for the APIs Discovery Service service.

Resources

discovery.apis.getRest

discovery.apis.list

Types

RestMethodResponse

restMethodResponse :: RestMethodResponse Source

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 :: Lens' RestMethodResponse (Maybe Text) Source

Schema ID for the response schema.

RestDescriptionParameters

restDescriptionParameters Source

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:

RestMethod

rmSupportsMediaDownload :: Lens' RestMethod (Maybe Bool) Source

Whether this method supports media downloads.

rmParameterOrder :: Lens' RestMethod [Text] Source

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.

rmHTTPMethod :: Lens' RestMethod (Maybe Text) Source

HTTP method used by this method.

rmPath :: Lens' RestMethod (Maybe Text) Source

The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.

rmResponse :: Lens' RestMethod (Maybe RestMethodResponse) Source

The schema for the response.

rmSupportsMediaUpload :: Lens' RestMethod (Maybe Bool) Source

Whether this method supports media uploads.

rmScopes :: Lens' RestMethod [Text] Source

OAuth 2.0 scopes applicable to this method.

rmSupportsSubscription :: Lens' RestMethod (Maybe Bool) Source

Whether this method supports subscriptions.

rmParameters :: Lens' RestMethod (Maybe RestMethodParameters) Source

Details for all parameters in this method.

rmId :: Lens' RestMethod (Maybe Text) Source

A unique ID for this method. This property can be used to match methods between different versions of Discovery.

rmEtagRequired :: Lens' RestMethod (Maybe Bool) Source

Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.

rmUseMediaDownloadService :: Lens' RestMethod (Maybe Bool) Source

Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.

rmDescription :: Lens' RestMethod (Maybe Text) Source

Description of this method.

rmRequest :: Lens' RestMethod (Maybe RestMethodRequest) Source

The schema for the request.

RestResource

restResource :: RestResource Source

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 :: Lens' RestResource (Maybe RestResourceResources) Source

Sub-resources on this resource.

RestDescriptionAuthOAuth2Scopes

restDescriptionAuthOAuth2Scopes Source

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:

RestDescriptionMethods

restDescriptionMethods Source

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 :: Lens' RestDescriptionMethods (HashMap Text RestMethod) Source

An individual method description.

DirectoryListItemsItem

dliiDiscoveryLink :: Lens' DirectoryListItemsItem (Maybe Text) Source

A link to the discovery document.

dliiPreferred :: Lens' DirectoryListItemsItem (Maybe Bool) Source

True if this version is the preferred version to use.

dliiKind :: Lens' DirectoryListItemsItem Text Source

The kind for this response.

dliiIcons :: Lens' DirectoryListItemsItem (Maybe DirectoryListItemsItemIcons) Source

Links to 16x16 and 32x32 icons representing the API.

dliiDocumentationLink :: Lens' DirectoryListItemsItem (Maybe Text) Source

A link to human readable documentation for the API.

dliiLabels :: Lens' DirectoryListItemsItem [Text] Source

Labels for the status of this API, such as labs or deprecated.

dliiDescription :: Lens' DirectoryListItemsItem (Maybe Text) Source

The description of this API.

dliiDiscoveryRestURL :: Lens' DirectoryListItemsItem (Maybe Text) Source

The URL for the discovery REST document.

DirectoryListItemsItemIcons

directoryListItemsItemIcons :: DirectoryListItemsItemIcons Source

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:

RestResourceResources

restResourceResources Source

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 :: Lens' RestResourceResources (HashMap Text RestResource) Source

Description for any sub-resources on this resource.

RestDescriptionAuthOAuth2

restDescriptionAuthOAuth2 :: RestDescriptionAuthOAuth2 Source

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:

RestDescriptionAuthOAuth2ScopesAdditional

restDescriptionAuthOAuth2ScopesAdditional :: RestDescriptionAuthOAuth2ScopesAdditional Source

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:

RestMethodMediaUploadProtocolsSimple

restMethodMediaUploadProtocolsSimple :: RestMethodMediaUploadProtocolsSimple Source

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 :: Lens' RestMethodMediaUploadProtocolsSimple (Maybe Text) Source

The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.

rmmupsMultiPart :: Lens' RestMethodMediaUploadProtocolsSimple Bool Source

True if this endpoint supports upload multipart media.

RestDescriptionIcons

restDescriptionIcons :: RestDescriptionIcons Source

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 :: Lens' RestDescriptionIcons (Maybe Text) Source

The URL of the 16x16 icon.

rdiX32 :: Lens' RestDescriptionIcons (Maybe Text) Source

The URL of the 32x32 icon.

JSONSchemaVariant

data JSONSchemaVariant Source

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.

jsonSchemaVariant :: JSONSchemaVariant Source

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 :: Lens' JSONSchemaVariant (Maybe Text) Source

The name of the type discriminant property.

jsvMap :: Lens' JSONSchemaVariant [JSONSchemaVariantMapItem] Source

The map of discriminant value to schema to use for parsing..

RestResourceMethods

restResourceMethods Source

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 :: Lens' RestResourceMethods (HashMap Text RestMethod) Source

Description for any methods on this resource.

RestDescriptionAuth

restDescriptionAuth :: RestDescriptionAuth Source

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 :: Lens' RestDescriptionAuth (Maybe RestDescriptionAuthOAuth2) Source

OAuth 2.0 authentication information.

RestDescription

rdEtag :: Lens' RestDescription (Maybe Text) Source

The ETag for this response.

rdServicePath :: Lens' RestDescription (Maybe Text) Source

The base path for all REST requests.

rdBasePath :: Lens' RestDescription (Maybe Text) Source

DEPRECATED
The base path for REST requests.

rdKind :: Lens' RestDescription Text Source

The kind for this response.

rdExponentialBackoffDefault :: Lens' RestDescription (Maybe Bool) Source

Enable exponential backoff for suitable methods in the generated clients.

rdIcons :: Lens' RestDescription (Maybe RestDescriptionIcons) Source

Links to 16x16 and 32x32 icons representing the API.

rdBaseURL :: Lens' RestDescription (Maybe Text) Source

DEPRECATED
The base URL for REST requests.

rdProtocol :: Lens' RestDescription Text Source

The protocol described by this document.

rdOwnerName :: Lens' RestDescription (Maybe Text) Source

The name of the owner of this API. See ownerDomain.

rdOwnerDomain :: Lens' RestDescription (Maybe Text) Source

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.

rdBatchPath :: Lens' RestDescription Text Source

The path for REST batch requests.

rdName :: Lens' RestDescription (Maybe Text) Source

The name of this API.

rdPackagePath :: Lens' RestDescription (Maybe Text) Source

The package of the owner of this API. See ownerDomain.

rdFeatures :: Lens' RestDescription [Text] Source

A list of supported features for this API.

rdVersion :: Lens' RestDescription (Maybe Text) Source

The version of this API.

rdParameters :: Lens' RestDescription (Maybe RestDescriptionParameters) Source

Common parameters that apply across all apis.

rdDocumentationLink :: Lens' RestDescription (Maybe Text) Source

A link to human readable documentation for the API.

rdRootURL :: Lens' RestDescription (Maybe Text) Source

The root URL under which all API services live.

rdId :: Lens' RestDescription (Maybe Text) Source

The ID of this API.

rdCanonicalName :: Lens' RestDescription (Maybe Text) Source

Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.

rdLabels :: Lens' RestDescription [Text] Source

Labels for the status of this API, such as labs or deprecated.

rdDiscoveryVersion :: Lens' RestDescription Text Source

Indicate the version of the Discovery API used to generate this doc.

rdTitle :: Lens' RestDescription (Maybe Text) Source

The title of this API.

rdRevision :: Lens' RestDescription (Maybe Text) Source

The version of this API.

rdDescription :: Lens' RestDescription (Maybe Text) Source

The description of this API.

JSONSchema

jsAnnotations :: Lens' JSONSchema (Maybe JSONSchemaAnnotations) Source

Additional information about this property.

jsVariant :: Lens' JSONSchema (Maybe JSONSchemaVariant) Source

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.

jsLocation :: Lens' JSONSchema (Maybe Text) Source

Whether this parameter goes in the query or the path for REST requests.

jsRef :: Lens' JSONSchema (Maybe Text) Source

A reference to another schema. The value of this property is the "id" of another schema.

jsPattern :: Lens' JSONSchema (Maybe Text) Source

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

jsMaximum :: Lens' JSONSchema (Maybe Text) Source

The maximum value of this parameter.

jsDefault :: Lens' JSONSchema (Maybe Text) Source

The default value of this property (if one exists).

jsFormat :: Lens' JSONSchema (Maybe Text) Source

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

jsItems :: Lens' JSONSchema (Maybe JSONSchema) Source

If this is a schema for an array, this property is the schema for each element in the array.

jsMinimum :: Lens' JSONSchema (Maybe Text) Source

The minimum value of this parameter.

jsRequired :: Lens' JSONSchema (Maybe Bool) Source

Whether the parameter is required.

jsId :: Lens' JSONSchema (Maybe Text) Source

Unique identifier for this schema.

jsAdditionalProperties :: Lens' JSONSchema (Maybe JSONSchema) Source

If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.

jsType :: Lens' JSONSchema (Maybe Text) Source

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

jsEnum :: Lens' JSONSchema [Text] Source

Values this parameter may take (if it is an enum).

jsRepeated :: Lens' JSONSchema (Maybe Bool) Source

Whether this parameter may appear multiple times.

jsReadOnly :: Lens' JSONSchema (Maybe Bool) Source

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.

jsEnumDescriptions :: Lens' JSONSchema [Text] Source

The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.

jsDescription :: Lens' JSONSchema (Maybe Text) Source

A description of this object.

jsProperties :: Lens' JSONSchema (Maybe JSONSchemaProperties) Source

If this is a schema for an object, list the schema for each property of this object.

RestDescriptionSchemas

restDescriptionSchemas Source

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 :: Lens' RestDescriptionSchemas (HashMap Text JSONSchema) Source

An individual schema description.

JSONSchemaVariantMapItem

jsonSchemaVariantMapItem :: JSONSchemaVariantMapItem Source

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:

RestDescriptionResources

restDescriptionResources Source

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 :: Lens' RestDescriptionResources (HashMap Text RestResource) Source

An individual resource description. Contains methods and sub-resources related to this resource.

RestMethodMediaUploadProtocols

restMethodMediaUploadProtocols :: RestMethodMediaUploadProtocols Source

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:

JSONSchemaAnnotations

jsonSchemaAnnotations :: JSONSchemaAnnotations Source

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 :: Lens' JSONSchemaAnnotations [Text] Source

A list of methods for which this property is required on requests.

RestMethodParameters

restMethodParameters Source

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 :: Lens' RestMethodParameters (HashMap Text JSONSchema) Source

Details for a single parameter in this method.

RestMethodMediaUpload

restMethodMediaUpload :: RestMethodMediaUpload Source

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:

rmmuAccept :: Lens' RestMethodMediaUpload [Text] Source

MIME Media Ranges for acceptable media uploads to this method.

rmmuMaxSize :: Lens' RestMethodMediaUpload (Maybe Text) Source

Maximum size of a media upload, such as "1MB", "2GB" or "3TB".

JSONSchemaProperties

jsonSchemaProperties Source

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 :: Lens' JSONSchemaProperties (HashMap Text JSONSchema) Source

A single property of this object. The value is itself a JSON Schema object describing this property.

RestMethodMediaUploadProtocolsResumable

restMethodMediaUploadProtocolsResumable :: RestMethodMediaUploadProtocolsResumable Source

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 :: Lens' RestMethodMediaUploadProtocolsResumable (Maybe Text) Source

The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.

rmmuprMultiPart :: Lens' RestMethodMediaUploadProtocolsResumable Bool Source

True if this endpoint supports uploading multipart media.

DirectoryList

directoryList :: DirectoryList Source

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 :: Lens' DirectoryList Text Source

The kind for this response.

dlItems :: Lens' DirectoryList [DirectoryListItemsItem] Source

The individual directory entries. One entry per api/version pair.

dlDiscoveryVersion :: Lens' DirectoryList Text Source

Indicate the version of the Discovery API used to generate this doc.

RestMethodRequest

restMethodRequest :: RestMethodRequest Source

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 :: Lens' RestMethodRequest (Maybe Text) Source

Schema ID for the request schema.