

API Reference — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 API Reference google\_api\_discovery v0.12.0

==============================================

 Modules

----------

[GoogleApi.Discovery.V1](GoogleApi.Discovery.V1.html)

API client metadata for GoogleApi.Discovery.V1.

[GoogleApi.Discovery.V1.Api.Apis](GoogleApi.Discovery.V1.Api.Apis.html)

API calls for all endpoints tagged `Apis`.

[GoogleApi.Discovery.V1.Connection](GoogleApi.Discovery.V1.Connection.html)

Handle Tesla connections for GoogleApi.Discovery.V1.

[GoogleApi.Discovery.V1.Model.DirectoryList](GoogleApi.Discovery.V1.Model.DirectoryList.html)

 Attributes

-------------

* `discoveryVersion` (*type:* `String.t`, *default:* `v1`) - Indicate the version of the Discovery API used to generate this doc.

* `items` (*type:* `list(GoogleApi.Discovery.V1.Model.DirectoryListItems.t)`, *default:* `nil`) - The individual directory entries. One entry per api/version pair.

* `kind` (*type:* `String.t`, *default:* `discovery#directoryList`) - The kind for this response.

[GoogleApi.Discovery.V1.Model.DirectoryListItems](GoogleApi.Discovery.V1.Model.DirectoryListItems.html)

 Attributes

-------------

* `description` (*type:* `String.t`, *default:* `nil`) - The description of this API.

* `discoveryLink` (*type:* `String.t`, *default:* `nil`) - A link to the discovery document.

* `discoveryRestUrl` (*type:* `String.t`, *default:* `nil`) - The URL for the discovery REST document.

* `documentationLink` (*type:* `String.t`, *default:* `nil`) - A link to human readable documentation for the API.

* `icons` (*type:* `GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons.t`, *default:* `nil`) - Links to 16x16 and 32x32 icons representing the API.

* `id` (*type:* `String.t`, *default:* `nil`) - The id of this API.

* `kind` (*type:* `String.t`, *default:* `discovery#directoryItem`) - The kind for this response.

* `labels` (*type:* `list(String.t)`, *default:* `nil`) - Labels for the status of this API, such as labs or deprecated.

* `name` (*type:* `String.t`, *default:* `nil`) - The name of the API.

* `preferred` (*type:* `boolean()`, *default:* `nil`) - True if this version is the preferred version to use.

* `title` (*type:* `String.t`, *default:* `nil`) - The title of this API.

* `version` (*type:* `String.t`, *default:* `nil`) - The version of the API.

[GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons](GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons.html)

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

[GoogleApi.Discovery.V1.Model.JsonSchema](GoogleApi.Discovery.V1.Model.JsonSchema.html)

 Attributes

-------------

* `$ref` (*type:* `String.t`, *default:* `nil`) - A reference to another schema. The value of this property is the "id" of another schema.

* `additionalProperties` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchema.t`, *default:* `nil`) - If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.

* `annotations` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.t`, *default:* `nil`) - Additional information about this property.

* `default` (*type:* `String.t`, *default:* `nil`) - The default value of this property (if one exists).

* `description` (*type:* `String.t`, *default:* `nil`) - A description of this object.

* `enum` (*type:* `list(String.t)`, *default:* `nil`) - Values this parameter may take (if it is an enum).

* `enumDescriptions` (*type:* `list(String.t)`, *default:* `nil`) - The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.

* `format` (*type:* `String.t`, *default:* `nil`) - 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>

* `id` (*type:* `String.t`, *default:* `nil`) - Unique identifier for this schema.

* `items` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchema.t`, *default:* `nil`) - If this is a schema for an array, this property is the schema for each element in the array.

* `location` (*type:* `String.t`, *default:* `nil`) - Whether this parameter goes in the query or the path for REST requests.

* `maximum` (*type:* `String.t`, *default:* `nil`) - The maximum value of this parameter.

* `minimum` (*type:* `String.t`, *default:* `nil`) - The minimum value of this parameter.

* `pattern` (*type:* `String.t`, *default:* `nil`) - 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>

* `properties` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - If this is a schema for an object, list the schema for each property of this object.

* `readOnly` (*type:* `boolean()`, *default:* `nil`) - 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.

* `repeated` (*type:* `boolean()`, *default:* `nil`) - Whether this parameter may appear multiple times.

* `required` (*type:* `boolean()`, *default:* `nil`) - Whether the parameter is required.

* `type` (*type:* `String.t`, *default:* `nil`) - 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>

* `variant` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchemaVariant.t`, *default:* `nil`) - 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.

[GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations](GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.html)

Additional information about this property.

[GoogleApi.Discovery.V1.Model.JsonSchemaVariant](GoogleApi.Discovery.V1.Model.JsonSchemaVariant.html)

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.

[GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap](GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap.html)

 Attributes

-------------

* `$ref` (*type:* `String.t`, *default:* `nil`) -

* `type_value` (*type:* `String.t`, *default:* `nil`) -

[GoogleApi.Discovery.V1.Model.RestDescription](GoogleApi.Discovery.V1.Model.RestDescription.html)

 Attributes

-------------

* `auth` (*type:* `GoogleApi.Discovery.V1.Model.RestDescriptionAuth.t`, *default:* `nil`) - Authentication information.

* `basePath` (*type:* `String.t`, *default:* `nil`) - [DEPRECATED] The base path for REST requests.

* `baseUrl` (*type:* `String.t`, *default:* `nil`) - [DEPRECATED] The base URL for REST requests.

* `batchPath` (*type:* `String.t`, *default:* `nil`) - The path for REST batch requests.

* `canonicalName` (*type:* `String.t`, *default:* `nil`) - Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.

* `description` (*type:* `String.t`, *default:* `nil`) - The description of this API.

* `discoveryVersion` (*type:* `String.t`, *default:* `v1`) - Indicate the version of the Discovery API used to generate this doc.

* `documentationLink` (*type:* `String.t`, *default:* `nil`) - A link to human readable documentation for the API.

* `etag` (*type:* `String.t`, *default:* `nil`) - The ETag for this response.

* `exponentialBackoffDefault` (*type:* `boolean()`, *default:* `nil`) - Enable exponential backoff for suitable methods in the generated clients.

* `features` (*type:* `list(String.t)`, *default:* `nil`) - A list of supported features for this API.

* `icons` (*type:* `GoogleApi.Discovery.V1.Model.RestDescriptionIcons.t`, *default:* `nil`) - Links to 16x16 and 32x32 icons representing the API.

* `id` (*type:* `String.t`, *default:* `nil`) - The ID of this API.

* `kind` (*type:* `String.t`, *default:* `discovery#restDescription`) - The kind for this response.

* `labels` (*type:* `list(String.t)`, *default:* `nil`) - Labels for the status of this API, such as labs or deprecated.

* `methods` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestMethod.t}`, *default:* `nil`) - API-level methods for this API.

* `name` (*type:* `String.t`, *default:* `nil`) - The name of this API.

* `ownerDomain` (*type:* `String.t`, *default:* `nil`) - 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.

* `ownerName` (*type:* `String.t`, *default:* `nil`) - The name of the owner of this API. See ownerDomain.

* `packagePath` (*type:* `String.t`, *default:* `nil`) - The package of the owner of this API. See ownerDomain.

* `parameters` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - Common parameters that apply across all apis.

* `protocol` (*type:* `String.t`, *default:* `rest`) - The protocol described by this document.

* `resources` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestResource.t}`, *default:* `nil`) - The resources in this API.

* `revision` (*type:* `String.t`, *default:* `nil`) - The version of this API.

* `rootUrl` (*type:* `String.t`, *default:* `nil`) - The root URL under which all API services live.

* `schemas` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - The schemas for this API.

* `servicePath` (*type:* `String.t`, *default:* `nil`) - The base path for all REST requests.

* `title` (*type:* `String.t`, *default:* `nil`) - The title of this API.

* `version` (*type:* `String.t`, *default:* `nil`) - The version of this API.

* `version_module` (*type:* `boolean()`, *default:* `nil`) -

[GoogleApi.Discovery.V1.Model.RestDescriptionAuth](GoogleApi.Discovery.V1.Model.RestDescriptionAuth.html)

Authentication information.

[GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2](GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2.html)

OAuth 2.0 authentication information.

[GoogleApi.Discovery.V1.Model.RestDescriptionIcons](GoogleApi.Discovery.V1.Model.RestDescriptionIcons.html)

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

[GoogleApi.Discovery.V1.Model.RestMethod](GoogleApi.Discovery.V1.Model.RestMethod.html)

 Attributes

-------------

* `description` (*type:* `String.t`, *default:* `nil`) - Description of this method.

* `etagRequired` (*type:* `boolean()`, *default:* `nil`) - Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.

* `flatPath` (*type:* `String.t`, *default:* `nil`) - The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.

* `httpMethod` (*type:* `String.t`, *default:* `nil`) - HTTP method used by this method.

* `id` (*type:* `String.t`, *default:* `nil`) - A unique ID for this method. This property can be used to match methods between different versions of Discovery.

* `mediaUpload` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodMediaUpload.t`, *default:* `nil`) - Media upload parameters.

* `parameterOrder` (*type:* `list(String.t)`, *default:* `nil`) - 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.

* `parameters` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - Details for all parameters in this method.

* `path` (*type:* `String.t`, *default:* `nil`) - The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.

* `request` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodRequest.t`, *default:* `nil`) - The schema for the request.

* `response` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodResponse.t`, *default:* `nil`) - The schema for the response.

* `scopes` (*type:* `list(String.t)`, *default:* `nil`) - OAuth 2.0 scopes applicable to this method.

* `supportsMediaDownload` (*type:* `boolean()`, *default:* `nil`) - Whether this method supports media downloads.

* `supportsMediaUpload` (*type:* `boolean()`, *default:* `nil`) - Whether this method supports media uploads.

* `supportsSubscription` (*type:* `boolean()`, *default:* `nil`) - Whether this method supports subscriptions.

* `useMediaDownloadService` (*type:* `boolean()`, *default:* `nil`) - Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.

[GoogleApi.Discovery.V1.Model.RestMethodMediaUpload](GoogleApi.Discovery.V1.Model.RestMethodMediaUpload.html)

Media upload parameters.

[GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols](GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols.html)

Supported upload protocols.

[GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable](GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable.html)

Supports the Resumable Media Upload protocol.

[GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple](GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple.html)

Supports uploading as a single HTTP request.

[GoogleApi.Discovery.V1.Model.RestMethodRequest](GoogleApi.Discovery.V1.Model.RestMethodRequest.html)

The schema for the request.

[GoogleApi.Discovery.V1.Model.RestMethodResponse](GoogleApi.Discovery.V1.Model.RestMethodResponse.html)

The schema for the response.

[GoogleApi.Discovery.V1.Model.RestResource](GoogleApi.Discovery.V1.Model.RestResource.html)

 Attributes

-------------

* `methods` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestMethod.t}`, *default:* `nil`) - Methods on this resource.

* `resources` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestResource.t}`, *default:* `nil`) - Sub-resources on this resource.





GoogleApi.Discovery.V1 — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1 (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/metadata.ex#L18 "View Source")

============================================================================================================================================================================================================================

API client metadata for GoogleApi.Discovery.V1.

 

[Link to this section](#summary)

 Summary

==========================================

[Functions](#functions)

------------------------

[discovery\_revision()](#discovery_revision/0)

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#discovery_revision/0 "Link to this function")

discovery\_revision()

=====================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/metadata.ex#L25 "View Source")





GoogleApi.Discovery.V1.Api.Apis — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Api.Apis (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/api/apis.ex#L18 "View Source")

=====================================================================================================================================================================================================================================

API calls for all endpoints tagged `Apis`.

 

[Link to this section](#summary)

 Summary

==========================================

[Functions](#functions)

------------------------

[discovery\_apis\_get\_rest(connection, api, version, optional\_params \\ [], opts \\ [])](#discovery_apis_get_rest/5)

Retrieve the description of a particular version of an api.

[discovery\_apis\_list(connection, optional\_params \\ [], opts \\ [])](#discovery_apis_list/3)

Retrieve the list of APIs supported at this endpoint.

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#discovery_apis_get_rest/5 "Link to this function")

discovery\_apis\_get\_rest(connection, api, version, optional\_params \\ [], opts \\ [])

========================================================================================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/api/apis.ex#L56 "View Source")

Specs

-----

```

discovery_apis_get_rest(

  [Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(),

  [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)(),

  [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)(),

  [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)(),

  [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

) ::

  {:ok, [GoogleApi.Discovery.V1.Model.RestDescription.t](GoogleApi.Discovery.V1.Model.RestDescription.html#t:t/0)()}

  | {:ok, [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)()}

  | {:ok, [list](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()}

  | {:error, [any](https://hexdocs.pm/elixir/typespecs.html#basic-types)()}

```

Retrieve the description of a particular version of an api.

 Parameters

-------------

* `connection` (*type:* `GoogleApi.Discovery.V1.Connection.t`) - Connection to server

* `api` (*type:* `String.t`) - The name of the API.

* `version` (*type:* `String.t`) - The version of the API.

* `optional_params` (*type:* `keyword()`) - Optional parameters

	+ `:alt` (*type:* `String.t`) - Data format for the response.

	+ `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.

	+ `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.

	+ `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.

	+ `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.

	+ `:quotaUser` (*type:* `String.t`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.

	+ `:userIp` (*type:* `String.t`) - Deprecated. Please use quotaUser instead.

* `opts` (*type:* `keyword()`) - Call options

 Returns

----------

* `{:ok, %GoogleApi.Discovery.V1.Model.RestDescription{}}` on success

* `{:error, info}` on failure

 

[Link to this function](#discovery_apis_list/3 "Link to this function")

discovery\_apis\_list(connection, optional\_params \\ [], opts \\ [])

=====================================================================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/api/apis.ex#L110 "View Source")

Specs

-----

```

discovery_apis_list([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) ::

  {:ok, [GoogleApi.Discovery.V1.Model.DirectoryList.t](GoogleApi.Discovery.V1.Model.DirectoryList.html#t:t/0)()}

  | {:ok, [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)()}

  | {:ok, [list](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()}

  | {:error, [any](https://hexdocs.pm/elixir/typespecs.html#basic-types)()}

```

Retrieve the list of APIs supported at this endpoint.

 Parameters

-------------

* `connection` (*type:* `GoogleApi.Discovery.V1.Connection.t`) - Connection to server

* `optional_params` (*type:* `keyword()`) - Optional parameters

	+ `:alt` (*type:* `String.t`) - Data format for the response.

	+ `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response.

	+ `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.

	+ `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user.

	+ `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks.

	+ `:quotaUser` (*type:* `String.t`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.

	+ `:userIp` (*type:* `String.t`) - Deprecated. Please use quotaUser instead.

	+ `:name` (*type:* `String.t`) - Only include APIs with the given name.

	+ `:preferred` (*type:* `boolean()`) - Return only the preferred version of an API.

* `opts` (*type:* `keyword()`) - Call options

 Returns

----------

* `{:ok, %GoogleApi.Discovery.V1.Model.DirectoryList{}}` on success

* `{:error, info}` on failure

 





GoogleApi.Discovery.V1.Connection — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Connection (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L18 "View Source")

=========================================================================================================================================================================================================================================

Handle Tesla connections for GoogleApi.Discovery.V1.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[option()](#t:option/0)

Options that may be passed to a request function. See [`request/2`](#request/2) for detailed descriptions.

[t()](#t:t/0)

[Functions](#functions)

------------------------

[delete(client, url, opts)](#delete/3)

Perform a DELETE request.

[delete!(client, url, opts)](#delete!/3)

Perform a DELETE request.

[execute(connection, request)](#execute/2)

Execute a request on this connection

[get(client, url, opts)](#get/3)

Perform a GET request.

[get!(client, url, opts)](#get!/3)

Perform a GET request.

[head(client, url, opts)](#head/3)

Perform a HEAD request.

[head!(client, url, opts)](#head!/3)

Perform a HEAD request.

[new()](#new/0)

Configure an authless client connection

[new(token)](#new/1)

Configure a client connection using a function which yields a Bearer token.

[options(client, url, opts)](#options/3)

Perform a OPTIONS request.

[options!(client, url, opts)](#options!/3)

Perform a OPTIONS request.

[patch(client, url, body, opts)](#patch/4)

Perform a PATCH request.

[patch!(client, url, body, opts)](#patch!/4)

Perform a PATCH request.

[post(client, url, body, opts)](#post/4)

Perform a POST request.

[post!(client, url, body, opts)](#post!/4)

Perform a POST request.

[put(client, url, body, opts)](#put/4)

Perform a PUT request.

[put!(client, url, body, opts)](#put!/4)

Perform a PUT request.

[request(client \\ %Tesla.Client{}, options)](#request/2)

Perform a request.

[request!(client \\ %Tesla.Client{}, options)](#request!/2)

Perform request and raise in case of error.

[trace(client, url, opts)](#trace/3)

Perform a TRACE request.

[trace!(client, url, opts)](#trace!/3)

Perform a TRACE request.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:option/0 "Link to this type")

option()

========

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

option() ::

  {:method, [Tesla.Env.method](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:method/0)()}

  | {:url, [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)()}

  | {:query, [Tesla.Env.query](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:query/0)()}

  | {:headers, [Tesla.Env.headers](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:headers/0)()}

  | {:body, [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)()}

  | {:opts, [Tesla.Env.opts](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:opts/0)()}

```

Options that may be passed to a request function. See [`request/2`](#request/2) for detailed descriptions.

 

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L23 "View Source")

Specs

-----

```

t() :: [Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)()

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#delete/3 "Link to this function")

delete(client, url, opts)

=========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

delete([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a DELETE request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

delete("/users")

delete("/users", query: [scope: "admin"])

delete(client, "/users")

delete(client, "/users", query: [scope: "admin"])

delete(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#delete!/3 "Link to this function")

delete!(client, url, opts)

==========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

delete!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a DELETE request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

delete!("/users")

delete!("/users", query: [scope: "admin"])

delete!(client, "/users")

delete!(client, "/users", query: [scope: "admin"])

delete!(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#execute/2 "Link to this function")

execute(connection, request)

============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

execute([Tesla.Client.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Client.html#t:t/0)(), [GoogleApi.Gax.Request.t](https://hexdocs.pm/google_gax/0.4.0/GoogleApi.Gax.Request.html#t:t/0)()) :: {:ok, [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)()}

```

Execute a request on this connection

 Returns

----------

* `{:ok, Tesla.Env.t}` - If the call was successful

* `{:error, reason}` - If the call failed

 

[Link to this function](#get/3 "Link to this function")

get(client, url, opts)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

get([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a GET request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

get("/users")

get("/users", query: [scope: "admin"])

get(client, "/users")

get(client, "/users", query: [scope: "admin"])

get(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#get!/3 "Link to this function")

get!(client, url, opts)

=======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

get!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a GET request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

get!("/users")

get!("/users", query: [scope: "admin"])

get!(client, "/users")

get!(client, "/users", query: [scope: "admin"])

get!(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#head/3 "Link to this function")

head(client, url, opts)

=======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

head([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a HEAD request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

head("/users")

head("/users", query: [scope: "admin"])

head(client, "/users")

head(client, "/users", query: [scope: "admin"])

head(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#head!/3 "Link to this function")

head!(client, url, opts)

========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

head!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a HEAD request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

head!("/users")

head!("/users", query: [scope: "admin"])

head!(client, "/users")

head!(client, "/users", query: [scope: "admin"])

head!(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#new/0 "Link to this function")

new()

=====

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

new() :: [Tesla.Client.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Client.html#t:t/0)()

```

Configure an authless client connection

 Returns

----------

* `Tesla.Env.client`

 

[Link to this function](#new/1 "Link to this function")

new(token)

==========

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

new([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) :: [Tesla.Client.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Client.html#t:t/0)()

```

```

new(([[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] -> [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)())) :: [Tesla.Client.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Client.html#t:t/0)()

```

Configure a client connection using a function which yields a Bearer token.

 Parameters

-------------

* `token_fetcher` (*type:* `list(String.t()) -> String.t()`) - Callback

which provides an OAuth2 token given a list of scopes

 Returns

----------

* `Tesla.Env.client`

 

[Link to this function](#options/3 "Link to this function")

options(client, url, opts)

==========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

options([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a OPTIONS request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

options("/users")

options("/users", query: [scope: "admin"])

options(client, "/users")

options(client, "/users", query: [scope: "admin"])

options(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#options!/3 "Link to this function")

options!(client, url, opts)

===========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

options!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a OPTIONS request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

options!("/users")

options!("/users", query: [scope: "admin"])

options!(client, "/users")

options!(client, "/users", query: [scope: "admin"])

options!(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#patch/4 "Link to this function")

patch(client, url, body, opts)

==============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

patch([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a PATCH request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

patch("/users", %{name: "Jon"})

patch("/users", %{name: "Jon"}, query: [scope: "admin"])

patch(client, "/users", %{name: "Jon"})

patch(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

```

 

[Link to this function](#patch!/4 "Link to this function")

patch!(client, url, body, opts)

===============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

patch!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a PATCH request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

patch!("/users", %{name: "Jon"})

patch!("/users", %{name: "Jon"}, query: [scope: "admin"])

patch!(client, "/users", %{name: "Jon"})

patch!(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

```

 

[Link to this function](#post/4 "Link to this function")

post(client, url, body, opts)

=============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

post([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a POST request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

post("/users", %{name: "Jon"})

post("/users", %{name: "Jon"}, query: [scope: "admin"])

post(client, "/users", %{name: "Jon"})

post(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

```

 

[Link to this function](#post!/4 "Link to this function")

post!(client, url, body, opts)

==============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

post!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a POST request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

post!("/users", %{name: "Jon"})

post!("/users", %{name: "Jon"}, query: [scope: "admin"])

post!(client, "/users", %{name: "Jon"})

post!(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

```

 

[Link to this function](#put/4 "Link to this function")

put(client, url, body, opts)

============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

put([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a PUT request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

put("/users", %{name: "Jon"})

put("/users", %{name: "Jon"}, query: [scope: "admin"])

put(client, "/users", %{name: "Jon"})

put(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

```

 

[Link to this function](#put!/4 "Link to this function")

put!(client, url, body, opts)

=============================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

put!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [Tesla.Env.body](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:body/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a PUT request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

put!("/users", %{name: "Jon"})

put!("/users", %{name: "Jon"}, query: [scope: "admin"])

put!(client, "/users", %{name: "Jon"})

put!(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

```

 

[Link to this function](#request/2 "Link to this function")

request(client \\ %Tesla.Client{}, options)

===========================================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

request([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a request.

 Options

----------

* `:method` - the request method, one of [`:head`, `:get`, `:delete`, `:trace`, `:options`, `:post`, `:put`, `:patch`]

* `:url` - either full url e.g. "[http://example.com/some/path"](http://example.com/some/path%22) or just "/some/path" if using [`Tesla.Middleware.BaseUrl`](https://hexdocs.pm/tesla/1.4.1/Tesla.Middleware.BaseUrl.html)

* `:query` - a keyword list of query params, e.g. `[page: 1, per_page: 100]`

* `:headers` - a keyworld list of headers, e.g. `[{"content-type", "text/plain"}]`

* `:body` - depends on used middleware:

	+ by default it can be a binary

	+ if using e.g. JSON encoding middleware it can be a nested map

	+ if adapter supports it it can be a Stream with any of the above

* `:opts` - custom, per-request middleware or adapter options

 Examples

-----------

```

ExampleApi.request(method: :get, url: "/users/path")

# use shortcut methods

ExampleApi.get("/users/1")

ExampleApi.post(client, "/users", %{name: "Jon"})

```

 

[Link to this function](#request!/2 "Link to this function")

request!(client \\ %Tesla.Client{}, options)

============================================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

request!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform request and raise in case of error.

This is similar to [`request/2`](#request/2) behaviour from Tesla 0.x

See [`request/2`](#request/2) for list of available options.

 

[Link to this function](#trace/3 "Link to this function")

trace(client, url, opts)

========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

trace([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) :: [Tesla.Env.result](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:result/0)()

```

Perform a TRACE request.

See [`request/1`](#request/1) or [`request/2`](#request/2) for options definition.

```

trace("/users")

trace("/users", query: [scope: "admin"])

trace(client, "/users")

trace(client, "/users", query: [scope: "admin"])

trace(client, "/users", body: %{name: "Jon"})

```

 

[Link to this function](#trace!/3 "Link to this function")

trace!(client, url, opts)

=========================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/connection.ex#L25 "View Source")

Specs

-----

```

trace!([Tesla.Env.client](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:client/0)(), [Tesla.Env.url](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:url/0)(), [[option](#t:option/0)()]) ::

  [Tesla.Env.t](https://hexdocs.pm/tesla/1.4.1/Tesla.Env.html#t:t/0)() | [no\_return](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()

```

Perform a TRACE request.

See [`request!/1`](#request!/1) or [`request!/2`](#request!/2) for options definition.

```

trace!("/users")

trace!("/users", query: [scope: "admin"])

trace!(client, "/users")

trace!(client, "/users", query: [scope: "admin"])

trace!(client, "/users", body: %{name: "Jon"})

```

 





GoogleApi.Discovery.V1.Model.DirectoryList — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.DirectoryList (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list.ex#L18 "View Source")

============================================================================================================================================================================================================================================================

 Attributes

-------------

* `discoveryVersion` (*type:* `String.t`, *default:* `v1`) - Indicate the version of the Discovery API used to generate this doc.

* `items` (*type:* `list(GoogleApi.Discovery.V1.Model.DirectoryListItems.t)`, *default:* `nil`) - The individual directory entries. One entry per api/version pair.

* `kind` (*type:* `String.t`, *default:* `discovery#directoryList`) - The kind for this response.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list.ex#L31 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.DirectoryList{

  discoveryVersion: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  items: [[GoogleApi.Discovery.V1.Model.DirectoryListItems.t](GoogleApi.Discovery.V1.Model.DirectoryListItems.html#t:t/0)()] | nil,

  kind: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.DirectoryListItems — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.DirectoryListItems (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list_items.ex#L18 "View Source")

=======================================================================================================================================================================================================================================================================

 Attributes

-------------

* `description` (*type:* `String.t`, *default:* `nil`) - The description of this API.

* `discoveryLink` (*type:* `String.t`, *default:* `nil`) - A link to the discovery document.

* `discoveryRestUrl` (*type:* `String.t`, *default:* `nil`) - The URL for the discovery REST document.

* `documentationLink` (*type:* `String.t`, *default:* `nil`) - A link to human readable documentation for the API.

* `icons` (*type:* `GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons.t`, *default:* `nil`) - Links to 16x16 and 32x32 icons representing the API.

* `id` (*type:* `String.t`, *default:* `nil`) - The id of this API.

* `kind` (*type:* `String.t`, *default:* `discovery#directoryItem`) - The kind for this response.

* `labels` (*type:* `list(String.t)`, *default:* `nil`) - Labels for the status of this API, such as labs or deprecated.

* `name` (*type:* `String.t`, *default:* `nil`) - The name of the API.

* `preferred` (*type:* `boolean()`, *default:* `nil`) - True if this version is the preferred version to use.

* `title` (*type:* `String.t`, *default:* `nil`) - The title of this API.

* `version` (*type:* `String.t`, *default:* `nil`) - The version of the API.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list_items.ex#L40 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.DirectoryListItems{

  description: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  discoveryLink: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  discoveryRestUrl: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  documentationLink: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  icons: [GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons.t](GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons.html#t:t/0)() | nil,

  id: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  kind: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  labels: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  name: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  preferred: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  title: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  version: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list_items.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list_items_icons.ex#L18 "View Source")

==================================================================================================================================================================================================================================================================================

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

 Attributes

-------------

* `x16` (*type:* `String.t`, *default:* `nil`) - The URL of the 16x16 icon.

* `x32` (*type:* `String.t`, *default:* `nil`) - The URL of the 32x32 icon.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list_items_icons.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.DirectoryListItemsIcons{

  x16: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  x32: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/directory_list_items_icons.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.JsonSchema — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.JsonSchema (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema.ex#L18 "View Source")

======================================================================================================================================================================================================================================================

 Attributes

-------------

* `$ref` (*type:* `String.t`, *default:* `nil`) - A reference to another schema. The value of this property is the "id" of another schema.

* `additionalProperties` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchema.t`, *default:* `nil`) - If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.

* `annotations` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.t`, *default:* `nil`) - Additional information about this property.

* `default` (*type:* `String.t`, *default:* `nil`) - The default value of this property (if one exists).

* `description` (*type:* `String.t`, *default:* `nil`) - A description of this object.

* `enum` (*type:* `list(String.t)`, *default:* `nil`) - Values this parameter may take (if it is an enum).

* `enumDescriptions` (*type:* `list(String.t)`, *default:* `nil`) - The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.

* `format` (*type:* `String.t`, *default:* `nil`) - 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>

* `id` (*type:* `String.t`, *default:* `nil`) - Unique identifier for this schema.

* `items` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchema.t`, *default:* `nil`) - If this is a schema for an array, this property is the schema for each element in the array.

* `location` (*type:* `String.t`, *default:* `nil`) - Whether this parameter goes in the query or the path for REST requests.

* `maximum` (*type:* `String.t`, *default:* `nil`) - The maximum value of this parameter.

* `minimum` (*type:* `String.t`, *default:* `nil`) - The minimum value of this parameter.

* `pattern` (*type:* `String.t`, *default:* `nil`) - 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>

* `properties` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - If this is a schema for an object, list the schema for each property of this object.

* `readOnly` (*type:* `boolean()`, *default:* `nil`) - 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.

* `repeated` (*type:* `boolean()`, *default:* `nil`) - Whether this parameter may appear multiple times.

* `required` (*type:* `boolean()`, *default:* `nil`) - Whether the parameter is required.

* `type` (*type:* `String.t`, *default:* `nil`) - 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>

* `variant` (*type:* `GoogleApi.Discovery.V1.Model.JsonSchemaVariant.t`, *default:* `nil`) - 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.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema.ex#L48 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.JsonSchema{

  "$ref": [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  additionalProperties: [GoogleApi.Discovery.V1.Model.JsonSchema.t](#t:t/0)() | nil,

  annotations: [GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.t](GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations.html#t:t/0)() | nil,

  default: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  description: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  enum: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  enumDescriptions: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  format: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  id: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  items: [GoogleApi.Discovery.V1.Model.JsonSchema.t](#t:t/0)() | nil,

  location: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  maximum: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  minimum: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  pattern: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  properties:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.JsonSchema.t](#t:t/0)()} | nil,

  readOnly: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  repeated: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  required: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  type: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  variant: [GoogleApi.Discovery.V1.Model.JsonSchemaVariant.t](GoogleApi.Discovery.V1.Model.JsonSchemaVariant.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_annotations.ex#L18 "View Source")

=============================================================================================================================================================================================================================================================================

Additional information about this property.

 Attributes

-------------

* `required` (*type:* `list(String.t)`, *default:* `nil`) - A list of methods for which this property is required on requests.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_annotations.ex#L29 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.JsonSchemaAnnotations{

  required: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_annotations.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.JsonSchemaVariant — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.JsonSchemaVariant (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_variant.ex#L18 "View 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.

 Attributes

-------------

* `discriminant` (*type:* `String.t`, *default:* `nil`) - The name of the type discriminant property.

* `map` (*type:* `list(GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap.t)`, *default:* `nil`) - The map of discriminant value to schema to use for parsing..

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_variant.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.JsonSchemaVariant{

  discriminant: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  map: [[GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap.t](GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap.html#t:t/0)()] | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_variant.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_variant_map.ex#L18 "View Source")

============================================================================================================================================================================================================================================================================

 Attributes

-------------

* `$ref` (*type:* `String.t`, *default:* `nil`) -

* `type_value` (*type:* `String.t`, *default:* `nil`) -

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_variant_map.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.JsonSchemaVariantMap{

  "$ref": [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  type_value: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/json_schema_variant_map.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestDescription — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestDescription (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description.ex#L18 "View Source")

================================================================================================================================================================================================================================================================

 Attributes

-------------

* `auth` (*type:* `GoogleApi.Discovery.V1.Model.RestDescriptionAuth.t`, *default:* `nil`) - Authentication information.

* `basePath` (*type:* `String.t`, *default:* `nil`) - [DEPRECATED] The base path for REST requests.

* `baseUrl` (*type:* `String.t`, *default:* `nil`) - [DEPRECATED] The base URL for REST requests.

* `batchPath` (*type:* `String.t`, *default:* `nil`) - The path for REST batch requests.

* `canonicalName` (*type:* `String.t`, *default:* `nil`) - Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.

* `description` (*type:* `String.t`, *default:* `nil`) - The description of this API.

* `discoveryVersion` (*type:* `String.t`, *default:* `v1`) - Indicate the version of the Discovery API used to generate this doc.

* `documentationLink` (*type:* `String.t`, *default:* `nil`) - A link to human readable documentation for the API.

* `etag` (*type:* `String.t`, *default:* `nil`) - The ETag for this response.

* `exponentialBackoffDefault` (*type:* `boolean()`, *default:* `nil`) - Enable exponential backoff for suitable methods in the generated clients.

* `features` (*type:* `list(String.t)`, *default:* `nil`) - A list of supported features for this API.

* `icons` (*type:* `GoogleApi.Discovery.V1.Model.RestDescriptionIcons.t`, *default:* `nil`) - Links to 16x16 and 32x32 icons representing the API.

* `id` (*type:* `String.t`, *default:* `nil`) - The ID of this API.

* `kind` (*type:* `String.t`, *default:* `discovery#restDescription`) - The kind for this response.

* `labels` (*type:* `list(String.t)`, *default:* `nil`) - Labels for the status of this API, such as labs or deprecated.

* `methods` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestMethod.t}`, *default:* `nil`) - API-level methods for this API.

* `name` (*type:* `String.t`, *default:* `nil`) - The name of this API.

* `ownerDomain` (*type:* `String.t`, *default:* `nil`) - 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.

* `ownerName` (*type:* `String.t`, *default:* `nil`) - The name of the owner of this API. See ownerDomain.

* `packagePath` (*type:* `String.t`, *default:* `nil`) - The package of the owner of this API. See ownerDomain.

* `parameters` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - Common parameters that apply across all apis.

* `protocol` (*type:* `String.t`, *default:* `rest`) - The protocol described by this document.

* `resources` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestResource.t}`, *default:* `nil`) - The resources in this API.

* `revision` (*type:* `String.t`, *default:* `nil`) - The version of this API.

* `rootUrl` (*type:* `String.t`, *default:* `nil`) - The root URL under which all API services live.

* `schemas` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - The schemas for this API.

* `servicePath` (*type:* `String.t`, *default:* `nil`) - The base path for all REST requests.

* `title` (*type:* `String.t`, *default:* `nil`) - The title of this API.

* `version` (*type:* `String.t`, *default:* `nil`) - The version of this API.

* `version_module` (*type:* `boolean()`, *default:* `nil`) -

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description.ex#L58 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestDescription{

  auth: [GoogleApi.Discovery.V1.Model.RestDescriptionAuth.t](GoogleApi.Discovery.V1.Model.RestDescriptionAuth.html#t:t/0)() | nil,

  basePath: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  baseUrl: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  batchPath: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  canonicalName: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  description: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  discoveryVersion: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  documentationLink: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  etag: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  exponentialBackoffDefault: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  features: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  icons: [GoogleApi.Discovery.V1.Model.RestDescriptionIcons.t](GoogleApi.Discovery.V1.Model.RestDescriptionIcons.html#t:t/0)() | nil,

  id: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  kind: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  labels: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  methods:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.RestMethod.t](GoogleApi.Discovery.V1.Model.RestMethod.html#t:t/0)()} | nil,

  name: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  ownerDomain: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  ownerName: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  packagePath: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  parameters:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.JsonSchema.t](GoogleApi.Discovery.V1.Model.JsonSchema.html#t:t/0)()} | nil,

  protocol: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  resources:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.RestResource.t](GoogleApi.Discovery.V1.Model.RestResource.html#t:t/0)()}

    | nil,

  revision: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  rootUrl: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  schemas:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.JsonSchema.t](GoogleApi.Discovery.V1.Model.JsonSchema.html#t:t/0)()} | nil,

  servicePath: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  title: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  version: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  version_module: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestDescriptionAuth — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestDescriptionAuth (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_auth.ex#L18 "View Source")

=========================================================================================================================================================================================================================================================================

Authentication information.

 Attributes

-------------

* `oauth2` (*type:* `GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2.t`, *default:* `nil`) - OAuth 2.0 authentication information.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_auth.ex#L29 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestDescriptionAuth{

  oauth2: [GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2.t](GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_auth.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2 — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2 (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_auth_oauth2.ex#L18 "View Source")

======================================================================================================================================================================================================================================================================================

OAuth 2.0 authentication information.

 Attributes

-------------

* `scopes` (*type:* `map()`, *default:* `nil`) - Available OAuth 2.0 scopes.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_auth_oauth2.ex#L29 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestDescriptionAuthOauth2{

  scopes: [map](https://hexdocs.pm/elixir/typespecs.html#basic-types)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_auth_oauth2.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestDescriptionIcons — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestDescriptionIcons (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_icons.ex#L18 "View Source")

===========================================================================================================================================================================================================================================================================

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

 Attributes

-------------

* `x16` (*type:* `String.t`, *default:* `nil`) - The URL of the 16x16 icon.

* `x32` (*type:* `String.t`, *default:* `nil`) - The URL of the 32x32 icon.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_icons.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestDescriptionIcons{

  x16: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  x32: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_description_icons.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethod — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethod (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method.ex#L18 "View Source")

======================================================================================================================================================================================================================================================

 Attributes

-------------

* `description` (*type:* `String.t`, *default:* `nil`) - Description of this method.

* `etagRequired` (*type:* `boolean()`, *default:* `nil`) - Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.

* `flatPath` (*type:* `String.t`, *default:* `nil`) - The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.

* `httpMethod` (*type:* `String.t`, *default:* `nil`) - HTTP method used by this method.

* `id` (*type:* `String.t`, *default:* `nil`) - A unique ID for this method. This property can be used to match methods between different versions of Discovery.

* `mediaUpload` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodMediaUpload.t`, *default:* `nil`) - Media upload parameters.

* `parameterOrder` (*type:* `list(String.t)`, *default:* `nil`) - 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.

* `parameters` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.JsonSchema.t}`, *default:* `nil`) - Details for all parameters in this method.

* `path` (*type:* `String.t`, *default:* `nil`) - The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.

* `request` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodRequest.t`, *default:* `nil`) - The schema for the request.

* `response` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodResponse.t`, *default:* `nil`) - The schema for the response.

* `scopes` (*type:* `list(String.t)`, *default:* `nil`) - OAuth 2.0 scopes applicable to this method.

* `supportsMediaDownload` (*type:* `boolean()`, *default:* `nil`) - Whether this method supports media downloads.

* `supportsMediaUpload` (*type:* `boolean()`, *default:* `nil`) - Whether this method supports media uploads.

* `supportsSubscription` (*type:* `boolean()`, *default:* `nil`) - Whether this method supports subscriptions.

* `useMediaDownloadService` (*type:* `boolean()`, *default:* `nil`) - Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method.ex#L44 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethod{

  description: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  etagRequired: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  flatPath: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  httpMethod: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  id: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  mediaUpload: [GoogleApi.Discovery.V1.Model.RestMethodMediaUpload.t](GoogleApi.Discovery.V1.Model.RestMethodMediaUpload.html#t:t/0)() | nil,

  parameterOrder: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  parameters:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.JsonSchema.t](GoogleApi.Discovery.V1.Model.JsonSchema.html#t:t/0)()} | nil,

  path: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  request: [GoogleApi.Discovery.V1.Model.RestMethodRequest.t](GoogleApi.Discovery.V1.Model.RestMethodRequest.html#t:t/0)() | nil,

  response: [GoogleApi.Discovery.V1.Model.RestMethodResponse.t](GoogleApi.Discovery.V1.Model.RestMethodResponse.html#t:t/0)() | nil,

  scopes: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  supportsMediaDownload: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  supportsMediaUpload: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  supportsSubscription: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  useMediaDownloadService: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethodMediaUpload — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethodMediaUpload (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload.ex#L18 "View Source")

==============================================================================================================================================================================================================================================================================

Media upload parameters.

 Attributes

-------------

* `accept` (*type:* `list(String.t)`, *default:* `nil`) - MIME Media Ranges for acceptable media uploads to this method.

* `maxSize` (*type:* `String.t`, *default:* `nil`) - Maximum size of a media upload, such as "1MB", "2GB" or "3TB".

* `protocols` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols.t`, *default:* `nil`) - Supported upload protocols.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload.ex#L31 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethodMediaUpload{

  accept: [[String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()] | nil,

  maxSize: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  protocols:

    [GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols.t](GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols.ex#L18 "View Source")

=================================================================================================================================================================================================================================================================================================

Supported upload protocols.

 Attributes

-------------

* `resumable` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable.t`, *default:* `nil`) - Supports the Resumable Media Upload protocol.

* `simple` (*type:* `GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple.t`, *default:* `nil`) - Supports uploading as a single HTTP request.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocols{

  resumable:

    [GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable.t](GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable.html#t:t/0)()

    | nil,

  simple:

    [GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple.t](GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols_resumable.ex#L18 "View Source")

====================================================================================================================================================================================================================================================================================================================

Supports the Resumable Media Upload protocol.

 Attributes

-------------

* `multipart` (*type:* `boolean()`, *default:* `true`) - True if this endpoint supports uploading multipart media.

* `path` (*type:* `String.t`, *default:* `nil`) - The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols_resumable.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsResumable{

  multipart: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  path: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols_resumable.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols_simple.ex#L18 "View Source")

==============================================================================================================================================================================================================================================================================================================

Supports uploading as a single HTTP request.

 Attributes

-------------

* `multipart` (*type:* `boolean()`, *default:* `true`) - True if this endpoint supports upload multipart media.

* `path` (*type:* `String.t`, *default:* `nil`) - The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols_simple.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethodMediaUploadProtocolsSimple{

  multipart: [boolean](https://hexdocs.pm/elixir/typespecs.html#built-in-types)() | nil,

  path: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_media_upload_protocols_simple.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethodRequest — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethodRequest (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_request.ex#L18 "View Source")

=====================================================================================================================================================================================================================================================================

The schema for the request.

 Attributes

-------------

* `$ref` (*type:* `String.t`, *default:* `nil`) - Schema ID for the request schema.

* `parameterName` (*type:* `String.t`, *default:* `nil`) - parameter name.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_request.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethodRequest{

  "$ref": [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil,

  parameterName: [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_request.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestMethodResponse — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestMethodResponse (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_response.ex#L18 "View Source")

=======================================================================================================================================================================================================================================================================

The schema for the response.

 Attributes

-------------

* `$ref` (*type:* `String.t`, *default:* `nil`) - Schema ID for the response schema.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_response.ex#L29 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestMethodResponse{

  "$ref": [String.t](https://hexdocs.pm/elixir/String.html#t:t/0)() | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_method_response.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 





GoogleApi.Discovery.V1.Model.RestResource — google\_api\_discovery v0.12.0

 try {

 if (localStorage.getItem('night-mode') === 'true') {

 document.body.classList.add('night-mode');

 }

 } catch (error) { }

 

 GoogleApi.Discovery.V1.Model.RestResource (google\_api\_discovery v0.12.0)

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_resource.ex#L18 "View Source")

==========================================================================================================================================================================================================================================================

 Attributes

-------------

* `methods` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestMethod.t}`, *default:* `nil`) - Methods on this resource.

* `resources` (*type:* `%{optional(String.t) => GoogleApi.Discovery.V1.Model.RestResource.t}`, *default:* `nil`) - Sub-resources on this resource.

 

[Link to this section](#summary)

 Summary

==========================================

[Types](#types)

----------------

[t()](#t:t/0)

[Functions](#functions)

------------------------

[decode(value, options)](#decode/2)

Unwrap a decoded JSON object into its complex fields.

[Link to this section](#types)

Types

=====================================

[Link to this type](#t:t/0 "Link to this type")

t()

===

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_resource.ex#L30 "View Source")

Specs

-----

```

t() :: %GoogleApi.Discovery.V1.Model.RestResource{

  methods:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.RestMethod.t](GoogleApi.Discovery.V1.Model.RestMethod.html#t:t/0)()} | nil,

  resources:

    %{optional([String.t](https://hexdocs.pm/elixir/String.html#t:t/0)()) => [GoogleApi.Discovery.V1.Model.RestResource.t](#t:t/0)()}

    | nil

}

```

[Link to this section](#functions)

Functions

=============================================

[Link to this function](#decode/2 "Link to this function")

decode(value, options)

======================

[View Source](https://github.com/googleapis/elixir-google-api/tree/master/clients/discovery/blob/master/lib/google_api/discovery/v1/model/rest_resource.ex#L18 "View Source")

Specs

-----

```

decode([struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)(), [keyword](https://hexdocs.pm/elixir/typespecs.html#built-in-types)()) :: [struct](https://hexdocs.pm/elixir/typespecs.html#basic-types)()

```

Unwrap a decoded JSON object into its complex fields.

 

